Fix various issues with the 'trim' module.
[gnulib.git] / ChangeLog
1 2007-10-18  Colin Watson <cjwatson@debian.org>  (tiny change)
2             Bruno Haible  <bruno@clisp.org>
3
4         * lib/trim.c: Include config.h unconditionally. Include trim.h always.
5         Include ctype.h always. Include stdlib.h, not mbuiter.h, for MB_CUR_MAX.
6         * modules/trim (Depends-on): Add mbchar.
7         (configure.ac): Add gl_FUNC_MBRTOWC.
8         (Makefile.am): Augment lib_SOURCES.
9
10 2007-10-17  Paul Eggert  <eggert@cs.ucla.edu>
11
12         Modify glob.c to use fstatat and dirfd, to simplify it.
13         Suggested by Eric Blake.
14         * lib/glob.c (__fxstatat64) [!_LIBC]: New macro.
15         Don't include <stdbool.h>; not used.
16         (link_exists2_p, glob_in_dir) [!_LIBC]: No longer a special case.
17         (link_exists_p): Simplify implementation, since we can now assume
18         dirfd and fstatat.
19         * modules/glob (Depends-on): Add dirfd, openat.  Remove stdbool.
20
21 2007-10-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
22
23         * gnulib-tool (func_get_dependencies): Fix sed script to
24         match only tests.
25
26 2007-10-17  Bruno Haible  <bruno@clisp.org>
27
28         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): On Cygwin, don't
29         allow locale names without encoding suffix.
30         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
31         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
32
33 2007-10-16  Bruno Haible  <bruno@clisp.org>
34
35         * lib/getcwd.c (__getcwd): Define with explicit rpl_ prefix.
36         * lib/getgroups.c (getgroups): Likewise.
37         * lib/gettimeofday.c (localtime, gmtime, tzset): Likewise.
38
39 2007-10-16  Bruno Haible  <bruno@clisp.org>
40
41         * modules/absolute-header (License): Change from LGPL to LGPLv2+.
42         * modules/malloc-posix (License): Likewise.
43         * modules/realloc-posix (License): Likewise.
44         * modules/calloc-posix (License): Likewise.
45         * modules/intprops (License): Change from GPL to LGPL, with
46         Paul Eggert's approval.
47
48 2007-10-16  Paul Eggert  <eggert@cs.ucla.edu>
49
50         Merge glibc changes into lib/glob.c.
51
52         * lib/glob.c (glob_in_dir): Sync with glibc/posix/glob.c, dated
53         2007-10-15 04:59:03 UTC.  Here are the changes:
54
55         2007-10-14  Ulrich Drepper  <drepper@redhat.com>
56
57         * lib/glob.c: Reimplement link_exists_p to use fstatat64.
58
59         * lib/glob.c: Add some branch prediction throughout.
60
61         2007-10-07  Ulrich Drepper  <drepper@redhat.com>
62
63         [BZ #5103]
64         * lib/glob.c (glob): Recognize patterns starting \/.
65
66         2007-02-14  Jakub Jelinek  <jakub@redhat.com>
67
68         [BZ #3996]
69         * lib/glob.c (attribute_hidden): Define if not defined.
70         (glob): Unescape dirname, filename or username when needed and not
71         GLOB_NOESCAPE.  Handle \/ correctly.  Handle GLOB_MARK if filename
72         is NULL.  Handle unescaped [ in pattern without closing ].
73         Don't pass GLOB_CHECK down to recursive glob for directories.
74         (__glob_pattern_type): New function.
75         (__glob_pattern_p): Implement using __glob_pattern_type.
76         (glob_in_dir): Handle GLOB_NOCHECK patterns containing no meta
77         characters and backslashes if not GLOB_NOESCAPE or unterminated [.
78         Remove unreachable code.
79
80         2006-09-30  Ulrich Drepper  <drepper@redhat.com>
81
82         * lib/glob.c (glob_in_dir): Add some comments and asserts to
83         explain why there are no leaks.
84
85         2006-09-25  Jakub Jelinek  <jakub@redhat.com>
86
87         [BZ #3253]
88         * lib/glob.c (glob_in_dir): Don't alloca one struct globlink at a
89         time, rather allocate increasingly bigger arrays of pointers, if
90         possible with alloca, if too large with malloc.
91
92 2007-10-16  Paul Eggert  <eggert@cs.ucla.edu>
93
94         Check for 64-bit int errors in HP-UX 10.20 preprocessor.
95         Problem reported by H.Merijn Brand in
96         <http://lists.gnu.org/archive/html/bug-tar/2007-10/msg00018.html>.
97         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Check preprocessor too.
98         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise.
99
100 2007-10-15  Bruno Haible  <bruno@clisp.org>
101
102         * lib/fchdir.c (close, open, closedir, opendir, dup, dup2): Define
103         with explicit rpl_ prefix.
104         * lib/fopen.c (fopen): Likewise.
105         * lib/freopen.c (freopen): Likewise.
106         * lib/iconv.c (iconv): Likewise.
107         * lib/iconv_close.c (iconv_close): Likewise.
108
109 2007-10-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
110
111         * m4/iconv_open (gl_FUNC_ICONV_OPEN_UTF): Fix cache variable name.
112
113 2007-10-15  Bruno Haible  <bruno@clisp.org>
114
115         * m4/getaddrinfo.m4 (gl_GETADDRINFO, gl_PREREQ_GETADDRINFO): Use
116         <stddef.h> instead of <stdlib.h> since we only need NULL.
117         Reported by Ben Pfaff <blp@cs.stanford.edu>.
118
119 2007-10-15  Bruno Haible  <bruno@clisp.org>
120
121         * doc/gnulib-tool.texi (Initial import): Swap order of -I directives.
122         Replace paragraph talking about LIBOBJS.
123         Reported by Colin Watson <cjwatson@debian.org>.
124
125 2007-10-15  Bruno Haible  <bruno@clisp.org>
126
127         * m4/getaddrinfo.m4 (gl_GETADDRINFO, gl_PREREQ_GETADDRINFO): Include
128         <stdlib.h> before using NULL.
129
130 2007-10-15  Simon Josefsson  <simon@josefsson.org>
131
132         * m4/getaddrinfo.m4: Use NULL rather than 0 for pointers.
133         Reported by Albert Chin <china@thewrittenword.com>.
134
135 2007-10-14  Bruno Haible  <bruno@clisp.org>
136
137         * modules/iconv_open-utf-tests: New file.
138         * tests/test-iconv-utf.c: New file.
139
140         Enhance iconv_open to support UTF-16BE, UTF-16LE, UTF-32BE, UTF-32LE.
141         * modules/iconv_open-utf: New file.
142         * lib/iconv.in.h (_ICONV_UTF8_UTF*, _ICONV_UTF*_UTF8): New macros.
143         (iconv, iconv_close): New declarations.
144         * lib/iconv_open.c: Include c-strcase.h. Don't require ICONV_FLAVOR to
145         be defined.
146         (iconv_open): Add special handling of conversion between UTF-8 and
147         UTF-{16,32}{BE,LE}.
148         * lib/iconv.c: New file, incorporating code from GNU libiconv 1.11.
149         * lib/iconv_close.c: New file.
150         * m4/iconv_open.m4 (gl_REPLACE_ICONV_OPEN): New macro, extracted from
151         gl_FUNC_ICONV_OPEN.
152         (gl_FUNC_ICONV_OPEN): Use it.
153         (gl_FUNC_ICONV_OPEN_UTF): New macro.
154         * m4/iconv_h.m4 (gl_ICONV_H_DEFAULTS): Initialize also REPLACE_ICONV
155         and REPLACE_ICONV_UTF.
156         * modules/iconv_open (Depends-on): Add c-strcase.
157         (Makefile.am): Substitute also REPLACE_ICONV, REPLACE_ICONV_UTF,
158         ICONV_CONST.
159         * doc/functions/iconv_open.texi: Mention the iconv_open-utf module.
160
161 2007-10-13  Albert Chin  <china@thewrittenword.com>
162             Bruno Haible  <bruno@clisp.org>
163
164         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Perform the test for getaddrinfo
165         through a link check that includes <netdb.h>. Needed for OSF/1 5.1.
166
167 2007-10-13  Bruno Haible  <bruno@clisp.org>
168
169         * lib/argp-fmtstream.h (ARGP_FS_EI): If __GNUC_STDC_INLINE__ is
170         defined, use the ISO C99 inline semantics.
171         * lib/argp.h (ARGP_EI): Likewise.
172
173 2007-10-13  Bruno Haible  <bruno@clisp.org>
174
175         Handle 'inline' change in gcc 4.3.0.
176         * lib/argp-fmtstream.h (argp_fmtstream_putc, argp_fmtstream_puts,
177         argp_fmtstream_write, argp_fmtstream_set_lmargin,
178         argp_fmtstream_set_rmargin, argp_fmtstream_set_wmargin,
179         argp_fmtstream_point): Disable 'extern' declaration if the function
180         definition is going to be provided inline.
181         (ARGP_FS_EI): If __GNUC_STDC_INLINE__ is defined, use the GNU C inline
182         semantics, not the ISO C99 inline semantics.
183         * lib/argp.h (argp_usage, _option_is_short, _option_is_end): Disable
184         'extern' declaration if the function definition is going to be provided
185         inline.
186         (ARGP_EI): Don't assume GNU C. If __GNUC_STDC_INLINE__ is defined, use
187         the GNU C inline semantics, not the ISO C99 inline semantics. With
188         GCC 4.2, avoid a warning.
189
190 2007-10-13  Bruno Haible  <bruno@clisp.org>
191
192         * lib/freading.h (freading): Enable the use of __freading for
193         glibc >= 2.7.
194         * lib/freading.c (freading): Likewise.
195
196 2007-10-12  Paul Eggert  <eggert@cs.ucla.edu>
197
198         * lib/argp-fmtstream.h (ARGP_FS_EI): Work around GCC 4.2.1 diagnostic
199         "warning: C99 inline functions are not supported; using GNU89".
200
201 2007-10-12  Bruno Haible  <bruno@clisp.org>
202
203         * lib/ceil.c (FUNC): Avoid rounding errors for values near a power
204         of 2.
205         * tests/test-ceilf2.c: New file.
206         * modules/ceilf-tests: (Files, Depends-on, Makefile.am): Add new test.
207
208         * tests/test-ceilf1.c: Renamed from tests/test-ceilf.c.
209         * modules/ceilf-tests: Update.
210
211 2007-10-12  Bruno Haible  <bruno@clisp.org>
212
213         * lib/floor.c (FUNC): Avoid rounding errors for values near a power
214         of 2.
215         * tests/test-floorf2.c: New file.
216         * modules/floorf-tests: (Files, Depends-on, Makefile.am): Add new test.
217
218         * tests/test-floorf1.c: Renamed from tests/test-floorf.c.
219         * modules/floorf-tests: Update.
220
221 2007-10-12  Bruno Haible  <bruno@clisp.org>
222
223         * tests/test-trunc2.c: New file.
224         * modules/trunc-tests: (Files, Depends-on, Makefile.am): Add new test.
225
226         * tests/test-trunc1.c: Renamed from tests/test-trunc.c.
227         * modules/trunc-tests: Update.
228
229 2007-10-12  Bruno Haible  <bruno@clisp.org>
230
231         * lib/trunc.c (FUNC): Avoid rounding errors for values near a power
232         of 2.
233         * tests/test-truncf2.c: New file.
234         * modules/truncf-tests: (Files, Depends-on, Makefile.am): Add new test.
235
236         * tests/test-truncf1.c: Renamed from tests/test-truncf.c.
237         * modules/truncf-tests: Update.
238
239 2007-10-11  Eric Blake  <ebb9@byu.net>
240
241         Don't claim strerror is broken on Interix.
242         * doc/functions/strerror.texi (strerror): Known broken systems are
243         now Solaris 8, and not Interix.
244         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): No longer filter out
245         Interix on cross-compile.
246         Reported by Martin Koeppe in
247         http://lists.gnu.org/archive/html/bug-gnulib/2007-10/msg00005.html.
248
249 2007-10-11  Bruno Haible  <bruno@clisp.org>
250
251         * modules/i-ring-tests: New file.
252         * tests/test-i-ring.c: Renamed from lib/i-ring-test.c. Use ASSERT
253         instead of assert.
254
255 2007-10-11  Bruno Haible  <bruno@clisp.org>
256
257         * modules/filenamecat-tests: New file.
258         * tests/test-filenamecat.c: New file, extracted from lib/filenamecat.c.
259         * lib/filenamecat.c: Remove test code.
260
261 2007-10-11  Paul Eggert  <eggert@cs.ucla.edu>
262
263         Simplify and modernize strerror substitute, partly to fix Solaris 8 bug.
264
265         * lib/strerror.c: Include <string.h> always, to test interface,
266         and to remove the need for the dummy.
267         Include intprops.h to compute width instead of doing it ourselves
268         and missing a CHAR_BIT declaration, which broke tar 1.19 on Solaris 8.
269         (strerror): Define it to return NULL if there's no system strerror.
270         (rpl_strerror): Use INT_STRLEN_BOUND to compute bound.
271         Omit !HAVE_STRERROR code.  We don't need to worry about supporting
272         ancient pre-strerror Unix systems well any more.  Saying "unknown
273         system error" is enough.
274         * lib/string.in.h (strerror): Simplify the ifdef to reflect the
275         simpler strerror.c implementation.
276         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE, gl_PREREQ_STDERROR):
277         Simplify the tests to reflect the simpler strerror implementation.
278         * modules/strerror (Depends-on): Add intprops.
279
280 2007-10-09  Eric Blake  <ebb9@byu.net>
281
282         Silence test-fpending.
283         * modules/fpending-tests (Files): Add wrapper script.
284         * tests/test-fpending.sh: New file.
285
286 2007-10-09  Bruno Haible  <bruno@clisp.org>
287
288         * MODULES.html.sh (func_module): Don't create a hyperlink for
289         function names like 'printf_frexp'.
290         (Misc): Add crc, memxor.
291         (Characteristics of floating types): New section.
292         (Mathematics): Add ceilf, ceill, floorf, floorl, frexpl-nolibm,
293         isnanf-nolibm, signbit, trunc, truncf, truncl.
294         (Enhancements for ISO C 99 functions): New subsection Input/output.
295         (Support for systems lacking POSIX:2001): Add arpa_inet, calloc-posix,
296         fcntl, fopen, freopen, fseek, fseeko, ftell, ftello, iconv_open,
297         locale, malloc-posix, netinet_in, open, realloc-posix, signal, sleep.
298         (Compatibility checks for POSIX:2001 functions): Add clock-time.
299         (Enhancements for POSIX:2001 functions): Add chdir-long.
300         (File system functions): Add areadlink, chdir-safer, read-file.
301         Remove cycle-check.
302         (File system as inode set): New section.
303         (Date and time): Add gethrxtime.
304         (Multithreading): Add openmp.
305         (Internationalization functions): Add localename.
306         (Unicode string functions): Add unistr/u*-mbsnlen.
307         (Support for maintaining and releasing projects): Add git-version-gen.
308         (Lone files): Remove directories.
309
310 2007-10-08  Ben Pfaff  <blp@gnu.org>
311
312         * lib/xmalloca.h: Fix typo in comment.
313
314 2007-10-08  Paul Eggert  <eggert@cs.ucla.edu>
315
316         * lib/xnanosleep.c (xnanosleep): Don't assume GCC 4.3.0 behavior
317         when avoiding problems with integer overflow.  Use a portable test
318         instead.
319
320 2007-10-08  Simon Josefsson  <simon@josefsson.org>
321
322         * modules/dummy (License): Change to LGPLv2+.
323         * modules/float (License): Likewise
324         * modules/realloc (License): Likewise
325         * modules/stdlib (License): Likewise
326
327 2007-10-07  Bruno Haible  <bruno@clisp.org>
328
329         * trunc.c (TWO_MANT_DIG): Change type to DOUBLE.
330         * floor.c (TWO_MANT_DIG): Likewise.
331         * ceil.c (TWO_MANT_DIG): Likewise.
332         Reported by Ben Pfaff.
333
334 2007-10-07  Bruno Haible  <bruno@clisp.org>
335
336         Avoid gcc warnings "declaration of 'exp' shadows a global declaration".
337         * lib/math.in.h (frexp, frexpl): Change parameter name to 'expptr'.
338         * lib/frexp.c (FUNC): Likewise.
339         * lib/printf-frexp.h (printf_frexp): Likewise.
340         * lib/printf-frexpl.h (printf_frexpl): Likewise.
341         * lib/printf-frexp.c (FUNC): Likewise.
342         Suggested by Jim Meyering.
343
344 2007-10-07  Jim Meyering  <meyering@redhat.com>
345
346         Make xnanosleep's integer overflow test more robust.
347         * lib/xnanosleep.c (xnanosleep): Declare a temporary to be "volatile",
348         so that gcc-4.3.0 doesn't optimize away this test for overflow.
349
350 2007-10-07  Bruno Haible  <bruno@clisp.org>
351
352         * NEWS: Mention the license change.
353
354         * doc/gnulib-intro.texi (Copyright): Update the meaning of the license
355         abbreviations in the modules files.
356
357         Change copyright notice from GPLv2+ to GPLv3+.
358         * README: Change copyright notice.
359         * MODULES.html.sh: Likewise.
360         * build-aux/bootstrap.conf: Likewise.
361         * build-aux/config.libpath: Likewise.
362         * build-aux/csharpcomp.sh.in: Likewise.
363         * build-aux/csharpexec.sh.in: Likewise.
364         * build-aux/install-reloc: Likewise.
365         * build-aux/javacomp.sh.in: Likewise.
366         * build-aux/javaexec.sh.in: Likewise.
367         * build-aux/ldd.sh.in: Likewise.
368         * build-aux/reloc-ldflags: Likewise.
369         * build-aux/relocatable.sh.in: Likewise.
370         * build-aux/x-to-1.in: Likewise.
371         * check-module: Likewise.
372         * config/srclistvars.sh: Likewise.
373         * gnulib-tool: Likewise.
374         * lib/acl-internal.h: Likewise.
375         * lib/acl.c: Likewise.
376         * lib/acl.h: Likewise.
377         * lib/acl_entries.c: Likewise.
378         * lib/areadlink-with-size.c: Likewise.
379         * lib/areadlink.c: Likewise.
380         * lib/areadlink.h: Likewise.
381         * lib/argmatch.c: Likewise.
382         * lib/argmatch.h: Likewise.
383         * lib/argp-ba.c: Likewise.
384         * lib/argp-eexst.c: Likewise.
385         * lib/argp-fmtstream.c: Likewise.
386         * lib/argp-fmtstream.h: Likewise.
387         * lib/argp-fs-xinl.c: Likewise.
388         * lib/argp-help.c: Likewise.
389         * lib/argp-namefrob.h: Likewise.
390         * lib/argp-parse.c: Likewise.
391         * lib/argp-pin.c: Likewise.
392         * lib/argp-pv.c: Likewise.
393         * lib/argp-pvh.c: Likewise.
394         * lib/argp-xinl.c: Likewise.
395         * lib/argp.h: Likewise.
396         * lib/at-func.c: Likewise.
397         * lib/atanl.c: Likewise.
398         * lib/backupfile.c: Likewise.
399         * lib/backupfile.h: Likewise.
400         * lib/basename.c: Likewise.
401         * lib/binary-io.h: Likewise.
402         * lib/byteswap.in.h: Likewise.
403         * lib/c-stack.c: Likewise.
404         * lib/c-stack.h: Likewise.
405         * lib/c-strcasestr.c: Likewise.
406         * lib/c-strcasestr.h: Likewise.
407         * lib/c-strstr.c: Likewise.
408         * lib/c-strstr.h: Likewise.
409         * lib/c-strtod.c: Likewise.
410         * lib/calloc.c: Likewise.
411         * lib/canon-host.c: Likewise.
412         * lib/canon-host.h: Likewise.
413         * lib/canonicalize-lgpl.c: Likewise.
414         * lib/canonicalize.c: Likewise.
415         * lib/canonicalize.h: Likewise.
416         * lib/ceil.c: Likewise.
417         * lib/ceilf.c: Likewise.
418         * lib/ceill.c: Likewise.
419         * lib/chdir-long.c: Likewise.
420         * lib/chdir-long.h: Likewise.
421         * lib/chdir-safer.c: Likewise.
422         * lib/chdir-safer.h: Likewise.
423         * lib/chown.c: Likewise.
424         * lib/classpath.c: Likewise.
425         * lib/classpath.h: Likewise.
426         * lib/clean-temp.c: Likewise.
427         * lib/clean-temp.h: Likewise.
428         * lib/cloexec.c: Likewise.
429         * lib/close-stream.c: Likewise.
430         * lib/closein.c: Likewise.
431         * lib/closein.h: Likewise.
432         * lib/closeout.c: Likewise.
433         * lib/closeout.h: Likewise.
434         * lib/concat-filename.c: Likewise.
435         * lib/copy-file.c: Likewise.
436         * lib/copy-file.h: Likewise.
437         * lib/count-one-bits.h: Likewise.
438         * lib/crc.c: Likewise.
439         * lib/crc.h: Likewise.
440         * lib/creat-safer.c: Likewise.
441         * lib/csharpcomp.c: Likewise.
442         * lib/csharpcomp.h: Likewise.
443         * lib/csharpexec.c: Likewise.
444         * lib/csharpexec.h: Likewise.
445         * lib/cycle-check.c: Likewise.
446         * lib/cycle-check.h: Likewise.
447         * lib/diacrit.c: Likewise.
448         * lib/diacrit.h: Likewise.
449         * lib/diffseq.h: Likewise.
450         * lib/dirchownmod.c: Likewise.
451         * lib/dirent.in.h: Likewise.
452         * lib/dirfd.c: Likewise.
453         * lib/dirfd.h: Likewise.
454         * lib/dirname.c: Likewise.
455         * lib/dirname.h: Likewise.
456         * lib/dummy.c: Likewise.
457         * lib/dup-safer.c: Likewise.
458         * lib/dup2.c: Likewise.
459         * lib/eealloc.h: Likewise.
460         * lib/error.c: Likewise.
461         * lib/error.h: Likewise.
462         * lib/euidaccess.c: Likewise.
463         * lib/exclude.c: Likewise.
464         * lib/exclude.h: Likewise.
465         * lib/execute.c: Likewise.
466         * lib/execute.h: Likewise.
467         * lib/exitfail.c: Likewise.
468         * lib/exitfail.h: Likewise.
469         * lib/expl.c: Likewise.
470         * lib/fatal-signal.c: Likewise.
471         * lib/fatal-signal.h: Likewise.
472         * lib/fbufmode.c: Likewise.
473         * lib/fbufmode.h: Likewise.
474         * lib/fchdir.c: Likewise.
475         * lib/fchmodat.c: Likewise.
476         * lib/fchownat.c: Likewise.
477         * lib/fcntl--.h: Likewise.
478         * lib/fcntl-safer.h: Likewise.
479         * lib/fcntl.in.h: Likewise.
480         * lib/fd-safer.c: Likewise.
481         * lib/fflush.c: Likewise.
482         * lib/file-has-acl.c: Likewise.
483         * lib/file-set.c: Likewise.
484         * lib/file-type.c: Likewise.
485         * lib/file-type.h: Likewise.
486         * lib/fileblocks.c: Likewise.
487         * lib/filemode.c: Likewise.
488         * lib/filemode.h: Likewise.
489         * lib/filename.h: Likewise.
490         * lib/filenamecat.c: Likewise.
491         * lib/filenamecat.h: Likewise.
492         * lib/findprog.c: Likewise.
493         * lib/findprog.h: Likewise.
494         * lib/float.in.h: Likewise.
495         * lib/floor.c: Likewise.
496         * lib/floorf.c: Likewise.
497         * lib/floorl.c: Likewise.
498         * lib/fopen-safer.c: Likewise.
499         * lib/fopen.c: Likewise.
500         * lib/fpending.c: Likewise.
501         * lib/fpending.h: Likewise.
502         * lib/fprintf.c: Likewise.
503         * lib/fprintftime.h: Likewise.
504         * lib/fpucw.h: Likewise.
505         * lib/fpurge.c: Likewise.
506         * lib/fpurge.h: Likewise.
507         * lib/freadable.c: Likewise.
508         * lib/freadable.h: Likewise.
509         * lib/freadahead.c: Likewise.
510         * lib/freadahead.h: Likewise.
511         * lib/freading.c: Likewise.
512         * lib/freading.h: Likewise.
513         * lib/free.c: Likewise.
514         * lib/freopen.c: Likewise.
515         * lib/frexp.c: Likewise.
516         * lib/frexpl.c: Likewise.
517         * lib/fseek.c: Likewise.
518         * lib/fseterr.c: Likewise.
519         * lib/fseterr.h: Likewise.
520         * lib/fstatat.c: Likewise.
521         * lib/fstrcmp.c: Likewise.
522         * lib/fstrcmp.h: Likewise.
523         * lib/fsusage.c: Likewise.
524         * lib/fsusage.h: Likewise.
525         * lib/ftell.c: Likewise.
526         * lib/ftello.c: Likewise.
527         * lib/fts-cycle.c: Likewise.
528         * lib/fts.c: Likewise.
529         * lib/fts_.h: Likewise.
530         * lib/full-read.c: Likewise.
531         * lib/full-read.h: Likewise.
532         * lib/full-write.c: Likewise.
533         * lib/full-write.h: Likewise.
534         * lib/fwritable.c: Likewise.
535         * lib/fwritable.h: Likewise.
536         * lib/fwriteerror.c: Likewise.
537         * lib/fwriteerror.h: Likewise.
538         * lib/fwriting.c: Likewise.
539         * lib/fwriting.h: Likewise.
540         * lib/gcd.c: Likewise.
541         * lib/gcd.h: Likewise.
542         * lib/getcwd.c: Likewise.
543         * lib/getdate.h: Likewise.
544         * lib/getdate.y: Likewise.
545         * lib/getdomainname.c: Likewise.
546         * lib/getdomainname.h: Likewise.
547         * lib/getgroups.c: Likewise.
548         * lib/gethostname.c: Likewise.
549         * lib/gethrxtime.c: Likewise.
550         * lib/gethrxtime.h: Likewise.
551         * lib/getloadavg.c: Likewise.
552         * lib/getndelim2.c: Likewise.
553         * lib/getndelim2.h: Likewise.
554         * lib/getnline.c: Likewise.
555         * lib/getnline.h: Likewise.
556         * lib/getopt.c: Likewise.
557         * lib/getopt.in.h: Likewise.
558         * lib/getopt1.c: Likewise.
559         * lib/getopt_int.h: Likewise.
560         * lib/getpagesize.h: Likewise.
561         * lib/getsubopt.c: Likewise.
562         * lib/gettime.c: Likewise.
563         * lib/getugroups.c: Likewise.
564         * lib/getugroups.h: Likewise.
565         * lib/getusershell.c: Likewise.
566         * lib/gl_anyavltree_list1.h: Likewise.
567         * lib/gl_anyavltree_list2.h: Likewise.
568         * lib/gl_anyhash_list1.h: Likewise.
569         * lib/gl_anyhash_list2.h: Likewise.
570         * lib/gl_anylinked_list1.h: Likewise.
571         * lib/gl_anylinked_list2.h: Likewise.
572         * lib/gl_anyrbtree_list1.h: Likewise.
573         * lib/gl_anyrbtree_list2.h: Likewise.
574         * lib/gl_anytree_list1.h: Likewise.
575         * lib/gl_anytree_list2.h: Likewise.
576         * lib/gl_anytree_oset.h: Likewise.
577         * lib/gl_anytreehash_list1.h: Likewise.
578         * lib/gl_anytreehash_list2.h: Likewise.
579         * lib/gl_array_list.c: Likewise.
580         * lib/gl_array_list.h: Likewise.
581         * lib/gl_array_oset.c: Likewise.
582         * lib/gl_array_oset.h: Likewise.
583         * lib/gl_avltree_list.c: Likewise.
584         * lib/gl_avltree_list.h: Likewise.
585         * lib/gl_avltree_oset.c: Likewise.
586         * lib/gl_avltree_oset.h: Likewise.
587         * lib/gl_avltreehash_list.c: Likewise.
588         * lib/gl_avltreehash_list.h: Likewise.
589         * lib/gl_carray_list.c: Likewise.
590         * lib/gl_carray_list.h: Likewise.
591         * lib/gl_linked_list.c: Likewise.
592         * lib/gl_linked_list.h: Likewise.
593         * lib/gl_linkedhash_list.c: Likewise.
594         * lib/gl_linkedhash_list.h: Likewise.
595         * lib/gl_list.c: Likewise.
596         * lib/gl_list.h: Likewise.
597         * lib/gl_oset.c: Likewise.
598         * lib/gl_oset.h: Likewise.
599         * lib/gl_rbtree_list.c: Likewise.
600         * lib/gl_rbtree_list.h: Likewise.
601         * lib/gl_rbtree_oset.c: Likewise.
602         * lib/gl_rbtree_oset.h: Likewise.
603         * lib/gl_rbtreehash_list.c: Likewise.
604         * lib/gl_rbtreehash_list.h: Likewise.
605         * lib/gl_sublist.c: Likewise.
606         * lib/gl_sublist.h: Likewise.
607         * lib/group-member.c: Likewise.
608         * lib/group-member.h: Likewise.
609         * lib/hard-locale.c: Likewise.
610         * lib/hard-locale.h: Likewise.
611         * lib/hash-pjw.c: Likewise.
612         * lib/hash-pjw.h: Likewise.
613         * lib/hash-triple.c: Likewise.
614         * lib/hash.c: Likewise.
615         * lib/hash.h: Likewise.
616         * lib/human.c: Likewise.
617         * lib/human.h: Likewise.
618         * lib/i-ring.c: Likewise.
619         * lib/i-ring.h: Likewise.
620         * lib/idcache.c: Likewise.
621         * lib/imaxabs.c: Likewise.
622         * lib/imaxdiv.c: Likewise.
623         * lib/inet_pton.c: Likewise.
624         * lib/inet_pton.h: Likewise.
625         * lib/intprops.h: Likewise.
626         * lib/inttostr.c: Likewise.
627         * lib/inttostr.h: Likewise.
628         * lib/inttypes.in.h: Likewise.
629         * lib/isapipe.c: Likewise.
630         * lib/isdir.c: Likewise.
631         * lib/isnan.c: Likewise.
632         * lib/isnan.h: Likewise.
633         * lib/isnanf.c: Likewise.
634         * lib/isnanf.h: Likewise.
635         * lib/isnanl-nolibm.h: Likewise.
636         * lib/isnanl.c: Likewise.
637         * lib/isnanl.h: Likewise.
638         * lib/javacomp.c: Likewise.
639         * lib/javacomp.h: Likewise.
640         * lib/javaexec.c: Likewise.
641         * lib/javaexec.h: Likewise.
642         * lib/javaversion.c: Likewise.
643         * lib/javaversion.h: Likewise.
644         * lib/javaversion.java: Likewise.
645         * lib/lbrkprop.h: Likewise.
646         * lib/lchmod.h: Likewise.
647         * lib/lchown.c: Likewise.
648         * lib/ldexpl.c: Likewise.
649         * lib/linebreak.c: Likewise.
650         * lib/linebreak.h: Likewise.
651         * lib/linebuffer.c: Likewise.
652         * lib/linebuffer.h: Likewise.
653         * lib/locale.in.h: Likewise.
654         * lib/logl.c: Likewise.
655         * lib/long-options.c: Likewise.
656         * lib/long-options.h: Likewise.
657         * lib/lstat.c: Likewise.
658         * lib/lstat.h: Likewise.
659         * lib/math.in.h: Likewise.
660         * lib/mbchar.c: Likewise.
661         * lib/mbchar.h: Likewise.
662         * lib/mbfile.h: Likewise.
663         * lib/mbiter.h: Likewise.
664         * lib/mbscasecmp.c: Likewise.
665         * lib/mbscasestr.c: Likewise.
666         * lib/mbschr.c: Likewise.
667         * lib/mbscspn.c: Likewise.
668         * lib/mbslen.c: Likewise.
669         * lib/mbsncasecmp.c: Likewise.
670         * lib/mbsnlen.c: Likewise.
671         * lib/mbspbrk.c: Likewise.
672         * lib/mbspcasecmp.c: Likewise.
673         * lib/mbsrchr.c: Likewise.
674         * lib/mbssep.c: Likewise.
675         * lib/mbsspn.c: Likewise.
676         * lib/mbsstr.c: Likewise.
677         * lib/mbstok_r.c: Likewise.
678         * lib/mbswidth.c: Likewise.
679         * lib/mbswidth.h: Likewise.
680         * lib/mbuiter.h: Likewise.
681         * lib/memcasecmp.c: Likewise.
682         * lib/memcasecmp.h: Likewise.
683         * lib/memchr.c: Likewise.
684         * lib/memcmp.c: Likewise.
685         * lib/memcoll.c: Likewise.
686         * lib/memcoll.h: Likewise.
687         * lib/memcpy.c: Likewise.
688         * lib/memrchr.c: Likewise.
689         * lib/mkancesdirs.c: Likewise.
690         * lib/mkdir-p.c: Likewise.
691         * lib/mkdir-p.h: Likewise.
692         * lib/mkdir.c: Likewise.
693         * lib/mkdirat.c: Likewise.
694         * lib/mkdtemp.c: Likewise.
695         * lib/mkstemp-safer.c: Likewise.
696         * lib/mkstemp.c: Likewise.
697         * lib/modechange.c: Likewise.
698         * lib/modechange.h: Likewise.
699         * lib/mountlist.c: Likewise.
700         * lib/mountlist.h: Likewise.
701         * lib/mpsort.c: Likewise.
702         * lib/nanosleep.c: Likewise.
703         * lib/obstack.c: Likewise.
704         * lib/obstack.h: Likewise.
705         * lib/open-safer.c: Likewise.
706         * lib/open.c: Likewise.
707         * lib/openat-die.c: Likewise.
708         * lib/openat-priv.h: Likewise.
709         * lib/openat-proc.c: Likewise.
710         * lib/openat.c: Likewise.
711         * lib/openat.h: Likewise.
712         * lib/pagealign_alloc.c: Likewise.
713         * lib/pagealign_alloc.h: Likewise.
714         * lib/physmem.c: Likewise.
715         * lib/physmem.h: Likewise.
716         * lib/pipe-safer.c: Likewise.
717         * lib/pipe.c: Likewise.
718         * lib/pipe.h: Likewise.
719         * lib/posixtm.c: Likewise.
720         * lib/posixtm.h: Likewise.
721         * lib/posixver.c: Likewise.
722         * lib/printf-frexp.c: Likewise.
723         * lib/printf-frexp.h: Likewise.
724         * lib/printf-frexpl.c: Likewise.
725         * lib/printf-frexpl.h: Likewise.
726         * lib/printf.c: Likewise.
727         * lib/progname.c: Likewise.
728         * lib/progname.h: Likewise.
729         * lib/progreloc.c: Likewise.
730         * lib/putenv.c: Likewise.
731         * lib/quote.c: Likewise.
732         * lib/quote.h: Likewise.
733         * lib/quotearg.c: Likewise.
734         * lib/quotearg.h: Likewise.
735         * lib/raise.c: Likewise.
736         * lib/readline.c: Likewise.
737         * lib/readline.h: Likewise.
738         * lib/readlink.c: Likewise.
739         * lib/readtokens.c: Likewise.
740         * lib/readtokens.h: Likewise.
741         * lib/readtokens0.c: Likewise.
742         * lib/readtokens0.h: Likewise.
743         * lib/readutmp.c: Likewise.
744         * lib/readutmp.h: Likewise.
745         * lib/realloc.c: Likewise.
746         * lib/relocwrapper.c: Likewise.
747         * lib/rename-dest-slash.c: Likewise.
748         * lib/rename.c: Likewise.
749         * lib/rmdir.c: Likewise.
750         * lib/rpmatch.c: Likewise.
751         * lib/safe-read.c: Likewise.
752         * lib/safe-read.h: Likewise.
753         * lib/safe-write.c: Likewise.
754         * lib/safe-write.h: Likewise.
755         * lib/same-inode.h: Likewise.
756         * lib/same.c: Likewise.
757         * lib/same.h: Likewise.
758         * lib/save-cwd.c: Likewise.
759         * lib/save-cwd.h: Likewise.
760         * lib/savedir.c: Likewise.
761         * lib/savedir.h: Likewise.
762         * lib/savewd.c: Likewise.
763         * lib/savewd.h: Likewise.
764         * lib/search.in.h: Likewise.
765         * lib/setenv.c: Likewise.
766         * lib/setenv.h: Likewise.
767         * lib/settime.c: Likewise.
768         * lib/sh-quote.c: Likewise.
769         * lib/sh-quote.h: Likewise.
770         * lib/sig2str.c: Likewise.
771         * lib/sig2str.h: Likewise.
772         * lib/signal.in.h: Likewise.
773         * lib/signbitd.c: Likewise.
774         * lib/signbitf.c: Likewise.
775         * lib/signbitl.c: Likewise.
776         * lib/sigprocmask.c: Likewise.
777         * lib/sincosl.c: Likewise.
778         * lib/sleep.c: Likewise.
779         * lib/sprintf.c: Likewise.
780         * lib/sqrtl.c: Likewise.
781         * lib/stat-time.h: Likewise.
782         * lib/stdio--.h: Likewise.
783         * lib/stdio-safer.h: Likewise.
784         * lib/stdlib--.h: Likewise.
785         * lib/stdlib-safer.h: Likewise.
786         * lib/stdlib.in.h: Likewise.
787         * lib/stpcpy.c: Likewise.
788         * lib/stpncpy.c: Likewise.
789         * lib/strchrnul.c: Likewise.
790         * lib/strcspn.c: Likewise.
791         * lib/strerror.c: Likewise.
792         * lib/strftime.c: Likewise.
793         * lib/strftime.h: Likewise.
794         * lib/striconveh.c: Likewise.
795         * lib/striconveh.h: Likewise.
796         * lib/striconveha.c: Likewise.
797         * lib/striconveha.h: Likewise.
798         * lib/stripslash.c: Likewise.
799         * lib/strnlen1.c: Likewise.
800         * lib/strnlen1.h: Likewise.
801         * lib/strtod.c: Likewise.
802         * lib/strtoimax.c: Likewise.
803         * lib/strtok_r.c: Likewise.
804         * lib/strtol.c: Likewise.
805         * lib/strtoll.c: Likewise.
806         * lib/strtoul.c: Likewise.
807         * lib/strtoull.c: Likewise.
808         * lib/sysexits.in.h: Likewise.
809         * lib/tempname.c: Likewise.
810         * lib/tempname.h: Likewise.
811         * lib/timespec.h: Likewise.
812         * lib/tls.c: Likewise.
813         * lib/tls.h: Likewise.
814         * lib/tmpdir.c: Likewise.
815         * lib/tmpdir.h: Likewise.
816         * lib/tmpfile-safer.c: Likewise.
817         * lib/tmpfile.c: Likewise.
818         * lib/trigl.c: Likewise.
819         * lib/trigl.h: Likewise.
820         * lib/trim.c: Likewise.
821         * lib/trim.h: Likewise.
822         * lib/trunc.c: Likewise.
823         * lib/truncf.c: Likewise.
824         * lib/truncl.c: Likewise.
825         * lib/tsearch.c: Likewise.
826         * lib/unicodeio.c: Likewise.
827         * lib/unicodeio.h: Likewise.
828         * lib/unistd--.h: Likewise.
829         * lib/unistd-safer.h: Likewise.
830         * lib/unistdio/ulc-fprintf.c: Likewise.
831         * lib/unistdio/ulc-vfprintf.c: Likewise.
832         * lib/unlinkdir.c: Likewise.
833         * lib/unlinkdir.h: Likewise.
834         * lib/unlocked-io.h: Likewise.
835         * lib/unsetenv.c: Likewise.
836         * lib/userspec.c: Likewise.
837         * lib/utime.c: Likewise.
838         * lib/utimecmp.c: Likewise.
839         * lib/utimecmp.h: Likewise.
840         * lib/utimens.c: Likewise.
841         * lib/verify.h: Likewise.
842         * lib/verror.c: Likewise.
843         * lib/verror.h: Likewise.
844         * lib/version-etc-fsf.c: Likewise.
845         * lib/version-etc.c: Likewise.
846         * lib/version-etc.h: Likewise.
847         * lib/vfprintf.c: Likewise.
848         * lib/vprintf.c: Likewise.
849         * lib/vsprintf.c: Likewise.
850         * lib/w32spawn.h: Likewise.
851         * lib/wait-process.c: Likewise.
852         * lib/wait-process.h: Likewise.
853         * lib/wcwidth.c: Likewise.
854         * lib/write-any-file.c: Likewise.
855         * lib/xalloc-die.c: Likewise.
856         * lib/xalloc.h: Likewise.
857         * lib/xasprintf.c: Likewise.
858         * lib/xgetcwd.c: Likewise.
859         * lib/xgetcwd.h: Likewise.
860         * lib/xgetdomainname.c: Likewise.
861         * lib/xgetdomainname.h: Likewise.
862         * lib/xgethostname.c: Likewise.
863         * lib/xmalloc.c: Likewise.
864         * lib/xmalloca.c: Likewise.
865         * lib/xmalloca.h: Likewise.
866         * lib/xmemcoll.c: Likewise.
867         * lib/xnanosleep.c: Likewise.
868         * lib/xreadlink.c: Likewise.
869         * lib/xreadlink.h: Likewise.
870         * lib/xsetenv.c: Likewise.
871         * lib/xsetenv.h: Likewise.
872         * lib/xstriconv.c: Likewise.
873         * lib/xstriconv.h: Likewise.
874         * lib/xstrndup.c: Likewise.
875         * lib/xstrndup.h: Likewise.
876         * lib/xstrtod.c: Likewise.
877         * lib/xstrtod.h: Likewise.
878         * lib/xstrtol-error.c: Likewise.
879         * lib/xstrtol.c: Likewise.
880         * lib/xstrtol.h: Likewise.
881         * lib/xtime.h: Likewise.
882         * lib/xvasprintf.c: Likewise.
883         * lib/xvasprintf.h: Likewise.
884         * lib/yesno.c: Likewise.
885         * lib/yesno.h: Likewise.
886         * posix-modules: Likewise.
887         * tests/test-alloca-opt.c: Likewise.
888         * tests/test-arcfour.c: Likewise.
889         * tests/test-arctwo.c: Likewise.
890         * tests/test-argmatch.c: Likewise.
891         * tests/test-argp-2.sh: Likewise.
892         * tests/test-argp.c: Likewise.
893         * tests/test-arpa_inet.c: Likewise.
894         * tests/test-array_list.c: Likewise.
895         * tests/test-array_oset.c: Likewise.
896         * tests/test-atexit.c: Likewise.
897         * tests/test-avltree_list.c: Likewise.
898         * tests/test-avltree_oset.c: Likewise.
899         * tests/test-avltreehash_list.c: Likewise.
900         * tests/test-base64.c: Likewise.
901         * tests/test-binary-io.c: Likewise.
902         * tests/test-byteswap.c: Likewise.
903         * tests/test-c-ctype.c: Likewise.
904         * tests/test-c-strcasecmp.c: Likewise.
905         * tests/test-c-strcasestr.c: Likewise.
906         * tests/test-c-strncasecmp.c: Likewise.
907         * tests/test-c-strstr.c: Likewise.
908         * tests/test-canonicalize-lgpl.c: Likewise.
909         * tests/test-canonicalize.c: Likewise.
910         * tests/test-carray_list.c: Likewise.
911         * tests/test-ceilf.c: Likewise.
912         * tests/test-ceill.c: Likewise.
913         * tests/test-count-one-bits.c: Likewise.
914         * tests/test-crc.c: Likewise.
915         * tests/test-dirname.c: Likewise.
916         * tests/test-fbufmode.c: Likewise.
917         * tests/test-fcntl.c: Likewise.
918         * tests/test-fflush.c: Likewise.
919         * tests/test-floorf.c: Likewise.
920         * tests/test-floorl.c: Likewise.
921         * tests/test-fopen.c: Likewise.
922         * tests/test-fprintf-posix.c: Likewise.
923         * tests/test-fprintf-posix.h: Likewise.
924         * tests/test-fpurge.c: Likewise.
925         * tests/test-freadable.c: Likewise.
926         * tests/test-freadahead.c: Likewise.
927         * tests/test-freading.c: Likewise.
928         * tests/test-freopen.c: Likewise.
929         * tests/test-frexp.c: Likewise.
930         * tests/test-frexpl.c: Likewise.
931         * tests/test-fseek.c: Likewise.
932         * tests/test-fseeko.c: Likewise.
933         * tests/test-fseterr.c: Likewise.
934         * tests/test-fstrcmp.c: Likewise.
935         * tests/test-ftell.c: Likewise.
936         * tests/test-ftello.c: Likewise.
937         * tests/test-fwritable.c: Likewise.
938         * tests/test-fwriting.c: Likewise.
939         * tests/test-getaddrinfo.c: Likewise.
940         * tests/test-getpass.c: Likewise.
941         * tests/test-gettimeofday.c: Likewise.
942         * tests/test-hmac-md5.c: Likewise.
943         * tests/test-hmac-sha1.c: Likewise.
944         * tests/test-iconv.c: Likewise.
945         * tests/test-iconvme.c: Likewise.
946         * tests/test-inttypes.c: Likewise.
947         * tests/test-isnan.c: Likewise.
948         * tests/test-isnanf.c: Likewise.
949         * tests/test-isnanl-nolibm.c: Likewise.
950         * tests/test-isnanl.c: Likewise.
951         * tests/test-isnanl.h: Likewise.
952         * tests/test-ldexpl.c: Likewise.
953         * tests/test-linked_list.c: Likewise.
954         * tests/test-linkedhash_list.c: Likewise.
955         * tests/test-locale.c: Likewise.
956         * tests/test-localename.c: Likewise.
957         * tests/test-lock.c: Likewise.
958         * tests/test-lseek.c: Likewise.
959         * tests/test-malloca.c: Likewise.
960         * tests/test-math.c: Likewise.
961         * tests/test-mbscasecmp.c: Likewise.
962         * tests/test-mbscasestr1.c: Likewise.
963         * tests/test-mbscasestr2.c: Likewise.
964         * tests/test-mbscasestr3.c: Likewise.
965         * tests/test-mbscasestr4.c: Likewise.
966         * tests/test-mbschr.c: Likewise.
967         * tests/test-mbscspn.c: Likewise.
968         * tests/test-mbsncasecmp.c: Likewise.
969         * tests/test-mbspbrk.c: Likewise.
970         * tests/test-mbspcasecmp.c: Likewise.
971         * tests/test-mbsrchr.c: Likewise.
972         * tests/test-mbsspn.c: Likewise.
973         * tests/test-mbsstr1.c: Likewise.
974         * tests/test-mbsstr2.c: Likewise.
975         * tests/test-mbsstr3.c: Likewise.
976         * tests/test-md5.c: Likewise.
977         * tests/test-memmem.c: Likewise.
978         * tests/test-netinet_in.c: Likewise.
979         * tests/test-open.c: Likewise.
980         * tests/test-printf-frexp.c: Likewise.
981         * tests/test-printf-frexpl.c: Likewise.
982         * tests/test-printf-posix.c: Likewise.
983         * tests/test-printf-posix.h: Likewise.
984         * tests/test-rbtree_list.c: Likewise.
985         * tests/test-rbtree_oset.c: Likewise.
986         * tests/test-rbtreehash_list.c: Likewise.
987         * tests/test-read-file.c: Likewise.
988         * tests/test-rijndael.c: Likewise.
989         * tests/test-search.c: Likewise.
990         * tests/test-signbit.c: Likewise.
991         * tests/test-sleep.c: Likewise.
992         * tests/test-snprintf-posix.c: Likewise.
993         * tests/test-snprintf-posix.h: Likewise.
994         * tests/test-snprintf.c: Likewise.
995         * tests/test-sprintf-posix.c: Likewise.
996         * tests/test-sprintf-posix.h: Likewise.
997         * tests/test-stat-time.c: Likewise.
998         * tests/test-stdbool.c: Likewise.
999         * tests/test-stdint.c: Likewise.
1000         * tests/test-stdio.c: Likewise.
1001         * tests/test-stdlib.c: Likewise.
1002         * tests/test-stpncpy.c: Likewise.
1003         * tests/test-strcasestr.c: Likewise.
1004         * tests/test-striconv.c: Likewise.
1005         * tests/test-striconveh.c: Likewise.
1006         * tests/test-striconveha.c: Likewise.
1007         * tests/test-string.c: Likewise.
1008         * tests/test-sys_select.c: Likewise.
1009         * tests/test-sys_socket.c: Likewise.
1010         * tests/test-sys_stat.c: Likewise.
1011         * tests/test-sys_time.c: Likewise.
1012         * tests/test-sysexits.c: Likewise.
1013         * tests/test-time.c: Likewise.
1014         * tests/test-tls.c: Likewise.
1015         * tests/test-trunc.c: Likewise.
1016         * tests/test-truncf.c: Likewise.
1017         * tests/test-truncl.c: Likewise.
1018         * tests/test-unistd.c: Likewise.
1019         * tests/test-vasnprintf-posix.c: Likewise.
1020         * tests/test-vasnprintf-posix2.c: Likewise.
1021         * tests/test-vasnprintf.c: Likewise.
1022         * tests/test-vasprintf-posix.c: Likewise.
1023         * tests/test-vasprintf.c: Likewise.
1024         * tests/test-verify.c: Likewise.
1025         * tests/test-vfprintf-posix.c: Likewise.
1026         * tests/test-vprintf-posix.c: Likewise.
1027         * tests/test-vsnprintf-posix.c: Likewise.
1028         * tests/test-vsnprintf.c: Likewise.
1029         * tests/test-vsprintf-posix.c: Likewise.
1030         * tests/test-wchar.c: Likewise.
1031         * tests/test-wctype.c: Likewise.
1032         * tests/test-wcwidth.c: Likewise.
1033         * tests/test-xstrtol.c: Likewise.
1034         * tests/test-xvasprintf.c: Likewise.
1035         * tests/uniconv/test-u16-conv-from-enc.c: Likewise.
1036         * tests/uniconv/test-u16-conv-to-enc.c: Likewise.
1037         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
1038         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
1039         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
1040         * tests/uniconv/test-u32-conv-to-enc.c: Likewise.
1041         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
1042         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
1043         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
1044         * tests/uniconv/test-u8-conv-to-enc.c: Likewise.
1045         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
1046         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
1047         * tests/uniname/test-uninames.c: Likewise.
1048         * tests/unistdio/test-u16-asnprintf1.c: Likewise.
1049         * tests/unistdio/test-u16-asnprintf1.h: Likewise.
1050         * tests/unistdio/test-u16-printf1.h: Likewise.
1051         * tests/unistdio/test-u16-vasnprintf1.c: Likewise.
1052         * tests/unistdio/test-u16-vasnprintf2.c: Likewise.
1053         * tests/unistdio/test-u16-vasnprintf3.c: Likewise.
1054         * tests/unistdio/test-u16-vasprintf1.c: Likewise.
1055         * tests/unistdio/test-u16-vsnprintf1.c: Likewise.
1056         * tests/unistdio/test-u16-vsprintf1.c: Likewise.
1057         * tests/unistdio/test-u32-asnprintf1.c: Likewise.
1058         * tests/unistdio/test-u32-asnprintf1.h: Likewise.
1059         * tests/unistdio/test-u32-printf1.h: Likewise.
1060         * tests/unistdio/test-u32-vasnprintf1.c: Likewise.
1061         * tests/unistdio/test-u32-vasnprintf2.c: Likewise.
1062         * tests/unistdio/test-u32-vasnprintf3.c: Likewise.
1063         * tests/unistdio/test-u32-vasprintf1.c: Likewise.
1064         * tests/unistdio/test-u32-vsnprintf1.c: Likewise.
1065         * tests/unistdio/test-u32-vsprintf1.c: Likewise.
1066         * tests/unistdio/test-u8-asnprintf1.c: Likewise.
1067         * tests/unistdio/test-u8-asnprintf1.h: Likewise.
1068         * tests/unistdio/test-u8-printf1.h: Likewise.
1069         * tests/unistdio/test-u8-vasnprintf1.c: Likewise.
1070         * tests/unistdio/test-u8-vasnprintf2.c: Likewise.
1071         * tests/unistdio/test-u8-vasnprintf3.c: Likewise.
1072         * tests/unistdio/test-u8-vasprintf1.c: Likewise.
1073         * tests/unistdio/test-u8-vsnprintf1.c: Likewise.
1074         * tests/unistdio/test-u8-vsprintf1.c: Likewise.
1075         * tests/unistdio/test-ulc-asnprintf1.c: Likewise.
1076         * tests/unistdio/test-ulc-asnprintf1.h: Likewise.
1077         * tests/unistdio/test-ulc-printf1.h: Likewise.
1078         * tests/unistdio/test-ulc-vasnprintf1.c: Likewise.
1079         * tests/unistdio/test-ulc-vasnprintf2.c: Likewise.
1080         * tests/unistdio/test-ulc-vasnprintf3.c: Likewise.
1081         * tests/unistdio/test-ulc-vasprintf1.c: Likewise.
1082         * tests/unistdio/test-ulc-vsnprintf1.c: Likewise.
1083         * tests/unistdio/test-ulc-vsprintf1.c: Likewise.
1084         * tests/uniwidth/test-u16-strwidth.c: Likewise.
1085         * tests/uniwidth/test-u16-width.c: Likewise.
1086         * tests/uniwidth/test-u32-strwidth.c: Likewise.
1087         * tests/uniwidth/test-u32-width.c: Likewise.
1088         * tests/uniwidth/test-u8-strwidth.c: Likewise.
1089         * tests/uniwidth/test-u8-width.c: Likewise.
1090         * tests/uniwidth/test-uc_width.c: Likewise.
1091         * config/srclist-update: Likewise.
1092         (fixlicense): Update to GPLv3+.
1093
1094         Change copyright notice from LGPLv2.1+ to LGPLv3+.
1095         * tests/test-tsearch.c: Change copyright notice.
1096
1097         Change copyright notice from LGPLv2.0+ to LGPLv3+.
1098         * lib/c-strcaseeq.h: Change copyright notice.
1099         * lib/streq.h: Likewise.
1100         * lib/uniconv.h: Likewise.
1101         * lib/uniconv/u-conv-from-enc.h: Likewise.
1102         * lib/uniconv/u-conv-to-enc.h: Likewise.
1103         * lib/uniconv/u-strconv-from-enc.h: Likewise.
1104         * lib/uniconv/u-strconv-to-enc.h: Likewise.
1105         * lib/uniconv/u16-conv-from-enc.c: Likewise.
1106         * lib/uniconv/u16-conv-to-enc.c: Likewise.
1107         * lib/uniconv/u16-strconv-from-enc.c: Likewise.
1108         * lib/uniconv/u16-strconv-from-locale.c: Likewise.
1109         * lib/uniconv/u16-strconv-to-enc.c: Likewise.
1110         * lib/uniconv/u16-strconv-to-locale.c: Likewise.
1111         * lib/uniconv/u32-conv-from-enc.c: Likewise.
1112         * lib/uniconv/u32-conv-to-enc.c: Likewise.
1113         * lib/uniconv/u32-strconv-from-enc.c: Likewise.
1114         * lib/uniconv/u32-strconv-from-locale.c: Likewise.
1115         * lib/uniconv/u32-strconv-to-enc.c: Likewise.
1116         * lib/uniconv/u32-strconv-to-locale.c: Likewise.
1117         * lib/uniconv/u8-conv-from-enc.c: Likewise.
1118         * lib/uniconv/u8-conv-to-enc.c: Likewise.
1119         * lib/uniconv/u8-strconv-from-enc.c: Likewise.
1120         * lib/uniconv/u8-strconv-from-locale.c: Likewise.
1121         * lib/uniconv/u8-strconv-to-enc.c: Likewise.
1122         * lib/uniconv/u8-strconv-to-locale.c: Likewise.
1123         * lib/uniname.h: Likewise.
1124         * lib/uniname/uniname.c: Likewise.
1125         * lib/unistdio.h: Likewise.
1126         * lib/unistdio/u-asnprintf.h: Likewise.
1127         * lib/unistdio/u-asprintf.h: Likewise.
1128         * lib/unistdio/u-printf-args.c: Likewise.
1129         * lib/unistdio/u-printf-args.h: Likewise.
1130         * lib/unistdio/u-printf-parse.h: Likewise.
1131         * lib/unistdio/u-snprintf.h: Likewise.
1132         * lib/unistdio/u-sprintf.h: Likewise.
1133         * lib/unistdio/u-vasprintf.h: Likewise.
1134         * lib/unistdio/u-vsnprintf.h: Likewise.
1135         * lib/unistdio/u-vsprintf.h: Likewise.
1136         * lib/unistdio/u16-asnprintf.c: Likewise.
1137         * lib/unistdio/u16-asprintf.c: Likewise.
1138         * lib/unistdio/u16-printf-parse.c: Likewise.
1139         * lib/unistdio/u16-snprintf.c: Likewise.
1140         * lib/unistdio/u16-sprintf.c: Likewise.
1141         * lib/unistdio/u16-u16-asnprintf.c: Likewise.
1142         * lib/unistdio/u16-u16-asprintf.c: Likewise.
1143         * lib/unistdio/u16-u16-snprintf.c: Likewise.
1144         * lib/unistdio/u16-u16-sprintf.c: Likewise.
1145         * lib/unistdio/u16-u16-vasnprintf.c: Likewise.
1146         * lib/unistdio/u16-u16-vasprintf.c: Likewise.
1147         * lib/unistdio/u16-u16-vsnprintf.c: Likewise.
1148         * lib/unistdio/u16-u16-vsprintf.c: Likewise.
1149         * lib/unistdio/u16-vasnprintf.c: Likewise.
1150         * lib/unistdio/u16-vasprintf.c: Likewise.
1151         * lib/unistdio/u16-vsnprintf.c: Likewise.
1152         * lib/unistdio/u16-vsprintf.c: Likewise.
1153         * lib/unistdio/u32-asnprintf.c: Likewise.
1154         * lib/unistdio/u32-asprintf.c: Likewise.
1155         * lib/unistdio/u32-printf-parse.c: Likewise.
1156         * lib/unistdio/u32-snprintf.c: Likewise.
1157         * lib/unistdio/u32-sprintf.c: Likewise.
1158         * lib/unistdio/u32-u32-asnprintf.c: Likewise.
1159         * lib/unistdio/u32-u32-asprintf.c: Likewise.
1160         * lib/unistdio/u32-u32-snprintf.c: Likewise.
1161         * lib/unistdio/u32-u32-sprintf.c: Likewise.
1162         * lib/unistdio/u32-u32-vasnprintf.c: Likewise.
1163         * lib/unistdio/u32-u32-vasprintf.c: Likewise.
1164         * lib/unistdio/u32-u32-vsnprintf.c: Likewise.
1165         * lib/unistdio/u32-u32-vsprintf.c: Likewise.
1166         * lib/unistdio/u32-vasnprintf.c: Likewise.
1167         * lib/unistdio/u32-vasprintf.c: Likewise.
1168         * lib/unistdio/u32-vsnprintf.c: Likewise.
1169         * lib/unistdio/u32-vsprintf.c: Likewise.
1170         * lib/unistdio/u8-asnprintf.c: Likewise.
1171         * lib/unistdio/u8-asprintf.c: Likewise.
1172         * lib/unistdio/u8-printf-parse.c: Likewise.
1173         * lib/unistdio/u8-snprintf.c: Likewise.
1174         * lib/unistdio/u8-sprintf.c: Likewise.
1175         * lib/unistdio/u8-u8-asnprintf.c: Likewise.
1176         * lib/unistdio/u8-u8-asprintf.c: Likewise.
1177         * lib/unistdio/u8-u8-snprintf.c: Likewise.
1178         * lib/unistdio/u8-u8-sprintf.c: Likewise.
1179         * lib/unistdio/u8-u8-vasnprintf.c: Likewise.
1180         * lib/unistdio/u8-u8-vasprintf.c: Likewise.
1181         * lib/unistdio/u8-u8-vsnprintf.c: Likewise.
1182         * lib/unistdio/u8-u8-vsprintf.c: Likewise.
1183         * lib/unistdio/u8-vasnprintf.c: Likewise.
1184         * lib/unistdio/u8-vasprintf.c: Likewise.
1185         * lib/unistdio/u8-vsnprintf.c: Likewise.
1186         * lib/unistdio/u8-vsprintf.c: Likewise.
1187         * lib/unistdio/ulc-asnprintf.c: Likewise.
1188         * lib/unistdio/ulc-asprintf.c: Likewise.
1189         * lib/unistdio/ulc-printf-parse.c: Likewise.
1190         * lib/unistdio/ulc-snprintf.c: Likewise.
1191         * lib/unistdio/ulc-sprintf.c: Likewise.
1192         * lib/unistdio/ulc-vasnprintf.c: Likewise.
1193         * lib/unistdio/ulc-vasprintf.c: Likewise.
1194         * lib/unistdio/ulc-vsnprintf.c: Likewise.
1195         * lib/unistdio/ulc-vsprintf.c: Likewise.
1196         * lib/unistr.h: Likewise.
1197         * lib/unistr/u-cpy-alloc.h: Likewise.
1198         * lib/unistr/u-cpy.h: Likewise.
1199         * lib/unistr/u-endswith.h: Likewise.
1200         * lib/unistr/u-move.h: Likewise.
1201         * lib/unistr/u-set.h: Likewise.
1202         * lib/unistr/u-startswith.h: Likewise.
1203         * lib/unistr/u-stpcpy.h: Likewise.
1204         * lib/unistr/u-stpncpy.h: Likewise.
1205         * lib/unistr/u-strcat.h: Likewise.
1206         * lib/unistr/u-strcpy.h: Likewise.
1207         * lib/unistr/u-strcspn.h: Likewise.
1208         * lib/unistr/u-strdup.h: Likewise.
1209         * lib/unistr/u-strlen.h: Likewise.
1210         * lib/unistr/u-strncat.h: Likewise.
1211         * lib/unistr/u-strncpy.h: Likewise.
1212         * lib/unistr/u-strnlen.h: Likewise.
1213         * lib/unistr/u-strpbrk.h: Likewise.
1214         * lib/unistr/u-strspn.h: Likewise.
1215         * lib/unistr/u-strstr.h: Likewise.
1216         * lib/unistr/u-strtok.h: Likewise.
1217         * lib/unistr/u16-check.c: Likewise.
1218         * lib/unistr/u16-chr.c: Likewise.
1219         * lib/unistr/u16-cmp.c: Likewise.
1220         * lib/unistr/u16-cpy-alloc.c: Likewise.
1221         * lib/unistr/u16-cpy.c: Likewise.
1222         * lib/unistr/u16-endswith.c: Likewise.
1223         * lib/unistr/u16-mblen.c: Likewise.
1224         * lib/unistr/u16-mbsnlen.c: Likewise.
1225         * lib/unistr/u16-mbtouc-aux.c: Likewise.
1226         * lib/unistr/u16-mbtouc-unsafe-aux.c: Likewise.
1227         * lib/unistr/u16-mbtouc-unsafe.c: Likewise.
1228         * lib/unistr/u16-mbtouc.c: Likewise.
1229         * lib/unistr/u16-mbtoucr.c: Likewise.
1230         * lib/unistr/u16-move.c: Likewise.
1231         * lib/unistr/u16-next.c: Likewise.
1232         * lib/unistr/u16-prev.c: Likewise.
1233         * lib/unistr/u16-set.c: Likewise.
1234         * lib/unistr/u16-startswith.c: Likewise.
1235         * lib/unistr/u16-stpcpy.c: Likewise.
1236         * lib/unistr/u16-stpncpy.c: Likewise.
1237         * lib/unistr/u16-strcat.c: Likewise.
1238         * lib/unistr/u16-strchr.c: Likewise.
1239         * lib/unistr/u16-strcmp.c: Likewise.
1240         * lib/unistr/u16-strcpy.c: Likewise.
1241         * lib/unistr/u16-strcspn.c: Likewise.
1242         * lib/unistr/u16-strdup.c: Likewise.
1243         * lib/unistr/u16-strlen.c: Likewise.
1244         * lib/unistr/u16-strmblen.c: Likewise.
1245         * lib/unistr/u16-strmbtouc.c: Likewise.
1246         * lib/unistr/u16-strncat.c: Likewise.
1247         * lib/unistr/u16-strncmp.c: Likewise.
1248         * lib/unistr/u16-strncpy.c: Likewise.
1249         * lib/unistr/u16-strnlen.c: Likewise.
1250         * lib/unistr/u16-strpbrk.c: Likewise.
1251         * lib/unistr/u16-strrchr.c: Likewise.
1252         * lib/unistr/u16-strspn.c: Likewise.
1253         * lib/unistr/u16-strstr.c: Likewise.
1254         * lib/unistr/u16-strtok.c: Likewise.
1255         * lib/unistr/u16-to-u32.c: Likewise.
1256         * lib/unistr/u16-to-u8.c: Likewise.
1257         * lib/unistr/u16-uctomb-aux.c: Likewise.
1258         * lib/unistr/u16-uctomb.c: Likewise.
1259         * lib/unistr/u32-check.c: Likewise.
1260         * lib/unistr/u32-chr.c: Likewise.
1261         * lib/unistr/u32-cmp.c: Likewise.
1262         * lib/unistr/u32-cpy-alloc.c: Likewise.
1263         * lib/unistr/u32-cpy.c: Likewise.
1264         * lib/unistr/u32-endswith.c: Likewise.
1265         * lib/unistr/u32-mblen.c: Likewise.
1266         * lib/unistr/u32-mbsnlen.c: Likewise.
1267         * lib/unistr/u32-mbtouc-unsafe.c: Likewise.
1268         * lib/unistr/u32-mbtouc.c: Likewise.
1269         * lib/unistr/u32-mbtoucr.c: Likewise.
1270         * lib/unistr/u32-move.c: Likewise.
1271         * lib/unistr/u32-next.c: Likewise.
1272         * lib/unistr/u32-prev.c: Likewise.
1273         * lib/unistr/u32-set.c: Likewise.
1274         * lib/unistr/u32-startswith.c: Likewise.
1275         * lib/unistr/u32-stpcpy.c: Likewise.
1276         * lib/unistr/u32-stpncpy.c: Likewise.
1277         * lib/unistr/u32-strcat.c: Likewise.
1278         * lib/unistr/u32-strchr.c: Likewise.
1279         * lib/unistr/u32-strcmp.c: Likewise.
1280         * lib/unistr/u32-strcpy.c: Likewise.
1281         * lib/unistr/u32-strcspn.c: Likewise.
1282         * lib/unistr/u32-strdup.c: Likewise.
1283         * lib/unistr/u32-strlen.c: Likewise.
1284         * lib/unistr/u32-strmblen.c: Likewise.
1285         * lib/unistr/u32-strmbtouc.c: Likewise.
1286         * lib/unistr/u32-strncat.c: Likewise.
1287         * lib/unistr/u32-strncmp.c: Likewise.
1288         * lib/unistr/u32-strncpy.c: Likewise.
1289         * lib/unistr/u32-strnlen.c: Likewise.
1290         * lib/unistr/u32-strpbrk.c: Likewise.
1291         * lib/unistr/u32-strrchr.c: Likewise.
1292         * lib/unistr/u32-strspn.c: Likewise.
1293         * lib/unistr/u32-strstr.c: Likewise.
1294         * lib/unistr/u32-strtok.c: Likewise.
1295         * lib/unistr/u32-to-u16.c: Likewise.
1296         * lib/unistr/u32-to-u8.c: Likewise.
1297         * lib/unistr/u32-uctomb.c: Likewise.
1298         * lib/unistr/u8-check.c: Likewise.
1299         * lib/unistr/u8-chr.c: Likewise.
1300         * lib/unistr/u8-cmp.c: Likewise.
1301         * lib/unistr/u8-cpy-alloc.c: Likewise.
1302         * lib/unistr/u8-cpy.c: Likewise.
1303         * lib/unistr/u8-endswith.c: Likewise.
1304         * lib/unistr/u8-mblen.c: Likewise.
1305         * lib/unistr/u8-mbsnlen.c: Likewise.
1306         * lib/unistr/u8-mbtouc-aux.c: Likewise.
1307         * lib/unistr/u8-mbtouc-unsafe-aux.c: Likewise.
1308         * lib/unistr/u8-mbtouc-unsafe.c: Likewise.
1309         * lib/unistr/u8-mbtouc.c: Likewise.
1310         * lib/unistr/u8-mbtoucr.c: Likewise.
1311         * lib/unistr/u8-move.c: Likewise.
1312         * lib/unistr/u8-next.c: Likewise.
1313         * lib/unistr/u8-prev.c: Likewise.
1314         * lib/unistr/u8-set.c: Likewise.
1315         * lib/unistr/u8-startswith.c: Likewise.
1316         * lib/unistr/u8-stpcpy.c: Likewise.
1317         * lib/unistr/u8-stpncpy.c: Likewise.
1318         * lib/unistr/u8-strcat.c: Likewise.
1319         * lib/unistr/u8-strchr.c: Likewise.
1320         * lib/unistr/u8-strcmp.c: Likewise.
1321         * lib/unistr/u8-strcpy.c: Likewise.
1322         * lib/unistr/u8-strcspn.c: Likewise.
1323         * lib/unistr/u8-strdup.c: Likewise.
1324         * lib/unistr/u8-strlen.c: Likewise.
1325         * lib/unistr/u8-strmblen.c: Likewise.
1326         * lib/unistr/u8-strmbtouc.c: Likewise.
1327         * lib/unistr/u8-strncat.c: Likewise.
1328         * lib/unistr/u8-strncmp.c: Likewise.
1329         * lib/unistr/u8-strncpy.c: Likewise.
1330         * lib/unistr/u8-strnlen.c: Likewise.
1331         * lib/unistr/u8-strpbrk.c: Likewise.
1332         * lib/unistr/u8-strrchr.c: Likewise.
1333         * lib/unistr/u8-strspn.c: Likewise.
1334         * lib/unistr/u8-strstr.c: Likewise.
1335         * lib/unistr/u8-strtok.c: Likewise.
1336         * lib/unistr/u8-to-u16.c: Likewise.
1337         * lib/unistr/u8-to-u32.c: Likewise.
1338         * lib/unistr/u8-uctomb-aux.c: Likewise.
1339         * lib/unistr/u8-uctomb.c: Likewise.
1340         * lib/unitypes.h: Likewise.
1341         * lib/uniwidth.h: Likewise.
1342         * lib/uniwidth/cjk.h: Likewise.
1343         * lib/uniwidth/u16-strwidth.c: Likewise.
1344         * lib/uniwidth/u16-width.c: Likewise.
1345         * lib/uniwidth/u32-strwidth.c: Likewise.
1346         * lib/uniwidth/u32-width.c: Likewise.
1347         * lib/uniwidth/u8-strwidth.c: Likewise.
1348         * lib/uniwidth/u8-width.c: Likewise.
1349         * lib/uniwidth/width.c: Likewise.
1350
1351 2007-10-07  Bruno Haible  <bruno@clisp.org>
1352
1353         * lib/inttypes.in.h: Change copyright notice from LGPL to GPL.
1354         The file is still under LGPL (see modules/inttypes).
1355
1356 2007-10-06  Bruno Haible  <bruno@clisp.org>
1357
1358         * modules/trunc (Dependencies): Add 'extensions'.
1359         * m4/trunc.m4 (gl_FUNC_TRUNC): Require gl_USE_SYSTEM_EXTENSIONS.
1360         Reported by Ben Pfaff <blp@gnu.org>.
1361
1362 2007-10-06  Bruno Haible  <bruno@clisp.org>
1363
1364         * modules/freopen-tests: New file.
1365         * tests/test-freopen.c: New file.
1366
1367         * modules/fopen-tests: New file.
1368         * tests/test-fopen.c: New file.
1369
1370         * modules/fopen: New file.
1371         * lib/fopen.c: New file.
1372         * m4/fopen.m4: New file.
1373         * modules/freopen: New file.
1374         * lib/freopen.c: New file.
1375         * m4/freopen.m4: New file.
1376         * lib/stdio.in.h (fopen, freopen): New declarations.
1377         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize also GNULIB_FOPEN,
1378         GNULIB_FREOPEN, REPLACE_FOPEN, REPLACE_FREOPEN.
1379         * modules/stdio (Makefile.am): Substitute also GNULIB_FOPEN,
1380         GNULIB_FREOPEN, REPLACE_FOPEN, REPLACE_FREOPEN.
1381         * doc/functions/fopen.texi: Mention the 'fopen' module.
1382         * doc/functions/freopen.texi: Mention the 'freopen' module.
1383
1384 2007-10-06  Bruno Haible  <bruno@clisp.org>
1385
1386         * modules/open-tests: New file.
1387         * tests/test-open.c: New file.
1388
1389         * modules/open: New file.
1390         * lib/open.c: New file.
1391         * m4/open.m4: New file.
1392         * lib/fchdir.c (open): If the gnulib module 'open' is used, do what
1393         lib/open.c does.
1394         * lib/fcntl.in.h (open): Declare also if replaced by the 'open' module.
1395         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR, gl_FCNTL_H_DEFAULTS): New
1396         macros.
1397         (gl_FCNTL_H): Require gl_FCNTL_H_DEFAULTS.
1398         * modules/fcntl (Makefile.am): Also substitute GNULIB_OPEN and
1399         REPLACE_OPEN.
1400         * doc/functions/open.texi: Mention the 'open' module.
1401
1402 2007-10-04  Bruno Haible  <bruno@clisp.org>
1403
1404         * modules/ceill-tests: New file.
1405         * tests/test-ceill.c: New file.
1406
1407         * modules/ceill: New file.
1408         * lib/ceill.c: Replace entire file.
1409         * m4/ceill.m4: New file.
1410         * lib/math.in.h (ceill): Replace declaration.
1411         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEILL.
1412         * modules/math (Makefile.am): Substitute also GNULIB_CEILL.
1413         * doc/functions/ceill.texi: Mention the 'ceill' module.
1414         * modules/mathl (Files): Remove lib/ceill.c.
1415         (Depends-on): Add ceill.
1416
1417 2007-10-04  Bruno Haible  <bruno@clisp.org>
1418
1419         * modules/ceilf-tests: New file.
1420         * tests/test-ceilf.c: New file.
1421
1422         * modules/ceilf: New file.
1423         * lib/ceil.c: New file.
1424         * lib/ceilf.c: New file.
1425         * m4/ceilf.m4: New file.
1426         * lib/math.in.h (ceilf): New declaration.
1427         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEILF and
1428         HAVE_DECL_CEILF.
1429         * modules/math (Makefile.am): Substitute also GNULIB_CEILF and
1430         HAVE_DECL_CEILF.
1431         * doc/functions/ceilf.texi: Mention the 'ceilf' module.
1432
1433 2007-10-04  Bruno Haible  <bruno@clisp.org>
1434
1435         * modules/floorl-tests: New file.
1436         * tests/test-floorl.c: New file.
1437
1438         * modules/floorl: New file.
1439         * lib/floorl.c: Replace entire file.
1440         * m4/floorl.m4: New file.
1441         * lib/math.in.h (floorl): Replace declaration.
1442         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOORL.
1443         * modules/math (Makefile.am): Substitute also GNULIB_FLOORL.
1444         * doc/functions/floorl.texi: Mention the 'floorl' module.
1445         * modules/mathl (Files): Remove lib/floorl.c.
1446         (Depends-on): Add floorl.
1447
1448 2007-10-04  Bruno Haible  <bruno@clisp.org>
1449
1450         * modules/floorf-tests: New file.
1451         * tests/test-floorf.c: New file.
1452
1453         * modules/floorf: New file.
1454         * lib/floor.c: New file.
1455         * lib/floorf.c: New file.
1456         * m4/floorf.m4: New file.
1457         * lib/math.in.h (floorf): New declaration.
1458         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOORF and
1459         HAVE_DECL_FLOORF.
1460         * modules/math (Makefile.am): Substitute also GNULIB_FLOORF and
1461         HAVE_DECL_FLOORF.
1462         * doc/functions/floorf.texi: Mention the 'floorf' module.
1463
1464 2007-10-04  Benoit Sigoure  <tsuna@lrde.epita.fr>
1465             Bruno Haible  <bruno@clisp.org>
1466
1467         Advertise for the Git server instead of the CVS server.
1468         * doc/gnulib-intro.texi (Steady Development): Mention the Git
1469         repository instead of the CVS one.
1470         * doc/gnulib-tool.texi (VCS Issues): Renamed from "CVS Issues". Talk
1471         about all VCS systems generically.
1472         * doc/gnulib.texi (Introduction): Capitalize `Git'.
1473
1474 2007-10-04  Bruno Haible  <bruno@clisp.org>
1475
1476         * doc/gnulib.texi (Function Substitutes): Explain what an absent module
1477         means.
1478         Reported by Benoît Sigoure <tsuna@lrde.epita.fr>.
1479
1480 2007-10-04  Bruno Haible  <bruno@clisp.org>
1481
1482         * modules/truncl-tests: New file.
1483         * tests/test-truncl.c: New file.
1484
1485         * modules/truncl: New file.
1486         * lib/truncl.c: New file.
1487         * m4/truncl.m4: New file.
1488         * lib/math.in.h (truncl): New declaration.
1489         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNCL and
1490         HAVE_DECL_TRUNCL.
1491         * modules/math (Makefile.am): Substitute also GNULIB_TRUNCL and
1492         HAVE_DECL_TRUNCL.
1493         * doc/functions/truncl.texi: Mention the 'truncl' module.
1494
1495 2007-10-04  Bruno Haible  <bruno@clisp.org>
1496
1497         * modules/truncf-tests: New file.
1498         * tests/test-truncf.c: New file.
1499
1500         * modules/truncf: New file.
1501         * lib/trunc.c: Make paramerizable through USE_* macros.
1502         * lib/truncf.c: New file.
1503         * m4/truncf.m4: New file.
1504         * lib/math.in.h (truncf): New declaration.
1505         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNCF and
1506         HAVE_DECL_TRUNCF.
1507         * modules/math (Makefile.am): Substitute also GNULIB_TRUNCF and
1508         HAVE_DECL_TRUNCF.
1509         * doc/functions/truncf.texi: Mention the 'truncf' module.
1510
1511 2007-10-03  Bruno Haible  <bruno@clisp.org>
1512
1513         * gnulib-tool (func_get_automake_snippet): Synthesize an EXTRA_DIST
1514         augmentation also for tests modules.
1515         * modules/argp-tests (Makefile.am): Remove EXTRA_DIST augmentation.
1516         * modules/atexit-tests (Makefile.am): Likewise.
1517         * modules/binary-io-tests (Makefile.am): Likewise.
1518         * modules/c-strcase-tests (Makefile.am): Likewise.
1519         * modules/canonicalize-lgpl-tests (Makefile.am): Likewise.
1520         * modules/canonicalize-tests (Makefile.am): Likewise.
1521         * modules/closein-tests (Makefile.am): Likewise.
1522         * modules/fprintf-posix-tests (Makefile.am): Likewise.
1523         * modules/freadahead-tests (Makefile.am): Likewise.
1524         * modules/fseek-tests (Makefile.am): Likewise.
1525         * modules/fseeko-tests (Makefile.am): Likewise.
1526         * modules/ftell-tests (Makefile.am): Likewise.
1527         * modules/ftello-tests (Makefile.am): Likewise.
1528         * modules/isnanl-nolibm-tests (Makefile.am): Likewise.
1529         * modules/isnanl-tests (Makefile.am): Likewise.
1530         * modules/lseek-tests (Makefile.am): Likewise.
1531         * modules/mbscasecmp-tests (Makefile.am): Likewise.
1532         * modules/mbscasestr-tests (Makefile.am): Likewise.
1533         * modules/mbschr-tests (Makefile.am): Likewise.
1534         * modules/mbscspn-tests (Makefile.am): Likewise.
1535         * modules/mbsncasecmp-tests (Makefile.am): Likewise.
1536         * modules/mbspbrk-tests (Makefile.am): Likewise.
1537         * modules/mbspcasecmp-tests (Makefile.am): Likewise.
1538         * modules/mbsrchr-tests (Makefile.am): Likewise.
1539         * modules/mbsspn-tests (Makefile.am): Likewise.
1540         * modules/mbsstr-tests (Makefile.am): Likewise.
1541         * modules/printf-posix-tests (Makefile.am): Likewise.
1542         * modules/snprintf-posix-tests (Makefile.am): Likewise.
1543         * modules/sprintf-posix-tests (Makefile.am): Likewise.
1544         * modules/tsearch-tests (Makefile.am): Likewise.
1545         * modules/uniname/uniname-tests (Makefile.am): Likewise.
1546         * modules/unistdio/u16-vasnprintf-tests (Makefile.am): Likewise.
1547         * modules/unistdio/u32-vasnprintf-tests (Makefile.am): Likewise.
1548         * modules/unistdio/u8-vasnprintf-tests (Makefile.am): Likewise.
1549         * modules/unistdio/ulc-vasnprintf-tests (Makefile.am): Likewise.
1550         * modules/vasnprintf-posix-tests (Makefile.am): Likewise.
1551         * modules/vfprintf-posix-tests (Makefile.am): Likewise.
1552         * modules/vprintf-posix-tests (Makefile.am): Likewise.
1553         * modules/vsnprintf-posix-tests (Makefile.am): Likewise.
1554         * modules/vsprintf-posix-tests (Makefile.am): Likewise.
1555         * modules/xstrtoimax-tests (Makefile.am): Likewise.
1556         * modules/xstrtol-tests (Makefile.am): Likewise.
1557         * modules/xstrtoumax-tests (Makefile.am): Likewise.
1558         * modules/yesno-tests (Makefile.am): Likewise.
1559
1560 2007-10-03  Bruno Haible  <bruno@clisp.org>
1561
1562         * modules/trunc-tests: New file.
1563         * tests/test-trunc.c: New file.
1564
1565         * modules/trunc: New file.
1566         * lib/trunc.c: New file.
1567         * m4/trunc.m4: New file.
1568         * lib/math.in.h (trunc): New declaration.
1569         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNC and
1570         HAVE_DECL_TRUNC.
1571         * modules/math (Makefile.am): Substitute also GNULIB_TRUNC and
1572         HAVE_DECL_TRUNC.
1573         * doc/functions/trunc.texi: Mention the 'trunc' module.
1574
1575 2007-10-03  Bruno Haible  <bruno@clisp.org>
1576
1577         * tests/test-fpending.c: New file, mostly copied
1578         from coreutils/lib/t-fpending.c.
1579         * modules/fpending-tests: New file.
1580
1581 2007-10-03  Bruno Haible  <bruno@clisp.org>
1582
1583         Port the stdio extensions to QNX (untested).
1584         * lib/fseterr.c (fseterr): Add support for QNX.
1585         * lib/fbufmode.c (fbufmode): Likewise.
1586         * lib/freadable.c (freadable): Likewise.
1587         * lib/fwritable.c (fwritable): Likewise.
1588         * lib/freading.c (freading): Likewise.
1589         * lib/fwriting.c (fwriting): Likewise.
1590         * lib/freadahead.c (freadahed): Likewise.
1591         * lib/fpurge.c (fpurge): Likewise.
1592         * lib/fseeko.c (rpl_fseeko): Likewise.
1593
1594 2007-10-03  Bruno Haible  <bruno@clisp.org>
1595             Jim Meyering  <jim@meyering.net>
1596             Eric Blake  <ebb9@byu.net>
1597
1598         * doc/relocatable.texi: Use @command instead of @program.
1599
1600 2007-10-02  Jim Meyering  <jim@meyering.net>
1601
1602         Perform one more "_.h" -> ".in.h" substitution.
1603         * modules/unistd (Makefile.am) [unistd.h]: Use unistd.h.in
1604         instead of unistd_.h here, too.
1605
1606 2007-10-01  Bruno Haible  <bruno@clisp.org>
1607
1608         * gnulib-tool (func_emit_initmacro_done): Special case for alloca.c.
1609         Needed for the alloca-opt module.
1610
1611 2007-09-30  Bruno Haible  <bruno@clisp.org>
1612
1613         * lib/alloca.in.h: Renamed from lib/alloca_.h.
1614         * modules/alloca-opt (Files, Makefile.am): Use alloca.in.h instead of
1615         alloca_.h.
1616         * lib/argz.in.h: Renamed from lib/argz_.h.
1617         * modules/argz (Files, Makefile.am): Use argz.in.h instead of argz_.h.
1618         * lib/byteswap.in.h: Renamed from lib/byteswap_.h.
1619         * modules/byteswap (Files, Makefile.am): Use byteswap.in.h instead of
1620         byteswap_.h.
1621         * lib/dirent.in.h: Renamed from lib/dirent_.h.
1622         * modules/fchdir (Files, Makefile.am): Use dirent.in.h instead of
1623         dirent_.h.
1624         * lib/fcntl.in.h: Renamed from lib/fcntl_.h.
1625         * modules/fcntl (Files, Makefile.am): Use fcntl.in.h instead of
1626         fcntl_.h.
1627         * lib/float.in.h: Renamed from lib/float_.h.
1628         * modules/float (Files, Makefile.am): Use float.in.h instead of
1629         float_.h.
1630         * lib/fnmatch.in.h: Renamed from lib/fnmatch_.h.
1631         * modules/fnmatch (Files, Makefile.am): Use fnmatch.in.h instead of
1632         fnmatch_.h.
1633         * lib/getopt.in.h: Renamed from lib/getopt_.h.
1634         * modules/getopt (Files, Makefile.am): Use getopt.in.h instead of
1635         getopt_.h.
1636         * lib/glob.in.h: Renamed from lib/glob_.h.
1637         * modules/glob (Files, Makefile.am): Use glob.in.h instead of glob_.h.
1638         * lib/iconv.in.h: Renamed from lib/iconv_.h.
1639         * modules/iconv_open (Files, Makefile.am): Use iconv.in.h instead of
1640         iconv_.h.
1641         * lib/inttypes.in.h: Renamed from lib/inttypes_.h.
1642         * modules/inttypes (Files, Makefile.am): Use inttypes.in.h instead of
1643         inttypes_.h.
1644         * lib/locale.in.h: Renamed from lib/locale_.h.
1645         * modules/locale (Files, Makefile.am): Use locale.in.h instead of
1646         locale_.h.
1647         * lib/math.in.h: Renamed from lib/math_.h.
1648         * modules/math (Files, Makefile.am): Use math.in.h instead of math_.h.
1649         * lib/netinet_in.in.h: Renamed from lib/netinet_in_.h.
1650         * modules/netinet_in (Files, Makefile.am): Use netinet_in.in.h instead
1651         of netinet_in_.h. Add dependency.
1652         * lib/poll.in.h: Renamed from lib/poll_.h.
1653         * modules/poll (Files, Makefile.am): Use poll.in.h instead of poll_.h.
1654         * lib/search.in.h: Renamed from lib/search_.h.
1655         * modules/search (Files, Makefile.am): Use search.in.h instead of
1656         search_.h.
1657         * lib/signal.in.h: Renamed from lib/signal_.h.
1658         * modules/signal (Files, Makefile.am): Use signal.in.h instead of
1659         _signal.h.
1660         * lib/stdbool.in.h: Renamed from lib/stdbool_.h.
1661         * modules/stdbool (Files, Makefile.am): Use stdbool.in.h instead of
1662         stdbool_.h.
1663         * lib/stdint.in.h: Renamed from lib/stdint_.h.
1664         * modules/stdint (Files, Makefile.am): Use stdint.in.h instead of
1665         stdint_.h.
1666         * lib/stdio.in.h: Renamed from lib/stdio_.h.
1667         * modules/stdio (Files, Makefile.am): Use stdio.in.h instead of
1668         stdio_.h.
1669         * lib/stdlib.in.h: Renamed from lib/stdlib_.h.
1670         * modules/stdlib (Files, Makefile.am): Use stdlib.in.h instead of
1671         stdlib_.h.
1672         * lib/string.in.h: Renamed from lib/string_.h.
1673         * modules/string (Files, Makefile.am): Use string.in.h instead of
1674         string_.h.
1675         * doc/gnulib-tool.texi (Initial import): Update.
1676         * lib/sys_select.in.h: Renamed from lib/sys_select_.h.
1677         * modules/sys_select (Files, Makefile.am): Use sys_select.in.h instead
1678         of sys_select_.h. Add dependency.
1679         * lib/sys_socket.in.h: Renamed from lib/sys_socket_.h.
1680         * modules/sys_socket (Files, Makefile.am): Use sys_socket.in.h instead
1681         of sys_socket_.h.
1682         * lib/sys_stat.in.h: Renamed from lib/sys_stat_.h.
1683         * modules/sys_stat (Files, Makefile.am): Use sys_stat.in.h instead of
1684         sys_stat_.h.
1685         * lib/sys_time.in.h: Renamed from lib/sys_time_.h.
1686         * modules/sys_time (Files, Makefile.am): Use sys_time.in.h instead of
1687         sys_time_.h.
1688         * lib/sysexits.in.h: Renamed from lib/sysexits_.h.
1689         * modules/sysexits (Files, Makefile.am): Use sysexits.in.h instead of
1690         sysexits_.h.
1691         * lib/time.in.h: Renamed from lib/time_.h.
1692         * modules/time (Files, Makefile.am): Use time.in.h instead of time_.h.
1693         * lib/unistd.in.h: Renamed from lib/unistd_.h.
1694         * modules/unistd (Files, Makefile.am): Use unistd.in.h instead of
1695         unistd_.h.
1696         * lib/wchar.in.h: Renamed from lib/wchar_.h.
1697         * modules/wchar (Files, Makefile.am): Use wchar.in.h instead of
1698         wchar_.h.
1699         * lib/wctype.in.h: Renamed from lib/wctype_.h.
1700         * modules/wctype (Files, Makefile.am): Use wctype.in.h instead of
1701         wctype_.h.
1702         * build-aux/bootstrap (slurp): Update.
1703         * lib/.cppi-disable: Update.
1704
1705 2007-09-30  Bruno Haible  <bruno@clisp.org>
1706
1707         * tests/test-getaddrinfo.c (AF_UNSPEC): Provide a fallback definition.
1708         Needed on BeOS.
1709
1710 2007-09-30  Bruno Haible  <bruno@clisp.org>
1711
1712         * modules/dirname-tests (check_PROGRAMS): Renamed from noinst_PROGRAMS.
1713
1714 2007-09-29  Bruno Haible  <bruno@clisp.org>
1715
1716         * lib/stdio_.h (getdelim, getline): Add identifiers. Doc tweak.
1717
1718 2007-09-29  Bruno Haible  <bruno@clisp.org>
1719
1720         * lib/xreadlink.c (xreadlink): Simplify to a wrapper around areadlink.
1721         * modules/xreadlink (Depends-on): Add areadlink, remove readlink etc.
1722         * build-aux/install-reloc: Compile also areadlink.c.
1723         * modules/relocatable-prog-wrapper (Files): Add lib/areadlink.[hc].
1724
1725 2007-09-29  Bruno Haible  <bruno@clisp.org>
1726
1727         * gnulib-tool (func_emit_initmacro_done): Indentation.
1728
1729 2007-09-29  Bruno Haible  <bruno@clisp.org>
1730
1731         * README: Add CVS checkout update instructions.
1732         Info from Bob Proulx <bob@proulx.com>.
1733
1734 2007-09-28  Eric Blake  <ebb9@byu.net>
1735
1736         Provide move-if-change.
1737         * build-aux/move-if-change: New file, based on best practice
1738         rather than any canonical upstream location.
1739
1740 2007-09-28  Jim Meyering  <jim@meyering.net>
1741
1742         Fix canonicalize loop-detection corner case.
1743         Do not attempt to stat the symlink values stored via seen_triple.
1744         Without this, coreutils' tests/misc/readlink-fp-loop test would fail
1745         on linux-2.6.18, (but not 2.6.22).
1746         * lib/canonicalize.c (seen_triple): Use triple_compare_ino_str, not
1747         triple_compare.  The former compares dev,ino,filename, while the latter
1748         would actually stat dirname(filename) when dev and ino were equal.
1749         * lib/hash-triple.c: Install <string.h>.
1750         (STREQ): Define.
1751         (triple_compare_ino_str): New function.
1752         * lib/hash-triple.h (triple_compare_ino_str): Declare it.
1753
1754 2007-09-28  Eric Blake  <ebb9@byu.net>
1755
1756         Enforce that AC_REPLACE_FUNCS files exist.
1757         * gnulib-tool (func_emit_initmacro_done): Make AC_LIBSOURCES
1758         override check for typos.
1759
1760         Fix test-closein on Solaris 10.
1761         * tests/test-closein.c (main): Don't assume stdin can be inherited
1762         closed on all systems.
1763         * tests/test-closein.sh: Likewise.
1764         Reported by Piotr Tarnowski.
1765
1766 2007-09-28  Jim Meyering  <jim@meyering.net>
1767
1768         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Fix typo in comment.
1769
1770 2007-09-27  Jim Meyering  <jim@meyering.net>
1771
1772         canonicalize: Avoid a false-positive cycle failure.
1773         * modules/canonicalize (Depends-on): Add file-set and hash-triple.
1774         Sort.  Remove cycle-check.
1775         * lib/canonicalize.c: Include file-set.h and hash-triple.h,
1776         not cycle-check.h.
1777         (seen_triple): New function.
1778         (canonicalize_filename_mode): Use it instead of cycle-check.
1779         * tests/test-canonicalize.c: Add a test for this bug.
1780         * tests/test-canonicalize.sh: Set up and run the test.
1781
1782         New module, file-set, from coreutils.
1783         * modules/file-set: Define it.
1784         * lib/file-set.c, lib/file-set.h: Implement.
1785
1786         New module, hash-triple, from coreutils.
1787         * modules/hash-triple: Define it.
1788         * lib/hash-triple.c, lib/hash-triple.h: Implement.
1789
1790 2007-09-25  Eric Blake  <ebb9@byu.net>
1791
1792         Fix strerror on Interix.
1793         * lib/string_.h (strerror): Declare replacement.
1794         * doc/functions/strerror.texi (strerror): Document the Interix
1795         shortcoming.
1796         * modules/string (Makefile.am): Support new hooks.
1797         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Add new hooks.
1798         * m4/strerror.m4 (gl_FUNC_STRERROR): Defer to
1799         gl_FUNC_STRERROR_SEPARATE.
1800         (gl_FUNC_STRERROR_SEPARATE): Check for Interix bug.
1801         * lib/strerror.c (rpl_strerror): Provide replacement.
1802         * modules/strerror (Depends-on): Add string.
1803         (configure.ac): Detect use of module.
1804         * tests/test-strerror.c: New file.
1805         * modules/strerror-tests: New test module.
1806         * modules/argp (Depends-on): Add strerror.
1807         * modules/error (Depends-on): Likewise.
1808         Reported by Martin Koeppe.
1809
1810 2007-09-24  Bruno Haible  <bruno@clisp.org>
1811
1812         * README: Update git instructions.
1813
1814 2007-09-24  Eric Blake  <ebb9@byu.net>
1815
1816         Revert fpending breakage from 2007-09-08.
1817         * m4/fpending.m4 (gl_FUNC_FPENDING): Don't require existence of
1818         __fpending.c.
1819
1820 2007-09-24  Jim Meyering  <jim@meyering.net>
1821
1822         filenamecat.c: Add a test.
1823         * lib/filenamecat.c (main) [TEST_FILE_NAME_CONCAT]: Add a test
1824         showing how the function works when DIR is the empty string.
1825
1826 2007-09-21  Simon Josefsson  <simon@josefsson.org>
1827
1828         * tests/test-canonicalize.sh: Turn on executable bit.
1829
1830 2007-09-19  Eric Blake  <ebb9@byu.net>
1831
1832         * README: Update CVS instructions.
1833
1834 2007-09-18  Bruno Haible  <bruno@clisp.org>
1835
1836         * modules/areadlink: New file.
1837         * lib/areadlink.h (areadlink): New declaration.
1838         * lib/areadlink.c: New file, based on lib/xreadlink.c.
1839
1840 2007-09-17  Jim Meyering  <jim@meyering.net>
1841
1842         * lib/savewd.c (ESTALE) [!defined]: Define.
1843         Reported to be required on Interix by Martin Koeppe.
1844
1845 2007-09-17  Bruno Haible  <bruno@clisp.org>
1846
1847         * gnulib-tool (func_version): Use $version.
1848
1849 2007-09-16  Bruno Haible  <bruno@clisp.org>
1850
1851         * m4/printf.m4 (gl_PRINTF_LONG_DOUBLE, gl_PRINTF_INFINITE,
1852         gl_PRINTF_INFINITE_LONG_DOUBLE): Increase buf's size from 100 to 10000.
1853         Needed on glibc-2.6.1 with -fstack-protector -D_FORTIFY_SOURCE=2.
1854         Reported by Greg Schafer <gschafer@zip.com.au>.
1855
1856 2007-09-15  Bruno Haible  <bruno@clisp.org>
1857
1858         * gnulib-tool (sed): Try a little harder to make bash understand the
1859         alias.
1860         Reported by Bruce Korb <bruce.korb@gmail.com>.
1861
1862 2007-09-13  Eric Blake  <ebb9@byu.net>
1863
1864         * ChangeLog: Remove conflict markers.
1865
1866 2007-09-13  Simon Josefsson  <simon@josefsson.org>
1867
1868         * lib/gc-gnulib.c (gc_hash_open): Catch NULL calloc return value.
1869         Reported by Bruno Haible <bruno@clisp.org>.
1870
1871 2007-09-12  Bruno Haible  <bruno@clisp.org>
1872
1873         * m4/lock.m4: Don't provide an AC_USE_SYSTEM_EXTENSIONS definition.
1874         (gl_LOCK_EARLY_BODY): Use AC_GNU_SOURCE when AC_USE_SYSTEM_EXTENSIONS
1875         is not defined.
1876
1877 2007-09-12  Eric Blake  <ebb9@byu.net>
1878
1879         Track CVS Autoconf on AC_USE_SYSTEM_EXTENSIONS.
1880         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Update to CVS
1881         Autoconf definition.
1882         * modules/euidaccess (Depends-on): Add extensions, for
1883         AC_USE_SYSTEM_EXTENSIONS with autoconf <= 2.59.
1884         * modules/fnmatch (Depends-on): Likewise.
1885         * modules/getaddrinfo (Depends-on): Likewise.
1886         * modules/getdelim (Depends-on): Likewise.
1887         * modules/getline (Depends-on): Likewise.
1888         * modules/getsubopt (Depends-on): Likewise.
1889         * modules/gettext (Depends-on): Likewise.
1890         * modules/group-member (Depends-on): Likewise.
1891         * modules/mbchar (Depends-on): Likewise.
1892         * modules/memmem (Depends-on): Likewise.
1893         * modules/mempcpy (Depends-on): Likewise.
1894         * modules/memrchr (Depends-on): Likewise.
1895         * modules/pagealign_alloc (Depends-on): Likewise.
1896         * modules/readutmp (Depends-on): Likewise.
1897         * modules/stpcpy (Depends-on): Likewise.
1898         * modules/stpncpy (Depends-on): Likewise.
1899         * modules/strchrnul (Depends-on): Likewise.
1900         * modules/strndup (Depends-on): Likewise.
1901         * modules/strsep (Depends-on): Likewise.
1902         * modules/strverscmp (Depends-on): Likewise.
1903         * modules/vasprintf (Depends-on): Likewise.
1904         * modules/wcwidth (Depends-on): Likewise.
1905         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): AC_GNU_SOURCE will be
1906         obsolete in Autoconf 2.62; use AC_USE_SYSTEM_EXTENSIONS instead.
1907         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_GNU): Likewise.
1908         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDR_INFO): Likewise.
1909         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
1910         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
1911         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Likewise.
1912         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
1913         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Likewise.
1914         * m4/mbchar.m4 (gl_MBCHAR): Likewise.
1915         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
1916         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Likewise.
1917         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Likewise.
1918         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Likewise.
1919         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC): Likewise.
1920         * m4/readutmp.m4 (gl_READUTMP): Likewise.
1921         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
1922         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Likewise.
1923         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
1924         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Likewise.
1925         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
1926         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Likewise.
1927         * m4/strsep.m4 (gl_FUNC_STRSEP): Likewise.
1928         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Likewise.
1929         * m4/vasprintf.m4 (gl_PREREQ_VASPRINTF_H): Likewise.
1930         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
1931         * m4/lock.m4 (gl_LOCK_EARLY_BODY): Likewise, but provide fallback,
1932         so that lock.m4 can be used in gettext without extensions module.
1933
1934 2007-09-11  Bruno Haible  <bruno@clisp.org>
1935
1936         * m4/isc-posix.m4: Remove file.
1937         Suggested by Eric Blake.
1938
1939 2007-09-11  Eric Blake  <ebb9@byu.net>
1940
1941         * ChangeLog: Restore lines accidentally truncated 2007-04-06.
1942
1943 2007-09-10  Bruno Haible  <bruno@clisp.org>
1944
1945         * posix-modules: Fix typo in error message.
1946         Reported by Matt <mkraai@beckman.com>.
1947
1948 2007-09-09  Bruno Haible  <bruno@clisp.org>
1949
1950         * doc/functions/getdelim.texi: Update list of platforms lacking the
1951         function.
1952         * doc/functions/getline.texi: Likewise.
1953
1954 2007-09-09  Jim Meyering  <jim@meyering.net>
1955
1956         * lib/hash.c (hash_initialize): Detect calloc failure.
1957         Reported by Bruno Haible.
1958
1959 2007-09-09  Bruno Haible  <bruno@clisp.org>
1960
1961         * lib/canonicalize-lgpl.c (__realpath): Set errno to ENOMEM when
1962         malloc or realloc fails.
1963
1964 2007-09-09  Bruno Haible  <bruno@clisp.org>
1965
1966         * modules/getcwd (Depends-on): Add malloc-posix.
1967         * modules/glob (Depends-on): Likewise.
1968         * modules/putenv (Depends-on): Likewise.
1969         * modules/strdup (Depends-on): Likewise.
1970         * modules/getdelim (Depends-on): Add realloc-posix.
1971         * modules/read-file (Depends-on): Likewise.
1972
1973 2007-09-09  Bruno Haible  <bruno@clisp.org>
1974
1975         * m4/malloc.m4 (gl_CHECK_MALLOC_POSIX): New macro.
1976         (gl_FUNC_MALLOC_POSIX): Require it.
1977         * m4/realloc.m4 (gl_FUNC_REALLOC_POSIX): Likewise.
1978         * m4/calloc.m4 (gl_FUNC_CALLOC_POSIX): Likewise.
1979         * modules/realloc (Files): Add m4/malloc.m4.
1980         * modules/calloc (Files): Likewise.
1981
1982 2007-09-09  Bruno Haible  <bruno@clisp.org>
1983
1984         * modules/malloc-posix: New file.
1985         * modules/malloc (Depends-on): Add malloc-posix.
1986         * lib/malloc.c: Include errno.h.
1987         (rpl_malloc): Merge the requirements of a glibc-compatible malloc
1988         and a POSIX-compatible malloc into a single function. Set ENOMEM
1989         when returning NULL.
1990         * m4/malloc.m4: New file.
1991         * doc/functions/malloc.texi: Mention the malloc-posix module.
1992         * lib/stdlib_.h (malloc): New declaration.
1993         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
1994         GNULIB_MALLOC_POSIX and HAVE_MALLOC_POSIX.
1995         * modules/stdlib (stdlib.h): Substitute also GNULIB_MALLOC_POSIX
1996         and HAVE_MALLOC_POSIX.
1997
1998 2007-09-09  Bruno Haible  <bruno@clisp.org>
1999
2000         * modules/realloc-posix: New file.
2001         * modules/realloc (Depends-on): Add realloc-posix.
2002         * lib/realloc.c: Include errno.h.
2003         (rpl_realloc): Merge the requirements of a glibc-compatible realloc
2004         and a POSIX-compatible realloc into a single function. Set ENOMEM
2005         when returning NULL.
2006         * m4/realloc.m4: New file.
2007         * doc/functions/realloc.texi: Mention the realloc-posix module.
2008         * lib/stdlib_.h (realloc): New declaration.
2009         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
2010         GNULIB_REALLOC_POSIX and HAVE_REALLOC_POSIX.
2011         * modules/stdlib (stdlib.h): Substitute also GNULIB_REALLOC_POSIX
2012         and HAVE_REALLOC_POSIX.
2013
2014 2007-09-09  Bruno Haible  <bruno@clisp.org>
2015
2016         * modules/calloc-posix: New file.
2017         * modules/calloc (Depends-on): Add calloc-posix.
2018         * lib/calloc.c: Include errno.h.
2019         (rpl_calloc): Merge the requirements of a glibc-compatible calloc
2020         and a POSIX-compatible calloc into a single function. Set ENOMEM
2021         when returning NULL.
2022         * m4/calloc.m4 (gl_FUNC_CALLOC_POSIX): New macro.
2023         * doc/functions/calloc.texi: Mention the calloc-posix module.
2024         * lib/stdlib_.h (calloc): New declaration.
2025         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
2026         GNULIB_CALLOC_POSIX and HAVE_CALLOC_POSIX.
2027         * modules/stdlib (stdlib.h): Substitute also GNULIB_CALLOC_POSIX
2028         and HAVE_CALLOC_POSIX.
2029
2030 2007-09-09  Bruno Haible  <bruno@clisp.org>
2031
2032         Allow for modules to show an arbitrary notice.
2033         * modules/TEMPLATE-EXTENDED: Add 'Notice' field.
2034         * gnulib-tool: New option --extract-notice.
2035         (func_usage): Document it.
2036         (sed_extract_prog): Update.
2037         (func_get_notice): New function.
2038         (func_modules_notice): New function.
2039         (func_import, func_create_testdir): Invoke it.
2040         Suggested by Jim Meyering.
2041
2042 2007-09-09  Bruno Haible  <bruno@clisp.org>
2043
2044         * gnulib-tool: New options --verbose, --quiet.
2045         (func_usage): Document them.
2046         (verbose): New variable.
2047         (func_execute_command): New function.
2048         (func_import): Don't show the module list and the file list if
2049         $verbose < 0.
2050         (func_create_testdir): Likewise. Use func_execute_command.
2051         (func_create_megatestdir): Use func_execute_command.
2052
2053 2007-09-08  Bruno Haible  <bruno@clisp.org>
2054
2055         * gnulib-tool (func_import): Prefer rsync over wget when available,
2056         for fetching the PO files.
2057
2058 2007-09-08  Bruno Haible  <bruno@clisp.org>
2059
2060         * posix-modules: New file. Portions copied from gnulib-tool.
2061         * doc/gnulib.texi (POSIX Substitutes Library): New chapter.
2062
2063 2007-09-08  Jim Meyering  <jim@meyering.net>
2064
2065         Rename __fpending.c -> fpending.c and __fpending.h -> fpending.h
2066         * lib/fpending.h: Rename from __fpending.h.
2067         * lib/fpending.c: Rename from __fpending.c.
2068         Include "fpending.h", not "__fpending.h".
2069         * lib/__fpending.h, lib/__fpending.c: Remove files.
2070         * modules/fpending (Files): Reflect new file names.
2071         * lib/close-stream.c: Include "fpending.h", not "__fpending.h".
2072
2073 2007-09-08  Bruno Haible  <bruno@clisp.org>
2074
2075         * m4/inttypes-h.m4: Remove stub file.
2076
2077 2007-09-07  Simon Josefsson  <simon@josefsson.org>
2078
2079         * doc/headers/stdint.texi: Discuss #include_next issue.
2080
2081 2007-09-06  Paul Eggert  <eggert@cs.ucla.edu>
2082
2083         * build-aux/bootstrap: Remove obsolete comment about wget --help.
2084
2085 2007-09-06  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
2086
2087         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Fix misspelling
2088         in variable name.
2089
2090 2007-09-03  Jim Meyering  <jim@meyering.net>
2091
2092         New module: git-version-gen.
2093         * modules/git-version-gen: New file.
2094
2095         Import changes from coreutils for bootstrap script.
2096
2097         * build-aux/bootstrap (WGET_COMMAND): Remove code to set this variable.
2098
2099         bootstrap: uses rsync to download the .po files
2100         * build-aux/bootstrap (po_download_command_format): New global.
2101         (download_po_files): Use rsync.
2102         (update_po_files): Don't remove .po files after download,
2103         so future rsync runs can take advantage of the copies.
2104
2105         * build-aux/bootstrap (gnulib_tool): Make sha1sum check quietly.
2106
2107         Solve the unnecessary-.po-file-regeneration problem once and for all.
2108         * build-aux/bootstrap (download_po_files): New function, renamed from
2109         get_translations.  Now, downloads, but doesn't update LINGUAS.
2110         (update_po_files): New function.
2111
2112         bootstrap: Ignore more.
2113         * build-aux/bootstrap (symlink_to_dir): Add a directory name like
2114         uniwidth to e.g., lib/.gitignore.
2115         (slurp): Handle the sys_stat_.h -> sys mapping, too.
2116
2117         * build-aux/bootstrap: New setting: vc_ignore.
2118         (insert_sorted_if_absent): Create $file if absent.
2119         Adapt to new, possibly empty, list: $vc_ignore.
2120
2121         bootstrap: generate more ignorable names
2122         * build-aux/bootstrap (slurp): When generating ignorable names,
2123         also map .sin to .sed, .gperf to .c, and .y to .c.
2124
2125 2007-09-03  Jim Meyering  <jim@meyering.net>
2126
2127         * build-aux/git-version-gen: New file, from coreutils.  For details, see
2128         http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commitdiff;h=bfe49f506
2129
2130 2007-09-02  Bruno Haible  <bruno@clisp.org>
2131
2132         Fix mis-recognition of 'mcs' on QNX 6.
2133         * m4/csharpcomp.m4 (gt_CSHARPCOMP): Test whether the "mcs --version"
2134         output contains the string "Mono".
2135         * lib/csharpcomp.c (compile_csharp_using_mono): Likewise.
2136         Reported by <kraai@ftbfs.org> at <https://savannah.gnu.org/bugs/?18337>.
2137
2138 2007-09-01  Bruno Haible  <bruno@clisp.org>
2139
2140         Fix collision between uniwidth/* and linebreak modules.
2141         * lib/linebreak.h (locale_charset, uc_width, u8_width, u16_width,
2142         u32_width): Remove declarations.
2143         * lib/linebreak.c: Include uniwidth.h, uniwidth/cjk.h, streq.h.
2144         (u32_mbtouc_unsafe, streq9, streq8, streq7, streq6, streq5, streq4,
2145         streq3, streq2, streq1, streq0): Remove functions.
2146         (STREQ): Remove macro.
2147         (is_cjk_encoding): Remove function.
2148         (nonspacing_table_data, nonspacing_table_ind): Remove constants.
2149         (uc_width, u8_width, u16_width, u32_width): Remove functions.
2150         * modules/linebreak (Depends-on): Add streq, uniwidth/width.
2151         * NEWS: Document the change.
2152
2153 2007-09-01  Bruno Haible  <bruno@clisp.org>
2154
2155         * lib/streq.h: Add double-inclusion guard.
2156
2157 2007-09-01  Karl Berry  <karl@gnu.org>
2158
2159         * MODULES.html.sh: Rename mreadlink_with_size to areadlink_with_size.
2160
2161 2007-08-28  Jim Meyering  <jim@meyering.net>
2162
2163         Rename mreadlink_with_size to areadlink_with_size.
2164         * NEWS: Document the change.
2165         * lib/mreadlink-with-size.c (mreadlink_with_size): Rename this to...
2166         * lib/areadlink-with-size.c (areadlink_with_size): ...this.
2167         * lib/mreadlink.h: Rename this to...
2168         * lib/areadlink.h: ...this.
2169         * modules/mreadlink-with-size: Rename this to...
2170         * modules/areadlink-with-size: ...this.
2171         * lib/canonicalize.c: Reflect the renaming.
2172         * modules/canonicalize: Likewise.
2173
2174 2007-08-26  Bruno Haible  <bruno@clisp.org>
2175
2176         * gnulib-tool (func_import): When deciding which files to remove,
2177         consider also dangling symbolic links.
2178         Reported by Eric Blake.
2179
2180 2007-08-26  Bruno Haible  <bruno@clisp.org>
2181
2182         * gnulib-tool (func_ln_if_changed): Use "test -h", not "test -L".
2183
2184 2007-08-23  Simon Josefsson  <simon@josefsson.org>
2185
2186         * lib/readline.c: Don't include getline.h, the prototype is now
2187         found in stdio.h.
2188
2189 2007-08-23  Jim Meyering  <jim@meyering.net>
2190
2191         Getdelim touchup.
2192         * lib/getdelim.c (getdelim): Don't bother to save/restore errno
2193         around the funlockfile call, since funlockfile never sets errno.
2194         Don't set errno upon failed realloc.
2195
2196 2007-08-22  Eric Blake  <ebb9@byu.net>
2197
2198         Getline touchups.
2199         * lib/getdelim.c (getdelim): Revert regression that required *n to
2200         be 0 when *lineptr is NULL.  Preserve errno across funlockfile.
2201         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Check for declaration of
2202         getdelim, rather than whether implementation is missing.
2203         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise for getline.
2204         * lib/stdio_.h (getline): Also declare if replacement is
2205         required.
2206         * doc/functions/getdelim.texi: New file.
2207         * doc/functions/getline.texi: Likewise.
2208         * doc/gnulib.texi (Function Substitutes): Add new files.
2209         Reported by Bruno Haible.
2210
2211 2007-08-22  Ludovic Courtès  <ludo@gnu.org>
2212
2213         * users.txt: Add Guile.
2214
2215 2007-08-22  Eric Blake  <ebb9@byu.net>
2216
2217         * tests/test-getdelim.c (main): Use remove, not unlink.
2218         * tests/test-getline.c (main): Likewise.
2219
2220         Move getline and getdelim into stdio.h, per POSIX 200x.
2221         * modules/getline (Files): Remove getline.h.
2222         (Depends-on): Add stdio.
2223         (configure.ac): Add module indicator.
2224         * modules/getdelim (Files): Remove getdelim.h.
2225         (Depends-on): Add stdio.
2226         (configure.ac): Add module indicator.
2227         * modules/stdio (Makefile.am): Work with new indicators.
2228         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add new defaults.
2229         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Work with stdio needs.
2230         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
2231         * lib/getdelim.h: Delete.
2232         * lib/getline.h: Delete.
2233         * lib/stdio_.h (getdelim, getline): Declare.
2234         * modules/getdelim-tests: New module.
2235         * modules/getline-tests: Likewise.
2236         * tests/test-getdelim.c: New file.
2237         * tests/test-getline.c: Likewise.
2238         * NEWS: Document the change.
2239         * lib/getline.c: Update choice of header.
2240         * lib/csharpcomp.c: Likewise.
2241         * lib/getpass.c: Likewise.
2242         * lib/javacomp.c: Likewise.
2243         * lib/javaversion.c: Likewise.
2244         * lib/yesno.c: Likewise.
2245         * lib/getdelim.c: Likewise.
2246         (getdelim): Set errno on failure, and avoid memory leak.
2247
2248 2007-08-19  Bruno Haible  <bruno@clisp.org>
2249
2250         * modules/closein (Depends-on): Add freadahead.
2251         * lib/closein.c: Include freadahead.h.
2252         (close_stdin): Skip the fseeko and fflush calls if freadahead(stdin)
2253         is zero.
2254
2255 2007-08-19  Bruno Haible  <bruno@clisp.org>
2256
2257         * modules/freadahead-tests: New file.
2258         * tests/test-freadahead.sh: New file.
2259         * tests/test-freadahead.c: New file.
2260
2261         * modules/freadahead: New file.
2262         * lib/freadahead.h: New file.
2263         * lib/freadahead.c: New file.
2264         * MODULES.html.sh (File stream based Input/Output): Add freadahead,
2265         fbufmode, fpurge, freadable, fwritable.
2266
2267 2007-08-19  Eric Blake  <ebb9@byu.net>
2268
2269         Test yesno in combination with closein.
2270         * lib/yesno.c (yesno): Document use of stdin.
2271         * modules/yesno-tests (Files): New module.
2272         * tests/test-yesno.c (main): New file.
2273         * tests/test-yesno.sh: Likewise.
2274
2275 2007-08-19  Bruno Haible  <bruno@clisp.org>
2276
2277         * lib/fbufmode.c (fbufmode): Add tentative support for Solaris/AMD64.
2278         * lib/fseeko.c (rpl_fseeko): Likewise.
2279         * lib/fseterr.c (fseterr): Likewise.
2280
2281 2007-08-19  Bruno Haible  <bruno@clisp.org>
2282
2283         * tests/test-lseek.c (main): Disable a test for BeOS.
2284         * doc/functions/lseek.texi: Document the BeOS bug.
2285
2286 2007-08-19  Bruno Haible  <bruno@clisp.org>
2287             Eric Blake  <ebb9@byu.net>
2288
2289         * lib/lseek.c: Include <sys/stat.h>.
2290         (rpl_lseek): Add workaround code also for Unix platforms.
2291         Needed for BeOS.
2292         * m4/lseek.m4 (gl_FUNC_LSEEK): When cross-compiling, fail on BeOS.
2293         * doc/functions/lseek.texi: Document BeOS definiency.
2294
2295 2007-08-18  Bruno Haible  <bruno@clisp.org>
2296
2297         * modules/fstrcmp-tests: New file.
2298         * tests/test-fstrcmp.c: New file.
2299
2300 2007-08-18  Bruno Haible  <bruno@clisp.org>
2301
2302         * modules/fstrcmp: New file, from GNU gettext with modifications.
2303         * lib/fstrcmp.h: New file, from GNU gettext.
2304         * lib/fstrcmp.c: New file, from GNU gettext.
2305         * MODULES.html.sh (String handling): Add fstrcmp.
2306
2307 2007-08-18  Bruno Haible  <bruno@clisp.org>
2308
2309         * lib/diffseq.h (struct context): Change type of 'heuristic' field to
2310         'bool'.
2311         (diag, compareseq): Remove const from the ctxt argument.
2312         (USE_HEURISTIC): Undefine at the end.
2313
2314 2007-08-18  Jim Meyering  <jim@meyering.net>
2315
2316         New file: lib/idcache.h
2317         * NEWS: Mention the addition.
2318         * modules/idcache (Files): Add lib/idcache.h
2319         * lib/idcache.c: Include "idcache.h".
2320         Don't include <sys/types.h>.
2321         Add a FIXME comment.
2322         Move file-scoped "static" declarations to the top.
2323         * lib/idcache.h: New file.  Include <sys/types.h> here, instead.
2324
2325 2007-08-17  Bruno Haible  <bruno@clisp.org>
2326         and Paul Eggert  <eggert@cs.ucla.edu>
2327
2328         * MODULES.html.sh: Add diffseq.
2329         * modules/diffseq: New file.
2330         * lib/diffseq.h: New file, from GNU gettext with a few minor changes,
2331         extracted from GNU gettext's fstrcmp.c and GNU diff's analyze.c.
2332
2333 2007-08-15  Paul Eggert  <eggert@cs.ucla.edu>
2334
2335         Import changes from coreutils for bootstrap script.
2336
2337         2007-07-21  Paul Eggert  <eggert@cs.ucla.edu>
2338
2339         * build-aux/bootstrap (slurp): Work even in environments where
2340         "ls" defaults to "ls -A".  Put in a FIXME, though, since the
2341         current code does not slurp files whose names start with ".", and
2342         this looks like it might be a troublesome area.
2343
2344         2007-07-11  Jim Meyering  <jim@meyering.net>
2345
2346         If there's a GPL vN copyright comment, require that N == 3.
2347
2348         2007-07-08  Jim Meyering  <jim@meyering.net>
2349
2350         Run the coreutils-specific code only if tests/Makefile.am.in exists.
2351         * build-aux/bootstrap (mam_template): Move definition out of loop.
2352
2353         Create symlinks for gl/{lib,m4}/*, just as for gnulib/{lib,m4}/*.
2354
2355         * build-aux/bootstrap (symlink_to_dir): Rename function from
2356         symlink_to_gnulib.  Add a directory parameter.  Update all
2357         callers.
2358         (cp_mark_as_generated): Also check for -- and link to -- files in
2359         gl/.
2360
2361         2007-07-08  Jim Meyering  <jim@meyering.net>
2362
2363         Adapt to deeper hierarchy in gnulib.
2364         * build-aux/bootstrap (symlink_to_dir): If the destination
2365         directory doesn't exist, create it. This is required at least for
2366         "lib/uniwidth/cjk.h".
2367
2368         2007-05-15  Jim Meyering  <jim@meyering.net>
2369
2370         * build-aux/bootstrap: Now that generated Makefile.am files
2371         are no longer under version control, they must be created at
2372         bootstrap time.
2373
2374 2007-08-14  Ben Pfaff  <blp@gnu.org>
2375
2376         * lib/count-one-bits.h: Add comments.  From Bruno Haible.
2377
2378 2007-08-14  Paul Eggert  <eggert@cs.ucla.edu>
2379
2380         * lib/count-one-bits.h: Don't include <limits.h>; no longer needed
2381         given the changes below.
2382         (COUNT_ONE_BITS): Use 'verify' rather than 'verify_true'.  Work
2383         even on hosts that have padding bits beyond the supported 64.
2384
2385 2007-08-10  Paul Eggert  <eggert@cs.ucla.edu>
2386
2387         * NEWS: In xstrtol, remove STRTOL_FATAL_ERROR and add xstrtol_fatal.
2388         * lib/xstrtol.h: Don't include exitfail.h; that's now internal to
2389         xstrtol.c.  Include getopt.h, since xstrtol_fatal's signature
2390         depends on it.
2391         (xstrtol_error): Remove.
2392         (xstrtol_fatal): New decl, replacing the functionality of xstrtol_error
2393         but with a different signature.
2394         (ATTRIBUTE_NORETURN, __attribute__): New macros.
2395         * lib/xstrtol-error.c: Include exitfail.h.
2396         (xstrtol_fatal): New function, with a different signature from the
2397         old xstrtol_error, so that the caller need not worry about passing
2398         in an exit status, or about storage management of the option argument.
2399         (xstrtol_error): Now a static function.  Redo signature to
2400         implement xstrtol_fatal.  Output the correct number of hyphens in
2401         front of the option so that the caller need not worry about
2402         storage management.
2403         (N_): New macro.
2404         (_): Remove; not used now.
2405         * modules/xstrtol: Depend on getopt.
2406         * tests/test-xstrtol.c (main): Use new xstrtol_error function instead
2407         of old STRTOL_FATAL_ERROR macro.
2408         * tests/test-xstrtol.sh (t-xstrtol.xo): Adjust to match new behavior
2409         of test program.
2410         * tests/test-xstrtoimax.sh (t-xstrtoimax.xo): Likewise.
2411         * tests/test-xstrtoumax.sh (t-xstrtoumax.xo): Likewise.
2412
2413 2007-08-08  Eric Blake  <ebb9@byu.net>
2414
2415         * lib/xstrtol-error.c: Add missing include.
2416
2417         Move xstrtol messages into gnulib domain, when --pobase is used.
2418         * lib/xstrtol.h (_STRTOL_ERROR): Move messages out of macro...
2419         * lib/xstrtol-error.c (xstrtol_error): ...into new file.
2420         * modules/xstrtol (Files): Distribute new file.
2421         * m4/xstrtol.m4 (gl_XSTRTOL): Build new file.
2422         * lib/xstrtol.c (TESTING_XSTRTO): Move tests...
2423         * tests/test-xstrtol.c: ...into new file.
2424         * tests/test-xstrtoul.c: Also test xstrtoul.
2425         * tests/test-xstrtoimax.c: Also test xstrtoimax.
2426         * tests/test-xstrtoumax.c: Also test xstrtoumax.
2427         * tests/test-xstrtol.sh: Drive the tests.
2428         * tests/test-xstrtoimax.sh: Likewise.
2429         * tests/test-xstrtoumax.sh: Likewise.
2430         * modules/xstrtol-tests: New module.
2431         * modules/xstrtoimax-tests: Likewise.
2432         * modules/xstrtoumax-tests: Likewise.
2433
2434 2007-08-08  Jim Meyering  <jim@meyering.net>
2435
2436         New function: mfile_name_concat.
2437         * lib/filenamecat.c (mfile_name_concat): New function, just like
2438         file_name_concat, but return NULL upon failure rather than exiting
2439         with a diagnostic.
2440         * lib/filenamecat.h: Declare it.
2441
2442 2007-08-07  Bruno Haible  <bruno@clisp.org>
2443
2444         * m4/inttypes.m4 (gl_INTTYPES_H): Use GL_TRIGGER_STDC_LIMIT_MACROS
2445         instead of __STDC_LIMIT_MACROS_TRIGGER. This avoids a redefinition
2446         warning from gcc.
2447         Reported by Eric Blake.
2448
2449 2007-08-07  Simon Josefsson  <simon@josefsson.org>
2450
2451         * modules/crypto/arctwo (License): Use the synonymous term "LGPLv2+".
2452         * modules/crypto/arcfour (License): Likewise.
2453         * modules/crypto/des-tests (License): Likewise.
2454         * modules/crypto/gc-arctwo-tests (License): Likewise.
2455         * modules/crypto/gc-des-tests (License): Likewise.
2456         * modules/crypto/gc-hmac-md5-tests (License): Likewise.
2457         * modules/crypto/gc-hmac-sha1-tests (License): Likewise.
2458         * modules/crypto/gc-md2-tests (License): Likewise.
2459         * modules/crypto/gc-md4-tests (License): Likewise.
2460         * modules/crypto/gc-md5-tests (License): Likewise.
2461         * modules/crypto/gc-pbkdf2-sha1-tests (License): Likewise.
2462         * modules/crypto/gc-rijndael-tests (License): Likewise.
2463         * modules/crypto/gc-sha1-tests (License): Likewise.
2464         * modules/crypto/gc-tests (License): Likewise.
2465         * modules/crypto/hmac-md5 (License): Likewise.
2466         * modules/crypto/hmac-sha1 (License): Likewise.
2467         * modules/crypto/md2-tests (License): Likewise.
2468         * modules/crypto/md4-tests (License): Likewise.
2469         * modules/crypto/md5 (License): Likewise.
2470         * modules/crypto/rijndael (License): Likewise.
2471         * modules/crypto/sha1 (License): Likewise.
2472         * modules/memxor (License): Likewise.
2473
2474 2007-08-06  Paul Eggert  <eggert@cs.ucla.edu>
2475         and Bruno Haible  <bruno@clisp.org>
2476
2477         * NEWS: Describe interface changes to human, xstrtol.
2478         * lib/human.h: Include <xstrtol.h>.
2479         (human_options): Return enum strtol_error, not int.  Remove
2480         bool arg; take int * instead.
2481         * lib/human.c: Don't include "gettext.h".
2482         (_): Remove; no longer used.
2483         Don't include <xstrtol.h>, since human.h does it.
2484         (human_options): Adjust to abovementioned interface changes.
2485         Do not report error to stderr; that's now the caller's
2486         responsibility.
2487         * lib/xstrtol.c (main) [defined TESTING_XSTRTO]: Adjust to
2488         interface change.
2489         * lib/xstrtol.h (_STRTOL_ERROR): Take Option, Arg rather than
2490         Str, Argument_type_string.  All uses changed.  Put " argument"
2491         in diagnostics to make them clearer.  Change wording of suffix
2492         message for clarity.
2493         (STRTOL_FATAL_ERROR): Take Option, Arg rather than Str,
2494         Argument_type_string.
2495         (STRTOL_FATAL_WARN): Remove; no longer used.
2496         * modules/human (Depends-on): Remove gettext-h.
2497
2498 2007-08-06  Simon Josefsson  <simon@josefsson.org>
2499
2500         * build-aux/maint.mk, build-aux/GNUmakefile: Relicense to GPLv3+.
2501
2502 2007-07-31  Bruno Haible  <bruno@clisp.org>
2503
2504         * m4/stdint.m4 (gl_STDINT_H): Test whether WCHAR_MIN and WCHAR_MAX
2505         are defined by <stdint.h> (as opposed to <wchar.h>, as on Dragonfly).
2506         Reported by Joerg Sonnenberger <joerg@britannica.bec.de>.
2507
2508 2007-07-31  Bruno Haible  <bruno@clisp.org>
2509
2510         * lib/fflush.c (rpl_fflush): On BSD systems, use the __SNPT flag.
2511         Suggested by Joerg Sonnenberger <joerg@britannica.bec.de>.
2512
2513 2007-07-30  Bruno Haible  <bruno@clisp.org>
2514
2515         * modules/base64 (License): Use the synonymous term "LGPLv2+".
2516         * modules/c-ctype (License): Likewise.
2517         * modules/c-strcase (License): Likewise.
2518         * modules/check-version (License): Likewise.
2519         * modules/iconv (License): Likewise.
2520         * modules/iconv_open (License): Likewise.
2521         * modules/read-file (License): Likewise.
2522         * modules/striconv (License): Likewise.
2523         * modules/strverscmp (License): Likewise.
2524         * modules/vasprintf (License): Likewise.
2525         * modules/crypto/des (License): Likewise.
2526         * modules/crypto/gc (License): Likewise.
2527         * modules/crypto/gc-arcfour (License): Likewise.
2528         * modules/crypto/gc-arctwo (License): Likewise.
2529         * modules/crypto/gc-des (License): Likewise.
2530         * modules/crypto/gc-hmac-md5 (License): Likewise.
2531         * modules/crypto/gc-hmac-sha1 (License): Likewise.
2532         * modules/crypto/gc-md2 (License): Likewise.
2533         * modules/crypto/gc-md4 (License): Likewise.
2534         * modules/crypto/gc-md5 (License): Likewise.
2535         * modules/crypto/gc-pbkdf2-sha1 (License): Likewise.
2536         * modules/crypto/gc-random (License): Likewise.
2537         * modules/crypto/gc-rijndael (License): Likewise.
2538         * modules/crypto/gc-sha1 (License): Likewise.
2539         * modules/crypto/md2 (License): Likewise.
2540         * modules/crypto/md4 (License): Likewise.
2541
2542 2007-07-30  Jim Meyering  <jim@meyering.net>
2543
2544         * lib/fts.c (fts_read): Upon failure to chdir into a subdirectory,
2545         set fts_info to FTS_DNR, not to FTS_ERR, so that the caller knows
2546         it has valid stat data.  This bug would cause du not to count the
2547         sizes of inaccessible directories.
2548         Patch by Bryan Mason <bmason@redhat.com>, via Jose Maria Plans
2549         in <http://bugzilla.redhat.com/250077>.
2550
2551 2007-07-25  Peter O'Gorman  <peter@pogma.com>
2552             Bruno Haible  <bruno@clisp.org>
2553
2554         * m4/include_next.m4 (gl_INCLUDE_NEXT): Test whether #include_next
2555         really works. Needed because AIX 4.3 "xlc -E" doesn't understand
2556         #include_next, gives a diagnostic about it, but reports no error in
2557         the exit code.
2558         Reported by Gary V. Vaughan <gary@thewrittenword.com>.
2559
2560 2007-07-24  Ben Pfaff  <blp@gnu.org>
2561
2562         Improve name: "count-one-bits" is better than "popcount".
2563         * MODULES.html.sh: Update name.
2564         * lib/popcount.h: Renamed lib/count-one-bits.h.
2565         (popcount): Renamed count_one_bits.
2566         (popcountl): Renamed count_one_bits_l.
2567         (popcountll): Renamed count_one_bits_ll.
2568         * m4/popcount.m4: Renamed m4/count-one-bits.m4.
2569         * modules/popcount: Renamed module/count-one-bits.
2570         * modules/popcount-tests: Renamed module/count-one-bits-tests.
2571         * tests/test-popcount.c: Renamed tests/test-count-one-bits.c.
2572
2573 2007-07-23  Ben Pfaff  <blp@gnu.org>
2574
2575         * lib/popcount.h (popcount32): Reduce size of constants, to allow
2576         better code generation, and add U to large constants to avoid
2577         warnings, in non-GCC case.
2578         Suggested by Bruno Haible.
2579
2580 2007-07-23  Ben Pfaff  <blp@gnu.org>
2581
2582         * lib/popcount.h: Use verify_true instead of if...abort.
2583         * modules/popcount: Depend on verify module.
2584         Suggested by Jim Meyering.
2585
2586 2007-07-23  Bruno Haible  <bruno@clisp.org>
2587
2588         * gnulib-tool (func_import): Create a .cvsignore file also when the
2589         directory is not yet in CVS but the toplevel directory is. When
2590         creating a .cvsignore file, add ".deps" and ".dirstamp" to it.
2591         Reported by Karl Berry.
2592
2593 2007-07-22  Ben Pfaff  <blp@gnu.org>
2594
2595         * lib/popcount.h: Use faster, branchless algorithm for non-GCC
2596         case.
2597         Suggested by Eric Blake.
2598
2599 2007-07-22  Ben Pfaff  <blp@gnu.org>
2600
2601         New module: popcount.
2602         * MODULES.html.sh: Add popcount.
2603         * modules/popcount: New file.
2604         * modules/popcount-tests: New file.
2605         * tests/test-popcount.c: New file.
2606         * lib/popcount.h: New file.
2607         * m4/popcount.m4: New file.
2608
2609 2007-07-22  Paul Eggert  <eggert@cs.ucla.edu>
2610
2611         * build-aux/announce-gen: Update to GPLv3.
2612
2613         * build-aux/config.guess: Update from config.
2614
2615 2007-07-21  Bruno Haible  <bruno@clisp.org>
2616
2617         * lib/error.c (_) [ENABLE_NLS]: Define to gettext.
2618         * lib/verror.c (_) [ENABLE_NLS]: Likewise.
2619
2620 2007-07-20  Jim Meyering  <jim@meyering.net>
2621
2622         * check-module: Diagnose a self-dependency.
2623
2624 2007-07-19  Bruno Haible  <bruno@clisp.org>
2625
2626         * gnulib-tool (func_import): Don't abort if pobase or po_domain is
2627         empty.
2628         Reported by Eric Blake.
2629
2630 2007-07-18  Bruno Haible  <bruno@clisp.org>
2631
2632         * gnulib-tool: New options --po-base, --po-domain.
2633         (func_usage): Document them.
2634         (pobase, po_domain): New variables.
2635         (func_emit_lib_Makefile_am): Augment AM_CPPFLAGS, defining
2636         DEFAULT_TEXT_DOMAIN.
2637         (func_emit_po_Makevars, func_emit_po_POTFILES_in): New functions.
2638         (func_import): Consider pobase and po_domain. Create a po/ directory.
2639         (func_create_testdir): Set pobase and po_domain to empty.
2640         * build-aux/po/Makefile.in.in: New file, from GNU gettext 0.16.1.
2641         * build-aux/po/remove-potcdate.sin: New file, from GNU gettext 0.16.1.
2642
2643 2007-07-18  Bruno Haible  <bruno@clisp.org>
2644
2645         * gnulib-tool (func_get_automake_snippet): Synthesize also an
2646         EXTRA_DIST augmentation for files in build-aux/.
2647
2648 2007-07-16  Bruno Haible  <bruno@clisp.org>
2649
2650         * modules/lseek (License): Use the synonymous term "LGPLv2+".
2651         * modules/getdelim (License): Likewise.
2652
2653 2007-07-16  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
2654
2655         * modules/arpa_inet (License): Use the synonymous term LGPLv2+.
2656         * modules/d-type (License): Likewise.
2657         * modules/extensions (License): Likewise.
2658         * modules/fnmatch (License): Likewise.
2659         * modules/fseeko (License): Likewise.
2660         * modules/getaddrinfo (License): Likewise.
2661         * modules/getline (License): Likewise.
2662         * modules/getlogin_r (License): Likewise.
2663         * modules/getpass (License): Likewise.
2664         * modules/gettimeofday (License): Likewise.
2665         * modules/glob (License): Likewise.
2666         * modules/inet_ntop (License): Likewise.
2667         * modules/malloc (License): Likewise.
2668         * modules/malloca (License): Likewise.
2669         * modules/memmem (License): Likewise.
2670         * modules/mempcpy (License): Likewise.
2671         * modules/memset (License): Likewise.
2672         * modules/minmax (License): Likewise.
2673         * modules/mktime (License): Likewise.
2674         * modules/netinet_in (License): Likewise.
2675         * modules/pathmax (License): Likewise.
2676         * modules/poll (License): Likewise.
2677         * modules/regex (License): Likewise.
2678         * modules/snprintf (License): Likewise.
2679         * modules/stdbool (License): Likewise.
2680         * modules/stdint (License): Likewise.
2681         * modules/stdio (License): Likewise.
2682         * modules/strcase (License): Likewise.
2683         * modules/strcasestr (License): Likewise.
2684         * modules/strdup (License): Likewise.
2685         * modules/string (License): Likewise.
2686         * modules/strndup (License): Likewise.
2687         * modules/strnlen (License): Likewise.
2688         * modules/strpbrk (License): Likewise.
2689         * modules/strptime (License): Likewise.
2690         * modules/strsep (License): Likewise.
2691         * modules/sys_select (License): Likewise.
2692         * modules/sys_socket (License): Likewise.
2693         * modules/sys_stat (License): Likewise.
2694         * modules/sys_time (License): Likewise.
2695         * modules/time (License): Likewise.
2696         * modules/time_r (License): Likewise.
2697         * modules/timegm (License): Likewise.
2698         * modules/unistd (License): Likewise.
2699         * modules/vsnprintf (License): Likewise.
2700         * modules/wctype (License): Likewise.
2701
2702 2007-07-16  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
2703
2704         * modules/argz (License): LGPLv2+.
2705
2706 2007-07-15  Karl Berry  <karl@gnu.org>
2707
2708         * doc/gnulib.texi: revise node structure per new fdl.texi.
2709
2710 2007-07-14  Bruno Haible  <bruno@clisp.org>
2711
2712         * lib/uniname/gen-uninames.lisp (main): Emit a "do not edit" line to
2713         the output file.
2714         * lib/uniname/uninames.h: Regenerated.
2715
2716 2007-07-14  Karl Berry  <karl@gnu.org>
2717
2718         * doc/*gpl*.texi, doc/fdl.texi: new versions, consistently
2719         omitting sectioning and index commands.
2720
2721 2007-07-13  Bruno Haible  <bruno@clisp.org>
2722
2723         New gnulib-tool option --more-symlinks.
2724         * gnulib-tool (func_usage): Document --more-symlinks.
2725         (do_copyrights): New variable.
2726         Recognize option --more-symlinks.
2727         (func_import): Don't add a copyright notice transform to
2728         sed_transform_lib_file if do_copyrights is empty.
2729
2730 2007-07-13  Bruno Haible  <bruno@clisp.org>
2731
2732         * lib/vasnprintf.c (decimal_point_char): Define also if
2733         (NEED_PRINTF_LONG_DOUBLE || NEED_PRINTF_INFINITE_DOUBLE)
2734         && !NEED_PRINTF_DIRECTIVE_A.
2735         Reported by Clemens Koller <clemens.koller@anagramm.de> via
2736         Gary V. Vaughan <gary@gnu.org>.
2737
2738 2007-07-13  Paul Eggert  <eggert@cs.ucla.edu>
2739
2740         * lib/inttypes_.h: Undo previous change, since it was fixed
2741         in a different way in the 2007-07-02 fix to m4/inttypes.m4.
2742
2743 2007-07-13  Bruno Haible  <bruno@clisp.org>
2744
2745         * lib/stdint_.h: Fix typo: _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H was
2746         misspelled as _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H.
2747
2748 2007-07-13  Jim Meyering  <jim@meyering.net>
2749
2750         df: Don't fail for Tru64's "file-on-file mount".
2751         * m4/fsusage.m4 (gl_FSUSAGE): Reject Tru64's buggy statvfs,
2752         so we fall through and use statfs instead.  Details here:
2753         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/10878>
2754         Reported by Albert Chin.
2755
2756 2007-07-13  Bruno Haible  <bruno@clisp.org>
2757
2758         * modules/alloca-opt (License): Use the synonymous term "LGPLv2+".
2759         * modules/configmake (License): Likewise.
2760         * modules/gettext (License): Likewise.
2761         * modules/gettext-h (License): Likewise.
2762         * modules/include_next (License): Likewise.
2763         * modules/link-warning (License): Likewise.
2764         * modules/localcharset (License): Likewise.
2765         * modules/localename (License): Likewise.
2766         * modules/lock (License): Likewise.
2767         * modules/relocatable-lib-lgpl (License): Likewise.
2768         * modules/size_max (License): Likewise.
2769         * modules/vasnprintf (License): Likewise.
2770         * modules/wchar (License): Likewise.
2771         * modules/xsize (License): Likewise.
2772
2773 2007-07-13  Bruno Haible  <bruno@clisp.org>
2774
2775         * gnulib-tool (func_import): Treat LGPLv2 as synonymous to LGPL.
2776         (func_create_testdir): Handle copying terms "GPLv2+" and "LGPLv2+".
2777
2778 2007-07-12  Bruno Haible  <bruno@clisp.org>
2779
2780         * doc/gnulib-intro.texi (Copyright): Clarify the license abbreviations
2781         in the modules files.
2782
2783 2007-07-11  Karl Berry  <karl@gnu.org>
2784
2785         * MODULES.html.sh (func_module): use
2786          sed -e '\|^'"${includefile}"'$|d'
2787          instead of /.../d, to avoid errors on $includefile's containing /.
2788
2789 2007-07-10  Sergey Poznyakoff  <gray@gnu.org.ua>
2790
2791         * gnulib-tool (func_import): Avoid duplication of --avoid
2792         statements
2793         (func_dest_tmpfilename,func_create_testdir): Translate `-' in file
2794         names to `_' in variable names.
2795
2796 2007-07-10  Eric Blake  <ebb9@byu.net>
2797
2798         * lib/version-etc.c (version_etc_va): Default to GPLv3+.
2799         * NEWS: Document this change.
2800
2801 2007-07-08  Bruno Haible  <bruno@clisp.org>
2802
2803         Update to Unicode 5.0.
2804         * lib/uniwidth/width.c (nonspacing_table_data): Add U+00AD,
2805         U+0350..U+035F, U+05A2, U+05BA, U+05C5, U+05C7, U+0600..U+0603,
2806         U+0610..U+0615, U+0656..U+065E, U+07EB..U+07F3, U+0A01, U+0AE2..U+0AE3,
2807         U+0CBC. Remove U+0CBF, U+0CC6. Add U+0CE2..U+0CE3, U+135F,
2808         U+17B4..U+17B5, U+17DD. Remove U+180E. Add U+1920..U+1922,
2809         U+1927..U+192B, U+1932, U+1939..U+193B, U+1A17..U+1A18, U+1B00..U+1B03,
2810         U+1B34, U+1B36..U+1B3A, U+1B3C, U+1B42, U+1B6B..U+1B73, U+1DC0..U+1DCA,
2811         U+1DFE..U+1DFF, U+20EB..U+20EF, U+A802, U+A806, U+A80B, U+A825..U+A826,
2812         U+10A01..U+10A03, U+10A05..U+10A06, U+10A0C..U+10A0F, U+10A38..U+10A3A,
2813         U+10A3F, U+1D242..U+1D244.
2814         (nonspacing_table_ind): Update.
2815         (uc_width): Assign width 0 to U+E0100..U+E01EF. Assign width 1 to
2816         U+4DC0..U+4DFF. Assign width 2 to U+2329..U+232A, U+FE10..U+FE1F.
2817
2818 2007-07-08  Bruno Haible  <bruno@clisp.org>
2819
2820         Update to Unicode 5.0.
2821         * lib/uniname/gen-uninames.lisp (main): Add the range 0x12xxx to the
2822         code transform. Extend the name index field of unicode_name_to_code and
2823         unicode_code_to_name from 16 to 24 bits.
2824         * lib/uniname/uniname.c (unicode_character_name,
2825         unicode_name_character): Add the range 0x12xxx to the code transform.
2826         * lib/uniname/uninames.h: Regenerated.
2827         * tests/uniname/UnicodeDataNames.txt: Update to Unicode 5.0.
2828
2829 2007-07-07  Bruno Haible  <bruno@clisp.org>
2830
2831         * modules/wcwidth-tests: New file.
2832         * tests/test-wcwidth.c: New file.
2833
2834         Work around MacOS X wcwidth() bug.
2835         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Test against MacOS X 10.3 bug.
2836         * lib/wcwidth.c: Include localcharset.h, streq.h, uniwidth.h.
2837         (rpl_wcwidth): Special-case the UTF-8 locales. Fall back to the
2838         original wcwidth in non-UTF-8 locales.
2839         * modules/wcwidth (Depends-on): Add localcharset, streq,
2840         uniwidth/width.
2841         * doc/functions/wcwidth.texi: Update.
2842
2843 2007-07-07  Bruno Haible  <bruno@clisp.org>
2844
2845         * lib/wchar_.h: Include the GL_LINK_WARNING macro.
2846         (wcwidth): New declaration.
2847         * m4/wchar.m4 (gl_WCHAR_MODULE_INDICATOR, gl_WCHAR_H_DEFAULTS): New
2848         macros.
2849         (gl_WCHAR_H): Require gl_WCHAR_H_DEFAULTS. Don't set WCHAR_H to empty
2850         here. Prepare for creating <wchar.h> unconditionally.
2851         * modules/wchar (Depends-on): Add link-warning.
2852         (Makefile.am): Substitute also GNULIB_WCWIDTH, HAVE_DECL_WCWIDTH,
2853         REPLACE_WCWIDTH, and GL_LINK_WARNING.
2854         * lib/wcwidth.h: Remove file.
2855         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Require gl_WCHAR_H_DEFAULTS. Set
2856         HAVE_DECL_WCWIDTH, REPLACE_WCWIDTH, WCHAR_H.
2857         * modules/wcwidth (Files): Remove lib/wcwidth.h.
2858         (configure.ac): Invoke gl_WCHAR_MODULE_INDICATOR.
2859         (Include): Replace wcwidth.h with <wchar.h>.
2860         * lib/wcwidth.c: Include <wchar.h> instead of wcwidth.h.
2861         * lib/mbchar.h: Don't include wcwidth.h.
2862         * lib/mbswidth.c: Likewise.
2863         * NEWS: Mention the change.
2864
2865 2007-07-07  Bruno Haible  <bruno@clisp.org>
2866
2867         * lib/wcwidth.c: New file, extracted from lib/wcwidth.h.
2868         * lib/wcwidth.h: Don't include wctype.h. Replace inline function
2869         definition with an external declaration.
2870         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Use wcwidth.c when wcwidth is not
2871         defined as a function. Remove AC_C_INLINE requirement.
2872         * modules/wcwidth (Files): Add lib/wcwidth.c.
2873         (Makefile.am): Remove redundant statement.
2874
2875 2007-07-07  Bruno Haible  <bruno@clisp.org>
2876
2877         * MODULES.html.sh (Unicode string functions): Add the new modules.
2878
2879         * tests/uniwidth/test-u32-strwidth.c: New file.
2880         * modules/uniwidth/u32-strwidth-tests: New file.
2881
2882         * lib/uniwidth/u32-strwidth.c: New file.
2883         * modules/uniwidth/u32-strwidth: New file.
2884
2885         * tests/uniwidth/test-u16-strwidth.c: New file.
2886         * modules/uniwidth/u16-strwidth-tests: New file.
2887
2888         * lib/uniwidth/u16-strwidth.c: New file.
2889         * modules/uniwidth/u16-strwidth: New file.
2890
2891         * tests/uniwidth/test-u8-strwidth.c: New file.
2892         * modules/uniwidth/u8-strwidth-tests: New file.
2893
2894         * lib/uniwidth/u8-strwidth.c: New file.
2895         * modules/uniwidth/u8-strwidth: New file.
2896
2897         * tests/uniwidth/test-u32-width.c: New file.
2898         * modules/uniwidth/u32-width-tests: New file.
2899
2900         * lib/uniwidth/u32-width.c: New file.
2901         * modules/uniwidth/u32-width: New file.
2902
2903         * tests/uniwidth/test-u16-width.c: New file.
2904         * modules/uniwidth/u16-width-tests: New file.
2905
2906         * lib/uniwidth/u16-width.c: New file.
2907         * modules/uniwidth/u16-width: New file.
2908
2909         * tests/uniwidth/test-u8-width.c: New file.
2910         * modules/uniwidth/u8-width-tests: New file.
2911
2912         * lib/uniwidth/u8-width.c: New file.
2913         * modules/uniwidth/u8-width: New file.
2914
2915         * tests/uniwidth/test-uc_width.c: New file.
2916         * modules/uniwidth/width-tests: New file.
2917
2918         * lib/uniwidth/width.c: New file, from GNU libiconv.
2919         * lib/uniwidth/cjk.h: New file, from GNU libiconv.
2920         * modules/uniwidth/width: New file.
2921
2922         * lib/uniwidth.h: New file, from GNU libiconv.
2923         * modules/uniwidth/base: New file.
2924
2925 2007-07-07  Bruno Haible  <bruno@clisp.org>
2926
2927         * lib/uniname.h: New file, from GNU gettext.
2928         * lib/uniname/gen-uninames.lisp: New file, from GNU gettext.
2929         * lib/uniname/uninames.h: New file, from GNU gettext.
2930         * lib/uniname/uniname.c: New file, from GNU gettext.
2931         * tests/uniname/test-uninames.sh: New file.
2932         * tests/uniname/test-uninames.c: New file, from GNU gettext.
2933         * tests/uniname/UnicodeDataNames.txt: New file, from GNU gettext.
2934         * modules/uniname/base: New file.
2935         * modules/uniname/uniname: New file.
2936         * modules/uniname/uniname-tests: New file.
2937         * MODULES.html.sh (Unicode string functions): Add the new modules.
2938
2939 2007-07-06  Bruno Haible  <bruno@clisp.org>
2940
2941         * doc/Makefile (TEXI2HTML): Specify a --reference-limit.
2942
2943 2007-07-06  Bruno Haible  <bruno@clisp.org>
2944
2945         * lib/sys_time_.h: Use a recursion-safe inclusion guard rather than
2946         a split double-inclusion guard. Needed for cygwin, where <sys/time.h>
2947         includes <cygwin/sys_time.h> which includes <sys/select.h> which
2948         include <sys/time.h>.
2949         Reported by Eric Blake.
2950
2951 2007-07-06  Eric Blake  <ebb9@byu.net>
2952
2953         Fix testing canonicalize on cygwin.
2954         * modules/canonicalize-lgpl-tests (test_canonicalize_lgpl_LDADD):
2955         Revert patch from 2007-06-19.
2956         * tests/test-canonicalize-lgpl.c (main): Instead, skip test when
2957         canonicalize module is also in use.
2958         * tests/test-canonicalize.c: New file.
2959         * tests/test-canonicalize.sh: Likewise.
2960         * modules/canonicalize-tests: Likewise.
2961
2962 2007-07-06  Jim Meyering  <jim@meyering.net>
2963
2964         * lib/getugroups.c (getugroups): Detect getgrent failure.
2965         Adjust comment to reflect reality: this function may return -1.
2966
2967 2007-07-05  Sergey Poznyakoff  <gray@gnu.org.ua>
2968
2969         * build-aux/bootstrap (TP_URL,get_translations): Update to use
2970         the new TP address.
2971         (usage): Fix typo
2972         (gnulib_mk): New variable.
2973
2974 2007-07-05  Jim Meyering  <jim@meyering.net>
2975
2976         Don't let endgrent clobber errno, no matter how improbable.
2977         * lib/getugroups.c (getugroups): Save and restore errno around
2978         endgrent call.
2979
2980         Close the group DB even when failing with 2^31 or more members.
2981         * lib/getugroups.c (getugroups): Don't return without calling endgrent.
2982
2983 2007-07-04  Jim Meyering  <jim@meyering.net>
2984
2985         * lib/getugroups.h: New file.
2986         * lib/getugroups.c: Include "getugroups.h".
2987         Remove uses of "register" keyword.
2988         Move local variable, "cp", down into scope where used.
2989         Give "username" parameter the "const" attribute.
2990         * modules/getugroups (Files): Add lib/getugroups.h
2991
2992 2007-07-04  Karl Berry  <karl@gnu.org>
2993
2994         * MODULES.html.sh (func_all_modules): Complete rename of
2995         gpl/lgpl to gpl-2.0 and lgpl-2.1, and add gpl-3.0.
2996
2997 2007-07-02  Bruno Haible  <bruno@clisp.org>
2998
2999         * m4/inttypes.m4 (gl_INTTYPES_H): Define __STDC_LIMIT_MACROS in C++
3000         mode, when inttypes.h comes from gnulib.
3001         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
3002
3003 2007-07-02  Simon Josefsson  <simon@josefsson.org>
3004
3005         * NEWS: Mention lgpl module name change.
3006
3007         * modules/lgpl-2.1: Renamed from lgpl.
3008
3009         * NEWS: Mention gpl module name change.
3010
3011         * modules/gpl-3.0: New file, based on gpl-2.0.
3012
3013         * modules/gpl-2.0: Renamed from gpl.
3014
3015         * modules/gpl: Fix filename, doc/gpl.texi is now found at
3016         doc/gpl-2.0.texi.
3017
3018 2007-07-02  Paul Eggert  <eggert@cs.ucla.edu>
3019
3020         * lib/inttypes_.h [defined __cplusplus&&!defined __STDC_LIMIT_MACROS]:
3021         #define __STDC_LIMIT_MACROS temporarily while including
3022         <stdint.h>, so that __STDC_LIMIT_MACROS is defined.
3023         Problem reported by Joel E. Denny in
3024         <http://lists.gnu.org/archive/html/bug-gnulib/2007-07/msg00008.html>.
3025
3026 2007-07-01  Bruno Haible  <bruno@clisp.org>
3027
3028         * lib/unistdio.h: New file.
3029         * lib/unistdio/u-asnprintf.h: New file.
3030         * lib/unistdio/u-asprintf.h: New file.
3031         * lib/unistdio/u-printf-args.c: New file.
3032         * lib/unistdio/u-printf-args.h: New file.
3033         * lib/unistdio/u-printf-parse.h: New file.
3034         * lib/unistdio/u-snprintf.h: New file.
3035         * lib/unistdio/u-sprintf.h: New file.
3036         * lib/unistdio/u-vasprintf.h: New file.
3037         * lib/unistdio/u-vsnprintf.h: New file.
3038         * lib/unistdio/u-vsprintf.h: New file.
3039         * lib/unistdio/ulc-asnprintf.c: New file.
3040         * lib/unistdio/ulc-asprintf.c: New file.
3041         * lib/unistdio/ulc-fprintf.c: New file, based on lib/fprintf.c.
3042         * lib/unistdio/ulc-printf-parse.c: New file.
3043         * lib/unistdio/ulc-snprintf.c: New file.
3044         * lib/unistdio/ulc-sprintf.c: New file.
3045         * lib/unistdio/ulc-vasnprintf.c: New file.
3046         * lib/unistdio/ulc-vasprintf.c: New file.
3047         * lib/unistdio/ulc-vfprintf.c: New file, based on lib/vfprintf.c.
3048         * lib/unistdio/ulc-vsnprintf.c: New file.
3049         * lib/unistdio/ulc-vsprintf.c: New file.
3050         * lib/unistdio/u8-asnprintf.c: New file.
3051         * lib/unistdio/u8-asprintf.c: New file.
3052         * lib/unistdio/u8-printf-parse.c: New file.
3053         * lib/unistdio/u8-snprintf.c: New file.
3054         * lib/unistdio/u8-sprintf.c: New file.
3055         * lib/unistdio/u8-vasnprintf.c: New file.
3056         * lib/unistdio/u8-vasprintf.c: New file.
3057         * lib/unistdio/u8-vsnprintf.c: New file.
3058         * lib/unistdio/u8-vsprintf.c: New file.
3059         * lib/unistdio/u8-u8-asnprintf.c: New file.
3060         * lib/unistdio/u8-u8-asprintf.c: New file.
3061         * lib/unistdio/u8-u8-snprintf.c: New file.
3062         * lib/unistdio/u8-u8-sprintf.c: New file.
3063         * lib/unistdio/u8-u8-vasnprintf.c: New file.
3064         * lib/unistdio/u8-u8-vasprintf.c: New file.
3065         * lib/unistdio/u8-u8-vsnprintf.c: New file.
3066         * lib/unistdio/u8-u8-vsprintf.c: New file.
3067         * lib/unistdio/u16-asnprintf.c: New file.
3068         * lib/unistdio/u16-asprintf.c: New file.
3069         * lib/unistdio/u16-printf-parse.c: New file.
3070         * lib/unistdio/u16-snprintf.c: New file.
3071         * lib/unistdio/u16-sprintf.c: New file.
3072         * lib/unistdio/u16-vasnprintf.c: New file.
3073         * lib/unistdio/u16-vasprintf.c: New file.
3074         * lib/unistdio/u16-vsnprintf.c: New file.
3075         * lib/unistdio/u16-vsprintf.c: New file.
3076         * lib/unistdio/u16-u16-asnprintf.c: New file.
3077         * lib/unistdio/u16-u16-asprintf.c: New file.
3078         * lib/unistdio/u16-u16-snprintf.c: New file.
3079         * lib/unistdio/u16-u16-sprintf.c: New file.
3080         * lib/unistdio/u16-u16-vasnprintf.c: New file.
3081         * lib/unistdio/u16-u16-vasprintf.c: New file.
3082         * lib/unistdio/u16-u16-vsnprintf.c: New file.
3083         * lib/unistdio/u16-u16-vsprintf.c: New file.
3084         * lib/unistdio/u32-asnprintf.c: New file.
3085         * lib/unistdio/u32-asprintf.c: New file.
3086         * lib/unistdio/u32-printf-parse.c: New file.
3087         * lib/unistdio/u32-snprintf.c: New file.
3088         * lib/unistdio/u32-sprintf.c: New file.
3089         * lib/unistdio/u32-vasnprintf.c: New file.
3090         * lib/unistdio/u32-vasprintf.c: New file.
3091         * lib/unistdio/u32-vsnprintf.c: New file.
3092         * lib/unistdio/u32-vsprintf.c: New file.
3093         * lib/unistdio/u32-u32-asnprintf.c: New file.
3094         * lib/unistdio/u32-u32-asprintf.c: New file.
3095         * lib/unistdio/u32-u32-snprintf.c: New file.
3096         * lib/unistdio/u32-u32-sprintf.c: New file.
3097         * lib/unistdio/u32-u32-vasnprintf.c: New file.
3098         * lib/unistdio/u32-u32-vasprintf.c: New file.
3099         * lib/unistdio/u32-u32-vsnprintf.c: New file.
3100         * lib/unistdio/u32-u32-vsprintf.c: New file.
3101         * tests/unistdio/test-ulc-asnprintf1.c: New file.
3102         * tests/unistdio/test-ulc-asnprintf1.h: New file.
3103         * tests/unistdio/test-ulc-printf1.h: New file.
3104         * tests/unistdio/test-ulc-vasnprintf1.c: New file.
3105         * tests/unistdio/test-ulc-vasnprintf2.c: New file.
3106         * tests/unistdio/test-ulc-vasnprintf2.sh: New file.
3107         * tests/unistdio/test-ulc-vasnprintf3.c: New file.
3108         * tests/unistdio/test-ulc-vasnprintf3.sh: New file.
3109         * tests/unistdio/test-ulc-vasprintf1.c: New file.
3110         * tests/unistdio/test-ulc-vsnprintf1.c: New file.
3111         * tests/unistdio/test-ulc-vsprintf1.c: New file.
3112         * tests/unistdio/test-u8-asnprintf1.c: New file.
3113         * tests/unistdio/test-u8-asnprintf1.h: New file.
3114         * tests/unistdio/test-u8-printf1.h: New file.
3115         * tests/unistdio/test-u8-vasnprintf1.c: New file.
3116         * tests/unistdio/test-u8-vasnprintf2.c: New file.
3117         * tests/unistdio/test-u8-vasnprintf2.sh: New file.
3118         * tests/unistdio/test-u8-vasnprintf3.c: New file.
3119         * tests/unistdio/test-u8-vasnprintf3.sh: New file.
3120         * tests/unistdio/test-u8-vasprintf1.c: New file.
3121         * tests/unistdio/test-u8-vsnprintf1.c: New file.
3122         * tests/unistdio/test-u8-vsprintf1.c: New file.
3123         * tests/unistdio/test-u16-asnprintf1.c: New file.
3124         * tests/unistdio/test-u16-asnprintf1.h: New file.
3125         * tests/unistdio/test-u16-printf1.h: New file.
3126         * tests/unistdio/test-u16-vasnprintf1.c: New file.
3127         * tests/unistdio/test-u16-vasnprintf2.c: New file.
3128         * tests/unistdio/test-u16-vasnprintf2.sh: New file.
3129         * tests/unistdio/test-u16-vasnprintf3.c: New file.
3130         * tests/unistdio/test-u16-vasnprintf3.sh: New file.
3131         * tests/unistdio/test-u16-vasprintf1.c: New file.
3132         * tests/unistdio/test-u16-vsnprintf1.c: New file.
3133         * tests/unistdio/test-u16-vsprintf1.c: New file.
3134         * tests/unistdio/test-u32-asnprintf1.c: New file.
3135         * tests/unistdio/test-u32-asnprintf1.h: New file.
3136         * tests/unistdio/test-u32-printf1.h: New file.
3137         * tests/unistdio/test-u32-vasnprintf1.c: New file.
3138         * tests/unistdio/test-u32-vasnprintf2.c: New file.
3139         * tests/unistdio/test-u32-vasnprintf2.sh: New file.
3140         * tests/unistdio/test-u32-vasnprintf3.c: New file.
3141         * tests/unistdio/test-u32-vasnprintf3.sh: New file.
3142         * tests/unistdio/test-u32-vasprintf1.c: New file.
3143         * tests/unistdio/test-u32-vsnprintf1.c: New file.
3144         * tests/unistdio/test-u32-vsprintf1.c: New file.
3145         * modules/unistdio/base: New file.
3146         * modules/unistdio/u-printf-args: New file.
3147         * modules/unistdio/ulc-asnprintf: New file.
3148         * modules/unistdio/ulc-asprintf: New file.
3149         * modules/unistdio/ulc-fprintf: New file.
3150         * modules/unistdio/ulc-printf-parse: New file.
3151         * modules/unistdio/ulc-snprintf: New file.
3152         * modules/unistdio/ulc-sprintf: New file.
3153         * modules/unistdio/ulc-vasnprintf: New file.
3154         * modules/unistdio/ulc-vasprintf: New file.
3155         * modules/unistdio/ulc-vfprintf: New file.
3156         * modules/unistdio/ulc-vsnprintf: New file.
3157         * modules/unistdio/ulc-vsprintf: New file.
3158         * modules/unistdio/u8-asnprintf: New file.
3159         * modules/unistdio/u8-asprintf: New file.
3160         * modules/unistdio/u8-printf-parse: New file.
3161         * modules/unistdio/u8-snprintf: New file.
3162         * modules/unistdio/u8-sprintf: New file.
3163         * modules/unistdio/u8-vasnprintf: New file.
3164         * modules/unistdio/u8-vasprintf: New file.
3165         * modules/unistdio/u8-vsnprintf: New file.
3166         * modules/unistdio/u8-vsprintf: New file.
3167         * modules/unistdio/u8-u8-asnprintf: New file.
3168         * modules/unistdio/u8-u8-asprintf: New file.
3169         * modules/unistdio/u8-u8-snprintf: New file.
3170         * modules/unistdio/u8-u8-sprintf: New file.
3171         * modules/unistdio/u8-u8-vasnprintf: New file.
3172         * modules/unistdio/u8-u8-vasprintf: New file.
3173         * modules/unistdio/u8-u8-vsnprintf: New file.
3174         * modules/unistdio/u8-u8-vsprintf: New file.
3175         * modules/unistdio/u16-asnprintf: New file.
3176         * modules/unistdio/u16-asprintf: New file.
3177         * modules/unistdio/u16-printf-parse: New file.
3178         * modules/unistdio/u16-snprintf: New file.
3179         * modules/unistdio/u16-sprintf: New file.
3180         * modules/unistdio/u16-vasnprintf: New file.
3181         * modules/unistdio/u16-vasprintf: New file.
3182         * modules/unistdio/u16-vsnprintf: New file.
3183         * modules/unistdio/u16-vsprintf: New file.
3184         * modules/unistdio/u16-u16-asnprintf: New file.
3185         * modules/unistdio/u16-u16-asprintf: New file.
3186         * modules/unistdio/u16-u16-snprintf: New file.
3187         * modules/unistdio/u16-u16-sprintf: New file.
3188         * modules/unistdio/u16-u16-vasnprintf: New file.
3189         * modules/unistdio/u16-u16-vasprintf: New file.
3190         * modules/unistdio/u16-u16-vsnprintf: New file.
3191         * modules/unistdio/u16-u16-vsprintf: New file.
3192         * modules/unistdio/u32-asnprintf: New file.
3193         * modules/unistdio/u32-asprintf: New file.
3194         * modules/unistdio/u32-printf-parse: New file.
3195         * modules/unistdio/u32-snprintf: New file.
3196         * modules/unistdio/u32-sprintf: New file.
3197         * modules/unistdio/u32-vasnprintf: New file.
3198         * modules/unistdio/u32-vasprintf: New file.
3199         * modules/unistdio/u32-vsnprintf: New file.
3200         * modules/unistdio/u32-vsprintf: New file.
3201         * modules/unistdio/u32-u32-asnprintf: New file.
3202         * modules/unistdio/u32-u32-asprintf: New file.
3203         * modules/unistdio/u32-u32-snprintf: New file.
3204         * modules/unistdio/u32-u32-sprintf: New file.
3205         * modules/unistdio/u32-u32-vasnprintf: New file.
3206         * modules/unistdio/u32-u32-vasprintf: New file.
3207         * modules/unistdio/u32-u32-vsnprintf: New file.
3208         * modules/unistdio/u32-u32-vsprintf: New file.
3209         * modules/unistdio/ulc-asnprintf-tests: New file.
3210         * modules/unistdio/ulc-vasnprintf-tests: New file.
3211         * modules/unistdio/ulc-vasprintf-tests: New file.
3212         * modules/unistdio/ulc-vsnprintf-tests: New file.
3213         * modules/unistdio/ulc-vsprintf-tests: New file.
3214         * modules/unistdio/u8-asnprintf-tests: New file.
3215         * modules/unistdio/u8-vasnprintf-tests: New file.
3216         * modules/unistdio/u8-vasprintf-tests: New file.
3217         * modules/unistdio/u8-vsnprintf-tests: New file.
3218         * modules/unistdio/u8-vsprintf-tests: New file.
3219         * modules/unistdio/u16-asnprintf-tests: New file.
3220         * modules/unistdio/u16-vasnprintf-tests: New file.
3221         * modules/unistdio/u16-vasprintf-tests: New file.
3222         * modules/unistdio/u16-vsnprintf-tests: New file.
3223         * modules/unistdio/u16-vsprintf-tests: New file.
3224         * modules/unistdio/u32-asnprintf-tests: New file.
3225         * modules/unistdio/u32-vasnprintf-tests: New file.
3226         * modules/unistdio/u32-vasprintf-tests: New file.
3227         * modules/unistdio/u32-vsnprintf-tests: New file.
3228         * modules/unistdio/u32-vsprintf-tests: New file.
3229         * MODULES.html.sh (Unicode string functions): Add the new modules.
3230
3231 2007-07-01  Bruno Haible  <bruno@clisp.org>
3232
3233         * lib/sprintf.c (sprintf): Limit the available length estimation,
3234         to avoid address wraparound.
3235         * lib/vsprintf.c (vsprintf): Likewise.
3236         * modules/sprintf-posix (Dependencies): Add stdint.
3237         * modules/vsprintf-posix (Dependencies): Likewise.
3238
3239 2007-07-01  Bruno Haible  <bruno@clisp.org>
3240
3241         * gnulib-tool (self_abspathname): Determine PATH_SEPARATOR and handle
3242         Windows PATH as well. Conservative double-quoting. Comments.
3243
3244 2007-07-01  Bruno Haible  <bruno@clisp.org>
3245             Eric Blake  <ebb9@byu.net>
3246             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
3247
3248         * gnulib-tool (self_abspathname): Fix algorithm to cope with
3249         empty components in $PATH, denoting '.'.
3250
3251 2007-07-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
3252
3253         * gnulib-tool: Fix indentation.
3254         (func_create_megatestdir): Likewise.
3255         Report by Bruno Haible.
3256
3257 2007-06-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
3258
3259         Sync from Automake.
3260         * build-aux/gnupload: Fix shell portability issues with for loops.
3261         Report by Karl Berry.
3262
3263 2007-06-29  Simon Josefsson  <simon@josefsson.org>
3264
3265         * build-aux/maint.mk (POURL): Use translationproject.org.
3266
3267 2007-06-27  Simon Josefsson  <simon@josefsson.org>
3268             Bruno Haible  <bruno@clisp.org>
3269
3270         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Require gl_HEADER_SYS_SOCKET
3271         before using HAVE_WS2TCPIP_H. Check for gai_strerror through an
3272         explicit link test, rather than AC_REPLACE_FUNCS - for mingw.
3273         (gl_PREREQ_GETADDRINFO): Require gl_HEADER_SYS_SOCKET before using
3274         HAVE_SYS_SOCKET_H and HAVE_WS2TCPIP_H.
3275
3276 2007-06-27  Bruno Haible  <bruno@clisp.org>
3277
3278         * build-aux/config.rpath: Upgrade to libtool-1.5.24.
3279         * build-aux/config.libpath: Upgrade to libtool-1.5.24.
3280
3281 2007-06-26  Karl Berry  <karl@gnu.org>
3282
3283         * MODULES.html.sh: remove xreadlink-with-size.
3284
3285 2007-06-23  Paul Eggert  <eggert@cs.ucla.edu>
3286
3287         * lib/time_.h: Port to Solaris 8 with Sun Studio 11, using a
3288         method that I hope also handles the double-include problem noted
3289         by Bruno Haible in
3290         <http://lists.gnu.org/archive/html/bug-gnulib/2007-05/msg00186.html>.
3291
3292 2007-06-23  Bruno Haible  <bruno@clisp.org>
3293
3294         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
3295         Don't let the 'mostlyclean' target fail if the last subdirectory could
3296         not be removed.
3297         Reported by Karl Berry.
3298
3299 2007-06-23  Bruno Haible  <bruno@clisp.org>
3300
3301         * gnulib-tool (echo): Add a speedier workaround for ksh.
3302         * tests/test-echo.sh: Likewise.
3303
3304 2007-06-23  Bruno Haible  <bruno@clisp.org>
3305
3306         * gnulib-tool (echo): Add workarounds also for bash versions < 2.04.
3307         * tests/test-echo.sh: Likewise.
3308
3309 2007-06-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
3310
3311         * gnulib-tool (IFS): Initialize early, so we don't set it to
3312         empty later.
3313         (self_abspathname): Rewrite algorithm to set it, reindent.
3314         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am)
3315         (func_create_megatestdir): Merge some sed scripts.
3316
3317 2007-06-23  Paul Eggert  <eggert@cs.ucla.edu>
3318
3319         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Check some typos
3320         exposed by Sun Studio 11 cc on Solaris 8.
3321
3322 2007-06-22  Bruno Haible  <bruno@clisp.org>
3323
3324         * gnulib-tool (echo): Ensure the echo primitive does not interpret
3325         backslashes.
3326         * tests/test-echo.sh: New file.
3327
3328 2007-06-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
3329
3330         * gnulib-tool (func_add_or_update, func_create_testdir): Do not
3331         simplify `sed_replace_build_aux' scripts, they are portable but
3332         echoing them with `echo' is not.
3333         Report and analysis by Fernando Ferreira <fernando.prog@netcabo.pt>.
3334
3335 2007-06-21  Karl Berry  <karl@gnu.org>
3336
3337         * config/srclist.txt: guess we can't handle the licenses via
3338         srclist at the moment.
3339
3340 2007-06-21  Paul Eggert  <eggert@cs.ucla.edu>
3341
3342         * MODULES.html.sh: Add include_next.
3343         * modules/include_next: New file.
3344
3345 2007-06-20  Paul Eggert  <eggert@cs.ucla.edu>
3346
3347         * m4/include_next.m4 (gl_INCLUDE_NEXT): Define and AC_SUBST
3348         INCLUDE_NEXT.
3349         (gl_CHECK_NEXT_HEADERS): New macro.
3350         * m4/fcntl_h.m4 (gl_FCNTL_H): use gl_CHECK_NEXT_HEADERS instead of
3351         the obsolescent gl_ABSOLUTE_HEADER.
3352         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Likewise.
3353         * m4/float_h.m4 (gl_FLOAT_H): Likewise.
3354         * m4/iconv_h.m4 (gl_ICONV_H): Likewise.
3355         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
3356         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
3357         * m4/math_h.m4 (gl_MATH_H): Likewise.
3358         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Likewise.
3359         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
3360         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
3361         * m4/stdint.m4 (gl_STDINT_H): Likewise.
3362         * m4/stdio_h.m4 (gl_STDIO_H): Likewise.
3363         * m4/stdlib_h.m4 (gl_STDLIB_H): Likewise.
3364         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Likewise.
3365         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
3366         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
3367         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
3368         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Likewise.
3369         * m4/sysexits.m4 (gl_SYSEXITS): Likewise.
3370         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Likewise.
3371         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
3372         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
3373         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
3374         * m4/inttypes.m4 (gl_INTTYPES_H): Define
3375         _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H to avoid the problem of unclean
3376         builds, since ABSOLUTE_INTTYPES_H is no longer being defined.
3377         * m4/stdint.m4 (gl_STDINT_H): Likewise, for
3378         _GL_JUST_INCLUDE_SYSTEM_STDINT_H.
3379         * lib/fcntl_.h: Use @INCLUDE_NEXT@ @NEXT_foo_H@
3380         rather than @HAVE_INCLUDE_NEXT@ and @ABSOLUTE_foo_H@.
3381         * lib/float_.h: Likewise.
3382         * lib/inttypes_.h: Likewise.
3383         * lib/math_.h: Likewise.
3384         * lib/search_.h: Likewise.
3385         * lib/signal_.h: Likewise.
3386         * lib/stdint_.h: Likewise.
3387         * lib/stdio_.h: Likewise.
3388         * lib/stdlib_.h: Likewise.
3389         * lib/string_.h: Likewise.
3390         * lib/sys_stat_.h: Likewise.
3391         * lib/sys_time_.h: Likewise.
3392         * lib/time_.h: Likewise.
3393         * lib/unistd_.h: Likewise.
3394         * lib/wchar_.h: Likewise.
3395         * lib/wctype_.h: Likewise.
3396         * lib/dirent_.h: Likewise.
3397         * lib/iconv_.h: Likewise.
3398         * lib/locale_.h: Likewise.
3399         * lib/netinet_in_.h: Likewise.
3400         * lib/sys_select_.h: Likewise.
3401         * lib/sys_socket_.h: Likewise.
3402         * lib/sysexits_.h: Likewise.
3403         * modules/fcntl (Depends-on): Depend on include_next, not
3404         absolute_header.
3405         (Makefile): Substitute INCLUDE_NEXT and NEXT_foo_H, not
3406         HAVE_INCLUDE_NEXT and ABSOLUTE_foo_H.
3407         * modules/fchdir: Likewise.
3408         * modules/float: Likewise.
3409         * modules/iconv_open: Likewise.
3410         * modules/inttypes: Likewise.
3411         * modules/locale: Likewise.
3412         * modules/math: Likewise.
3413         * modules/netinet_in: Likewise.
3414         * modules/search: Likewise.
3415         * modules/signal: Likewise.
3416         * modules/stdint: Likewise.
3417         * modules/stdio: Likewise.
3418         * modules/stdlib: Likewise.
3419         * modules/string: Likewise.
3420         * modules/sys_select: Likewise.
3421         * modules/sys_socket: Likewise.
3422         * modules/sys_stat: Likewise.
3423         * modules/sys_time: Likewise.
3424         * modules/sysexits: Likewise.
3425         * modules/time: Likewise.
3426         * modules/unistd: Likewise.
3427         * modules/wchar: Likewise.
3428         * modules/wctype: Likewise.
3429         * modules/sys_stat: Change maintainer to "all".
3430         * modules/unistd: Likewise.
3431
3432 2007-06-20  Karl Berry  <karl@gnu.org>
3433
3434         * config/srclist.txt: track www changes in license files.
3435
3436 2007-06-20  Sergey Poznyakoff  <gray@gnu.org.ua>
3437
3438         * build-aux/bootstrap: Remove stray dot.
3439         Make sure build_aux settings are honored when linking
3440         gnulib_extra_files.
3441
3442 2007-06-19  Eric Blake  <ebb9@byu.net>
3443
3444         * modules/canonicalize-lgpl-tests (test_canonicalize_lgpl_LDADD):
3445         Allow compilation on cygwin.
3446
3447 2007-06-19  Jim Meyering  <jim@meyering.net>
3448
3449         xreadlink-with-size: Remove module.  No longer used.
3450         Ex-callers now use xreadlink or mreadlink-with-size.
3451         * modules/xreadlink-with-size: Remove module.
3452         * lib/xreadlink-with-size.c: Remove file.
3453         * lib/xreadlink.h (xreadlink_with_size): Remove prototype.
3454         (xreadlink): Remove inaccurate comment.  The one in xreadlink.c,
3455         just before the function definition *is* accurate.
3456
3457         Eliminate one way canonicalize_filename_mode could exit.
3458         * lib/canonicalize.c (canonicalize_filename_mode):
3459         Use mreadlink_with_size, not xreadlink_with_size.
3460
3461 2007-06-18  Paul Eggert  <eggert@cs.ucla.edu>
3462
3463         Detect porting problems to FreeBSD/arm, which has time_t wider than
3464         long int.  Original problem reported for GNU diff by Xin Li in
3465         <http://lists.gnu.org/archive/html/bug-gnu-utils/2007-06/msg00091.html>.
3466         * modules/getdate (Depends-on): Add intprops, verify.
3467         * lib/getdate.y: Include intprops.h, verify.h.  Verify that time_t
3468         is an integer type no wider than long int.
3469
3470 2007-06-18  Jim Meyering  <jim@meyering.net>
3471
3472         New module: mreadlink-with-size.
3473         * MODULES.html.sh: Add mreadlink-with-size.
3474         * modules/mreadlink-with-size: New module
3475         * modules/canonicalize (Depends-on): Depend on mreadlink-with-size,
3476         not xreadlink-with-size.
3477         * lib/mreadlink-with-size.c, lib/mreadlink.h: New files.
3478
3479 2007-06-16  Bruno Haible  <bruno@clisp.org>
3480
3481         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Catch the MacOS X 10.4 bug.
3482         * doc/functions/frexpl.texi: Document the MacOS X 10.4 bug.
3483         Reported by Gary V. Vaughan <gary@gnu.org>.
3484
3485 2007-06-15  Paul Eggert  <eggert@cs.ucla.edu>
3486
3487         Revamp lchown so that it lives in unistd.h where it belongs.
3488         * lib/lchown.h: Remove.
3489         * lib/dirchownmod.c: Don't include lib/lchown.h.
3490         * lib/fchownat.c: Likewise.
3491         * lib/openat.c: Likewise.
3492         * lib/lchown.c (REPLACE_CHOWN): Define to 0 if the system chown
3493         does not follow symlinks.
3494         (EOPNOTSUPP): Define if not defined.
3495         * lib/unistd_.h (chown): Do not replace if REPLADE_CHOWN
3496         is defined to 0.
3497         (lchown): New decl.
3498         * m4/lchown.m4 (gl_FUNC_LCHOWN): Require gl_UNISTD_H_DEFAULTS.
3499         Do not check for lchown decl.
3500         Set REPLACE_LCHOWN.
3501         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set GNULIB_LCHOWN,
3502         REPLACE_LCHOWN.
3503         * modules/chown: Make it clear it follows symlinks.
3504         * modules/lchown: Make it clear it doesn't follow symlinks.
3505         (Files): Remove lib/lchown.h
3506         (Depends-on): Add unistd.
3507         (configure.ac): Add gl_UNISTD_MODULE_INDICATOR([lchown]).
3508         (Include): Include <unistd.h>, not "lchown.h".
3509         * modules/unistd (unistd.h): Substitude GNULIB_LCHOWN and
3510         REPLACE_LCHOWN.
3511
3512 2007-06-15  Jim Meyering  <jim@meyering.net>
3513
3514         Change license (GPL to LGPL) of fsusage and dependents.
3515         * modules/fsusage (License): Change to LGPL.
3516         * modules/full-read (License): Likewise.
3517         * modules/full-write (License): Likewise.
3518         * modules/safe-read (License): Likewise.
3519         * modules/safe-write (License): Likewise.
3520
3521 2007-06-14  Ben Pfaff  <blp@gnu.org>
3522
3523         Missing part of allocsa -> malloca transition.
3524         * modules/relocatable-prog-wrapper: gl_ALLOCSA should be
3525         gl_MALLOCA.
3526
3527 2007-06-12  Bruno Haible  <bruno@clisp.org>
3528
3529         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Guess no when cross-compiling
3530         to ia64, x86_64, i386.
3531         Reported by Eric Blake.
3532
3533 2007-06-12  Bruno Haible  <bruno@clisp.org>
3534
3535         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Guess no also when
3536         cross-compiling to x86_64.
3537
3538 2007-06-12  Paul Eggert  <eggert@cs.ucla.edu>
3539
3540         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Fix POSIX sed portability
3541         glitch reported by Ralf Wildenhues in
3542         <http://lists.gnu.org/archive/html/bug-gnulib/2007-06/msg00114.html>.
3543
3544         * m4/regex.m4 (gl_REGEX): Catch a bug with [[:alnum:]_-] reported by
3545         Vin Shelton.
3546
3547 2007-06-11  Bruno Haible  <bruno@clisp.org>
3548
3549         * lib/printf-args.c (PRINTF_FETCHARGS) [ENABLE_UNISTDIO]: Fix NULL
3550         replacement string.
3551         Reported by Eric Blake.
3552
3553 2007-06-10  Bruno Haible  <bruno@clisp.org>
3554
3555         Prepare vasnprintf code for use with Unicode strings.
3556         * lib/printf-args.h (PRINTF_FETCHARGS): New macro.
3557         (arg_type) [ENABLE_UNISTDIO]: Define TYPE_U8_STRING, TYPE_U16_STRING,
3558         TYPE_U32_STRING.
3559         (argument) [ENABLE_UNISTDIO]: Add a_u8_string, a_u16_string,
3560         a_u32_string variants.
3561         (PRINTF_FETCHARGS): Renamed from printf_fetchargs.
3562         * lib/printf-args.c: Don't include config.h and the specification
3563         header if PRINTF_FETCHARGS is already defined.
3564         (PRINTF_FETCHARGS): Renamed from printf_fetchargs.
3565         (PRINTF_FETCHARGS) [ENABLE_UNISTDIO]: Add code for TYPE_U8_STRING,
3566         TYPE_U16_STRING, TYPE_U32_STRING.
3567         * lib/printf-parse.h [ENABLE_UNISTDIO] (u8_directive, u8_directives,
3568         u16_directive, u16_directives, u32_directive, u32_directives): New
3569         types.
3570         (ulc_printf_parse, u8_printf_parse, u16_printf_parse, u32_printf_parse):
3571         New declarations.
3572         * lib/printf-parse.c: Don't include config.h and the specification
3573         header if PRINTF_PARSE is already defined. Eliminate the set of
3574         parameters for WIDE_CHAR_VERSION; the user of this file must provide
3575         them now. Include c-ctype.h.
3576         (PRINTF_PARSE) [ENABLE_UNISTDIO]: Add code implementing the 'U'
3577         directive and CHAR_T_ONLY_ASCII.
3578         * lib/vasnprintf.c: Don't include config.h and the specification header
3579         if VASNPRINTF is already defined.
3580         (DCHAR_IS_TCHAR, DCHAR_CPY): New macros.
3581         (VASNPRINTF): Use PRINTF_FETCHARGS instead of printf_fetchargs. Use
3582         DCHAR_CPY. Handle the case that DCHAR_T and FCHAR_T are not the same
3583         type. Handle the case that TCHAR_T and FCHAR_T are not of the same
3584         size. Handle the case that DCHAR_T and TCHAR_T are not the same type,
3585         add a conversion from TCHAR_T[] to DCHAR_T[], and rework the padding
3586         code accordingly.
3587         (VASNPRINTF) [ENABLE_UNISTDIO]: Implement the 'U' directive. Enable
3588         pad_ourselves also in this case, with the 'c' and 's' directives, and
3589         with a different notion of "width".
3590         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): New macros.
3591
3592 2007-06-10  Bruno Haible  <bruno@clisp.org>
3593
3594         * modules/unistr/u32-mbsnlen: New file.
3595         * lib/unistr/u32-mbsnlen.c: New file.
3596
3597         * modules/unistr/u16-mbsnlen: New file.
3598         * lib/unistr/u16-mbsnlen.c: New file.
3599
3600         * modules/unistr/u8-mbsnlen: New file.
3601         * lib/unistr/u8-mbsnlen.c: New file.
3602
3603         * lib/unistr.h (u8_mbsnlen, u16_mbsnlen, u32_mbsnlen): New
3604         declarations.
3605
3606 2007-06-10  Bruno Haible  <bruno@clisp.org>
3607
3608         * lib/string_.h (mbsnlen): New declaration.
3609         * lib/mbsnlen.c: New file.
3610         * m4/mbsnlen.m4: New file.
3611         * modules/mbsnlen: New file.
3612         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Set GNULIB_MBSNLEN.
3613         * modules/string (string.h): Substitute GNULIB_MBSNLEN.
3614         * MODULES.html.sh (Internationalization functions): Add mbsnlen.
3615
3616 2007-06-10  Bruno Haible  <bruno@clisp.org>
3617
3618         * lib/mbslen.c: Include <stdlib.h>, needed for MB_CUR_MAX.
3619
3620 2007-06-10  Bruno Haible  <bruno@clisp.org>
3621
3622         * lib/mbiter.h: Include <stddef.h>, needed for ptrdiff_t.
3623         * lib/mbuiter.h: Likewise.
3624
3625 2007-06-10  Bruno Haible  <bruno@clisp.org>
3626
3627         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Check for _snprintf
3628         declaration.
3629
3630 2007-06-10  Karl Berry  <karl@gnu.org>
3631
3632         * config/srclist.txt: remove gettext entries, Bruno prefers
3633         to update individually.
3634
3635 2007-06-10  Bruno Haible  <bruno@clisp.org>
3636
3637         * lib/vasnprintf.c (VASNPRINTF) [!USE_SNPRINTF]: Remove variable
3638         'maxlen'. Ensure only length + width bytes are allocated, not
3639         length + 1 + width.
3640
3641 2007-06-09  Bruno Haible  <bruno@clisp.org>
3642
3643         * lib/vasnprintf.c (FCHAR_T, DCHAR_T, TCHAR_T): New macros.
3644         (CHAR_T): Remove macro.
3645         (VASNPRINTF): Update.
3646
3647 2007-06-09  Bruno Haible  <bruno@clisp.org>
3648
3649         * MODULES.html.sh (Unicode string functions): Add the new modules.
3650
3651         * modules/uniconv/u32-conv-to-enc: New file.
3652         * lib/uniconv/u32-conv-to-enc.c: New file.
3653         * modules/uniconv/u32-conv-to-enc-tests: New file.
3654         * tests/uniconv/test-u32-conv-to-enc.c: New file.
3655
3656         * modules/uniconv/u16-conv-to-enc: New file.
3657         * lib/uniconv/u16-conv-to-enc.c: New file.
3658         * lib/uniconv/u-conv-to-enc.h: New file.
3659         * modules/uniconv/u16-conv-to-enc-tests: New file.
3660         * tests/uniconv/test-u16-conv-to-enc.c: New file.
3661
3662         * modules/uniconv/u8-conv-to-enc: New file.
3663         * lib/uniconv/u8-conv-to-enc.c: New file.
3664         * modules/uniconv/u8-conv-to-enc-tests: New file.
3665         * tests/uniconv/test-u8-conv-to-enc.c: New file.
3666
3667         * lib/uniconv.h (u8_conv_to_encoding, u16_conv_to_encoding,
3668         u32_conv_to_encoding): New declarations.
3669
3670 2007-06-09  Bruno Haible  <bruno@clisp.org>
3671
3672         * tests/uniconv/test-u32-strconv-to-enc.c (main): Remove unused code.
3673
3674 2007-06-09  Bruno Haible  <bruno@clisp.org>
3675
3676         Rename 'allocsa' -> 'malloca', 'freesa' -> 'freea'.
3677         * modules/malloca: Renamed from modules/allocsa, updated.
3678         * lib/malloca.h: Renamed from lib/allocsa.h, updated.
3679         * lib/malloca.c: Renamed from lib/allocsa.c, updated.
3680         * lib/malloca.valgrind: Renamed from lib/allocsa.valgrind, updated.
3681         * m4/malloca.m4: Renamed from m4/allocsa.m4, updated.
3682         * modules/malloca-tests: Renamed from modules/allocsa-tests, updated.
3683         * tests/test-malloca.c: Renamed from tests/test-allocsa.c, updated.
3684         * modules/xmalloca: Renamed from modules/xallocsa, updated.
3685         * lib/xmalloca.h: Renamed from lib/xallocsa.h, updated.
3686         * lib/xmalloca.c: Renamed from lib/xallocsa.c, updated.
3687         * modules/c-strcasestr (Depends-on): Update.
3688         * lib/c-strcasestr.c: Update.
3689         * modules/c-strstr (Depends-on): Update.
3690         * lib/c-strstr.c: Update.
3691         * modules/canonicalize-lgpl (Depends-on): Update.
3692         * lib/canonicalize-lgpl.c: Update.
3693         * modules/clean-temp (Depends-on): Update.
3694         * lib/clean-temp.c: Update.
3695         * modules/csharpcomp (Depends-on): Update.
3696         * lib/csharpcomp.c: Update.
3697         * modules/csharpexec (Depends-on): Update.
3698         * lib/csharpexec.c: Update.
3699         * modules/javacomp (Depends-on): Update.
3700         * lib/javacomp.c: Update.
3701         * modules/javaexec (Depends-on): Update.
3702         * lib/javaexec.c: Update.
3703         * modules/mbscasestr (Depends-on): Update.
3704         * lib/mbscasestr.c: Update.
3705         * modules/mbsstr (Depends-on): Update.
3706         * lib/mbsstr.c: Update.
3707         * modules/setenv (Depends-on): Update.
3708         * lib/setenv.c: Update.
3709         * modules/strcasestr (Depends-on): Update.
3710         * lib/strcasestr.c: Update.
3711         * modules/striconveha (Depends-on): Update.
3712         * lib/striconveha.c: Update.
3713         * modules/relocatable-prog-wrapper (Files): Update.
3714         * lib/relocwrapper.c: Update.
3715         * build-aux/install-reloc: Update.
3716         * MODULES.html.sh (Memory management functions <stdlib.h>): Update.
3717
3718 2007-06-08  Bruno Haible  <bruno@clisp.org>
3719
3720         Port to uClibc.
3721         * lib/fbufmode.c (fbufmode): Add special code for uClibc.
3722         * lib/fpurge.c (fpurge): Likewise.
3723         * lib/freading.c (freading): Likewise.
3724         * lib/fseeko.c (rpl_fseeko): Likewise.
3725         * lib/fseterr.c (fseterr): Likewise.
3726         * lib/fwriting.c (fwriting): Likewise.
3727         * tests/test-fflush.c (main): Avoid a failure on uClibc.
3728
3729 2007-06-08  Bruno Haible  <bruno@clisp.org>
3730
3731         * m4/intlmacosx.m4: New file, extracted from gettext.m4.
3732         * m4/gettext.m4 (gt_INTL_MACOSX): Remove macro, moved to intlmacosx.m4.
3733         * modules/gettext (Files): Add m4/intlmacosx.m4.
3734
3735 2007-06-07  Bruno Haible  <bruno@clisp.org>
3736
3737         * modules/localename-tests: New file.
3738         * tests/test-localename.c: New file.
3739
3740         New module 'localename'.
3741         * lib/localename.h: New file.
3742         * lib/localename.c: New file, from GNU gettext.
3743         * m4/localename.m4: New file.
3744         * modules/localename: New file.
3745
3746 2007-06-07  Bruno Haible  <bruno@clisp.org>
3747
3748         Work around the lack of <wchar.h> on some builds of uClibc.
3749         * doc/headers/wchar.texi: Update.
3750         * lib/wchar_.h: Include <wchar.h> only if it exists.
3751         * m4/wchar.m4 (gl_WCHAR_H): Check for <wchar.h>. Set HAVE_WCHAR_H.
3752         * m4/stdint.m4 (gl_STDINT_H): Check for <wchar.h>.
3753         (gl_STDINT_TYPE_PROPERTIES): Don't try to include <wchar.h> if it
3754         doesn't exist.
3755         * modules/wchar (wchar.h): Substitute HAVE_WCHAR_H.
3756         * modules/mbfile (Depends-on): Add wchar.
3757         * modules/mbiter (Depends-on): Likewise.
3758         * modules/mbuiter (Depends-on): Likewise.
3759         Reported by Simon Josefsson.
3760
3761 2007-06-06  Paul Eggert  <eggert@cs.ucla.edu>
3762
3763         Work around problem reported by Steven M. Schweda in
3764         <http://lists.gnu.org/archive/html/bug-tar/2007-06/msg00002.html>:
3765         Tru64 5.1B with the Compaq compiler environment installed declares
3766         an 'isblank' function but does not define it in the C library.
3767         * lib/fnmatch.c (isblank): Check for HAVE_ISBLANK, too.
3768         * lib/regex_internal.h (isblank): Likewise.
3769         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for isblank existence.
3770         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
3771
3772 2007-06-05  Bruno Haible  <bruno@clisp.org>
3773
3774         Fix *printf so that it recognizes non-IEEE numbers on i386, x86_64,
3775         ia64.
3776         * modules/printf-safe: New file.
3777         * modules/fprintf-posix (Depends-on): Add printf-safe.
3778         * modules/printf-posix (Depends-on): Likewise.
3779         * modules/snprintf-posix (Depends-on): Likewise.
3780         * modules/sprintf-posix (Depends-on): Likewise.
3781         * modules/vasnprintf-posix (Depends-on): Likewise.
3782         * modules/vasprintf-posix (Depends-on): Likewise.
3783         * modules/vfprintf-posix (Depends-on): Likewise.
3784         * modules/vprintf-posix (Depends-on): Likewise.
3785         * modules/vsnprintf-posix (Depends-on): Likewise.
3786         * modules/vsprintf-posix (Depends-on): Likewise.
3787         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Require
3788         AC_C_BIGENDIAN. Define CHECK_PRINTF_SAFE if printf-safe is used. Test
3789         non-IEEE numbers on i386, x86_64, ia64. When cross-compiling, guess
3790         "no" on i386, x86_64, ia64.
3791         * tests/test-snprintf-posix.h (LDBL80_WORDS): New macro.
3792         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
3793         on i386, x86_64, ia64.
3794         * tests/test-sprintf-posix.h (LDBL80_WORDS): New macro.
3795         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
3796         on i386, x86_64, ia64.
3797         * tests/test-vasnprintf-posix.c: Include float.h.
3798         (LDBL80_WORDS): New macro.
3799         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
3800         on i386, x86_64, ia64.
3801         * tests/test-vasprintf-posix.c: Include float.h.
3802         (LDBL80_WORDS): New macro.
3803         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
3804         on i386, x86_64, ia64.
3805         * tests/test-snprintf-posix.c: Include float.h.
3806         * tests/test-sprintf-posix.c: Likewise.
3807         * tests/test-vsnprintf-posix.c: Likewise.
3808         * tests/test-vsprintf-posix.c: Likewise.
3809
3810 2007-06-05  Bruno Haible  <bruno@clisp.org>
3811
3812         Fix isnanl so that it recognizes non-IEEE numbers on i386, x86_64, ia64.
3813         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Require AC_C_BIGENDIAN. Test
3814         non-IEEE numbers on i386, x86_64, ia64.
3815         (gl_LONG_DOUBLE_EXPONENT_LOCATION): Require AC_C_BIGENDIAN.
3816         * lib/isnan.c (FUNC): Add special code for i386, x86_64, ia64.
3817         * tests/test-isnanl.h: Include float.h.
3818         (main): Check also non-IEEE numbers on i386, x86_64, ia64.
3819
3820 2007-06-05  Bruno Haible  <bruno@clisp.org>
3821
3822         * lib/vasnprintf.c (VASNPRINTF): Do the extra handling of NaN and Inf
3823         also the %a / %A. Handle the %a / %A code before this extra handling.
3824
3825 2007-06-05  Bruno Haible  <bruno@clisp.org>
3826
3827         * lib/vasnprintf.c [NEED_PRINTF_LONG_DOUBLE ||
3828         NEED_PRINTF_INFINITE_LONG_DOUBLE]: Include fpucw.h.
3829
3830 2007-06-05  Bruno Haible  <bruno@clisp.org>
3831
3832         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE): Fix
3833         typo in variable name.
3834
3835 2007-06-05  Eric Blake  <ebb9@byu.net>
3836
3837         * m4/lseek.m4 (gl_FUNC_LSEEK): Work when cross-compiling.
3838         Reported by Simon Josefsson.
3839
3840 2007-06-04  Bruno Haible  <bruno@clisp.org>
3841
3842         Avoid test failures on some PowerPC platforms.
3843         * tests/test-printf-frexpl.c (MIN_NORMAL_EXP, MIN_SUBNORMAL_EXP):
3844         Define differently for PowerPC.
3845         * tests/test-frexpl.c (MIN_NORMAL_EXP): Likewise.
3846         Reported by Gary V. Vaughan <gary@gnu.org>.
3847
3848 2007-06-02  Bruno Haible  <bruno@clisp.org>
3849
3850         Fix test-stdint failure on FreeBSD/ia64.
3851         * m4/stdint.m4 (gl_STDINT_H): Check the values of PTRDIFF_MIN,
3852         PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX, SIZE_MAX, WCHAR_MIN,
3853         WCHAR_MAX, WINT_MIN, WINT_MAX entirely, not only for plausibility.
3854         * doc/headers/stdint.texi: Update.
3855
3856 2007-06-01  Bruno Haible  <bruno@clisp.org>
3857
3858         * tests/test-binary-io.c (main): Pass a third argument to open().
3859         Reported by Gary V. Vaughan <gary@gnu.org>.
3860
3861 2007-06-01  Bruno Haible  <bruno@clisp.org>
3862
3863         * doc/functions/frexpl.texi: Update for mingw.
3864
3865 2007-06-01  Bruno Haible  <bruno@clisp.org>
3866
3867         * tests/test-lseek.c (main): Disable test of errno for invalid third
3868         argument.
3869         * doc/functions/lseek.texi: Update.
3870         Reported by Gary V. Vaughan <gary@gnu.org>.
3871
3872 2007-05-28  Bruno Haible  <bruno@clisp.org>
3873
3874         * m4/intl.m4 (AM_INTL_SUBDIR): Substitute variables WOE32, WINDRES.
3875
3876 2007-05-31  Eric Blake  <ebb9@byu.net>
3877
3878         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Guess no on mingw when
3879         cross compiling.
3880
3881 2007-05-30  Eric Blake  <ebb9@byu.net>
3882         and Bruno Haible  <bruno@clisp.org>
3883
3884         Work around mingw test failures exposed by m4-1.4.9b.
3885         * m4/stdint.m4 (gl_STDINT_H): Detect mingw bug.
3886         * tests/test-unistd.c: Disable uid_t and git_t tests for the
3887         moment.
3888
3889 2007-05-30  Bruno Haible  <bruno@clisp.org>
3890
3891         * tests/test-lseek.c: Explicitly close file descriptors 0 and 1 before
3892         assuming that they are closed. Needed on HP-UX 11.
3893
3894 2007-05-29  Bruno Haible  <bruno@clisp.org>
3895
3896         Fix a problem with #include_next.
3897         * lib/dirent_.h: Split the double-inclusion guard.
3898         * lib/fcntl_.h: Likewise.
3899         * lib/float_.h: Likewise.
3900         * lib/iconv_.h: Likewise.
3901         * lib/inttypes_.h: Likewise.
3902         * lib/locale_.h: Likewise.
3903         * lib/math_.h: Likewise.
3904         * lib/netinet_in_.h: Likewise.
3905         * lib/search_.h: Likewise.
3906         * lib/signal_.h: Likewise.
3907         * lib/stdint_.h: Likewise.
3908         * lib/stdio_.h: Likewise.
3909         * lib/stdlib_.h: Likewise.
3910         * lib/string_.h: Likewise.
3911         * lib/sys_select_.h: Likewise.
3912         * lib/sys_socket_.h: Likewise.
3913         * lib/sys_stat_.h: Likewise.
3914         * lib/sys_time_.h: Likewise.
3915         * lib/sysexits_.h: Likewise.
3916         * lib/time_.h: Likewise.
3917         * lib/unistd_.h: Likewise.
3918         * lib/wchar_.h: Likewise.
3919         * lib/wctype_.h: Likewise.
3920
3921 2007-05-29  Bruno Haible  <bruno@clisp.org>
3922
3923         * tests/test-unistd.c: Disable the tests for useconds_t and intptr_t
3924         for the moment.
3925
3926 2007-05-29  Bruno Haible  <bruno@clisp.org>
3927
3928         * m4/isnan.m4 (gl_DOUBLE_EXPONENT_LOCATION): Silence the AC_C_BIGENDIAN
3929         invocation.
3930         Reported by Eric Blake.
3931
3932 2007-05-29  Bruno Haible  <bruno@clisp.org>
3933
3934         * m4/isnanf.m4 (gl_FLOAT_EXPONENT_LOCATION): Fix typo in cross-
3935         compiling case.
3936
3937 2007-05-29  Eric Blake  <ebb9@byu.net>
3938             Bruno Haible  <bruno@clisp.org>
3939
3940         * m4/isnanf.m4 (gl_FUNC_ISNANF_NO_LIBM): Avoid syntax error on
3941         cross compiles.
3942
3943 2007-05-28  Eric Blake  <ebb9@byu.net>
3944
3945         * modules/closein-tests (test_closein_LDADD): Support test on
3946         cygwin with libtool.
3947
3948 2007-05-28  Bruno Haible  <bruno@clisp.org>
3949
3950         * tests/uniconv/test-u16-conv-from-enc.c: Remove #ifdef HAVE_CONFIG_H.
3951         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
3952         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
3953         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
3954         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
3955         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
3956         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
3957         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
3958         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
3959
3960 2007-05-28  Eric Blake  <ebb9@byu.net>
3961
3962         Unconditionally include <config.h> in unit tests.
3963         * tests/test-alloca-opt.c: Remove #ifdef HAVE_CONFIG_H.
3964         * tests/test-allocsa.c, tests/test-arcfour.c,
3965         tests/test-arctwo.c, tests/test-argmatch.c, tests/test-argp.c,
3966         tests/test-array_list.c, tests/test-array_oset.c,
3967         tests/test-atexit.c, test-avltree_list.c, test-avltree_oset.c,
3968         test-avltreehash_list.c, test-base64.c, test-binary-io.c,
3969         test-c-ctype.c, test-c-strcasecmp.c, test-c-strcasestr.c,
3970         test-c-strncasecmp.c, test-c-strstr.c, test-canonicalize-lgpl.c,
3971         test-carray_list.c, test-crc.c, test-des.c, test-dirname.c,
3972         test-fflush.c, test-fprintf-posix.c, test-gc-arcfour.c,
3973         test-gc-arctwo.c, test-gc-des.c, test-gc-hmac-md5.c,
3974         test-gc-hmac-sha1.c, test-gc-md2.c, test-gc-md4.c, test-gc-md5.c,
3975         test-gc-pbkdf2-sha1.c, test-gc-rijndael.c, test-gc-sha1.c,
3976         test-gc.c, test-getpass.c, test-hmac-md5.c, test-hmac-sha1.c,
3977         test-iconv.c, test-linked_list.c, test-linkedhash_list.c,
3978         test-lock.c, test-mbscasecmp.c, test-mbscasestr1.c,
3979         test-mbscasestr2.c, test-mbscasestr3.c, test-mbscasestr4.c,
3980         test-mbschr.c, test-mbscspn.c, test-mbsncasecmp.c, test-mbspbrk.c,
3981         test-mbspcasecmp.c, test-mbsrchr.c, test-mbsspn.c, test-mbsstr1.c,
3982         test-mbsstr2.c, test-mbsstr3.c, test-md2.c, test-md4.c,
3983         test-md5.c, test-memmem.c, test-printf-posix.c,
3984         test-rbtree_list.c, test-rbtree_oset.c, test-rbtreehash_list.c,
3985         test-read-file.c, test-rijndael.c, test-snprintf-posix.c,
3986         test-snprintf.c, test-sprintf-posix.c, test-stdint.c,
3987         test-strcasestr.c, test-striconv.c, test-striconveh.c,
3988         test-striconveha.c, test-tls.c, test-vasnprintf-posix.c,
3989         test-vasnprintf-posix2.c, test-vasnprintf.c,
3990         test-vasprintf-posix.c, test-vasprintf.c, test-verify.c,
3991         test-vfprintf-posix.c, test-vprintf-posix.c,
3992         test-vsnprintf-posix.c, test-vsnprintf.c, test-vsprintf-posix.c,
3993         test-xvasprintf.c: Likewise.
3994
3995 2007-05-28  Bruno Haible  <bruno@clisp.org>
3996
3997         * gnulib-tool (func_import): Remember the --with-tests command-line
3998         option through the macro gl_WITH_TESTS in the gnulib-cache.m4.
3999         Reported by Eric Blake.
4000
4001 2007-05-28  Bruno Haible  <bruno@clisp.org>
4002
4003         * modules/ftell-tests: New file.
4004         * tests/test-ftell.c: New file, based on tests/test-ftello.c.
4005         * tests/test-ftell.sh: New file, based on tests/test-ftello.sh.
4006
4007         * lib/ftell.c: New file.
4008         * modules/ftell: New file.
4009         * m4/ftell.m4: New file.
4010         * doc/functions/ftell.texi: Update.
4011         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FTELL,
4012         REPLACE_FTELL.
4013         * lib/stdio_.h (rpl_ftell): New declaration.
4014         * modules/stdio (Makefile.am): Substitute also GNULIB_FTELL,
4015         REPLACE_FTELL.
4016
4017 2007-05-28  Eric Blake  <ebb9@byu.net>
4018
4019         * lib/allocsa.h (safe_alloca): Avoid compiler warning.
4020
4021 2007-05-28  Bruno Haible  <bruno@clisp.org>
4022
4023         * modules/fseek-tests: New file.
4024         * tests/test-fseek.c: New file, based on tests/test-fseeko.c.
4025         * tests/test-fseek.sh: New file, based on tests/test-fseeko.sh.
4026
4027         * lib/fseek.c: New file.
4028         * modules/fseek: New file.
4029         * m4/fseek.m4: New file.
4030         * doc/functions/fseek.texi: Update.
4031         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FSEEK,
4032         REPLACE_FSEEK.
4033         * lib/stdio_.h (rpl_fseek): New declaration.
4034         * modules/stdio (Makefile.am): Substitute also GNULIB_FSEEK,
4035         REPLACE_FSEEK.
4036
4037 2007-05-28  Bruno Haible  <bruno@clisp.org>
4038
4039         * lib/stdio_.h (fflush): More comments.
4040
4041 2007-05-28  Bruno Haible  <bruno@clisp.org>
4042
4043         * m4/lseek.m4 (gl_FUNC_LSEEK): When not cross-compiling, perform a real
4044         runtime test.
4045
4046 2007-05-28  Eric Blake  <ebb9@byu.net>
4047
4048         Improve lseek module.
4049         * lib/lseek.c (rpl_lseek): Detect EBADF on mingw.
4050         * lib/unistd_.h (lseek): Scale back link warning message.
4051         * tests/test-lseek.c: Beef up test.
4052         * tests/test-lseek.sh: Exercise more facets of lseek.
4053         Reported by Bruno Haible.
4054
4055 2007-05-28  Bruno Haible  <bruno@clisp.org>
4056
4057         * tests/test-unistd.c: Test all the types that <unistd.h> is expected
4058         to define.
4059
4060 2007-05-27  Bruno Haible  <bruno@clisp.org>
4061
4062         * m4/iconv.m4 (AM_ICONV_LINK): Fix 2007-03-31 patch.
4063
4064 2007-05-27  Bruno Haible  <bruno@clisp.org>
4065
4066         * modules/openmp: New file.
4067         * m4/openmp.m4: New file, taken from autoconf's CVS with changes by
4068         Noah Misch.
4069
4070 2007-05-26  Bruno Haible  <bruno@clisp.org>
4071
4072         * modules/chdir-long (Depends-on): Add fchdir.
4073         * modules/chdir-safer (Depends-on): Likewise.
4074         * modules/fts (Depends-on): Likewise.
4075         * modules/fts-lgpl (Depends-on): Likewise.
4076         * modules/openat (Depends-on): Likewise.
4077         * modules/savewd (Depends-on): Likewise.
4078
4079 2007-05-24  Eric Blake  <ebb9@byu.net>
4080
4081         Fix lseek on mingw.
4082         * modules/lseek: New module.
4083         * m4/lseek.m4: New file.
4084         * lib/lseek.c: New file.
4085         * modules/lseek-tests: New file.
4086         * tests/test-lseek.c: New file.
4087         * tests/test-lseek.sh: New file.
4088         * MODULES.html.sh: Document lseek module.
4089         * modules/fflush (Depends-on): Add lseek, fseeko.
4090         * modules/fseeko (Depends-on): Likewise.
4091         * modules/ftello (Depends-on): Likewise.
4092         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Replace fseek[o] if lseek is
4093         broken.
4094         * m4/ftello.m4 (gl_FUNC_FTELLO): Replace ftell[o] if lseek is
4095         broken.
4096         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Trigger fseeko module.
4097         * lib/fseeko.c (rpl_fseeko): Quit early on non-seekable files.
4098         * lib/ftello.c (rpl_ftello): Likewise.
4099         * tests/test-fseeko.c (main): Test this.
4100         * tests/test-fseeko.sh: Likewise.
4101         * tests/test-ftello.c (main): Likewise.
4102         * tests/test-ftello.sh: Likewise.
4103         * lib/stdio_.h (fseek, ftell): Simplify, since missing fseeko now
4104         implies replacing fseek.
4105         * modules/stdio (Makefile.am): No longer need HAVE_FSEEKO,
4106         HAVE_FTELLO.
4107         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add lseek info.
4108         * modules/unistd (Makefile.am): Likewise.
4109         * lib/unistd_.h (lseek): Declare a replacement.
4110         * doc/functions/lseek.texi (lseek): Document this fix.
4111         * doc/functions/fseek.texi (fseek): Likewise.
4112         * doc/functions/ftell.texi (ftell): Likewise.
4113
4114 2007-05-24  Bruno Haible  <bruno@clisp.org>
4115
4116         * tests/test-vasnprintf-posix.c (test_function): Allow up to 50 bytes
4117         in the printed representation of a NaN.
4118         * tests/test-vasprintf-posix.c (test_function): Likewise.
4119         * tests/test-snprintf-posix.h (test_function): Likewise.
4120         * tests/test-sprintf-posix.h (test_function): Likewise.
4121         Reported by Eric Blake.
4122
4123 2007-05-23  Eric Blake  <ebb9@byu.net>
4124
4125         Fix fseeko/ftello on cygwin 1.5.24.
4126         * doc/functions/fseeko.texi (fseeko): Document the fix.
4127         * doc/functions/ftello.texi (ftello): Document the fix.
4128         * doc/functions/stdin.texi (stdin): Document the cygwin bug.
4129         * doc/functions/stdout.text (stdout): New file.
4130         * doc/functions/stderr.text (stderr): New file.
4131         * doc/gnulib.texi (Function Substitutes): Use new files.
4132         * tests/test-fseeko.c (main): Check for broken fseeko on cygwin
4133         prior to 1.7.0.
4134         * tests/test-ftello.c (main): Likewise for ftello.
4135         * tests/test-fseeko.sh: New file.
4136         * tests/test-ftello.sh: New file.
4137         * modules/fseeko-tests (Makefile.am): Ensure test-fseeko is run
4138         with seekable stdin.
4139         * modules/ftello-tests (Makefile.am): Likewise for test-ftello.
4140         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Detect the cygwin bug.
4141         (gl_REPLACE_FSEEKO): New macro.
4142         * m4/ftello.m4 (gl_FUNC_FTELLO, gl_REPLACE_FTELLO): Likewise.
4143         * modules/fseeko (Files): Distribute fseeko.c.
4144         * modules/ftello (Files): Distribute ftello.c.
4145         * lib/fseeko.c (rpl_fseeko) [__CYGWIN__]: Convert stdin to 64-bit
4146         mode.
4147         * lib/ftello.c (rpl_ftello): New file.
4148         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Allow replacement of
4149         fseeko, ftello.
4150         (gl_STDIN_LARGE_OFFSET): New macro.
4151         * modules/stdio (Makefile.am): Perform the replacement.
4152         * lib/stdio_.h (rpl_fseeko, rpl_ftello): Define when needed.
4153
4154 2007-05-23  Bruno Haible  <bruno@clisp.org>
4155
4156         * lib/stdio_.h (fseeko, ftello): Provide a link warning only if
4157         GNULIB_POSIXCHECK is defined.
4158
4159 2007-05-21  Bruno Haible  <bruno@clisp.org>
4160
4161         * m4/printf.m4 (gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE):
4162         Check also the output for NaN arguments. When cross-compiling, guess
4163         no on IRIX.
4164         * lib/vasnprintf.c: Update comments.
4165         * tests/test-vasnprintf-posix.c (strisnan): New function.
4166         (test_function): Use it.
4167         * tests/test-vasprintf-posix.c (strisnan): New function.
4168         (test_function): Use it.
4169         * tests/test-snprintf-posix.h (strisnan): New function.
4170         (test_function): Use it.
4171         * tests/test-sprintf-posix.h (strisnan): New function.
4172         (test_function): Use it.
4173         Reported by Eric Blake.
4174
4175 2007-05-20  Bruno Haible  <bruno@clisp.org>
4176
4177         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Add test for large finite
4178         numbers that fails on BeOS.
4179         * doc/functions/frexpl.texi: Update.
4180
4181 2007-05-20  Jim Meyering  <jim@meyering.net>
4182
4183         * NEWS: Mention the incompatible change (s/futimens/gl_futimens/)
4184         forced upon us by glibc-2.6.
4185
4186 2007-05-20  Bruno Haible  <bruno@clisp.org>
4187
4188         Fix *printf result for NaN, Inf on AIX, Solaris, OSF/1.
4189         * m4/printf.m4 (gl_PRINTF_INFINITE): Update cross-compiling guesses.
4190         (gl_PRINTF_INFINITE_LONG_DOUBLE): New macro.
4191         * lib/vasnprintf.c: Use NEED_PRINTF_INFINITE_DOUBLE instead of
4192         NEED_PRINTF_INFINITE.
4193         (is_infinitel): New function.
4194         (VASNPRINTF): Handle NEED_PRINTF_INFINITE_LONG_DOUBLE case.
4195         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE): Renamed from
4196         gl_PREREQ_VASNPRINTF_INFINITE.
4197         (gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE): New macro.
4198         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
4199         gl_PRINTF_INFINITE_LONG_DOUBLE and test its result. Invoke
4200         gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE and
4201         gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE instead of
4202         gl_PREREQ_VASNPRINTF_INFINITE.
4203         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
4204         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
4205         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
4206         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
4207         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
4208         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
4209         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
4210         * doc/functions/fprintf.texi: Update.
4211         * doc/functions/printf.texi: Update.
4212         * doc/functions/snprintf.texi: Update.
4213         * doc/functions/sprintf.texi: Update.
4214         * doc/functions/vfprintf.texi: Update.
4215         * doc/functions/vprintf.texi: Update.
4216         * doc/functions/vsnprintf.texi: Update.
4217         * doc/functions/vsprintf.texi: Update.
4218
4219 2007-05-20  Bruno Haible  <bruno@clisp.org>
4220
4221         * m4/frexpl.m4 (gl_FUNC_FREXPL_NO_LIBM): Set REPLACE_FREXPL if frexpl
4222         was not found in libc.
4223         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
4224
4225 2007-05-20  Bruno Haible  <bruno@clisp.org>
4226
4227         * tests/test-vasnprintf-posix.c (test_function): Allow NaN to be
4228         printed as "-nan" instead of "nan".
4229         * tests/test-vasprintf-posix.c (test_function): Likewise.
4230         * tests/test-snprintf-posix.h (test_function): Likewise.
4231         * tests/test-sprintf-posix.h (test_function): Likewise.
4232         Needed for HP-UX 11.
4233
4234 2007-05-20  Jim Meyering  <jim@meyering.net>
4235
4236         Fix buggy test for the fchownat-deref bug.
4237         * m4/openat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG): Create the dangling
4238         symlink required for the run-test.  Without it, this test would
4239         always declare that fchownat doesn't work, and client code would
4240         unnecessarily use the replacement function with fixed libc.
4241         (gl_FUNC_FCHOWNAT): Eliminate a variable that wasn't initialized.
4242         Reported by Greg Schafer.
4243
4244 2007-05-19  Bruno Haible  <bruno@clisp.org>
4245
4246         * m4/isnanf.m4 (gl_ISNANF_WORKS): New macro.
4247         (gl_FUNC_ISNANF_NO_LIBM): Invoke it.
4248         * lib/isnan.c (FUNC): Use run-time expressions for SGI compiler.
4249         Needed for IRIX 6.5 and Solaris 2.5.1.
4250
4251 2007-05-19  Bruno Haible  <bruno@clisp.org>
4252
4253         * tests/test-vasnprintf-posix.c (have_minus_zero): New function.
4254         (test_function): Skip tests involving -0.0 on platforms where
4255         -0.0 = 0.0.
4256         * tests/test-vasprintf-posix.c (have_minus_zero): New function.
4257         (test_function): Skip tests involving -0.0 on platforms where
4258         -0.0 = 0.0.
4259         * tests/test-snprintf-posix.h (have_minus_zero): New function.
4260         (test_function): Skip tests involving -0.0 on platforms where
4261         -0.0 = 0.0.
4262         * tests/test-sprintf-posix.h (have_minus_zero): New function.
4263         (test_function): Skip tests involving -0.0 on platforms where
4264         -0.0 = 0.0.
4265         * tests/test-fprintf-posix.h (test_function): Remove all -0.0 related
4266         tests.
4267         * tests/test-printf-posix.h (test_function): Likewise.
4268         * tests/test-printf-posix.output: Remove all -0.0 related results.
4269         Needed for IRIX 6.5.
4270
4271 2007-05-19  Bruno Haible  <bruno@clisp.org>
4272
4273         * tests/test-vasnprintf-posix.c (test_function): Allow NaN to be
4274         printed as "nan0x7fffffff" instead of "nan".
4275         * tests/test-vasprintf-posix.c (test_function): Likewise.
4276         * tests/test-snprintf-posix.h (test_function): Likewise.
4277         * tests/test-sprintf-posix.h (test_function): Likewise.
4278         * tests/test-fprintf-posix.h (NaN): Remove macro.
4279         (test_function): Remove all NaN related tests.
4280         * tests/test-printf-posix.h (NaN): Remove macro.
4281         (test_function): Remove all NaN related tests.
4282         * tests/test-printf-posix.output: Remove all NaN related results.
4283         Needed for IRIX 6.5.
4284
4285 2007-05-19  Bruno Haible  <bruno@clisp.org>
4286
4287         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Fix C89 syntax error in test code.
4288         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
4289
4290 2007-05-19  Bruno Haible  <bruno@clisp.org>
4291
4292         * lib/float_.h: New file.
4293         * m4/float_h.m4: New file.
4294         * modules/float: New file.
4295         * modules/isnanl (Dependencies): Add float.
4296         * modules/isnanl-nolibm (Dependencies): Likewise.
4297         * modules/mathl (Dependencies): Likewise.
4298         * modules/printf-frexpl (Dependencies): Likewise.
4299         * modules/signbit (Dependencies): Likewise.
4300         * modules/vasnprintf (Dependencies): Likewise.
4301         * doc/headers/float.texi: Update.
4302
4303 2007-05-19  Jim Meyering  <jim@meyering.net>
4304
4305         * lib/utimens.c (gl_futimens): Rename from futimens,
4306         now that glibc-2.6 declares futimens.
4307         * lib/utimens.h: Likewise.
4308
4309 2007-05-19  Bruno Haible  <bruno@clisp.org>
4310
4311         Avoid test failures on mingw.
4312         * tests/test-fprintf-posix.sh: Convert CR/LF to LF in output.
4313         * tests/test-printf-posix.sh: Likewise.
4314         * tests/test-vfprintf-posix.sh: Likewise.
4315         * tests/test-vprintf-posix.sh: Likewise.
4316
4317 2007-05-19  Bruno Haible  <bruno@clisp.org>
4318
4319         Fix *printf result for NaN, Inf, -0.0 on mingw.
4320         * m4/printf.m4 (gl_PRINTF_INFINITE): New macro.
4321         * lib/vasnprintf.c: Include math.h and isnan.h.
4322         (is_infinite_or_zero): New function.
4323         (VASNPRINTF): Fix also the handling of infinite or zero 'double'
4324         values in the %f, %F, %e, %E, %g, %G directives.
4325         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE): New macro.
4326         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
4327         gl_PRINTF_INFINITE and test its result. Invoke
4328         gl_PREREQ_VASNPRINTF_INFINITE.
4329         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
4330         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
4331         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
4332         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
4333         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
4334         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
4335         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
4336         * doc/functions/fprintf.texi: Update.
4337         * doc/functions/printf.texi: Update.
4338         * doc/functions/snprintf.texi: Update.
4339         * doc/functions/sprintf.texi: Update.
4340         * doc/functions/vfprintf.texi: Update.
4341         * doc/functions/vprintf.texi: Update.
4342         * doc/functions/vsnprintf.texi: Update.
4343         * doc/functions/vsprintf.texi: Update.
4344
4345 2007-05-19  Bruno Haible  <bruno@clisp.org>
4346
4347         * lib/vasnprintf.c (convert_to_decimal): Add an extra_zeroes argument.
4348         (scale10_round_decimal_long_double): Inline scale10_round_long_double.
4349         Instead of multiplying with 10^k, set extra_zeroes to k.
4350         (scale10_round_long_double): Remove function.
4351
4352 2007-05-18  Bruno Haible  <bruno@clisp.org>
4353
4354         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_ZERO]: Fix logic bug
4355         introduced on 2007-05-06.
4356
4357 2007-05-18  Bruno Haible  <bruno@clisp.org>
4358
4359         * tests/test-vasnprintf-posix.c (test_function): Also test the %e and
4360         %g directives.
4361         * tests/test-vasprintf-posix.c (test_function): Likewise.
4362         * tests/test-snprintf-posix.h (test_function): Likewise.
4363         * tests/test-sprintf-posix.h (test_function): Likewise.
4364
4365 2007-05-18  Bruno Haible  <bruno@clisp.org>
4366
4367         * tests/test-vasnprintf-posix.c (SIZEOF): New macro.
4368         (strmatch): New function.
4369         (test_function): Test the %f directive on numbers of various exponents.
4370         * tests/test-vasprintf-posix.c (SIZEOF): New macro.
4371         (strmatch): New function.
4372         (test_function): Test the %f directive on numbers of various exponents.
4373         * tests/test-snprintf-posix.h (strmatch): New function.
4374         (test_function): Test the %f directive on numbers of various exponents.
4375         * tests/test-sprintf-posix.h (strmatch): New function.
4376         (test_function): Test the %f directive on numbers of various exponents.
4377         * tests/test-snprintf-posix.c (SIZEOF): New macro.
4378         * tests/test-sprintf-posix.c (SIZEOF): New macro.
4379         * tests/test-vsnprintf-posix.c (SIZEOF): New macro.
4380         * tests/test-vsprintf-posix.c (SIZEOF): New macro.
4381
4382 2007-05-18  Bruno Haible  <bruno@clisp.org>
4383
4384         Add support for 'long double' number output.
4385         * m4/printf.m4 (gl_PRINTF_LONG_DOUBLE): New macro.
4386         * lib/vasnprintf.c: Include math.h and float+.h.
4387         (mp_limb_t): New type.
4388         (GMP_LIMB_BITS): New macro.
4389         (mp_twolimb_t): New type.
4390         (GMP_TWOLIMB_BITS): New macro.
4391         (mpn_t): New type.
4392         (multiply, divide, convert_to_decimal, decode_long_double,
4393         scale10_round_long_double, scale10_round_decimal_long_double,
4394         floorlog10l): New functions.
4395         (VASNPRINTF) [NEED_PRINTF_LONG_DOUBLE]: Implement 'long double' support
4396         for the %f, %F, %e, %E, %g, %G directives.
4397         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_LONG_DOUBLE): New macro.
4398         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
4399         gl_PRINTF_LONG_DOUBLE and test its result. Invoke
4400         gl_PREREQ_VASNPRINTF_LONG_DOUBLE.
4401         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
4402         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
4403         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
4404         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
4405         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
4406         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
4407         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
4408         * modules/fprintf-posix (Depends-on): Add frexpl-nolibm.
4409         * modules/snprintf-posix (Depends-on): Likewise.
4410         * modules/sprintf-posix (Depends-on): Likewise.
4411         * modules/vasnprintf-posix (Depends-on): Likewise.
4412         * modules/vasprintf-posix (Depends-on): Likewise.
4413         * modules/vfprintf-posix (Depends-on): Likewise.
4414         * modules/vsnprintf-posix (Depends-on): Likewise.
4415         * modules/vsprintf-posix (Depends-on): Likewise.
4416         * modules/vasnprintf (Files): Add lib/float+.h.
4417         * doc/functions/fprintf.texi: Update.
4418         * doc/functions/printf.texi: Update.
4419         * doc/functions/snprintf.texi: Update.
4420         * doc/functions/sprintf.texi: Update.
4421         * doc/functions/vfprintf.texi: Update.
4422         * doc/functions/vprintf.texi: Update.
4423         * doc/functions/vsnprintf.texi: Update.
4424         * doc/functions/vsprintf.texi: Update.
4425
4426 2007-05-18  Bruno Haible  <bruno@clisp.org>
4427
4428         * lib/vasnprintf.c (USE_SNPRINTF): Define to 0 on BeOS.
4429
4430 2007-05-18  Bruno Haible  <bruno@clisp.org>
4431
4432         * lib/vasnprintf.c (VASNPRINTF) [WIN32]: Use %I64d instead of %lld
4433         for printing 64-bit integers. Needed for mingw.
4434
4435 2007-05-18  Bruno Haible  <bruno@clisp.org>
4436
4437         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Invoke
4438         gl_FUNC_FREXPL_WORKS.
4439         * modules/printf-frexpl (Files): Add m4/frexpl.m4.
4440
4441 2007-05-18  Bruno Haible  <bruno@clisp.org>
4442
4443         * modules/frexpl-nolibm-tests: New file.
4444
4445         * modules/frexpl-nolibm: New file.
4446         * m4/frexpl.m4 (gl_FUNC_FREXPL_NO_LIBM): New macro.
4447
4448 2007-05-17  Paul Eggert  <eggert@cs.ucla.edu>
4449
4450         * lib/dirent_.h: Prefer #include_next <foo.h> to #include
4451         @ABSOLUTE_FOO_H@ if @HAVE_INCLUDE_NEXT@.  This works better with
4452         GCC 4.2, which otherwise issues a lot of warnings.
4453         * lib/iconv_.h, lib/locale_.h, lib/netinet_in_.h, lib/sys_select_.h:
4454         * lib/sys_socket_.h, lib/sys_stat_.h, lib/sysexits_.h, lib/unistd_.h:
4455         Likewise.
4456         * modules/fchdir (dirent.h): Substitute @HAVE_INCLUDE_NEXT@.
4457         * modules/iconv_open (iconv.h): Likewise.
4458         * modules/locale (locale.h): Likewise.
4459         * modules/netinet_in (netinet/in.h): Likewise.
4460         * modules/sys_select (sys_select.h): Likewise.
4461         * modules/sys_socket (sys/socket.h): Likewise.
4462         * modules/sys_stat (sys/stat.h): Likewise.
4463         * modules/sysexits (sysexits.h): Likewise.
4464         * modules/unistd (unistd.h): Likewise.
4465
4466 2007-05-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
4467
4468         * modules/closein-tests (Makefile.am): Distribute
4469         `test-closein.sh'.
4470
4471 2007-05-17  Bruno Haible  <bruno@clisp.org>
4472
4473         * tests/test-printf-posix.output: Renamed from
4474         tests/test-fprintf-posix.out.
4475         * modules/fprintf-posix-tests: Update.
4476         * modules/printf-posix-tests: Update.
4477         * modules/vfprintf-posix-tests: Update.
4478         * modules/vprintf-posix-tests: Update.
4479         * tests/test-fprintf-posix.sh: Update.
4480         * tests/test-printf-posix.sh: Update.
4481         * tests/test-vfprintf-posix.sh: Update.
4482         * tests/test-vprintf-posix.sh: Update.
4483         Reported by Ralf Wildenhues.
4484
4485 2007-05-16  Paul Eggert  <eggert@cs.ucla.edu>
4486
4487         * lib/fcntl_.h: Prefer #include_next <foo.h> to #include
4488         @ABSOLUTE_FOO_H@ if @HAVE_INCLUDE_NEXT@.  This works better with
4489         GCC 4.2, which otherwise issues a lot of warnings.
4490         * lib/inttypes_.h, lib/math_.h, lib/search_.h, lib/signal_.h:
4491         * lib/stdint_.h, lib/stdio_.h, lib/stdlib_.h, lib/string_.h:
4492         * lib/sys_time_.h, lib/time_.h, lib/wchar_.h, lib/wctype_.h: Likewise.
4493         * lib/stdlib_.h: Don't bother with #pragma GCC system_header, as
4494         it should no longer be needed.
4495         * lib/string_.h: Likewise.
4496         * modules/absolute-header (HAVE_INCLUDE_NEXT): New 'make' define.
4497         * modules/fcntl (fcntl.h): Substitute @HAVE_INCLUDE_NEXT@.
4498         * modules/inttypes (inttypes.h): Likewise.
4499         * modules/math (math.h): Likewise.
4500         * modules/search (search.h): Likewise.
4501         * modules/signal (signal.h): Likewise.
4502         * modules/stdint (stdint.h): Likewise.
4503         * modules/stdio (stdio.h): Likewise.
4504         * modules/stdlib (stdlib.h): Likewise.
4505         * modules/string (string.h): Likewise.
4506         * modules/sys_time (sys/time.h): Likewise.
4507         * modules/time (time.h): Likewise.
4508         * modules/wchar (wchar.h): Likewise.
4509         * modules/wctype (wtype.h): Likewise.
4510
4511 2007-05-16  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
4512
4513         * doc/gnulib-tool.texi (CVS Issues): Fix typo.
4514
4515 2007-05-13  Bruno Haible  <bruno@clisp.org>
4516
4517         * stpcpy.m4 (gl_FUNC_STPCPY): Require AC_C_RESTRICT.
4518         * stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
4519         * strsep.m4 (gl_FUNC_STRSEP): Likewise.
4520         * strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
4521         (gl_PREREQ_STRTOK_R): Don't require it here.
4522
4523 2007-05-13  Bruno Haible  <bruno@clisp.org>
4524
4525         * lib/stdlib_.h (mkdtemp, mkstemp): Comment out argument name. Needed
4526         when used in C++ mode.
4527
4528 2007-05-12  Bruno Haible  <bruno@clisp.org>
4529
4530         * lib/linebuffer.h: Tweak doc.
4531         * lib/linebuffer.c: Likewise.
4532
4533 2007-05-12  James Youngman  <jay@gnu.org>
4534
4535         * lib/linebuffer.c (readlinebuffer_delim): New function,
4536         like readlinebuffer, but use a caller-specified delimiter.
4537         (readlinebuffer): Just call readlinebuffer_delim with '\n'
4538         as the delimiter.
4539         * lib/linebuffer.h (readlinebuffer_delim): Declare it.
4540
4541 2007-05-12  Sergey Poznyakoff  <gray@gnu.org.ua>
4542
4543         * m4/openat.m4 (gl_FUNC_OPENAT): Do not require openat-die.
4544         * modules/openat (Files): Remove openat-die.c.
4545         (Depends-on): Add openat-die.
4546         * modules/openat-die: New module.
4547
4548 2007-05-06  Bruno Haible  <bruno@clisp.org>
4549
4550         * m4/printf.m4 (gl_PRINTF_FLAG_GROUPING, gl_VSNPRINTF_ZEROSIZE_C99):
4551         Update with info about Cygwin.
4552         * doc/functions/fprintf.texi: Update.
4553         * doc/functions/printf.texi: Update.
4554         * doc/functions/snprintf.texi: Update.
4555         * doc/functions/sprintf.texi: Update.
4556         * doc/functions/vfprintf.texi: Update.
4557         * doc/functions/vprintf.texi: Update.
4558         * doc/functions/vsnprintf.texi: Update.
4559         * doc/functions/vsprintf.texi: Update.
4560         Reported by Eric Blake.
4561
4562 2007-05-06  Bruno Haible  <bruno@clisp.org>
4563
4564         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_ZERO]: Perform the
4565         padding ourselves for the floating-point directives.
4566         * m4/printf.m4 (gl_PRINTF_FLAG_ZERO): New macro.
4567         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_ZERO): New macro.
4568         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
4569         gl_PRINTF_FLAG_ZERO and test its result. Invoke
4570         gl_PREREQ_VASNPRINTF_FLAG_ZERO.
4571         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
4572         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Likewise.
4573         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
4574         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
4575         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
4576         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
4577         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
4578         * tests/test-snprintf-posix.h (test_function): Also check the width
4579         and some flags in the %f directive.
4580         * tests/test-sprintf-posix.h (test_function): Likewise.
4581         * tests/test-vasnprintf-posix.c (test_function): Likewise.
4582         * tests/test-vasprintf-posix.c (test_function): Likewise.
4583         * doc/functions/fprintf.texi: Update.
4584         * doc/functions/printf.texi: Update.
4585         * doc/functions/snprintf.texi: Update.
4586         * doc/functions/sprintf.texi: Update.
4587         * doc/functions/vfprintf.texi: Update.
4588         * doc/functions/vprintf.texi: Update.
4589         * doc/functions/vsnprintf.texi: Update.
4590         * doc/functions/vsprintf.texi: Update.
4591
4592 2007-05-06  Bruno Haible  <bruno@clisp.org>
4593
4594         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_GROUPING]: Don't
4595         pass the ' flag character to sprintf or snprintf.
4596         * m4/printf.m4 (gl_PRINTF_FLAG_GROUPING): New macro.
4597         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_GROUPING): New macro.
4598         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
4599         gl_PRINTF_FLAG_GROUPING and test its result. Invoke
4600         gl_PREREQ_VASNPRINTF_FLAG_GROUPING.
4601         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
4602         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Likewise.
4603         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
4604         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
4605         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
4606         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
4607         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
4608         * tests/test-snprintf-posix.h (test_function): Also check the grouping
4609         flag.
4610         * tests/test-sprintf-posix.h (test_function): Likewise.
4611         * tests/test-vasnprintf-posix.c (test_function): Likewise.
4612         * tests/test-vasprintf-posix.c (test_function): Likewise.
4613         * doc/functions/fprintf.texi: Update.
4614         * doc/functions/printf.texi: Update.
4615         * doc/functions/snprintf.texi: Update.
4616         * doc/functions/sprintf.texi: Update.
4617         * doc/functions/vfprintf.texi: Update.
4618         * doc/functions/vprintf.texi: Update.
4619         * doc/functions/vsnprintf.texi: Update.
4620         * doc/functions/vsprintf.texi: Update.
4621
4622 2007-05-01  Bruno Haible  <bruno@clisp.org>
4623
4624         * tests/test-argp-2.sh (func_compare): Drop .exe suffix.
4625
4626 2007-05-03  Paul Eggert  <eggert@cs.ucla.edu>
4627
4628         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Use better
4629         comment for D_INO_IN_DIRENT.  Problem reported by James Youngman.
4630
4631 2007-05-02  Paul Eggert  <eggert@cs.ucla.edu>
4632
4633         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Test whether
4634         readdir returns garbage in d_ino.  Problem reported by Kaz Sasayama in
4635         <http://lists.gnu.org/archive/html/bug-gnulib/2007-05/msg00021.html>.
4636
4637 2007-05-02  Sergey Poznyakoff  <gray@gnu.org.ua>
4638
4639         * lib/argp-help.c (struct hol_entry): New member `ord'.
4640         (HOL_ENTRY_PTRCMP): Use ord for comparison
4641         (hol_sort): Initialize ord.
4642
4643 2007-05-01  Bruno Haible  <bruno@clisp.org>
4644
4645         * doc/functions/_Exit_C99.texi: Renamed from doc/functions/_Exit.texi.
4646         Reported by Eric Blake.
4647         * doc/gnulib.texi (Function Substitutes): Update.
4648
4649 2007-05-01  Bruno Haible  <bruno@clisp.org>
4650
4651         * doc/functions.texi: Remove file, now redundant through
4652         doc/functions/*.texi.
4653
4654 2007-05-01  Bruno Haible  <bruno@clisp.org>
4655
4656         * modules/argp (Depends-on): Add sleep.
4657
4658 2007-05-01  Bruno Haible  <bruno@clisp.org>
4659
4660         * modules/sleep-tests: New file.
4661         * tests/test-sleep.c: New file.
4662
4663         * modules/sleep: New file.
4664         * lib/sleep.c: New file.
4665         * m4/sleep.m4: New file.
4666         * lib/unistd_.h (sleep): New declaration.
4667         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_SLEEP,
4668         HAVE_SLEEP.
4669         * modules/unistd (Makefile.am): Substitute GNULIB_SLEEP, HAVE_SLEEP.
4670         * doc/functions/sleep.texi: Document the sleep module.
4671
4672 2007-05-01  Bruno Haible  <bruno@clisp.org>
4673
4674         * lib/sigprocmask.h: Remove file.
4675         * lib/signal_.h: Incorporate the previous contents of sigprocmask.h.
4676         * lib/sigprocmask.c: Include <signal.h> instead of sigprocmask.h.
4677         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Substitute GNULIB_SIGPROCMASK,
4678         HAVE_POSIX_SIGNALBLOCKING, HAVE_SIGSET_T.
4679         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Require
4680         gl_SIGNAL_H_DEFAULTS. Set HAVE_POSIX_SIGNALBLOCKING as a shell variable.
4681         (gl_PREREQ_SIGPROCMASK): Require gl_SIGNAL_H_DEFAULTS. Set
4682         HAVE_SIGSET_T as a shell variable.
4683         * modules/signal (Makefile.am): Substitute GNULIB_SIGPROCMASK,
4684         HAVE_POSIX_SIGNALBLOCKING, HAVE_SIGSET_T into signal.h.
4685         * modules/sigprocmask (Files): Remove lib/sigprocmask.h.
4686         (Depends-on): Add signal. Remove verify.
4687         (configure.ac): Invoke gl_SIGNAL_MODULE_INDICATOR.
4688         (Include): Mention <signal.h> instead of sigprocmask.h.
4689         * NEWS: Mention the change.
4690         * lib/fatal-signal.c: Don't include sigprocmask.h.
4691
4692 2007-05-01  Bruno Haible  <bruno@clisp.org>
4693
4694         * modules/signal: New file.
4695         * lib/signal_.h: New file.
4696         * m4/signal_h.m4: New file.
4697
4698 2007-05-01  Bruno Haible  <bruno@clisp.org>
4699
4700         * lib/wctype_.h: Test HAVE_ISWCNTRL at configure time.
4701         * m4/wctype.m4 (gl_WCTYPE_H): Substitute HAVE_ISWCNTRL.
4702         * modules/wctype (Makefile.am): Substitute HAVE_ISWCNTRL instead of
4703         HAVE_WCTYPE_CTMP_BUG into wctype.h.
4704
4705 2007-05-01  Bruno Haible  <bruno@clisp.org>
4706
4707         * lib/sys_stat_.h: Test HAVE_LSTAT, HAVE_DECL_MKDIR, HAVE_IO_H at
4708         configure time.
4709         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Substitute HAVE_LSTAT,
4710         HAVE_DECL_MKDIR, HAVE_IO_H via AC_SUBST.
4711         * modules/sys_stat (Makefile.am): Substitute their values into
4712         sys/stat.h.
4713
4714 2007-05-01  Bruno Haible  <bruno@clisp.org>
4715
4716         * lib/glob_.h: Test HAVE_SYS_CDEFS_H at configure time.
4717         * m4/glob.m4 (gl_PREREQ_GLOB): Substitute HAVE_SYS_CDEFS_H via AC_SUBST.
4718         * modules/glob (Makefile.am): Put HAVE_SYS_CDEFS_H value into glob.h.
4719
4720 2007-05-01  Bruno Haible  <bruno@clisp.org>
4721
4722         * doc/header/assert.texi: Undo last change: don't mention the gnulib
4723         'assert' module here.
4724
4725 2007-05-01  Bruno Haible  <bruno@clisp.org>
4726
4727         * doc/functions/*.texi: New files.
4728         * doc/functions/google-ranking.txt: New file.
4729         * doc/gnulib.texi (Function Substitutes): New chapter.
4730         (ctime, inet_ntoa): Remove sections.
4731         * doc/ctime.texi: Remove file.
4732         * doc/inet_ntoa.texi: Remove file.
4733         * doc/Makefile (gnulib.info, gnulib.html, gnulib.dvi): Update
4734         dependencies.
4735         (%.info): New rule, specifying a --reference-limit.
4736
4737 2007-05-01  Bruno Haible  <bruno@clisp.org>
4738
4739         * MODULES.html.sh (posix_functions): Remove 'exec', 'toc'.
4740
4741 2007-05-01  Bruno Haible  <bruno@clisp.org>
4742
4743         * modules/mkdir (Depends-on): Add sys_stat, because sys_stat provides
4744         the portability of 'mkdir' to mingw systems.
4745
4746 2007-05-01  Bruno Haible  <bruno@clisp.org>
4747
4748         * doc/headers/google-ranking.txt: New file.
4749
4750 2007-04-30  Eric Blake  <ebb9@byu.net>
4751
4752         Prefer fseeko to fseek.
4753         * modules/getpass (Depends-on): Add fseeko.
4754         * lib/getpass.c (getpass): Use fseeko, not fseek.
4755
4756 2007-04-30  Sergey Poznyakoff  <gray@gnu.org.ua>
4757
4758         * lib/argp-help.c (hol_entry_cmp): Option sorting algorithm
4759         assumes the sorting is stable, while most qsort implementations
4760         are not.  Use argument addresses to ensure they never compare as
4761         equal.
4762
4763         * tests/test-argp-2.sh (usage-indent test): Fix output
4764         (func_compare): Restore diff options
4765         * tests/test-argp.c: Restore #include "progname.h"
4766
4767 2007-04-29  Bruno Haible  <bruno@clisp.org>
4768
4769         * m4/printf.m4 (gl_VSNPRINTF_ZEROSIZE_C99): New macro.
4770         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
4771         gl_VSNPRINTF_ZEROSIZE_C99. Test gl_cv_func_vsnprintf_zerosize_c99.
4772         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
4773         * modules/snprintf-posix-tests (Files): Add tests/test-snprintf.c.
4774         (configure.ac): Define CHECK_SNPRINTF_POSIX.
4775         (TESTS, check_PROGRAMS): Add test-snprintf.
4776         * modules/vsnprintf-posix-tests (Files): Add tests/test-vsnprintf.c.
4777         (configure.ac): Define CHECK_VSNPRINTF_POSIX.
4778         (TESTS, check_PROGRAMS): Add test-vsnprintf.
4779         * tests/test-snprintf.c (main) [!CHECK_SNPRINTF_POSIX]: Disable
4780         assertions that fail on HP-UX, OSF/1, or IRIX.
4781         * tests/test-vsnprintf.c (main) [!CHECK_VSNPRINTF_POSIX]: Likewise.
4782
4783 2007-04-29  Bruno Haible  <bruno@clisp.org>
4784
4785         * MODULES.html.sh (posix_functions): Remove 'contents'.
4786
4787 2007-04-29  Karl Berry  <karl@gnu.org>
4788
4789         * config/srclist.txt (gendocs_template_min): new entry.
4790
4791 2007-04-29  Bruno Haible  <bruno@clisp.org>
4792
4793         Work around fpurge bug on BSD systems.
4794         * modules/fpurge (Makefile.am): Compile fpurge.c unconditionally.
4795         * m4/fpurge.m4 (gl_FUNC_FPURGE): Don't invoke AC_LIBOBJ.
4796         * lib/fpurge.h (fpurge): Don't handle __fpurge wrapper here. Define
4797         fpurge to rpl_fpurge if the system already has this function.
4798         * lib/fpurge.c (fpurge): Handle also the __fpurge wrapper case and
4799         the case where the system already has this function. Correct invariants
4800         on BSD systems.
4801         * lib/fseeko.c (rpl_fseeko): Update recognition of preceding fflush on
4802         BSD systems.
4803
4804 2007-04-29  Sergey Poznyakoff  <gray@gnu.org.ua>
4805
4806         * lib/argp-help.c (hol_cluster_cmp): Reverse comparison.  Change
4807         proposed by Sven Verdoolaege.
4808
4809         * tests/test-argp.c: Fix option ordering.  Test deeply clustered
4810         options.
4811         * tests/test-argp-2.sh (func_compare): Use diff instead of cmp.
4812         (usage and help tests): Update
4813
4814 2007-04-29  Bruno Haible  <bruno@clisp.org>
4815
4816         * tests/test-fflush.c (main): Use a file of size 17, not 10.
4817         Print more information in case of failure. Disable a test on BeOS.
4818
4819 2007-04-29  Bruno Haible  <bruno@clisp.org>
4820
4821         * tests/**/test-*.[hc] (ASSERT): Use fprintf to show the line number.
4822         This helps debugging on systems on which no gdb is available.
4823
4824 2007-04-29  Bruno Haible  <bruno@clisp.org>
4825
4826         * lib/freading.h: Improve comments.
4827         * lib/fwriting.h: Likewise.
4828         * tests/test-freading.c (main): Don't check freading immediately after
4829         repositioning. Needed for glibc.
4830
4831 2007-04-29  Bruno Haible  <bruno@clisp.org>
4832
4833         * lib/freading.c (freading): Trivial simplification.
4834
4835 2007-04-28  Bruno Haible  <bruno@clisp.org>
4836
4837         * tests/test-fwriting.c (main): Also test the interaction between
4838         fflush and fwriting.
4839         * modules/fwriting-tests (Depends-on): Add fflush.
4840
4841         * tests/test-freading.c (main): Also test the interaction between
4842         fflush and freading.
4843         * modules/freading-tests (Depends-on): Add fflush.
4844
4845 2007-04-28  Bruno Haible  <bruno@clisp.org>
4846
4847         * lib/stdio_.h (fseek, ftell): Provide link warnings suggesting to use
4848         fseeko and ftello.
4849         Suggested by Eric Blake.
4850
4851 2007-04-28  Jim Meyering  <jim@meyering.net>
4852
4853         Avoid false-negative in gl_STDINT_H's C99 conformance test.
4854         * m4/stdint.m4 (gl_STDINT_H): When checking whether stdint.h conforms
4855         to C99, include all of gl_STDINT_INCLUDES, not just <stddef.h>.
4856
4857 2007-04-27  Eric Blake  <ebb9@byu.net>
4858
4859         * doc/headers/assert.texi (assert.h): Document assert module use.
4860
4861 2007-04-27  Bruno Haible  <bruno@clisp.org>
4862
4863         * doc/headers/*.texi: New files.
4864         * doc/gnulib.texi (Header File Substitutes): New chapter.
4865         * doc/Makefile (gnulib.info, gnulib.html, gnulib.dvi): Specify
4866         dependencies.
4867         (standards.info ,standards.html, standards.dvi): Update dependencies.
4868         (mostlyclean, clean): New targets.
4869
4870 2007-04-27  Bruno Haible  <bruno@clisp.org>
4871
4872         * lib/sysexits_.h: Renamed from lib/sysexit_.h.
4873         * modules/sysexits (Files, Makefile.am): Update.
4874
4875         * lib/sys_socket_.h: Renamed from lib/socket_.h.
4876         * modules/sys_socket (Files, Makefile.am): Update.
4877
4878         * lib/sys_stat_.h: Renamed from lib/stat_.h.
4879         * modules/sys_stat (Files, Makefile.am): Update.
4880
4881 2007-04-27  Eric Blake  <ebb9@byu.net>
4882
4883         * lib/freading.h: Improve comments.
4884         * lib/fwriting.h: Likewise.
4885         * lib/fflush.c: Likewise.
4886
4887         Fix closein for mingw.
4888         * modules/closein-tests: Add tests for closein.
4889         * tests/test-closein.c: New file.
4890         * tests/test-closein.sh: Likewise.
4891         * lib/unistd_.h [!SEEK_CUR]: Mingw also needs stdlib.h for _exit.
4892         * lib/closein.c (close_stdin): Don't fflush non-seekable streams.
4893
4894 2007-04-27  Bruno Haible  <bruno@clisp.org>
4895
4896         * lib/inttypes_.h [_DECC]: Don't use #include_next if the compiler
4897         version is < 6.
4898         * lib/math_.h [__DECC]: Likewise.
4899         * lib/stdio_.h [__DECC]: Likewise.
4900         * lib/stdlib_.h [__DECC]: Likewise.
4901         * lib/string_.h [__DECC]: Likewise.
4902         * lib/time_.h [__DECC]: Likewise.
4903         * lib/wchar_.h [__DECC]: Likewise.
4904         * lib/wctype_.h [__DECC]: Likewise.
4905
4906 2007-04-27  Bruno Haible  <bruno@clisp.org>
4907
4908         * tests/test-fbufmode.c (main): Relax test, to avoid failure on mingw.
4909
4910 2007-04-27  Bruno Haible  <bruno@clisp.org>
4911
4912         * lib/fflush.c: Add comments.
4913         * modules/fpurge-tests (Depends-on): Add fflush.
4914         * modules/freadable-tests (Depends-on): Likewise.
4915         * modules/fwritable-tests (Depends-on): Likewise.
4916
4917 2007-04-27  Charles Wilson  <libtool@cwilson.fastmail.fm>
4918
4919         * m4/argz.m4 (gl_FUNC_ARGZ): Use !HAVE_WORKING_ARGZ instead of
4920         SYSTEM_ARGZ_IS_BROKEN.  Also, minor stylistic improvements.
4921         Report by Bruno Haible <bruno@clisp.org>.
4922
4923 2007-04-26  Eric Blake  <ebb9@byu.net>
4924
4925         Fix fflush on mingw.
4926         * modules/fflush (Depends-on): Add freading.
4927         * lib/fflush.c (rpl_fflush): Use freading to avoid losing buffered
4928         but unread data.
4929
4930 2007-04-26  Eric Blake  <ebb9@byu.net>
4931         and Bruno Haible  <bruno@clisp.org>
4932
4933         Implement freading and fwriting.
4934         * lib/freading.c: New file.
4935         * lib/freading.h: Likewise.
4936         * m4/freading.m4: Likewise.
4937         * modules/freading: Likewise.
4938         * modules/freading-tests: Likewise.
4939         * tests/test-freading.c: Likewise.
4940         * lib/fwriting.c: New file.
4941         * lib/fwriting.h: Likewise.
4942         * m4/fwriting.m4: Likewise.
4943         * modules/fwriting: Likewise.
4944         * modules/fwriting-tests: Likewise.
4945         * tests/test-fwriting.c: Likewise.
4946         * MODULES.html.sh (File stream based Input/Output): Mention them.
4947
4948 2007-04-26  Bruno Haible  <bruno@clisp.org>
4949
4950         * lib/stdio_.h (fseeko, ftello): Check that off_t has the same size as
4951         'long' when we assume it.
4952         Suggested by Eric Blake.
4953
4954 2007-04-26  Bruno Haible  <bruno@clisp.org>
4955
4956         Ensure fseeko, ftello are declared on glibc systems.
4957         * modules/fflush (configure.ac-early): Require AC_FUNC_FSEEKO.
4958         * modules/fseeko (configure.ac-early): Likewise.
4959         * modules/ftello (configure.ac-early): Likewise.
4960         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Don't define HAVE_FSEEKO, rely on
4961         AC_FUNC_FSEEKO for this.
4962         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Inline gl_CHECK_FSEEKO.
4963         (gl_CHECK_FSEEKO): Remove macro.
4964
4965 2007-04-26  Bruno Haible  <bruno@clisp.org>
4966
4967         * tests/test-fflush.c (main): Also check the ftell result after
4968         fflush and fseek/fseeko.
4969         * lib/fflush.c (rpl_fflush): For BSD implementations, update the
4970         file descriptor position cache in the stream.
4971         * lib/fseeko.c (rpl_fseeko): Likewise.
4972
4973 2007-04-26  Bruno Haible  <bruno@clisp.org>
4974
4975         * modules/fflush-tests (Depends-on): Add fseeko.
4976
4977 2007-04-25  Charles Wilson  <libtool@cwilson.fastmail.fm>
4978             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
4979
4980         * lib/argz_.h: ensure error_t definition is obtained in same
4981         mechanism system argz.h would have.
4982         * m4/argz.m4 (gl_FUNC_ARGZ): add new test to check if $host's
4983         argz facilities are known bad.  Err on the side of caution if
4984         cross-compiling.
4985
4986 2007-04-25  Eric Blake  <ebb9@byu.net>
4987
4988         * lib/fpurge.c (includes): Use stdlib.h for free.
4989         * tests/test-fflush.c (main): Also test fflush-fseeko.
4990
4991 2007-04-25  Bruno Haible  <bruno@clisp.org>
4992
4993         Make fflush+fseek POSIX-compliant on FreeBSD and MacOS X.
4994         * lib/fseeko.c: New file.
4995         * lib/stdio_.h: Include <sys/types.h> when off_t is needed.
4996         (fseeko, fseek): Define to replacements if REPLACE_FFLUSH.
4997         * m4/fseeko.m4 (gl_CHECK_FSEEKO): New macro, extracted from
4998         gl_FUNC_FSEEKO.
4999         (gl_FUNC_FSEEKO): Invoke it.
5000         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Arrange to compile fseeko.c. Invoke
5001         gl_CHECK_FSEEKO. Define HAVE_FSEEKO.
5002         * modules/fflush (Files): Add lib/fseeko.c, m4/fseeko.m4.
5003
5004 2007-04-25  Bruno Haible  <bruno@clisp.org>
5005
5006         * modules/fflush (Depends-on): Add ftello.
5007
5008 2007-04-25  Bruno Haible  <bruno@clisp.org>
5009
5010         * modules/ftello-tests: New file.
5011         * tests/test-ftello.c: New file.
5012
5013         * modules/ftello: New file.
5014         * m4/ftello.m4: New file.
5015         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FTELLO,
5016         HAVE_FTELLO.
5017         * lib/stdio_.h (ftello): New declaration.
5018         * modules/stdio (Makefile.am): Substitute also GNULIB_FTELLO,
5019         HAVE_FTELLO.
5020
5021 2007-04-25  Bruno Haible  <bruno@clisp.org>
5022
5023         * modules/fseeko-tests: New file.
5024         * tests/test-fseeko.c: New file.
5025
5026         * modules/fseeko: New file.
5027         * m4/fseeko.m4: New file.
5028         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FSEEKO,
5029         HAVE_FSEEKO.
5030         * lib/stdio_.h (fseeko): New declaration.
5031         * modules/stdio (Makefile.am): Substitute also GNULIB_FSEEKO,
5032         HAVE_FSEEKO.
5033
5034 2007-04-25  Bruno Haible  <bruno@clisp.org>
5035
5036         * lib/stdio_.h (fflush): Add support for GNULIB_POSIXCHECK.
5037
5038 2007-04-25  Bruno Haible  <bruno@clisp.org>
5039
5040         * lib/unistd_.h: Include <stdio.h> if needed to get the SEEK_* macros.
5041         * tests/test-stdio.c: Check that the various SEEK_* macros are defined.
5042         * tests/test-unistd.c: Likewise.
5043         * tests/test-fcntl.c: Likewise.
5044
5045 2007-04-23  Eric Blake  <ebb9@byu.net>
5046
5047         * lib/fflush.c: Fix missing include.
5048         Reported by Bruno Haible.
5049
5050 2007-04-23  Bruno Haible  <bruno@clisp.org>
5051
5052         * lib/fpurge.c (fpurge) [glibc, BSD]: Free a malloc()ed ungetc buffer.
5053         Reported by Eric Blake.
5054
5055 2007-04-23  Bruno Haible  <bruno@clisp.org>
5056
5057         * lib/fbufmode.c (fbufmode): Port to Solaris/SPARC64.
5058
5059 2007-04-23  Bruno Haible  <bruno@clisp.org>
5060
5061         * lib/fseterr.c (fseterr): Don't hardcode the value of _IOERR.
5062
5063 2007-04-23  Bruno Haible  <bruno@clisp.org>
5064
5065         * tests/test-fbufmode.c (main): Be prepared to a failure of setvbuf.
5066         Needed on HP-UX 11.
5067
5068 2007-04-16  Eric Blake  <ebb9@byu.net>
5069
5070         Make fflush rely on fpurge.
5071         * lib/fflush.c (rpl_fflush): Rely on fpurge module, rather than
5072         open coding all variants.
5073         * modules/fflush (Depends-on): Add fpurge and unistd.
5074         * modules/fflush-tests (Depends-on): Unistd is no longer extra.
5075         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Simplify.
5076
5077         Fix --with-tests compilation on cygwin.
5078         * modules/argmatch-tests (Makefile.am): List gnulib library first
5079         in LDADD.
5080         * modules/argp-tests (Makefile.am): Likewise.
5081         * modules/array-list-tests (Makefile.am): Likewise.
5082         * modules/array-oset-tests (Makefile.am): Likewise.
5083         * modules/avltree-list-tests (Makefile.am): Likewise.
5084         * modules/avltree-oset-tests (Makefile.am): Likewise.
5085         * modules/avltreehash-list-tests (Makefile.am): Likewise.
5086         * modules/carray-list-tests (Makefile.am): Likewise.
5087         * modules/dirname-tests (Makefile.am): Likewise.
5088         * modules/frexp-tests (Makefile.am): Likewise.
5089         * modules/isnanl-tests (Makefile.am): Likewise.
5090         * modules/linked-list-tests (Makefile.am): Likewise.
5091         * modules/linkedhash-list-tests (Makefile.am): Likewise.
5092         * modules/lock-tests (Makefile.am): Likewise.
5093         * modules/rbtree-list-tests (Makefile.am): Likewise.
5094         * modules/rbtree-oset-tests (Makefile.am): Likewise.
5095         * modules/rbtreehash-list-tests (Makefile.am): Likewise.
5096         * modules/tls-tests (Makefile.am): Likewise.
5097         * modules/tsearch-tests (Makefile.am): Likewise.
5098         * modules/xvasprintf-tests (Makefile.am): Likewise.
5099
5100         Fix fpurge for cygwin.
5101         * lib/fpurge.c (fpurge): Fix order of operation flub, and return a
5102         value.
5103         * modules/fpurge-tests (Depends-on): Clean up trash.
5104
5105 2007-04-16  Simon Josefsson  <simon@josefsson.org>
5106
5107         * lib/gc-libgcrypt.c (gc_hash_open): Shut up compiler warnings.
5108
5109         * m4/autobuild.m4: Re-indent.
5110
5111 2007-04-13  Bruno Haible  <bruno@clisp.org>
5112
5113         * modules/fpurge-tests: New file.
5114         * tests/test-fpurge.c: New file.
5115
5116         * modules/fpurge: New file.
5117         * lib/fpurge.h: New file.
5118         * lib/fpurge.c: New file.
5119         * m4/fpurge.m4: New file.
5120
5121 2007-04-13  Bruno Haible  <bruno@clisp.org>
5122
5123         * modules/fbufmode-tests: New file.
5124         * tests/test-fbufmode.c: New file.
5125
5126         * modules/fbufmode: New file.
5127         * lib/fbufmode.h: New file.
5128         * lib/fbufmode.c: New file.
5129         * m4/fbufmode.m4: New file.
5130
5131 2007-04-13  Bruno Haible  <bruno@clisp.org>
5132
5133         * modules/fwritable-tests: New file.
5134         * tests/test-fwritable.c: New file.
5135
5136         * modules/fwritable: New file.
5137         * lib/fwritable.h: New file.
5138         * lib/fwritable.c: New file.
5139         * m4/fwritable.m4: New file.
5140
5141 2007-04-13  Bruno Haible  <bruno@clisp.org>
5142
5143         * modules/freadable-tests: New file.
5144         * tests/test-freadable.c: New file.
5145
5146         * modules/freadable: New file.
5147         * lib/freadable.h: New file.
5148         * lib/freadable.c: New file.
5149         * m4/freadable.m4: New file.
5150
5151 2007-04-13  Bruno Haible  <bruno@clisp.org>
5152
5153         * modules/fflush-tests (Makefile.am): Remove EXTRA_DIST. Augment
5154         MOSTLYCLEANFILES.
5155
5156 2007-04-13  Paul Eggert  <eggert@cs.ucla.edu>
5157
5158         * build-aux/bootstrap (gnulib_tool_option_extras): New var, used by
5159         gzip bootstrap.conf to avoid dragging in i18n machinery.
5160         (gnulib_tool_option): Use it.
5161
5162 2007-04-13  Bruno Haible  <bruno@clisp.org>
5163
5164         * tests/test-vasnprintf-posix.c (test_function): Add tests for %f and
5165         %F directives.
5166         * tests/test-vasprintf-posix.c (test_function): Likewise.
5167         * tests/test-snprintf-posix.h (test_function): Likewise.
5168         * tests/test-sprintf-posix.h (test_function): Likewise.
5169         * tests/test-fprintf-posix.h (test_function): Likewise.
5170         * tests/test-printf-posix.h (test_function): Likewise.
5171         * tests/test-fprintf-posix.out: Likewise.
5172
5173 2007-04-13  Bruno Haible  <bruno@clisp.org>
5174
5175         * modules/lock-tests (configure.ac): For LIBSCHED, try also -lposix4.
5176         * modules/tls-tests (configure.ac): Likewise.
5177         Reported by Arto C. Nirkko <anirkko@insel.ch>.
5178
5179 2007-04-13  Bruno Haible  <bruno@clisp.org>
5180
5181         * lib/tls.c (glthread_tls_get): Fix return type.
5182         Patch by Arto C. Nirkko <anirkko@insel.ch>.
5183
5184 2007-04-12  Eric Blake  <ebb9@byu.net>
5185
5186         * modules/gettime (Depends-on): Remove gettime.
5187         Reported by Dmitry V. Levin.
5188
5189 2007-04-12  Bruno Haible  <bruno@clisp.org>
5190
5191         * modules/fflush (Include): Mention <stdio.h>.
5192         * modules/strtoimax (Include): Mention <inttypes.h>.
5193         * modules/strtoumax (Include): Likewise.
5194
5195 2007-04-12  Eric Blake  <ebb9@byu.net>
5196
5197         * .cvsignore: New file.
5198         * .gitignore: Likewise.
5199
5200 2007-04-12  Bruno Haible  <bruno@clisp.org>
5201
5202         * modules/iconv-tests (test_iconv_LDADD): Mention -liconv after LDADD,
5203         not before, since $(LDADD) often contains libgnu.a.
5204         * modules/striconv-tests (test_striconv_LDADD): Likewise.
5205         * modules/striconveh-tests (test_striconveh_LDADD): Likewise.
5206         * modules/striconveha-tests (test_striconveha_LDADD): Likewise.
5207         Needed on Cygwin.
5208
5209 2007-04-12  Eric Blake  <ebb9@byu.net>
5210
5211         Work around glibc's failure to flush stdin on fclose.
5212         * lib/closein.c (close_stdin): Flush stdin before closing.
5213
5214         Work around glibc's failure to reset seekable stdin on exit.
5215         * modules/closein: New module.
5216         * lib/closein.c: New file.
5217         * lib/closein.h: Likewise.
5218         * m4/closein.m4: Likewise.
5219         * MODULES.html.sh (File stream based Input/Output): Document it.
5220
5221 2007-04-12  Simon Josefsson  <simon@josefsson.org>
5222
5223         * gnulib-tool: Rename generated 'autobuild' script to
5224         'do-autobuild' in --create-megatestdir output.
5225
5226         * doc/gnulib.texi (Build robot for gnulib): Fix.
5227
5228 2007-04-12  Simon Josefsson  <simon@josefsson.org>
5229
5230         * modules/sysexits (Depends-on): Add absolute-header.
5231
5232 2007-04-12  Eric Blake  <ebb9@byu.net>
5233
5234         No need to preserve errno on success.
5235         * lib/fflush.c (rpl_fflush): Simplify errno tracking.
5236         Reported by Bruno Haible.
5237
5238 2007-04-12  Simon Josefsson  <simon@josefsson.org>
5239
5240         * MODULES.html.sh (Support for maintaining and releasing
5241         projects): Add autobuild.  Suggested by Eric Blake <ebb9@byu.net>.
5242
5243 2007-04-12  Simon Josefsson  <simon@josefsson.org>
5244
5245         * gnulib-tool (func_modules_add_dummy): Respect --avoid=dummy.
5246
5247 2007-04-12  Simon Josefsson  <simon@josefsson.org>
5248
5249         * modules/autobuild: New module.
5250
5251         * m4/autobuild.m4: New file.
5252
5253 2007-04-11  Bruno Haible  <bruno@clisp.org>
5254
5255         * lib/vasnprintf.c (VASNPRINTF): Implement the %F directive using the
5256         %f directive, if NEED_PRINTF_DIRECTIVE_F is defined.
5257         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_F): New macro.
5258         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_F): New macro.
5259         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
5260         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
5261         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
5262         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
5263         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
5264         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
5265         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Invoke
5266         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
5267         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
5268         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Invoke
5269         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
5270         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
5271         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Invoke
5272         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
5273         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
5274         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Invoke
5275         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
5276         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
5277         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Invoke
5278         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
5279         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
5280         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Invoke
5281         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
5282         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
5283         Reported by Eric Blake.
5284
5285 2007-04-11  Bruno Haible  <bruno@clisp.org>
5286
5287         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Fix test. It always failed.
5288
5289 2007-04-10  Bruno Haible  <bruno@clisp.org>
5290
5291         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Add a test for correct result
5292         for NaN and Infinity. Needed on FreeBSD 6.1.
5293         * tests/test-vasnprintf-posix.c (test_function): Undo last change
5294         regarding results for "%010a" of Infinity and NaN.
5295         * tests/test-vasprintf-posix.c (test_function): Likewise.
5296         * tests/test-snprintf-posix.h (test_function): Likewise.
5297         * tests/test-sprintf-posix.h (test_function): Likewise.
5298         * tests/test-fprintf-posix.h (test_function): Likewise.
5299         * tests/test-printf-posix.h (test_function): Likewise.
5300         * tests/test-fprintf-posix.out: Likewise.
5301
5302 2007-04-10  Bruno Haible  <bruno@clisp.org>
5303
5304         * modules/locale-tests: New file.
5305         * tests/test-locale.c: New file.
5306
5307         * modules/locale: New file.
5308         * lib/locale_.h: New file.
5309         * m4/locale_h.m4: New file.
5310
5311 2007-04-10  Paul Eggert  <eggert@cs.ucla.edu>
5312             Bruno Haible  <bruno@clisp.org>
5313
5314         * m4/signbit.m4 (gl_SIGNBIT): When the sign bit position could not
5315         be determined, test for availability of the copysignf, copysign,
5316         copysignl functions.
5317         * lib/signbitf.c (gl_signbitf): Use copysignf if available in libc.
5318         * lib/signbitd.c (gl_signbitd): Use copysign if available in libc.
5319         * lib/signbitl.c (gl_signbitl): Use copysignl if available in libc.
5320
5321 2007-04-09  Eric Blake  <ebb9@byu.net>
5322
5323         * lib/stdio_.h [REPLACE_FFLUSH]: Declare rpl_fflush.
5324         * modules/stdio (Makefile.am): Support fflush.
5325         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
5326         * modules/fflush: New file.
5327         * lib/fflush.c: Likewise.
5328         * m4/fflush.m4: Likewise.
5329         * modules/fflush-tests: New test.
5330         * tests/test-fflush.c: Likewise.
5331         * MODULES.html.sh (Input/output <stdio.h>): Document new module.
5332
5333 2007-04-06  Bruno Haible  <bruno@clisp.org>
5334
5335         * lib/vasnprintf.c: Include <math.h>. Don't include float+.h.
5336         (VASNPRINTF): Use signbit for faster determination whether to print a
5337         minus sign.
5338         * modules/vasnprintf (Files): Remove lib/float+.h.
5339         * modules/fprintf-posix (Depends-on): Add signbit.
5340         * modules/snprintf-posix (Depends-on): Likewise.
5341         * modules/sprintf-posix (Depends-on): Likewise.
5342         * modules/vasnprintf-posix (Depends-on): Likewise.
5343         * modules/vasprintf-posix (Depends-on): Likewise.
5344         * modules/vfprintf-posix (Depends-on): Likewise.
5345         * modules/vsnprintf-posix (Depends-on): Likewise.
5346         * modules/vsprintf-posix (Depends-on): Likewise.
5347
5348 2007-04-06  Bruno Haible  <bruno@clisp.org>
5349
5350         * tests/test-frexp.c (main): Test also the sign bit of zero results.
5351         * tests/test-frexpl.c (main): Likewise.
5352         * tests/test-ldexpl.c (main): Likewise.
5353         * modules/frexp-tests (Depends-on): Add signbit.
5354         * modules/frexpl-tests (Depdends-on): Likewise.
5355         * modules/ldexpl-tests (Depdends-on): Likewise.
5356
5357 2007-04-06  Bruno Haible  <bruno@clisp.org>
5358
5359         * modules/signbit-tests: New file.
5360         * tests/test-signbit.c: New file.
5361
5362         * modules/signbit: New file.
5363         * lib/signbitf.c: New file.
5364         * lib/signbitd.c: New file.
5365         * lib/signbitl.c: New file.
5366         * m4/signbit.m4: New file.
5367         * lib/math_.h (gl_signbitf, gl_signbitd, gl_signbitl): New declarations.
5368         (signbit): New macro.
5369         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_SIGNBIT and
5370         REPLACE_SIGNBIT.
5371         * modules/math (Makefile.am) Substibute also GNULIB_SIGNBIT and
5372         REPLACE_FREXPL into math.h.
5373
5374 2007-04-06  Bruno Haible  <bruno@clisp.org>
5375
5376         * modules/isnanf-nolibm-tests: New file.
5377         * tests/test-isnanf.c: New file.
5378
5379         * modules/isnanf-nolibm: New file.
5380         * lib/isnanf.h: New file.
5381         * lib/isnanf.c: New file.
5382         * lib/isnan.c: Consider the USE_FLOAT macro.
5383         * m4/isnanf.m4: New file.
5384
5385 2007-04-06  Bruno Haible  <bruno@clisp.org>
5386
5387         * modules/gettext-h (configure.ac): AC_SUBST LIBINTL and LTLIBINTL.
5388         (Link): New section.
5389
5390         * modules/canonicalize-lgpl-tests (Makefile.am): Undo last change.
5391
5392 2007-04-06  Bruno Haible  <bruno@clisp.org>
5393
5394         Assume the 'long double' type.
5395         * m4/longdouble.m4: Remove file.
5396         * config/srclist.txt: Don't mention longdouble.m4.
5397         * lib/allocsa.h: Assume HAVE_LONG_DOUBLE to be true.
5398         * lib/float+.h: Likewise.
5399         * lib/frexp.c: Likewise.
5400         * lib/printf-args.h: Likewise.
5401         * lib/printf-args.c: Likewise.
5402         * lib/printf-frexp.c: Likewise.
5403         * lib/printf-parse.c: Likewise.
5404         * lib/vasnprintf.c: Likewise.
5405         * m4/allocsa.m4: Remove gt_TYPE_LONGDOUBLE invocation.
5406         * m4/intl.m4: Likewise.
5407         * m4/isnanl.m4: Likewise.
5408         * m4/printf.m4: Likewise.
5409         * m4/printf-frexpl.m4: Likewise.
5410         * m4/vasnprintf.m4: Likewise.
5411         * modules/allocsa (Files): Remove m4/longdouble.m4.
5412         * modules/gettext (Files): Likewise.
5413         * modules/relocatable-prog-wrapper (Files): Likewise.
5414         * modules/vasnprintf (Files): Likewise.
5415         * modules/isnanl (Files): Likewise.
5416         (Include): Simplify.
5417         * modules/isnanl-nolibm (Files): Remove m4/longdouble.m4.
5418         (Include): Simplify.
5419         * modules/printf-frexpl (Files): Remove m4/longdouble.m4.
5420         (Include): Simplify.
5421         * modules/snprintf-posix-tests (Files): Remove m4/longdouble.m4.
5422         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
5423         * modules/sprintf-posix-tests (Files): Remove m4/longdouble.m4.
5424         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
5425         * modules/vasnprintf-posix-tests (Files): Remove m4/longdouble.m4.
5426         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
5427         * modules/vasprintf-posix-tests (Files): Remove m4/longdouble.m4.
5428         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
5429         * modules/vsnprintf-posix-tests (Files): Remove m4/longdouble.m4.
5430         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
5431         * modules/vsprintf-posix-tests (Files): Remove m4/longdouble.m4.
5432         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
5433         * tests/test-isnanl-nolibm.c: Assume HAVE_LONG_DOUBLE to be true.
5434         * tests/test-isnanl.c: Likewise.
5435         * tests/test-snprintf-posix.h: Likewise.
5436         * tests/test-sprintf-posix.h: Likewise.
5437         * tests/test-vasnprintf-posix.c: Likewise.
5438         * tests/test-vasnprintf-posix2.c: Likewise.
5439         * tests/test-vasprintf-posix.c: Likewise.
5440
5441 2007-04-06  Bruno Haible  <bruno@clisp.org>
5442
5443         Fix problem with Compaq (ex-DEC) Desktop C compiler on Tru64.
5444         * lib/math_.h [__DECC]: Include the overridden include file through
5445         #include_next, outside the double-inclusion guard.
5446         * lib/stdio_.h [__DECC]: Likewise.
5447         * lib/stdlib_.h [__DECC]: Likewise.
5448         * lib/string_.h [__DECC]: Likewise.
5449         * lib/time_.h [__DECC]: Likewise.
5450         * lib/wchar_.h [__DECC]: Likewise.
5451         * lib/wctype_.h [__DECC]: Likewise.
5452         * lib/inttypes_.h [__DECC]: Likewise.
5453         Reported by Albert Chin <china@thewrittenword.com> in
5454         <http://lists.gnu.org/archive/html/bug-gnulib/2007-04/msg00088.html>.
5455
5456 2007-04-04  Eric Blake  <ebb9@byu.net>
5457
5458         * m4/stdint.m4 (gl_STDINT_H): Detect WINT_MAX bug in cygwin
5459         1.5.x.
5460
5461 2007-04-04  Bruno Haible  <bruno@clisp.org>
5462
5463         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Add a test for correct
5464         rounding. Don't assume that FreeBSD 6 and NetBSD 4 pass this test.
5465
5466 2007-04-04  Bruno Haible  <bruno@clisp.org>
5467
5468         * tests/test-vasnprintf-posix.c (test_function): Allow two possible
5469         results for "%010a" of Infinity and NaN.
5470         * tests/test-vasprintf-posix.c (test_function): Likewise.
5471         * tests/test-snprintf-posix.h (test_function): Likewise.
5472         * tests/test-sprintf-posix.h (test_function): Likewise.
5473         * tests/test-fprintf-posix.h (test_function): Remove these tests.
5474         * tests/test-printf-posix.h (test_function): Likewise.
5475         * tests/test-fprintf-posix.out: Update.
5476         Needed for FreeBSD 6.1.
5477
5478 2007-04-04  Bruno Haible  <bruno@clisp.org>
5479
5480         * DEPENDENCIES: Remove mentions of tar and gzip, since they are not
5481         directly used by the gnulib modules nor by gnulib-tool.
5482
5483 2007-04-04  Paul Eggert  <eggert@cs.ucla.edu>
5484
5485         * DEPENDENCIES: Give overall description of version dependency
5486         desirability.  Use more-typical names for apps.
5487         Add shell, coreutils, diffutils, grep, tar, gzip.
5488
5489 2007-04-04  Simon Josefsson  <simon@josefsson.org>
5490
5491         * MODULES.html.sh: Rename crypto modules.  Remove iconvme.
5492
5493 2007-04-04  Karl Berry  <karl@gnu.org>
5494
5495         * MODULES.html.sh (func_module): missing '.
5496
5497 2007-04-03  Bruno Haible  <bruno@clisp.org>
5498
5499         * modules/argmatch-tests (Makefile.am): New variable
5500         test_argmatch_LDADD.
5501         * modules/argp-tests (Makefile.am): New variable test_argp_LDADD.
5502         * modules/array-list-tests (Makefile.am): New variable
5503         test_array_list_LDADD.
5504         * modules/array-oset-tests (Makefile.am): New variable
5505         test_array_oset_LDADD.
5506         * modules/avltree-list-tests (Makefile.am): New variable
5507         test_avltree_list_LDADD.
5508         * modules/avltree-oset-tests (Makefile.am): New variable
5509         test_avltree_oset_LDADD.
5510         * modules/avltreehash-list-tests (Makefile.am): New variable
5511         test_avltreehash_list_LDADD.
5512         * modules/canonicalize-lgpl-tests (Makefile.am): New variable
5513         test_canonicalize_lgpl_LDADD.
5514         * modules/carray-list-tests (Makefile.am): New variable
5515         test_carray_list_LDADD.
5516         * modules/dirname-tests (Makefile.am): New variable
5517         test_dirname_LDADD.
5518         * modules/linked-list-tests (Makefile.am): New variable
5519         test_linked_list_LDADD.
5520         * modules/linkedhash-list-tests (Makefile.am): New variable
5521         test_linkedhash_list_LDADD.
5522         * modules/rbtree-list-tests (Makefile.am): New variable
5523         test_rbtree_list_LDADD.
5524         * modules/rbtree-oset-tests (Makefile.am): New variable
5525         test_rbtree_oset_LDADD.
5526         * modules/rbtreehash-list-tests (Makefile.am): New variable
5527         test_rbtreehash_list_LDADD.
5528         * modules/xvasprintf-tests (Makefile.am): New variable
5529         test_xvasprintf_LDADD.
5530         Reported by Eric Blake.
5531
5532 2007-04-03  Eric Blake  <ebb9@byu.net>
5533
5534         * DEPENDENCIES: Weaken m4 requirements.
5535
5536 2007-04-03  Bruno Haible  <bruno@clisp.org>
5537
5538         * modules/frexp-tests (configure.ac): Remove AC_SUBST.
5539         * modules/isnanl-tests (configure.ac): Likewise.
5540
5541 2007-04-03  Ben Pfaff  <blp@gnu.org>
5542
5543         * modules/iconv_open: Add $(srcdir)/ to source directory
5544         references in Makefile fragments that call gperf, to fix VPATH
5545         builds.
5546
5547 2007-04-03  Bruno Haible  <bruno@clisp.org>
5548
5549         * modules/ldexpl (Depends-on): Add isnanl, remove isnanl-nolibm.
5550         * lib/ldexpl.c: Undo last change.
5551
5552 2007-04-03  Bruno Haible  <bruno@clisp.org>
5553
5554         * modules/printf-frexpl (Depends-on): Undo last change.
5555         (Files): Add m4/ldexpl.m4.
5556
5557 2007-04-03  Bruno Haible  <bruno@clisp.org>
5558
5559         * m4/isnanl.m4 (gl_FUNC_ISNANL): Substitute ISNANL_LIBM.
5560         * modules/isnanl (Link): New section.
5561
5562         * m4/frexp.m4 (gl_FUNC_FREXP): Substitute FREXP_LIBM.
5563         * modules/frexp (Link): New section.
5564
5565         * m4/frexpl.m4 (gl_FUNC_FREXPL): Substitute FREXPL_LIBM.
5566         * modules/frexpl (Link): New section.
5567
5568         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Substitute LDEXPL_LIBM.
5569         * modules/ldexpl (Link): New section.
5570
5571 2007-04-03  Bruno Haible  <bruno@clisp.org>
5572
5573         * modules/TEMPLATE-EXTENDED: New file.
5574         * gnulib-tool (func_all_modules, func_verify_module): Exclude it.
5575
5576 2007-04-03  Bruno Haible  <bruno@clisp.org>
5577
5578         * DEPENDENCIES: New file.
5579         Suggested by Simon Josefsson.
5580
5581 2007-04-03  Bruno Haible  <bruno@clisp.org>
5582
5583         * doc/gnulib.texi: Escape @.
5584
5585 2007-04-03  James Youngman  <jay@gnu.org>
5586         and Paul Eggert  <eggert@cs.ucla.edu>
5587
5588         * lib/stat-time.h (get_stat_birthtime): Check for zero-valued
5589         birthtime on all systems that have birthtime, not just those which
5590         use st_birthtimensec rather than st_birthtim.  Putting zero in
5591         st_birthtim.tv_sec is how (for example) FreeBSD/x86 6.1 indicates
5592         that the birth time is not available for files on an NFS mount.
5593
5594 2007-04-03  Simon Josefsson  <simon@josefsson.org>
5595
5596         * modules/memxor: Move back from crypto/, suggested by Bruno.
5597         * modules/crypto/hmac-sha1: Fix memxor dependency.
5598
5599         * modules/crypto/gc: Moved from ../.
5600
5601 2007-04-02  Eric Blake  <ebb9@byu.net>
5602
5603         * lib/ldexpl.c (includes): Avoid libm.
5604
5605         * modules/printf-frexpl (Depends-on): Depend on ldexpl.
5606
5607 2007-04-02  Bruno Haible  <bruno@clisp.org>
5608
5609         * lib/sysexit_.h (EX_OK): Disable the EX_OK definition from <unistd.h>
5610         on IRIX.
5611
5612 2007-04-02  Bruno Haible  <bruno@clisp.org>
5613
5614         * m4/intdiv0.m4 (gt_INTDIV0): Avoid performing the test for real on
5615         x86 or x86_64 platforms running MacOS X.
5616         Reported by Ryan Schmidt <@ryandesign.com>.
5617
5618 2007-04-02  Bruno Haible  <bruno@clisp.org>
5619
5620         * m4/intdiv0.m4 (gt_INTDIV0): When cross-compiling, treat x86_64 like
5621         i386.
5622
5623 2007-04-01  Simon Josefsson  <simon@josefsson.org>
5624
5625         * modules/crypto/arcfour: Moved from ../.
5626         * modules/crypto/arcfour-tests: Moved from ../.
5627         * modules/crypto/arctwo: Moved from ../.
5628         * modules/crypto/arctwo-tests: Moved from ../.
5629         * modules/crypto/des: Moved from ../.
5630         * modules/crypto/des-tests: Moved from ../.
5631         * modules/crypto/gc-arcfour: Moved from ../.
5632         * modules/crypto/gc-arcfour-tests: Moved from ../.
5633         * modules/crypto/gc-arctwo: Moved from ../.
5634         * modules/crypto/gc-arctwo-tests: Moved from ../.
5635         * modules/crypto/gc-des: Moved from ../.
5636         * modules/crypto/gc-des-tests: Moved from ../.
5637         * modules/crypto/gc-hmac-md5: Moved from ../.
5638         * modules/crypto/gc-hmac-md5-tests: Moved from ../.
5639         * modules/crypto/gc-hmac-sha1: Moved from ../.
5640         * modules/crypto/gc-hmac-sha1-tests: Moved from ../.
5641         * modules/crypto/gc-md2: Moved from ../.
5642         * modules/crypto/gc-md2-tests: Moved from ../.
5643         * modules/crypto/gc-md4: Moved from ../.
5644         * modules/crypto/gc-md4-tests: Moved from ../.
5645         * modules/crypto/gc-md5: Moved from ../.
5646         * modules/crypto/gc-md5-tests: Moved from ../.
5647         * modules/crypto/gc-pbkdf2-sha1: Moved from ../.
5648         * modules/crypto/gc-pbkdf2-sha1-tests: Moved from ../.
5649         * modules/crypto/gc-random: Moved from ../.
5650         * modules/crypto/gc-rijndael: Moved from ../.
5651         * modules/crypto/gc-rijndael-tests: Moved from ../.
5652         * modules/crypto/gc-sha1: Moved from ../.
5653         * modules/crypto/gc-sha1-tests: Moved from ../.
5654         * modules/crypto/gc-tests: Moved from ../.
5655         * modules/crypto/hmac-md5: Moved from ../.
5656         * modules/crypto/hmac-md5-tests: Moved from ../.
5657         * modules/crypto/hmac-sha1: Moved from ../.
5658         * modules/crypto/hmac-sha1-tests: Moved from ../.
5659         * modules/crypto/md2: Moved from ../.
5660         * modules/crypto/md2-tests: Moved from ../.
5661         * modules/crypto/md4: Moved from ../.
5662         * modules/crypto/md4-tests: Moved from ../.
5663         * modules/crypto/md5: Moved from ../.
5664         * modules/crypto/md5-tests: Moved from ../.
5665         * modules/crypto/memxor: Moved from ../.
5666         * modules/crypto/rijndael: Moved from ../.
5667         * modules/crypto/rijndael-tests: Moved from ../.
5668         * modules/crypto/sha1: Moved from ../.
5669
5670 2007-03-30  James Youngman  <jay@gnu.org>
5671
5672         * tests/test-stat-time.c (prepare_test): use chmod() rather than
5673         rename() to change the ctime of a file (because ctime is unaffected
5674         by rename on jfs2 on AIX 5.1).
5675         (main): Start by doing cleanup, in case a previous run failed leaving
5676         test files behind.
5677
5678 2007-03-31  Bruno Haible  <bruno@clisp.org>
5679
5680         Support old proprietary implementations of iconv.
5681         * modules/iconv_open: New file.
5682         * lib/iconv_.h: New file.
5683         * m4/iconv_h.m4: New file.
5684         * lib/iconv_open.c: New file.
5685         * lib/iconv_open-aix.gperf: New file.
5686         * lib/iconv_open-hpux.gperf: New file.
5687         * lib/iconv_open-irix.gperf: New file.
5688         * lib/iconv_open-osf.gperf: New file.
5689         * m4/iconv_open.m4: New file.
5690         * modules/linebreak (Depends-on): Add iconv_open.
5691         * modules/striconv (Depends-on): Likewise.
5692         * modules/striconveh (Depends-on): Likewise.
5693         * modules/unicodeio (Depends-on): Likewise.
5694         * lib/striconveh.h (mem_cd_iconveh, str_cd_iconveh): Allow cd to be
5695         (iconv_t)(-1).
5696         * lib/striconveh.c (mem_cd_iconveh_internal): Use an indirect
5697         conversion if cd is (iconv_t)(-1).
5698         (mem_iconveh, str_iconveh): Don't fail just because a direct conversion
5699         is not possible.
5700
5701 2007-03-31  Bruno Haible  <bruno@clisp.org>
5702
5703         * tests/test-striconveha.c (main): Don't expect "autodetect_jp" to
5704         work on Solaris either. Protect also second use of "autodetect_jp".
5705
5706 2007-03-31  Bruno Haible  <bruno@clisp.org>
5707
5708         * m4/frexpl.m4 (gl_FUNC_FREXPL): Set HAVE_DECL_FREXPL to 0 when
5709         the function is not present.
5710
5711 2007-03-31  Bruno Haible  <bruno@clisp.org>
5712
5713         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Set HAVE_DECL_LDEXPL to 0 when
5714         the function is not present.
5715
5716 2007-03-31  Bruno Haible  <bruno@clisp.org>
5717
5718         * m4/iconv.m4 (AM_ICONV_LINK): Fix 2007-03-29 patch. Test also against
5719         a bug in HP-UX iconv_open().
5720
5721 2007-03-31  Bruno Haible  <bruno@clisp.org>
5722
5723         * MODULES.html.sh (func_module): Don't show gnulib-common.m4.
5724         (Mathematics <math.h>): New section, add fpieee.
5725         (Input/output <stdio.h>): Add fseterr.
5726         (Mathematics <math.h>): New section, add printf-frexp.
5727         (Container data structures): Add sublist.
5728         (Core language properties): Add fpucw, inline.
5729         (Functions for greatest-width integer types <inttypes.h>): Add
5730         imaxabs, imaxdiv, inttypes.
5731         (Mathematics <math.h>): Add frexp, frexpl, isnan-nolibm, isnanl,
5732         isnanl-nolibm, ldexp.
5733         (Mathematics <math.h>): New section, add printf-frexpl.
5734         (Support for systems lacking POSIX:2001): Add fprintf-posix,
5735         printf-posix, snprintf-posix, sprintf-posix, string, search, socklen,
5736         sys_select, sys_socket, vasnprintf-posix, vasprintf-posix,
5737         vfprintf-posix, vprintf-posix, vsnprintf-posix, vsprintf-posix.
5738         (Unicode string functions): Add unistr/u*-mbtoucr.
5739         (Java): Add javacomp-script, javaexec-script.
5740         (C#): Add csharpcomp-script, csharpexec-script.
5741         (Support for building libraries and executables): Add havelib,
5742         relocatable-*.
5743         (Support for maintaining and releasing projects): Renamed from
5744         'Support for maintaining and release projects'. Add announce-gen.
5745
5746 2007-03-31  Bruno Haible  <bruno@clisp.org>
5747
5748         * README: Talk primarily about git.
5749         (git and CVS): Renamed from CVS.
5750         * doc/gnulib.texi (Introduction, Build robot for gnulib): Mention that
5751         gnulib is available through git.
5752         * doc/gnulib-tool.texi (CVS Issues): Mention git and svn as well.
5753
5754 2007-03-30  Bruno Haible  <bruno@clisp.org>
5755
5756         * lib/alloca_.h: Change prefix of double-inclusion guard macro to _GL_.
5757         * lib/poll_.h: Likewise.
5758         * lib/stat_.h: Likewise.
5759         * lib/sys_time_.h: Likewise.
5760         * lib/sysexit_.h: Likewise.
5761         * lib/glob_.h: Prefix double-inclusion guard macro with _GL_.
5762         * lib/stdbool_.h: Likewise.
5763         * lib/byteswap_.h: Add double-inclusion guard.
5764
5765 2007-03-30  Sergey Poznyakoff  <gray@mirddin.farlep.net>
5766
5767         * lib/sysexit_.h: Prefix double-inclusion guard macro with _GNULIB.
5768
5769 2007-03-30  Karl Berry  <karl@gnu.org>
5770
5771         * config/srclist-update: double space after USA in the license
5772         substitution, since that's how it's usually (?) written.
5773
5774 2007-03-30  Paul Eggert  <eggert@cs.ucla.edu>
5775
5776         * lib/write-any-file.c (can_write_any_file): Fix else-else bug
5777         reported by Bruno Haible.
5778
5779 2007-03-29  Bruno Haible  <bruno@clisp.org>
5780
5781         * m4/iconv.m4 (AM_ICONV_LINK): Require AC_CANONICAL_HOST. Test against
5782         a bug in AIX iconv().
5783
5784 2007-03-29  Bruno Haible  <bruno@clisp.org>
5785
5786         * modules/ldexpl-tests: New file.
5787         * tests/test-ldexpl.c: New file.
5788
5789 2007-03-29  Bruno Haible  <bruno@clisp.org>
5790
5791         * lib/ldexpl.c: Include fpucw.h.
5792         (ldexpl): Use BEGIN/END_LONG_DOUBLE_ROUNDING. Skip the last unneeded
5793         multiplication.
5794         * modules/ldexpl (Depends-on): Add fpucw.
5795
5796 2007-03-29  Bruno Haible  <bruno@clisp.org>
5797
5798         * modules/ldexpl: New file.
5799         * m4/ldexpl.m4: New file.
5800         * lib/math_.h (ldexpl): Define to a replacement if REPLACE_LDEXPL is
5801         set.
5802         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize also GNULIB_LDEXPL,
5803         REPLACE_LDEXPL.
5804         * modules/math (Makefile.am): Substitute also GNULIB_LDEXPL,
5805         REPLACE_LDEXPL.
5806         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Invoke
5807         gl_FUNC_LDEXPL_WORKS.
5808         * m4/mathl.m4 (gl_FUNC_LONG_DOUBLE_MATH): Remove test for ldexpl.
5809         * modules/mathl (Files): Remove lib/ldexpl.c.
5810         (Depends-on): Add ldexpl.
5811
5812 2007-03-29  Bruno Haible  <bruno@clisp.org>
5813
5814         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Declare frexpl.
5815
5816 2007-03-29  Bruno Haible  <bruno@clisp.org>
5817
5818         * tests/test-striconveh.c (main): Don't assume that a direct conversion
5819         between ISO-8859-1 and ISO-8859-2 is possible. Needed for OSF/1, IRIX
5820         and possibly also HP-UX.
5821         * tests/test-striconveha.c (main): Don't expect "autodetect_jp" to
5822         work on AIX, IRIX, HP-UX, OSF/1.
5823         * tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
5824         * tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
5825         * tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
5826         * tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.
5827         * tests/uniconv/test-u8-conv-from-enc.c (main): Likewise.
5828         * tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
5829
5830 2007-03-29  Bruno Haible  <bruno@clisp.org>
5831
5832         * tests/test-stat-time.c: Include <fcntl.h>, not <sys/fcntl.h>.
5833
5834 2007-03-29  Paul Eggert  <eggert@cs.ucla.edu>
5835
5836         * lib/acl-internal.h (acl_get_fd, acl_set_fd): undef before defining,
5837         to work around a problem on OSF/1 5.1 reported by Bruno Haible.
5838
5839 2007-03-29  Eric Blake  <ebb9@byu.net>
5840
5841         * lib/acl-internal.h: Remove redundant include.
5842         (ACL_NOT_WELL_SUPPORTED): Also filter on EBUSY, returned by
5843         Cygwin when a file is locked.
5844
5845 2007-03-29  Bruno Haible  <bruno@clisp.org>
5846
5847         * lib/vasprintf.c [IN_LIBASPRINTF]: Include different specification
5848         file.
5849         * lib/asprintf.c [IN_LIBASPRINTF]: Likewise.
5850
5851 2007-03-29  Paul Eggert  <eggert@cs.ucla.edu>
5852
5853         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Don't bother to
5854         try to remove a parent directory if the child couldn't be removed
5855         (except for the first rmdir, which could fail because the child
5856         doesn't exist).  Problem reported by Jeff Blaine in
5857         <http://lists.gnu.org/archive/html/bug-tar/2007-03/msg00014.html>.
5858
5859 2007-03-28  Bruno Haible  <bruno@clisp.org>
5860
5861         * lib/striconveh.c (utf8conv_carefully): New function.
5862         (mem_cd_iconveh_internal): Invoke it.
5863
5864 2007-03-28  Bruno Haible  <bruno@clisp.org>
5865
5866         * lib/striconveh.c (mem_cd_iconveh_internal): Use u8_mbtoucr instead
5867         of u8_mbtouc in order to distinguish invalid and incomplete UTF-8
5868         input.
5869         * modules/striconveh (Depends-on): Add unistr/u8-mbtoucr. Replace
5870         utf8-ucs4 with unistr/u8-mbtouc. Replace ucs4-utf8 with
5871         unistr/u8-uctomb.
5872
5873 2007-03-28  Bruno Haible  <bruno@clisp.org>
5874
5875         * modules/unistr/u8-mbtoucr: New file.
5876         * lib/unistr/u8-mbtoucr.c: New file.
5877         * modules/unistr/u16-mbtoucr: New file.
5878         * lib/unistr/u16-mbtoucr.c: New file.
5879         * modules/unistr/u16-mbtoucr: New file.
5880         * lib/unistr/u16-mbtoucr.c: New file.
5881         * lib/unistr.h (u8_mbtoucr, u16_mbtoucr, u32_mbtoucr): New declarations.
5882
5883 2007-03-27  Simon Josefsson  <simon@josefsson.org>
5884             Bruno Haible  <bruno@clisp.org>
5885
5886         * m4/vasprintf.m4: Convert AC_SUBST into shell variable for
5887         REPLACE_VASPRINTF.  Set HAVE_VASPRINTF.  Add
5888         AC_REQUIRE([gl_STDIO_H_DEFAULTS]).
5889
5890         * m4/stdio_h.m4: Add stubs for vasprintf too.
5891
5892         * modules/stdio: Support vasprintf in sed command.
5893
5894         * modules/vasprintf: Depend on stdio for prototypes.  Remove
5895         vasprintf.h.  Add stdio module indicator.
5896
5897         * lib/stdio_.h: Declare asprintf and vasprintf, based on
5898         vasprintf.h.
5899
5900         * lib/vasprintf.h: File removed.
5901
5902         * lib/asprintf.c: Use stdio.h instead of vasprintf.h.
5903         * lib/vasprintf.c: Ditto.
5904         * lib/xvasprintf.c: Ditto.
5905         * tests/test-vasprintf-posix.c: Ditto.
5906         * tests/test-vasprintf.c: Ditto.
5907
5908 2007-03-27  Bruno Haible  <bruno@clisp.org>
5909
5910         Make vasnprintf multithread-safe.
5911         * lib/vasnprintf.c (decimal_point_char): New function.
5912         (VASNPRINTF): Use it.
5913         Suggested by Simon Josefsson.
5914
5915 2007-03-27  Eric Blake  <ebb9@byu.net>
5916
5917         Support sub-second birthtime on cygwin.
5918         * m4/stat-time.m4 (gl_STAT_BIRTHTIME): Also check for st_birthtim.
5919         * lib/stat-time.h (STAT_TIMESPEC): Adjust comments.
5920         (get_stat_birthtime): Also work with st_birthtim.
5921
5922 2007-03-27  Paul Eggert  <eggert@cs.ucla.edu>
5923
5924         * lib/stat-time.h (USE_BIRTHTIME): Remove.
5925         (get_stat_atime_ns, get_stat_ctime_ns, get_stat_mtime_ns):
5926         (get_stat_birthtime_ns): Do not try to use "spare" fields.
5927         (get_stat_birthtime_ns): Simplify compile-time tests.
5928         (get_stat_birthtime): Change the API to look like
5929         get_stat_mtime etc., except return a negative tv_nsec on error.
5930         * m4/stat-time.m4 (gl_STAT_TIME, gl_STAT_BIRTHTIME):
5931         Don't check for "spare" fields.
5932         (gl_STAT_BIRTHTIME): Don't check for struct stat.st_birthtimespec.tv_sec
5933         or for struct stat.st_birthtime, as these tests aren't used.
5934         * tests/test-stat-time.c (test_birthtime): Adjust to new API.
5935
5936 2007-03-27  Bruno Haible  <bruno@clisp.org>
5937
5938         * lib/stat-time.h: Include <sys/stat.h>.
5939
5940 2007-03-27  James Youngman  <jay@gnu.org>
5941
5942         * lib/stat-time.h (get_stat_birthtime): New function for
5943           retrieving st_birthtime as provided by UFS2 (hence *BSD).
5944         * m4/stat-time.m4 (gl_STAT_BIRTHTIME): Probe for st_birthtime
5945           and its variants.
5946         * modules/stat-time (configure.ac): call gl_STAT_BIRTHTIME.
5947         * modules/stat-time-test: New file.
5948         * tests/test-stat-time.c: New test, devised by Bruno Haible.
5949
5950 2007-03-26  Bruno Haible  <bruno@clisp.org>
5951
5952         Better support of signalling NaNs.
5953         * lib/atanl.c: Include isnanl.h.
5954         (atanl): Perform test for NaN at the beginning of the function and
5955         through a call to isnanl.
5956         * lib/cosl.c: Include isnanl.h.
5957         (cosl): Perform test for NaN at the beginning of the function and
5958         through a call to isnanl.
5959         * lib/ldexpl.c: Include isnanl.h.
5960         (ldexpl): Perform test for NaN through a call to isnanl.
5961         * lib/logl.c: Include isnanl.h.
5962         (logl): Perform test for NaN at the beginning of the function and
5963         through a call to isnanl.
5964         * lib/sinl.c: Include isnanl.h.
5965         (sinl): Perform test for NaN at the beginning of the function and
5966         through a call to isnanl.
5967         * lib/sqrtl.c: Include isnanl.h.
5968         (sqrtl): Perform test for NaN at the beginning of the function and
5969         through a call to isnanl.
5970         * lib/tanl.c: Include isnanl.h.
5971         (tanl): Perform test for NaN at the beginning of the function and
5972         through a call to isnanl.
5973         * lib/trigl.c (ieee754_rem_pio2l): Remove test for NaN.
5974         * modules/mathl (Depends-on): Add isnanl.
5975
5976 2007-03-26  Eric Blake  <ebb9@byu.net>
5977
5978         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): Fix
5979         regression in logic sense of previous patch.
5980
5981 2007-03-26  Bruno Haible  <bruno@clisp.org>
5982
5983         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): Don't use
5984         unportable shell command "if ! ...".
5985         Reported by Ralf Wildenhues.
5986
5987 2007-03-25  Bruno Haible  <bruno@clisp.org>
5988
5989         * lib/sysexit_,h: If HAVE_SYSEXITS_H is defined, include the original
5990         <sysexits.h> file, and only add EX_CONFIG.
5991         * m4/sysexits.m4 (gl_SYSEXITS): If <sysexits.h> exists, check its
5992         absolute file name and whether it is sufficient. Substitute also
5993         HAVE_SYSEXITS_H and ABSOLUTE_SYSEXITS_H.
5994         * modules/sysexits (Makefile.am): Substitute HAVE_SYSEXITS_H and
5995         ABSOLUTE_SYSEXITS_H into sysexits.h.
5996
5997 2007-03-25  Bruno Haible  <bruno@clisp.org>
5998
5999         * lib/getaddrinfo.c (getaddrinfo): Don't access hints->ai_flags when
6000         hints is NULL.
6001
6002 2007-03-25  Bruno Haible  <bruno@clisp.org>
6003
6004         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Add a cast.
6005         * lib/uniconv/u8-strconv-to-enc.c (u8_strconv_to_encoding): Likewise.
6006
6007 2007-03-25  Bruno Haible  <bruno@clisp.org>
6008
6009         * lib/vasnprintf.c: Include langinfo.h.
6010         (VASNPRINTF): Prefer nl_langinfo over localeconv, since it's more
6011         multithread-safe.
6012         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): New macro.
6013         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke it.
6014         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
6015         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
6016         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
6017         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
6018         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
6019         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX: Likewise.
6020         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
6021         Reported by Simon Josefsson.
6022
6023 2007-03-25  Bruno Haible  <bruno@clisp.org>
6024
6025         * lib/printf-parse.c [!IN_LIBINTL]: Include <stdint.h>, for intmax_t.
6026         (PRINTF_PARSE): Make the support for size specifier 'j' unconditional.
6027         * modules/vasnprintf (Depends-on): Add stdint.
6028
6029 2007-03-25  Bruno Haible  <bruno@clisp.org>
6030
6031         * modules/fpieee: New file.
6032         * m4/fpieee.m4: New file.
6033         * modules/isnan-nolibm (Depends-on): Add fpieee.
6034         * modules/isnanl-nolibm (Depends-on): Add fpieee.
6035         * modules/isnanl (Depends-on): Add fpieee.
6036
6037 2007-03-25  Bruno Haible  <bruno@clisp.org>
6038
6039         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Test also finite numbers.
6040
6041 2007-03-25  Bruno Haible  <bruno@clisp.org>
6042
6043         Avoid test failures on IRIX 6.5.
6044         * tests/test-frexpl.c (MIN_NORMAL_EXP): New macro.
6045         (main): Use it.
6046         * tests/test-printf-frexpl.c (MIN_NORMAL_EXP, MIN_SUBNORMAL_EXP): New
6047         macros.
6048         (main): Use them.
6049
6050 2007-03-25  Bruno Haible  <bruno@clisp.org>
6051
6052         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): New macro.
6053         (gl_FUNC_FREXPL): Invoke it. Set REPLACE_FREXPL to 1 if it frexpl
6054         exists but doesn't work.
6055         * lib/math_.h (frexpl): Define as a replacement macro if REPLACE_FREXPL
6056         is set. Don't provide a prototype if REPLACE_FREXPL is not set.
6057         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_FREXPL.
6058         * modules/math (Makefile.am) Substibute also REPLACE_FREXPL into math.h.
6059
6060 2007-03-25  Bruno Haible  <bruno@clisp.org>
6061
6062         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Add check whether frexp(inf)
6063         returns inf. Needed on IRIX 6.5.
6064
6065 2007-03-25  Bruno Haible  <bruno@clisp.org>
6066
6067         * tests/test-frexpl.c: Include isnanl-nolibm.h.
6068         (main): Use isnanl instead of x != x idiom.
6069         * modules/frexpl-tests (Depends-on): Add isnanl-nolibm.
6070
6071         * tests/test-frexp.c: Include isnan.h.
6072         (main): Use isnan instead of x != x idiom.
6073         * modules/frexp-tests (Depends-on): Add isnan-nolibm.
6074
6075 2007-03-25  Bruno Haible  <bruno@clisp.org>
6076
6077         * tests/test-frexp.c (NaN): New function/macro.
6078         (main): Use it instead of 0.0 / 0.0.
6079         * tests/test-isnan.c (NaN): New function/macro.
6080         (main): Use it instead of 0.0 / 0.0.
6081         * tests/test-vasnprintf-posix.c (NaN): New function/macro.
6082         (test_function): Use it instead of 0.0 / 0.0.
6083         * tests/test-vasprintf-posix.c (NaN): New function/macro.
6084         (test_function): Use it instead of 0.0 / 0.0.
6085         * tests/test-snprintf-posix.h (NaN): New function/macro.
6086         (test_function): Use it instead of 0.0 / 0.0.
6087         * tests/test-sprintf-posix.h (NaN): New function/macro.
6088         (test_function): Use it instead of 0.0 / 0.0.
6089         * tests/test-fprintf-posix.h (NaN): New function/macro.
6090         (test_function): Use it instead of 0.0 / 0.0.
6091         * tests/test-printf-posix.h (NaN): New function/macro.
6092         (test_function): Use it instead of 0.0 / 0.0.
6093
6094         * lib/isnan.c (FUNC): Work around a DEC C compiler bug.
6095
6096 2007-03-25  Bruno Haible  <bruno@clisp.org>
6097
6098         * lib/glob_.h: Include <sys/stat.h>. Avoids warnings on AIX 5.1.
6099
6100 2007-03-25  Bruno Haible  <bruno@clisp.org>
6101
6102         * lib/regexec.c (merge_state_with_log): Make static.
6103
6104 2007-03-25  Bruno Haible  <bruno@clisp.org>
6105
6106         * lib/trigl.c (kernel_rem_pio2): Make static.
6107
6108 2007-03-25  Bruno Haible  <bruno@clisp.org>
6109
6110         * lib/sincosl.c (sincosl_table): Make static.
6111
6112 2007-03-25  Bruno Haible  <bruno@clisp.org>
6113
6114         * lib/argp.h (__restrict): Define to empty, rather than to 'restrict',
6115         if the compiler does not support C99.
6116
6117 2007-03-25  Bruno Haible  <bruno@clisp.org>
6118
6119         * modules/time (Makefile.am): Ensure all rule action lines start with a
6120         tab.
6121
6122 2007-03-24  Bruno Haible  <bruno@clisp.org>
6123
6124         * modules/tsearch-tests: New file.
6125         * tests/test-tsearch.sh: New file.
6126         * tests/test-tsearch.c: New file, mostly copied from glibc.
6127
6128         * modules/search-tests: New file.
6129         * tests/test-search.c: New file.
6130
6131         * modules/search: New file.
6132         * lib/search_.h: New file, incorporating lib/tsearch.h.
6133         * m4/search_h.m4: New file.
6134         * lib/tsearch.h: Remove file.
6135         * lib/tsearch.c: Include search.h instead of tsearch.h.
6136         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Require gl_SEARCH_H_DEFAULTS. Set
6137         HAVE_TSEARCH.
6138         * modules/tsearch (Files): Remove lib/tsearch.h.
6139         (Depends-on): Add search.
6140         (configure.ac): Invoke gl_SEARCH_MODULE_INDICATOR.
6141         (Include): Change tsearch.h into search.h.
6142
6143 2007-03-24  Bruno Haible  <bruno@clisp.org>
6144
6145         * modules/fpucw: New file.
6146         * lib/fpucw.h: New file.
6147         * lib/frexp.c: Include fpucw.h.
6148         (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): New macros.
6149         (FUNC): Use them.
6150         * lib/printf-frexp.c: Include fpucw.h.
6151         (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): New macros.
6152         (FUNC): Use them.
6153         * lib/vasnprintf.c: Include fpucw.h.
6154         (VASNPRINTF): Invoke BEGIN/END_LONG_DOUBLE_ROUNDING around the
6155         'long double' calculations.
6156         * tests/test-frexpl.c: Include fpucw.h.
6157         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING.
6158         * tests/test-printf-frexpl.c: Include fpucw.h.
6159         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING.
6160         * modules/frexpl (Depends-on): Add fpucw.
6161         * modules/printf-frexpl (Depends-on): Likewise.
6162         * modules/fprintf-posix (Depends-on): Likewise.
6163         * modules/snprintf-posix (Depends-on): Likewise.
6164         * modules/sprintf-posix (Depends-on): Likewise.
6165         * modules/vasnprintf-posix (Depends-on): Likewise.
6166         * modules/vasprintf-posix (Depends-on): Likewise.
6167         * modules/vfprintf-posix (Depends-on): Likewise.
6168         * modules/vsnprintf-posix (Depends-on): Likewise.
6169         * modules/vsprintf-posix (Depends-on): Likewise.
6170         * modules/frexpl-tests (Depends-on): Likewise.
6171         * modules/printf-frexpl-tests (Depends-on): Likewise.
6172
6173 2007-03-24  Bruno Haible  <bruno@clisp.org>
6174
6175         * lib/float+.h: New file.
6176         * lib/isnan.c: Include float+.h.
6177         (SIZE): New macro.
6178         (FUNC): Compare only SIZE bytes of the value.
6179         * lib/vasnprintf.c: Include float+.h.
6180         (VASNPRINTF): When comparing agains +0.0L or +0.0, compare only
6181         SIZEOF_LDBL or SIZEOF_DBL bytes.
6182         * modules/isnan-nolibm (Files): Add lib/float+.h.
6183         * modules/isnanl-nolibm (Files): Add lib/float+.h.
6184         * modules/isnanl (Files): Add lib/float+.h.
6185         * modules/vasnprintf (Files): Add lib/float+.h.
6186
6187 2007-03-24  Bruno Haible  <bruno@clisp.org>
6188
6189         * lib/vasnprintf.c [!HAVE_LONG_DOUBLE]: Include printf-frexp.h. Don't
6190         include isnanl-nolibm.h.
6191
6192 2007-03-24  Bruno Haible  <bruno@clisp.org>
6193
6194         * tests/test-read-file.c (main): Don't produce spurious output for
6195         expected situations. Make the test fail if it encountered unexpected
6196         results.
6197
6198 2007-03-24  Bruno Haible  <bruno@clisp.org>
6199
6200         * m4/locale-fr.m4 (gt_LOCALE_FR): Remove the special-casing of NetBSD,
6201         since its fr_FR.ISO8859-1 locale wouldn't pass the tests.
6202
6203 2007-03-24  Bruno Haible  <bruno@clisp.org>
6204
6205         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Fix last change.
6206
6207 2007-03-24  Bruno Haible  <bruno@clisp.org>
6208
6209         * modules/unistr/base (Depends-on): Remove utf8-ucs4-unsafe,
6210         utf16-ucs4-unsafe, utf8-ucs4, utf16-ucs4, ucs4-utf8, ucs4-utf16.
6211
6212         * modules/unistr/u8-mbtouc: Add source files from module utf8-ucs4.
6213         * modules/utf8-ucs4: Turn into a symbolic link to module
6214         unistr/u8-mbtouc.
6215
6216         * modules/unistr/u8-mbtouc-unsafe: Add source files from module
6217         utf8-ucs4-unsafe.
6218         * modules/utf8-ucs4-unsafe: Turn into a symbolic link to module
6219         unistr/u8-mbtouc-unsafe.
6220
6221         * modules/unistr/u16-mbtouc: Add source files from module utf16-ucs4.
6222         * modules/utf16-ucs4: Turn into a symbolic link to module
6223         unistr/u16-mbtouc.
6224
6225         * modules/unistr/u16-mbtouc-unsafe: Add source files from module
6226         utf16-ucs4-unsafe.
6227         * modules/utf16-ucs4-unsafe: Turn into a symbolic link to module
6228         unistr/u16-mbtouc-unsafe.
6229
6230         * modules/unistr/u8-uctomb: Add source files from module utf4-utf8.
6231         * modules/ucs4-utf8: Turn into a symbolic link to module
6232         unistr/u8-ubtomb.
6233
6234         * modules/unistr/u16-uctomb: Add source files from module utf4-utf16.
6235         * modules/ucs4-utf16: Turn into a symbolic link to module
6236         unistr/u16-ubtomb.
6237
6238 2007-03-24  Bruno Haible  <bruno@clisp.org>
6239
6240         * lib/unistr/u8-mbtouc-aux.c: Renamed from lib/unistr/utf8-ucs4.c.
6241         Enable the function only if HAVE_INLINE.
6242         * lib/unistr/u8-mbtouc-unsafe-aux.c: Renamed from
6243         lib/unistr/utf8-ucs4-unsafe.c. Enable the function only if HAVE_INLINE.
6244         * lib/unistr/u16-mbtouc-aux.c: Renamed from lib/unistr/utf16-ucs4.c.
6245         Enable the function only if HAVE_INLINE.
6246         * lib/unistr/u16-mbtouc-unsafe-aux.c: Renamed from
6247         lib/unistr/utf16-ucs4-unsafe.c. Enable the function only if HAVE_INLINE.
6248         * lib/unistr/u8-uctomb-aux.c: Renamed from lib/unistr/ucs4-utf8.c.
6249         Enable the function only if HAVE_INLINE.
6250         * lib/unistr/u16-uctomb-aux.c: Renamed from lib/unistr/ucs4-utf16.c.
6251         Enable the function only if HAVE_INLINE.
6252         * modules/utf8-ucs4: Update.
6253         * modules/utf8-ucs4-unsafe: Update.
6254         * modules/utf16-ucs4: Update.
6255         * modules/utf16-ucs4-unsafe: Update.
6256         * modules/ucs4-utf8: Update.
6257         * modules/ucs4-utf16: Update.
6258
6259 2007-03-24  Bruno Haible  <bruno@clisp.org>
6260
6261         * lib/utf8-ucs4.h: Remove file.
6262         * lib/utf8-ucs4-unsafe.h: Remove file.
6263         * lib/utf16-ucs4.h: Remove file.
6264         * lib/utf16-ucs4-unsafe.h: Remove file.
6265         * lib/ucs4-utf8.h: Remove file.
6266         * lib/ucs4-utf16.h: Remove file.
6267         * lib/unistr.h: Include their previous contents.
6268         * m4/utf-ucs4.m4: Remove file.
6269         * m4/ucs4-utf.m4: Remove file.
6270         * modules/utf8-ucs4 (Files): Remove lib/utf8-ucs4.h.
6271         (Depends-on): Add unistr/base.
6272         (configure.ac): Remove gl_UTF_UCS4.
6273         (Makefile.am): Update.
6274         (Include): Change to unistr.h.
6275         * modules/utf8-ucs4-unsafe (Files): Remove lib/utf8-ucs4-unsafe.h.
6276         (Depends-on): Add unistr/base.
6277         (configure.ac): Remove gl_UTF_UCS4.
6278         (Makefile.am): Update.
6279         (Include): Change to unistr.h.
6280         * modules/utf16-ucs4 (Files): Remove lib/utf16-ucs4.h.
6281         (Depends-on): Add unistr/base.
6282         (configure.ac): Remove gl_UTF_UCS4.
6283         (Makefile.am): Update.
6284         (Include): Change to unistr.h.
6285         * modules/utf16-ucs4-unsafe (Files): Remove lib/utf16-ucs4-unsafe.h.
6286         (Depends-on): Add unistr/base.
6287         (configure.ac): Remove gl_UTF_UCS4.
6288         (Makefile.am): Update.
6289         (Include): Change to unistr.h.
6290         * modules/ucs4-utf8 (Files): Remove lib/ucs4-utf8.h.
6291         (Depends-on): Add unistr/base.
6292         (configure.ac): Remove gl_UCS4_UTF.
6293         (Makefile.am): Update.
6294         (Include): Change to unistr.h.
6295         * modules/ucs4-utf16 (Files): Remove lib/ucs4-utf16.h.
6296         (Depends-on): Add unistr/base.
6297         (configure.ac): Remove gl_UCS4_UTF.
6298         (Makefile.am): Update.
6299         (Include): Change to unistr.h.
6300         * lib/unistr/utf8-ucs4.c: Include unistr.h instead of utf8-ucs4.h.
6301         * lib/unistr/utf8-ucs4-unsafe.c: Include unistr.h instead of
6302         utf8-ucs4-unsafe.h.
6303         * lib/unistr/utf16-ucs4.c: Include unistr.h instead of utf16-ucs4.h.
6304         * lib/unistr/utf16-ucs4-unsafe.c: Include unistr.h instead of
6305         utf16-ucs4-unsafe.h.
6306         * lib/unistr/ucs4-utf8.c: Include unistr.h instead of ucs4-utf8.h.
6307         * lib/unistr/ucs4-utf16.c: Include unistr.h instead of ucs4-utf16.h.
6308         * lib/unistr/u8-chr.c: Don't include ucs4-utf8.h.
6309         * lib/unistr/u8-strchr.c: Likewise.
6310         * lib/unistr/u8-strrchr.c: Likewise.
6311         * lib/unistr/u16-chr.c: Don't include ucs4-utf16.h.
6312         * lib/unistr/u16-strchr.c: Likewise.
6313         * lib/unistr/u16-strrchr.c: Likewise.
6314         * lib/striconveh.c: Update.
6315         * lib/linebreak.c: Update.
6316
6317 2007-03-24  Bruno Haible  <bruno@clisp.org>
6318
6319         * lib/argp-help.c (fill_in_uparams, canon_doc_option): Cast the
6320         arguments of isspace, isalpha, isalnum, isdigit to 'unsigned char'.
6321
6322 2007-03-22  Bruno Haible  <bruno@clisp.org>
6323
6324         * lib/strptime.c (__strptime_internal): Use ANSI C syntax.
6325
6326 2007-03-23  Paul Eggert  <eggert@cs.ucla.edu>
6327
6328         * MODULES.html.sh (File system functions): New module write-any-file.
6329         * modules/write-any-file, lib/write-any-file.c, lib/write-any-file.h:
6330         * m4/write-any-file.m4: New files.
6331
6332 2007-03-23  Eric Blake  <ebb9@byu.net>
6333
6334         * gnulib-tool: Rearrange space-tab sequences, since some editors
6335         like to eat them.
6336
6337 2007-03-23  Eric Blake  <ebb9@byu.net>
6338
6339         * lib/version-etc.c (version_etc_va): Update license wording to
6340         be more concise.  Recommended by Richard Stallman.
6341
6342 2007-03-22  Bruno Haible  <bruno@clisp.org>
6343
6344         * lib/poll.c (MSG_PEEK): New fallback definition.
6345
6346 2007-03-22  Bruno Haible  <bruno@clisp.org>
6347
6348         * modules/sys_socket-tests (configure.ac): Check for shutdown function.
6349         * tests/test-sys_socket.c (a): Test only if shutdown() exists.
6350         (main): Update.
6351         Fixes a compilation error on BeOS.
6352
6353 2007-03-22  Bruno Haible  <bruno@clisp.org>
6354
6355         * modules/frexpl-tests: New file.
6356         * tests/test-frexpl.c: New file.
6357
6358         * modules/frexpl: New file.
6359         * m4/frexpl.m4: New file.
6360         * modules/math (Makefile.am): Also substitute GNULIB_FREXPL into math.h.
6361         * lib/math_.h (frexpl): Test GNULIB_FREXPL instead of GNULIB_MATHL.
6362         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FREXPL.
6363         * modules/mathl (Files): Remove lib/frexpl.c, lib/frexp.c.
6364         (Depends-on): Add frexpl. Remove isnanl-nolibm.
6365         * m4/mathl.m4 (gl_FUNC_LONG_DOUBLE_MATH): Don't test for frexpl.
6366
6367 2007-03-22  Bruno Haible  <bruno@clisp.org>
6368
6369         * lib/frexpl.c: Share code with lib/frexp.c.
6370         * modules/mathl (Files): Add lib/frexp.c.
6371         (Depends-on): Add isnanl-nolibm.
6372
6373 2007-03-22  Bruno Haible  <bruno@clisp.org>
6374
6375         * modules/printf-frexp (Files): Add m4/frexp.m4.
6376         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Define HAVE_FREXP_IN_LIBC
6377         only if the found frexp function actually works.
6378
6379 2007-03-22  Bruno Haible  <bruno@clisp.org>
6380
6381         * lib/frexp.c: Remove older implementation that uses divisions.
6382
6383 2007-03-21  Bruno Haible  <bruno@clisp.org>
6384
6385         * modules/frexp-tests: New file.
6386         * tests/test-frexp.c: New file.
6387
6388         * modules/frexp: New file.
6389         * lib/frexp.c: New file.
6390         * m4/frexp.m4: New file.
6391         * lib/math_.h (frexp): New declaration.
6392         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Also initialize GNULIB_FREXP and
6393         REPLACE_FREXP.
6394         * modules/math (math.h): Also substitute GNULIB_FREXP, REPLACE_FREXP.
6395
6396 2007-03-21  Bruno Haible  <bruno@clisp.org>
6397
6398         * modules/isnanl-tests: New file.
6399         * tests/test-isnanl.c: New file.
6400
6401         * modules/isnanl: New file.
6402         * lib/isnanl.h: New file.
6403         * m4/isnanl.m4 (gl_FUNC_ISNANL): New macro.
6404         (gl_FUNC_ISNANL_NO_LIBM): Invoke gl_HAVE_ISNANL_NO_LIBM,
6405         gl_FUNC_ISNANL_WORKS.
6406         (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM, gl_FUNC_ISNANL_WORKS):
6407         New macros.
6408
6409 2007-03-21  Bruno Haible  <bruno@clisp.org>
6410
6411         * modules/isnanl-nolibm (Files): Add lib/isnanl-nolibm.h, remove
6412         lib/isnanl.h.
6413         (Include): Update.
6414         * lib/isnanl-nolibm.h: Renamed from lib/isnanl.h.
6415         * lib/vasnprintf.c: Update.
6416         * modules/isnanl-nolibm-tests (Files): Add tests/test-isnanl-nolibm.c,
6417         tests/test-isnanl.h, remove tests/test-isnanl.c.
6418         (Makefile.am): Update.
6419         * tests/test-isnanl-nolibm.c: New file.
6420         * tests/test-isnanl.h: New file.
6421         * tests/test-isnanl.c: Remove file.
6422
6423 2007-03-21  Jim Meyering  <jim@meyering.net>
6424
6425         When trying to open ".", treat ESTALE like EACCES.
6426         * lib/savewd.c (savewd_save): Resort to forking not just upon
6427         failure with EACCES, but also when errno is ESTALE.
6428
6429 2007-03-20  Bruno Haible  <bruno@clisp.org>
6430
6431         * lib/string_.h (strndup): Enable declaration also if HAVE_STRNDUP.
6432         Needed on AIX 5.1. Reported by Matthew Woehlke.
6433
6434 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
6435
6436         Suggestions by Bruno Haible:
6437         * lib/acl-internal.h: Include "gettext.h" rather than rolling
6438         our own.
6439         (ACL_NOT_WELL_SUPPORTED): Parenthesize arg when used.
6440         * modules/acl (Depends-on): Add gettext.
6441
6442 2007-03-19  Bruno Haible  <bruno@clisp.org>
6443
6444         * modules/iconvme: Remove file.
6445         * lib/iconvme.h: Remove file.
6446         * lib/iconvme.c: Remove file.
6447         * m4/iconvme.m4: Remove file.
6448
6449 2007-03-19  Bruno Haible  <bruno@clisp.org>
6450
6451         * doc/relocatable-maint.texi: Break long shell script line.
6452         Suggested by Thien-Thi Nguyen <ttn@gnuvola.org>.
6453
6454 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
6455
6456         Add limited support for Solaris 10 ZFS-style ACLs: just enough to
6457         handle file_has_acl.
6458         * lib/acl-internal.h, lib/acl_entries.c, lib/file-has-acl.c: New files.
6459         * lib/acl.c: Move header inclusions and related macro defns into
6460         lib/acl-internal.h.
6461         (S_ISLNK): Remove defn, since that's now done for us.
6462         (file_has_acl): Move to lib/file-has-acl.c.
6463         Call acl_trivial if available.  This is the crucial part of the fix.
6464         (acl_entries): Move to lib/acl_entries.c.  Now extern, since it's
6465         shared within the library.  Rewrite a bit, partly to make it compatible
6466         with the GNU coding style.
6467         * m4/acl.m4 (AC_FUNC_ACL): Add AC_LIBOBJ([file-has-acl]).
6468         Remove unnecessary double-quotes.
6469         Don't test for acl_to_text; the build will catch that.
6470         Replace acl_entries if it doesn't exist and it is needed.
6471         Check for -lsec and acl_trivial (as used on Solaris 10).
6472         * modules/acl (Files): Add lib/acl-internal.h, lib/acl_entries.c,
6473         lib/file-has-acl.c.
6474         (Depends-on): Add sys_stat, for S_ISLNK.
6475
6476 2007-03-19  Ben Pfaff  <blp@gnu.org>
6477
6478         * doc/gnulib.texi: Fix typos.
6479         Suggested by Thien-Thi Nguyen <ttn@gnuvola.org>.
6480
6481 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
6482
6483         * lib/getcwd.c (__getcwd): Remove redundant comparison of buf to NULL.
6484         If size is zero here, buf must be zero.
6485
6486 2007-03-19  Simon Josefsson  <simon@josefsson.org>
6487
6488         * des.c: Remove weak_keys_chksum.  Reported by Bruno Haible
6489         <bruno@clisp.org>.
6490
6491 2007-03-18  Bruno Haible  <bruno@clisp.org>
6492
6493         * lib/vasnprintf.c (VASNPRINTF): Undo first part of last patch.
6494         Suggested by Eric Blake.
6495
6496 2007-03-18  Ben Pfaff  <blp@gnu.org>
6497
6498         * doc/relocatable.texi: Recommend using as prefix a directory
6499         that does not exist and will never be created.  Based on
6500         discussion with Bruno Haible, Ralf Wildenhues, Matthew Woehlke,
6501         and others.
6502
6503 2007-03-17  Bruno Haible  <bruno@clisp.org>
6504
6505         * lib/fchownat.c: Include lchown.h.
6506
6507 2007-03-17  Bruno Haible  <bruno@clisp.org>
6508
6509         Fix endless loop when the given allocated size was > INT_MAX.
6510         * lib/vasnprintf.c (EOVERFLOW): New fallback definition.
6511         (VASNPRINTF): Fail with EOVERFLOW when the given allocated size is
6512         larger than INT_MAX, or when it grow to a value larger than INT_MAX.
6513         * lib/vsprintf.c (vsprintf): Don't pass a size > INT_MAX to vasnprintf.
6514         * lib/sprintf.c (sprintf): Likewise.
6515
6516 2007-03-17  Bruno Haible  <bruno@clisp.org>
6517
6518         * tests/test-argp-2.sh (func_compare): Output a context diff.
6519
6520 2007-03-17  Bruno Haible  <bruno@clisp.org>
6521
6522         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Check also the
6523         locale's decimal-point character.
6524
6525 2007-03-17  Bruno Haible  <bruno@clisp.org>
6526
6527         * lib/vasnprintf.c (VASNPRINTF): Clear out the memory used for arg_mem
6528         before comparing it. Needed because on some platforms (e.g. x86) a
6529         'long double' occupies less bytes than sizeof (long double).
6530
6531 2007-03-17  Bruno Haible  <bruno@clisp.org>
6532
6533         * tests/test-crc.c (main): Make printf statements 64-bit clean.
6534         * tests/test-gc-pbkdf2-sha1.c (main): Likewise.
6535         * tests/test-getaddrinfo.c (simple): Likewise.
6536         * tests/test-read-file.c (main): Likewise.
6537
6538 2007-03-17  Bruno Haible  <bruno@clisp.org>
6539
6540         * tests/test-dirname.c (main): Make printf statements 64-bit clean.
6541
6542 2007-03-17  Bruno Haible  <bruno@clisp.org>
6543
6544         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Remove
6545         unused variable.
6546
6547 2007-03-17  Bruno Haible  <bruno@clisp.org>
6548
6549         * tests/test-c-strcasecmp.c: Include c-strcase.h.
6550         * tests/test-c-strncasecmp.c: Likewise.
6551
6552 2007-03-17  Bruno Haible  <bruno@clisp.org>
6553
6554         * modules/stdlib (Depends-on): Add unistd.
6555         * lib/stdlib_.h: Include <unistd.h> if mkstemp is desired.
6556         Needed for MacOS X 10.3.
6557
6558 2007-03-17  Bruno Haible  <bruno@clisp.org>
6559
6560         * lib/unistr/u-strdup.h: Include <stdlib.h>.
6561
6562 2007-03-17  Bruno Haible  <bruno@clisp.org>
6563
6564         * lib/unistr/u-cpy-alloc.h: Include <stdlib.h>.
6565
6566 2007-03-17  Bruno Haible  <bruno@clisp.org>
6567
6568         * gnulib-tool (func_import): Update .cvsignore and .gitignore files
6569         to reflect files copied from gnulib (with or without modifications).
6570         Suggested by Jim Meyering.
6571
6572 2007-03-17  Eric Blake  <ebb9@byu.net>
6573
6574         * NEWS: Document stdlib change from 2007-02-18.
6575
6576 2007-03-17  Jim Meyering  <jim@meyering.net>
6577
6578         Detect use of AC_CONFIG_AUX_DIR also when its argument is quoted.
6579         * build-aux/bootstrap: Put ""s around use of $build_aux, in case
6580         someone uses a name containing shell meta-characters.
6581         Reported by Alfred M. Szmidt.
6582
6583         * build-aux/bootstrap: Don't use \> in grep regexp.  For HP-UX.
6584
6585 2007-03-16  Alfred M. Szmidt  <ams@gnu.org>
6586
6587         * build-aux/bootstrap (with_gettext): New variable.  Run autopoint
6588         and copy gettext configuration files only if configure.ac contains
6589         a use of AM_GNU_GETTEXT_VERSION.
6590
6591 2007-03-16  Alfred M. Szmidt  <ams@gnu.org>
6592
6593         * build-aux/bootstrap (gnulib_name): New variable.
6594         (gnulib_tool_options): Use it.
6595
6596 2007-03-13  Simon Josefsson  <simon@josefsson.org>
6597
6598         * tests/test-des.c: Use new namespace.
6599
6600 2007-03-15  Bruno Haible  <bruno@clisp.org>
6601
6602         * lib/dummy.c (gl_dummy_symbol): Renamed from 'dummy'.
6603         Reported by James Youngman <jay@gnu.org>.
6604
6605 2007-03-15  Bruno Haible  <bruno@clisp.org>
6606
6607         * lib/glob.c (glob): Add 'restrict' so that prototype matches the
6608         declared prototype. Needed with cc on OSF/1 5.1.
6609
6610 2007-03-15  Bruno Haible  <bruno@clisp.org>
6611
6612         * lib/gl_list.h (gl_listelement_dispose_fn): New type.
6613         (gl_list_create_empty, gl_list_create): Add dispose_fn argument.
6614         (struct gl_list_implementation): Add dispose_fn argument to the
6615         'create_empty', 'create' methods.
6616         (struct gl_list_impl_base): Add field 'dispose_fn'.
6617         * lib/gl_list.c (gl_list_create_empty, gl_list_create): Add dispose_fn
6618         argument.
6619         * lib/gl_array_list.c (gl_array_create_empty, gl_array_create): Add
6620         dispose_fn argument.
6621         (gl_array_remove_node, gl_array_remove_at, gl_array_list_free): Call
6622         dispose_fn on the dropped values.
6623         * lib/gl_carray_list.c (gl_carray_create_empty, gl_carray_create): Add
6624         dispose_fn argument.
6625         (gl_carray_remove_at, gl_carray_list_free): Call dispose_fn on the
6626         dropped values.
6627         * lib/gl_anyavltree_list2.h (gl_tree_create): Add dispose_fn argument.
6628         (gl_tree_remove_node): Call dispose_fn on the dropped value.
6629         * lib/gl_anyrbtree_list2.h (gl_tree_create): Add dispose_fn argument.
6630         (gl_tree_remove_node): Call dispose_fn on the dropped value.
6631         * lib/gl_anytree_list2.h (gl_tree_create_empty): Add dispose_fn
6632         argument.
6633         (gl_tree_list_free): Call dispose_fn on the dropped values.
6634         * lib/gl_anytreehash_list2.h (gl_tree_list_free): Call dispose_fn on
6635         the dropped values.
6636         * lib/gl_anylinked_list2.h (gl_linked_create_empty, gl_linked_create):
6637         Add dispose_fn argument.
6638         (gl_linked_remove_node, gl_linked_remove_at, gl_linked_list_free):
6639         Call dispose_fn on the dropped values.
6640         * lib/gl_sublist.c (gl_sublist_create_empty, gl_sublist_create_fill):
6641         Add dispose_fn argument.
6642         (gl_sublist_create): Initialize the 'dispose_fn' field.
6643         * lib/clean-temp.c (create_temp_dir, register_fd): Update.
6644         * tests/test-array_list.c (main): Update.
6645         * tests/test-carray_list.c (main): Update.
6646         * tests/test-avltree_list.c (main): Update.
6647         * tests/test-rbtree_list.c (main): Update.
6648         * tests/test-avltreehash_list.c (main): Update.
6649         * tests/test-rbtreehash_list.c (main): Update.
6650         * tests/test-linked_list.c (main): Update.
6651         * tests/test-linkedhash_list.c (main): Update.
6652         * tests/test-array_oset.c (main): Update.
6653
6654 2007-03-15  Bruno Haible  <bruno@clisp.org>
6655
6656         * lib/gl_oset.h (gl_setelement_dispose_fn): New type.
6657         (gl_oset_create_empty): Add dispose_fn argument.
6658         (struct gl_oset_implementation): Add dispose_fn argument to
6659         'create_empty' method.
6660         (struct gl_oset_impl_base): Add dispose_fn field.
6661         * lib/gl_oset.c (gl_oset_create_empty): Add dispose_fn argument.
6662         * lib/gl_array_oset.c (gl_array_create_empty): Add dispose_fn argument.
6663         (gl_array_remove_at, gl_array_free): Call dispose_fn on the dropped
6664         values.
6665         * lib/gl_anytree_oset.h (gl_tree_create_empty): Add dispose_fn argument.
6666         (gl_tree_oset_free): Call dispose_fn on the dropped values.
6667         * lib/gl_avltree_oset.c (gl_tree_remove_node): Call dispose_fn on the
6668         dropped value.
6669         * lib/gl_rbtree_oset.c (gl_tree_remove_node): Call dispose_fn on the
6670         dropped value.
6671         * tests/test-array_oset.c (main): Update.
6672         * tests/test-avltree_oset.c (main): Update.
6673         * tests/test-rbtree_oset.c (main): Update.
6674         * lib/gl_anytreehash_list1.h (add_to_bucket): Update.
6675
6676 2007-03-13  Bruno Haible  <bruno@clisp.org>
6677
6678         * tests/test-stdbool.c (i): Update after last patch.
6679
6680 2007-03-12  Bruno Haible  <bruno@clisp.org>
6681
6682         * lib/quotearg.c: Include <wctype.h> early, before the definition of
6683         the iswprint macro. Needed on Solaris 2.5.1.
6684
6685 2007-03-12  Bruno Haible  <bruno@clisp.org>
6686
6687         * tests/test-printf-frexp.c (main): Declare x as volatile.
6688
6689 2007-03-12  Simon Josefsson  <simon@josefsson.org>
6690
6691         * doc/gnulib.texi (Build robot for gnulib): New section.
6692
6693 2007-03-12  Jim Meyering  <jim@meyering.net>
6694
6695         * build-aux/bootstrap: New file.
6696         * build-aux/bootstrap.conf: New file, from coreutils.
6697
6698 2007-03-11  Bruno Haible  <bruno@clisp.org>
6699
6700         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Require AC_C_INLINE.
6701
6702 2007-03-12  Simon Josefsson  <simon@josefsson.org>
6703
6704         * lib/des.h, lib/des.c, lib/gc-gnulib.c: Use gl_ namespace, to
6705         avoid collisions with 'des_setkey'.  Reported by Bruno Haible
6706         <bruno@clisp.org>.  Also change 'tripledes_' to '3des_'.
6707
6708 2007-03-11  Bruno Haible  <bruno@clisp.org>
6709
6710         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): If the test program fails to
6711         compile, set LOCALE_TR_UTF8 to 'none' instead of empty.
6712
6713 2007-03-11  Bruno Haible  <bruno@clisp.org>
6714
6715         * lib/stdint_.h (INT64_MIN, INTMAX_MIN): Avoid using the ~INT..._MAX
6716         formula. Needed for SunPRO C 5.0.
6717
6718 2007-03-11  Bruno Haible  <bruno@clisp.org>
6719
6720         * modules/long-options (Depends-on): Add getopt.
6721
6722 2007-03-11  Bruno Haible  <bruno@clisp.org>
6723
6724         * modules/modechange (Depends-on): Add stdbool.
6725
6726 2007-03-11  Bruno Haible  <bruno@clisp.org>
6727
6728         * modules/i-ring (Depends-on): Add stdbool.
6729
6730 2007-03-11  Bruno Haible  <bruno@clisp.org>
6731
6732         * modules/gc-des (Depends-on): Add stdbool.
6733
6734 2007-03-11  Bruno Haible  <bruno@clisp.org>
6735
6736         * m4/mktime.m4 (gl_PREREQ_MKTIME): Require AC_C_INLINE.
6737
6738 2007-03-11  Bruno Haible  <bruno@clisp.org>
6739
6740         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Require AC_C_RESTRICT.
6741
6742 2007-03-11  Bruno Haible  <bruno@clisp.org>
6743
6744         * lib/unistr/u32-mbtouc-unsafe.c (u32_mbtouc_unsafe): Fix syntax error.
6745
6746 2007-03-11  Bruno Haible  <bruno@clisp.org>
6747
6748         * lib/vasnprintf.c (sprintf): Undefine.
6749
6750 2007-03-11  Bruno Haible  <bruno@clisp.org>
6751
6752         * lib/isnan.c (rpl_isnan, rpl_isnanl): Work around bug regarding
6753         initializers in SunPRO C and Compaq C compilers.
6754
6755 2007-03-11  Bruno Haible  <bruno@clisp.org>
6756
6757         * lib/gl_array_oset.c (gl_array_iterator_next): Make pointer
6758         decrementing code ANSI C compliant.
6759
6760 2007-03-11  Bruno Haible  <bruno@clisp.org>
6761
6762         * lib/dummy.c [__sun]: Define a dummy variable, not just a typedef.
6763         Needed for Solaris 2.5.1 ranlib and SunPRO C 5.0.
6764
6765 2007-03-11  Bruno Haible  <bruno@clisp.org>
6766
6767         * tests/test-stdbool.c (s, d, e, xlcbug): Disable checks that gnulib's
6768         <stdbool.h> substitute doesn't pass.
6769
6770 2007-03-11  Bruno Haible  <bruno@clisp.org>
6771
6772         * lib/vasnprintf.c (snprintf): Undefine. Avoids an endless recursion.
6773
6774 2007-03-11  Bruno Haible  <bruno@clisp.org>
6775
6776         * gnulib-tool (func_create_megatestdir): Create also an autobuild
6777         script, for submission to autobuild.josefsson.org.
6778
6779 2007-03-10  Bruno Haible  <bruno@clisp.org>
6780
6781         * modules/canonicalize-lgpl-tests: New file.
6782         * tests/test-canonicalize-lgpl.sh: New file.
6783         * tests/test-canonicalize-lgpl.c: New file.
6784
6785         * modules/c-strcase-tests: New file.
6786         * tests/test-c-strcase.sh: New file.
6787         * tests/test-c-strcasecmp.c: New file.
6788         * tests/test-c-strncasecmp.c: New file.
6789
6790         * modules/atexit-tests: New file.
6791         * tests/test-atexit.sh: New file.
6792         * tests/test-atexit.c: New file.
6793
6794 2007-03-10  Bruno Haible  <bruno@clisp.org>
6795
6796         * tests/test-binary-io.sh: Use temporary filenames that are not so
6797         likely to clash with those of other tests (in a parallel make).
6798         * tests/test-binary-io.c: Likewise.
6799
6800 2007-03-10  Bruno Haible  <bruno@clisp.org>
6801
6802         * lib/fseterr.c (fseterr): Port to Solaris/SPARC64. Deactivate the
6803         fallback; use #error instead.
6804         Suggested by Simon Josefsson.
6805
6806 2007-03-10  Bruno Haible  <bruno@clisp.org>
6807
6808         * gnulib-tool (func_create_testdir): Treat MOSTLYCLEANFILES like
6809         CLEANFILES. Put spaces in each line of $cleaned_files, not only the
6810         first and the last.
6811
6812 2007-03-10  Bruno Haible  <bruno@clisp.org>
6813
6814         * lib/stdint_.h (uint_least64_t): Fix typo in last patch.
6815
6816 2007-03-10  Bruno Haible  <bruno@clisp.org>
6817
6818         * modules/snprintf-posix-tests (EXTRA_DIST): New variable. Needed for
6819         "make distcheck".
6820         * modules/sprintf-posix-tests (EXTRA_DIST): Likewise.
6821         * modules/vsnprintf-posix-tests (EXTRA_DIST): Likewise.
6822         * modules/vsprintf-posix-tests (EXTRA_DIST): Likewise.
6823
6824 2007-03-10  Bruno Haible  <bruno@clisp.org>
6825
6826         * modules/allocsa-tests (test_allocsa_SOURCES): Remove redundant
6827         variable.
6828         * modules/dirname-tests (test_dirname_SOURCES): Remove redundant
6829         variable.
6830
6831 2007-03-09  Eric Blake  <ebb9@byu.net>
6832         and Matthew Woehlke  <mw_triad@users.sourceforge.net>  (tiny change)
6833
6834         * lib/stdint_.h (int64_t, uint64_t): Don't undefine if 64-bit
6835         types are not being provided by gnulib.
6836         (GL_INT64_T, GL_UINT64_T): New witnesses of whether gnulib 64-bit
6837         types are supported.
6838
6839 2007-03-10  Bruno Haible  <bruno@clisp.org>
6840
6841         * lib/stdio_.h (__attribute__): New macro.
6842         (fprintf, vfprintf, printf, vprintf, snprintf, vsnprintf, sprintf,
6843         vsprintf): Specify __attribute__ __format__ for GCC.
6844         Suggested by Eric Blake.
6845
6846 2007-03-09  Bruno Haible  <bruno@clisp.org>
6847
6848         * modules/printf-posix-tests: New file.
6849         * tests/test-printf-posix.sh: New file.
6850         * tests/test-printf-posix.c: New file.
6851
6852         * modules/printf-posix: New file.
6853         * lib/printf.c: New file.
6854         * m4/printf-posix-rpl.m4: New file.
6855         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_PRINTF_POSIX,
6856         REPLACE_PRINTF.
6857         * lib/stdio_.h (printf): New declaration.
6858         (format, __format__, ____printf____, ____scanf____, ____strftime____,
6859         ____strfmon____): New macros.
6860         * modules/stdio (Makefile.am): Substitute also GNULIB_PRINTF_POSIX,
6861         REPLACE_PRINTF.
6862
6863 2007-03-09  Bruno Haible  <bruno@clisp.org>
6864
6865         * tests/test-vasnprintf-posix2.sh: New file.
6866         * tests/test-vasnprintf-posix2.c: New file.
6867         * modules/vasnprintf-posix-tests (Files): Add them and m4/locale-fr.m4.
6868         (configure.ac): Invoke gt_LOCALE_FR and gt_LOCALE_FR_UTF8.
6869         (Makefile.am): Activate test-vasnprintf-posix2.sh.
6870
6871         * lib/vasnprintf.c (VASNPRINTF): For the 'a' and 'A' directives, use
6872         a locale dependent decimal point, rather than always '.'.
6873
6874 2007-03-09  Eric Blake  <ebb9@byu.net>
6875
6876         * lib/stdlib_.h (EXIT_FAILURE): GNU code expects this to be 1, in
6877         spite of platforms like Tandem/NSK that define it to -1.
6878
6879 2007-03-08  Bruno Haible  <bruno@clisp.org>
6880
6881         * modules/vprintf-posix-tests: New file.
6882         * tests/test-vprintf-posix.sh: New file.
6883         * tests/test-vprintf-posix.c: New file.
6884         * tests/test-printf-posix.h: New file.
6885
6886         * modules/vprintf-posix: New file.
6887         * lib/vprintf.c: New file.
6888         * m4/vprintf-posix.m4: New file.
6889         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VPRINTF_POSIX,
6890         REPLACE_VPRINTF.
6891         * lib/stdio_.h (vprintf): New declaration.
6892         * modules/stdio (Makefile.am): Substitute also GNULIB_VPRINTF_POSIX,
6893         REPLACE_VPRINTF.
6894
6895 2007-03-08  Bruno Haible  <bruno@clisp.org>
6896
6897         * modules/fprintf-posix-tests: New file.
6898         * tests/test-fprintf-posix.sh: New file.
6899         * tests/test-fprintf-posix.c: New file.
6900
6901         * modules/fprintf-posix: New file.
6902         * lib/fprintf.c: New file.
6903         * m4/fprintf-posix.m4: New file.
6904         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FPRINTF_POSIX,
6905         REPLACE_FPRINTF.
6906         * lib/stdio_.h (fprintf): New declaration.
6907         * modules/stdio (Makefile.am): Substitute also GNULIB_FPRINTF_POSIX,
6908         REPLACE_FPRINTF.
6909
6910 2007-03-08  Bruno Haible  <bruno@clisp.org>
6911
6912         * modules/vfprintf-posix-tests: New file.
6913         * tests/test-vfprintf-posix.sh: New file.
6914         * tests/test-vfprintf-posix.c: New file.
6915         * tests/test-fprintf-posix.h: New file.
6916         * tests/test-fprintf-posix.out: New file.
6917
6918         * modules/vfprintf-posix: New file.
6919         * lib/vfprintf.c: New file.
6920         * m4/vfprintf-posix.m4: New file.
6921         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VFPRINTF_POSIX,
6922         REPLACE_VFPRINTF.
6923         * lib/stdio_.h (vfprintf): New declaration.
6924         * modules/stdio (Makefile.am): Substitute also GNULIB_VFPRINTF_POSIX,
6925         REPLACE_VFPRINTF.
6926
6927 2007-03-08  Bruno Haible  <bruno@clisp.org>
6928
6929         * lib/stdio_.h: Treat __need___FILE like __need_FILE.
6930
6931 2007-03-08  Bruno Haible  <bruno@clisp.org>
6932
6933         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Use 'case' statements
6934         instead of 'expr' invocations.
6935         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
6936         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
6937         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
6938         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
6939         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
6940         Suggested by Paul Eggert.
6941
6942 2007-03-08  Bruno Haible  <bruno@clisp.org>
6943
6944         * modules/fseterr-tests: New file.
6945         * tests/test-fseterr.c: New file.
6946
6947         * modules/fseterr: New file.
6948         * lib/fseterr.h: New file.
6949         * lib/fseterr.c: New file.
6950
6951 2007-03-08  Bruno Haible  <bruno@clisp.org>
6952
6953         * lib/fnmatch_.h: Convert tabs in the middle of lines to spaces.
6954         * lib/getopt_.h: Likewise.
6955         * lib/mbswidth.h: Likewise.
6956         * lib/setenv.h: Likewise.
6957         * lib/vasnprintf.h: Likewise.
6958         * lib/vasprintf.h: Likewise.
6959         * lib/verror.h: Likewise.
6960         * lib/xsetenv.h: Likewise.
6961         * lib/xvasprintf.h: Likewise.
6962
6963 2007-03-08  Jim Meyering  <jim@meyering.net>
6964
6965         * users.txt: Add parted.
6966
6967         * ChangeLog: Restore 1500 lines mistakenly removed from the end.
6968
6969 2007-03-07  Bruno Haible  <bruno@clisp.org>
6970
6971         * m4/printf.m4: Make the shell script snippets copy&pastable.
6972
6973 2007-03-02  Bruno Haible  <bruno@clisp.org>
6974
6975         * lib/netinet_in_.h: New file.
6976         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Test whether netinet/in.h
6977         is self-contained. Set ABSOLUTE_NETINET_IN_H, HAVE_NETINET_IN_H.
6978         * modules/netinet_in (Files): Add lib/netinet_in_.h.
6979         (Depends-on): Add absolute-header.
6980         (Makefile.am): Substitute ABSOLUTE_NETINET_IN_H, HAVE_NETINET_IN_H
6981         into netinet/in.h.
6982
6983 2007-03-03  Bruno Haible  <bruno@clisp.org>
6984
6985         * lib/sys_select_.h: New file.
6986         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SELECT): Test whether sys/select.h
6987         is self-contained. Set ABSOLUTE_SYS_SELECT_H, HAVE_SYS_SELECT_H.
6988         * modules/sys_select (Files): Add lib/sys_select_.h.
6989         (Depends-on): Add absolute-header.
6990         (Makefile.am): Substitute ABSOLUTE_SYS_SELECT_H, HAVE_SYS_SELECT_H
6991         into sys/select.h.
6992
6993 2007-03-02  Bruno Haible  <bruno@clisp.org>
6994
6995         * lib/socket_.h: If sys/socket.h exists, include that and <sys/types.h>
6996         before it. Turn HAVE_WINSOCK2_H and HAVE_WS2TCPIP_H into configute-time
6997         values.
6998         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Test also whether
6999         <sys/socket.h> is self-contained. Set ABSOLUTE_SYS_SOCKET_H,
7000         HAVE_SYS_SOCKET_H, HAVE_WINSOCK2_H, HAVE_WS2TCPIP_H.
7001         * modules/sys_socket (Depends-on): Add absolute-header.
7002         (Makefile.am): Substitute ABSOLUTE_SYS_SOCKET_H, HAVE_SYS_SOCKET_H,
7003         HAVE_WINSOCK2_H, HAVE_WS2TCPIP_H into sys/socket.h.
7004         (Include): Remove requirement of inclusion of <sys/types.h>.
7005
7006 2007-03-02  Bruno Haible  <bruno@clisp.org>
7007
7008         * lib/byteswap_.h (bswap_32): Fix formula.
7009
7010 2007-03-06  Bruno Haible  <bruno@clisp.org>
7011
7012         * modules/sprintf-posix-tests: New file.
7013         * tests/test-sprintf-posix.c: New file.
7014
7015         * modules/sprintf-posix: New file.
7016         * lib/sprintf.c: New file.
7017         * m4/sprintf-posix.m4: New file.
7018         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_SPRINTF_POSIX,
7019         REPLACE_SPRINTF.
7020         * lib/stdio_.h (sprintf): New declaration.
7021         * modules/stdio (Makefile.am): Substitute also GNULIB_SPRINTF_POSIX,
7022         REPLACE_SPRINTF.
7023
7024 2007-03-06  Bruno Haible  <bruno@clisp.org>
7025
7026         * modules/vsprintf-posix-tests: New file.
7027         * tests/test-vsprintf-posix.c: New file.
7028         * tests/test-sprintf-posix.h: New file.
7029
7030         * modules/vsprintf-posix: New file.
7031         * lib/vsprintf.c: New file.
7032         * m4/vsprintf-posix.m4: New file.
7033         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VSPRINTF_POSIX,
7034         REPLACE_VSPRINTF.
7035         * lib/stdio_.h (vsprintf): New declaration.
7036         * modules/stdio (Makefile.am): Substitute also GNULIB_VSPRINTF_POSIX,
7037         REPLACE_VSPRINTF.
7038
7039 2007-03-06  Bruno Haible  <bruno@clisp.org>
7040
7041         * modules/vsnprintf (Depend-on): Remove minmax.
7042
7043 2007-03-06  Bruno Haible  <bruno@clisp.org>
7044
7045         * modules/snprintf-posix-tests: New file.
7046         * tests/test-snprintf-posix.c: New file.
7047
7048         * modules/snprintf-posix: New file.
7049         * m4/snprintf-posix.m4: New file.
7050         * m4/snprintf.m4 (gl_REPLACE_SNPRINTF): New macro, extracted from
7051         gl_FUNC_SNPRINTF.
7052         (gl_FUNC_SNPRINTF): Invoke it.
7053         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also REPLACE_SNPRINTF.
7054         * lib/stdio_.h (snprintf): Define as a replacement if REPLACE_SNPRINTF
7055         is set.
7056         * modules/stdio (Makefile.am): Substitute also REPLACE_SNPRINTF.
7057
7058 2007-03-06  Bruno Haible  <bruno@clisp.org>
7059
7060         * modules/vsnprintf-posix-tests: New file.
7061         * tests/test-vsnprintf-posix.c: New file.
7062         * tests/test-snprintf-posix.h: New file.
7063
7064         * modules/vsnprintf-posix: New file.
7065         * m4/vsnprintf-posix.m4: New file.
7066         * m4/vsnprintf.m4 (gl_REPLACE_VSNPRINTF): New macro, extracted from
7067         gl_FUNC_VSNPRINTF.
7068         (gl_FUNC_VSNPRINTF): Invoke it.
7069         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also REPLACE_VSNPRINTF.
7070         * lib/stdio_.h (vsnprintf): Define as a replacement if
7071         REPLACE_VSNPRINTF is set.
7072         * modules/stdio (Makefile.am): Substitute also REPLACE_VSNPRINTF.
7073
7074 2007-03-06  Bruno Haible  <bruno@clisp.org>
7075
7076         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): Test for vasnprintf here.
7077         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): ... not here.
7078
7079 2007-03-06  Bruno Haible  <bruno@clisp.org>
7080
7081         * lib/math_.h (acosl): Declare also if HAVE_DECL_ACOSL is set.
7082         (asinl): Declare also if HAVE_DECL_ASINL is set.
7083         (atanl): Declare also if HAVE_DECL_ATANL is set.
7084         (ceill): Declare also if HAVE_DECL_CEILL is set.
7085         (cosl): Declare also if HAVE_DECL_COSL is set.
7086         (expl): Declare also if HAVE_DECL_EXPL is set.
7087         (floorl): Declare also if HAVE_DECL_FLOORL is set.
7088         (frexpl): Declare also if HAVE_DECL_FREXPL is set.
7089         (ldexpl): Declare also if HAVE_DECL_LDEXPL is set.
7090         (logl): Declare also if HAVE_DECL_LOGL is set.
7091         (sinl): Declare also if HAVE_DECL_SINL is set.
7092         (sqrtl): Declare also if HAVE_DECL_SQRTL is set.
7093         (tanl): Declare also if HAVE_DECL_TANL is set.
7094         * modules/math (Makefile.am): Substitute the values of HAVE_DECL_*.
7095         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Set HAVE_DECL_* to 1.
7096         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Fix tests for the
7097         declaration of frexpl, ldexpl.
7098         * modules/printf-frexpl (Depends-on): Add math.
7099         * lib/printf-frexp.c (frexpl, ldexpl): Undo last change.
7100
7101 2007-03-05  Bruno Haible  <bruno@clisp.org>
7102
7103         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Also test whether
7104         frexpl and ldexpl are declared.
7105         * lib/printf-frexp.c (frexpl, ldexpl): Provide fallback declarations.
7106
7107 2007-03-05  Bruno Haible  <bruno@clisp.org>
7108
7109         * gnulib-tool (func_get_automake_snippet): Don't synthesize an
7110         EXTRA_lib_SOURCES augmentation for the relocatable-prog-wrapper module.
7111
7112 2007-03-05  Bruno Haible  <bruno@clisp.org>
7113
7114         * lib/stdio_.h: Include <stddef.h>.
7115
7116 2007-03-05  Bruno Haible  <bruno@clisp.org>
7117
7118         * m4/printf.m4 (gl_SNPRINTF_DIRECTIVE_N): New macro.
7119
7120 2007-03-05  Bruno Haible  <bruno@clisp.org>
7121
7122         * m4/printf.m4: Update with info about OpenBSD 3.9, HP-UX 10.20,
7123         NetBSD 4, from Ralf Wildenhues.
7124
7125 2007-03-04  Bruno Haible  <bruno@clisp.org>
7126
7127         * lib/vasprintf.h: Update #if logic for the case when the functions
7128         exist but are overridden.
7129
7130 2007-03-04  Bruno Haible  <bruno@clisp.org>
7131
7132         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Exclude two buggy
7133         implementations: glibc-2.4 and MacOS X 10.3.
7134         * tests/test-vasnprintf-posix.c (test_function): Test also the case
7135         that exhibits the bugs in glibc-2.4 and MacOS X 10.3.
7136         * tests/test-vasprintf-posix.c (test_function): Likewise.
7137
7138 2007-03-04  Bruno Haible  <bruno@clisp.org>
7139
7140         * modules/vasprintf-posix-tests: New file.
7141         * tests/test-vasprintf-posix.c: New file.
7142
7143         * modules/vasprintf-posix: New file.
7144         * lib/vasprintf.h (asprintf, vasprintf): Rename if REPLACE_VASPRINTF is
7145         defined.
7146         * m4/vasprintf-posix.m4: New file.
7147         * m4/vasprintf.m4 (gl_REPLACE_VASPRINTF): New macro, extracted from
7148         gl_FUNC_VASPRINTF.
7149         (gl_FUNC_VASPRINTF): Invoke it.
7150         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): Define REPLACE_VASNPRINTF
7151         here.
7152         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Not here.
7153
7154 2007-03-04  Bruno Haible  <bruno@clisp.org>
7155
7156         * lib/sys_time_.h: Rename GETTIMEOFDAY_REPLACEMENT to
7157         REPLACE_GETTIMEOFDAY.
7158         * modules/sys_time (Makefile.am): Likewise.
7159         * m4/sys_time_h.m4: Likewise.
7160         * m4/gettimeofday.m4: Likewise.
7161
7162 2007-03-04  Bruno Haible  <bruno@clisp.org>
7163
7164         * modules/vasnprintf-posix-tests: New file.
7165         * tests/test-vasnprintf-posix.c: New file.
7166
7167         * modules/vasnprintf-posix: New file.
7168         * lib/vasnprintf.c: Include isnan.h, isnanl.h, printf-frexp.h,
7169         printf-frexpl.h.
7170         (VASNPRINTF): Handle the 'a' and 'A' directives here, if needed.
7171         * lib/vasnprintf.h (asnprintf, vasnprintf): Rename if
7172         REPLACE_VASNPRINTF is defined.
7173         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): New macro, extracted from
7174         gl_FUNC_VASNPRINTF.
7175         (gl_FUNC_VASNPRINTF): Invoke it.
7176         * m4/vasnprintf-posix.m4: New file.
7177         * m4/printf.m4: New file.
7178
7179 2007-03-04  Bruno Haible  <bruno@clisp.org>
7180
7181         Compile progreloc.c only if --enable-relocatable is specified.
7182         * m4/relocatable.m4 (gl_RELOCATABLE): Arrange to compile progreloc.c
7183         if --enable-relocatable was specified.
7184         * modules/relocatable-prog (Makefile.am): Remove progreloc.c from
7185         lib_SOURCES.
7186
7187 2007-03-04  Jim Meyering  <jim@meyering.net>
7188
7189         * lib/acl.c (ACL_NOT_WELL_SUPPORTED): New macro.
7190         Use it consistently, rather than enumerating errno constants.
7191
7192 2007-03-04  Bruno Haible  <bruno@clisp.org>
7193
7194         * modules/xvasprintf-tests: New file.
7195         * tests/test-xvasprintf.c: New file.
7196
7197         * modules/vasprintf-tests: New file.
7198         * tests/test-vasprintf.c: New file.
7199
7200         * modules/vasnprintf-tests: New file.
7201         * tests/test-vasnprintf.c: New file.
7202
7203         * modules/vsnprintf-tests: New file.
7204         * tests/test-vsnprintf.c: New file.
7205
7206         * modules/snprintf-tests: New file.
7207         * tests/test-snprintf.c: New file.
7208
7209 2007-03-04  Bruno Haible  <bruno@clisp.org>
7210
7211         Compile relocatable.c only if --enable-relocatable is specified.
7212         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY_BODY): Renamed from
7213         gl_RELOCATABLE_LIBRARY.
7214         (gl_RELOCATABLE_LIBRARY, gl_RELOCATABLE_LIBRARY_SEPARATE): New macros.
7215         * m4/relocatable.m4 (gl_RELOCATABLE): Invoke gl_RELOCATABLE_LIBRARY.
7216         (gl_RELOCATABLE_BODY): Require gl_RELOCATABLE_LIBRARY_BODY instead of
7217         gl_RELOCATABLE_LIBRARY.
7218         * modules/relocatable-lib (configure.ac): Invoke gl_RELOCATABLE_LIBRARY.
7219         (Makefile.am): Remove lib_SOURCES.
7220         * modules/relocatable-lib-lgpl (configure.ac): Invoke
7221         gl_RELOCATABLE_LIBRARY.
7222         (Makefile.am): Remove lib_SOURCES.
7223         * modules/relocatable-prog (Makefile.am): Don't compile relocatable.c
7224         always.
7225         * modules/relocatable-prog-wrapper (configure.ac): Invoke
7226         gl_RELOCATABLE_LIBRARY_SEPARATE instead of gl_RELOCATABLE_LIBRARY.
7227
7228 2007-03-04  Bruno Haible  <bruno@clisp.org>
7229
7230         * modules/argmatch-tests: New file.
7231         * tests/test-argmatch.c: New file.
7232
7233         * tests/test-allocsa.c (main): Halve the number of loop runs.
7234
7235         * modules/alloca-opt-tests: New file.
7236         * tests/test-alloca-opt.c: New file.
7237
7238 2007-03-04  Jim Meyering  <jim@meyering.net>
7239
7240         Work around difference between Linux ACLs and Solaris 10 ZFS.
7241         * lib/acl.c (set_acl): Revert to using chmod_or_fchmod also
7242         for EINVAL.
7243
7244 2007-03-03  Bruno Haible  <bruno@clisp.org>
7245
7246         * modules/relocatable-prog (Depends-on): Add back progreloc's
7247         dependencies: canonicalize-lgpl, xalloc, xreadlink, stdbool, unistd.
7248
7249 2007-03-03  Bruno Haible  <bruno@clisp.org>
7250
7251         * modules/relocatable-lib-lgpl: Renamed from modules/relocatable-lib.
7252         * modules/relocatable-lib: New file.
7253
7254 2007-03-03  Bruno Haible  <bruno@clisp.org>
7255
7256         * modules/relocatable-prog: Renamed from modules/relocatable.
7257         * doc/relocatable-maint.texi: Talk about module 'relocatable-prog'.
7258
7259 2007-03-03  Bruno Haible  <bruno@clisp.org>
7260
7261         * modules/relocatable-script (Files): Add doc/relocatable.texi,
7262         m4/relocatable-lib.m4.
7263         (Depends-on): Remove 'relocatable'.
7264         (configure.ac): Add gl_RELOCATABLE_NOP.
7265
7266 2007-03-03  Bruno Haible  <bruno@clisp.org>
7267
7268         * modules/relocatable-prog-wrapper: New file.
7269         * modules/relocatable (Depends-on): Add it. Remove all other
7270         dependencies except progname.
7271         (Files): Remove build-aux/install-reloc, lib/relocwrapper.c.
7272
7273         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): New macro.
7274         (gl_FUNC_STRERROR): Nop.
7275         * lib/strerror.c: Compile the file only if !HAVE_STRERROR.
7276
7277         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): New macro.
7278         * lib/setenv.c: Compile the file only if _LIBC || !HAVE_SETENV.
7279
7280         * m4/readlink.m4 (gl_FUNC_READLINK_SEPARATE): New macro.
7281         (gl_FUNC_READLINK): Update.
7282
7283         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL_SEPARATE): New macro.
7284
7285 2007-03-03  Bruno Haible  <bruno@clisp.org>
7286
7287         * lib/xreadlink.c: Include <unistd.h> unconditionally.
7288         * modules/xreadlink (Depends-on): Add unistd.
7289         * modules/xreadlink-with-size (Depends-on): Likewise.
7290
7291 2007-03-03  Bruno Haible  <bruno@clisp.org>
7292
7293         * m4/setenv.m4 (gl_FUNC_SETENV, gl_FUNC_UNSETENV): New macros,
7294         extracted from gt_FUNC_SETENV.
7295         (gt_FUNC_SETENV): Remove macro.
7296         * modules/setenv (configure.ac): Add gl_FUNC_SETENV, gl_FUNC_UNSETENV,
7297         remove gt_FUNC_SETENV.
7298
7299 2007-03-03  Bruno Haible  <bruno@clisp.org>
7300
7301         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY): Define
7302         ENABLE_RELOCATABLE here.
7303         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Don't define it here.
7304
7305 2007-03-03  Bruno Haible  <bruno@clisp.org>
7306
7307         * modules/rbtreehash-list-tests (Depends-on): Add progname.
7308         * tests/test-rbtreehash_list.c: Include progname.h.
7309         (main): Call set_program_name.
7310
7311         * modules/rbtree-oset-tests (Depends-on): Add progname.
7312         * tests/test-rbtree_oset.c: Include progname.h.
7313         (main): Call set_program_name.
7314
7315         * modules/rbtree-list-tests (Depends-on): Add progname.
7316         * tests/test-rbtree_list.c: Include progname.h.
7317         (main): Call set_program_name.
7318
7319         * modules/linked-list-tests (Depends-on): Add progname.
7320         * tests/test-linked_list.c: Include progname.h.
7321         (main): Call set_program_name.
7322
7323 2007-03-03  Bruno Haible  <bruno@clisp.org>
7324
7325         * lib/glob-libc.h (_Restrict_): New macro, copied from lib/regex.h.
7326         All uses of __restrict changed to _Restrict_.
7327         * lib/glob_.h (__restrict): Remove macro.
7328
7329 2007-03-02  Bruno Haible  <bruno@clisp.org>
7330
7331         * modules/gettext (configure.ac): Require gettext infrastructure
7332         from version 0.16.1.
7333
7334 2007-03-02  Bruno Haible  <bruno@clisp.org>
7335
7336         * modules/linkedhash-list-tests (Depends-on): Add progname.
7337         * tests/test-linkedhash_list.c: Include progname.h.
7338         (main): Call set_program_name.
7339
7340         * modules/carray-list-tests (Depends-on): Add progname.
7341         * tests/test-carray_list.c: Include progname.h.
7342         (main): Call set_program_name.
7343
7344         * modules/avltreehash-list-tests (Depends-on): Add progname.
7345         * tests/test-avltreehash_list.c: Include progname.h.
7346         (main): Call set_program_name.
7347
7348         * modules/avltree-oset-tests (Depends-on): Add progname.
7349         * tests/test-avltree_oset.c: Include progname.h.
7350         (main): Call set_program_name.
7351
7352         * modules/avltree-list-tests (Depends-on): Add progname.
7353         * tests/test-avltree_list.c: Include progname.h.
7354         (main): Call set_program_name.
7355
7356         * modules/array-oset-tests (Depends-on): Add progname.
7357         * tests/test-array_oset.c: Include progname.h.
7358         (main): Call set_program_name.
7359
7360         * modules/array-list-tests (Depends-on): Add progname.
7361         * tests/test-array_list.c: Include progname.h.
7362         (main): Call set_program_name.
7363
7364         * modules/argp-tests (Depends-on): Add progname.
7365         * tests/test-argp.c: Include argp.h first. Include progname.h.
7366         (main): Call set_program_name.
7367
7368 2007-03-02  Paul Eggert  <eggert@cs.ucla.edu>
7369
7370         * doc/gnulib-tool.texi (Initial import): Reword description of
7371         _FILE_OFFSET_BITS and _GNU_SOURCE, since they sometimes have a
7372         limited effect even if defined after the first system include.
7373
7374 2007-03-01  Bruno Haible  <bruno@clisp.org>
7375
7376         * build-aux/config.libpath: Update to libtool-1.5.22.
7377         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
7378
7379 2007-03-01  Bruno Haible  <bruno@clisp.org>
7380
7381         * doc/relocatable-maint.texi: Recommend to set foo_CPPFLAGS, not
7382         foo_CFLAGS.
7383         Reported by Ralf Wildenhues.
7384
7385 2007-03-01  Bruno Haible  <bruno@clisp.org>
7386
7387         * build-aux/install-reloc: Remove object files left over by some
7388         compilers.
7389         Reported by Ralf Wildenhues.
7390
7391 2007-03-01  Bruno Haible  <bruno@clisp.org>
7392
7393         * build-aux/install-reloc: Break long lines.
7394
7395 2007-03-01  Bruno Haible  <bruno@clisp.org>
7396
7397         * doc/relocatable.texi: Document that it may not work on OpenBSD.
7398         Reported by Ralf Wildenhues.
7399
7400 2007-03-01  Bruno Haible  <bruno@clisp.org>
7401
7402         * doc/gnulib-tool.texi (Initial import): Remove paragraph about
7403         include ordering constraints.
7404
7405 2007-03-01  Paul Eggert  <eggert@cs.ucla.edu>
7406
7407         Followup to the 2007-02-12 patch, using suggestions from Bruno Haible in
7408         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00136.html>.
7409         * doc/gnulib-tool.texi (Initial import): Mention _FILE_OFFSET_BITS
7410         as another example.
7411         * lib/time_.h: Fix misspelling.
7412         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
7413         Require gl_HEADER_TIME_H_DEFAULTS.
7414         * m4/strptime.m4 (gl_FUNC_STRPTIME): Likewise.
7415         * m4/time_r.m4 (gl_TIME_R): Likewise.
7416         * m4/timegm.m4 (gl_FUNC_TIMEGM): Likewise.
7417
7418 2007-03-01  Bruno Haible  <bruno@clisp.org>
7419
7420         * m4/utimecmp.m4 (gl_UTIMECMP): Don't require gl_TIMESPEC.
7421         * m4/utimens.m4 (gl_UTIMENS): Likewise.
7422
7423 2007-03-01  Jim Meyering  <jim@meyering.net>
7424
7425         * modules/xreadlink (Maintainer): Add my name.
7426         * modules/xreadlink-with-size (Depends-on): Alphabetize.
7427
7428 2007-02-26  Ben Pfaff  <blp@cs.stanford.edu>
7429             Bruno Haible  <bruno@clisp.org>
7430
7431         * build-aux/install-reloc: Compile also c-ctype.c.
7432         * build-aux/relocatable.sh.in: New file.
7433         * doc/relocatable.texi: New file.
7434         * doc/relocatable-maint.texi: New file.
7435         * doc/gnulib.texi: Include relocatable-maint.texi.
7436         * lib/progreloc.c: Include unistd.h unconditionally.
7437         * lib/relocwrapper.c: Include unistd.h unconditionally.
7438         Include c-ctype.h.
7439         (add_dotbin): Use c_tolower.
7440         * m4/relocatable-lib.m4: New file, extracted from m4/relocatable.m4.
7441         (gl_RELOCATABLE_LIBRARY): Renamed from AC_RELOCATABLE_LIBRARY.
7442         (gl_RELOCATABLE_NOP): Renamed from AC_RELOCATABLE_NOP.
7443         * m4/relocatable.m4 (AC_RELOCATABLE_LIBRARY, AC_RELOCATABLE_NOP): Move
7444         to m4/relocatable-lib.m4.
7445         (gl_RELOCATABLE): Renamed from AC_RELOCATABLE. Set also
7446         RELOCATABLE_CONFIG_H_DIR, RELOCATABLE_SRC_DIR, RELOCATABLE_BUILD_DIR.
7447         (gl_RELOCATABLE_BODY): Renamed from AC_RELOCATABLE_BODY. Don't
7448         require obsolete macro AC_EXEEXT. Don't check for unistd.h. Don't set
7449         SET_RELOCATABLE. Instead set RELOCATABLE_LDFLAGS, INSTALL_PROGRAM_ENV.
7450         * modules/relocatable: New file.
7451         * modules/relocatable-lib: New file.
7452         * modules/relocatable-script: New file.
7453
7454 2007-02-28  Bruno Haible  <bruno@clisp.org>
7455
7456         Import --enable-relocatable infrastructure.
7457         * build-aux/config.libpath: New file, from GNU gettext.
7458         * build-aux/install-reloc: New file, from GNU gettext.
7459         * build-aux/reloc-ldflags: New file, from GNU gettext.
7460         * lib/relocatable.h: New file, from GNU gettext.
7461         * lib/relocatable.c: New file, from GNU gettext.
7462         * lib/relocwrapper.c: New file, from GNU gettext.
7463         * m4/relocatable.m4: New file, from GNU gettext.
7464
7465 2007-02-28  Bruno Haible  <bruno@clisp.org>
7466
7467         * MODULES.html.sh (File system functions): Add xreadlink-with-size.
7468
7469         * modules/xreadlink: New file, from GNU gettext with modifications.
7470         * lib/xreadlink.c: New file, from GNU gettext.
7471         * lib/xreadlink.h: Add comments.
7472         (xreadlink): New declaration.
7473
7474         * modules/xreadlink-with-size: Renamed from modules/xreadlink.
7475         (Files): Remove m4/xreadlink.m4. Replace lib/xreadlink.c with
7476         lib/xreadlink-with-size.c.
7477         (configure.ac): Remove gl_XREADLINK invocation.
7478         (Makefile.am): Augment lib_SOURCES.
7479         * m4/xreadlink.m4: Remove file.
7480         * lib/xreadlink-with-size.c: Renamed from lib/xreadlink.c.
7481         (xreadlink_with_size): Renamed from xreadink.
7482         * lib/xreadlink.h (xreadlink_with_size): Renamed from xreadink.
7483         * modules/canonicalize (Depends-on): Replace xreadlink with
7484         xreadlink-with-size.
7485         * lib/canonicalize.c (canonicalize_filename_mode): Update.
7486
7487 2007-02-25  Jim Meyering  <jim@meyering.net>
7488
7489         * build-aux/announce-gen: When complaining about excess arguments,
7490         list them.
7491
7492 2007-02-25  Paul Eggert  <eggert@cs.ucla.edu>
7493
7494         * README: Document signed integer overflow situation more
7495         accurately.
7496
7497 2007-02-25  Bruno Haible  <bruno@clisp.org>
7498
7499         * lib/vasnprintf.c (VASNPRINTF): Fix estimate of size needed for a
7500         'a' or 'A' conversion.
7501
7502 2007-02-25  Bruno Haible  <bruno@clisp.org>
7503
7504         * modules/filename: Renamed from modules/pathname.
7505         (Files): Replace lib/pathname.h with lib/filename.h. Replace
7506         lib/concatpath.c with lib/concat-filename.c.
7507         (Makefile.am): Update.
7508         (Include): Replace pathname.h with filename.h.
7509         * lib/filename.h: Renamed from lib/pathname.h.
7510         (concatenated_filename): Renamed from concatenated_pathname.
7511         * lib/concat-filename.c: Renamed from lib/concatpath.c.
7512         (concatenated_filename): Renamed from concatenated_pathname.
7513         * lib/findprog.c: Include filename.h instead of pathname.h.
7514         (find_in_path): Update.
7515         * lib/javacomp.c: Include filename.h instead of pathname.h.
7516         (is_envjavac_gcj43_usable, is_envjavac_oldgcj_14_14_usable,
7517         is_envjavac_oldgcj_14_13_usable, is_envjavac_nongcj_usable,
7518         is_gcj_present, is_gcj43_usable, is_oldgcj_14_14_usable,
7519         is_oldgcj_14_13_usable, is_javac_usable): Update.
7520         * lib/javaexec.c: Include filename.h instead of pathname.h.
7521         (execute_java_class): Update.
7522         * modules/findprog: Update.
7523         * modules/javacomp: Update.
7524         * modules/javaexec: Update.
7525         * MODULES.html.sh (File system functions): Add 'filename', remove
7526         'pathname'.
7527
7528 2007-02-25  Bruno Haible  <bruno@clisp.org>
7529
7530         * modules/printf-frexpl-tests: New file.
7531         * tests/test-printf-frexpl.c: New file.
7532
7533         * modules/printf-frexpl: New file.
7534         * lib/printf-frexpl.h: New file.
7535         * lib/printf-frexpl.c: New file.
7536         * m4/printf-frexpl.m4: New file.
7537
7538 2007-02-25  Bruno Haible  <bruno@clisp.org>
7539
7540         * modules/printf-frexp-tests: New file.
7541         * tests/test-printf-frexp.c: New file.
7542
7543         * modules/printf-frexp: New file.
7544         * lib/printf-frexp.h: New file.
7545         * lib/printf-frexp.c: New file.
7546         * m4/printf-frexp.m4: New file.
7547
7548 2007-02-25  Bruno Haible  <bruno@clisp.org>
7549
7550         Assume automake >= 1.10 for the tests.
7551         * modules/arcfour-tests (TESTS): Remove $(EXEEXT) suffix.
7552         * modules/arctwo-tests: Likewise.
7553         * modules/argp-tests: Likewise.
7554         * modules/avltree-list-tests: Likewise.
7555         * modules/avltree-oset-tests: Likewise.
7556         * modules/avltreehash-list-tests: Likewise.
7557         * modules/carray-list-tests: Likewise.
7558         * modules/crc-tests: Likewise.
7559         * modules/des-tests: Likewise.
7560         * modules/gc-arcfour-tests: Likewise.
7561         * modules/gc-arctwo-tests: Likewise.
7562         * modules/gc-des-tests: Likewise.
7563         * modules/gc-hmac-md5-tests: Likewise.
7564         * modules/gc-hmac-sha1-tests: Likewise.
7565         * modules/gc-md2-tests: Likewise.
7566         * modules/gc-md4-tests: Likewise.
7567         * modules/gc-md5-tests: Likewise.
7568         * modules/gc-pbkdf2-sha1-tests: Likewise.
7569         * modules/gc-rijndael-tests: Likewise.
7570         * modules/gc-sha1-tests: Likewise.
7571         * modules/gc-tests: Likewise.
7572         * modules/getaddrinfo-tests: Likewise.
7573         * modules/hmac-md5-tests: Likewise.
7574         * modules/hmac-sha1-tests: Likewise.
7575         * modules/linked-list-tests: Likewise.
7576         * modules/linkedhash-list-tests: Likewise.
7577         * modules/lock-tests: Likewise.
7578         * modules/md2-tests: Likewise.
7579         * modules/md4-tests: Likewise.
7580         * modules/md5-tests: Likewise.
7581         * modules/rbtree-list-tests: Likewise.
7582         * modules/rbtree-oset-tests: Likewise.
7583         * modules/rbtreehash-list-tests: Likewise.
7584         * modules/read-file-tests: Likewise.
7585         * modules/rijndael-tests: Likewise.
7586         * modules/stdint-tests: Likewise.
7587         * modules/tls-tests: Likewise.
7588
7589 2007-02-24  Bruno Haible  <bruno@clisp.org>
7590
7591         * lib/isnanl.h (isnanl): Define through isnan if isnan is a macro.
7592         * m4/isnan.m4 (gl_FUNC_ISNAN_NO_LIBM): Don't check for isnan as a
7593         function; instead check whether isnan with a double argument links.
7594         * m4/isnanl.m4 (gl_FUNC_ISNANL_NO_LIBM): Don't check for isnanl as a
7595         function; instead check whether isnan with a 'long double' argument
7596         links.
7597         Reported by Eric Blake <ebb9@byu.net>.
7598
7599 2007-02-24  Bruno Haible  <bruno@clisp.org>
7600
7601         * lib/isnan.c: Support the 'long double' case if USE_LONG_DOUBLE is
7602         defined.
7603         * lib/isnanl.c: Remove all code. Just include isnan.c.
7604         * modules/isnanl-nolibm (Files): Add lib/isnan.c.
7605
7606 2007-02-25  Jim Meyering  <jim@meyering.net>
7607
7608         Avoid conflicting types for 'unsetenv' on FreeBSD.
7609         * lib/putenv.c (_unsetenv): Rename from "unsetenv", to avoid
7610         conflicting with FreeBSD's (5.0 and 6.1) function declaration
7611         in stdlib.h.
7612
7613 2007-02-24  Bruno Haible  <bruno@clisp.org>
7614
7615         * modules/isnanl-nolibm-tests: New file.
7616         * tests/test-isnanl.c: New file.
7617
7618         * modules/isnanl-nolibm: New file.
7619         * lib/isnanl.h: New file.
7620         * lib/isnanl.c: New file.
7621         * m4/isnanl.m4: New file.
7622
7623 2007-02-24  Bruno Haible  <bruno@clisp.org>
7624
7625         * modules/isnan-nolibm-tests: New file.
7626         * tests/test-isnan.c: New file.
7627
7628         * modules/isnan-nolibm: New file.
7629         * lib/isnan.h: New file.
7630         * lib/isnan.c: New file.
7631         * m4/isnan.m4: New file.
7632
7633 2007-02-24  Bruno Haible  <bruno@clisp.org>
7634
7635         * lib/frexpl.c (frexpl): Correct return values for x = 1.0L. Don't
7636         assume that an exponent fits in 20 bits.
7637
7638 2007-02-24  Jim Meyering  <jim@meyering.net>
7639
7640         * m4/regex.m4: Update the description of the configure-time option,
7641         --without-included-regex, to state accurately what the defaults are,
7642         and perhaps to give people an idea why using this option is risky.
7643
7644 2007-02-24  Paul Eggert  <eggert@cs.ucla.edu>
7645
7646         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check for a nanosleep that
7647         loops on small arguments.  This attempts to avoid the problem
7648         Bruno Haible reported for AIX 4.3.2 in
7649         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00309.html>.
7650
7651 2007-02-23  Bruno Haible  <bruno@clisp.org>
7652
7653         * m4/perl.m4 (gl_PERL): Require version 5.005, not 5.003.
7654         Needed for help2man.
7655
7656 2007-02-23  Karl Berry  <karl@gnu.org>
7657
7658         * doc/gnulib-tool.texi (CVS Issues): mention that when foo_.h
7659         exists, foo.h should be cvs-ignored, not committed.
7660
7661 2007-02-23  Eric Blake  <ebb9@byu.net>
7662
7663         * lib/getdate.h (includes):  Include <time.h>, not "timespec.h".
7664         * lib/stat-time.h (includes): Likewise.
7665         * lib/utimecmp.c (includes): Likewise.
7666         * lib/utimens.h (includes): Likewise.
7667         * lib/getdate.y (includes): Also include "timespec.h" for use
7668         internal to the module.
7669         * modules/utimens (Depends-on): Revert yesterday's patch.
7670         * modules/nanosleep (Depends-on): Add missing dependency.
7671
7672 2007-02-22  Bruno Haible  <bruno@clisp.org>
7673
7674         * lib/glob.c: Don't include getlogin_r.h.
7675
7676 2007-02-22  Jim Meyering  <jim@meyering.net>
7677
7678         * modules/utimens (Depends-on): Add timespec, required for
7679         utimens.h's inclusion of timespec.h.
7680
7681 2007-02-21  Paul Eggert  <eggert@cs.ucla.edu>
7682
7683         * lib/getcwd.c (__getcwd): Undo previous change; it mishandled
7684         long unreadable paths in GNU/Linux.  Problem reported by Andreas
7685         Schwab in
7686         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00261.html>.
7687         I'll try to think of a better way to fix the Solaris problem.
7688
7689         * lib/getcwd.c (__getcwd): Don't assume getcwd (NULL, 0) works
7690         like glibc; on Solaris 10, it fails with errno == EINVAL.
7691         POSIX says the behavior is unspecified if the first argument is NULL,
7692         so play it safe and never pass NULL to the system getcwd.
7693
7694 2007-02-21  Jim Meyering  <jim@meyering.net>
7695
7696         * lib/gettimeofday.c (rpl_gettimeofday): Remove declaration
7697         of gettimeofday.  It would conflict with the one now always
7698         provided via sys_time_.h.  Reported by Matthew Woehlke, as
7699         an IRIX 6.5 build failure.
7700
7701 2007-02-20  Paul Eggert  <eggert@cs.ucla.edu>
7702
7703         Minor fixups to port to Solaris 10 with Sun C 5.8.
7704         * lib/getcwd.c [!_LIBC]: Include dirfd.h, since we use dirfd.
7705         * modules/getcwd (Depends-on): Add dirfd.
7706         * lib/putenv.c (putenv): #undef it.
7707         (rpl_putenv): New decl.
7708         (malloc, free): Include <stdlib.h> rather than prototyping separately.
7709
7710 2007-02-20  Bruno Haible  <bruno@clisp.org>
7711
7712         * modules/stdio-tests: New file.
7713         * tests/test-stdio.c: New file.
7714
7715         * modules/vsnprintf (Files): Remove lib/vsnprintf.h.
7716         (Depends-on): Add stdio.
7717         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
7718         (Include): Use <stdio.h> instead of vsnprintf.h.
7719         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Require gl_STDIO_H_DEFAULTS. Set
7720         HAVE_DECL_VSNPRINTF.
7721         * lib/vsnprintf.c: Include <stdio.h> instead of vsnprintf.h.
7722
7723         * modules/snprintf (Files): Remove lib/snprintf.h.
7724         (Depends-on): Add stdio.
7725         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
7726         (Include): Use <stdio.h> instead of snprintf.h.
7727         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Require gl_STDIO_H_DEFAULTS. Set
7728         HAVE_DECL_SNPRINTF.
7729         * lib/snprintf.c: Include <stdio.h> instead of snprintf.h.
7730         * lib/getaddrinfo.c: Likewise.
7731
7732         * modules/stdio: New file.
7733         * lib/stdio_.h: New file, incorporating snprintf.h and vsnprintf.h.
7734         * lib/snprintf.h: Remove file.
7735         * lib/vsnprintf.h: Remove file.
7736         * lib/.cppi-disable: Remove snprintf.h.
7737         * m4/stdio_h.m4: New file.
7738         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdio.
7739
7740 2007-02-20  Jim Meyering  <jim@meyering.net>
7741
7742         * lib/ftruncate.c [HAVE_CHSIZE]: Document that this code is
7743         used by e.g., mingw.  From Bruno Haible.
7744
7745 2007-02-19  Bruno Haible  <bruno@clisp.org>
7746
7747         * lib/string_.h: Use "#pragma GCC system_header" to suppress some gcc
7748         warnings.
7749         Reported by Ben Pfaff <blp@cs.stanford.edu>.
7750
7751 2007-02-19  Bruno Haible  <bruno@clisp.org>
7752
7753         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Don't request a complaint mail
7754         from mingw users.
7755
7756 2007-02-19  Bruno Haible  <bruno@clisp.org>
7757
7758         * lib/stdlib_.h: Use "#pragma GCC system_header" to suppress some gcc
7759         warnings.
7760         Reported by Joel E. Denny <jdenny@ces.clemson.edu> via Paul Eggert.
7761
7762 2007-02-19  Jim Meyering  <jim@meyering.net>
7763
7764         Don't use FD after a successful "fdopendir (fd)".
7765         * lib/getcwd.c (__getcwd) [AT_FDCWD]: fdopendir (fd) usually closes fd.
7766         Reset it by calling dirfd on the just-obtained DIR*.
7767
7768         * m4/ftruncate.m4: Adjust comment to give this module a 3-year reprieve.
7769         Prompted by a report from Bruno Haible that mingw lacks ftruncate.
7770
7771 2007-02-18  Bruno Haible  <bruno@clisp.org>
7772
7773         * lib/readlink.c: Include <unistd.h>.
7774         * m4/readlink.m4 (gl_FUNC_READLINK): Require gl_UNISTD_H_DEFAULTS. Set
7775         HAVE_READLINK.
7776         * modules/readlink (Depends-on): Add unistd.
7777         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
7778         (Include): Add <unistd.h>.
7779
7780         * lib/getlogin_r.h: Remove file.
7781         * lib/getlogin_r.c: Include <unistd.h> instead of getlogin_r.h.
7782         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE): Remove macro.
7783         (gl_GETLOGIN_R): Inline it here. Require gl_UNISTD_H_DEFAULTS. Set
7784         HAVE_DECL_GETLOGIN_R.
7785         * modules/getlogin_r (Files): Remove lib/getlogin_r.h.
7786         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
7787         (Include): Use <unistd.h> instead of getlogin_r.h.
7788
7789         * lib/getcwd.h: Remove file.
7790         * lib/getcwd.c: Include <unistd.h> instead of getcwd.h.
7791         * lib/xgetcwd.c: Likewise.
7792         * m4/getcwd.m4 (gl_FUNC_GETCWD): Require gl_UNISTD_H_DEFAULTS. Set
7793         REPLACE_GETCWD. Don't define __GETCWD_PREFIX.
7794         * modules/getcwd (Files): Remove lib/getcwd.h.
7795         (Depends-on): Add unistd.
7796         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
7797         (Include): Use <unistd.h> instad of getcwd.h.
7798
7799         * lib/ftruncate.c: Include <unistd.h> first.
7800         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Require gl_UNISTD_H_DEFAULTS.
7801         Set HAVE_FTRUNCATE.
7802         * modules/ftruncate (Depends-on): Add unistd.
7803         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
7804
7805         * lib/fchdir.c: Include <unistd.h> first.
7806         * lib/dirent_.h: Test REPLACE_FCHDIR, not FCHDIR_REPLACEMENT.
7807         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_UNISTD_H_DEFAULTS instead
7808         of gl_HEADER_UNISTD_DEFAULTS. Set REPLACE_FCHDIR. Don't set UNISTD_H.
7809         * modules/fchdir (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
7810         (Makefile.am): Substitute also REPLACE_FCHDIR into dirent.h.
7811
7812         * lib/dup2.c: Include <unistd.h> first.
7813         * m4/dup2.m4 (gl_FUNC_DUP2): Require gl_UNISTD_H_DEFAULTS. Set
7814         HAVE_DUP2.
7815         * modules/dup2 (Depends-on): Add unistd.
7816         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
7817
7818         * lib/chown.c: Include <unistd.h> first. Undefine chown later.
7819         * m4/chown.m4 (gl_FUNC_CHOWN): Require gl_UNISTD_H_DEFAULTS. Set
7820         REPLACE_CHOWN. Don't define chown as a macro here.
7821         * modules/chown (Depends-on): Add unistd.
7822         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
7823
7824         * lib/unistd_.h: Test HAVE_UNISTD_H determined at configure time.
7825         Add definition for GL_LINK_WARNING.
7826         (chown, dup2): New declarations.
7827         (fchdir): Test REPLACE_FCHDIR, not FCHDIR_REPLACEMENT. Provide optional
7828         link warning.
7829         (ftruncate): New declaration.
7830         (getcwd): New declaration, taken from old getcwd.h.
7831         (getlogin_r): New declaration, taken from old getlogin_r.h.
7832         (readlink): New declaration.
7833         * m4/unistd_h.m4 (gl_UNISTD_H): Renamed from gl_HEADER_UNISTD. Don't
7834         set UNISTD_H. Inline gl_PREREQ_UNISTD. Set HAVE_UNISTD_H.
7835         (gl_PREREQ_UNISTD): Remove macro.
7836         (gl_UNISTD_MODULE_INDICATOR): New macro.
7837         (gl_UNISTD_H_DEFAULTS): Renamed from gl_HEADER_UNISTD_DEFAULTS. Set
7838         many new variables. Don't set UNISTD_H.
7839         * modules/unistd (Description): Change.
7840         (Depends-on): Add link-warning.
7841         (configure.ac): Update.
7842         (Makefile.am): Create unistd.h always. Substitute many new variables
7843         into it.
7844
7845 2007-02-18  Bruno Haible  <bruno@clisp.org>
7846
7847         * lib/stdlib_.h (getsubopt): New declaration, copied from getsubopt.h.
7848         * modules/stdlib (stdlib.h): Also substitute GNULIB_GETSUBOPT and
7849         HAVE_GETSUBOPT.
7850         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Also initialize
7851         GNULIB_GETSUBOPT and HAVE_GETSUBOPT.
7852         * lib/getsubopt.h: Remove file.
7853         * modules/getsubopt (Files): Remove lib/getsubopt.h.
7854         (Depends-on): Add stdlib.
7855         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
7856         (Includes): Use <stdlib.h> instead of getsubopt.h.
7857         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Require gl_STDLIB_H_DEFAULTS.
7858         Set HAVE_GETSUBOPT.
7859         * lib/getsubopt.c: Don't include getsubopt.h.
7860
7861 2007-02-18  Bruno Haible  <bruno@clisp.org>
7862
7863         * modules/fchdir (Depends-on): Add dup2.
7864
7865 2007-02-18  Bruno Haible  <bruno@clisp.org>
7866
7867         * lib/stdlib_.h: Handle glibc's special invocation convention
7868         specially.
7869
7870 2007-02-18  Bruno Haible  <bruno@clisp.org>
7871
7872         * modules/stdlib-tests: New file.
7873         * tests/test-stdlib.c: New file.
7874
7875         * modules/mkstemp (Files): Remove lib/mkstemp.h.
7876         (Depends-on): Add stdlib.
7877         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
7878         (Includes): Use <stdlib.h> instead of mkstemp.h.
7879         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require gl_STDLIB_H_DEFAULTS. Set
7880         REPLACE_MKSTEMP. Remove definition of __MKSTEMP_PREFIX.
7881         * lib/mkstemp.c: Don't include mkstemp.h.
7882         * lib/mkstemp-safer.c: Include <stdlib.h> instead of mkstemp.h.
7883         * lib/stdlib--.h: Don't include mkstemp.h.
7884
7885         * modules/mkdtemp (Files): Remove lib/mkdtemp.h.
7886         (Depends-on): Add stdlib.
7887         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
7888         (Includes): Use <stdlib.h> instead of mkdtemp.h.
7889         * m4/mkdtemp.m4 (gt_FUNC_MKDTEMP): Require gl_STDLIB_H_DEFAULTS. Set
7890         HAVE_MKDTEMP.
7891         * lib/mkdtemp.c: Don't include mkdtemp.h.
7892         * lib/clean-temp.c: Don't include mkdtemp.h.
7893
7894         * modules/exit (Files): Remove lib/exit.h.
7895         (Depends-on): Add stdlib.
7896         (Makefile.am): Remove lib_SOURCES.
7897         (Include): Use <stdlib.h> instead of exit.h.
7898         * lib/argmatch.c: Don't include exit.h.
7899         * lib/execute.c: Likewise.
7900         * lib/pagealign_alloc.c: Likewise.
7901         * lib/pipe.c: Likewise.
7902         * lib/wait-process.c: Likewise.
7903         * lib/copy-file.c: Include <stdlib.h> instead of exit.h.
7904         * lib/exitfail.c: Likewise.
7905         * lib/savewd.c: Likewise.
7906         * lib/xsetenv.c: Likewise.
7907
7908         * modules/stdlib: New file.
7909         * lib/stdlib_.h: New file, incorporating exit.h, mkdtemp.h, mkstemp.h
7910         and extra comments about mkstemp().
7911         * lib/exit.h: Remove file.
7912         * lib/mkdtemp.h: Remove file.
7913         * lib/mkstemp.h: Remove file.
7914         * m4/stdlib_h.m4: New file.
7915         * MODULES.html.sh (Support for systems lacking ANSI C 89): Add stdlib.
7916
7917 2007-02-18  Bruno Haible  <bruno@clisp.org>
7918
7919         * modules/math-tests: New file.
7920         * tests/test-math.c: New file.
7921
7922         * modules/math: New file.
7923         * modules/mathl (Files): Remove lib/mathl.h.
7924         (Depends-on): Add math.
7925         (Makefile.am): Don't mention mathl.h.
7926         (Include): Use <math.h> instead of mathl.h.
7927         * lib/math_.h: New file.
7928         * lib/mathl.h: Remove file.
7929         * lib/acosl.c: Include <config.h> and <math.h> first. Don't include
7930         mathl.h.
7931         * lib/asinl.c: Likewise.
7932         * lib/atanl.c: Likewise.
7933         * lib/ceill.c: Likewise.
7934         * lib/cosl.c: Likewise.
7935         * lib/expl.c: Likewise.
7936         * lib/floorl.c: Likewise.
7937         * lib/frexpl.c: Likewise.
7938         * lib/ldexpl.c: Likewise.
7939         * lib/logl.c: Likewise.
7940         * lib/sincosl.c: Likewise.
7941         * lib/sinl.c: Likewise.
7942         * lib/sqrtl.c: Likewise.
7943         * lib/tanl.c: Likewise.
7944         * lib/trigl.c: Likewise.
7945         * m4/math_h.m4: New file.
7946         * MODULES.html.sh (Mathematics): Add math.
7947
7948 2007-02-17  Bruno Haible  <bruno@clisp.org>
7949
7950         * modules/wctype-tests: New file.
7951         * tests/test-wctype.c: New file.
7952
7953         * modules/wchar-tests: New file.
7954         * tests/test-wchar.c: New file.
7955
7956         * modules/unistd-tests: New file.
7957         * tests/test-unistd.c: New file.
7958
7959         * modules/time-tests: New file.
7960         * tests/test-time.c: New file.
7961
7962         * modules/sysexits-tests: New file.
7963         * tests/test-sysexits.c: New file.
7964
7965         * modules/sys_time-tests: New file.
7966         * tests/test-sys_time.c: New file.
7967
7968         * modules/sys_stat-tests: New file.
7969         * tests/test-sys_stat.c: New file.
7970
7971         * modules/sys_socket-tests: New file.
7972         * tests/test-sys_socket.c: New file.
7973
7974         * modules/sys_select-tests: New file.
7975         * tests/test-sys_select.c: New file.
7976
7977         * modules/string-tests: New file.
7978         * tests/test-string.c: New file.
7979
7980         * modules/stdbool-tests: New file.
7981         * tests/test-stdbool.c: New file.
7982
7983         * modules/netinet_in-tests: New file.
7984         * tests/test-netinet_in.c: New file.
7985
7986         * modules/inttypes-tests: New file.
7987         * tests/test-inttypes.c: New file.
7988
7989         * modules/fcntl-tests: New file.
7990         * tests/test-fcntl.c: New file.
7991
7992         * modules/byteswap-tests: New file.
7993         * tests/test-byteswap.c: New file.
7994
7995         * modules/arpa_inet-tests: New file.
7996         * tests/test-arpa_inet.c: New file.
7997
7998 2007-02-17  Bruno Haible  <bruno@clisp.org>
7999
8000         * lib/inttypes_.h: Add definition for GL_LINK_WARNING.
8001         (imaxabs, imaxdiv, strtoimax, strtoumax): Don't declare the function
8002         if the corresponding module is not enabled. Emit link warnings if
8003         the function is used nevertheless.
8004         * m4/inttypes.m4 (gl_INTTYPES_H): Never use the existing <inttypes.h>.
8005         Don't AC_SUBST HAVE_DECL_IMAXABS, HAVE_DECL_IMAXDIV,
8006         HAVE_DECL_STRTOIMAX, HAVE_DECL_STRTOUMAX.
8007         (gl_INTTYPES_MODULE_INDICATOR, gl_INTTYPES_H_DEFAULTS): New macros.
8008         * modules/inttypes (Depends-on): Add link-warning.
8009         (Makefile.am): Copy the contents of build-aux/link-warning.h into
8010         inttypes.h. Substitute also GNULIB_IMAXABS, GNULIB_IMAXDIV,
8011         GNULIB_STRTOIMAX, GNULIB_STRTOUMAX.
8012         * modules/imaxabs (configure.ac): Invoke gl_INTTYPES_MODULE_INDICATOR.
8013         * modules/imaxdiv (configure.ac): Likewise.
8014         * modules/strtoimax (configure.ac): Likewise.
8015         * modules/strtoumax (configure.ac): Likewise.
8016
8017 2007-02-17  Bruno Haible  <bruno@clisp.org>
8018
8019         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Include the contents of
8020         gl_STRING_MODULE_INDICATOR_DEFAULTS.
8021         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Remove macro.
8022         (gl_HEADER_STRING_H_BODY, gl_STRING_MODULE_INDICATOR): Update.
8023
8024 2007-02-17  Bruno Haible  <bruno@clisp.org>
8025
8026         * modules/link-warning: New file.
8027         * build-aux/link-warning.h: New file, extracted from lib/string_.h.
8028         * lib/string_.h (GL_LINK_WARNING): Remove definition.
8029         * modules/string (Depends-on): Add link-warning.
8030         (Makefile.am): Copy the contents of build-aux/link-warning.h into
8031         string.h.
8032         * MODULES.html.sh (Support for building libraries and executables): Add
8033         link-warning.
8034
8035 2007-02-17  Bruno Haible  <bruno@clisp.org>
8036
8037         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strcasecmp,
8038         strncasecmp, strchr, strchrnul, strdup, strndup, strnlen, strcspn,
8039         strpbrk, strspn, strrchr, strsep, strstr, strcasestr, strtok_r): Break
8040         long lines.
8041
8042 2007-02-17  Ben Pfaff  <blp@cs.stanford.edu>
8043             Bruno Haible  <bruno@clisp.org>
8044
8045         * modules/tmpfile: New file.
8046         * lib/tmpfile.c: New file.
8047         * m4/tmpfile.m4: New file.
8048         * MODULES.html.sh (func_all_modules): New section "Input/output".
8049
8050 2007-02-15  Bruno Haible  <bruno@clisp.org>
8051
8052         * lib/clean-temp.c [WIN32 && !CYGWIN]: Include <windows.h>.
8053         (supports_delete_on_close): New function.
8054         (open_temp, fopen_temp): Use _O_TEMPORARY when supported.
8055
8056 2007-02-14  Bruno Haible  <bruno@clisp.org>
8057
8058         * modules/mbspcasecmp-tests: New file.
8059         * tests/test-mbspcasecmp.sh: New file.
8060         * tests/test-mbspcasecmp.c: New file.
8061
8062         New module mbspcasecmp.
8063         * modules/mbspcasecmp: New file.
8064         * lib/mbspcasecmp.c: New file.
8065         * lib/string_.h (strncasecmp): Change warning message.
8066         (mbspcasecmp): New declaration.
8067         * m4/mbspcasecmp.m4: New file.
8068         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
8069         GNULIB_MBSPCASECMP.
8070         * modules/string (string.h): Also substitute GNULIB_MBSPCASECMP.
8071         * MODULES.html.sh (Internationalization functions): Add mbspcasecmp.
8072
8073 2007-02-14  Bruno Haible  <bruno@clisp.org>
8074
8075         * modules/mbsncasecmp-tests: New file.
8076         * tests/test-mbsncasecmp.sh: New file.
8077         * tests/test-mbsncasecmp.c: New file.
8078
8079         New module mbsncasecmp.
8080         * modules/mbsncasecmp: New file.
8081         * lib/mbsncasecmp.c: New file.
8082         * lib/string_.h (mbsncasecmp): New declaration.
8083         * m4/mbsncasecmp.m4: New file.
8084         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
8085         GNULIB_MBSNCASECMP.
8086         * modules/string (string.h): Also substitute GNULIB_MBSNCASECMP.
8087         * MODULES.html.sh (Internationalization functions): Add mbsncasecmp.
8088
8089 2007-02-14  Paul Eggert  <eggert@cs.ucla.edu>
8090
8091         * lib/exclude.c (FNM_EXTMATCH): Define if system does not.
8092         Verify that it doesn't overlap with our flags.
8093         (fnmatch_no_wildcards): Don't use strcasecmp or strncasecmp, which
8094         do not have the desired effect in multibyte locales; instead, use
8095         mbscasecmp.
8096         * modules/exclude (Depends-on): Depend on mbscasecmp, not strcase.
8097         Add dependency on xalloc.  Depend on fnmatch, not fnmatch-gnu, since
8098         we don't require GNU fnmatch ourselves (if our users require it, they
8099         should do so explicitly).
8100
8101         Fix regex code so it doesn't rely on strcasecmp.
8102         * lib/regex_internal.h: Include <langinfo.h> only if _LIBC is defined.
8103         Otherwise, include gnulib's langinfo.h.
8104         * lib/regcomp.c (init_dfa): Don't use strcasecmp, as it can have
8105         undesirable behavior in non-C locales.  Instead, rely on localecharset.
8106         * m4/regex.m4 (gl_PREREQ_REGEX): Don't require AM_LANGINFO_CODESET.
8107         * modules/regex (FILES): Remove m4/codeset.m4.
8108         (Depends-on): Add localcharset.  Remove strcase.
8109
8110 2007-02-13  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
8111
8112         * m4/unlinkdir.m4 (gl_UNLINKDIR): Fix m4 quoting bug.
8113         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise.
8114
8115 2007-02-13  Bruno Haible  <bruno@clisp.org>
8116
8117         * m4/intdiv0.m4 (gt_INTDIV0): Assume ANSI C. Fix underquoting bug.
8118         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
8119
8120 2007-02-12  Bruno Haible  <bruno@clisp.org>
8121
8122         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul,
8123         strdup, strndup, strnlen, strpbrk, strsep, strtok_r): If
8124         GNULIB_POSIXCHECK and the gnulib module not enabled, provoke a link-
8125         time warning rather than a link error.
8126
8127 2007-02-12  Bruno Haible  <bruno@clisp.org>
8128
8129         * m4/locale-fr.m4 (gt_LOCALE_FR): Fix m4 quoting bug.
8130         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
8131         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
8132
8133 2007-02-12  Paul Eggert  <eggert@cs.ucla.edu>
8134
8135         * lib/string_.h (strncasecmp): Fix typo: this macro takes 3
8136         args, not 2.
8137
8138 2007-02-12  Paul Eggert  <eggert@cs.ucla.edu>
8139
8140         New module 'time', so that apps can include <time.h> as per
8141         POSIX and GNU instead of separate include files like time_r.h
8142         and timegm.h.  This implementation tries out a simpler approach
8143         for replacing decls in standard include files (as compared to
8144         the string module), somewhat as an experiment.
8145
8146         * config/srclist.txt: Comment out mktime.c for now.
8147         * doc/gnulib-tool.texi (Initial import): Don't use time_r as an example
8148         since it doesn't apply any more.  Use generic wording instead.
8149         * MODULES.html.sh (Support for systems lacking POSIX:2001): New module
8150         'time'.
8151         * lib/time_.h, m4/time_h.m4, modules/time: New files.
8152         * lib/strptime.h, lib/time_r.h, lib/timegm.h: Remove.
8153         * lib/mktime.c: Include config.h depending on _LIBC, not HAVE_CONFIG_H.
8154         Don't include <sys/types.h>; no longer needed since we assume C89.
8155         * lib/mktime.c: Don't include "time_r.h"; no longer needed.
8156         * lib/strftime.c: Likewise.
8157         * lib/time_r.c: Likewise.
8158         * lib/nanosleep.c (nanosleep): #undef after include files, not before.
8159         * lib/nanosleep.c: Include <time.h> first, to check interface.
8160         * lib/strptime.c: Likewise.
8161         * lib/time_r.c: Likewise.
8162         * lib/timegm.c: Likewise.
8163         * lib/strptime.c: Don't include strptime.h or time_r.h; no longer
8164         needed.
8165         * lib/timegm.c: Don't include timegm.h; no longer needed.
8166         * lib/timespec.h: Don't include <sys/time.h> before <time.h>;
8167         time.h now handles any problems in that area.
8168         (struct timespec, nanosleep): Remove; time.h now arranges for these.
8169         * lib/xnanosleep.c: Don't include timespec.h; no longer needed now
8170         that time.h defines struct timespec.
8171         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check that nanosleep is declared.
8172         Set REPLACE_NANOSLEEP.  Don't AC_DEFINE nanosleep; the time module now
8173         handles that.
8174         * m4/strptime.m4 (gl_FUNC_STPRTIME): Set REPLACE_STRPTIME.
8175         * m4/time_r.m4 (gl_TIME_R): Don't define HAVE_TIME_R_POSIX; no longer
8176         needed.  Set REPLACE_LOCALTIME.
8177         * m4/timegm.m4 (gl_FUNC_TIMEGM): Set REPLACE_TIMEGM.
8178         * m4/timespec.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Move to time_h.m4.
8179         (gl_TIMESPEC): Don't check for sys/time.h or struct timespec or
8180         nanosleep; time_h.m4 now does that.  Don't require
8181         gl_USE_SYSTEM_EXTENSIONS; no longer needed directly, and the time
8182         module handles this now.
8183         * modules/getdate (Depends-on): Remove timespec.  Add time.
8184         * modules/nanosleep (Depends-on): Likewise.
8185         * modules/stat-time (Depends-on): Likewise.
8186         * modules/nanosleep (Include): Include time.h, not timespec.h.
8187         * modules/strptime (Files): Remove lib/strptime.h.
8188         (Depends-on): Add extensions, time.
8189         (Include): Include time.h, not strptime.h.
8190         * modules/time_r (Files): Remove lib/time_r.h.
8191         (Depends-on): Add time.
8192         (Include): Include time.h, not time_r.h.
8193         * modules/timegm: Likewise.
8194         * modules/timespec (Description): Now does timespec-related decls
8195         of our own, instead of struct timespec itself.
8196         (Depends-on): Add time; remove extensions.
8197         (Maintainer): Add self.
8198         * modules/utimecmp (Depends-on): Add time; remove timespec.
8199         * modules/utimens (Depends-on): Likewise.
8200         * modules/xnanosleep (Depends-on): Likewise.
8201
8202 2007-02-11  Bruno Haible  <bruno@clisp.org>
8203
8204         * lib/c-strstr.c: Include allocsa.h.
8205         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
8206         * lib/c-strcasestr.c: Include allocsa.h.
8207         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
8208         * lib/strcasestr.c: Include allocsa.h.
8209         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
8210         * lib/mbsstr.c: Include allocsa.h.
8211         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use
8212         allocsa/freesa instead of malloc/free.
8213         * lib/mbscasestr.c: Include allocsa.h.
8214         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use
8215         allocsa/freesa instead of malloc/free.
8216         * modules/c-strstr (Depends-on): Add allocsa.
8217         * modules/c-strcasestr (Depends-on): Likewise.
8218         * modules/strcasestr (Depends-on): Likewise.
8219         * modules/mbsstr (Depends-on): Likewise.
8220         * modules/mbscasestr (Depends-on): Likewise.
8221
8222 2007-02-11  Bruno Haible  <bruno@clisp.org>
8223
8224         * lib/mbsspn.c (mbsspn): Fix bug. Remove unnecessary strlen call.
8225
8226         * modules/mbsspn-tests: New file.
8227         * tests/test-mbsspn.sh: New file.
8228         * tests/test-mbsspn.c: New file.
8229
8230 2007-02-11  Bruno Haible  <bruno@clisp.org>
8231
8232         * lib/mbspbrk.c (mbspbrk): Remove unneeded cast.
8233
8234         * modules/mbspbrk-tests: New file.
8235         * tests/test-mbspbrk.sh: New file.
8236         * tests/test-mbspbrk.c: New file.
8237
8238 2007-02-11  Bruno Haible  <bruno@clisp.org>
8239
8240         * lib/mbscspn.c (mbscspn): Remove unnecessary strlen call and
8241         unneeded cast.
8242
8243         * modules/mbscspn-tests: New file.
8244         * tests/test-mbscspn.sh: New file.
8245         * tests/test-mbscspn.c: New file.
8246
8247 2007-02-11  Bruno Haible  <bruno@clisp.org>
8248
8249         * modules/mbscasecmp-tests: New file.
8250         * tests/test-mbscasecmp.sh: New file.
8251         * tests/test-mbscasecmp.c: New file.
8252
8253 2007-02-11  Bruno Haible  <bruno@clisp.org>
8254
8255         Ensure O(n) worst-case complexity of mbscasestr.
8256         * lib/mbscasestr.c: Include stdbool.h.
8257         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New
8258         functions.
8259         (mbscasestr): Add some bookkeeping. Invoke knuth_morris_pratt_* when
8260         the bookkeeping indicates that it's worth it.
8261         * modules/mbscasestr (Depends-on): Add stdbool, mbslen, strnlen.
8262
8263         * modules/mbscasestr-tests: New file.
8264         * tests/test-mbscasestr1.c: New file.
8265         * tests/test-mbscasestr2.sh: New file.
8266         * tests/test-mbscasestr2.c: New file.
8267         * tests/test-mbscasestr3.sh: New file.
8268         * tests/test-mbscasestr3.c: New file.
8269         * tests/test-mbscasestr4.sh: New file.
8270         * tests/test-mbscasestr4.c: New file.
8271         * m4/locale-tr.m4: New file.
8272
8273 2007-02-11  Bruno Haible  <bruno@clisp.org>
8274
8275         Ensure O(n) worst-case complexity of mbsstr.
8276         * lib/mbsstr.c: Include stdbool.h.
8277         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New
8278         functions.
8279         (mbsstr): Add some bookkeeping. Invoke knuth_morris_pratt_* when the
8280         bookkeeping indicates that it's worth it.
8281         * modules/mbsstr (Depends-on): Add stdbool, mbslen, strnlen.
8282
8283         * modules/mbsstr-tests: New file.
8284         * tests/test-mbsstr1.c: New file.
8285         * tests/test-mbsstr2.sh: New file.
8286         * tests/test-mbsstr2.c: New file.
8287         * tests/test-mbsstr3.sh: New file.
8288         * tests/test-mbsstr3.c: New file.
8289         * m4/locale-fr.m4: New file.
8290
8291 2007-02-11  Bruno Haible  <bruno@clisp.org>
8292
8293         * lib/mbsrchr.c (mbsrchr): Fix bug.
8294
8295         * modules/mbsrchr-tests: New file.
8296         * tests/test-mbsrchr.sh: New file.
8297         * tests/test-mbsrchr.c: New file.
8298
8299 2007-02-11  Bruno Haible  <bruno@clisp.org>
8300
8301         * lib/mbschr.c (mbschr): Fix bug.
8302
8303         * modules/mbschr-tests: New file.
8304         * tests/test-mbschr.sh: New file.
8305         * tests/test-mbschr.c: New file.
8306         * m4/locale-zh.m4: New file.
8307
8308 2007-02-11  Bruno Haible  <bruno@clisp.org>
8309
8310         Support for copying multibyte string iterators.
8311         * lib/mbiter.h: Include <string.h>.
8312         (mbiter_multi_copy): New function.
8313         (mbi_copy): New macro.
8314         * lib/mbuiter.h: Include <string.h>.
8315         (mbuiter_multi_copy): New function.
8316         (mbui_copy): New macro.
8317
8318 2007-02-11  Bruno Haible  <bruno@clisp.org>
8319
8320         New module mbslen.
8321         * modules/mbslen: New file.
8322         * lib/mbslen.c: New file.
8323         * lib/string_.h (mbslen): New declaration.
8324         * m4/mbslen.m4: New file.
8325         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
8326         GNULIB_MBSLEN.
8327         * modules/string (string.h): Also substitute GNULIB_MBSLEN.
8328         * MODULES.html.sh (Internationalization functions): Add mbslen.
8329
8330 2007-02-11  Bruno Haible  <bruno@clisp.org>
8331
8332         Ensure O(n) worst-case complexity of strcasestr substitute.
8333         * lib/strcasestr.c: Include stdbool.h.
8334         (knuth_morris_pratt): New function.
8335         (strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when the
8336         bookkeeping indicates that it's worth it.
8337         * modules/strcasestr (Depends-on): Add stdbool, strnlen.
8338
8339         * modules/strcasestr-tests: New file.
8340         * tests/test-strcasestr.c: New file.
8341
8342 2007-02-11  Bruno Haible  <bruno@clisp.org>
8343
8344         Ensure O(n) worst-case complexity of c_strcasestr.
8345         * lib/c-strcasestr.c: Include stdbool.h, string.h.
8346         (knuth_morris_pratt): New function.
8347         (c_strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when
8348         the bookkeeping indicates that it's worth it.
8349         * modules/c-strcasestr (Depends-on): Add stdbool, strnlen.
8350
8351         * modules/c-strcasestr-tests: New file.
8352         * tests/test-c-strcasestr.c: New file.
8353
8354 2007-02-11  Bruno Haible  <bruno@clisp.org>
8355
8356         Ensure O(n) worst-case complexity of c_strstr.
8357         * lib/c-strstr.c: Include stdbool.h, string.h.
8358         (knuth_morris_pratt): New function.
8359         (c_strstr): Add some bookkeeping. Invoke knuth_morris_pratt when the
8360         bookkeeping indicates that it's worth it.
8361         * modules/c-strstr (Depends-on): Add stdbool, strnlen.
8362
8363         * lib/c-strstr.c: Complete rewrite for maintainability.
8364
8365         * modules/c-strstr-tests: New file.
8366         * tests/test-c-strstr.c: New file.
8367
8368 2007-02-11  Bruno Haible  <bruno@clisp.org>
8369
8370         * m4/javacomp.m4 (gt_JAVACOMP): Work around a 'tr' bug in coreutils
8371         5.2.1 and earlier, whereby \055 was treated just like the range
8372         delimiter '-'.
8373         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
8374
8375 2007-02-08  Bruno Haible  <bruno@clisp.org>
8376
8377         * modules/regex (Depends-on): Add stdbool.
8378         Reported by Dalibor Topic <robilad@kaffe.org>.
8379
8380 2007-02-05  Paul Eggert  <eggert@cs.ucla.edu>
8381
8382         * m4/regex.m4 (gl_REGEX): Check for glibc bug #3957.
8383         Prefer returning from main to exiting from it.
8384         Remove unnecessary parens after sizeof.
8385
8386 2007-02-05  Bruno Haible  <bruno@clisp.org>
8387
8388         New module mbssep.
8389         * modules/mbssep: New file.
8390         * lib/mbssep.c: New file.
8391         * lib/string_.h (strsep): Add a conditional link warning.
8392         (mbssep): New declaration.
8393         * m4/mbssep.m4: New file.
8394         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
8395         GNULIB_MBSSEP.
8396         * modules/string (string.h): Also substitute GNULIB_MBSSEP.
8397         * MODULES.html.sh (Internationalization functions): Add mbssep.
8398
8399 2007-02-05  Bruno Haible  <bruno@clisp.org>
8400
8401         * lib/strsep.c (strsep): Fix actions in case of no delimiters.
8402         Optimize search in case of 1 delimiter.
8403
8404 2007-02-05  Paolo Bonzini  <bonzini@gnu.org>
8405
8406         * lib/acl.h: Include sys/types.h before sys/acl.h.
8407
8408 2007-02-05  Paolo Bonzini  <bonzini@gnu.org>
8409
8410         Merge upstream fix for glibc bugzilla #3957:
8411
8412         2007-02-05  Jakub Jelinek  <jakub@redhat.com>
8413
8414         * lib/regcomp.c (parse_bracket_exp): Set '\n' bit rather than '\0'
8415         bit for RE_HAT_LISTS_NOT_NEWLINE.
8416         (build_charclass_op): Remove bogus comment.
8417
8418 2007-02-05  Simon Josefsson  <simon@josefsson.org>
8419
8420         * lib/gc.h, lib/gc-libgcrypt.c: Support SHA-256/384/512.
8421
8422 2007-02-04  Paul Eggert  <eggert@cs.ucla.edu>
8423
8424         * lib/getsubopt.c [!_LIBC]: Include config.h and getsubopt.h.
8425         * lib/memmem.c [!defined _LIBC]: Include config.h.
8426
8427 2007-02-04  Bruno Haible  <bruno@clisp.org>
8428
8429         * lib/string_.h (GL_LINK_WARNING2): Put the word "warning:" into the
8430         warning message.
8431
8432 2007-02-04  Bruno Haible  <bruno@clisp.org>
8433
8434         New module mbstok_r.
8435         * modules/mbstok_r: New file.
8436         * lib/mbstok_r.c: New file.
8437         * lib/string_.h (strtok_r): Change argument names to match the
8438         comments. Add a conditional link warning.
8439         (mbstok_r): New declaration.
8440         * m4/mbstok_r.m4: New file.
8441         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
8442         GNULIB_MBSTOK_R.
8443         * modules/string (string.h): Also substitute GNULIB_MBSTOK_R.
8444         * MODULES.html.sh (Internationalization functions): Add mbstok_r.
8445
8446 2007-02-04  Bruno Haible  <bruno@clisp.org>
8447
8448         New module mbsspn.
8449         * modules/mbsspn: New file.
8450         * lib/mbsspn.c: New file.
8451         * lib/string_.h (strspn): Add a conditional link warning.
8452         (mbsspn): New declaration.
8453         * m4/mbsspn.m4: New file.
8454         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
8455         GNULIB_MBSSPN.
8456         * modules/string (string.h): Also substitute GNULIB_MBSSPN.
8457         * MODULES.html.sh (Internationalization functions): Add mbsspn.
8458
8459 2007-02-04  Bruno Haible  <bruno@clisp.org>
8460
8461         New module mbspbrk.
8462         * modules/mbspbrk: New file.
8463         * lib/mbspbrk.c: New file.
8464         * lib/string_.h (strpbrk): Add a conditional link warning.
8465         (mbspbrk): New declaration.
8466         * m4/mbspbrk.m4: New file.
8467         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
8468         GNULIB_MBSPBRK.
8469         * modules/string (string.h): Also substitute GNULIB_MBSPBRK.
8470         * MODULES.html.sh (Internationalization functions): Add mbspbrk.
8471
8472 2007-02-04  Bruno Haible  <bruno@clisp.org>
8473
8474         New module mbscspn.
8475         * modules/mbscspn: New file.
8476         * lib/mbscspn.c: New file.
8477         * lib/string_.h (strcspn): Add a conditional link warning.
8478         (mbscspn): New declaration.
8479         * m4/mbscspn.m4: New file.
8480         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
8481         GNULIB_MBSCSPN.
8482         * modules/string (string.h): Also substitute GNULIB_MBSCSPN.
8483         * MODULES.html.sh (Internationalization functions): Add mbscspn.
8484
8485 2007-02-04  Bruno Haible  <bruno@clisp.org>
8486
8487         New module mbscasestr, reduced goal of strcasestr.
8488         * modules/mbscasestr: New file.
8489         * lib/mbscasestr.c: New file, copied from lib/strcasestr.c.
8490         (mbscasestr): Renamed from strcasestr.
8491         * lib/strcasestr.c: Don't include mbuiter.h.
8492         (strcasestr): Remove support for multibyte locales.
8493         * lib/string_.h (strcasestr): Don`t rename. Declare only if missing.
8494         Change the conditional link warning.
8495         (mbscasestr): New declaration.
8496         * m4/mbscasestr.m4: New file.
8497         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Enable the replacement only if
8498         the system does not have strcasestr. Set HAVE_STRCASESTR instead of
8499         REPLACE_STRCASESTR.
8500         (gl_PREREQ_STRCASESTR): Don't require gl_FUNC_MBRTOWC.
8501         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
8502         HAVE_STRCASESTR instead of REPLACE_STRCASESTR.
8503         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSCASESTR.
8504         * modules/string (string.h): Also substitute GNULIB_MBSCASESTR.
8505         Substitute HAVE_STRCASESTR instead of REPLACE_STRCASESTR.
8506         * modules/strcasestr (Files): Remove m4/mbrtowc.m4.
8507         (Depends-on): Remove mbuiter.
8508         * MODULES.html.sh (Internationalization functions): Add mbscasestr.
8509
8510 2007-02-04  Bruno Haible  <bruno@clisp.org>
8511
8512         Simplify handling of strncasecmp.
8513         * lib/string_.h (strncasecmp): Remove test for GNULIB_STRCASE. Change
8514         the conditional link warning.
8515         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
8516         HAVE_STRCASECMP, not REPLACE_STRCASECMP.
8517         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Don't initialize GNULIB_STRCASE.
8518         * modules/strcase (configure.ac): Don't invoke
8519         gl_STRING_MODULE_INDICATOR.
8520         * modules/string (string.h): Don't substitute GNULIB_STRCASE.
8521
8522 2007-02-04  Bruno Haible  <bruno@clisp.org>
8523
8524         New module mbscasecmp, reduced goal of strcasecmp.
8525         * modules/mbscasecmp: New file.
8526         * lib/mbscasecmp.c: New file, copied from lib/strcasecmp.c.
8527         (mbscasecmp): Renamed from strcasecmp.
8528         * lib/strcasecmp.c: Don't include mbuiter.h.
8529         (strcasecmp): Remove support for multibyte locales.
8530         * lib/string_.h (strcasecmp): Don`t rename. Declare only if missing.
8531         Change the conditional link warning.
8532         (mbscasecmp): New declaration.
8533         * m4/mbscasecmp.m4: New file.
8534         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Enable the replacement only if
8535         the system lacks strcasecmp. Set HAVE_STRCASECMP instead of
8536         REPLACE_STRCASECMP.
8537         (gl_PREREQ_STRCASECMP): Don't require gl_FUNC_MBRTOWC.
8538         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
8539         GNULIB_MBSCASECMP.
8540         * modules/string (string.h): Also substitute GNULIB_MBSCASECMP.
8541         Substitute HAVE_STRCASECMP instead of REPLACE_STRCASECMP.
8542         * modules/strcase (Files): Remove m4/mbrtowc.m4.
8543         (Depends-on): Remove mbuiter.
8544         * MODULES.html.sh (Internationalization functions): Add mbscasecmp.
8545
8546 2007-02-04  Bruno Haible  <bruno@clisp.org>
8547
8548         New module mbsstr. Remove module strstr.
8549         * modules/mbsstr: New file.
8550         * modules/strstr: Remove file.
8551         * lib/mbsstr.c: Renamed from lib/strstr.c.
8552         (mbsstr): Renamed from strstr.
8553         * lib/string_.h (strstr): Remove declaration. Change the conditional
8554         link warning.
8555         (mbsstr): New declaration.
8556         * m4/mbsstr.m4: New file.
8557         * m4/strstr.m4: Remove file.
8558         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Don't initialize
8559         REPLACE_STRSTR.
8560         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSSTR.
8561         Don't initialize GNULIB_STRSTR.
8562         * modules/string (string.h): Also substitute GNULIB_MBSSTR. Don't
8563         substitute GNULIB_STRSTR and REPLACE_STRSTR.
8564         * MODULES.html.sh (Internationalization functions): Add mbsstr.
8565         (Support for systems lacking ANSI C 89): Remove strstr.
8566
8567 2007-02-04  Bruno Haible  <bruno@clisp.org>
8568
8569         New module mbsrchr.
8570         * modules/mbsrchr: New file.
8571         * lib/mbsrchr.c: New file.
8572         * lib/string_.h (strrchr): Add a conditional link warning.
8573         (mbsrchr): New declaration.
8574         * m4/mbsrchr.m4: New file.
8575         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
8576         GNULIB_MBSRCHR.
8577         * modules/string (string.h): Also substitute GNULIB_MBSRCHR.
8578         * MODULES.html.sh (Internationalization functions): Add mbsrchr.
8579
8580 2007-02-04  Bruno Haible  <bruno@clisp.org>
8581
8582         New module mbschr.
8583         * modules/mbschr: New file.
8584         * lib/mbschr.c: New file.
8585         * lib/string_.h (strchr): Add a conditional link warning.
8586         (mbschr): New declaration.
8587         * m4/mbschr.m4: New file.
8588         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
8589         GNULIB_MBSCHR.
8590         * modules/string (string.h): Also substitute GNULIB_MBSCHR.
8591         * MODULES.html.sh (Internationalization functions): Add mbschr.
8592
8593 2007-02-04  Paul Eggert  <eggert@cs.ucla.edu>
8594
8595         * lib/stdbool_.h: Mention that bool bit-fields aren't supported.
8596
8597         * modules/stdarg (configure.ac-early): Require AC_PROG_CC_STDC.
8598
8599 2007-02-04  Bruno Haible  <bruno@clisp.org>
8600
8601         New module description section 'configure.ac-early'.
8602         * gnulib-tool (sed_extract_prog): Recognize configure.ac-early.
8603         (func_get_autoconf_early_snippet): New function.
8604         (func_import, func_create_testdir): Use it. Remove special cases for
8605         modules 'extensions' and 'lock'.
8606         * modules/extensions (configure.ac-early): Require
8607         gl_USE_SYSTEM_EXTENSIONS.
8608         * modules/lock (configure.ac-early): Require gl_LOCK_EARLY.
8609
8610 2007-02-04  Bruno Haible  <bruno@clisp.org>
8611
8612         Make use of gcj-4.3's -fsource and -ftarget option.
8613         * m4/javacomp.m4 (gt_JAVACOMP): Test whether gcj is in version >= 4.3,
8614         and if so try the options -fsource and -ftarget.
8615         * lib/javacomp.c (compile_using_gcj): Add fsource_option,
8616         source_version, ftarget_option, target_version arguments.
8617         (is_envjavac_gcj43, is_envjavac_gcj43_usable): New functions.
8618         (is_envjavac_oldgcj_14_14_usable): Renamed from
8619         is_envjavac_gcj_14_14_usable.
8620         (is_envjavac_oldgcj_14_13_usable): Renamed from
8621         is_envjavac_gcj_14_13_usable.
8622         (is_gcj_present): Update.
8623         (is_gcj_43, is_gcj43_usable): New functions.
8624         (is_oldgcj_14_14_usable): Renamed from is_gcj_14_14_usable. Update.
8625         (is_oldgcj_14_13_usable): Renamed from is_gcj_14_13_usable. Update.
8626         (compile_java_class): Test whether gcj is in version >= 4.3, and if so
8627         try the options -fsource and -ftarget.
8628
8629 2007-02-03  Paul Eggert  <eggert@cs.ucla.edu>
8630
8631         * lib/xalloc.h (x2nrealloc): Fix an unlikely bug in the overflow
8632         checking code.  Set N = ceil (1.5 * N) rather than to a slightly
8633         larger value.
8634
8635 2007-02-03  Jim Meyering  <jim@meyering.net>
8636
8637         Give tools a better chance to allocate space for very large buffers.
8638         * lib/xalloc.h (x2nrealloc): Use 3/2, not 2, as buffer size factor.
8639
8640         Make pwd and readlink work also when run with an unreadable parent dir
8641         on systems with openat support.
8642         * lib/getcwd.c (__getcwd) [HAVE_PARTLY_WORKING_GETCWD]: Use the system
8643         provided getcwd function, even when we have openat support.
8644         Reported by Dmitry V. Levin in <http://bugzilla.redhat.com/227168>.
8645
8646 2007-02-02  Bruno Haible  <bruno@clisp.org>
8647
8648         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul,
8649         strdup, strndup, strnlen, strpbrk, strsep, strtok_r): Provoke a link
8650         error only if GNULIB_POSIXCHECK is defined. Needed to avoid artificial
8651         portability problems if one of these functions is only used on specific
8652         platforms.
8653         Reported by Paul Eggert.
8654
8655 2007-02-02  Paul Eggert  <eggert@cs.ucla.edu>
8656
8657         Avoid mempcpy in the regex code, as the string.h mempcpy stuff
8658         is causing more trouble than it's curing.
8659         * lib/regex_internal.h (__mempcpy): Remove.
8660         * lib/regcomp.c (regerror): Rewrite to avoid the need for mempcpy
8661         (and make the code a tad smaller to boot).
8662         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for mempcpy.
8663
8664 2007-02-02  Jim Meyering  <jim@meyering.net>
8665
8666         * modules/arpa_inet: Put AC_PROG_MKDIR_P in the configure.ac:
8667         section, not in the Makefile.am: one.
8668
8669 2007-02-02  Eric Blake  <ebb9@byu.net>
8670
8671         * lib/strchrnul.c: Always include config.h first.
8672
8673         * modules/mountlist (Depends-on): Revert 2007-01-31 change,
8674         gnulib strstr is not necessary here.
8675
8676 2007-02-02  Simon Josefsson  <simon@josefsson.org>
8677
8678         * m4/socklen.m4: Fix typo.
8679
8680 2007-02-02  Eric Blake  <ebb9@byu.net>
8681
8682         * modules/arpa_inet (Makefile.am): Use MKDIR_P to avoid races.
8683         * modules/netinet_in (Makefile.am): Likewise.
8684
8685 2007-02-01  Bruno Haible  <bruno@clisp.org>
8686
8687         * lib/string_.h (GL_LINK_WARNING): New macro.
8688         (strcasecmp, strstr, strcasestr): If provided by the system,
8689         conditionally define as a macro that leads to a warning instead of to
8690         an error.
8691         (strncasecmp): Conditionally define as a macro that leads to a warning.
8692
8693 2007-02-01  Karl Berry  <karl@gnu.org>
8694
8695         * config/srclist.txt (strtok_r.c): lose sync, no more strtok_r.h.
8696
8697 2007-02-01  Bruno Haible  <bruno@clisp.org>
8698
8699         * MODULES.html.sh (Unicode string functions): Update after 2007-01-27
8700         renamings.
8701
8702 2007-02-01  Eric Blake  <ebb9@byu.net>
8703
8704         * modules/regex (Depends-on): Revert dependence on mempcpy.
8705         * lib/regex_internal.h [! _LIBC && !__mempcpy]: Undo string
8706         module's definition of mempcpy.
8707         Reported by Paul Eggert.
8708
8709 2007-02-01  Paul Eggert  <eggert@cs.ucla.edu>
8710
8711         * lib/string_.h: If the gnulib module XYZ is not present, undefine
8712         the symbol XYZ before redefining it.  This fixes a problem with
8713         programs that don't use XYZ, when compiled on systems that define
8714         XYZ to something else.
8715
8716 2007-01-31  Paul Eggert  <eggert@cs.ucla.edu>
8717
8718         * lib/mkdir-p.c (make_dir_parents): Close a race condition that
8719         occurs when "mkdir -m foo" creates a setgid directory that is (1)
8720         writeable to group or other and (2) is intended to have a special
8721         mode bit that is set or cleared.  In such a case, the directory
8722         should be neither group- nor other-writeable until the special
8723         mode bits are right.
8724
8725 2007-01-31  Eric Blake  <ebb9@byu.net>
8726
8727         * modules/mountlist (Depends-on): Add strstr.
8728
8729         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Correct m4 usage
8730         bug.
8731         * modules/string (Makefile.am): Remove redundant replacement.
8732         * modules/regex (Depends-on): Add mempcpy.
8733
8734 2007-01-31  Bruno Haible  <bruno@clisp.org>
8735
8736         New module description field 'Link'.
8737         * gnulib-tool (func_usage): Document --extract-link-directive.
8738         (sed_extract_prog): Recognize 'Link' directive.
8739         (func_get_link_directive): New function.
8740         (func_import): Show summary of link directives.
8741         Handle --extract-link-directive option.
8742         * modules/acl (Link): New section.
8743         * modules/clock-time (Link): New section.
8744         * modules/euidaccess (Link): New section.
8745         * modules/gettext (Link): New section.
8746         * modules/iconv (Link): New section.
8747         * modules/lock (Link): New section.
8748         * modules/nanosleep (Link): New section.
8749         * modules/readline (Link): New section.
8750
8751 2007-01-27  Bruno Haible  <bruno@clisp.org>
8752
8753         Enforce the use of gnulib modules for unportable <string.h> functions.
8754         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): New macro.
8755         (gl_STRING_MODULE_INDICATOR_DEFAULTS): New macro.
8756         (gl_HEADER_STRING_H_BODY): Require it.
8757         * lib/string_.h: If the gnulib module XYZ is not present, redefine
8758         the symbol XYZ to one that gives a link error.
8759         * modules/string (Makefile.am): Also substitute the GNULIB_* variables.
8760         * modules/memmem (configure.ac): Invoke gl_STRING_MODULE_INDICATOR.
8761         * modules/mempcpy (configure.ac): Likewise.
8762         * modules/memrchr (configure.ac): Likewise.
8763         * modules/stpcpy (configure.ac): Likewise.
8764         * modules/stpncpy (configure.ac): Likewise.
8765         * modules/strcase (configure.ac): Likewise.
8766         * modules/strcasestr (configure.ac): Likewise.
8767         * modules/strchrnul (configure.ac): Likewise.
8768         * modules/strdup (configure.ac): Likewise.
8769         * modules/strndup (configure.ac): Likewise.
8770         * modules/strnlen (configure.ac): Likewise.
8771         * modules/strpbrk (configure.ac): Likewise.
8772         * modules/strsep (configure.ac): Likewise.
8773         * modules/strstr (configure.ac): Likewise.
8774         * modules/strtok_r (configure.ac): Likewise.
8775
8776 2007-01-31  Jean-Louis Martineau  <martineau@zmanda.com>  (tiny change)
8777
8778         * lib/gai_strerror.c (values): Add EAI_OVERFLOW.
8779
8780 2007-01-30  Jim Meyering  <jim@meyering.net>
8781
8782         * lib/mpsort.c (mpsort): Remove spurious "return" in void function.
8783
8784 2007-01-29  Bruno Haible  <bruno@clisp.org>
8785
8786         * lib/allocsa.h: Use '#if HAVE_*' instead of '#ifdef HAVE_*'.
8787         * lib/execute.c: Likewise.
8788         * lib/pipe.c: Likewise.
8789         * lib/printf-args.h: Likewise.
8790         * lib/printf-args.c: Likewise.
8791         * lib/printf-parse.c: Likewise.
8792         * lib/vasnprintf.c: Likewise.
8793
8794 2007-01-29  Eric Blake  <ebb9@byu.net>
8795
8796         * lib/memrchr.c: Assume <string.h> unconditionally, to pull in
8797         declaration.
8798
8799 2007-01-29  Paul Eggert  <eggert@cs.ucla.edu>
8800
8801         * lib/strptime.h (strptime): Use 'restrict' for args where
8802         POSIX requires this.
8803         * lib/strptime.c (strptime): Likewise.
8804         Change license notice from LGPL to GPL, since gnulib-tool will
8805         change this as needed.
8806         Include <config.h> if _LIBC is not defined, not if HAVE_CONFIG_H is
8807         defined.
8808         Include "strptime.h" first, to check interface.
8809         Do not #undef _LIBC and _NL_CURRENT.
8810         Do not include <stdlib.h>; no longer needed.
8811         Include "time_r.h" and declare ptime_locale_status
8812         only if _LIBC is not defined.
8813         (__P): Remove unused macro.
8814         (match_string): Bring back glibc version, but use it only if _LIBC
8815         is defined.
8816         (__strptime_internal): Compile tm_gmtoff code if _LIBC is defined, too.
8817         Remove unnecessary assertion and abort() call.
8818         Use #ifdef _NL_CURRENT rather than #if 0, for benefit of glibc.
8819         * m4/strptime.m4: Fix serial number comment.
8820         (gl_FUNC_STRPTIME): Require AC_C_RESTRICT, gl_TM_GMTOFF.
8821         * modules/strptime (Files): Add m4/tm_gmtoff.m4.
8822         (Depends-on): Add time_r.
8823
8824 2007-01-29  Bruno Haible  <bruno@clisp.org>
8825
8826         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
8827         strptime.
8828         * modules/strptime (Depends-on): Add stdbool.
8829         * lib/strptime.h: Include <time.h> always. Add comments.
8830
8831 2007-01-29  Yoann Vandoorselaere  <yoann@prelude-ids.org>
8832
8833         * modules/strptime: New file.
8834         * lib/strptime.h: New file.
8835         * lib/strptime.c: New file.
8836         * m4/strptime.m4: New file.
8837
8838 2007-01-28  Paul Eggert  <eggert@cs.ucla.edu>
8839
8840         * MODULES.html.sh: New module mpsort.
8841         * lib/mpsort.c, lib/mpsort.h, m4/mpsort.m4, modules/mpsort: New files.
8842
8843         * lib/regex.h (_Restrict_): Renamed from __restrict, to avoid
8844         a circularity problem with HP-UX ia64 reported by Bob Proulx in
8845         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00394.html>.
8846         All uses changed.
8847         (_Restrict_arr_): Renamed from __restrict_arr, for similar reasons.
8848         All uses changed.
8849         * lib/regcomp.c, lib/regexec.c: Change all uses from __restrict
8850         to _Restrict_.
8851         * lib/regexec.c (regexec): Declare pmatch with _Restrict_arr_, so that
8852         the parameter matches the prototype.
8853
8854 2007-01-28  Jim Meyering  <jim@meyering.net>
8855
8856         * modules/sys_time (Makefile.am) [MOSTLYCLEANFILES]: Do use
8857         sys/time.h here, reverting that part of the previous patch:
8858         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/8959>.
8859
8860 2007-01-28  Bruno Haible  <bruno@clisp.org>
8861
8862         * modules/sys_time (Makefile.am): Build sys/time.h only when it's the
8863         value of $(SYS_TIME_H).
8864         [MOSTLYCLEANFILES]: Now that sys/time.h is created only when needed,
8865         remove it conditionally, too. [added by Jim Meyering]
8866         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Set SYS_TIME_H.
8867         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
8868         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Set SYS_TIME_H when setting
8869         GETTIMEOFDAY_REPLACEMENT to 1.
8870
8871 2007-01-28  Bruno Haible  <bruno@clisp.org>
8872
8873         * m4/unistd_h.m4 (gl_HEADER_UNISTD_DEFAULTS): New macro.
8874         (gl_HEADER_UNISTD): Require it. Don't set UNISTD_H to empty here.
8875         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_HEADER_UNISTD_DEFAULTS.
8876         Set UNISTD_H instead of UNISTD_H2.
8877         * modules/fchdir (BUILT_SOURCES): Drop $(UNISTD_H2).
8878
8879 2007-01-28  Bruno Haible  <bruno@clisp.org>
8880
8881         * modules/mbchar (Makefile.am): Add mbchar.c to lib_SOURCES.
8882         * m4/mbchar.m4 (gl_MBCHAR): Remove AC_LIBOBJ invocation.
8883
8884 2007-01-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
8885
8886         * gnulib-tool (func_emit_lib_Makefile_am, func_add_or_update)
8887         (func_create_testdir): Ensure C locale for `grep' and `tr'
8888         character ranges.
8889         (func_create_megatestdir): Avoid one `grep'.  Fix bug in
8890         ACLOCAL_AMFLAGS parsing state machine.
8891
8892 2007-01-27  Bruno Haible  <bruno@clisp.org>
8893
8894         * modules/unistr/base: Update.
8895
8896 2007-01-27  Bruno Haible  <bruno@clisp.org>
8897
8898         Rename u32-mbtouc -> u32-mbtouc-unsafe, u32-mbtouc-safe -> u32-mbtouc,
8899         u32_mbtouc -> u32_mbtouc_unsafe, u32_mbtouc_safe -> u32_mbtouc.
8900         * modules/unistr/u32-mbtouc-unsafe: Renamed from
8901         modules/unistr/u32-mbtouc.
8902         * lib/unistr/u32-mbtouc-unsafe.c: Renamed from lib/unistr/u32-mbtouc.c.
8903         * lib/unistr.h: Update.
8904         * lib/linebreak.c: Update.
8905         * modules/unistr/u32-mbtouc: Renamed from
8906         modules/unistr/u32-mbtouc-safe.
8907         * lib/unistr/u32-mbtouc.c: Renamed from lib/unistr/u32-mbtouc-safe.c.
8908         * lib/unistr.h: Update.
8909         * lib/unistr/u32-to-u8.c: Update.
8910         * lib/unistr/u32-to-u16.c: Update.
8911
8912 2007-01-27  Bruno Haible  <bruno@clisp.org>
8913
8914         Rename utf16-ucs4 -> utf16-ucs4-unsafe, utf16-ucs4-safe -> utf16-ucs4,
8915         u16_mbtouc -> u16_mbtouc_unsafe, u16_mbtouc_safe -> u16_mbtouc.
8916         * modules/utf16-ucs4-unsafe: Renamed from modules/utf16-ucs4.
8917         * lib/utf16-ucs4-unsafe.h: Renamed from lib/utf16-ucs4.h.
8918         * lib/unistr/utf16-ucs4-unsafe.c: Renamed from lib/unistr/utf16-ucs4.c.
8919         * modules/unistr/u16-mbtouc-unsafe: Renamed from
8920         modules/unistr/u16-mbtouc.
8921         * lib/unistr/u16-mbtouc-unsafe.c: Renamed from lib/unistr/u16-mbtouc.c.
8922         * lib/unistr.h: Update.
8923         * lib/linebreak.c: Update.
8924         * modules/linebreak: Update.
8925         * modules/utf16-ucs4: Renamed from modules/utf16-ucs4-safe.
8926         * lib/utf16-ucs4.h: Renamed from lib/utf16-ucs4-safe.h.
8927         * lib/unistr/utf16-ucs4.c: Renamed from lib/unistr/utf16-ucs4-safe.c.
8928         * modules/unistr/u16-mbtouc: Renamed from
8929         modules/unistr/u16-mbtouc-safe.
8930         * lib/unistr/u16-mbtouc.c: Renamed from lib/unistr/u16-mbtouc-safe.c.
8931         * lib/unistr.h: Update.
8932         * lib/unistr/u16-to-u8.c: Update.
8933         * modules/unistr/u16-to-u8: Update.
8934         * lib/unistr/u16-to-u32.c: Update.
8935         * modules/unistr/u16-to-u32: Update.
8936
8937 2007-01-27  Bruno Haible  <bruno@clisp.org>
8938
8939         Rename utf8-ucs4 -> utf8-ucs4-unsafe, utf8-ucs4-safe -> utf8-ucs4,
8940         u8_mbtouc -> u8_mbtouc_unsafe, u8_mbtouc_safe -> u8_mbtouc.
8941         * modules/utf8-ucs4-unsafe: Renamed from modules/utf8-ucs4.
8942         * lib/utf8-ucs4-unsafe.h: Renamed from lib/utf8-ucs4.h.
8943         * lib/unistr/utf8-ucs4-unsafe.c: Renamed from lib/unistr/utf8-ucs4.c.
8944         * modules/unistr/u8-mbtouc-unsafe: Renamed from
8945         modules/unistr/u8-mbtouc.
8946         * lib/unistr/u8-mbtouc-unsafe.c: Renamed from lib/unistr/u8-mbtouc.c.
8947         * lib/unistr.h: Update.
8948         * lib/striconveh.c: Update.
8949         * modules/striconveh: Update.
8950         * lib/linebreak.c: Update.
8951         * modules/linebreak: Update.
8952         * modules/utf8-ucs4: Renamed from modules/utf8-ucs4-safe.
8953         * lib/utf8-ucs4.h: Renamed from lib/utf8-ucs4-safe.h.
8954         * lib/unistr/utf8-ucs4.c: Renamed from lib/unistr/utf8-ucs4-safe.c.
8955         * modules/unistr/u8-mbtouc: Renamed from modules/unistr/u8-mbtouc-safe.
8956         * lib/unistr/u8-mbtouc.c: Renamed from lib/unistr/u8-mbtouc-safe.c.
8957         * lib/unistr.h: Update.
8958         * lib/striconveh.c: Update.
8959         * modules/striconveh: Update.
8960         * lib/unistr/u8-to-u16.c: Update.
8961         * modules/unistr/u8-to-u16: Update.
8962         * lib/unistr/u8-to-u32.c: Update.
8963         * modules/unistr/u8-to-u32: Update.
8964
8965 2007-01-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
8966
8967         Sync from Libtool.
8968         * lib/argz.c: Do not include strings.h nor memory.h, include
8969         string.h unconditionally.  Patch by Simon Josefsson.
8970
8971 2007-01-27  Bruno Haible  <bruno@clisp.org>
8972
8973         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): New macro, extracted
8974         from gl_HEADER_STRING_H_BODY.
8975         (gl_HEADER_STRING_H_BODY): Require it.
8976         * m4/memmem.m4 (gl_FUNC_MEMMEM): Require gl_HEADER_STRING_H_DEFAULTS.
8977         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Likewise.
8978         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Likewise.
8979         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Likewise.
8980         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
8981         * m4/strcase.m4 (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP): Likewise.
8982         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
8983         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Likewise.
8984         * m4/strdup.m4 (gl_FUNC_STRDUP): Likewise.
8985         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
8986         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Likewise.
8987         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Likewise.
8988         * m4/strsep.m4 (gl_FUNC_STRSEP): Likewise.
8989         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
8990         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
8991
8992 2007-01-27  Bruno Haible  <bruno@clisp.org>
8993
8994         * gnulib-tool (func_emit_lib_Makefile_am): If $for_test is true, turn
8995         check_PROGRAMS into noinst_PROGRAMS.
8996         (func_emit_tests_Makefile_am): Likewise. Also don't initialize
8997         check_PROGRAMS in this case.
8998         (func_import): Set for_test to false.
8999         (func_create_testdir): Set for_test to true.
9000
9001 2007-01-27  Yoann Vandoorselaere <yoann.v@prelude-ids.com>
9002             Bruno Haible  <bruno@clisp.org>
9003
9004         * modules/strcasestr (Files): Remove lib/strcasestr.h.
9005         (Depends-on): Add string.
9006         (Includes): Use <string.h> instead of strcasestr.h.
9007         * modules/string (Makefile.am): Also substitute the value of
9008         REPLACE_STRCASESTR.
9009         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Don't define strcasestr here;
9010         assume strcasestr is declared in <string.h> not <strings.h>. Also
9011         set REPLACE_STRCASESTR.
9012         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Provide a default value for
9013         REPLACE_STRCASESTR.
9014         * lib/strcasestr.h: Remove file.
9015         * lib/strcasestr.c: Include <string.h> instead of strcasestr.h.
9016         * lib/string_.h (strcasestr): New declaration.
9017
9018 2007-01-27  Bruno Haible  <bruno@clisp.org>
9019
9020         * lib/string_.h: Use 'extern'.
9021
9022 2007-01-27  Jim Meyering  <jim@meyering.net>
9023
9024         * lib/regex_internal.c (re_string_reconstruct): Remove declaration
9025         of set-but-not-used local, "q".
9026
9027         * lib/mempcpy.c: Include <config.h> before <string.h>.
9028         This fixes a compilation error on HP-UX, due to the system's
9029         "restrict"-using mempcpy prototype.
9030
9031 2007-01-26  Bruno Haible  <bruno@clisp.org>
9032
9033         Small optimization.
9034         * lib/javacomp.c: Include c-strstr.h.
9035          (is_envjavac_gcj): Use c_strstr instead of strstr.
9036         * modules/javacomp (Depends-on): Add c-strstr, remove strstr.
9037
9038 2007-01-26  Bruno Haible  <bruno@clisp.org>
9039
9040         * MODULES.html.sh (Unicode string functions): Add the new modules.
9041
9042         * modules/uniconv/u32-strconv-to-locale: New file.
9043         * lib/uniconv/u32-strconv-to-locale.c: New file.
9044
9045         * modules/uniconv/u16-strconv-to-locale: New file.
9046         * lib/uniconv/u16-strconv-to-locale.c: New file.
9047
9048         * modules/uniconv/u8-strconv-to-locale: New file.
9049         * lib/uniconv/u8-strconv-to-locale.c: New file.
9050
9051         * modules/uniconv/u32-strconv-from-locale: New file.
9052         * lib/uniconv/u32-strconv-from-locale.c: New file.
9053
9054         * modules/uniconv/u16-strconv-from-locale: New file.
9055         * lib/uniconv/u16-strconv-from-locale.c: New file.
9056
9057         * modules/uniconv/u8-strconv-from-locale: New file.
9058         * lib/uniconv/u8-strconv-from-locale.c: New file.
9059
9060         * modules/uniconv/u32-strconv-to-enc: New file.
9061         * lib/uniconv/u32-strconv-to-enc.c: New file.
9062         * modules/uniconv/u32-strconv-to-enc-tests: New file.
9063         * tests/uniconv/test-u32-strconv-to-enc.c: New file.
9064
9065         * modules/uniconv/u16-strconv-to-enc: New file.
9066         * lib/uniconv/u16-strconv-to-enc.c: New file.
9067         * lib/uniconv/u-strconv-to-enc.h: New file.
9068         * modules/uniconv/u16-strconv-to-enc-tests: New file.
9069         * tests/uniconv/test-u16-strconv-to-enc.c: New file.
9070
9071         * modules/uniconv/u8-strconv-to-enc: New file.
9072         * lib/uniconv/u8-strconv-to-enc.c: New file.
9073         * modules/uniconv/u8-strconv-to-enc-tests: New file.
9074         * tests/uniconv/test-u8-strconv-to-enc.c: New file.
9075
9076         * modules/uniconv/u32-strconv-from-enc: New file.
9077         * lib/uniconv/u32-strconv-from-enc.c: New file.
9078         * modules/uniconv/u32-strconv-from-enc-tests: New file.
9079         * tests/uniconv/test-u32-strconv-from-enc.c: New file.
9080
9081         * modules/uniconv/u16-strconv-from-enc: New file.
9082         * lib/uniconv/u16-strconv-from-enc.c: New file.
9083         * modules/uniconv/u16-strconv-from-enc-tests: New file.
9084         * tests/uniconv/test-u16-strconv-from-enc.c: New file.
9085
9086         * modules/uniconv/u8-strconv-from-enc: New file.
9087         * lib/uniconv/u8-strconv-from-enc.c: New file.
9088         * lib/uniconv/u-strconv-from-enc.h: New file.
9089         * modules/uniconv/u8-strconv-from-enc-tests: New file.
9090         * tests/uniconv/test-u8-strconv-from-enc.c: New file.
9091
9092         * modules/uniconv/u32-conv-from-enc: New file.
9093         * lib/uniconv/u32-conv-from-enc.c: New file.
9094         * modules/uniconv/u32-conv-from-enc-tests: New file.
9095         * tests/uniconv/test-u32-conv-from-enc.c: New file.
9096
9097         * modules/uniconv/u16-conv-from-enc: New file.
9098         * lib/uniconv/u16-conv-from-enc.c: New file.
9099         * lib/uniconv/u-conv-from-enc.h: New file.
9100         * modules/uniconv/u16-conv-from-enc-tests: New file.
9101         * tests/uniconv/test-u16-conv-from-enc.c: New file.
9102
9103         * modules/uniconv/u8-conv-from-enc: New file.
9104         * lib/uniconv/u8-conv-from-enc.c: New file.
9105         * modules/uniconv/u8-conv-from-enc-tests: New file.
9106         * tests/uniconv/test-u8-conv-from-enc.c: New file.
9107
9108         * modules/uniconv/base: New file.
9109         * lib/uniconv.h: New file.
9110
9111 2007-01-26  Paul Eggert  <eggert@cs.ucla.edu>
9112
9113         * doc/gnulib-tool.texi (Initial import): Update to match current
9114         behavior with strdup module.
9115         * lib/.cppi-disable: Remove strcase.h, strdup.h, strndup.h, strnlen.h.
9116         * lib/memmem.h: Remove; all uses removed.  This is now done
9117         by <string.h>.
9118         * lib/mempcpy.h: Likewise.
9119         * lib/memrchr.h: Likewise.
9120         * lib/stpcpy.h: Likewise.
9121         * lib/stpncpy.h: Likewise.
9122         * lib/strcase.h: Likewise.
9123         * lib/strchrnul.h: Likewise.
9124         * lib/strdup.h: Likewise.
9125         * lib/strndup.h: Likewise.
9126         * lib/strnlen.h: Likewise.
9127         * lib/strpbrk.h: Likewise.
9128         * lib/strsep.h: Likewise.
9129         * lib/strstr.h: Likewise.
9130         * lib/strtok_r.h: Likewise.
9131         * lib/string_.h: New file.
9132         * lib/argp-namefrob.h: Don't include no-longer-existent include files.
9133         Rely on <string.h> instead.
9134         * lib/canon-host.c: Likewise.
9135         * lib/chdir-long.c: Likewise.
9136         * lib/concatpath.c: Likewise.
9137         * lib/exclude.c: Likewise.
9138         * lib/fchdir.c: Likewise.
9139         * lib/getaddrinfo.c: Likewise.
9140         * lib/getcwd.c: Likewise.
9141         * lib/getsubopt.c: Likewise.
9142         * lib/glob.c: Likewise.
9143         * lib/hard-locale.c: Likewise.
9144         * lib/iconvme.c: Likewise.
9145         * lib/javacomp.c: Likewise.
9146         * lib/mempcpy.c: Likewise.
9147         * lib/memrchr.c: Likewise.
9148         * lib/regex_internal.h: Likewise.
9149         * lib/stpncpy.c: Likewise.
9150         * lib/strcasecmp.c: Likewise.
9151         * lib/strchrnul.c: Likewise.
9152         * lib/strdup.c: Likewise.
9153         * lib/striconv.c: Likewise.
9154         * lib/striconveh.c: Likewise.
9155         * lib/striconveha.c: Likewise.
9156         * lib/strncasecmp.c: Likewise.
9157         * lib/strndup.c: Likewise.
9158         * lib/strnlen.c: Likewise.
9159         * lib/strsep.c: Likewise.
9160         * lib/strstr.c: Likewise.
9161         * lib/strtok_r.c: Likewise.
9162         * lib/userspec.c: Likewise.
9163         * lib/w32spawn.h: Likewise.
9164         * lib/xstrndup.c: Likewise.
9165         * lib/mountlist.c (strstr): Remove decl.
9166         * m4/string_h.m4: New file.
9167         * m4/memmem.m4 (gl_FUNC_MEMMEM): Set HAVE_DECL_MEMMEM if necessary.
9168         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Set HAVE_MEMPCPY if necessary.
9169         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Set HAVE_MEMRCHR
9170         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Set HAVE_STPCPY if necessary.
9171         * m4/stpncpy.m4 (gl_PREREQ_STPNCPY): Set HAVE_STPNCPY if necessary.
9172         * m4/strcase.m4 (gl_FUNC_STRCASECMP):
9173         Set REPLACE_STRCASECMP if necessary.
9174         (gl_FUNC_STRNCASECMP): Set HAVE_DECL_STRNCASECMP if necessary.
9175         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Set HAVE_STRCHRNUL if necessary.
9176         * m4/strdup.m4 (gl_FUNC_STRDUP): Set HAVE_DECL_STRDUP if necessary.
9177         * m4/strndup.m4 (gl_FUNC_STRNDUP): Set HAVE_DECL_STRNLEN and
9178         HAVE_DECL_STRDUP if necessary.
9179         (gl_PREREQ_STRNLEN): Don't bother to check for strnlen decl,
9180         since gl_FUNC_STRNDUP does that now.
9181         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Set HAVE_DECL_STRNLEN if necessary.
9182         Check for decl here...
9183         (gl_PREREQ_STRNLEN): ... not here.
9184         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Set HAVE_STRPBRK if necessary.
9185         * m4/strsep.m4 (gl_FUNC_STRSEP): Set HAVE_STRSEP if necessary.
9186         * m4/strstr.m4 (gl_FUNC_STRSTR): Set REPLACE_STRSTR if necessary.
9187         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Set HAVE_DECL_STRTOK_R if
9188         necessary.
9189         * modules/string: New file.
9190         * modules/memmem (Files): Remove special-purpose include file.
9191         (Depends-on): Add string.
9192         (Include): Include <string.h>, not the removed file.
9193         * modules/mempcpy: Likewise.
9194         * modules/memrchr: Likewise.
9195         * modules/stpcpy: Likewise.
9196         * modules/stpncpy: Likewise.
9197         * modules/strcase: Likewise.
9198         * modules/strchrnul: Likewise.
9199         * modules/strdup: Likewise.
9200         * modules/strndup: Likewise.
9201         * modules/strnlen: Likewise.
9202         * modules/strpbrk: Likewise.
9203         * modules/strsep: Likewise.
9204         * modules/strstr: Likewise.
9205         * modules/strtok_r: Likewise.
9206         * tests/test-dirname.c: Don't include "strdup.h", since
9207         <string.h> now suffices.
9208         * tests/test-memmem.c: Don't include "memmem.h", since
9209         <string.h> now suffices.
9210
9211 2007-01-25  Bruno Haible  <bruno@clisp.org>
9212
9213         * lib/striconveh.c (mem_cd_iconveh_internal): Ignore *lengthp if
9214         *resultp is 0.
9215
9216         * lib/unistr/u16-to-u8.c (u16_to_u8): Fix u8_uctomb invocation.
9217         * lib/unistr/u32-to-u8.c (u32_to_u8): Likewise.
9218         * lib/unistr/u8-to-u16.c (u8_to_u16): Fix u16_uctomb invocation.
9219         * lib/unistr/u32-to-u16.c (u32_to_u16): Likewise.
9220
9221         * modules/unistr/u8-to-u16 (Depends-on): Add missing modules.
9222         * modules/unistr/u8-to-u32 (Depends-on): Add missing modules.
9223         * modules/unistr/u16-to-u8 (Depends-on): Add missing modules.
9224         * modules/unistr/u16-to-u32 (Depends-on): Add missing modules.
9225         * modules/unistr/u32-to-u8 (Depends-on): Add missing modules.
9226         * modules/unistr/u32-to-u16 (Depends-on): Add missing modules.
9227
9228 2007-01-24  Bruno Haible  <bruno@clisp.org>
9229
9230         Don't AC_REQUIRE autoconf macros that invoke AC_LIBOBJ. See
9231         <http://lists.gnu.org/archive/html/bug-gnulib/2006-10/msg00279.html>.
9232         * m4/argp.m4 (gl_ARGP): Invoke, don't require, gl_GETOPT_SUBSTITUTE.
9233         * m4/fts.m4 (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): Invoke, don't require,
9234         gl_FUNC_FTS_CORE.
9235         (gl_FUNC_FTS_CORE): Invoke, don't require, gl_FUNC_OPENAT.
9236         * m4/lstat.m4 (gl_FUNC_LSTAT): Invoke, don't require,
9237         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
9238         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Invoke, don't require, AC_FUNC_MEMCMP.
9239         * m4/mktime.m4 (gl_FUNC_MKTIME): Invoke, don't require, AC_FUNC_MKTIME.
9240         * m4/openat.m4 (gl_FUNC_OPENAT): Invoke, don't require,
9241         gl_FUNC_FCHOWNAT.
9242         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Invoke, don't require,
9243         gl_FUNC_STRFTIME.
9244         * m4/strtod.m4 (gl_FUNC_STRTOD): Invoke, don't require, AC_FUNC_STRTOD.
9245         Reported by Ralf Wildenhues.
9246
9247 2007-01-24  Bruno Haible  <bruno@clisp.org>
9248
9249         Drop AC_REQUIRE calls that are redundant with the module dependencies.
9250         * m4/canon-host.m4 (gl_PREREQ_CANON_HOST): Don't require
9251         gl_GETADDRINFO.
9252         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Don't require AM_STDBOOL_H,
9253         gl_FUNC_MEMPCPY, gl_FUNC_OPENAT, gl_FUNC_MEMRCHR.
9254         * m4/openat.m4 (gl_PREREQ_OPENAT): Don't require gl_SAVE_CWD.
9255
9256 2007-01-24  Paul Eggert  <eggert@cs.ucla.edu>
9257
9258         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Add test for glibc bug 361.
9259         Don't use 'exit'; just return from 'main'.
9260         (_AC_LIBOBJ_FNMATCH): Check for headers and functions just once.
9261
9262         * lib/fnmatch_.h: Readjust white space and comments to match
9263         glibc, to avoid spurious diffs.
9264
9265 2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>
9266
9267         * lib/fnmatch_loop.c (internal_fnmatch) [!_LIBC]: #if-out the
9268         2004-12-01 change by Jakub Jelinek, since this code won't compile
9269         if !LIBC.  Problem reported by Bob Proulx.
9270
9271 2007-01-23  Bruno Haible  <bruno@clisp.org>
9272
9273         * lib/striconveh.c: Include c-strcaseeq.h.
9274         (mem_iconveh, str_iconveh): Use STRCASEEQ instead of c_strcasecmp.
9275         * modules/striconveh (Depends-on): Add c-strcaseeq.
9276
9277 2007-01-23  Bruno Haible  <bruno@clisp.org>
9278
9279         * MODULES.html.sh (String handling): Add streq, c-strcaseeq.
9280
9281         * modules/c-strcaseeq: New file.
9282         * lib/c-strcaseeq.h: New file.
9283
9284         * modules/streq: New file.
9285         * lib/streq.h: New file.
9286
9287 2007-01-23  Bruno Haible  <bruno@clisp.org>
9288
9289         * modules/striconveha-tests: New file.
9290         * tests/test-striconveha.c: New file.
9291
9292         * lib/striconveha.h: Include <stdbool.h>.
9293         (mem_iconveha, str_iconveha): Add 'transliterate' argument.
9294         * lib/striconveha.c: Include allocsa.h, strdup.h, c-strcase.h.
9295         (mem_iconveha_notranslit): Renamed from mem_iconveha.
9296         (mem_iconveha): New function.
9297         (str_iconveha_notranslit): Renamed from str_iconveha.
9298         (str_iconveha): New function.
9299         * modules/striconveha (Depends-on): Add stdbool, allocsa, strdup,
9300         c-strcase.
9301
9302 2007-01-23  Bruno Haible  <bruno@clisp.org>
9303
9304         * lib/striconveha.c (mem_iconveha): Fix endless recursion. Try all
9305         encodings without forgiving before trying any encoding with handler.
9306         (str_iconveha): Try all encodings without forgiving before trying any
9307         encoding with handler.
9308
9309 2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>
9310
9311         Import the following changes from libc.
9312
9313         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
9314
9315         * lib/fnmatch_loop.c: Adjust for changed secondary hash function.
9316
9317         2004-12-01  Jakub Jelinek  <jakub@redhat.com>
9318
9319         * lib/fnmatch_loop.c (internal_fnmatch): Clear is_seqval after
9320         normal_bracket label.
9321
9322         2004-09-01  Jakub Jelinek  <jakub@redhat.com>
9323
9324         [BZ #361]
9325         * lib/fnmatch_loop.c (FCT): For backslash between brackets, branch
9326         to normal_bracket after fetching the next character.
9327
9328 2007-01-22  Bruno Haible  <bruno@clisp.org>
9329
9330         * lib/striconveh.h (mem_cd_iconveh, mem_iconveh): Add 'offsets'
9331         argument.
9332         * lib/striconveh.c (iconv_carefully_1): New function.
9333         (mem_cd_iconveh_internal, mem_cd_iconveh, mem_iconveh): Add 'offsets'
9334         argument.
9335         (str_cd_iconveh): Update.
9336         * lib/striconveha.h (mem_iconveha): Add 'offsets' argument.
9337         * lib/striconveha.c (mem_iconveha): Add 'offsets' argument.
9338         * tests/test-striconveh.c (MAGIC): New macro.
9339         (new_offsets): New function.
9340         (main): Test call with and without offsets.
9341
9342 2007-01-22  Bruno Haible  <bruno@clisp.org>
9343
9344         * modules/sys_stat (Makefile.am): Use @MKDIR_P@ instead of $(MKDIR_P).
9345         * modules/sys_select (Makefile.am): Likewise.
9346         * modules/sys_socket (Makefile.am): Likewise.
9347         * modules/sys_time (Makefile.am): Likewise.
9348
9349 2007-01-22  Paul Eggert  <eggert@cs.ucla.edu>
9350
9351         * modules/gettimeofday (License): Change from GPL to LGPL, since
9352         gettimeofday is a library function.
9353
9354 2007-01-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
9355
9356         * lib/poll.c (rpl_poll): Don't check against FD_SETSIZE under Win32.
9357
9358 2007-01-21  Bruno Haible  <bruno@clisp.org>
9359
9360         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): New macro.
9361
9362 2007-01-21  Bruno Haible  <bruno@clisp.org>
9363
9364         * modules/striconveha: New file.
9365         * lib/striconveha.h: New file.
9366         * lib/striconveha.c: New file.
9367         * MODULES.html.sh (Internationalization functions): Add striconveha.
9368         * lib/striconv.c (str_iconv): Optimize the case of an empty input
9369         string.
9370         * lib/striconveh.c (mem_iconveh, str_iconveh): Likewise.
9371
9372 2007-01-21  Bruno Haible  <bruno@clisp.org>
9373
9374         * lib/striconv.c (str_iconv): Guarantee errno is set when strdup fails.
9375         * lib/striconveh.c (str_iconveh): Likewise.
9376
9377 2007-01-21  Bruno Haible  <bruno@clisp.org>
9378
9379         * lib/striconveh.h (mem_iconveh): New declaration.
9380         * lib/striconveh.c (mem_iconveh): New function.
9381         * tests/test-striconveh.c (main): Add tests for mem_iconveh.
9382
9383 2007-01-21  Bruno Haible  <bruno@clisp.org>
9384
9385         * lib/xstriconv.h (xmem_cd_iconv): Change specification.
9386
9387         * lib/striconveh.h (mem_cd_iconveh): Change specification.
9388         * lib/striconveh.c (mem_cd_iconveh): Don't free the user-supplied
9389         original result buffer.
9390         (str_cd_iconveh): Update.
9391         * tests/test-striconveh.c (main): Update.
9392
9393         * lib/striconv.h (mem_cd_iconv): Change specification.
9394         * lib/striconv.c (mem_cd_iconv): Don't free the user-supplied original
9395         result buffer.
9396         (str_cd_iconv): Update.
9397         * tests/test-striconv.c (main): Update.
9398
9399 2007-01-21  Bruno Haible  <bruno@clisp.org>
9400
9401         * gnulib-tool: Fix test whether sed is GNU sed supporting --posix.
9402
9403 2007-01-20  Jim Meyering  <jim@meyering.net>
9404
9405         * lib/userspec.c (parse_with_separator): If a user or group string
9406         starts with "+", skip the corresponding name-to-ID look-up, since
9407         such a look-up must fail: user and group names may not include "+".
9408
9409 2007-01-19  Paul Eggert  <eggert@cs.ucla.edu>
9410
9411         * lib/poll.c: Include sys/time.h and time.h unconditionally,
9412         since we now assume the sys_time module.
9413         * m4/poll.m4 (gl_PREREQ_POLL): Don't require AC_HEADER_TIME or
9414         check for sys/time.h; no longer needed.
9415         * modules/poll (Depends-on): Depend on sys_time.
9416
9417 2007-01-18  Bruno Haible  <bruno@clisp.org>
9418
9419         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove test for <sys/time.h>.
9420         * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
9421
9422         * m4/tempname.m4 (gl_PREREQ_TEMPNAME): Remove tests for sys/time.h and
9423         gettimeofday.
9424
9425         * tests/test-gettimeofday.c: Include <time.h>.
9426         (dummy): Remove variable.
9427
9428         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Renamed from
9429         gl_HEADER_SYS_TIME_H.
9430         (gl_HEADER_SYS_TIME_H): New macro.
9431
9432         * lib/sys_time_.h: Test GETTIMEOFDAY_REPLACEMENT instead of
9433         HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
9434         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY,
9435         gl_FUNC_GETTIMEOFDAY_CLOBBER): Set GETTIMEOFDAY_REPLACEMENT instead of
9436         HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
9437         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H): Initialize
9438         GETTIMEOFDAY_REPLACEMENT instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE
9439         and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
9440         * modules/sys_time (sys/time.h): Substitute GETTIMEOFDAY_REPLACEMENT
9441         instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and
9442         GETTIMEOFDAY_CLOBBERS_LOCALTIME.
9443
9444         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Undo the
9445         last change; it caused a compilation error when cross-compiling to
9446         Cygwin.
9447
9448 2007-01-18  Jim Meyering  <jim@meyering.net>
9449
9450         Use "$(MKDIR_P) sys", not race-prone "test -d sys || mkdir sys".
9451         * modules/sys_stat (Makefile.am): Use "$(MKDIR_P) sys", rather
9452         than the race-prone "test -d sys || mkdir sys".
9453         (configure.ac): Use AC_PROG_MKDIR_P.
9454         * modules/sys_select: Likewise.
9455         * modules/sys_socket: Likewise.
9456         * modules/sys_time: Likewise.
9457
9458 2007-01-18  Eric Blake  <ebb9@byu.net>
9459
9460         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Also
9461         replace gettimeofday.
9462         * lib/gettimeofday.c (rpl_gettimeofday): Declare with replacement
9463         name, to avoid infinite recursion.
9464
9465 2007-01-17  Paul Eggert  <eggert@cs.ucla.edu>
9466
9467         * MODULES.html.sh (Support for systems lacking POSIX:2001): New
9468         module sys_time.
9469         * lib/gethrxtime.c: Include <sys/time.h>, since we can no longer
9470         assume timespec.h defines struct timeval.
9471         * lib/settime.c: Likewise.
9472         * lib/utimens.c: Likewise.
9473         * lib/gettime.c (gettime): Remove test against HAVE_GETTIMEOFDAY,
9474         since we now assume the gettimeofday module.
9475         * lib/tempname.c (__gen_tempname): Likewise.
9476         * lib/gettimeofday.h: Remove.
9477         * lib/gettimeofday.c: Include <sys/time.h> instead of "gettimeofday.h".
9478         Don't include <sys/types.h> and <stdlib.h>; shouldn't be needed.
9479         Include <time.h>, for 'time()'.
9480         (localtime_buffer_addr): Also use this workaround if
9481         TZSET_CLOBBERS_LOCALTIME.  Set to a dummy static variable by default,
9482         to simplify the uses.  All uses changed.
9483         (localtime, gmtime, tzset, gettimeofday): Reformat slightly so
9484         that #undef is inside {}, and 'const' follows type name consistently.
9485         (tzset): Define replacement only if TZSET_CLOBBERS_LOCALTIME.
9486         (gettimeofday): Do not use the maximum possible value for
9487         tv->tv_usec, since that might break usages other than ls.c.
9488         Instead, we'll leave ls.c alone.  This undoes today's patch
9489         by Bruno.  Add a compile-time warning for 1s-clock resolution;
9490         we've never observed the problem but might as well keep the
9491         canary.
9492         * lib/nanosleep.c: Include timespec.h first, for interface check.
9493         * lib/nanosleep.c: Include <sys/time.h> unconditionally, since we
9494         now assume the sys_time module.
9495         * lib/tempname.c: Likewise.
9496         * lib/timespec.h: Likewise.
9497         * lib/nanosleep.c: Don't worry about TIME_WITH_SYS_TIME; no longer
9498         needed.
9499         * lib/strftime.c: Likewise.
9500         * lib/timespec.h: Likewise.
9501         * lib/posixtm.c: Include posixtm.h first, for interface check.
9502         Don't worry about TM_IN_SYS_TIME; that's wayyy obsolete.
9503         * lib/posixtm.h: Include stdbool.h and time.h, for proper interface.
9504         * lib/strftime.c: Don't include <sys/types.h>; shouldn't be needed.
9505         * lib/sys_time_.h: New file.
9506         * lib/timespec.h (struct timespec): Use long int, not long.
9507         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
9508         (gl_FUNC_GETTIMEOFDAY_CLOBBER, gl_PREREQ_GETTIMEOFDAY):
9509         Remove obsolescent call to AC_HEADER_TIME.
9510         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
9511         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
9512         * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
9513         * m4/timespec.m4 (gl_TIMESPEC, gl_CHECK_TYPE_STRUCT_TIMESPEC):
9514         Likewise.
9515         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Likewise.
9516         * m4/utimbuf.m4 (gl_CHECK_TYPE_STRUCT_UTIMBUF): Likewise.
9517         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Move sys/time.h tests
9518         into the sys_time module.  Check for gettimeofday just once.
9519         Prefix our variables with gl_, not with ac_ or jm_.  Tighten test
9520         for gettimeofday signature to just check the signature.  Merely
9521         compile it, since linking doesn't test signature.  Improve test for
9522         whether gettimeofday.o is actually needed.
9523         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Renamed from
9524         AC_FUNC_GETTIMEOFDAY_CLOBBER.  All uses changed.  Use
9525         AC_RUN_IFELSE rather than AC_TRY_RUN.  If clobbering, set
9526         and define GETTIMEOFDAY_CLOBBERS_LOCALTIME.
9527         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Don't define
9528         GETTIMEOFDAY_CLOBBERS_LOCALTIME; that's gl_FUNC_GETTIMEOFDAY_CLOBBER's
9529         job.  Don't define tzset; that's gl_FUNC_TZSET_CLOBBER's job.
9530         * m4/mktime.m4 (AC_FUNC_MKTIME): Just include <time.h> rather
9531         than worrying about sys/time.h.
9532         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
9533         Don't bother worrying about TIME_WITH_SYS_TIME.
9534         * m4/stat-time.m4 (gl_STAT_TIME): Likewise.
9535         * m4/posixtm.m4 (gl_POSIXTM): Remove obsolescent call to AC_STRUCT_TM.
9536         * m4/sys_time_h.m4: New file.
9537         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Require gl_HEADER_SYS_TIME_H.
9538         Don't include sys/time.h.  Return from main rather than exiting.
9539         Define TZSET_CLOBBERS_LOCALTIME, for consistency with other names;
9540         all uses changed.
9541         * modules/gethrxtime (Depends-on): Add sys_time.
9542         * modules/gettime (Depends-on): Likewise.
9543         * modules/gettimeofday (Depends-on): Likewise.
9544         * modules/nanosleep (Depends-on): Likewise.
9545         * modules/settime (Depends-on): Likewise.
9546         * modules/tempname (Depends-on): Likewise.
9547         * modules/utimens (Depends-on): Likewise.
9548         * modules/gettimeofday (Files): Remove lib/gettimeofday.h.
9549         (Include:) Change back to <sys/time.h>.
9550         (Maintainer:) Add self.
9551         * modules/sys_time: New file.
9552         * modules/tempname (Depends-on): Add gettimeofday.
9553         * tests/test-gettimeofday.c: Include <sys/time.h>
9554         rather than gettimeofday.h.
9555
9556 2007-01-17  Bruno Haible  <bruno@clisp.org>
9557
9558         * gnulib-tool (func_get_license): Revert last patch. Instead, let
9559         the license default to GPL.
9560         (func_create_testdir): Don't complain if a module is LGPL and its
9561         tests module depends on GPLed modules.
9562
9563 2007-01-17  Bruno Haible  <bruno@clisp.org>
9564
9565         * lib/gettimeofday.c (gettimeofday): Add code for the case
9566         HAVE_GETTIMEOFDAY && !GETTIMEOFDAY_CLOBBERS_LOCALTIME. Use the
9567         maximum possible value for tv->tv_usec, rather than the minimum one.
9568
9569 2005-10-08  Martin Lambers  <marlam@marlam.de>
9570 2005-10-08  Paul Eggert  <eggert@cs.ucla.edu>
9571 2007-01-16  Bruno Haible  <bruno@clisp.org>
9572
9573         * modules/gettimeofday (Files): Add lib/gettimeofday.h.
9574         (configure.ac): Remove AC_FUNC_GETTIMEOFDAY_CLOBBER. Add
9575         gl_FUNC_GETTIMEOFDAY.
9576         (Include): Add gettimeofday.h.
9577         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): New macro.
9578         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't invoke gl_PREREQ_GETTIMEOFDAY.
9579         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Define
9580         GETTIMEOFDAY_CLOBBERS_LOCALTIME. Invoke gl_PREREQ_GETTIMEOFDAY here.
9581         (gl_PREREQ_GETTIMEOFDAY): Check for <sys/timeb.h> and _ftime.
9582         * lib/gettimeofday.h: New file.
9583         * lib/gettimeofday.c: Include <sys/timeb.h>.
9584         (localtime_buffer_addr, rpl_localtime, rpl_gmtime, rpl_tzset): Define
9585         only if GETTIMEOFDAY_CLOBBERS_LOCALTIME.
9586         (rpl_gettimeofday) [!HAVE_GETTIMEOFDAY]: Use _ftime() when available;
9587         fall back on time().
9588
9589         * tests/test-gettimeofday.c: New file.
9590         * modules/gettimeofday-tests: New file.
9591
9592 2007-01-16  Eric Blake  <ebb9@byu.net>
9593
9594         * modules/fnmatch (Depends-on): Depend on wchar.
9595         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Assume <wchar.h>.
9596         * m4/fnmatch.m4: Likewise.
9597         * modules/mbchar (Makefile.am): Assume <wchar.h>.
9598         * m4/mbchar.m4: Likewise.
9599         * modules/mbswidth (Depends-on): Depend on wchar.
9600         * lib/mbswidth.c: Assume <wchar.h>.
9601         * m4/mbswidth.m4: Likewise.
9602         * modules/quotearg (Depends-on): Depend on wchar.
9603         * lib/quotearg.c: Assume <wchar.h>.
9604         * m4/quotearg.m4: Likewise.
9605         * modules/regex (Depends-on): Depend on wchar.
9606         * lib/regex_internal.h: Assume <wchar.h>.
9607         * m4/regex.m4: Likewise.
9608         * modules/stdint (Depends-on): Depend on wchar.
9609         * lib/stdint_.h [!defined WCHAR_MIN]: Assume <wchar.h>.
9610         * m4/stdint.m4: Likewise.
9611         * tests/test-stdint.c [HAVE_WINT_T]: Likewise.
9612         * modules/strftime (Depends-on): Depend on wchar.
9613         * lib/strftime.c (DO_MULTIBYTE): Assume <wchar.h>.
9614         * modules/strtol (Depends-on): Depend on wchar.
9615         * lib/strtol.c: Assume <wchar.h>.
9616         * modules/wcwidth (Depends-on): Depend on wchar.
9617         * lib/wcwidth.h: Assume <wchar.h>.
9618         * m4/wcwidth.m4: Likewise.
9619
9620 2007-01-16  Bruno Haible  <bruno@clisp.org>
9621
9622         * modules/csharpexec-script: New, created from...
9623         * modules/csharpexec: ... this.
9624
9625 2007-01-16  Paolo Bonzini  <bonzini@gnu.org>
9626
9627         * modules/javaexec-script: New, created from...
9628         * modules/javaexec: ... this.
9629
9630 2007-01-16  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
9631
9632         * modules/poll (Dependencies): Add sys_select.
9633
9634 2007-01-15  Jim Meyering  <jim@meyering.net>
9635
9636         * m4/readutmp.m4 (gl_READUTMP): Work around AIX 4.3 struct-
9637         redefinition bug when using both <utmp.h> and <utmpx.h> headers.
9638         * lib/readutmp.h: Likewise.  Reported by Daniel Richard G. in
9639         <http://article.gmane.org/gmane.comp.gnu.core-utils.bugs/9415>.
9640
9641 2007-01-15  Bruno Haible  <bruno@clisp.org>
9642
9643         * modules/striconveh: New file.
9644         * lib/striconveh.h: New file.
9645         * lib/striconveh.c: New file.
9646         * MODULES.html.sh (Internationalization functions): Add striconveh.
9647
9648         * modules/striconveh-tests: New file.
9649         * tests/test-striconveh.c: New file.
9650
9651 2007-01-15  Bruno Haible  <bruno@clisp.org>
9652
9653         * lib/striconv.c (str_cd_iconv): Use the first algorithm if iconv is
9654         not from GNU libiconv or GNU libc.
9655
9656 2007-01-15  Bruno Haible  <bruno@clisp.org>
9657
9658         * doc/gnulib-intro.texi (Copyright): Explain the different license
9659         terms for module descriptions, autoconf macros, tests, documentation.
9660
9661 2007-01-14  Bruno Haible  <bruno@clisp.org>
9662
9663         * modules/striconv-tests: New file.
9664         * tests/test-striconv.c: New file.
9665
9666 2007-01-14  Bruno Haible  <bruno@clisp.org>
9667
9668         * modules/iconv-tests: New file.
9669         * tests/test-iconv.c: New file.
9670
9671 2007-01-14  Bruno Haible  <bruno@clisp.org>
9672
9673         * gnulib-tool (func_get_license): For test modules, use the license of
9674         the main module.
9675
9676 2007-01-14  Bruno Haible  <bruno@clisp.org>
9677
9678         * modules/iconv (Include): Clarify that <iconv.h> can only be included
9679         if iconv is found to exist.
9680
9681 2007-01-14  Bruno Haible  <bruno@clisp.org>
9682
9683         * modules/c-ctype-tests: New file.
9684         * tests/test-c-ctype.c: New file.
9685
9686 2007-01-14  Bruno Haible  <bruno@clisp.org>
9687
9688         * modules/binary-io-tests: New file.
9689         * tests/test-binary-io.sh: New file.
9690         * tests/test-binary-io.c: New file.
9691
9692 2007-01-14  Bruno Haible  <bruno@clisp.org>
9693
9694         * modules/array-oset-tests: New file.
9695         * tests/test-array_oset.c: New file.
9696
9697 2007-01-14  Bruno Haible  <bruno@clisp.org>
9698
9699         * modules/array-list-tests: New file.
9700         * tests/test-array_list.c: New file.
9701
9702 2007-01-14  Bruno Haible  <bruno@clisp.org>
9703
9704         * gnulib-tool (func_create_testdir): Don't unnecessarily run configure
9705         and make.
9706         Reported by Simon Josefsson in
9707         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00139.html>
9708
9709 2007-01-14  Bruno Haible  <bruno@clisp.org>
9710
9711         * modules/allocsa-tests: New file.
9712         * tests/test-allocsa.c: New file.
9713
9714 2007-01-14  Bruno Haible  <bruno@clisp.org>
9715
9716         * modules/fchdir (Depends-on): Add absolute-header.
9717         * modules/unistd (Depends-on): Likewise.
9718
9719 2006-12-30  Bruno Haible  <bruno@clisp.org>
9720
9721         * modules/fchdir: New file.
9722         * modules/unistd (Files): Add lib/unistd_.h.
9723         (Makefile.am): Generate unistd.h from unistd_.h.
9724         * lib/fchdir.c: New file.
9725         * lib/dirent_.h: New file.
9726         * lib/unistd_.h: New file.
9727         * lib/fcntl_.h (open) [FCHDIR_REPLACEMENT]: New replacement.
9728         * m4/fchdir.m4: New file.
9729         * m4/unistd_h.m4 (gl_PREREQ_UNISTD): New macro.
9730         (gl_HEADER_UNISTD): Invoke it.
9731         * lib/dup-safer.c (dup_safer) [FCHDIR_REPLACEMENT]: Use the dup
9732         function.
9733         * lib/backupfile.c (opendir, closedir): Undefine.
9734         * lib/chown.c (open, close): Undefine.
9735         * lib/clean-temp.c (open, close): Undefine.
9736         * lib/copy-file.c (open, close): Undefine.
9737         * lib/execute.c (open, close): Undefine.
9738         * lib/fsusage.c (open, close): Undefine.
9739         * lib/gc-gnulib.c (open, close): Undefine.
9740         * lib/getcwd.c (opendir, closedir): Undefine.
9741         * lib/glob.c (opendir, closedir): Undefine.
9742         * lib/javacomp.c (open, close): Undefine.
9743         * lib/mountlist.c (open, close, opendir, closedir): Undefine.
9744         * lib/openat-proc.c (open, close): Undefine.
9745         * lib/pagealign_alloc.c (open, close): Undefine.
9746         * lib/pipe.c (open, close): Undefine.
9747         * lib/progreloc.c (open, close): Undefine.
9748         * lib/savedir.c (opendir, closedir): Undefine.
9749         * lib/utime.c (open, close): Undefine.
9750         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add fchdir.
9751
9752 2007-01-10  Bruno Haible  <bruno@clisp.org>
9753
9754         * lib/striconv.c (mem_cd_iconv): Align the temporary buffer.
9755
9756 2007-01-12  Eric Blake  <ebb9@byu.net>
9757
9758         Provide a robust <wchar.h>.  Further simplifications are now
9759         possible in other modules, but not included here.
9760         * modules/wchar: New module.
9761         * m4/wchar.m4: New file.
9762         * lib/wchar_.h: Likewise.
9763         * modules/mbchar (Depends-on): Depend on wchar, as the first use
9764         of the new module.
9765         * MODULES.html.sh (Extended multibyte and wide character utilities):
9766         New section.
9767
9768 2007-01-12  Paul Eggert  <eggert@cs.ucla.edu>
9769
9770         * lib/xreadlink.c (SYMLINK_MAX) [!defined SYMLINK_MAX]: Define
9771         to a reasonable default for memory allocation.
9772         (xreadlink): Don't allocate a huge buffer, to work around a buggy
9773         file system that reports garbage st_size values for symlinks.
9774         Problem reported by Liyang Hu.
9775
9776 2007-01-11  Simon Josefsson  <simon@josefsson.org>
9777
9778         * gnulib-tool (func_all_modules): Exclude all .* files (e.g.,
9779         Emacs .#* auto-save files).
9780
9781 2007-01-11  Bruno Haible  <bruno@clisp.org>
9782
9783         * gnulib-tool (func_all_modules): Exclude all files inside the CVS
9784         directory.
9785
9786 2007-01-10  Paul Eggert  <eggert@cs.ucla.edu>
9787
9788         Use @...@ consistently in lib/wctype_.h.
9789         * lib/wctype_.h [HAVE_WINT_T]: Go back to using @...@, but rely
9790         on it being set to 1 or 0.
9791         * m4/wctype.m4 (gl_WCTYPE_H): Set HAVE_WINT_T to 1 or 0, and
9792         go back to AC_SUBSTing it.
9793         * modules/wctype (Makefile.am): Undo previous change.
9794
9795 2007-01-10  Eric Blake  <ebb9@byu.net>
9796
9797         * lib/wctype_.h [HAVE_WINT_T]: Rely on AC_DEFINE.
9798         * m4/wctype.m4 (gl_WCTYPE_H): No need to AC_SUBST(HAVE_WINT_T).
9799         * modules/wctype (Makefile.am): Likewise.
9800         Reported by Chris McGuire.
9801
9802 2007-01-10  Jim Meyering  <jim@meyering.net>
9803
9804         fts.c: a small readability/maintainability improvement
9805         * lib/fts.c (fts_read): Make this code slightly more readable and
9806         maintainable by hoisting the "sp->fts_cur = p" assignments to
9807         immediately follow the statements that set P.  Derived from
9808         the patch by Miloslav Trmac in http://bugzilla.redhat.com/222089.
9809
9810 2007-01-10  Eric Blake  <ebb9@byu.net>
9811
9812         * lib/wctype_.h [HAVE_WINT_T]: Include <stddef.h> before
9813         <wchar.h>, to work around BSDI bug in BSD/OS 4.0.1.
9814         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
9815         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
9816         Reported by Chris McGuire.
9817
9818 2007-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
9819
9820         * gnulib-tool (func_all_modules): Use POSIX conforming escaping
9821         in sed script.
9822
9823 2007-01-09  Bruno Haible  <bruno@clisp.org>
9824
9825         * MODULES.html.sh: Accept options --cvs-urls, --git-urls.
9826         (repo_url_prefix, repo_url_suffix, repo_url_suffix_repl): New
9827         variables.
9828         (func_module): Use them.
9829
9830 2007-01-09  Bruno Haible  <bruno@clisp.org>
9831
9832         * modules/unistr/base: New file.
9833         * lib/unistr.h: New file.
9834
9835         * modules/unistr/u8-to-u16: New file.
9836         * lib/unistr/u8-to-u16.c: New file.
9837
9838         * modules/unistr/u8-to-u32: New file.
9839         * lib/unistr/u8-to-u32.c: New file.
9840
9841         * modules/unistr/u16-to-u8: New file.
9842         * lib/unistr/u16-to-u8.c: New file.
9843
9844         * modules/unistr/u16-to-u32: New file.
9845         * lib/unistr/u16-to-u32.c: New file.
9846
9847         * modules/unistr/u32-to-u8: New file.
9848         * lib/unistr/u32-to-u8.c: New file.
9849
9850         * modules/unistr/u32-to-u16: New file.
9851         * lib/unistr/u32-to-u16.c: New file.
9852
9853         * modules/unistr/u8-check: New file.
9854         * modules/unistr/u16-check: New file.
9855         * modules/unistr/u32-check: New file.
9856         * lib/unistr/u8-check.c: New file.
9857         * lib/unistr/u16-check.c: New file.
9858         * lib/unistr/u32-check.c: New file.
9859
9860         * modules/unistr/u8-chr: New file.
9861         * modules/unistr/u16-chr: New file.
9862         * modules/unistr/u32-chr: New file.
9863         * lib/unistr/u8-chr.c: New file.
9864         * lib/unistr/u16-chr.c: New file.
9865         * lib/unistr/u32-chr.c: New file.
9866
9867         * modules/unistr/u8-cmp: New file.
9868         * modules/unistr/u16-cmp: New file.
9869         * modules/unistr/u32-cmp: New file.
9870         * lib/unistr/u8-cmp.c: New file.
9871         * lib/unistr/u16-cmp.c: New file.
9872         * lib/unistr/u32-cmp.c: New file.
9873
9874         * modules/unistr/u8-cpy: New file.
9875         * modules/unistr/u16-cpy: New file.
9876         * modules/unistr/u32-cpy: New file.
9877         * lib/unistr/u8-cpy.c: New file.
9878         * lib/unistr/u16-cpy.c: New file.
9879         * lib/unistr/u32-cpy.c: New file.
9880         * lib/unistr/u-cpy.h: New file.
9881
9882         * modules/unistr/u8-cpy-alloc: New file.
9883         * modules/unistr/u16-cpy-alloc: New file.
9884         * modules/unistr/u32-cpy-alloc: New file.
9885         * lib/unistr/u8-cpy-alloc.c: New file.
9886         * lib/unistr/u16-cpy-alloc.c: New file.
9887         * lib/unistr/u32-cpy-alloc.c: New file.
9888         * lib/unistr/u-cpy-alloc.h: New file.
9889
9890         * modules/unistr/u8-endswith: New file.
9891         * modules/unistr/u16-endswith: New file.
9892         * modules/unistr/u32-endswith: New file.
9893         * lib/unistr/u8-endswith.c: New file.
9894         * lib/unistr/u16-endswith.c: New file.
9895         * lib/unistr/u32-endswith.c: New file.
9896         * lib/unistr/u-endswith.h: New file.
9897
9898         * modules/unistr/u8-mblen: New file.
9899         * modules/unistr/u16-mblen: New file.
9900         * modules/unistr/u32-mblen: New file.
9901         * lib/unistr/u8-mblen.c: New file.
9902         * lib/unistr/u16-mblen.c: New file.
9903         * lib/unistr/u32-mblen.c: New file.
9904
9905         * modules/unistr/u8-mbtouc: New file.
9906         * modules/unistr/u16-mbtouc: New file.
9907         * modules/unistr/u32-mbtouc: New file.
9908         * lib/unistr/u8-mbtouc.c: New file.
9909         * lib/unistr/u16-mbtouc.c: New file.
9910         * lib/unistr/u32-mbtouc.c: New file.
9911
9912         * modules/unistr/u8-mbtouc-safe: New file.
9913         * modules/unistr/u16-mbtouc-safe: New file.
9914         * modules/unistr/u32-mbtouc-safe: New file.
9915         * lib/unistr/u8-mbtouc-safe.c: New file.
9916         * lib/unistr/u16-mbtouc-safe.c: New file.
9917         * lib/unistr/u32-mbtouc-safe.c: New file.
9918
9919         * modules/unistr/u8-move: New file.
9920         * modules/unistr/u16-move: New file.
9921         * modules/unistr/u32-move: New file.
9922         * lib/unistr/u8-move.c: New file.
9923         * lib/unistr/u16-move.c: New file.
9924         * lib/unistr/u32-move.c: New file.
9925         * lib/unistr/u-move.h: New file.
9926
9927         * modules/unistr/u8-next: New file.
9928         * modules/unistr/u16-next: New file.
9929         * modules/unistr/u32-next: New file.
9930         * lib/unistr/u8-next.c: New file.
9931         * lib/unistr/u16-next.c: New file.
9932         * lib/unistr/u32-next.c: New file.
9933
9934         * modules/unistr/u8-prev: New file.
9935         * modules/unistr/u16-prev: New file.
9936         * modules/unistr/u32-prev: New file.
9937         * lib/unistr/u8-prev.c: New file.
9938         * lib/unistr/u16-prev.c: New file.
9939         * lib/unistr/u32-prev.c: New file.
9940
9941         * modules/unistr/u8-set: New file.
9942         * modules/unistr/u16-set: New file.
9943         * modules/unistr/u32-set: New file.
9944         * lib/unistr/u8-set.c: New file.
9945         * lib/unistr/u16-set.c: New file.
9946         * lib/unistr/u32-set.c: New file.
9947         * lib/unistr/u-set.h: New file.
9948
9949         * modules/unistr/u8-startswith: New file.
9950         * modules/unistr/u16-startswith: New file.
9951         * modules/unistr/u32-startswith: New file.
9952         * lib/unistr/u8-startswith.c: New file.
9953         * lib/unistr/u16-startswith.c: New file.
9954         * lib/unistr/u32-startswith.c: New file.
9955         * lib/unistr/u-startswith.h: New file.
9956
9957         * modules/unistr/u8-stpcpy: New file.
9958         * modules/unistr/u16-stpcpy: New file.
9959         * modules/unistr/u32-stpcpy: New file.
9960         * lib/unistr/u8-stpcpy.c: New file.
9961         * lib/unistr/u16-stpcpy.c: New file.
9962         * lib/unistr/u32-stpcpy.c: New file.
9963         * lib/unistr/u-stpcpy.h: New file.
9964
9965         * modules/unistr/u8-stpncpy: New file.
9966         * modules/unistr/u16-stpncpy: New file.
9967         * modules/unistr/u32-stpncpy: New file.
9968         * lib/unistr/u8-stpncpy.c: New file.
9969         * lib/unistr/u16-stpncpy.c: New file.
9970         * lib/unistr/u32-stpncpy.c: New file.
9971         * lib/unistr/u-stpncpy.h: New file.
9972
9973         * modules/unistr/u8-strcat: New file.
9974         * modules/unistr/u16-strcat: New file.
9975         * modules/unistr/u32-strcat: New file.
9976         * lib/unistr/u8-strcat.c: New file.
9977         * lib/unistr/u16-strcat.c: New file.
9978         * lib/unistr/u32-strcat.c: New file.
9979         * lib/unistr/u-strcat.h: New file.
9980
9981         * modules/unistr/u8-strchr: New file.
9982         * modules/unistr/u16-strchr: New file.
9983         * modules/unistr/u32-strchr: New file.
9984         * lib/unistr/u8-strchr.c: New file.
9985         * lib/unistr/u16-strchr.c: New file.
9986         * lib/unistr/u32-strchr.c: New file.
9987
9988         * modules/unistr/u8-strcmp: New file.
9989         * modules/unistr/u16-strcmp: New file.
9990         * modules/unistr/u32-strcmp: New file.
9991         * lib/unistr/u8-strcmp.c: New file.
9992         * lib/unistr/u16-strcmp.c: New file.
9993         * lib/unistr/u32-strcmp.c: New file.
9994
9995         * modules/unistr/u8-strcpy: New file.
9996         * modules/unistr/u16-strcpy: New file.
9997         * modules/unistr/u32-strcpy: New file.
9998         * lib/unistr/u8-strcpy.c: New file.
9999         * lib/unistr/u16-strcpy.c: New file.
10000         * lib/unistr/u32-strcpy.c: New file.
10001         * lib/unistr/u-strcpy.h: New file.
10002
10003         * modules/unistr/u8-strcspn: New file.
10004         * modules/unistr/u16-strcspn: New file.
10005         * modules/unistr/u32-strcspn: New file.
10006         * lib/unistr/u8-strcspn.c: New file.
10007         * lib/unistr/u16-strcspn.c: New file.
10008         * lib/unistr/u32-strcspn.c: New file.
10009         * lib/unistr/u-strcspn.h: New file.
10010
10011         * modules/unistr/u8-strdup: New file.
10012         * modules/unistr/u16-strdup: New file.
10013         * modules/unistr/u32-strdup: New file.
10014         * lib/unistr/u8-strdup.c: New file.
10015         * lib/unistr/u16-strdup.c: New file.
10016         * lib/unistr/u32-strdup.c: New file.
10017         * lib/unistr/u-strdup.h: New file.
10018
10019         * modules/unistr/u8-strlen: New file.
10020         * modules/unistr/u16-strlen: New file.
10021         * modules/unistr/u32-strlen: New file.
10022         * lib/unistr/u8-strlen.c: New file.
10023         * lib/unistr/u16-strlen.c: New file.
10024         * lib/unistr/u32-strlen.c: New file.
10025         * lib/unistr/u-strlen.h: New file.
10026
10027         * modules/unistr/u8-strmblen: New file.
10028         * modules/unistr/u16-strmblen: New file.
10029         * modules/unistr/u32-strmblen: New file.
10030         * lib/unistr/u8-strmblen.c: New file.
10031         * lib/unistr/u16-strmblen.c: New file.
10032         * lib/unistr/u32-strmblen.c: New file.
10033
10034         * modules/unistr/u8-strmbtouc: New file.
10035         * modules/unistr/u16-strmbtouc: New file.
10036         * modules/unistr/u32-strmbtouc: New file.
10037         * lib/unistr/u8-strmbtouc.c: New file.
10038         * lib/unistr/u16-strmbtouc.c: New file.
10039         * lib/unistr/u32-strmbtouc.c: New file.
10040
10041         * modules/unistr/u8-strncat: New file.
10042         * modules/unistr/u16-strncat: New file.
10043         * modules/unistr/u32-strncat: New file.
10044         * lib/unistr/u8-strncat.c: New file.
10045         * lib/unistr/u16-strncat.c: New file.
10046         * lib/unistr/u32-strncat.c: New file.
10047         * lib/unistr/u-strncat.h: New file.
10048
10049         * modules/unistr/u8-strncmp: New file.
10050         * modules/unistr/u16-strncmp: New file.
10051         * modules/unistr/u32-strncmp: New file.
10052         * lib/unistr/u8-strncmp.c: New file.
10053         * lib/unistr/u16-strncmp.c: New file.
10054         * lib/unistr/u32-strncmp.c: New file.
10055
10056         * modules/unistr/u8-strncpy: New file.
10057         * modules/unistr/u16-strncpy: New file.
10058         * modules/unistr/u32-strncpy: New file.
10059         * lib/unistr/u8-strncpy.c: New file.
10060         * lib/unistr/u16-strncpy.c: New file.
10061         * lib/unistr/u32-strncpy.c: New file.
10062         * lib/unistr/u-strncpy.h: New file.
10063
10064         * modules/unistr/u8-strnlen: New file.
10065         * modules/unistr/u16-strnlen: New file.
10066         * modules/unistr/u32-strnlen: New file.
10067         * lib/unistr/u8-strnlen.c: New file.
10068         * lib/unistr/u16-strnlen.c: New file.
10069         * lib/unistr/u32-strnlen.c: New file.
10070         * lib/unistr/u-strnlen.h: New file.
10071
10072         * modules/unistr/u8-strpbrk: New file.
10073         * modules/unistr/u16-strpbrk: New file.
10074         * modules/unistr/u32-strpbrk: New file.
10075         * lib/unistr/u8-strpbrk.c: New file.
10076         * lib/unistr/u16-strpbrk.c: New file.
10077         * lib/unistr/u32-strpbrk.c: New file.
10078         * lib/unistr/u-strpbrk.h: New file.
10079
10080         * modules/unistr/u8-strrchr: New file.
10081         * modules/unistr/u16-strrchr: New file.
10082         * modules/unistr/u32-strrchr: New file.
10083         * lib/unistr/u8-strrchr.c: New file.
10084         * lib/unistr/u16-strrchr.c: New file.
10085         * lib/unistr/u32-strrchr.c: New file.
10086
10087         * modules/unistr/u8-strspn: New file.
10088         * modules/unistr/u16-strspn: New file.
10089         * modules/unistr/u32-strspn: New file.
10090         * lib/unistr/u8-strspn.c: New file.
10091         * lib/unistr/u16-strspn.c: New file.
10092         * lib/unistr/u32-strspn.c: New file.
10093         * lib/unistr/u-strspn.h: New file.
10094
10095         * modules/unistr/u8-strstr: New file.
10096         * modules/unistr/u16-strstr: New file.
10097         * modules/unistr/u32-strstr: New file.
10098         * lib/unistr/u8-strstr.c: New file.
10099         * lib/unistr/u16-strstr.c: New file.
10100         * lib/unistr/u32-strstr.c: New file.
10101         * lib/unistr/u-strstr.h: New file.
10102
10103         * modules/unistr/u8-strtok: New file.
10104         * modules/unistr/u16-strtok: New file.
10105         * modules/unistr/u32-strtok: New file.
10106         * lib/unistr/u8-strtok.c: New file.
10107         * lib/unistr/u16-strtok.c: New file.
10108         * lib/unistr/u32-strtok.c: New file.
10109         * lib/unistr/u-strtok.h: New file.
10110
10111         * modules/unistr/u8-uctomb: New file.
10112         * modules/unistr/u16-uctomb: New file.
10113         * modules/unistr/u32-uctomb: New file.
10114         * lib/unistr/u8-uctomb.c: New file.
10115         * lib/unistr/u16-uctomb.c: New file.
10116         * lib/unistr/u32-uctomb.c: New file.
10117
10118         * MODULES.html.sh (Unicode string functions): Add the new modules.
10119
10120 2007-01-08  Bruno Haible  <bruno@clisp.org>
10121
10122         * gnulib-tool (func_all_modules): Use find, not ls, to traverse the
10123         modules directory. Filter out CVS, ChangeLog, COPYING, README also from
10124         subdirectories.
10125
10126 2007-01-08  Karl Berry  <karl@gnu.org>
10127
10128         * doc/error.texi: mention that main() fns must set program_name
10129         when progname is used.
10130
10131 2007-01-08  Paul Eggert  <eggert@cs.ucla.edu>
10132
10133         * m4/wctype.m4 (gl_WCTYPE_H): Compute ABSOLUTE_WCTYPE_H even if
10134         WCTYPE_H is empty, for the benefit of builds from non-distclean
10135         directories.  Problem reported by Eric Blake in
10136         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00157.html>.
10137
10138 2007-01-08  Bruno Haible  <bruno@clisp.org>
10139
10140         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Remove
10141         PROVIDE_CANONICALIZE_FILENAME_MODE macro definition.
10142         * lib/canonicalize.h: Test GNULIB_CANONICALIZE instead of
10143         PROVIDE_CANONICALIZE_FILENAME_MODE.
10144         * modules/canonicalize (configure.ac): Use gl_MODULE_INDICATOR.
10145
10146 2007-01-08  Bruno Haible  <bruno@clisp.org>
10147
10148         * m4/fts.m4 (gl_FUNC_FTS_LGPL): Remove _LGPL_PACKAGE macro definition.
10149         * lib/fts_.h (_LGPL_PACKAGE): Remove macro.
10150         Use !GNULIB_FTS instead of _LGPL_PACKAGE.
10151         * lib/fts.c: Likewise.
10152         * modules/fts (configure.ac): Use gl_MODULE_INDICATOR.
10153
10154 2006-12-25  Bruno Haible  <bruno@clisp.org>
10155
10156         * modules/utf8-ucs4-safe: New file.
10157         * lib/utf8-ucs4-safe.h: New file.
10158         * lib/unistr/utf8-ucs4-safe.c: New file.
10159
10160         * modules/utf16-ucs4-safe: New file.
10161         * lib/utf16-ucs4-safe.h: New file.
10162         * lib/unistr/utf16-ucs4-safe.c: New file.
10163
10164         * MODULES.html.sh (Unicode string functions): Add the new modules.
10165
10166 2007-01-08  Bruno Haible  <bruno@clisp.org>
10167
10168         * modules/utf8-ucs4 (Files, lib_SOURCES): Add unistr/utf8-ucs4.c.
10169         (Depends-on): Add unitypes.
10170         * lib/utf8-ucs4.h: Add double-inclusion guard. Include unitypes.h.
10171         (u8_mbtouc_aux): Move out to separate file.
10172         (u8_mbtouc): Use ucs4_t, uint8_t types.
10173         * lib/unistr/utf8-ucs4.c: New file.
10174
10175         * modules/utf16-ucs4 (Files, lib_SOURCES): Add unistr/utf16-ucs4.c.
10176         (Depends-on): Add unitypes.
10177         * lib/utf16-ucs4.h: Add double-inclusion guard. Include unitypes.h.
10178         (u16_mbtouc_aux): Move out to separate file.
10179         (u16_mbtouc): Use ucs4_t, uint16_t types.
10180         * lib/unistr/utf16-ucs4.c: New file.
10181
10182         * modules/ucs4-utf8 (Files, lib_SOURCES): Add unistr/ucs4-utf8.c.
10183         (Depends-on): Add unitypes.
10184         * lib/ucs4-utf8.h: Add double-inclusion guard. Include unitypes.h.
10185         (u8_uctomb_aux): Move out to separate file.
10186         (u8_uctomb): Use ucs4_t, uint8_t types.
10187         * lib/unistr/ucs4-utf8.c: New file.
10188
10189         * modules/ucs4-utf16 (Files, lib_SOURCES): Add unistr/ucs4-utf16.c.
10190         (Depends-on): Add unitypes.
10191         * lib/ucs4-utf16.h: Add double-inclusion guard. Include unitypes.h.
10192         (u16_uctomb_aux): Move out to separate file.
10193         (u16_uctomb): Use ucs4_t, uint16_t types.
10194         * lib/unistr/ucs4-utf16.c: New file.
10195
10196 2006-12-25  Bruno Haible  <bruno@clisp.org>
10197
10198         * modules/unitypes: New file.
10199         * lib/unitypes.h: New file.
10200         * MODULES.html.sh (func_all_modules): New section "Unicode string
10201         functions". Move ucs4-utf8, ucs4-utf16, utf8-ucs4, utf16-ucs4 to
10202         this section. Add unitypes.
10203
10204 2007-01-08  Bruno Haible  <bruno@clisp.org>
10205
10206         Avoid variable names that conflict with those from libtool.
10207         * m4/lib-link.m4 (AC_LIB_RPATH, AC_LIB_LINKFLAGS_BODY,
10208         AC_LIB_LINKFLAGS_FROM_LIBS): Rename libext to acl_libext,
10209         shlibext to acl_shlibext, libname_spec to acl_libname_spec,
10210         library_names_spec to acl_library_names_spec, hardcode_* to
10211         acl_hardcode_*.
10212         Reported by Ralf Wildenhues.
10213
10214 2007-01-08  Bruno Haible  <bruno@clisp.org>
10215
10216         * m4/gc-arcfour.m4 (gl_GC_ARCFOUR): Remove GC_USE_ARCFOUR macro
10217         definition.
10218         * m4/gc-arctwo.m4 (gl_GC_ARCTWO): Remove GC_USE_ARCTWO macro
10219         definition.
10220         * m4/gc-des.m4 (gl_GC_DES): Remove GC_USE_DES macro definition.
10221         * m4/gc-hmac-md5.m4 (gl_GC_HMAC_MD5): Remove GC_USE_HMAC_MD5 macro
10222         definition.
10223         * m4/gc-hmac-sha1.m4 (gl_GC_HMAC_SHA1): Remove GC_USE_HMAC_SHA1 macro
10224         definition.
10225         * m4/gc-md2.m4 (gl_GC_MD2): Remove GC_USE_MD2 macro definition.
10226         * m4/gc-md4.m4 (gl_GC_MD4): Remove GC_USE_MD4 macro definition.
10227         * m4/gc-md5.m4 (gl_GC_MD5): Remove GC_USE_MD5 macro definition.
10228         * m4/gc-random.m4 (gl_GC_RANDOM): Remove GC_USE_RANDOM macro
10229         definition.
10230         * m4/gc-rijndael.m4 (gl_GC_RIJNDAEL): Remove GC_USE_RIJNDAEL macro
10231         definition.
10232         * m4/gc-sha1.m4 (gl_GC_SHA1): Remove GC_USE_SHA1 macro definition.
10233         * lib/gc-gnulib.c: Use GNULIB_GC_<algorithm> instead of
10234         GC_USE_<algorithm>.
10235         * lib/gc-libgcrypt.c: Likewise.
10236         * modules/gc-arcfour (configure.ac): Use gl_MODULE_INDICATOR.
10237         * modules/gc-arctwo (configure.ac): Likewise.
10238         * modules/gc-des (configure.ac): Likewise.
10239         * modules/gc-hmac-md5 (configure.ac): Likewise.
10240         * modules/gc-hmac-sha1 (configure.ac): Likewise.
10241         * modules/gc-md2 (configure.ac): Likewise.
10242         * modules/gc-md4 (configure.ac): Likewise.
10243         * modules/gc-md5 (configure.ac): Likewise.
10244         * modules/gc-random (configure.ac): Likewise.
10245         * modules/gc-rijndael (configure.ac): Likewise.
10246         * modules/gc-sha1 (configure.ac): Likewise.
10247
10248 2007-01-08  Bruno Haible  <bruno@clisp.org>
10249
10250         * m4/close-stream.m4 (gl_CLOSE_STREAM): Remove GNULIB_CLOSE_STREAM
10251         macro definition.
10252         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Remove GNULIB_FCNTL_SAFER macro
10253         definition.
10254         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Remove GNULIB_FOPEN_SAFER macro
10255         definition.
10256         * modules/close-stream (configure.ac): Invoke gl_MODULE_INDICATOR.
10257         * modules/fcntl-safer (configure.ac): Likewise.
10258         * modules/fopen-safer (configure.ac): Likewise.
10259         * modules/fwriteerror (configure.ac): Likewise. Remove explicit
10260         GNULIB_FWRITEERROR macro definition.
10261
10262 2007-01-08  Bruno Haible  <bruno@clisp.org>
10263
10264         * m4/gnulib-common.m4: New file.
10265         * gnulib-tool (func_get_autoconf_snippet): Undo last change.
10266         (func_get_filelist): Add m4/gnulib-common.m4.
10267
10268 2007-01-08  Bruno Haible  <bruno@clisp.org>
10269
10270         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Simplify the sorting
10271         command.
10272
10273 2007-01-08  Jim Meyering  <jim@meyering.net>
10274
10275         Use a more robust test for a "can't happen" condition.
10276         * lib/fts.c (fts_read): Revert the change of 2006-11-22, since it
10277         narrowed the st_size value.  Presuming the "can't happen" condition
10278         is true, that narrowing could conceivably convert an invalid st_size
10279         value into a valid one.  Instead, use a change based on Matthew
10280         Woehlke's original patch.
10281
10282         Slight readability improvement: use an assert-like macro
10283         in place of literal "abort ()" uses.
10284         * lib/fts.c (fts_assert): Define.
10285         (fts_set_stat_required, cwd_advance_fd, fts_read, fd_ring_check):
10286         Use this macro instead of a bare 'abort'.
10287
10288 2007-01-05  Paul Eggert  <eggert@cs.ucla.edu>
10289
10290         Don't worry about using IRIX 5.3's wctype.h broken definitions;
10291         simply work around them.
10292         * lib/wctype_.h: Remove test for HAVE_WCTYPE_CTMP_BUG.
10293         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph, iswlower):
10294         (iswprint, iswpunct, iswspace, iswupper, iswxdigit): Undef before
10295         declaring.
10296         Don't bother to define as macros, since the standard doesn't require it.
10297         * m4/wctype.m4 (WCTYPE_H, ABSOLUTE_WCTYPE_H): Simplify, since we no
10298         longer worry about IRIX 5.3.
10299         (HAVE_WCTYPE_CTMP_BUG): Remove.
10300
10301 2007-01-04  Paul Eggert  <eggert@cs.ucla.edu>
10302
10303         * lib/wctype_.h (_ctmp_) [HAVE_WCTYPE_CTMP_BUG]: Now of type wchar_t,
10304         not wint_t.  Also, include <ctype.h>, to fix another IRIX bug.
10305         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
10306         Problems reported by Georg Schwarz for IRIX 5.3.
10307
10308         * gnulib-tool (autoconf_minversion): Take the maximum version number
10309         found, not the minimum.  Problem reported by James Youngman.
10310
10311 2007-01-03  Karl Berry  <karl@gnu.org>
10312
10313         * doc/error.texi: new file, explaining interaction with progname.
10314         * doc/gnulib.texi: include it.  Update copyright.
10315
10316 2007-01-03  Simon Josefsson  <simon@josefsson.org>
10317
10318         * gnulib-tool (func_create_testdir): Run AC_CANONICAL_BUILD and
10319         AC_CANONICAL_HOST, to improve autobuild outputs.
10320
10321 2007-01-03  Paolo Bonzini  <bonzini@gnu.org>
10322             Yoann Vandoorselaere <yoann.v@prelude-ids.com>
10323
10324         * lib/poll.c (poll): Use recv on Mac OS X to distinguish connected
10325         sockets, server sockets, and other file descriptors.  Count errors
10326         to compute the return value.  Reorder the code a bit to be easier
10327         to follow.  Don't set event bits that were not requested (except
10328         POLLERR and POLLHUP).
10329
10330 2007-01-01  Bruno Haible  <bruno@clisp.org>
10331
10332         * modules/lchmod (Include): Require lchmod.h, not lchown.h.
10333
10334 2007-01-03  Jim Meyering  <jim@meyering.net>
10335
10336         * modules/fts-lgpl (Depends-on): Add i-ring.  Reported by Bruno Haible.
10337
10338 2007-01-02  Bruno Haible  <bruno@clisp.org>
10339
10340         * modules/settime (Include): Require timespec.h.
10341         * modules/nanosleep (Include): Likewise.
10342
10343 2007-01-01  Bruno Haible  <bruno@clisp.org>
10344
10345         * gnulib-tool (func_emit_copyright_notice): Bump year.
10346         (func_get_autoconf_snippet): Emit a GNULIB_<modulename> macro.
10347
10348 2007-01-01  Bruno Haible  <bruno@clisp.org>
10349
10350         Improve support for OpenBSD.
10351         * build-aux/config.rpath (libname_spec): Export.
10352         (library_names_spec): New variable. Export.
10353         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Extract libname_spec and
10354         library_names_spec from the config.rpath output. Locate shared library
10355         through the name pattern in library_names_spec.
10356
10357 2007-01-01  Eric Blake  <ebb9@byu.net>
10358
10359         * lib/version-etc.c (COPYRIGHT_YEAR): Bump for new year.
10360
10361 2006-12-30  Paul Eggert  <eggert@cs.ucla.edu>
10362
10363         * gnulib-tool (SORT): Remove, since we no longer assume GNU sort.
10364         Rewrite so as not to assume GNU sort or "tail -1".  Also, don't
10365         assume the C locale, and avoid an "eval" that could cause trouble.
10366         Problem with SORT reported by Bob Proulx.
10367
10368         * lib/getpagesize.h (getpagesize) [defined __amigaos4__]:
10369         Define.  Trivial patch from Henning Nielsen Lund, originally
10370         sent to bug-grep@gnu.org today.
10371
10372 2006-12-29  Paul Eggert  <eggert@cs.ucla.edu>
10373
10374         * lib/acl.h: Include sys/types.h and sys/stat.h, for mode_t and
10375         struct stat.  Problem reported by Henning Nielsen Lund.
10376         * lib/acl.c: Include acl.h first, to check interface.  Don't
10377         bother to include sys/types.h and sys/stat.h again.
10378
10379 2006-12-28  Paul Eggert  <eggert@cs.ucla.edu>
10380
10381         Import the following change from libc; problem reported by
10382         Sven Verdoolaege.
10383
10384         2005-10-13  Ulrich Drepper  <drepper@redhat.com>
10385
10386         [BZ #1373]
10387         * lib/argp.h: Remove __NTH for __argp_usage inline function.
10388
10389 2006-12-28  Jim Meyering  <jim@meyering.net>
10390
10391         * build-aux/announce-gen: Do not assume that the package
10392         builds any of tar.gz, tar.bz2, and .xdelta files.
10393         Suggestion from Simon Josefsson.
10394
10395 2006-12-28  Simon Josefsson  <simon@josefsson.org>
10396
10397         * modules/announce-gen: New file.
10398
10399 2006-12-27  Paul Eggert  <eggert@cs.ucla.edu>
10400
10401         * lib/mbchar.h: Just include <wctype.h>; the wctype module
10402         handles its gotchas now.
10403         * lib/mbswidth.c: Likewise.
10404         * lib/wcwidth.h: Likewise.
10405         * m4/mbchar.m4 (gl_MBCHAR): Don't bother checking for wctype.h
10406         and iswcntrl; the wctype module does this stuff now.
10407         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
10408         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
10409         * modules/mbchar (Depends-on): Add wctype.
10410         * modules/mbswidth (Depends-on): Likewise.
10411         * modules/wcwidth (Depends-on): Likewise.
10412
10413 2006-12-27  Eric Blake  <ebb9@byu.net>
10414
10415         * lib/fnmatch.c: Reinstate inclusion of <wchar.h>, since this
10416         module uses more than what <wctype.h> is required to provide.
10417
10418 2006-12-26  Eric Blake  <ebb9@byu.net>
10419
10420         * gnulib-tool (sed_extract_prog): Avoid space-tab.
10421
10422 2006-12-26  Eric Blake  <ebb9@byu.net>
10423
10424         * modules/absolute-header: New module.
10425         * modules/fcntl (Depends-on): Depend on it.
10426         * modules/inttypes (Depends-on): Likewise.
10427         * modules/stdint (Depends-on): Likewise.
10428         * modules/sys_stat (Depends-on): Likewise.
10429         * modules/wctype (Depends-on): Likewise.
10430         * MODULES.html.sh (Support for building libraries and
10431         executables): Document it.
10432
10433 2006-12-25  Paul Eggert  <eggert@cs.ucla.edu>
10434
10435         * gnulib-tool (SED): Remove, undoing previous change.
10436         The problem was that it broke coreutils on Solaris, because
10437         "sed --posix" leaked into a makefile.
10438         (sed): New alias, if 'alias' and GNU sed.
10439
10440 2006-12-24  Jim Meyering  <jim@meyering.net>
10441
10442         Work around an fchownat bug in glibc-2.4:
10443         http://lists.ubuntu.com/archives/ubuntu-users/2006-September/093218.html
10444         This bug would cause "chown -RP ... DIR" to follow symlinks in DIR,
10445         in spite of the -P option.
10446         * m4/openat.m4 (gl_FUNC_FCHOWNAT, gl_FUNC_FCHOWNAT_DEREF_BUG):
10447         New macros.
10448         (gl_PREREQ_OPENAT): Require gl_FUNC_FCHOWNAT.
10449         * modules/openat (Files): Add lib/fchownat.c.
10450         * lib/openat.c (fchownat): Don't define here.  Move to...
10451         * lib/fchownat.c: ...this new file.
10452
10453 2006-12-23  Paul Eggert  <eggert@cs.ucla.edu>
10454
10455         Fix bug reported by Bruno Haible in
10456         <http://lists.gnu.org/archive/html/bug-gnulib/2006-12/msg00228.html>
10457         where quotearg.c didn't compile on Mac OS X 10.2 because it
10458         lacks <wchar.h> and wint_t.
10459         * lib/wctype_.h (__wctype_wint_t): New type.
10460         Include <stdio.h>, <time.h>, <wchar.h> only if HAVE_WINT_T.
10461         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph):
10462         (iswlower, iswprint, iswpunct, iswspace, iswupper, ixwxdigit):
10463         Arg is now of type __wctype_wint_t, not wint_t.
10464         * m4/wctype.m4 (gl_WCTYPE_H): Require gt_TYPE_WINT_T, and
10465         substitute HAVE_WINT_T.
10466         * modules/wctype (Files): Add m4/wint_t.m4.
10467         (wctype.h): Substitute HAVE_WINT_T.
10468
10469 2006-12-23  Bruno Haible  <bruno@clisp.org>
10470
10471         * lib/safe-read.h [C++]: Wrap declarations in extern "C".
10472
10473 2006-12-23  Bruno Haible  <bruno@clisp.org>
10474
10475         * lib/canonicalize-lgpl.c (__realpath): Test HAVE_READLINK instead of
10476         S_ISLNK.
10477         Needed because gnulib's sys/stat.h replacement defines S_ISLNK on
10478         mingw.
10479
10480 2006-12-22  Bruno Haible  <bruno@clisp.org>
10481
10482         * lib/copy-file.c: Include acl.h.
10483         (copy_file_preserving) [USE_ACL]: Use copy_acl instead of chmod.
10484         Close the file descriptors only after being done with copy_acl.
10485         * modules/copy-file (Depends-on): Add acl.
10486
10487 2006-12-22  Bruno Haible  <bruno@clisp.org>
10488
10489         * gnulib-tool (SED): New variable.
10490         Use $SED instead of sed everywhere.
10491
10492 2006-12-22  Bruno Haible  <bruno@clisp.org>
10493
10494         * modules/no-c++: New file.
10495         * m4/no-c++.m4: New file.
10496         * MODULES.html.sh (Support for building libraries and executables):
10497         Add no-c++.
10498
10499 2006-12-22  Paul Eggert  <eggert@cs.ucla.edu>
10500
10501         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
10502         Include <limits.h>, and use its INT_MAX to rewrite the
10503         j loop so that it does not overflow 'int'.  Problem reported by
10504         Ralf Wildenhues in
10505         <http://lists.gnu.org/archive/html/bug-gnulib/2006-12/msg00084.html>.
10506         Play it safe by shifting left by 1 rather than multiplying by 2,
10507         as GCC is less likely to optimize this away when the value
10508         is signed (when it assumes overflow leads to undefined behavior).
10509         Also, don't assume time_t uses two's complement.
10510
10511 2006-12-21  Paul Eggert  <eggert@cs.ucla.edu>
10512
10513         * MODULES.html.sh: New module wctype.
10514         * lib/wctype_.h, m4/wctype.m4, modules/wctype: New files.
10515         * lib/fnmatch.c: Don't bother to include <wchar.h> before
10516         <wctype.h>, since the new wctype module should fix this.
10517         * lib/quotearg.c: Include <wctype.h> unconditionally, since
10518         the wctype module should arrange for it.
10519         * lib/regex_internal.h: Likewise.
10520         * m4/quotearg.m4 (gl_QUOTEARG): Don't check for wctype.h or iswprint,
10521         since the wctype module should handle this now.
10522         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for wctype.h.
10523         * modules/fnmatch (Depends-on): Add wctype.
10524         * modules/quotearg (Depends-on): Likewise.
10525         * modules/regex (Depends-on): Likewise.
10526
10527 2006-12-19  Bruno Haible  <bruno@clisp.org>
10528
10529         * lib/strdup.h [C++]: Wrap definitions in extern "C".
10530         Suggested by Lorenzo Bettini <bettini@dsi.unifi.it>.
10531
10532 2006-12-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
10533
10534         * modules/savewd (Depends-on): Fix dependency on fcntl.
10535
10536 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
10537
10538         * m4/stdint.m4 (gl_STDINT_H): Set STDINT_H to empty if stdint.h
10539         conforms to C99, rather than relying on the user's environment
10540         setting of STDINT_H.
10541
10542 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
10543         and Eric Blake  <ebb9@byu.net>
10544
10545         * lib/dirname.h (DOUBLE_SLASH_IS_DISTINCT_ROOT): Default to 0, not 1.
10546         This is more consistent with the other defines here.
10547         * m4/double-slash-root.m4 (gl_DOUBLE_SLASH_ROOT):
10548         Port to z/OS.  Problem reported by Paul Gilmartin.
10549         Change local vars to use gl_ prefix rather than ac_.
10550         Don't define DOUBLE_SLASH_IS_DISTINCT_ROOT to 0, for consistency
10551         with other defines.
10552         * modules/double-slash-root: New module.
10553         * modules/dirname (Files): Remove m4/double-slash-root.m4.
10554         (Depends-on): Add double-slash-root.
10555         * MODULES.html.sh (File system functions): Mention new module.
10556
10557 2006-12-14  Paul Eggert  <eggert@cs.ucla.edu>
10558
10559         * lib/yesno.c [!ENABLE_NLS]: Don't include getline.h.
10560         (yesno) [!ENABLE_NLS]: Don't invoke getline or rpmatch.
10561         This is for the benefit of gzip, which doesn't do i18n.
10562
10563 2006-12-12  Jim Meyering  <jim@meyering.net>
10564
10565         * m4/acl.m4 (gl_ACL_GET_FILE): Fix logic error.
10566         Reported by Andreas Schwab <schwab@suse.de>.
10567
10568 2006-12-12  Bruno Haible  <bruno@clisp.org>
10569
10570         Merge these changes.
10571         2006-09-05  Bruno Haible  <bruno@clisp.org>
10572         * lib/iconvme.c (iconv_string): No need to save and restore errno when
10573         iconv_alloc succeeded.
10574         (iconv_alloc): Don't assume that malloc() or realloc(), when failing,
10575         sets errno to ENOMEM. (malloc on GNU/kFreeBSD doesn't.) No need to
10576         test for " && dest " at the end - dest is always != NULL there. Call
10577         iconv with 4xNULL arguments initially, to reset the state. Call iconv
10578         with 2xNULL arguments, also to flush the state storage. Handle the
10579         IRIX iconv behaviour. Realloc the final result, to throw away unused
10580         memory.
10581
10582 2006-12-11  Paul Eggert  <eggert@cs.ucla.edu>
10583
10584         * m4/openat.m4 (gl_FUNC_OPENAT): Don't compile mkdirat
10585         and fchmodat unconditionally, since glibc 2.4 has them.
10586         Problem reported by Arkadiusz Miskiewicz.
10587
10588 2006-12-10  Bruno Haible  <bruno@clisp.org>
10589
10590         * gnulib-tool (func_import): Show the include files only for those
10591         modules that are copied and specified.
10592         Reported by Karl Berry.
10593
10594 2006-12-08  Jim Meyering  <jim@meyering.net>
10595
10596         * build-aux/announce-gen ($VERSION): Don't use of $Revision...$.
10597         Instead, use Emacs' time-stamp write hook.  Note that the time is UTC.
10598
10599         * build-aux/announce-gen: Add two new options, both optional:
10600         --bootstrap-tools=TOOL_LIST
10601               a comma-separated list of tools, e.g.,
10602               autoconf,automake,bison,gnulib
10603         --gnulib-snapshot-date=DATE
10604               if gnulib is in the bootstrap tool list,
10605               then report this as the snapshot date.
10606               If not specified, use the current date/time.
10607               If you specify a date here, be sure it's UTC.
10608
10609 2006-12-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
10610
10611         * tests/test-argp-2.sh: Fix test to match actual output.
10612         (func_compare): Fix sed script to be portable.
10613
10614 2006-12-05  Paul Eggert  <eggert@cs.ucla.edu>
10615
10616         * lib/utimens.c (futimens) [HAVE_BUGGY_NFS_TIME_STAMPS]: Add a
10617         workaround for this case.  It is not autoconfigured now; offhand
10618         it's hard to see how to autoconfigure it.
10619
10620 2006-12-03  Paul Eggert  <eggert@cs.ucla.edu>
10621
10622         * lib/mkdir-p.c (make_dir_parents): Fix race condition when making
10623         a directory that is about to be chowned.  Such a directory's
10624         initial file permissions should permit the owner only and this
10625         should not be changed until after the chown, since the group and
10626         other bits would be incorrect if they granted permission before
10627         the chown.
10628
10629         Fix porting problem for iswctype reported by Georg Schwarz in:
10630         http://lists.gnu.org/archive/html/bug-coreutils/2006-12/msg00017.html
10631         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Require HAVE_ISWCTYPE, too.
10632         * lib/regex_internal.h (RE_ENABLE_I18N): Likewise.
10633         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for iswctype, too.
10634         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
10635
10636 2006-12-03  Jim Meyering  <jim@meyering.net>
10637
10638         * lib/fts.c (fts_load): Don't set sp->fts_dev here, since
10639         p->fts_statp may not yet be defined.
10640         (fts_read): Instead, set it in the caller, once p->fts_statp is
10641         sure to be defined, and corresponds to a top-level directory.
10642         This bug made du -x fail.  Here's the coreutils test case:
10643         http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commit;h=ba45154d8e9f
10644         Reported by Mike Frysinger.
10645
10646 2006-12-01  Jim Meyering  <jim@meyering.net>
10647
10648         * modules/savewd (Depends-on): Add fcntl_h to avoid self-test
10649         build failure due to missing definition of HAVE_WORKING_O_NOFOLLOW.
10650         Reported by Simon Josefsson.
10651
10652 2006-11-30  Jim Meyering  <jim@meyering.net>
10653
10654         * m4/warning.m4: Use the all-permissive copyright notice
10655         recommended by RMS (rather than LGPL).
10656         * m4/vararrays.m4: Likewise.
10657         * m4/flexmember.m4: Likewise.
10658
10659 2006-11-29  Bruno Haible  <bruno@clisp.org>
10660
10661         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
10662         noinst_LIBRARIES. Augment noinst_LIBRARIES and noinst_LTLIBRARIES
10663         using +=.
10664         Reported by Simon Josefsson <simon@josefsson.org>.
10665
10666 2006-11-28  James Youngman <jay@gnu.org>
10667
10668         * README: Advise users that they might find the bug-gnulib@gnu.org
10669         and autotools-announce@gnu.org mailing lists useful.
10670
10671 2006-11-28  Bruno Haible  <bruno@clisp.org>
10672
10673         * m4/ptrdiff_max.m4: Remove file.
10674
10675 2006-11-21  Bruno Haible  <bruno@clisp.org>
10676
10677         * m4/eoverflow.m4 (gl_EOVERFLOW): Use AC_COMPUTE_INT instead of
10678         _AC_COMPUTE_INT.
10679         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
10680         * m4/ptrdiff_max.m4 (gl_PTRDIFF_MAX): Use AC_COMPUTE_INT instead of
10681         _AC_COMPUTE_INT.
10682         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
10683         * m4/size_max.m4 (gl_SIZE_MAX): Use AC_COMPUTE_INT instead of
10684         _AC_COMPUTE_INT.
10685         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
10686
10687 2006-11-28  Jim Meyering  <jim@meyering.net>
10688
10689         * lib/regcomp.c (parse_branch): Rename local, exp->expr, to avoid
10690         warning from "gcc -Wshadow" about shadowing the builtin.
10691
10692 2006-11-27  Bruno Haible  <bruno@clisp.org>
10693
10694         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): Use AC_COMPUTE_INT instead of
10695         _AC_COMPUTE_INT.
10696         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
10697
10698 2006-11-27  Bruno Haible  <bruno@clisp.org>
10699             Paul Eggert  <eggert@cs.ucla.edu>
10700
10701         * lib/regex.h (__restrict_arr): Redo logic of #if, for clarity.
10702
10703 2006-11-26  Bruno Haible  <bruno@clisp.org>
10704
10705         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
10706         noinst_LTLIBRARIES.
10707
10708 2006-11-27  Paul Eggert  <eggert@cs.ucla.edu>
10709             Bruno Haible  <bruno@clisp.org>
10710
10711         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to 0
10712         if compiling with "gcc -ansi".
10713
10714 2006-11-26  Paul Eggert  <eggert@cs.ucla.edu>
10715
10716         Fix some incompatibilities with gcc -ansi -pedantic.
10717         * lib/regex.h (__restrict_arr): Don't use the [restrict] syntax
10718         if compiling pedantically with GCC, unless it's C99 or later.
10719         Don't trust sys/cdefs.h's definition of __restrict_arr, either, as
10720         it mishandles gcc -ansi -pedantic as well.
10721         * lib/regex_internal.h (re_token_t): Don't use enum bitfields
10722         if gcc -pedantic.
10723         * lib/regexec.c (check_node_accept_bytes): Don't use auto
10724         initializers for struct if -pedantic, unless it's C99 or later.
10725
10726 2006-11-25  Nix  <nix@esperi.org.uk>  (tiny change)
10727
10728         * m4/fcntl_h.m4 (gl_FCNTL_H): Test the atime, not the mtime.
10729         Don't close an fd more than once. Identical atimes indicate
10730         success, not failure.
10731
10732 2006-11-22  Robinson Mittmann <bob@hoplon.com>  (tiny change)
10733
10734         * lib/sincosl.c (kernel_sinl): Fix typo in threshold.
10735
10736 2006-11-23  Jim Meyering  <jim@meyering.net>
10737
10738         * build-aux/announce-gen: New file.  From coreutils.
10739
10740 2006-11-22  Jim Meyering  <jim@meyering.net>
10741
10742         Work around a compile-time error from the HP-UX 11.00 /bin/cc.
10743         * lib/fts.c (enum Fts_stat): Give this previously-anon enum a name.
10744         (fts_read): Use a temporary to narrow the overused st_size member
10745         before using it in a switch statement.  Reported by Matthew Woehlke.
10746
10747         * m4/clock_time.m4 (gl_CLOCK_TIME): Quote AC_SUBST argument.
10748         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
10749
10750 2006-11-20  Bruno Haible  <bruno@clisp.org>
10751
10752         * gettext.m4 (AM_GNU_GETTEXT): Revert 2005-07-28 patch: Use
10753         changequote instead of pairs of brackets.
10754         Reported by Andreas Schwab <schwab@suse.de>.
10755
10756 2006-11-21  Jim Meyering  <jim@meyering.net>
10757
10758         * lib/fts.c (fts_safe_changedir): Move a declaration "up",
10759         so as to remain compatible with older compilers.
10760         Patch from Michael Deutschmann.
10761
10762 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
10763
10764         * MODULES.html.sh (File system functions): Add openat.
10765
10766         * lib/openat.h (rpl_fstatat): New macro, if
10767         [HAVE_OPENAT && ! LSTAT_FOLLOWS_SLASHED_SYMLINK.
10768         (fstatat): Define to rpl_fstatat under the same conditions,
10769         unless COMPILING_FSTATAT.
10770         * m4/openat.m4 (gl_FUNC_OPENAT): Compile fstatat.c too, if fstatat
10771         seems to have the bug.
10772         * lib/fstatat.c: New file.
10773         * modules/openat (Files): Add it.
10774
10775 2006-11-20  Bruno Haible  <bruno@clisp.org>
10776
10777         * Makefile: New file.
10778
10779 2006-11-20  Jim Meyering  <jim@meyering.net>
10780
10781         The beginnings of syntax-related checks for gnulib.
10782         * lib/Makefile: New file.
10783         * lib/t-idcache: New script.  Ensure that the two halves of
10784         idcache.c stay in sync.
10785
10786         * lib/idcache.c: Adjust comments in user- and group- portions to
10787         be more accurate, and to be consistent with one another.
10788
10789 2006-11-20  Jim Meyering  <jim@meyering.net>
10790
10791         * lib/idcache.c: Restore most of the 2006-11-06 patch, so as to
10792         continue using the flexible array member (thus, this module performs
10793         half as many malloc calls), with the addition that...
10794         (getgroup, getuser): Consistently record a non-match via an empty
10795         "name" string, and map an empty string match to a NULL return value.
10796         * modules/idcache (Depends-on): Re-add flexmember.
10797
10798         * lib/idcache.c (getuser): Remove all uses of the register keyword.
10799         (getuidbyname, getgroup, getgidbyname): Likewise.
10800
10801         Use cleaner syntax: NULL rather than 0.
10802         * lib/idcache.c (getuidbyname, getgidbyname): Return NULL, not 0.
10803
10804 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
10805
10806         * lib/idcache.c: Undo most recent patch, dated 2006-11-06.
10807         It mishandled the case where the group was missing.
10808         Problem reported by Greg Schafer.
10809         * modules/idcache: Likewise.
10810
10811 2006-11-18  Jim Meyering  <jim@meyering.net>
10812
10813         * check-module (%exempt_header): Add exception for some
10814         conditionally-included headers.
10815
10816         * modules/i-ring (Depends-on): Add verify.
10817         (License): Change to LGPL.
10818
10819 2006-11-16  Paul Eggert  <eggert@cs.ucla.edu>
10820
10821         * modules/getaddinfo (Depends-on): Remove inttostr; add snprintf.
10822         * lib/getaddrinfo.c: Include snprintf.h rather than intprops.h
10823         and inttostr.h.  Use snprintf rather than uinttostr, so that
10824         LGPLed code doesn't depend on GPLed.
10825
10826 2006-11-17  Paul Eggert  <eggert@cs.ucla.edu>
10827
10828         * modules/inline (License): Change from GPL to LGPL.
10829
10830 2006-11-17  Jim Meyering  <jim@meyering.net>
10831
10832         * modules/d-type (License): Switch to LGPL.
10833
10834 2006-11-15  Bruno Haible  <bruno@clisp.org>
10835
10836         * m4/alloca.m4 (gl_FUNC_ALLOCA): Fix the AC_CACHE_CHECK message.
10837
10838 2006-11-15  Eric Blake  <ebb9@byu.net>
10839
10840         * m4/allocsa.m4 (gl_ALLOCSA): Don't invoke macro already picked up by
10841         the module dependency.
10842
10843 2006-11-15  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
10844             Bruno Haible  <bruno@clisp.org>
10845
10846         * gnulib-tool (func_create_testdir): Add license consistency check.
10847
10848 2006-11-15  Eric Blake  <ebb9@byu.net>
10849
10850         * m4/alloca.m4 (gl_FUNC_ALLOCA): Use AC_CACHE_CHECK to avoid a
10851         random "(cached)" in configure output.
10852
10853 2006-11-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
10854
10855         * m4/inttypes.m4 (gl_INTTYPES_H): Use AC_CACHE_CHECK so that the
10856         test for conforming inttypes.h is both announced and cached.
10857
10858         * MODULES.html.sh (seen_modules, seen_files): New variables.
10859         (func_module): Rewrite to use a few less gnulib-tool and sed
10860         invocations.  Avoid a couple of quadratic algorithms for ...
10861         (missed_modules, missed_files): ... these, with ...
10862         (func_append, func_tmpdir): ... these new functions, from
10863         gnulib-tool.  Analogously, install traps for cleanup.
10864
10865         * tests/test-gc.c (main): Remove unused variables.
10866         * tests/test-read-file.c: Include stdlib.h, for 'free'.
10867
10868 2006-11-14  Paul Eggert  <eggert@cs.ucla.edu>
10869
10870         * modules/inttostr (License): Change to LGPL.
10871
10872 2006-11-14  Eric Blake  <ebb9@byu.net>
10873
10874         * modules/tempname (License): Change to LGPL.
10875
10876 2006-11-14  Eric Blake  <ebb9@byu.net>
10877
10878         * doc/functions.texi (Function Portability): *printf functions on
10879         Cygwin now understand all POSIX size specifiers.
10880
10881 2006-11-14  Bruno Haible  <bruno@clisp.org>
10882
10883         * modules/c-ctype (License): Change to LGPL.
10884
10885 2006-11-12  Bruno Haible  <bruno@clisp.org>
10886
10887         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
10888         AC_LIB_LINKFLAGS_BODY): Also set a LIB${NAME}_PREFIX variable. Needed
10889         for GNOME libraries, for which the include files are installed in
10890         subdirectories of $prefix/include.
10891
10892 2006-11-12  Bruno Haible  <bruno@clisp.org>
10893
10894         * m4/lib-link.m4: Require at least autoconf-2.54.
10895         (AC_LIB_LINKFLAGS_BODY) [autoconf < 2.61]: Turn dots into the library
10896         name to underscores for the --with option.
10897
10898 2006-11-13  Bruno Haible  <bruno@clisp.org>
10899
10900         * gnulib-tool (func_create_testdir): Set gl_source_base correctly in
10901         the tests directory.
10902         Reported by Ralf Wildenhues.
10903
10904 2006-11-13  Bruno Haible  <bruno@clisp.org>
10905
10906         * gnulib-tool (func_emit_initmacro_start): Also override AC_LIBSOURCES.
10907         (func_emit_initmacro_end): Undo the override here.
10908         (func_emit_initmacro_done): Emit a definition for gl_LIBSOURCES.
10909         Works around the famous automake error in coreutils.
10910
10911 2006-11-13  Eric Blake  <ebb9@byu.net>
10912
10913         * lib/gl_anytree_oset.h (gl_tree_search_atleast): Return the
10914         element, not its node.
10915
10916 2006-11-12  Bruno Haible  <bruno@clisp.org>
10917
10918         * gnulib-tool (func_emit_lib_Makefile_am): Replace occurrences of
10919         '$(top_srcdir)/build-aux/', taking into account the real auxdir.
10920
10921 2006-11-12  Bruno Haible  <bruno@clisp.org>
10922
10923         * gnulib-tool: New option --local-symlink.
10924         (func_usage): Document it.
10925         (lsymbolic): New variable.
10926         (func_import, func_create_testdir): If --symlink was not specified,
10927         test whether --local-symlink was specified and the file comes from
10928         the local_gnulib_dir.
10929
10930 2006-11-12  Bruno Haible  <bruno@clisp.org>
10931
10932         * gnulib-tool (func_ln): New function.
10933         (func_ln_if_changed, func_create_testdir): Use it instead of "ln -s".
10934
10935 2006-11-12  Bruno Haible  <bruno@clisp.org>
10936
10937         Finish support for source files in subdirectories.
10938         * gnulib-tool (func_emit_lib_Makefile_am): If some of the source files
10939         are in subdirectories, set uses_subdirs and add 'subdir-objects' to
10940         AUTOMAKE_OPTIONS.
10941         (func_import, func_create_testdir): Invoke AM_PROG_CC_C_O in this case.
10942
10943 2006-11-12  Bruno Haible  <bruno@clisp.org>
10944
10945         * gnulib-tool (func_get_automake_snippet): Synthesize also an
10946         EXTRA_lib_SOURCES augmentation.
10947         (func_emit_lib_Makefile_am): Initialize EXTRA_lib..._SOURCES to empty.
10948
10949 2006-11-12  Jim Meyering  <jim@meyering.net>
10950
10951         Make fts (in FTS_CWDFD mode) more efficient by caching a few open
10952         file descriptors.  This also averts a failure on systems with
10953         native openat support when a traversed directory lacks "x" access.
10954         * lib/fts_.h: Include "i-ring.h"
10955         (struct FTS) [fts_fd_ring]: New member.
10956         * lib/fts.c (RESTORE_INITIAL_CWD): Also call fd_ring_clear.
10957         (FCHDIR): Add parentheses.
10958         (fd_ring_check, fd_ring_print) [!FTS_DEBUG]: Define away.
10959         (cwd_advance_fd): Add a 3rd parameter.  Adjust all callers.
10960         When descending, rather than simply closing the previous
10961         fts_cwd_fd value, push that file descriptor onto the ring.
10962         (same_fd, fd_ring_print, fd_ring_check) [FTS_DEBUG]: New functions.
10963         (fts_open): Initialize the new fd_ring member.
10964         (fts_close): Clear the ring.
10965         (fts_safe_changedir): When possible, use our new fd_ring to skip
10966         the diropen and fstat and dev/ino comparison that would normally
10967         accompany a virtual `chdir ("..")'.
10968
10969         * modules/fts (Depends-on): Add i-ring.
10970         * modules/i-ring: New module.
10971         * lib/i-ring.c, lib/i-ring.h, lib/i-ring-test.c: New files.
10972         * m4/i-ring.m4: New file.
10973
10974 2006-11-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
10975
10976         * gnulib-tool (func_create_testdir): Fix replacement of
10977         `build-aux' in configure.ac.  Run autotools in gltests
10978         subdirectory.
10979         (func_create_testdir, func_create_megatestdir, test): There is
10980         no need for '--force' in most autotool invocations in a new
10981         tree.  Actually fail the whole test if any of the tools, or the
10982         configure or make stages fail.
10983
10984         Sync from Automake.
10985         * build-aux/gnupload: Revert last change.  Add pointer to upload
10986         instructions of the GNU Maintenance Instructions.
10987         Suggestion by Karl Berry.
10988
10989 2006-11-10  Jim Meyering  <jim@meyering.net>
10990
10991         * lib/fts.c [FTS_DEBUG]: Don't try to print a pointer via %s.
10992
10993 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
10994
10995         * lib/gettext.h (dgettext, dcgettext, ngettext) [! ENABLE_NLS]:
10996         (dngettext, dcngettext, bindtextdomain) [! ENABLE_NLS]:
10997         (bind_textdomain_codeset) [! ENABLE_NLS]:
10998         Evaluate all the arguments.  That way, callers get compatible behavior
10999         if the arguments have side effects.  Also, it avoids some GCC
11000         diagnostics in some cases; Joel E. Denny reported problems when Bison
11001         was configured with --enable-gcc-warnigs.
11002
11003 2006-11-10  Jim Meyering  <jim@meyering.net>
11004
11005         * m4/inline.m4 (gl_INLINE): Check with the compiler, not cpp, so that
11006         relevant options in CFLAGS (like -O, -fno-inline) are taken into
11007         account.
11008
11009 2006-11-10  Jim Meyering  <jim@meyering.net>
11010
11011         * modules/inline: New file/module.
11012         * modules/xalloc (Files): Remove m4/inline.m4.
11013         (Depends-on): Add inline, instead.
11014         * modules/oset: Likewise.
11015         * modules/list: Likewise.
11016
11017 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
11018
11019         * lib/stdint_.h (uintmax_t): Fix typo: int64_t -> uint64_t.
11020         Problem reported by Matthew Woehlke.
11021
11022 2006-11-09  Bruno Haible  <bruno@clisp.org>
11023
11024         * lib/tempname.c (gen_tempname): Remove variant that invokes
11025         __gen_tempname.
11026         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Don't test for
11027         __gen_tempname.
11028
11029 2006-11-08  Bruno Haible  <bruno@clisp.org>
11030
11031         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Set ac_cv_type_long_long_int
11032         to 'yes' instead of 'cross-compiling'.
11033
11034 2006-11-08  Paul Eggert  <eggert@cs.ucla.edu>
11035
11036         * lib/quotearg.h (quotearg_free): New decl.
11037         * lib/quotearg.c (quotearg_free): New function.
11038         (slot0, nslots, slotvec0, slotvec):
11039         Now file-scope so that quotearg_free can get at them.
11040
11041 2006-11-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
11042
11043         Sync from Automake.
11044         * build-aux/gnupload: Add missing 'gnu' to example URL.
11045         Report by Karl Berry.
11046
11047 2006-11-08  Bruno Haible  <bruno@clisp.org>
11048
11049         * m4/inline.m4 (gl_INLINE): Also test __NO_INLINE__.
11050         Suggested by Paul Eggert.
11051
11052 2006-11-08  Jim Meyering  <jim@meyering.net>
11053
11054         * lib/fts.c [!_LGPL_PACKAGE]: Don't include fcntl--.h twice.
11055         It's already included if !_LIBC.
11056         (fts_safe_changedir): Add a comment.
11057
11058 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
11059
11060         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Detect bug in
11061         Tandem NonStop Kernel (OSS) cc -O circa 2004, reported by
11062         Matthew Woehlke.
11063
11064         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Move
11065         definitions up, to avoid colliding with change below.
11066         (static_inline) [HAVE_INLINE]: New macro.
11067         (xnmalloc, xnrealloc, x2nrealloc, xcharalloc):
11068         Provide extern decls when !HAVE_INLINE.  Do not define unless
11069         static_inline is defined, either by us or by xmalloc.c.  Use
11070         static_inline rather than static inline.
11071         (XCALLOC): Optimize sizeof(T) = 1 case.
11072         * lib/xmalloc.c (static_inline) [!HAVE_INLINE]: New macro.
11073
11074 2006-11-07  Bruno Haible  <bruno@clisp.org>
11075
11076         * lib/xalloc.h (XNMALLOC): Restore optimization of sizeof(T) = 1 case.
11077         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require gl_INLINE instead of
11078         AC_C_INLINE.
11079         * modules/xalloc (Files): Add m4/inline.m4.
11080
11081 2006-11-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
11082
11083         * README: Fix typo.
11084         * doc/gnulib.texi (Miscellaneous Notes): Likewise, rename...
11085         (Miscellanous Notes): ...from this.
11086
11087 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
11088
11089         * m4/flexmember.m4 (AC_C_FLEXIBLE_ARRAY_MEMBER):
11090         Mention that offsetof should be used instead of sizeof.
11091         From Bruno Haible.
11092
11093 2006-11-07  Bruno Haible  <bruno@clisp.org>
11094
11095         * lib/w32spawn.h (prepare_spawn): Use XNMALLOC instead of xmalloc.
11096
11097 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
11098
11099         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
11100         * lib/gl_anyavltree_list2.h (create_subtree_with_contents):
11101         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
11102         (gl_tree_add_before, gl_tree_add_after):
11103         Use XMALLOC instead of xmalloc, and XCALLOC instead of xzalloc.
11104         * lib/gl_anyhash_list2.h (hash_resize): Likewise.
11105         * lib/gl_anylinked_list2.h (gl_linked_create_empty, gl_linked_create):
11106         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before):
11107         (gl_linked_add_after, gl_linked_add_at): Likewise.
11108         * lib/gl_anyrbtree_list2.h (create_subtree_with_contents):
11109         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
11110         (gl_tree_add_before, gl_tree_add_after): Likewise.
11111         * lib/gl_anytree_list2.h (gl_tree_create_empty): Likewise.
11112         * lib/gl_anytree_oset.h (gl_tree_create_empty): Likewise.
11113         * lib/gl_anytreehash_list1.h (add_to_bucket): Likewise.
11114
11115 2006-11-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
11116
11117         * lib/gl_oset.h: Use C comment style, not C++ comment style.
11118
11119 2006-11-06  Bruno Haible  <bruno@clisp.org>
11120
11121         * m4/inline.m4: New file.
11122         * m4/gl_list.m4 (gl_LIST): Require gl_INLINE.
11123         * modules/list (Files): Add m4/inline.m4.
11124         * modules/oset (Files): Likewise.
11125
11126 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
11127
11128         * lib/idcache.c: Include <stddef.h>, for offsetof.
11129         (struct userid.name): Change from char * to a flexible array member.
11130         All uses changed.
11131         * modules/idcache (Depends-on): Add flexmember.
11132
11133         * MODULES.html.sh (Core language properties): New module flexmember.
11134         * modules/flexmember, m4/flexmember.m4: New files.
11135
11136         * lib/xalloc.h (xnmalloc, xnrealloc, x2nrealloc): Now static
11137         inline functions that are identical with the old xnmalloc_inline,
11138         xnrealloc_inline, x2nrealloc_inline of lib/xmalloc.c.  This is so
11139         that we can avoid some unnecessary integer multiplications and
11140         divisions in the common case where the element size is known at
11141         compile time.
11142         (XNMALLOC) [HAVE_INLINE]: Remove special case, which is no longer
11143         needed.
11144         (xnboundedmalloc): Remove.
11145         (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Use lower-case letters for
11146         arguments, for consistency with rest of this header.
11147         (xcharalloc): Rewrite using XNMALLOC.
11148         * lib/xmalloc.c (xnmalloc_inline, xnmalloc, xnrealloc_inline):
11149         (xnrealloc, x2nrealloc_inline, x2nrealloc): Remove.  The *_inline
11150         versions have been moved to lib/xalloc.h and renamed to be the
11151         non-*_inline versions.
11152         (xmalloc, xrealloc): Implement without reference to the xnmalloc
11153         and xnrealloc functions, since those functions are now inline and
11154         now call us.
11155         (x2realloc): Invoke x2realloc, not x2realloc_inline, to accommodate
11156         renaming described above.
11157         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Remove AC_C_INLINE since
11158         xmalloc.c no longer uses inline directly.  gl_PREREQ_XALLOC now
11159         captures the dependency in AC_C_INLINE.
11160
11161         New module canonicalize-lgpl, proposed by Charles Wilson in
11162         <http://lists.gnu.org/archive/html/bug-gnulib/2006-11/msg00020.html>
11163         with a few small changes afterwards.
11164         * MODULES.html.sh (File system functions): New module
11165         canonicalize-lgpl.
11166         * lib/canonicalize.h: Add comments for canonicalize_filename_mode
11167         and canonicalize_file_name.
11168         * lib/canonicalize-lgpl.c, m4/canonicalize-lgpl.m4:
11169         * modules/canonicalize-lgpl: New files.
11170
11171 2006-11-05  Bruno Haible  <bruno@clisp.org>
11172
11173         * gnulib-tool (func_import, func_create_testdir): Create directories
11174         also for files in subdirectories of lib/.
11175
11176 2006-11-05  Bruno Haible  <bruno@clisp.org>
11177
11178         * lib/gl_array_list.c (gl_array_iterator_next): Make pointer decrement
11179         ANSI C compliant.
11180
11181 2006-11-03  Bruno Haible  <bruno@clisp.org>
11182
11183         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
11184         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require AC_C_INLINE.
11185         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): New macros.
11186         (xnboundedmalloc): New inline function.
11187         * lib/classpath.c (new_classpath): Use XNMALLOC instead of xmalloc.
11188         * lib/clean-temp.c (create_temp_dir): Use XNMALLOC, XMALLOC instead of
11189         xmalloc.
11190         * lib/concatpath.c (concatenated_pathname): Use XNMALLOC instead of
11191         xmalloc.
11192         * lib/fatal-signal.c (at_fatal_signal): Use XNMALLOC instead of xmalloc.
11193         * lib/findprog.c (find_in_path): Use XNMALLOC instead of xmalloc.
11194         * lib/gl_array_list.c (gl_array_create_empty): Use XMALLOC instead of
11195         xmalloc.
11196         (gl_array_create): Use XNMALLOC, XMALLOC instead of xmalloc.
11197         * lib/gl_array_oset.c (gl_array_create_empty): Use XNMALLOC instead of
11198         xmalloc.
11199         * lib/gl_avltree_oset.c (gl_tree_add_first, gl_tree_add_before,
11200         gl_tree_add_after): Use XMALLOC instead of xmalloc.
11201         * lib/gl_carray_list.c (gl_carray_create_empty): Use XMALLOC instead of
11202         xmalloc.
11203         (gl_carray_create): Use XNMALLOC, XMALLOC instead of xmalloc.
11204         * lib/gl_rbtree_oset.c (gl_tree_add_first, gl_tree_add_before,
11205         gl_tree_add_after): Use XMALLOC instead of xmalloc.
11206         * lib/gl_sublist.c (gl_sublist_create): Use XMALLOC instead of xmalloc.
11207         * lib/pagealign_alloc.c (new_memnode): Use XMALLOC instead of xmalloc.
11208         * lib/sh-quote.c (shell_quote_argv): Use XNMALLOC instead of xmalloc.
11209         * lib/xvasprintf.c (xstrcat): Use XNMALLOC instead of xmalloc.
11210
11211 2006-11-03  Bruno Haible  <bruno@clisp.org>
11212
11213         * lib/c-ctype.h [C++]: Define functions without name mangling.
11214         * lib/fwriteerror.h [C++]: Likewise.
11215         * lib/gcd.h [C++]: Likewise.
11216         * lib/linebreak.h [C++]: Likewise.
11217
11218 2006-11-03  Paul Eggert  <eggert@cs.ucla.edu>
11219
11220         * lib/canonicalize.h: (canonicalize_mode_t, CAN_EXISTING):
11221         (CAN_ALL_BUT_LAST, CAN_MISSING, canonicalize_filename_mode):
11222         Define only if PROVIDE_CANONICALIZE_FILENAME_MODE is defined.
11223         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
11224         Check for functions and headers just once.
11225         Check for declaration of canonicalize_file_name.
11226         Define PROVIDE_CANONICALIZE_FILENAME_MODE.
11227
11228 2006-11-02  Charles Wilson  <cygwin@cwilson.fastmail.fm>
11229
11230         * gnulib-tool (func_import): Fix typo in actioncmd.
11231
11232 2006-11-02  Bruno Haible  <bruno@clisp.org>
11233
11234         * gnulib-tool (func_get_automake_snippet): Interpret a backslash-
11235         newline sequence in the Makefile.am snippet as a space, like "make"
11236         does.
11237         Reported by Roger Persson <perrog@gmail.com>.
11238
11239 2006-11-01  Bruno Haible  <bruno@clisp.org>
11240
11241         * m4/strcase.m4 (gl_FUNC_STRNCASECMP): Check whether strncasecmp is
11242         already declared in <string.h>.
11243         * lib/strcase.h (strncasecmp): Don't declare it if yes.
11244
11245 2006-11-01  Bruno Haible  <bruno@clisp.org>
11246
11247         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Don't define strcasecmp here.
11248         * lib/strcase.h: Include <string.h>.
11249         (strcasecmp): Define to rpl_strcasecmp here.
11250
11251 2006-11-01  Bruno Haible  <bruno@clisp.org>
11252
11253         * lib/printf-parse.c (PRINTF_PARSE): Cast malloc/realloc results.
11254
11255 2006-11-01  Eric Blake  <ebb9@byu.net>
11256
11257         * lib/mkstemp-safer.c (mkstemp_safer): Allow C++ compilation.
11258
11259         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Allow C++ configuration.
11260
11261 2006-10-29  Bruno Haible  <bruno@clisp.org>
11262
11263         Make it compile in C++ mode.
11264         * lib/full-write.c (full_rw): Add a cast.
11265
11266 2006-11-01  Bruno Haible  <bruno@clisp.org>
11267
11268         * gnulib-tool (func_get_automake_snippet): Change sed_combine_lines to
11269         be POSIX compliant.
11270         Reported by Roger Persson <perrog@gmail.com>.
11271
11272 2006-11-01  Eric Blake  <ebb9@byu.net>
11273
11274         * lib/getopt_.h: Fix comments.
11275
11276 2006-10-31  Eric Blake  <ebb9@byu.net>
11277
11278         * modules/tmpdir (Depends-on): Add sys_stat.
11279         * modules/mkdtemp (Depends-on): Add tempname, drop unistd.
11280         * lib/mkdtemp.c (gen_tempname): Remove; tempname covers this.
11281         * lib/tmpdir.c (S_ISDIR): Simplify, thanks to sys_stat.
11282         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Simplify, thanks to
11283         tempname.
11284
11285 2006-10-31  Paul Eggert  <eggert@cs.ucla.edu>
11286
11287         Avoid some C++ diagnostics reported by Bruno Haible.
11288         * lib/quotearg.c (clone_quoting_options): Use xmemdup rather than
11289         xmalloc.
11290         (quotearg_alloc): Use xcharalloc rather than xmalloc.
11291         (struct slotvec): Move to top level.
11292         (quotearg_n_options): Rewrite to avoid xmalloc.
11293         * lib/xalloc.h (xcharalloc): New function.
11294         * (xrealloc, xnrealloc, x2realloc, x2nrealloc, xmemdup):
11295         [defined __cplusplus]: Add function template that provides result
11296         type propagation.  This part of the change is from Bruno Haible.
11297
11298 2006-10-29  Bruno Haible  <bruno@clisp.org>
11299
11300         Make it compile in C++ mode.
11301         * lib/striconv.c (mem_cd_iconv): Cast malloc/realloc result.
11302         * lib/strnlen1.c (strnlen1): Cast memchr result.
11303         * lib/mbchar.h (mb_copy): Rename arguments to 'new_mbc', 'old_mbc'.
11304         * lib/clean-temp.c (string_equals, string_hash): Add casts.
11305         (create_temp_dir): Rename local variable 'template'.
11306         (compile_csharp_using_sscli): Add cast.
11307         * lib/fatal-signal.c (at_fatal_signal): Cast xmalloc result.
11308         * lib/findprog.c (find_in_path): Likewise.
11309         * lib/linebreak.c (mbs_width_linebreaks): Cast malloc result.
11310         * lib/wait-process.c (register_slave_subprocess): Likewise.
11311
11312 2006-10-22  Bruno Haible  <bruno@clisp.org>
11313
11314         * modules/tsearch: New file.
11315         * lib/tsearch.h: New file.
11316         * lib/tsearch.c: New file, from glibc-2.5 with small modifications.
11317         * m4/tsearch.m4: New file.
11318         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add tsearch.
11319
11320 2006-10-29  Eric Blake  <ebb9@byu.net>
11321
11322         * lib/arcfour.c: Assume config.h.
11323         * lib/arctwo.c: Likewise.
11324         * lib/base64.c: Likewise.
11325         * lib/check-version.c: Likewise.
11326         * lib/crc.c: Likewise.
11327         * lib/des.c: Likewise.
11328         * lib/gc-gnulib.c: Likewise.
11329         * lib/gc-libgcrypt.c: Likewise.
11330         * lib/gc-pbkdf2-sha1.c: Likewise.
11331         * lib/getaddrinfo.c: Likewise.
11332         * lib/getdelim.c: Likewise.
11333         * lib/getline.c: Likewise.
11334         * lib/hmac-md5.c: Likewise.
11335         * lib/hmac-sha1.c: Likewise.
11336         * lib/iconvme.c: Likewise.
11337         * lib/md2.c: Likewise.
11338         * lib/md4.c: Likewise.
11339         * lib/memxor.c: Likewise.
11340         * lib/read-file.c: Likewise.
11341         * lib/readline.c: Likewise.
11342         * lib/rijndael-alg-fst.c: Likewise.
11343         * lib/rijndael-api-fst.c: Likewise.
11344         * lib/xgetdomainname.c: Likewise.
11345
11346 2006-10-28  Eric Blake  <ebb9@byu.net>
11347
11348         * lib/xstrndup.c: Assume config.h.
11349
11350 2006-10-27  Paul Eggert  <eggert@cs.ucla.edu>
11351
11352         Move stat.h-substitute stuff from lib/stat-macros.h to lib/stat_.h.
11353         stat-macros.h is now for our own macros, whereas stat_h is for
11354         macros in the <sys/stat.h> name space.
11355         * lib/stat-macros.h: Remove copyright notice, as this file is now tiny.
11356         (STAT_MACROS_H): Remove.
11357         (S_IFMT, S_ISBLK, S_ISCHR, S_ISDIR, S_ISFIFO, S_ISLNK, S_ISNAM):
11358         (S_ISMPB, S_ISMPC, S_ISNWK, S_ISREG, S_ISSOCK, S_ISDOOR, S_ISPORT):
11359         (S_TYPEISMQ, S_TYPEISTMO, S_TYPEISSEM, S_TYPEISSHM, S_ISCTG, S_ISOFD):
11360         (S_ISOFL, S_ISWHT, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IRGRP):
11361         (S_IROTH, S_IWUSR, S_IWGRP, S_IWOTH, S_IXUSR, S_IXGRP, S_IXOTH):
11362         (S_IRWXU, S_IRWXG, S_IRWXO, S_IXUGO, S_IRWXUGO):
11363         Move these macros to ...
11364         * lib/stat_.h: here.  Don't include stat-macros.h.
11365         * lib/canonicalize.c: Don't include stat-macros.h.
11366         * lib/chown.c: Likewise.
11367         * lib/euidaccess.c: Likewise.
11368         * lib/file-type.c: Likewise.
11369         * lib/filemode.c: Likewise.
11370         * lib/glob.c: Likewise.
11371         * lib/isapipe.c: Likewise.
11372         * lib/lchown.c: Likewise.
11373         * lib/lstat.c: Likewise.
11374         * lib/mkdir-p.c: Likewise.
11375         * lib/rmdir.c: Likewise.
11376         * m4/lchown.m4 (gl_FUNC_LCHOWN): Don't require gl_STAT_MACROS.
11377         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Don't check for io.h
11378         unless mkdir isn't declared, to speed up 'configure'.
11379         Always create sys/stat.h, since it's unlikely any real sys/stat.h
11380         would define all the S_* symbols.
11381         * modules/canonicalize (Depends-on):
11382         Depend on sys_stat, not stat-macros.
11383         * modules/chown: Likewise.
11384         * modules/euidaccess: Likewise.
11385         * modules/filemode: Likewise.
11386         * modules/file-type: Likewise.
11387         * modules/glob: Likewise.
11388         * modules/isapipe: Likewise.
11389         * modules/lchown: Likewise.
11390         * modules/lstat: Likewise.
11391         * modules/mkancesdirs: Likewise.
11392         * modules/rmdir: Likewise.
11393         * modules/mkdir-p (Depends-on): Also depend on sys_stat.
11394         * modules/modechange: Likewise.
11395         * modules/stat-macros (Files): Remove m4/stat-macros.m4.
11396         (configure.ac): Remove gl_STAT_MACROS.
11397         * modules/sys_stat (Depends-on): Remove stat-macros.
11398
11399 2006-10-27  Bruno Haible  <bruno@clisp.org>
11400
11401         * m4/signed.m4: Remove file.
11402         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS_: Remove bh_C_SIGNED
11403         invocation.
11404         * modules/vasnprintf (Files): Remove m4/signed.m4.
11405
11406 2006-10-27  Bruno Haible  <bruno@clisp.org>
11407
11408         Update to GNU gettext 0.16.
11409         * modules/gettext (Files): Add m4/intl.m4, m4/intldir.m4. Remove
11410         m4/inttypes-h.m4, m4/signed.m4.
11411         * m4/gettext.m4: Update to GNU gettext 0.16.
11412         * m4/intl.m4: New file, from GNU gettext.
11413         * m4/intldir.m4: New file, from GNU gettext.
11414         * config/srclist.txt: Update
11415
11416 2006-10-27  Eric Blake  <ebb9@byu.net>
11417
11418         * MODULES.html.sh: Document tempname.
11419         * modules/mkstemp (Depends-on): Add tempname, and drop transitive
11420         dependencies.
11421         (Files): Move lib/tempname.c...
11422         * modules/tempname: ...to this new module.
11423         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Remove tempname checks.
11424         (gl_PREREQ_TEMPNAME): Move...
11425         * m4/tempname.m4: ...to this new file.
11426         * lib/mkstemp.c (includes) [!_LIBC]: Use tempname.h.
11427         * modules/sys_stat (Depends-on): Add stat-macros.
11428         * lib/stat_.h (includes): Pick up stat macros.
11429         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Replace <sys/stat.h>
11430         if stat macros are broken.
11431         * lib/tempname.c (includes): No need to include "stat-macros.h".
11432         (__gen_tempname) [!_LIBC]: Expose as gen_tempname.
11433         (direxists, __path_search) [!_LIBC]: Don't compile these in
11434         gnulib; the tmpdir module covers that.
11435         * lib/tempname.h: New file.
11436
11437 2006-10-26  Paul Eggert  <eggert@cs.ucla.edu>
11438
11439         * COPYING: Explain how gnulib-tool converts licence headers.
11440         Almost all wording by Eric Blake.
11441
11442 2006-10-25  Paul Eggert  <eggert@cs.ucla.edu>
11443
11444         * lib/mbchar.h (is_basic_table): Make read-only.
11445         * lib/mbchar.c (is_basic_table): Likewise.
11446         Reported by John Darrington.
11447
11448 2006-10-25  Bruno Haible  <bruno@clisp.org>
11449
11450         * lib/progname.h (set_program_name): Undefine before defining.
11451
11452 2006-10-25  Bruno Haible  <bruno@clisp.org>
11453
11454         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to
11455         false for non-gcc C++ compilers.
11456         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
11457
11458 2006-10-24  Bruno Haible  <bruno@clisp.org>
11459
11460         * lib/striconv.c (mem_cd_iconv, str_cd_iconv): Treat all non-GNU
11461         iconv implementations like Irix iconv.
11462
11463 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
11464
11465         * modules/vararrays: New file.
11466         * m4/vararrays.m4: New file, taken from diffutils.
11467         * MODULES.html.sh: New module vararrays.
11468
11469 2006-10-24  Karl Berry  <karl@gnu.org>
11470
11471         * doc/gnulib-intro.texi: --- instead of --; non-naive naive.
11472         Don't call GNU Unix.
11473
11474 2006-10-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
11475
11476         * users.txt: Add Libtool.
11477
11478         Sync from Libtool:
11479
11480         2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
11481
11482         * lib/argz.c: Remove check for HAVE_CONFIG_H, to conform
11483         to gnulib's policy of including config.h unconditionally.
11484
11485 2006-10-24  Bruno Haible  <bruno@clisp.org>
11486
11487         * modules/wcwidth (Files): Add m4/wint_t.m4.
11488         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Require gt_TYPE_WINT_T.
11489         * lib/wcwidth.h (iswprint): Use 'int' if 'wint_t' is not defined.
11490
11491 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
11492
11493         * lib/getdate.y (yyerror): Make the arguments pointer-to-const,
11494         to pacify GCC with some -W flags enabled.  Problem reported by
11495         Bruno Haible.
11496
11497 2006-10-24  Jim Meyering  <jim@meyering.net>
11498
11499         * MODULES.html.sh: Remove uinttostr.  It's not a module.
11500         Reported by Karl Berry.
11501
11502 2006-10-23  Bruno Haible  <bruno@clisp.org>
11503
11504         * lib/fts.c (fts_build): Move variable declaration, for C89 compliance.
11505
11506 2006-10-24  Bruno Haible  <bruno@clisp.org>
11507
11508         * lib/gl_list.h: Use C comment style, not C++ comment style.
11509
11510 2006-10-23  Eric Blake  <ebb9@byu.net>
11511
11512         * lib/getaddrinfo.c (includes): Add missing include.
11513
11514 2006-10-23  Bruno Haible  <bruno@clisp.org>
11515             Paul Eggert  <eggert@cs.ucla.edu>
11516
11517         Ability to rename obstack_free.
11518         * lib/obstack.h (__obstack_free): New macro. Declare instead of
11519         obstack_free.
11520         (obstack_free): Invoke the __obstack_free macro.
11521         * lib/obstack.c (obstack_free): Use __obstack_free macro.
11522
11523 2006-10-23  Bruno Haible  <bruno@clisp.org>
11524             Paul Eggert  <eggert@cs.ucla.edu>
11525
11526         * lib/argp.h (argp_parse, __argp_parse): Comment out the identifiers
11527         __argc, __argv from the declaration. (They are defined as macros on
11528         mingw.)
11529
11530 2006-10-22  Bruno Haible  <bruno@clisp.org>
11531
11532         * doc/gnulib-intro.texi: New file.
11533         * doc/gnulib.texi: Include it.
11534
11535 2006-10-21  Bruno Haible  <bruno@clisp.org>
11536
11537         * doc/gnulib.texi: Split the chapter "Gnulib" into 3 chapters
11538         "Introduction", "Miscellanous Notes", "Particular Modules".
11539
11540 2006-10-21  Bruno Haible  <bruno@clisp.org>
11541
11542         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
11543         Change mostlyclean-local rule to avoid sh syntax error from bash
11544         versions 2.00..2.05 when $(MOSTLYCLEANDIRS) is empty.
11545
11546 2006-10-23  Jim Meyering  <jim@meyering.net>
11547
11548         * lib/getaddrinfo.c (getnameinfo): Use new lightweight uinttostr,
11549         in place of snprintf.
11550
11551         * modules/inttostr (Files): Add lib/uinttostr.c.
11552         * lib/uinttostr.c (inttostr): New file/function.
11553         * lib/inttostr.h (uinttostr): Declare.
11554         * m4/inttostr.m4: Add AC_LIBOBJ([uinttostr]).
11555         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
11556         Add uinttostr.
11557         * modules/getaddrinfo (Depends-on): Remove snprintf.  Add inttostr.
11558
11559 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
11560
11561         * lib/canonicalize.c (ELOOP): Define if not already defined.
11562         Problem reported by Bruno Haible in
11563         <http://lists.gnu.org/archive/html/bug-gnulib/2006-10/msg00282.html>.
11564
11565 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
11566
11567         * lib/stdint_.h [defined _AIX]: Don't include <sys/types.h>.
11568         Problem reported by Perry Smith and Ville Laurikari.
11569
11570         * lib/getndelim2.c (SSIZE_MAX): Use same defn that getdelim.c
11571         uses.
11572
11573 2006-10-19  Bruno Haible  <bruno@clisp.org>
11574
11575         * lib/getndelim2.c (SSIZE_MAX): Provide fallback definition. Needed
11576         for mingw.
11577
11578 2006-10-19  Bruno Haible  <bruno@clisp.org>
11579
11580         * lib/openat-priv.h (EOPNOTSUPP): Provide fallback definition.
11581         Needed for mingw.
11582
11583 2006-10-19  Bruno Haible  <bruno@clisp.org>
11584
11585         * m4/size_max.m4 (gl_SIZE_MAX): Cache the result.
11586
11587 2006-10-19  Bruno Haible  <bruno@clisp.org>
11588
11589         * m4/allocsa.m4 (gl_ALLOCSA): Invoke gl_FUNC_ALLOCA, don't AC_REQUIRE
11590         it.
11591
11592 2006-10-19  Bruno Haible  <bruno@clisp.org>
11593
11594         * m4/alloca.m4 (gl_FUNC_ALLOCA): Cache the result of the AC_EGREP_CPP
11595         invocation.
11596
11597 2006-10-19  Bruno Haible  <bruno@clisp.org>
11598
11599         * gnulib-tool (func_create_testdir): Don't include ftruncate and
11600         mountlist by default.
11601
11602 2006-10-16  Bruno Haible  <bruno@clisp.org>
11603
11604         * lib/c-strstr.c: Include c-strstr.h.
11605
11606 2006-10-18  Charles Wilson  <cygwin@cwilson.fastmail.fm>
11607
11608         * gnulib-tool: Don't clobber $sourcebase when $local_gnulib_dir ends
11609         in a slash.
11610
11611 2006-10-18  Bruno Haible  <bruno@clisp.org>
11612
11613         * lib/lock.h [C++]: Wrap definitions in extern "C".
11614
11615 2006-10-18  Bruno Haible  <bruno@clisp.org>
11616
11617         * gnulib-tool (func_emit_initmacro_end): Remove duplicates from the
11618         gl_LIBOBJS list.
11619
11620 2006-10-18  Bruno Haible  <bruno@clisp.org>
11621
11622         * lib/findprog.c (find_in_path): Avoid "gcc -Wwrite-strings" warning.
11623
11624 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>
11625
11626         * lib/xstrtol.h: Include gettext.h.
11627         (_STRTOL_ERROR): Wrap English-language formats inside gettext.
11628         Problem reported by Eric Blake.
11629         * modules/xstrtol (Depends-on): Add gettext-h.
11630
11631 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>  (tiny change)
11632
11633         * lib/strftime.c (advance): New macro.
11634         (add): Use it to avoid adding 0 to a FILE *.  FILE can be an
11635         incomplete type, so you can't add 0 to it.  Problem and patch
11636         reported by Eelco Dolstra for dietlibc.
11637
11638 2006-10-18  Jim Meyering  <jim@meyering.net>
11639
11640         * lib/readutmp.c (desirable_utmp_entry): Use "bool" as the
11641         type for a local, and rename it: s/up/user_proc/.
11642
11643 2006-10-18  Sergey Poznyakoff  <gray@gnu.org.ua>
11644
11645         * lib/readutmp.c (desirable_utmp_entry): Implement new flag:
11646         READ_UTMP_USER_PROCESS.
11647         * lib/readutmp.h (READ_UTMP_USER_PROCESS): New flag
11648
11649 2006-10-17  Paul Eggert  <eggert@cs.ucla.edu>
11650
11651         * lib/localcharset.c: Do not check HAVE_SETLOCALE.
11652         * m4/localcharset.m4 (gl_LOCALCHARSET): Don't check for setlocale.
11653
11654 2006-10-17  Eric Blake  <ebb9@byu.net>
11655
11656         * lib/sigprocmask.c (sigprocmask): Fix typo.
11657
11658         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Fix typo.
11659
11660         * modules/clean-temp (Makefile.am): Don't add to make output...
11661         (configure.ac): ...instead define SIGNAL_SAFE_LIST inside
11662         config.h.
11663
11664 2006-10-17  Bruno Haible  <bruno@clisp.org>
11665
11666         * lib/gettext.h (gettext, ngettext, pgettext, npgettext): Define
11667         differently if DEFAULT_TEXT_DOMAIN is set.
11668
11669 2006-10-16  Bruno Haible  <bruno@clisp.org>
11670
11671         * lib/clean-temp.c: Include fwriteerror.h.
11672
11673 2006-10-16  Bruno Haible  <bruno@clisp.org>
11674
11675         * getndelim2.m4 (gl_GETNDELIM2): Remove 2003-10-23 hack.
11676
11677 2006-10-16  Bruno Haible  <bruno@clisp.org>
11678
11679         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Also test for sigset_t.
11680         * lib/sigprocmask.h: Include <sys/types.h>.
11681         (sigset_t): Use the system's definition if present.
11682
11683 2006-10-17  Eric Blake  <ebb9@byu.net>
11684
11685         * lib/xvasprintf.c (includes): Assume config.h.
11686         * lib/xasprintf.c (includes): Likewise.
11687
11688 2006-10-16  Paul Eggert  <eggert@cs.ucla.edu>
11689
11690         * lib/fsusage.c (PROPAGATE_ALL_ONES): Don't assume uintmax_t is
11691         at least as wide as intmax_t.
11692
11693 2006-10-16  Alexandre Duret-Lutz  <adl@gnu.org>
11694
11695         (Imported from Automake.)
11696         * build-aux/gnupload: Update to version 1.1 of directive file.
11697
11698 2006-10-16  Eric Blake  <ebb9@byu.net>
11699
11700         * modules/configmake (Makefile.am): Add pkglibexecdir support, to
11701         match Automake 1.10a.
11702
11703 2006-10-14  Bruno Haible  <bruno@clisp.org>
11704
11705         * modules/sigprocmask: New file.
11706         * lib/sigprocmask.h: New file.
11707         * lib/sigprocmask.c: New file.
11708         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Renamed from
11709         gt_SIGNALBLOCKING. When not defining HAVE_POSIX_SIGNALBLOCKING,
11710         request sigprocmask.o.
11711         (gl_PREREQ_SIGPROCMASK): New macro.
11712         * modules/fatal-signal (Files): Remove m4/signalblocking.m4.
11713         (Depends-on): Add sigprocmask.
11714         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Don't require
11715         gt_SIGNALBLOCKING. Test for 'raise' only once.
11716         * lib/fatal-signal.c: Include sigprocmask.h.
11717         (fatal_signal_set, init_fatal_signal_set, block_fatal_signals,
11718         unblock_fatal_signals): Define always.
11719         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
11720         sigprocmask.
11721
11722 2006-10-14  Paul Eggert  <eggert@cs.ucla.edu>
11723
11724         Sync from Automake.
11725         * build-aux/install-sh (posix_mkdir): Reject FreeBSD 6.1 mkdir -p -m,
11726         which incorrectly sets the mode of an existing destination
11727         directory.  In some cases the unpatched install-sh could do the
11728         equivalent of "chmod 777 /" or "chmod 0 /" on a buggy FreeBSD
11729         system.  We hope this is rare in practice, but it's clearly worth
11730         fixing.  Problem reported by Alex Unleashed in
11731         <http://lists.gnu.org/archive/html/bug-autoconf/2006-10/msg00012.html>.
11732         Also, don't bother to check for -m bugs unless we're using -m;
11733         suggested by Stepan Kasal.
11734
11735 2006-10-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
11736
11737         Sync from Automake.
11738         * build-aux/depcomp (gcc3): Put dependency extraction flags before the
11739         `-c' flag, so they appear at the same position as in %FASTDEP%
11740         mode in depend2.am.  Fixes build failure for FreeBSD's c89,
11741         which ignores unknown options only after the first non-option.
11742         Bug report against M4 by Nelson H. F. Beebe.
11743
11744 2006-10-13  Jim Meyering  <jim@meyering.net>
11745
11746         Fix a bug in yesterday's change.
11747         * lib/fts.c (fts_open): When using FTS_XDEV|FTS_NOSTAT,
11748         p->fts_statp->st_dev would be used uninitialized.
11749         Ensures that we always call fts_stat on the very first entry.
11750         Miklos Szeredi reported that find -xdev stopped working.
11751
11752 2006-10-12  Bruno Haible  <bruno@clisp.org>
11753
11754         * gnulib-tool (func_get_automake_snippet): Append an automatically
11755         computed EXTRA_DIST augmentation.
11756         * modules/acl (Makefile.am): Remove EXTRA_DIST augmentation.
11757         * modules/alloca-opt (Makefile.am): Likewise.
11758         * modules/allocsa (Makefile.am): Likewise.
11759         * modules/arcfour (Makefile.am): Likewise.
11760         * modules/arctwo (Makefile.am): Likewise.
11761         * modules/argmatch (Makefile.am): Likewise.
11762         * modules/argz (Makefile.am): Likewise.
11763         * modules/atexit (Makefile.am): Likewise.
11764         * modules/backupfile (Makefile.am): Likewise.
11765         * modules/byteswap (Makefile.am): Likewise.
11766         * modules/c-strtod (Makefile.am): Likewise.
11767         * modules/c-strtold (Makefile.am): Likewise.
11768         * modules/calloc (Makefile.am): Likewise.
11769         * modules/canon-host (Makefile.am): Likewise.
11770         * modules/canonicalize (Makefile.am): Likewise.
11771         * modules/chdir-long (Makefile.am): Likewise.
11772         * modules/chdir-safer (Makefile.am): Likewise.
11773         * modules/check-version (Makefile.am): Likewise.
11774         * modules/chown (Makefile.am): Likewise.
11775         * modules/cloexec (Makefile.am): Likewise.
11776         * modules/close-stream (Makefile.am): Likewise.
11777         * modules/closeout (Makefile.am): Likewise.
11778         * modules/crc (Makefile.am): Likewise.
11779         * modules/csharpexec (Makefile.am): Likewise.
11780         * modules/cycle-check (Makefile.am): Likewise.
11781         * modules/des (Makefile.am): Likewise.
11782         * modules/dev-ino (Makefile.am): Likewise.
11783         * modules/dirfd (Makefile.am): Likewise.
11784         * modules/dirname (Makefile.am): Likewise.
11785         * modules/dup2 (Makefile.am): Likewise.
11786         * modules/eealloc (Makefile.am): Likewise.
11787         * modules/error (Makefile.am): Likewise.
11788         * modules/euidaccess (Makefile.am): Likewise.
11789         * modules/exclude (Makefile.am): Likewise.
11790         * modules/exitfail (Makefile.am): Likewise.
11791         * modules/fcntl-safer (Makefile.am): Likewise.
11792         * modules/fcntl (Makefile.am): Likewise.
11793         * modules/file-type (Makefile.am): Likewise.
11794         * modules/fileblocks (Makefile.am): Likewise.
11795         * modules/filemode (Makefile.am): Likewise.
11796         * modules/filenamecat (Makefile.am): Likewise.
11797         * modules/fnmatch (Makefile.am): Likewise.
11798         * modules/fopen-safer (Makefile.am): Likewise.
11799         * modules/fpending (Makefile.am): Likewise.
11800         * modules/fprintftime (Makefile.am): Likewise.
11801         * modules/free (Makefile.am): Likewise.
11802         * modules/fsusage (Makefile.am): Likewise.
11803         * modules/ftruncate (Makefile.am): Likewise.
11804         * modules/fts (Makefile.am): Likewise.
11805         * modules/gc-arcfour (Makefile.am): Likewise.
11806         * modules/gc-des (Makefile.am): Likewise.
11807         * modules/gc-hmac-md5 (Makefile.am): Likewise.
11808         * modules/gc-hmac-sha1 (Makefile.am): Likewise.
11809         * modules/gc-md4 (Makefile.am): Likewise.
11810         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
11811         * modules/gc-sha1 (Makefile.am): Likewise.
11812         * modules/gc (Makefile.am): Likewise.
11813         * modules/getaddrinfo (Makefile.am): Likewise.
11814         * modules/getcwd (Makefile.am): Likewise.
11815         * modules/getdelim (Makefile.am): Likewise.
11816         * modules/getdomainname (Makefile.am): Likewise.
11817         * modules/getgroups (Makefile.am): Likewise.
11818         * modules/gethostname (Makefile.am): Likewise.
11819         * modules/gethrxtime (Makefile.am): Likewise.
11820         * modules/getline (Makefile.am): Likewise.
11821         * modules/getloadavg (Makefile.am): Likewise.
11822         * modules/getlogin_r (Makefile.am): Likewise.
11823         * modules/getndelim2 (Makefile.am): Likewise.
11824         * modules/getopt (Makefile.am): Likewise.
11825         * modules/getpagesize (Makefile.am): Likewise.
11826         * modules/getpass-gnu (Makefile.am): Likewise.
11827         * modules/getpass (Makefile.am): Likewise.
11828         * modules/getsubopt (Makefile.am): Likewise.
11829         * modules/gettime (Makefile.am): Likewise.
11830         * modules/gettimeofday (Makefile.am): Likewise.
11831         * modules/getugroups (Makefile.am): Likewise.
11832         * modules/getusershell (Makefile.am): Likewise.
11833         * modules/glob (Makefile.am): Likewise.
11834         * modules/group-member (Makefile.am): Likewise.
11835         * modules/hard-locale (Makefile.am): Likewise.
11836         * modules/hash (Makefile.am): Likewise.
11837         * modules/hmac-md5 (Makefile.am): Likewise.
11838         * modules/hmac-sha1 (Makefile.am): Likewise.
11839         * modules/human (Makefile.am): Likewise.
11840         * modules/idcache (Makefile.am): Likewise.
11841         * modules/imaxabs (Makefile.am): Likewise.
11842         * modules/imaxdiv (Makefile.am): Likewise.
11843         * modules/inet_ntop (Makefile.am): Likewise.
11844         * modules/inet_pton (Makefile.am): Likewise.
11845         * modules/intprops (Makefile.am): Likewise.
11846         * modules/inttostr (Makefile.am): Likewise.
11847         * modules/inttypes (Makefile.am): Likewise.
11848         * modules/isapipe (Makefile.am): Likewise.
11849         * modules/javaversion (Makefile.am): Likewise.
11850         * modules/lchmod (Makefile.am): Likewise.
11851         * modules/lchown (Makefile.am): Likewise.
11852         * modules/localcharset (Makefile.am): Likewise.
11853         * modules/long-options (Makefile.am): Likewise.
11854         * modules/lstat (Makefile.am): Likewise.
11855         * modules/malloc (Makefile.am): Likewise.
11856         * modules/mathl (Makefile.am): Likewise.
11857         * modules/mbchar (Makefile.am): Likewise.
11858         * modules/md2 (Makefile.am): Likewise.
11859         * modules/md4 (Makefile.am): Likewise.
11860         * modules/md5 (Makefile.am): Likewise.
11861         * modules/memcasecmp (Makefile.am): Likewise.
11862         * modules/memchr (Makefile.am): Likewise.
11863         * modules/memcmp (Makefile.am): Likewise.
11864         * modules/memcoll (Makefile.am): Likewise.
11865         * modules/memcpy (Makefile.am): Likewise.
11866         * modules/memmem (Makefile.am): Likewise.
11867         * modules/memmove (Makefile.am): Likewise.
11868         * modules/mempcpy (Makefile.am): Likewise.
11869         * modules/memrchr (Makefile.am): Likewise.
11870         * modules/memset (Makefile.am): Likewise.
11871         * modules/memxor (Makefile.am): Likewise.
11872         * modules/mkancesdirs (Makefile.am): Likewise.
11873         * modules/mkdir-p (Makefile.am): Likewise.
11874         * modules/mkdir (Makefile.am): Likewise.
11875         * modules/mkdtemp (Makefile.am): Likewise.
11876         * modules/mkstemp (Makefile.am): Likewise.
11877         * modules/mktime (Makefile.am): Likewise.
11878         * modules/modechange (Makefile.am): Likewise.
11879         * modules/mountlist (Makefile.am): Likewise.
11880         * modules/nanosleep (Makefile.am): Likewise.
11881         * modules/obstack (Makefile.am): Likewise.
11882         * modules/openat (Makefile.am): Likewise.
11883         * modules/pagealign_alloc (Makefile.am): Likewise.
11884         * modules/pathmax (Makefile.am): Likewise.
11885         * modules/physmem (Makefile.am): Likewise.
11886         * modules/poll (Makefile.am): Likewise.
11887         * modules/posixtm (Makefile.am): Likewise.
11888         * modules/posixver (Makefile.am): Likewise.
11889         * modules/putenv (Makefile.am): Likewise.
11890         * modules/quote (Makefile.am): Likewise.
11891         * modules/quotearg (Makefile.am): Likewise.
11892         * modules/raise (Makefile.am): Likewise.
11893         * modules/read-file (Makefile.am): Likewise.
11894         * modules/readline (Makefile.am): Likewise.
11895         * modules/readlink (Makefile.am): Likewise.
11896         * modules/readtokens (Makefile.am): Likewise.
11897         * modules/readutmp (Makefile.am): Likewise.
11898         * modules/realloc (Makefile.am): Likewise.
11899         * modules/regex (Makefile.am): Likewise.
11900         * modules/rename-dest-slash (Makefile.am): Likewise.
11901         * modules/rename (Makefile.am): Likewise.
11902         * modules/rijndael (Makefile.am): Likewise.
11903         * modules/rmdir (Makefile.am): Likewise.
11904         * modules/rpmatch (Makefile.am): Likewise.
11905         * modules/safe-read (Makefile.am): Likewise.
11906         * modules/safe-write (Makefile.am): Likewise.
11907         * modules/same-inode (Makefile.am): Likewise.
11908         * modules/same (Makefile.am): Likewise.
11909         * modules/save-cwd (Makefile.am): Likewise.
11910         * modules/savedir (Makefile.am): Likewise.
11911         * modules/setenv (Makefile.am): Likewise.
11912         * modules/settime (Makefile.am): Likewise.
11913         * modules/sha1 (Makefile.am): Likewise.
11914         * modules/sig2str (Makefile.am): Likewise.
11915         * modules/snprintf (Makefile.am): Likewise.
11916         * modules/stat-macros (Makefile.am): Likewise.
11917         * modules/stat-time (Makefile.am): Likewise.
11918         * modules/stdbool (Makefile.am): Likewise.
11919         * modules/stdint (Makefile.am): Likewise.
11920         * modules/stdlib-safer (Makefile.am): Likewise.
11921         * modules/stpcpy (Makefile.am): Likewise.
11922         * modules/stpncpy (Makefile.am): Likewise.
11923         * modules/strcase (Makefile.am): Likewise.
11924         * modules/strcasestr (Makefile.am): Likewise.
11925         * modules/strchrnul (Makefile.am): Likewise.
11926         * modules/strcspn (Makefile.am): Likewise.
11927         * modules/strdup (Makefile.am): Likewise.
11928         * modules/strerror (Makefile.am): Likewise.
11929         * modules/strftime (Makefile.am): Likewise.
11930         * modules/strndup (Makefile.am): Likewise.
11931         * modules/strnlen (Makefile.am): Likewise.
11932         * modules/strpbrk (Makefile.am): Likewise.
11933         * modules/strsep (Makefile.am): Likewise.
11934         * modules/strstr (Makefile.am): Likewise.
11935         * modules/strtod (Makefile.am): Likewise.
11936         * modules/strtoimax (Makefile.am): Likewise.
11937         * modules/strtok_r (Makefile.am): Likewise.
11938         * modules/strtol (Makefile.am): Likewise.
11939         * modules/strtoll (Makefile.am): Likewise.
11940         * modules/strtoul (Makefile.am): Likewise.
11941         * modules/strtoull (Makefile.am): Likewise.
11942         * modules/strtoumax (Makefile.am): Likewise.
11943         * modules/strverscmp (Makefile.am): Likewise.
11944         * modules/sys_socket (Makefile.am): Likewise.
11945         * modules/sys_stat (Makefile.am): Likewise.
11946         * modules/sysexits (Makefile.am): Likewise.
11947         * modules/time_r (Makefile.am): Likewise.
11948         * modules/timegm (Makefile.am): Likewise.
11949         * modules/timespec (Makefile.am): Likewise.
11950         * modules/tmpfile-safer (Makefile.am): Likewise.
11951         * modules/trim (Makefile.am): Likewise.
11952         * modules/unistd-safer (Makefile.am): Likewise.
11953         * modules/unlinkdir (Makefile.am): Likewise.
11954         * modules/unlocked-io (Makefile.am): Likewise.
11955         * modules/userspec (Makefile.am): Likewise.
11956         * modules/utime (Makefile.am): Likewise.
11957         * modules/utimecmp (Makefile.am): Likewise.
11958         * modules/utimens (Makefile.am): Likewise.
11959         * modules/vasnprintf (Makefile.am): Likewise.
11960         * modules/vasprintf (Makefile.am): Likewise.
11961         * modules/vsnprintf (Makefile.am): Likewise.
11962         * modules/xalloc (Makefile.am): Likewise.
11963         * modules/xgetcwd (Makefile.am): Likewise.
11964         * modules/xnanosleep (Makefile.am): Likewise.
11965         * modules/xreadlink (Makefile.am): Likewise.
11966         * modules/xstrtod (Makefile.am): Likewise.
11967         * modules/xstrtol (Makefile.am): Likewise.
11968         * modules/xstrtold (Makefile.am): Likewise.
11969         * modules/yesno (Makefile.am): Likewise.
11970         * modules/getdate (Makefile.am): Don't add getdate.h to EXTRA_DIST.
11971
11972 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
11973
11974         * modules/error (Makefile.am): Distribute files through
11975         EXTRA_DIST, not lib_SOURCES.
11976
11977 2006-10-12  Eric Blake  <ebb9@byu.net>
11978
11979         * modules/error (Makefile.am): Distribute files in /lib.
11980         * modules/obstack (Makefile.am): Likewise.
11981
11982 2006-10-12  Bruno Haible  <bruno@clisp.org>
11983
11984         * modules/acl (Makefile.am): Distribute all files in lib/ through
11985         EXTRA_DIST.
11986         * modules/arcfour (Makefile.am): Likewise.
11987         * modules/arctwo (Makefile.am): Likewise.
11988         * modules/argmatch (Makefile.am): Likewise.
11989         * modules/argz (Makefile.am): Likewise.
11990         * modules/atexit (Makefile.am): Likewise.
11991         * modules/backupfile (Makefile.am): Likewise.
11992         * modules/c-strtod (Makefile.am): Likewise.
11993         * modules/c-strtold (Makefile.am): Likewise.
11994         * modules/calloc (Makefile.am): Likewise.
11995         * modules/canon-host (Makefile.am): Likewise.
11996         * modules/canonicalize (Makefile.am): Likewise.
11997         * modules/chdir-long (Makefile.am): Likewise.
11998         * modules/chdir-safer (Makefile.am): Likewise.
11999         * modules/check-version (Makefile.am): Likewise.
12000         * modules/chown (Makefile.am): Likewise.
12001         * modules/cloexec (Makefile.am): Likewise.
12002         * modules/close-stream (Makefile.am): Likewise.
12003         * modules/closeout (Makefile.am): Likewise.
12004         * modules/crc (Makefile.am): Likewise.
12005         * modules/cycle-check (Makefile.am): Likewise.
12006         * modules/des (Makefile.am): Likewise.
12007         * modules/dirfd (Makefile.am): Likewise.
12008         * modules/dirname (Makefile.am): Likewise.
12009         * modules/dup2 (Makefile.am): Likewise.
12010         * modules/euidaccess (Makefile.am): Likewise.
12011         * modules/exclude (Makefile.am): Likewise.
12012         * modules/exitfail (Makefile.am): Likewise.
12013         * modules/fcntl-safer (Makefile.am): Likewise.
12014         * modules/file-type (Makefile.am): Likewise.
12015         * modules/fileblocks (Makefile.am): Likewise.
12016         * modules/filemode (Makefile.am): Likewise.
12017         * modules/filenamecat (Makefile.am): Likewise.
12018         * modules/fnmatch (Makefile.am): Likewise.
12019         * modules/fopen-safer (Makefile.am): Likewise.
12020         * modules/fpending (Makefile.am): Likewise.
12021         * modules/fprintftime (Makefile.am): Likewise.
12022         * modules/free (Makefile.am): Likewise.
12023         * modules/fsusage (Makefile.am): Likewise.
12024         * modules/ftruncate (Makefile.am): Likewise.
12025         * modules/fts (Makefile.am): Likewise.
12026         * modules/gc (Makefile.am): Likewise.
12027         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
12028         * modules/getaddrinfo (Makefile.am): Likewise.
12029         * modules/getcwd (Makefile.am): Likewise.
12030         * modules/getdelim (Makefile.am): Likewise.
12031         * modules/getdomainname (Makefile.am): Likewise.
12032         * modules/getgroups (Makefile.am): Likewise.
12033         * modules/gethostname (Makefile.am): Likewise.
12034         * modules/gethrxtime (Makefile.am): Likewise.
12035         * modules/getline (Makefile.am): Likewise.
12036         * modules/getloadavg (Makefile.am): Likewise.
12037         * modules/getlogin_r (Makefile.am): Likewise.
12038         * modules/getopt (Makefile.am): Likewise.
12039         * modules/getpass (Makefile.am): Likewise.
12040         * modules/getpass-gnu (Makefile.am): Likewise.
12041         * modules/getsubopt (Makefile.am): Likewise.
12042         * modules/gettime (Makefile.am): Likewise.
12043         * modules/gettimeofday (Makefile.am): Likewise.
12044         * modules/getugroups (Makefile.am): Likewise.
12045         * modules/getusershell (Makefile.am): Likewise.
12046         * modules/glob (Makefile.am): Likewise.
12047         * modules/group-member (Makefile.am): Likewise.
12048         * modules/hard-locale (Makefile.am): Likewise.
12049         * modules/hash (Makefile.am): Likewise.
12050         * modules/hmac-md5 (Makefile.am): Likewise.
12051         * modules/hmac-sha1 (Makefile.am): Likewise.
12052         * modules/human (Makefile.am): Likewise.
12053         * modules/idcache (Makefile.am): Likewise.
12054         * modules/imaxabs (Makefile.am): Likewise.
12055         * modules/imaxdiv (Makefile.am): Likewise.
12056         * modules/inet_ntop (Makefile.am): Likewise.
12057         * modules/inet_pton (Makefile.am): Likewise.
12058         * modules/inttostr (Makefile.am): Likewise.
12059         * modules/isapipe (Makefile.am): Likewise.
12060         * modules/lchown (Makefile.am): Likewise.
12061         * modules/long-options (Makefile.am): Likewise.
12062         * modules/lstat (Makefile.am): Likewise.
12063         * modules/malloc (Makefile.am): Likewise.
12064         * modules/mathl (Makefile.am): Likewise.
12065         * modules/mbchar (Makefile.am): Likewise.
12066         * modules/md2 (Makefile.am): Likewise.
12067         * modules/md4 (Makefile.am): Likewise.
12068         * modules/md5 (Makefile.am): Likewise.
12069         * modules/memcasecmp (Makefile.am): Likewise.
12070         * modules/memchr (Makefile.am): Likewise.
12071         * modules/memcmp (Makefile.am): Likewise.
12072         * modules/memcoll (Makefile.am): Likewise.
12073         * modules/memcpy (Makefile.am): Likewise.
12074         * modules/memmem (Makefile.am): Likewise.
12075         * modules/memmove (Makefile.am): Likewise.
12076         * modules/mempcpy (Makefile.am): Likewise.
12077         * modules/memrchr (Makefile.am): Likewise.
12078         * modules/memset (Makefile.am): Likewise.
12079         * modules/memxor (Makefile.am): Likewise.
12080         * modules/mkancesdirs (Makefile.am): Likewise.
12081         * modules/mkdir (Makefile.am): Likewise.
12082         * modules/mkdir-p (Makefile.am): Likewise.
12083         * modules/mkdtemp (Makefile.am): Likewise.
12084         * modules/mkstemp (Makefile.am): Likewise.
12085         * modules/mktime (Makefile.am): Likewise.
12086         * modules/modechange (Makefile.am): Likewise.
12087         * modules/mountlist (Makefile.am): Likewise.
12088         * modules/nanosleep (Makefile.am): Likewise.
12089         * modules/openat (Makefile.am): Likewise.
12090         * modules/pagealign_alloc (Makefile.am): Likewise.
12091         * modules/physmem (Makefile.am): Likewise.
12092         * modules/poll (Makefile.am): Likewise.
12093         * modules/posixtm (Makefile.am): Likewise.
12094         * modules/posixver (Makefile.am): Likewise.
12095         * modules/putenv (Makefile.am): Likewise.
12096         * modules/quote (Makefile.am): Likewise.
12097         * modules/quotearg (Makefile.am): Likewise.
12098         * modules/raise (Makefile.am): Likewise.
12099         * modules/read-file (Makefile.am): Likewise.
12100         * modules/readline (Makefile.am): Likewise.
12101         * modules/readlink (Makefile.am): Likewise.
12102         * modules/readtokens (Makefile.am): Likewise.
12103         * modules/readutmp (Makefile.am): Likewise.
12104         * modules/realloc (Makefile.am): Likewise.
12105         * modules/regex (Makefile.am): Likewise.
12106         * modules/rename (Makefile.am): Likewise.
12107         * modules/rename-dest-slash (Makefile.am): Likewise.
12108         * modules/rijndael (Makefile.am): Likewise.
12109         * modules/rmdir (Makefile.am): Likewise.
12110         * modules/rpmatch (Makefile.am): Likewise.
12111         * modules/safe-read (Makefile.am): Likewise.
12112         * modules/safe-write (Makefile.am): Likewise.
12113         * modules/same (Makefile.am): Likewise.
12114         * modules/save-cwd (Makefile.am): Likewise.
12115         * modules/savedir (Makefile.am): Likewise.
12116         * modules/setenv (Makefile.am): Likewise.
12117         * modules/settime (Makefile.am): Likewise.
12118         * modules/sha1 (Makefile.am): Likewise.
12119         * modules/sig2str (Makefile.am): Likewise.
12120         * modules/snprintf (Makefile.am): Likewise.
12121         * modules/stdlib-safer (Makefile.am): Likewise.
12122         * modules/stpcpy (Makefile.am): Likewise.
12123         * modules/stpncpy (Makefile.am): Likewise.
12124         * modules/strcase (Makefile.am): Likewise.
12125         * modules/strcasestr (Makefile.am): Likewise.
12126         * modules/strchrnul (Makefile.am): Likewise.
12127         * modules/strcspn (Makefile.am): Likewise.
12128         * modules/strdup (Makefile.am): Likewise.
12129         * modules/strerror (Makefile.am): Likewise.
12130         * modules/strftime (Makefile.am): Likewise.
12131         * modules/strndup (Makefile.am): Likewise.
12132         * modules/strnlen (Makefile.am): Likewise.
12133         * modules/strpbrk (Makefile.am): Likewise.
12134         * modules/strsep (Makefile.am): Likewise.
12135         * modules/strstr (Makefile.am): Likewise.
12136         * modules/strtod (Makefile.am): Likewise.
12137         * modules/strtoimax (Makefile.am): Likewise.
12138         * modules/strtok_r (Makefile.am): Likewise.
12139         * modules/strtol (Makefile.am): Likewise.
12140         * modules/strtoll (Makefile.am): Likewise.
12141         * modules/strtoul (Makefile.am): Likewise.
12142         * modules/strtoull (Makefile.am): Likewise.
12143         * modules/strtoumax (Makefile.am): Likewise.
12144         * modules/strverscmp (Makefile.am): Likewise.
12145         * modules/time_r (Makefile.am): Likewise.
12146         * modules/timegm (Makefile.am): Likewise.
12147         * modules/tmpfile-safer (Makefile.am): Likewise.
12148         * modules/unistd-safer (Makefile.am): Likewise.
12149         * modules/unlinkdir (Makefile.am): Likewise.
12150         * modules/userspec (Makefile.am): Likewise.
12151         * modules/utime (Makefile.am): Likewise.
12152         * modules/utimecmp (Makefile.am): Likewise.
12153         * modules/utimens (Makefile.am): Likewise.
12154         * modules/vasnprintf (Makefile.am): Likewise.
12155         * modules/vasprintf (Makefile.am): Likewise.
12156         * modules/vsnprintf (Makefile.am): Likewise.
12157         * modules/xalloc (Makefile.am): Likewise.
12158         * modules/xgetcwd (Makefile.am): Likewise.
12159         * modules/xnanosleep (Makefile.am): Likewise.
12160         * modules/xreadlink (Makefile.am): Likewise.
12161         * modules/xstrtod (Makefile.am): Likewise.
12162         * modules/xstrtol (Makefile.am): Likewise.
12163         * modules/xstrtold (Makefile.am): Likewise.
12164         * modules/yesno (Makefile.am): Likewise.
12165
12166 2006-10-12  Jim Meyering  <jim@meyering.net>
12167
12168         * m4/getloadavg.m4: Revert the change below.
12169
12170         * m4/getloadavg.m4 (gl_GETLOADAVG): Test for the existence of
12171         lib/getloadavg.c using "ls -L", not "test -f".  The latter would
12172         fail with a symlink, which is what coreutils' ./bootstrap now
12173         creates by default.
12174
12175 2006-10-12  Bruno Haible  <bruno@clisp.org>
12176
12177         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): Don't define for MSVC or
12178         mingw.
12179         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX): Handle
12180         MSVC and mingw explicitly.
12181
12182 2006-10-11  Simon Josefsson  <jas@extundo.com>
12183             Bruno Haible  <bruno@clisp.org>
12184
12185         Add support for multiple gnulib-tool invocations in the scope of a
12186         single configure.ac file.
12187         * gnulib-tool (func_emit_lib_Makefile_am): In the _LIBADD variable,
12188         use a private [LT]LIBOBJS variant. Define a _DEPENDENCIES variable
12189         with the same contents as the _LIBADD variable.
12190         (func_emit_initmacro_start, func_emit_initmacro_end,
12191         func_emit_initmacro_done): New functions.
12192         (func_import, func_create_testdir): Invoke them. Allow the identifiers
12193         gl_LIBOBJS and gl_LTLIBOBJS.
12194
12195 2006-10-11  Bruno Haible  <bruno@clisp.org>
12196
12197         * gnulib-tool (GETTEXTPATH, AUTOHEADER, AUTOPOINT): New variables.
12198         (func_create_testdir): Don't create po/Makefile.am, don't invoke
12199         autoreconf. Instead, invoke autopoint explicitly but move back the
12200         *.m4 files from gnulib.
12201
12202 2006-10-11  Bruno Haible  <bruno@clisp.org>
12203
12204         * gnulib-tool (func_usage): Make module names after --create-testdir
12205         optional.
12206         (func_create_testdir): If no module was specified, use nearly all
12207         modules.
12208
12209 2006-10-12  Jim Meyering  <jim@meyering.net>
12210
12211         Big performance improvement for fts-based tools that use FTS_NOSTAT.
12212         Avoid spurious inode-mismatch problems on non-POSIX file systems.
12213         Details: http://article.gmane.org/gmane.comp.lib.gnulib.bugs/7416
12214         * lib/fts_.h (FTS_DEFER_STAT): Define new flag.
12215         (FTS_OPTIONMASK): Extend the mask to reflect this addition.
12216         * lib/fts.c (DT_IS_KNOWN, DT_MUST_BE): Define.
12217         (FTS_NO_STAT_REQUIRED, FTS_STAT_REQUIRED): Define.
12218         (fts_set_stat_required): New function.
12219         (fts_open): Defer the calls to fts_stat, if possible or requested.
12220         Move the code that maps a command-line fts_info value FTS_DOT to FTS_D
12221         into fts_stat itself.
12222         (fts_read): Perform any required (deferred) fts_stat call.
12223         (fts_build): Likewise, for the directory we're about to open and read.
12224         In the readdir loop, carefully decide whether each entry will require
12225         an eventual call to fts_stat, using dirent.d_type info if available.
12226         (fts_stat): Move the test for whether to honor FTS_COMFOLLOW on
12227         a command line argument into this function.  Update all callers.
12228         Map a return value of FTS_DOT to FTS_D for a command line argument.
12229         * modules/fts (Depends-on): Add d-type.  Alphabetize.
12230         Thanks to Miklos Szeredi for his tenacity and for the initial
12231         bug report about "find" failing on a FUSE-based file system.
12232
12233         * lib/fts.c (fts_open): Use consistent indentation.
12234
12235 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
12236
12237         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Renamed from
12238         gl_USE_SYSTEM_EXTENSIONS, to fix a coreutils bootstrap failure
12239         reported by Jim Meyering.  All uses of cache variables renamed
12240         to match Autoconf's.
12241         (gl_USE_SYSTEM_EXTENSIONS): New macro, which simply requires
12242         the other one.
12243
12244         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH):
12245         Fix misspelling in diagnostic.
12246
12247 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
12248
12249         * lib/mkdir-p.c (HAVE_FCHMOD): Define to false if not already
12250         defined.  Problem reported by Matthew Woehlke.
12251
12252         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): New macro.
12253         Add support for Tandem NonStop R series.
12254         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX):
12255         Use new macro.
12256
12257         * lib/rename-dest-slash.c: Include stdbool.h but not string.h.
12258         (has_trailing_slash): Omit size arg; all callers changed.
12259         Omit 'inline', since it doesn't help performance and we'd
12260         need to configure it.
12261         Don't count //, ///, etc. as having a trailing slash.
12262         As a side effect, this removes a C99ism reported by Matthew Woehlke.
12263         (rpl_rename_dest_slash): On failure, use rename's errno rather
12264         than (in some cases) an incorrect or junk errno.
12265         Simplify code by removing need to compute length; this does
12266         cause it to make two passes instead of one over the file name,
12267         but it's worth it.
12268
12269         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Undo previous
12270         change, since Autoconf's version may no longer be appropriate now
12271         that we are using CVS Autoconf's version.  Add support for Tandem.
12272
12273 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
12274             Bruno Haible  <bruno@clisp.org>
12275
12276         * lib/allocsa.h (sa_alignment_longlong, sa_alignment_max): Test
12277         HAVE_LONG_LONG_INT instead of HAVE_LONG_LONG.
12278         * m4/allocsa.m4 (gl_ALLOCSA): Invoke AC_TYPE_LONG_LONG_INT instead of
12279         gl_AC_TYPE_LONG_LONG.
12280
12281         * lib/printf-args.h (arg_type, argument): Test HAVE_LONG_LONG_INT
12282         instead of HAVE_LONG_LONG.
12283         * lib/printf-args.c (printf_fetchargs): Likewise.
12284         * lib/printf-parse.c (PRINTF_PARSE): Likewise.
12285         * lib/vasnprintf.c (VASNPRINTF): Likewise.
12286         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS, gl_PREREQ_PRINTF_PARSE,
12287         gl_PREREQ_VASNPRINTF): Invoke AC_TYPE_LONG_LONG_INT instead of
12288         gl_AC_TYPE_LONG_LONG.
12289
12290 2006-10-11  Bruno Haible  <bruno@clisp.org>
12291
12292         * m4/longlong.m4: Add comments.
12293         * m4/ulonglong.m4: Likewise.
12294
12295 2006-10-10  Bruno Haible  <bruno@clisp.org>
12296
12297         Make it possible to #define stpcpy, strdup to aliases.
12298         * lib/stpcpy.c (stpcpy) [!_LIBC]: Don't undefine.
12299         * lib/strdup.c (strdup) [!_LIBC]: Don't undefine.
12300
12301 2006-10-10  Bruno Haible  <bruno@clisp.org>
12302
12303         Make it possible to #define gcd to an alias.
12304         * lib/gcd.c: Include config.h.
12305
12306 2006-10-10  Bruno Haible  <bruno@clisp.org>
12307
12308         Make it possible to #define c_isascii to an alias.
12309         * lib/c-ctype.h: Don't define the macros if NO_C_CTYPE_MACROS is
12310         defined. Undefine the macros before defining them, to avoid gcc
12311         warnings.
12312         * lib/c-ctype.c: Include config.h. Don't undefine the macros; instead,
12313         define NO_C_CTYPE_MACROS early.
12314
12315 2006-10-10  Bruno Haible  <bruno@clisp.org>
12316
12317         Make it possible to #define set_program_name to an alias.
12318         * lib/progname.c: Don't undefine set_program_name; instead, undefine
12319         ENABLE_RELOCATABLE early.
12320
12321 2006-10-10  Paul Eggert  <eggert@cs.ucla.edu>
12322
12323         Port to Tandem NSK OSS, which has 64-bit signed int but at most
12324         32-bit unsigned int.  Problem reported by Matthew Woehlke in:
12325         http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00062.html
12326         More generally, don't assume that 64-bit signed int is available
12327         if unsigned int is, and vice versa.
12328         * lib/inttypes_.h (_PRIu64_PREFIX, _SCNu64_PREFIX): Depend on
12329         unsigned symbols, not on their signed counterparts.
12330         * lib/stdint_.h (uint64_t, uint_least64_t, uint_fast64_t, uintmax_t):
12331         (UINT64_MAX, UINT_LEAST64_MAX, UINT_FAST64_MAX, UINTMAX_MAX):
12332         (UINT64_C, UINTMAX_C):
12333         Likewise.
12334         * lib/strtoimax.c (strtoll): Depend on signed symbols, not their
12335         unsigned counterparts.
12336         (Have_long_long, Unsigned): New macros.
12337         (Int): Renamed from INT.
12338         (strtoimax): Use the new macros.
12339         * m4/stdint.m4 (gl_STDINT_H): Require AC_TYPE_UNSIGNED_LONG_LONG_INT
12340         and substitute HAVE_UNSIGNED_LONG_LONG_INT.
12341         * modules/inttypes (inttypes.h): Substitute
12342         HAVE_UNSIGNED_LONG_LONG_INT.
12343         * modules/stdint (stdint.h): Likewise.
12344         (Files): Add m4/ulonglong.m4.
12345
12346 2006-10-10  Bruno Haible  <bruno@clisp.org>
12347
12348         Fix a gcc -Wshadow warning.
12349         * lib/gl_anyhash_list2.h (hash_resize): Rename local variable 'index'
12350         to 'bucket'.
12351         * lib/gl_anylinked_list2.h (gl_linked_search_from_to,
12352         gl_linked_indexof_from_to): Likewise.
12353         * lib/gl_linkedhash_list.c (add_to_bucket, remove_from_bucket):
12354         Likewise.
12355         * lib/gl_anytreehash_list1.h (add_to_bucket, remove_from_bucket):
12356         Likewise.
12357         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Likewise.
12358         Reported by Eric Blake.
12359
12360 2006-10-09  Paul Eggert  <eggert@cs.ucla.edu>
12361
12362         * lib/filemode.h [HAVE_DECL_STRMODE]: Include unistd.h too,
12363         for NetBSD.  Problem reported by Bruno Haible.
12364
12365 2006-10-09  Jim Meyering  <jim@meyering.net>
12366
12367         * lib/lchown.c: Include <sys/stat.h> before "stat-macros.h".
12368         Patch from Bruno Haible.
12369
12370 2006-10-09  Jim Meyering  <jim@meyering.net>
12371
12372         * lib/fts-cycle.c (leave_dir): When "leaving" a top level directory due
12373         to FTS_SKIP, don't copy the parent's uninitialized dev/ino values.
12374         Trigger with e.g., mkdir d && valgrind ./chmod u+rwx d d
12375
12376 2006-10-08  Paul Eggert  <eggert@cs.ucla.edu>
12377
12378         Don't include <config.h> twice; this doesn't work in some cases,
12379         e.g., when config.h has "#define intmax_t long long int" and
12380         we include <config.h>, <inttypes.h>, <config.h> in that order.
12381         Problem reported by Matthew Woehlke in:
12382         http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00073.html
12383         * lib/fprintftime.c: Don't include config.h or fprintftime.h.
12384         * lib/fts-cycle.c: Don't include config.h.
12385         * lib/strftime.c: Include fprintftime.h if FPRINTFTIME is defined.
12386         * lib/xstrtoimax.c: Remove copyright notice since it's short tnow.
12387         Don't include config.h or xstrtol.h.  Define STRTOL_T_MINIMUM
12388         and STRTOL_T_MAXIMUM unconditionally, since we now assume gnulib
12389         inttypes.h.
12390         * lib/xstrtoumax.c: Likewise.
12391         * lib/xstrtol.c: Include config.h and xstrtol.h after defining
12392         __strtol and the like, so that this module is more like its siblings.
12393         (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [! defined STRTOL_T_MINIMUM]:
12394         Remove; no longer needed now that we assume gnulib inttypes.h.
12395
12396 2006-10-08  Bruno Haible  <bruno@clisp.org>
12397
12398         * doc/gnulib-tool.texi: Emphasize the drawbacks of the --symlink
12399         option.
12400
12401 2006-10-07  Jim Meyering  <jim@meyering.net>
12402
12403         * modules/inttypes (inttypes.h): Revert what seems to have been
12404         an inadvertent part of today's change: use "|", not "/" in the
12405         substitution for the "/"-containing string, $(ABSOLUTE_INTTYPES_H).
12406
12407 2006-10-07  Bruno Haible  <bruno@clisp.org>
12408
12409         * modules/sublist: New file.
12410
12411 2006-10-07  Bruno Haible  <bruno@clisp.org>
12412
12413         * modules/alloca-opt (alloca.h): Add a "DO NOT EDIT" comment.
12414         * modules/argz (argz.h): Likewise.
12415         * modules/arpa_inet (arpa/inet.h): Likewise.
12416         * modules/byteswap (byteswap.h): Likewise.
12417         * modules/configmake (configmake.h): Likewise.
12418         * modules/fcntl (fcntl.h): Likewise.
12419         * modules/fnmatch (fnmatch.h): Likewise.
12420         * modules/getopt (getopt.h): Likewise.
12421         * modules/glob (glob.h): Likewise.
12422         * modules/inttypes (inttypes.h): Likewise.
12423         * modules/netinet_in (netinet/in.h): Likewise.
12424         * modules/poll (poll.h): Likewise.
12425         * modules/stdbool (stdbool.h): Likewise.
12426         * modules/stdint (stdint.h): Likewise.
12427         * modules/sys_select (sys/select.h): Likewise.
12428         * modules/sys_socket (sys/socket.h): Likewise.
12429         * modules/sys_stat (sys/stat.h): Likewise.
12430         * modules/sysexits (sysexits.h): Likewise.
12431         * modules/unistd (unistd.h): Likewise.
12432         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
12433         Add a "DO NOT EDIT" comment to the generated file.
12434         (func_import): Likewise for gnulib-comp.m4.
12435
12436 2006-10-07  Bruno Haible  <bruno@clisp.org>
12437
12438         * lib/gl_sublist.h: New file.
12439         * lib/gl_sublist.c: New file.
12440
12441 2006-10-06  Paul Eggert  <eggert@cs.ucla.edu>
12442
12443         * lib/mkancesdirs.c (mkancesdirs): Pass to MAKE_DIR both the full file
12444         name (relative to the original working directory) and the file
12445         name component (relative to the temporary working directory).  All
12446         callers changed.
12447         * lib/mkancesdirs.h (mkancesdirs): Adjust prototype to match.
12448         * lib/mkdir-p.c (make_dir_parents): Likewise.
12449         * lib/mkdir-p.h (make_dir_parents): Likewise.
12450
12451 2006-10-06  Eric Blake  <ebb9@byu.net>
12452
12453         Define several macros for use by the clean-temp module.
12454         * m4/close-stream.m4 (gl_CLOSE_STREAM): Define GNULIB_CLOSE_STREAM.
12455         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Define GNULIB_FCNTL_SAFER.
12456         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Define GNULIB_FOPEN_SAFER.
12457
12458         * lib/clean-temp.h (close_stream_temp): New declaration.
12459         * lib/clean-temp.c (includes): Pull in headers according to what
12460         other modules are in use.
12461         (close_stream_temp) [GNULIB_CLOSE_STREAM]: New function.
12462
12463 2006-10-06  Bruno Haible  <bruno@clisp.org>
12464
12465         * lib/javacomp.c (write_temp_file): Use fopen_temp, fwriteerror_temp
12466         instead of fopen, fwriteerror.
12467
12468 2006-10-06  Bruno Haible  <bruno@clisp.org>
12469
12470         * lib/clean-temp.h (cleanup_temp_file, cleanup_temp_subdir,
12471         cleanup_temp_dir_contents, cleanup_temp_dir): Change return type to
12472         int.
12473         * lib/clean-temp.c (do_unlink, do_rmdir, cleanup_temp_file,
12474         cleanup_temp_subdir, cleanup_temp_dir_contents, cleanup_temp_dir):
12475         Return an error indicator.
12476         Suggested by Eric Blake.
12477
12478 2006-10-06  Bruno Haible  <bruno@clisp.org>
12479
12480         * lib/clean-temp.c (PATH_MAX): Provide a fallback for GNU Hurd.
12481         Reported by Eric Blake.
12482
12483 2006-10-06  Bruno Haible  <bruno@clisp.org>
12484
12485         * modules/closeout (Description): Mention stderr too.
12486
12487 2006-10-06  Bruno Haible  <bruno@clisp.org>
12488         and Paul Eggert  <eggert@cs.ucla.edu>
12489
12490         * lib/closeout.c (close_stdout): Also close stderr.
12491         * lib/closeout.h: Update comment.
12492
12493 2006-10-05  Paul Eggert  <eggert@cs.ucla.edu>
12494
12495         Fix some Darwin-7.9.0 porting problems reported by Bruno Haible in
12496         <http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00063.html>.
12497         * lib/dirchownmod.c: Include lchown.h.
12498         * lib/lchown.c: Don't include files that lchown.h now includes.
12499         Don't declare chown, since lchown.h now does that.
12500         * lib/lchown.h: Include errno.h, sys/types.h, unistd.h.
12501         (lchown): Define to rpl_chown if lchown is declared but
12502         does not exist.  Declare using a prototype if lchown is not
12503         declared.  Add a copyright notice.
12504         * lib/mkstemp.h: Include <unistd.h>.
12505         * lib/openat.c: Include lchown.h.
12506
12507         * lib/fcntl_.h (O_NOFOLLOW): Don't depend on O_NOFOLLOW_IS_INEFFECTIVE;
12508         we now test for that separately.
12509         * lib/fts.c (fts_safe_changedir): Inspect HAVE_WORKING_O_NOFOLLOW
12510         rather than O_NOFOLLOW, when testing whether it's possible to
12511         avoid a race condition reliably.
12512         * lib/savewd.c (savewd_chdir): Likewise.
12513
12514         Remove macros that are no longer needed now that stdint.h is
12515         reliable.
12516         * lib/fsusage.c (UINTMAX_MAX): Remove.
12517         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Remove.
12518         * lib/utimecmp.c (SIZE_MAX): Remove.
12519
12520         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check whether lchown is declared.
12521
12522         * m4/fcntl_h.m4 (gl_FCNTL_H): Define HAVE_WORKING_O_NOFOLLOW instead
12523         of O_NOFOLLOW_IS_INEFFECTIVE.  Define HAVE_WORKING_O_NOATIME if
12524         O_NOATIME works.
12525
12526 2006-10-05  Bruno Haible  <bruno@clisp.org>
12527
12528         * lib/gl_list.h (gl_sortedlist_search_from_to,
12529         gl_sortedlist_indexof_from_to): New declarations.
12530         (gl_list_implementation): New fields sortedlist_search_from_to,
12531         sortedlist_indexof_from_to.
12532         (gl_sortedlist_search_from_to, gl_sortedlist_indexof_from_to): New
12533         inline functions.
12534         * lib/gl_list.c (gl_sortedlist_search_from_to,
12535         gl_sortedlist_indexof_from_to): New functions.
12536         * lib/gl_array_list.c (gl_array_sortedlist_indexof_from_to): New
12537         function.
12538         (gl_array_sortedlist_indexof, gl_array_sortedlist_search): Use it.
12539         (gl_array_sortedlist_search_from_to): New function.
12540         (gl_array_list_implementation): Update.
12541         * lib/gl_carray_list.c (gl_carray_sortedlist_indexof_from_to): New
12542         function.
12543         (gl_carray_sortedlist_indexof, gl_carray_sortedlist_search): Use it.
12544         (gl_carray_sortedlist_search_from_to): New function.
12545         (gl_carray_list_implementation): Update.
12546         * lib/gl_anylinked_list2.h (gl_linked_sortedlist_search_from_to,
12547         gl_linked_sortedlist_indexof_from_to): New functions.
12548         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
12549         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
12550         * lib/gl_anytree_list2.h (gl_tree_sortedlist_search_from_to,
12551         gl_tree_sortedlist_indexof_from_to): New functions.
12552         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
12553         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
12554         Update.
12555         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
12556         * lib/gl_rbtreehash_list.c (gl_avltreehash_list_implementation):
12557         Update.
12558
12559 2006-10-05  Bruno Haible  <bruno@clisp.org>
12560
12561         * lib/gl_list.h (gl_list_search_from, gl_list_search_from_to,
12562         gl_list_indexof_from, gl_list_indexof_from_to): New declarations.
12563         (struct gl_list_implementation): Add fields search_from_to,
12564         indexof_from_to. Remove fields search, indexof.
12565         (gl_list_search): Use the search_from_to method.
12566         (gl_list_search_from, gl_list_search_from_to): New functions.
12567         (gl_list_indexof): Use the indexof_from_to method.
12568         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
12569         * lib/gl_list.c (gl_list_search): Use the search_from_to method.
12570         (gl_list_search_from, gl_list_search_from_to): New functions.
12571         (gl_list_indexof): Use the indexof_from_to method.
12572         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
12573         * lib/gl_array_list.c (gl_array_indexof_from_to): Renamed from
12574         gl_array_indexof. Add start_index, end_index arguments.
12575         (gl_array_search_from_to): Renamed from gl_array_search. Add
12576         start_index, end_index arguments.
12577         (gl_array_remove, gl_array_list_implementation): Update.
12578         * lib/gl_carray_list.c (gl_carray_indexof_from_to): Renamed from
12579         gl_carray_indexof. Add start_index, end_index arguments.
12580         (gl_carray_search_from_to): Renamed from gl_carray_search. Add
12581         start_index, end_index arguments.
12582         (gl_carray_remove, gl_carray_list_implementation): Update.
12583         * lib/gl_anylinked_list2.h (gl_linked_search_from_to): Renamed from
12584         gl_linked_search. Add start_index, end_index arguments.
12585         (gl_linked_indexof_from_to): Renamed from gl_linked_indexof. Add
12586         start_index, end_index arguments.
12587         (gl_linked_remove): Update.
12588         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
12589         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
12590         * lib/gl_anytree_list1.h (iterstack_item_t): Change type of 'rightp'
12591         field to 'size_t'.
12592         * lib/gl_anytree_list2.h (gl_tree_search_from_to): Renamed from
12593         gl_tree_search. Add start_index, end_index arguments.
12594         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
12595         start_index, end_index arguments.
12596         (gl_tree_remove): Update.
12597         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
12598         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
12599         * lib/gl_anytreehash_list1.h (compare_position_threshold): New
12600         function.
12601         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Renamed from
12602         gl_tree_search. Add start_index, end_index arguments.
12603         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
12604         start_index, end_index arguments.
12605         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
12606         Update.
12607         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Update.
12608
12609 2006-10-05  Bruno Haible  <bruno@clisp.org>
12610
12611         * modules/fwriteerror (configure.ac): Define GNULIB_FWRITEERROR.
12612
12613         * lib/clean-temp.h (open_temp, fopen_temp, close_temp, fclose_temp,
12614         fwriteerror_temp): New declarations.
12615         * lib/clean-temp.c (uintptr_t): Provide fallback definition.
12616         (descriptors): New variable.
12617         (cleanup): First, close the descriptors.
12618         (register_fd, unregister_fd, open_temp, fopen_temp, close_temp,
12619         fclose_temp, fwriteerror_temp): New functions.
12620
12621 2006-10-04  Jim Meyering  <jim@meyering.net>
12622
12623         * lib/fts.c (fts_open): Tiny comment change.
12624
12625 2006-10-04  Bruno Haible  <bruno@clisp.org>
12626
12627         Make it possible to invoke AC_GNU_SOURCE after gl_LOCK_EARLY.
12628         * m4/lock.m4 (gl_LOCK_EARLY_BODY): New macro, extracted code from
12629         gl_LOCK_BODY.
12630         (gl_LOCK_EARLY): Require gl_LOCK_EARLY_BODY, not gl_LOCK_BODY.
12631         (gl_LOCK_BODY): Remove settings of CPPFLAGS, now done in
12632         gl_LOCK_EARLY_BODY.
12633         (gl_LOCK): Require gl_LOCK_BODY.
12634
12635 2006-10-04  Bruno Haible  <bruno@clisp.org>
12636
12637         * lib/gl_oset.h (gl_setelement_threshold_fn): New type.
12638         (gl_oset_search_atleast): New declaration.
12639         (struct gl_oset_implementation): Add field 'search_atleast'.
12640         (gl_oset_search_atleast): New inline function.
12641         * lib/gl_oset.c (gl_oset_search_atleast): New function.
12642         * lib/gl_array_oset.c (gl_array_search_atleast): New function.
12643         (gl_array_oset_implementation): Update.
12644         * lib/gl_anytree_oset.h (gl_tree_search_atleast): New function.
12645         * lib/gl_avltree_oset.c (gl_avltree_oset_implementation): Update.
12646         * lib/gl_rbtree_oset.c (gl_rbtree_oset_implementation): Update.
12647
12648 2006-10-04  Bruno Haible  <bruno@clisp.org>
12649
12650         * lib/fatal-signal.c (fatal_signals) [WOE32]: Add the SIGBREAK signal.
12651
12652 2006-10-03  Bruno Haible  <bruno@clisp.org>
12653
12654         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Renamed
12655         from gl_avltreehash_list_implementation.
12656
12657 2006-10-03  Bruno Haible  <bruno@clisp.org>
12658
12659         * lib/gl_oset.c (gl_oset_add): Fix return type.
12660
12661 2006-10-02  Paolo Bonzini  <bonzini@gnu.org>  (tiny change)
12662
12663         * lib/quotearg.c (mbstate_t) [!HAVE_MBRTOWC]: #define to int.
12664
12665 2006-10-02  Eric Blake  <ebb9@byu.net>
12666
12667         * modules/strnlen (Depends-on): Add extensions.
12668
12669 2006-10-02  Eric Blake  <ebb9@byu.net>
12670
12671         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use autoconf's
12672         definition in 2.60+.
12673
12674 2006-10-02  Dmitry V. Levin  <ldv@altlinux.org>
12675
12676         * lib/fts.c (fts_close, fts_build, fts_palloc): Remove redundant
12677         checks.
12678
12679 2006-10-02  Bruno Haible  <bruno@clisp.org>
12680
12681         * gnulib-tool (func_emit_lib_Makefile_am): Don't add no-dependencies
12682         to the AUTOMAKE_OPTIONS.
12683         Reported by Jim Meyering.
12684
12685 2006-09-29  Paul Eggert  <eggert@cs.ucla.edu>
12686
12687         Work around bug in Solaris 10 /proc file system:
12688         /proc/self/fd/NNN/.. isn't the parent directory of
12689         the directory whose file descriptor is NNN.  This needs to
12690         be worked around at run time, not compile time, since a
12691         program might be built on Solaris 8, where things work, and
12692         run on Solaris 10.
12693         * lib/openat-priv.h (BUILD_PROC_NAME): Remove.  All callers changed
12694         to use the following interface instead:
12695         (OPENAT_BUFFER_SIZE): New macro.
12696         (openat_proc_name): New function.
12697         * lib/at-func.c (AT_FUNC_NAME): Adjust to above changes.
12698         * lib/openat.c (openat_permissive, openat_needs_fchdir, fdopendir):
12699         Likewise.
12700         * lib/openat-proc.c: New file.
12701         * modules/openat (Files): Add lib/openat-proc.c.
12702         (Depends-on): Add same-inode, stdbool.
12703         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBOBJ(openat-proc).
12704
12705 2006-09-29  Bruno Haible  <bruno@clisp.org>
12706
12707         * lib/fwriteerror.h (fwriteerror_no_ebadf): New declaration.
12708         * lib/(do_fwriteerror): Renamed from fwriteerror. Add ignore_ebadf
12709         argument. Set stdout_closed before testing for ferror, not after.
12710         (fwriteerror, fwriteerror_no_ebadf): New functions.
12711
12712 2006-09-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
12713
12714         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Avoid unused variables warning.
12715
12716 2006-09-28  Paolo Bonzini  <bonzini@gnu.org>
12717
12718         * lib/poll.c (rpl_poll) [__APPLE__]: Use FIONREAD instead of MSG_PEEK.
12719         * m4/poll.m4: Look for sys/ioctl.h and sys/filio.h.
12720
12721 2006-09-28  Jim Meyering  <jim@meyering.net>
12722
12723         * lib/mkdir-p.c: Include "dirchownmod.h", not "dirchownmod.c".
12724         Include <unistd.h>.
12725
12726 2006-09-28  Bruno Haible  <bruno@clisp.org>
12727
12728         * modules/avltreehash-list (Depends-on): Add stdint, remove size_max.
12729         * modules/linkedhash-list (Depends-on): Likewise.
12730         * modules/rbtreehash-list (Depends-on): Likewise.
12731
12732 2006-09-28  Bruno Haible  <bruno@clisp.org>
12733
12734         * lib/strndup.h: Simplify the redefinition of strndup.
12735         (_GL_CONCAT, _GL_XCONCAT, __STRNDUP_ID): Remove macros.
12736         * m4/strndup.m4 (gl_FUNC_STRNDUP): Don't define __STRNDUP_PREFIX.
12737
12738 2006-09-28  Bruno Haible  <bruno@clisp.org>
12739
12740         * lib/gl_avltreehash_list.c: Include <stdint.h> instead of size_max.h.
12741         * lib/gl_linkedhash_list.c: Likewise.
12742         * lib/gl_rbtreehash_list.c: Likewise.
12743
12744 2006-09-27  Paul Eggert  <eggert@cs.ucla.edu>
12745
12746         * lib/canon-host.c (canon_host_r): Work around bug in Darwin 7.9.0
12747         getaddrinfo.
12748
12749         * lib/__fpending.h: Don't include <stdio_ext.h> unless
12750         HAVE_DECL___FPENDING.  This avoids a bug with lsbcc, where
12751         it causes <stdio_ext.h> to cause a compile-time error.
12752         Problem reported by Nelson H. F. Beebe.
12753         * lib/getpass.c: Likewise, except for HAVE_DECL___FSETLOCKING instead
12754         of HAVE_DECL___PENDING.
12755
12756         * m4/fpending.m4 (gl_FUNC_FPENDING): Check for stdio_ext at most once.
12757         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for __fsetlocking's
12758         declaration.
12759
12760 2006-09-27  Jim Meyering  <jim@meyering.net>
12761
12762         This file could end up with a definition for a function
12763         named __strndup, rather than rpl_strndup on a system with
12764         incomplete weak_alias support.
12765         * lib/strndup.c (strndup): Rename from __strndup.
12766         Remove #defines that used to map __strndup to strndup.
12767         Don't use K&R prototypes.
12768         Remove LIBC-related code, since this file is not sync'd with glibc.
12769         * lib/strndup.h: Revamp, accordingly.
12770         * m4/strndup.m4: Modernize.
12771
12772 2006-09-26  Paul Eggert  <eggert@cs.ucla.edu>
12773
12774         * modules/savewd (Depends-on): Add 'raise'.
12775         * lib/savewd.c: Include <signal.h>, for 'raise'.
12776
12777 2006-09-26  Jim Meyering  <jim@meyering.net>
12778
12779         * m4/acl.m4 (AC_FUNC_ACL): Disable ACL support altogether
12780         when we detect Darwin 8.7.0's acl_get_file bug.
12781         Rearrange to perform the new (below) run-test while $LIBS
12782         contains any acl-related library.  Set USE_ACL at the end.
12783         (gl_ACL_GET_FILE): New function.
12784
12785 2006-09-26  Eric Blake  <ebb9@byu.net>
12786
12787         * lib/verror.c: Include <config.h> unconditionally.
12788
12789 2006-09-25  Paul Eggert  <eggert@cs.ucla.edu>
12790
12791         * modules/clock-time (Maintainer): Add self.
12792         * modules/getlogin_r (Depends-on): Add extensions.
12793
12794 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
12795
12796         * modules/clock-time: New module.
12797         * modules/nanosleep (Depends-on): Add clock-time.
12798         * modules/gethrxtime (Depends-on): Likewise.
12799         * modules/gettime (Depends-on): Likewise.
12800         * modules/settime (Depends-on): Likewise.
12801
12802         * modules/fts-lgpl: Depend on openat.
12803         * modules/mkancesdirs: Depend on savewd.
12804         * modules/mkdir-p: Likewise.
12805
12806 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
12807
12808         * m4/host-os.m4 (gl_HOST_OS): Require AC_CANONICAL_HOST.
12809
12810         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Rename cache variable from
12811         `gl_have_arbitrary_file_name_length_limit' to
12812         `gl_cv_have_arbitrary_file_name_length_limit', so that caching
12813         actually works between configure runs.
12814
12815 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
12816             Bruno Haible  <bruno@clisp.org>
12817
12818         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Include <string.h>.
12819
12820 2006-09-25  Jim Meyering  <jim@meyering.net>
12821
12822         * m4/fcntl_h.m4 (gl_FCNTL_H): Fix typo in test for failed open.
12823         This typo caused coreutils/tests/dd/misc to fail on Darwin 8.7.0.
12824
12825 2006-09-25  Eric Blake  <ebb9@byu.net>
12826
12827         * gnulib-tool (func_import, func_create_testdir): Fix typos in
12828         exec's in 2006-09-18 patch when shuffling fds.
12829
12830 2006-09-25  Bruno Haible  <bruno@clisp.org>
12831
12832         * m4/getloadavg.m4 (gl_GETLOADAVG): Fix directory in error message.
12833         Reported by Jim Meyering.
12834
12835 2006-09-24  Jim Meyering  <jim@meyering.net>
12836
12837         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Don't use '>' to
12838         compare a pointer against a literal "0".  That caused failures with
12839         at least HP-UX's hpcc.
12840
12841 2006-09-22  Simon Josefsson  <jas@extundo.com>
12842
12843         * modules/gc-sha1:
12844         * modules/gc-md4:
12845         * modules/gc-hmac-sha1:
12846         * modules/gc-hmac-md5:
12847         * modules/gc-des:
12848         * modules/gc-arcfour: Distribute more files.
12849
12850 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
12851
12852         * lib/gl_anylinked_list2.h [lint] (gl_linked_iterator)
12853         (gl_linked_iterator_from_to): Initialize struct completely.
12854         * lib/gl_anytree_list2.h [lint] (gl_tree_iterator): Likewise.
12855         (gl_tree_iterator_from_to): Likewise
12856         * lib/gl_anytree_oset.h [lint] (gl_tree_iterator): Likewise.
12857         * lib/gl_array_list.c [lint] (gl_array_iterator)
12858         (gl_array_iterator_from_to): Likewise.
12859         * lib/gl_array_oset.c [lint] (gl_array_iterator): Likewise.
12860         * lib/gl_carray_list.c [lint] (gl_carray_iterator)
12861         (gl_carray_iterator_from_to): Likewise.
12862
12863         * lib/gc-gnulib.c [GC_USE_HMAC_SHA1]: include hmac.h for hmac_sha1.
12864         * lib/md4.c (md4_process_block): Remove unused variable.
12865         * lib/rijndael-api-fst.c (rijndaelBlockDecrypt): GCC suggests
12866         parentheses for clarity.
12867
12868 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
12869
12870         * modules/bison-i18n (Depends-on): Add gettext.
12871
12872 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
12873
12874         * m4/fsusage.m4 (gl_STATFS_TRUNCATES): Avoid unused variable.
12875         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Likewise.
12876         * m4/jm-winsz1.m4 (gl_HEADER_TIOCGWINSZ_IN_TERMIOS_H): Likewise;
12877         also add missing comma that caused broken test.
12878         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Include
12879         stdlib.h, for `abort'.
12880         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Avoid unused
12881         variables.
12882         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Check for and
12883         include unistd.h if present, for `rmdir'.
12884         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Avoid unused
12885         variables.
12886         * m4/putenv.m4 (gl_FUNC_PUTENV): Rewrite using AC_RUN_IFELSE, and
12887         in the process include standard headers for prototypes.
12888         * m4/readutmp.m4 (gl_READUTMP): Require AC_GNU_SOURCE, so utmpxname
12889         gets declared on GNU/Linux.
12890         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Check for and include
12891         unistd.h, for `rmdir'.
12892         * m4/time_r.m4 (gl_TIME_R): Avoid unused variables.
12893
12894         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Avoid expression that is
12895         always true.
12896         * m4/strndup.m4 (gl_FUNC_STRNDUP): include stdlib.h, for `free'.
12897
12898         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Avoid gcc -Wall warnings.
12899
12900 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
12901
12902         * gnulib-tool (func_version): Create output all at once.  This
12903         may help avoid triggering unnecessary SIGPIPEs, and at any
12904         rate it doesn't hurt.
12905
12906 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
12907             Bruno Haible  <bruno@clisp.org>
12908
12909         * m4/lock.m4 (gl_LOCK_BODY): Avoid unused variables warning.
12910         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
12911         * m4/signed.m4 (bh_C_SIGNED): Likewise.
12912
12913         * m4/vasprintf.m4 (gl_PREREQ_VASPRINTF_H): New macro.
12914         (gl_FUNC_VASPRINTF): Invoke it.
12915
12916 2006-09-22  Bruno Haible  <bruno@clisp.org>
12917
12918         * m4/getloadavg.m4 (gl_GETLOADAVG): Expect the directory of
12919         getloadavg.c as first argument.
12920
12921 2006-09-22  Bruno Haible  <bruno@clisp.org>
12922
12923         * gnulib-tool (func_import, func_create_testdir): Set gl_source_base
12924         at the beginning of the gl_INIT macro.
12925         * modules/getloadavg (configure.ac): Pass $gl_source_base to
12926         gl_GETLOADAVG.
12927
12928 2006-09-22  Bruno Haible  <bruno@clisp.org>
12929
12930         * gnulib-tool (func_create_megatestdir): Don't include the config-h
12931         module.
12932         Suggested by Ralf Wildenhues.
12933
12934 2006-09-20  Paul Eggert  <eggert@cs.ucla.edu>
12935
12936         Import this patch from libc:
12937
12938         2006-09-06  Jakub Jelinek  <jakub@redhat.com>
12939
12940         * lib/regex_internal.c (re_string_reconstruct): Handle
12941         offset < pstr->valid_raw_len && pstr->offsets_needed case.
12942         Ensure no bytes read before raw_mbs array.  Pass a saved copy of
12943         pstr->valid_len - 1 rather than pstr->valid_raw_len - 1 to
12944         re_string_context_at.
12945
12946         * m4/regex.m4 (gl_REGEX): Check for locale.h, since the test
12947         now requires it.
12948         (gl_PREREQ_REGEX): Don't check for locale.h any more, since
12949         gl_REGEX now does it for us.
12950         (gl_REGEX): Add test taken from
12951         http://sourceware.org/ml/libc-hacker/2006-09/msg00008.html.
12952
12953         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require AC_SYS_LARGEFILE.
12954         Check that large offsets work.  Modernize Autoconf usages.
12955         Prefer "yes" to mean a good thing rather than a bad.
12956         Don't put "#define mkstemp" in config.h, as this might interfere
12957         with standard system headers that "#define mkstemp mkstemp64".
12958
12959         * modules/mkstemp (Depends-on): Add extensions, so that
12960         mkstemp is visible on some platforms.
12961         (Makefile.am): Add mkstemp.h to EXTRA_DIST.
12962         (Include): Change to "mkstemp.h" from <stdlib.h>.
12963         (Files): Add mkstemp.h.
12964
12965         * lib/mkstemp.h: New file, since some standard headers
12966         #define mkstemp.
12967         * lib/mkstemp.c: Revamp to put the !_LIBC code together.
12968         Include "mkstemp.h".
12969         Make the _LIBC code resemble glibc original more,
12970         e.g., use K&R style.
12971         * lib/mkstemp-safer.c: Include "mkstemp.h" instead of <stdlib.h>.
12972         (mkstemp): Remove, since mkstemp.h does this for us.
12973         * lib/stdlib--.h: Include mkstemp.h.
12974
12975         Import this patch from libc:
12976
12977         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
12978
12979         * lib/tempname.c (__gen_tempname): Change attempts_min
12980         into a macro.  Use preprocessor to decide how to initialize
12981         attempts [Coverity CID 67].
12982
12983 2006-09-20  Bruno Haible  <bruno@clisp.org>
12984
12985         * lib/mkdtemp.c: Import from libc.
12986         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
12987                 * sysdeps/posix/tempname.c (__gen_tempname): Change
12988                 attempts_min into a macro.  Use preprocessor to decide how to
12989                 initialize attempts [Coverity CID 67].
12990         2001-11-27  Paul Eggert  <eggert@twinsun.com>
12991                 * sysdeps/posix/tempname.c (__gen_tempname): Try at least
12992                 ATTEMPTS_MIN or TMP_MAX times, whichever is greater.
12993
12994 2006-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
12995
12996         * gnulib-tool (func_exit): New function, to allow to pass the
12997         exit status portably through the trap.  Use everywhere.
12998         (--help, --version): Signal a write error.
12999         (trap): catch SIGPIPE, for write errors.
13000         Exit at the end of the trap, with the correct exit status.
13001
13002 2006-09-19  Karl Berry  <karl@gnu.org>
13003
13004         * doc/gnulib.texi: note about the license texinfo files.
13005
13006 2006-09-19  Eric Blake  <ebb9@byu.net>
13007
13008         * gnulib-tool: Avoid space-tab.
13009
13010 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
13011
13012         * lib/getaddrinfo.c (getaddrinfo) [defined HAVE_IPV6]: Fix typo
13013         that prevented coreutils 6.1 from building.  Problem reported
13014         by Petter Reinholdtsen.
13015
13016 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
13017
13018         * gnulib-tool (avoidlist): Fix typo that broke options like
13019         --avoid=lock that are used by coreutils bootstrap.
13020
13021 2006-09-18  Mark D. Baushke  <mdb@gnu.org>
13022
13023         * m4/inttypes.m4 (gl_INTTYPES_H): Quote "test" args
13024         more systematically.
13025
13026 2006-09-18  Jim Meyering  <jim@meyering.net>
13027
13028         * lib/savewd.c (savewd_restore): Don't shadow: s/status/child_status/.
13029
13030 2006-09-18  Bruno Haible  <bruno@clisp.org>
13031
13032         * modules/inttypes (Files): Remove m4/inttypes-h.m4.
13033
13034 2006-09-18  Bruno Haible  <bruno@clisp.org>
13035
13036         * m4/inttypes-h.m4 (gl_HEADER_INTTYPES_H): Remove macro.
13037         * m4/inttypes-pri.m4: Require autoconf >= 2.52.
13038         (gt_INTTYPES_PRI): Invoke AC_CHECK_HEADERS on inttypes.h. Test
13039         ac_cv_header_inttypes_h instead of gl_cv_header_inttypes_h.
13040         * m4/gettext.m4: Require autoconf >= 2.52.
13041         (gt_INTL_SUBDIR_CORE): Invoke AC_CHECK_HEADERS on inttypes.h.
13042         * m4/inttypes.m4 (gl_INTTYPES_H): Test ac_cv_header_inttypes_h instead
13043         of gl_cv_header_inttypes_h.
13044
13045 2006-09-18  Bruno Haible  <bruno@clisp.org>
13046
13047         * lib/javaversion.c: Include configmake.h.
13048
13049 2006-09-18  Bruno Haible  <bruno@clisp.org>
13050
13051         * gnulib-tool (func_import, func_create_testdir): Use exec tricks to
13052         avoid that the while loops be executed in a subshell.
13053
13054 2006-09-18  Bruno Haible  <bruno@clisp.org>
13055
13056         * MODULES.html.sh (func_module): Break long lines.
13057         Suggested by Bruce Korb <bkorb@gnu.org>.
13058
13059 2006-09-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
13060
13061         Speed up by a factor of 1.12.
13062         * gnulib-tool (nl): New variable.
13063         (func_import): Rewrite include directive extraction to only read each
13064         directive once.
13065
13066 2006-09-17  Bruno Haible  <bruno@clisp.org>
13067
13068         * modules/javaversion (Makefile.am): Remove DEFS setting.
13069         (Depends-on): Add configmake, for PKGDATADIR definition.
13070
13071 2006-09-17  Bruno Haible  <bruno@clisp.org>
13072
13073         * gnulib-tool (func_create_testdir): Rewrite all files at once.
13074
13075 2006-09-17  Bruno Haible  <bruno@clisp.org>
13076
13077         * gnulib-tool (func_append): New function, stolen from libtool.m4.
13078         (func_modules_transitive_closure, func_modules_add_dummy,
13079         func_modules_to_filelist, func_import, func_create_testdir,
13080         func_create_megatestdir, ...): Use it wherever possible.
13081         Suggested by Ralf Wildenhues.
13082
13083 2006-09-16  Karl Berry  <karl@gnu.org>
13084
13085         * doc/fdl.texi (ADDENDUM): switch to @heading from @appendixsubsec,
13086         to avoid sectioning errors.
13087         * doc/lgpl.texi, gpl.texi (Copying): downcase @unnumbered title.
13088         [ifinfo]: blank line after @center-ed titles.
13089         * doc/lgpl.texi (Library Copying): Rename main node to GNU LGPL.
13090         Spell FSF address consistently with others.
13091         (These changes approved by rms.)
13092
13093 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
13094
13095         Speed up by a factor of 1.61.
13096         * gnulib-tool (func_modules_transitive_closure): Rewrite to not check
13097         already checked module names again.
13098
13099 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
13100
13101         Speed up by a factor of 1.13.
13102         * gnulib-tool (func_import): Rewrite all old_files at once; likewise
13103         for new_files, and the input to func_add_or_update.
13104
13105 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
13106
13107         * gnulib-tool (func_all_modules, func_modules_to_filelist, func_import,
13108         func_create_testdir, ...): Change 'sort | uniq' to 'sort -u'.
13109
13110 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
13111
13112         * modules/mkancesdirs (Depends-on): Add fcntl.
13113         * modules/savewd: New file.
13114         * MODULES.html.sh (File system functions): Add savewd.
13115
13116         * modules/configmake (Makefile.am): Add support for the
13117         Automake-supplied PKGLIBDIR, PKGINCLUDEDIR, PKGDATADIR.
13118
13119 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
13120
13121         * m4/savewd.m4: New file.
13122
13123 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
13124
13125         * lib/dirchownmod.c: Don't include fcntl.h; no longer needed.
13126         (dirchownmod): New arg FD.  All callers changed.
13127         Use FD rather than opening the directory ourself, as opening is
13128         now the caller's responsibility.
13129         * lib/dirchownmod.h: Likewise.
13130         * lib/mkancesdirs.c: Include <sys/types.h>, for portability to older
13131         hosts that require <sys/types.h> before <sys/stat.h>.  Include
13132         fcntl.h, savewd.h, and unistd.h, not dirname.h and stat-macros.h.
13133         (test_dir): Remove.
13134         (mkancesdirs): Return length of prefix of FILE that has already
13135         been made, or -2 if there is a child doing the work.  Redo
13136         algorithm so that it is O(N) rather than O(N**2).  Optimize away
13137         ".", and treat ".." specially since it might stray back into
13138         already-created areas.  Use a subprocess if necessary.  New arg
13139         WD; all users changed.  MAKE_DIR function should now return 1
13140         if it creates a directory that is not readable.  Return -2 if
13141         a child process is spun off.
13142         * lib/mkancesdirs.h: Include <stddef.h>, for ptrdiff_t.
13143         Adjust signature to match code.
13144         * lib/mkdir-p.c: Include dirname.h, for IS_ABSOLUTE_FILE_NAME.
13145         (make_dir_parents): Use a subprocess if necessary.  New arg WD;
13146         all users changed.
13147         * lib/savewd.c, lib/savewd.h: New files.
13148
13149 2006-09-15  Jim Meyering  <jim@meyering.net>
13150
13151         * modules/rename-dest-slash: New module.
13152         * MODULES.html.sh (posix_compat): Add it here.
13153
13154         * modules/rename: Reflect vb_FUNC_RENAME -> gl_FUNC_RENAME change.
13155
13156 2006-09-15  Jim Meyering  <jim@meyering.net>
13157
13158         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH): New
13159         file.
13160
13161         * m4/rename.m4 (gl_FUNC_RENAME): Rename from vb_FUNC_RENAME.
13162
13163 2006-09-15  Jim Meyering  <jim@meyering.net>
13164
13165         * lib/rename-dest-slash.c (has_trailing_slash): Use
13166         FILE_SYSTEM_PREFIX_LEN, for non-POSIX systems.
13167         (rpl_rename_dest_slash): Perform the cheaper trailing slash
13168         test before testing whether SRC is a directory.
13169         Suggestions from Bruno Haible.
13170
13171         Avoid a warning about an unused variable.
13172         * lib/regex_internal.c (re_dfa_add_node): Move declaration of "type"
13173         into the #ifdef block where it's used.
13174
13175         * lib/rename-dest-slash.c: New file.
13176
13177 2006-09-14  Bruno Haible  <bruno@clisp.org>
13178
13179         * lib/allocsa.c: Include <config.h> unconditionally.
13180         * lib/asnprintf.c: Likewise.
13181         * lib/asprintf.c: Likewise.
13182         * lib/c-strcasecmp.c: Likewise.
13183         * lib/c-strcasestr.c: Likewise.
13184         * lib/c-strncasecmp.c: Likewise.
13185         * lib/c-strstr.c: Likewise.
13186         * lib/classpath.c: Likewise.
13187         * lib/clean-temp.c: Likewise.
13188         * lib/concatpath.c: Likewise.
13189         * lib/copy-file.c: Likewise.
13190         * lib/csharpcomp.c: Likewise.
13191         * lib/csharpexec.c: Likewise.
13192         * lib/execute.c: Likewise.
13193         * lib/fatal-signal.c: Likewise.
13194         * lib/findprog.c: Likewise.
13195         * lib/fwriteerror.c: Likewise.
13196         * lib/gl_array_list.c: Likewise.
13197         * lib/gl_array_oset.c: Likewise.
13198         * lib/gl_avltree_list.c: Likewise.
13199         * lib/gl_avltree_oset.c: Likewise.
13200         * lib/gl_avltreehash_list.c: Likewise.
13201         * lib/gl_carray_list.c: Likewise.
13202         * lib/gl_linked_list.c: Likewise.
13203         * lib/gl_linkedhash_list.c: Likewise.
13204         * lib/gl_list.c: Likewise.
13205         * lib/gl_oset.c: Likewise.
13206         * lib/gl_rbtree_list.c: Likewise.
13207         * lib/gl_rbtree_oset.c: Likewise.
13208         * lib/gl_rbtreehash_list.c: Likewise.
13209         * lib/imaxabs.c: Likewise.
13210         * lib/imaxdiv.c: Likewise.
13211         * lib/javacomp.c: Likewise.
13212         * lib/javaexec.c: Likewise.
13213         * lib/javaversion.c: Likewise.
13214         * lib/linebreak.c: Likewise.
13215         * lib/localcharset.c: Likewise.
13216         * lib/lock.c: Likewise.
13217         * lib/mbchar.c: Likewise.
13218         * lib/mbswidth.c: Likewise.
13219         * lib/mkdtemp.c: Likewise.
13220         * lib/pipe.c: Likewise.
13221         * lib/printf-args.c: Likewise.
13222         * lib/printf-parse.c: Likewise.
13223         * lib/progname.c: Likewise.
13224         * lib/progreloc.c: Likewise.
13225         * lib/readlink.c: Likewise.
13226         * lib/sh-quote.c: Likewise.
13227         * lib/stpcpy.c: Likewise.
13228         * lib/stpncpy.c: Likewise.
13229         * lib/strcasecmp.c: Likewise.
13230         * lib/strcasestr.c: Likewise.
13231         * lib/strcspn.c: Likewise.
13232         * lib/striconv.c: Likewise.
13233         * lib/strncasecmp.c: Likewise.
13234         * lib/strnlen1.c: Likewise.
13235         * lib/strstr.c: Likewise.
13236         * lib/strtok_r.c: Likewise.
13237         * lib/tls.c: Likewise.
13238         * lib/tmpdir.c: Likewise.
13239         * lib/unicodeio.c: Likewise.
13240         * lib/unsetenv.c: Likewise.
13241         * lib/vasnprintf.c: Likewise.
13242         * lib/vasprintf.c: Likewise.
13243         * lib/wait-process.c: Likewise.
13244         * lib/xallocsa.c: Likewise.
13245         * lib/xsetenv.c: Likewise.
13246         * lib/xstriconv.c: Likewise.
13247
13248 2006-09-13  Simon Josefsson  <jas@extundo.com>
13249
13250         * m4/getdate.m4: Don't AC_LIBOBJ([getdate]), automake takes care of
13251         that internally, suggested by Ralf Wildenhues
13252         <Ralf.Wildenhues@gmx.de>.
13253
13254 2006-09-13  Simon Josefsson  <jas@extundo.com>
13255
13256         * gnulib-tool (func_emit_lib_Makefile_am): Use $(LIBOBJS), not
13257         @LIBOBJS@.
13258         Suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
13259
13260 2006-09-13  Paul Eggert  <eggert@cs.ucla.edu>
13261
13262         * lib/_fpending.c: Include <config.h> unconditionally, since we no
13263         longer worry about uses that don't define HAVE_CONFIG_H.
13264         * lib/acl.c, lib/alloca.c, lib/argmatch.c, lib/atexit.c:
13265         * lib/backupfile.c, lib/basename.c, lib/c-stack.c, lib/c-strtod.c:
13266         * lib/calloc.c,lib/ canon-host.c, lib/canonicalize.c, lib/chdir-long.c:
13267         * lib/chdir-safer.c, lib/chown.c, lib/cloexec.c, lib/close-stream.c:
13268         * lib/closeout.c, lib/creat-safer.c, lib/cycle-check.c, lib/diacrit.c:
13269         * lib/dirchownmod.c, lib/dirfd.c, lib/dirname.c, lib/dup-safer.c:
13270         * lib/dup2.c, lib/error.c, lib/euidaccess.c, lib/exclude.c:
13271         * lib/exitfail.c, lib/fchmodat.c, lib/fchown-stub.c, lib/fd-safer.c:
13272         * lib/file-type.c, lib/fileblocks.c, lib/filemode.c, lib/filenamecat.c:
13273         * lib/fnmatch.c, lib/fopen-safer.c, lib/fprintftime.c, lib/free.c:
13274         * lib/fsusage.c, lib/ftruncate.c, lib/fts-cycle.c, lib/fts.c:
13275         * lib/full-write.c, lib/gai_strerror.c, lib/getcwd.c, lib/getdate.y:
13276         * lib/getdomainname.c, lib/getgroups.c, lib/gethostname.c:
13277         * lib/gethrxtime.c, lib/getloadavg.c, lib/getlogin_r.c:
13278         * lib/getndelim2.c, lib/getnline.c, lib/getopt.c, lib/getopt1.c:
13279         * lib/getpass.c, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c:
13280         * lib/getusershell.c, lib/glob.c, lib/group-member.c:
13281         * lib/hard-locale.c, lib/hash-pjw.c, lib/hash.c, lib/human.c:
13282         * lib/idcache.c, lib/inet_ntop.c, lib/inet_pton.c, lib/inttostr.c:
13283         * lib/isdir.c, lib/lchown.c, lib/linebuffer.c, lib/long-options.c:
13284         * lib/lstat.c, lib/malloc.c, lib/md5.c, lib/memcasecmp.c, lib/memchr.c:
13285         * lib/memcmp.c, lib/memcoll.c, lib/memcpy.c, lib/memmove.c:
13286         * lib/memrchr.c, lib/mkancesdirs.c, lib/mkdir-p.c, lib/mkdir.c:
13287         * lib/mkdirat.c, lib/mkstemp-safer.c, lib/mkstemp.c, lib/modechange.c:
13288         * lib/mountlist.c, lib/nanosleep.c, lib/obstack.c, lib/open-safer.c:
13289         * lib/openat-die.c, lib/openat.c, lib/pagealign_alloc.c, lib/physmem.c:
13290         * lib/pipe-safer.c, lib/posixtm.c, lib/posixver.c, lib/putenv.c:
13291         * lib/quote.c, lib/quotearg.c, lib/raise.c, lib/readtokens.c:
13292         * lib/readtokens0.c, lib/readutmp.c, lib/realloc.c, lib/regex.c:
13293         * lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c:
13294         * lib/same.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c:
13295         * lib/settime.c, lib/sha1.c, lib/sig2str.c, lib/snprintf.c:
13296         * lib/strdup.c, lib/strerror.c, lib/strftime.c, lib/stripslash.c:
13297         * lib/strndup.c, lib/strnlen.c, lib/strpbrk.c, lib/strtod.c:
13298         * lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c:
13299         * lib/time_r.c, lib/timegm.c, lib/tmpfile-safer.c, lib/unlinkdir.c:
13300         * lib/userspec.c, lib/utime.c, lib/utimecmp.c, lib/utimens.c:
13301         * lib/version-etc-fsf.c, lib/version-etc.c, lib/xalloc-die.c:
13302         * lib/xgetcwd.c, lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c:
13303         * lib/xnanosleep.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtoimax.c:
13304         * lib/xstrtol.c, lib/xstrtoumax.c, lib/yesno.c:
13305         Likewise.
13306
13307 2006-09-13  Eric Blake  <ebb9@byu.net>
13308
13309         * lib/getopt.c: Fix typo in last commit.
13310
13311 2006-09-12  Sergey Poznyakoff  <gray@gnu.org.ua>
13312
13313         * lib/argp-help.c (argp_doc): Make sure NULL is not passed to
13314         dgettext.
13315
13316 2006-09-12  Jim Meyering  <jim@meyering.net>
13317
13318         * lib/nanosleep.c: Include <sys/types.h> before sys/select.h, to avoid
13319         compilation failure (due to use of pid_t in latter) on NetBSD 1.6.
13320         Reported by Nelson H. F. Beebe.
13321
13322 2006-09-10  Sergey Poznyakoff  <gray@gnu.org.ua>
13323
13324         * lib/argp-parse.c (__argp_parse) [!_LIBC]: Make sure
13325         program_invocation_name and program_invocation_short_name are
13326         initialized.
13327         * lib/argp-namefrob.h: Move declarations of program_invocation_name
13328         and program_invocation_short_name to argp.h, so they are visible
13329         to user programs.
13330         * lib/argp.h: Likewise
13331
13332 2006-09-10  Bruno Haible  <bruno@clisp.org>
13333
13334         * modules/mkdtemp (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
13335         m4/inttypes_h.m4, m4/uintmax_t.m4.
13336
13337 2006-09-10  Bruno Haible  <bruno@clisp.org>
13338
13339         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Don't require
13340         gl_AC_TYPE_UINTMAX_T.
13341
13342 2006-09-10  Bruno Haible  <bruno@clisp.org>
13343
13344         * lib/mkdtemp.c: Include <stdint.h> always. Don't include <inttypes.h>.
13345
13346 2006-09-09  Sergey Poznyakoff  <gray@gnu.org.ua>
13347
13348         * lib/argp.h (struct argp): Document the N_("..") "\v" N_("..")
13349         convention.  Text proposed by Bruno Haible.
13350         (struct argp_option): Document the use of N_() wrappers.
13351
13352         * lib/argp-help.c (argp_doc): Split the untranslated doc string on
13353         '\v', and translate the two parts separately, instead of feeding
13354         the whole string to gettext.  This allows to exclude
13355         '\v' from the strings visible to the translator by writing doc
13356         strings as N_("..") "\v" N_("..").
13357
13358 2006-09-09  Paul Eggert  <eggert@cs.ucla.edu>
13359
13360         * config/srclist.txt: Undo latest change; the bug was fixed.
13361
13362 2006-09-09  Bruno Haible  <bruno@clisp.org>
13363
13364         * gnulib-tool (func_emit_lib_Makefile_am): Eliminate lib_LDFLAGS
13365         assignments if building a library without libtool.
13366         (func_emit_tests_Makefile_am): Likewise. Handle lib_* variables as
13367         in func_emit_lib_Makefile_am.
13368         (func_import): When building a static library libfoo.a, arrange to
13369         define variables LIBFOO_LIBDEPS and LIBFOO_LTLIBDEPS.
13370         (func_create_testdir): Likewise.
13371         * modules/gc (configure.ac, Makefile.am): If building statically,
13372         augment gl_libdeps and gl_ltlibdeps instead of lib_LDFLAGS.
13373         * modules/iconvme (configure.ac, Makefile.am): Likewise.
13374         * modules/striconv (configure.ac, Makefile.am): Likewise.
13375         Based on a suggestion by Ralf Wildenhues.
13376
13377 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
13378
13379         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
13380         Check for unistd.h too, since Autoconf doesn't assume POSIX.
13381         Also:
13382
13383         2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
13384         Add year_2050_test to catch glibc bug 2821
13385         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
13386
13387         2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
13388         Prefer #ifdef to #if.
13389
13390         2006-04-02  Paul Eggert  <eggert@cs.ucla.edu>
13391         Return from 'main' instead of calling 'exit'.
13392
13393 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
13394
13395         * lib/mktime.c (guess_time_tm): Fix bug where mktime
13396         returned the maximum time_t value rather than (time_t) -1.
13397         Problem originally reported by William Bardwell
13398         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
13399
13400         * lib/isapipe.h (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
13401         Moved to here ...
13402         * lib/isapipe.c (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
13403         ... from here.
13404
13405 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
13406
13407         * config/srclist.txt: Temporarily comment out mktime.c until glibc bug
13408         2821 is fixed.
13409
13410 2006-09-08  Jim Meyering  <jim@meyering.net>
13411
13412         Don't make generated files read-only.  That would bother too many
13413         people.  However, do retain the ability to work when targets are
13414         read-only: remove the destination and temporary files before writing
13415         them (when generated via sed or echo), or by using the -f option for
13416         both cp and mv commands.  Suggestion to use -f from Paul Eggert.
13417         * modules/alloca-opt, modules/argz, modules/arpa_inet:
13418         * modules/byteswap, modules/configmake, modules/fcntl:
13419         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
13420         * modules/localcharset, modules/netinet_in, modules/poll:
13421         * modules/stdbool, modules/stdint, modules/sys_select:
13422         * modules/sys_socket, modules/sys_stat, modules/sysexits:
13423
13424 2006-09-08  Jim Meyering  <jim@meyering.net>
13425
13426         Avoid new build failure on FreeBSD 6.0.
13427         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Include
13428         <sys/param.h> when testing whether getmntinfo uses statvfs.  Patch by
13429         Pavel Tsekov, in <http://savannah.gnu.org/bugs/?17643>.
13430
13431 2006-09-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
13432
13433         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't use plain echo.
13434
13435 2006-09-07  Jim Meyering  <jim@meyering.net>
13436
13437         Fix global typo in last change: use chmod u-w, not chmod u-x.
13438         Spotted by Paul Eggert and Bruce Korb.
13439         * modules/alloca-opt, modules/argz, modules/arpa_inet:
13440         * modules/byteswap, modules/configmake, modules/fcntl:
13441         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
13442         * modules/localcharset, modules/netinet_in, modules/poll:
13443         * modules/stdbool, modules/stdint, modules/sys_select:
13444         * modules/sys_socket, modules/sys_stat, modules/sysexits:
13445
13446 2006-09-06  Jim Meyering  <jim@meyering.net>
13447
13448         Make generated files be read-only.
13449         * modules/alloca-opt (Makefile.am): Work also when $@ is read-only.
13450         Ensure that each generated file is now read-only.
13451         * modules/argz: Likewise.
13452         * modules/arpa_inet: Likewise.
13453         * modules/byteswap: Likewise.
13454         * modules/configmake: Likewise.
13455         * modules/fcntl: Likewise.
13456         * modules/fnmatch: Likewise.
13457         * modules/getopt: Likewise.
13458         * modules/glob: Likewise.
13459         * modules/inttypes: Likewise.
13460         * modules/netinet_in: Likewise.
13461         * modules/poll: Likewise.
13462         * modules/stdbool: Likewise.
13463         * modules/stdint: Likewise.
13464         * modules/sys_select: Likewise.
13465         * modules/sys_socket: Likewise.
13466         * modules/sys_stat: Likewise.
13467         * modules/sysexits: Likewise.
13468         * modules/localcharset: Same as above, but continue using temporary
13469         file named "t-$@" (why different?) rather than the "$@-t" used
13470         everywhere else.
13471
13472         * modules/sysexits (Makefile.am): Replace literal occurrences
13473         of "sysexit.h" more readable, and more consistent, "$@".
13474
13475 2006-09-06  Bruno Haible  <bruno@clisp.org>
13476
13477         * modules/striconv: New file.
13478         * modules/xstriconv: New file.
13479         * MODULES.html.sh (Internationalization functions): Add striconv,
13480         xstriconv.
13481
13482 2006-09-06  Bruno Haible  <bruno@clisp.org>
13483
13484         * modules/gc (Makefile.am): Augment lib_LDFLAGS, not lib_LIBADD.
13485         * modules/iconvme (Makefile.am): Likewise. Also handle the case of
13486         not using libtool correctly.
13487
13488 2006-09-06  Bruno Haible  <bruno@clisp.org>
13489
13490         * lib/striconv.h: New file.
13491         * lib/striconv.c: New file, merging iconvme.c with GNU gettext's
13492         iconvstring.c.
13493         * lib/xstriconv.h: New file.
13494         * lib/xstriconv.c: New file.
13495
13496 2006-09-06  Bruno Haible  <bruno@clisp.org>
13497
13498         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
13499         lib_..._LDFLAGS.
13500
13501 2006-09-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
13502
13503         * lib/argz_.h: Sync from Libtool.
13504
13505         2006-09-04  George Bosilca <bosilca@cs.utk.edu>
13506                 and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
13507
13508         * lib/libltdl/argz_.h: It's __cplusplus, not _cplusplus.
13509
13510 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
13511
13512         * modules/trim: New file.
13513
13514 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
13515
13516         * lib/trim.h: New file.
13517         * lib/trim.c: New file.
13518
13519 2006-09-05  Bruno Haible  <bruno@clisp.org>
13520
13521         * MODULES.html.sh (String handling): Add trim.
13522
13523 2006-09-04  Karl Berry  <karl@gnu.org>
13524
13525         * config/srclist.txt (signed.m4, gettext.m4): changes not propagated
13526         until next release.
13527
13528 2006-09-03  Bruno Haible  <bruno@clisp.org>
13529
13530         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Locate mingw shared libraries
13531         correctly.
13532
13533 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
13534
13535         * m4/getloadavg.m4 (gl_GETLOADAVG): Use CONFIGURING_GETLOADAVG,
13536         not gl_GETLOADAVG.  Omit unneeded semicolons.
13537         Problems reported by Ralf Wildenhues in
13538         <http://lists.gnu.org/archive/html/bug-gnulib/2006-09/msg00000.html>.
13539         (gl_PREREQ_GETLOADAVG): Use AC_DEFUN, not m4_define.  Put
13540         at the end, which is the usual gnulib style.
13541
13542         * m4/fstypename.m4 (gl_FSTYPENAME): Use AC_CHECK_MEMBERS instead
13543         of doing all the work ourselves.
13544         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Don't check for
13545         sys/statvfs.h since the code doesn't use HAVE_SYS_STATVFS_H.
13546
13547 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
13548
13549         * lib/getloadavg.c: Use CONFIGURING_GETLOADAVG, not gl_GETLOADAVG.
13550         Problem reported by Ralf Wildenhues in
13551         <http://lists.gnu.org/archive/html/bug-gnulib/2006-09/msg00000.html>.
13552
13553         * lib/mountlist.c: All uses of HAVE_F_FSTYPENAME_IN_STATFS replaced by
13554         HAVE_STRUCT_STATFS_F_FSTYPENAME.
13555
13556 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
13557
13558         * gnulib-tool (func_emit_lib_Makefile_am): Fix typos in
13559         yesterday's patch by changing test -n to test -z.
13560
13561 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
13562
13563         * modules/getloadavg (Files): Add m4/getloadavg.m4.
13564         (configure.ac): AC_FUNC_GETLOADAVG -> gl_GETLOADAVG, as
13565         the former is now obsolescent.
13566
13567         * modules/chdir-long (Depends-on): Add fcntl.
13568
13569 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
13570
13571         * m4/fnmatch.m4: Add comment that Autoconf AC_FUNC_FNMATCH is
13572         obsolescent, and programs should use gnulib instead.
13573         * m4/getloadavg.m4: New file, with contents taken from Autoconf
13574         but with prefixes changed.
13575
13576 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
13577
13578         * lib/getloadavg.c [defined gl_GETLOADAVG]: Don't include config.h
13579         or stdbool.h, because they might not exist while configuring.
13580
13581         * lib/chdir-long.c: Include <fcntl.h>, for O_DIRECTORY.
13582         Don't include unistd.h or limits.h; not needed, since chdir-long.h
13583         does that for us.
13584         (O_DIRECTORY): Remove.
13585
13586 2006-08-31  Eric Blake  <ebb9@byu.net>
13587
13588         * gnulib-tool: Don't let emacs change spaces to TAB.
13589
13590 2006-08-31  Bruno Haible  <bruno@clisp.org>
13591
13592         * gnulib-tool: When calling func_import more than once, do it in a
13593         subshell.
13594         Reported by Eric Blake <ebb9@byu.net>.
13595
13596 2006-08-31  Bruno Haible  <bruno@clisp.org>
13597
13598         * gnulib-tool (nl): Remove variable.
13599         (sed_transform_lib_file): Use more robust test for config-h module.
13600         (func_import): Fix typo in 2006-08-25 patch.
13601
13602 2006-08-31  Bruno Haible  <bruno@clisp.org>
13603
13604         * gnulib-tool (func_emit_lib_Makefile_am): When --makefile-name was
13605         specified, augment Makefile.am variables instead of assigning them.
13606
13607 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
13608
13609         Work around a bug in both the Linux and SunOS 64-bit kernels:
13610         nanosleep mishandles sleeps for longer than 2**31 seconds.
13611         Problem reported by Frank v Waveren in
13612         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00298.html>.
13613         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require gl_CLOCK_TIME.
13614         Check for nanosleep bug.
13615         (LIB_NANOSLEEP): Append clock_gettime library if needed.
13616
13617 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
13618
13619         Work around a bug in both the Linux and SunOS 64-bit kernels:
13620         nanosleep mishandles sleeps for longer than 2**31 seconds.
13621         Problem reported by Frank v Waveren in
13622         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00298.html>.
13623         * lib/nanosleep.c (BILLION): New constant.
13624         (getnow) [HAVE_BUG_BIG_NANOSLEEP]: New functions.
13625         (rpl_nanosleep) [HAVE_BUG_BIG_NANOSLEEP]: Completely new
13626         implementation.
13627
13628 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
13629
13630         * modules/nanosleep (Depends-on): Add gettime.
13631
13632 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
13633         and Simon Josefsson  <jas@extundo.com>
13634         and Oskar Liljeblad  <oskar@osk.mine.nu>
13635
13636         * MODULES.html.sh (Support for building documentation): Add gpl, lgpl.
13637         * gnulib-tool (func_import): New license type 'unmodifiable license
13638         text'.
13639         * modules/fdl: Use it.  Longer description.
13640         * module/gpl, module/lgpl: New files.
13641
13642 2006-08-30  Jim Meyering  <jim@meyering.net>
13643
13644         * lib/isapipe.c (isapipe): Rename local s/fd/fd_pair/ to avoid
13645         shadowing the parameter.
13646
13647 2006-08-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
13648
13649         Sync from Libtool:
13650
13651         2006-08-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
13652
13653         * lib/libltdl/argz.c: Use `#ifdef HAVE_CONFIG_H', to facilitate code
13654         sharing with gnulib.  Report by Eric Blake.
13655
13656 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
13657
13658         * modules/isapipe: New file.
13659         * MODULES.html.sh (File descriptor based Input/Output): Add isapipe.
13660
13661 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
13662
13663         * modules/configmake (Makefile.am): Add a comment, and omit
13664         the CONFIGMAKE_ prefix from generated macro names.  Suggested
13665         by Bruno Haible.
13666
13667 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
13668
13669         * m4/isapipe.m4: New file.
13670
13671 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
13672
13673         * lib/isapipe.c, lib/isapipe.h: New files.
13674
13675 2006-08-29  Jim Meyering  <jim@meyering.net>
13676
13677         * modules/configmake (Makefile.am): Make configmake.h depend on
13678         Makefile.  Otherwise, a stale configmake.h could hang around.
13679
13680 2006-08-29  Eric Blake  <ebb9@byu.net>
13681
13682         * lib/error.c (error_at_line, print_errno_message): Match libc, after
13683         resolution of upstream bug 3044.
13684
13685 2006-08-29  Bruno Haible  <bruno@clisp.org>
13686
13687         * modules/localcharset (Depends-on): Add configmake.
13688         (Makefile.am): Remove setting of LIBDIR through DEFS.
13689
13690 2006-08-29  Bruno Haible  <bruno@clisp.org>
13691
13692         * lib/localcharset.c: Include configmake.h in order to get LIBDIR
13693         defined.
13694
13695 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
13696
13697         * modules/fcntl: New file.
13698         * modules/chdir-safer (Depends-on): Add fcntl.
13699         * modules/fts: Likewise.
13700         * modules/mkdir-p: Likewise.
13701
13702         * modules/stdint (Makefile.am): Do not substitute ABSOLUTE_INTTYPES_H.
13703         This undoes the most recent change, since we're now addressing the
13704         problem in a different way.
13705
13706         * gnulib-tool (emit_lib_Makefile_am): Don't put $makefile_name
13707         into output, since the output might be called Makefile.am even
13708         if $makefile_name is something different.
13709         (func_import): Use $makefile_am rather than
13710         ${makefile_name-Makefile.am}, to fix a bug where makefile_name was
13711         empty.
13712
13713         * modules/inttypes (Files): Add m4/inttypes-h.m4.
13714
13715 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
13716
13717         * m4/inttypes.m4 (gl_INTTYPES_H): Move ABSOLUTE_INTTYPES_H code here...
13718         * m4/stdint.m4 (gl_STDINT_H): ... from here.  This undoes the most
13719         recent change to stdint.m4, since we're now addressing the problem in a
13720         different way.
13721
13722 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
13723
13724         * m4/fcntl_h.m4: New file.
13725
13726 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
13727
13728         * lib/fcntl_.h: New file.
13729         * lib/chdir-safer.c (O_DIRECTORY, O_NOFOLLOW): Remove, now that we have
13730         the fcntl module.
13731         * lib/dirchownmod.c: Likewise.
13732         * lib/fts.c: Likewise.
13733
13734         * lib/inttypes_.h [defined _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H]:
13735         Include @ABSOLUTE_INTTYPES_H@ if available, but do nothing else.
13736         * lib/stdint_.h (_GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H): Define
13737         just before including <inttypes.h>, to avoid circular inclusion.
13738
13739 2006-08-28  Jim Meyering  <jim@meyering.net>
13740
13741         * doc/visibility.texi: Actually read and correct the grammar of the
13742         sentence affected by yesterday's change.
13743
13744 2006-08-28  Eric Blake  <ebb9@byu.net>
13745
13746         * modules/inttypes (Makefile.am): Fix sed error when inttypes.h
13747         needs wrapper.
13748
13749 2006-08-28  Eric Blake  <ebb9@byu.net>
13750
13751         * m4/inttypes.m4 (gl_INTTYPES_H): Fix missing #endif.
13752
13753 2006-08-28  Eric Blake  <ebb9@byu.net>
13754
13755         * m4/codeset.m4 (AM_LANGINFO_CODESET): Avoid compiler warning.
13756
13757 2006-08-28  Bruno Haible  <bruno@clisp.org>
13758
13759         * modules/c-strstr: New file, from GNU gettext.
13760         * MODULES.html.sh (String handling): Add c-strstr.
13761
13762 2006-08-28  Bruno Haible  <bruno@clisp.org>
13763
13764         * m4/inttypes.m4 (gl_INTTYPES_H): Don't test for the existence of SCNX*
13765         macros.
13766         Reported by Eric Blake.
13767
13768 2006-08-28  Bruno Haible  <bruno@clisp.org>
13769
13770         * lib/vasnprintf.c (EOVERFLOW): Remove definition.
13771         (VASNPRINTF): Return a string of length > INT_MAX without failing.
13772         * lib/vasprintf.c: Include errno.h, limits.h.
13773         (EOVERFLOW): New fallback definition.
13774         (vasprintf): Test here whether the string length is > INT_MAX.
13775         * lib/vsnprintf.c: Include errno.h, limits.h.
13776         (EOVERFLOW): New fallback definition.
13777         (vsnprintf): Fix bug when generated string was too long for the buffer.
13778         Test here whether the string length is > INT_MAX.
13779
13780 2006-08-28  Bruno Haible  <bruno@clisp.org>
13781
13782         * lib/inttypes_.h (SCNX*): Remove definitions.
13783         Reported by Eric Blake.
13784
13785 2006-08-28  Bruno Haible  <bruno@clisp.org>
13786
13787         * lib/c-strstr.h: New file, from GNU gettext.
13788         * lib/c-strstr.c: New file, from GNU gettext.
13789
13790 2006-08-28  Bruno Haible  <bruno@clisp.org>
13791
13792         * gnulib-tool: Reorder some statements.
13793
13794 2006-08-28  Bruno Haible  <bruno@clisp.org>
13795
13796         * gnulib-tool: New option --makefile-name.
13797         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Use
13798         $makefile_name.
13799         (func_import): Write $makefile_name to the cache file, and read it from
13800         there unless explicitly specified. Use $makefile_name as file name
13801         instead of Makefile.am. Adjust the recommendations accordingly.
13802
13803 2006-08-28  Bruno Haible  <bruno@clisp.org>
13804
13805         * gnulib-tool (func_verify_module): Check against misapplying patch.
13806
13807 2006-08-28  Bruno Haible  <bruno@clisp.org>
13808
13809         * gnulib-tool (func_relativize, func_relconcat): New functions.
13810         Give an error if --local-dir is given with --update.
13811         Remove trailing slashes from $local_gnulib_dir.
13812         (func_import): Store the relativized $local_gnulib_dir in
13813         gnulib-cache.m4, and read it from there if not specified explicitly.
13814
13815 2006-08-28  Bruno Haible  <bruno@clisp.org>
13816
13817         * gnulib-tool (func_get_tests_module): Don't assume that $gnulib_dir
13818         is the current directory. Respect also $local_gnulib_dir.
13819
13820 2006-08-28  Bruno Haible  <bruno@clisp.org>
13821             Simon Josefsson  <jas@extundo.com>
13822
13823         BeOS portability.
13824         * lib/getaddrinfo.c (PF_INET, PF_UNSPEC): New macros.
13825
13826 2006-08-27  Jim Meyering  <jim@meyering.net>
13827
13828         * doc/visibility.texi: Remove duplicate word: "pointer".
13829
13830 2006-08-26  Bruno Haible  <bruno@clisp.org>
13831
13832         * modules/inttypes (Files): Add lib/inttypes_.h, remove lib/inttypes.h.
13833         Add m4/inttypes.m4, remove m4/_inttypes_h.m4 and m4/include_next.m4.
13834         (Makefile.am): Create inttypes.h from inttypes_.h.
13835         * modules/stdint (Makefile.am): Substitute also ABSOLUTE_INTTYPES_H.
13836
13837         * modules/imaxabs: New file.
13838
13839         * modules/imaxdiv: New file.
13840
13841 2006-08-26  Bruno Haible  <bruno@clisp.org>
13842
13843         * m4/inttypes.m4: New file.
13844         * m4/_inttypes_h.m4: Remove file.
13845         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Also AC_SUBST
13846         PRI_MACROS_BROKEN.
13847         * m4/stdint.m4 (gl_STDINT_H): Define also ABSOLUTE_INTTYPES_H.
13848
13849         * m4/imaxabs.m4: New file.
13850
13851         * m4/imaxdiv.m4: New file.
13852
13853 2006-08-26  Bruno Haible  <bruno@clisp.org>
13854
13855         * lib/inttypes_.h: New file.
13856         * lib/inttypes.h: Remove file.
13857         * lib/stdint_.h: Include <inttypes.h> through its absolute filename.
13858
13859         * lib/imaxabs.c: New file.
13860
13861         * lib/imaxdiv.c: New file.
13862
13863 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
13864
13865         New config-h module, so that "make" output needn't be cluttered
13866         by -DHAVE_CONFIG_H.
13867         * MODULES.html.sh (Support for building libraries and executables):
13868         Add config-h.
13869         * modules/config-h: New file.
13870         * gnulib-tool (nl, sed_transform_lib_file): New vars.
13871         (func_import): Turn "#ifdef HAVE_CONFIG_H" to "#if 1" if
13872         the config-h module is used.
13873
13874         New configmake module, so that "make" output needn't be cluttered
13875         by fluff like '-DLIBDIR=\"/usr/local/lib\"'.
13876         * MODULES.html.sh (Support for building libraries and executables):
13877         Add configmake.
13878         * modules/configmake: New file.
13879
13880 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
13881
13882         * m4/config-h.m4: New file.
13883
13884 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
13885
13886         * config/srclist.txt: Add elisp-comp.
13887
13888 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
13889
13890         * MODULES.html.sh (Support for building libraries and executables):
13891         Add elisp-comp.
13892         * build-aux/elisp-comp: New file.
13893         * modules/elisp-comp: New file.
13894
13895 2006-08-24  Bruno Haible  <bruno@clisp.org>
13896
13897         * gnulib-tool (func_create_testdir): Use non-default values of
13898         sourcebase and m4base.
13899
13900 2006-08-24  Bruno Haible  <bruno@clisp.org>
13901
13902         * MODULES.html.sh (Compatibility checks for POSIX:2001 functions: Fix
13903         HTML structure.
13904
13905 2006-08-23  Paul Eggert  <eggert@cs.ucla.edu>
13906
13907         * modules/openat (Depends-on): Add lchown.
13908
13909 2006-08-23  Bruno Haible  <bruno@clisp.org>
13910
13911         * gnulib-tool (func_import, func_create_testdir): Emit an invocation
13912         of gl_LOCK_EARLY instead of gl_LOCK.
13913
13914 2006-08-23  Bruno Haible  <bruno@clisp.org>
13915
13916         * m4/lock.m4 (gl_LOCK_BODY): Change the default value of gl_use_threads
13917         on OSF/1 to no.
13918         Reported by Stephen Cartwright <sgcartwr@ucalgary.ca>.
13919
13920 2006-08-23  Bruno Haible  <bruno@clisp.org>
13921
13922         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't consider BeOS statvfs
13923         as unusable.
13924
13925         * m4/lock.m4 (gl_LOCK_EARLY): Renamed from gl_LOCK.
13926         (gl_LOCK_BODY): Remove gl_PREREQ_LOCK invocation.
13927         (gl_LOCK): New macro.
13928
13929 2006-08-22  Simon Josefsson  <jas@extundo.com>
13930
13931         * modules/gc-md5 (Makefile.am): Need to add md5.h, after changes
13932         to md5 module.
13933
13934 2006-08-22  Simon Josefsson  <jas@extundo.com>
13935
13936         * MODULES.html.sh: Add "Support for maintaining and release
13937         projects".
13938
13939         * build-aux/gnupload: New file, from coreutils.
13940
13941 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
13942
13943         Avoid the need for AC_LIBSOURCES in m4 macros.
13944         * modules/arcfour (EXTRA_DIST): Add arcfour.h.
13945         * modules/arctwo (EXTRA_DIST): Add arctwo.h.
13946         * modules/check-version (EXTRA_DIST): Add check-version.h.
13947         * modules/crc (EXTRA_DIST): Add crc.h.
13948         * modules/des (EXTRA_DIST): Add des.h.
13949         * modules/gc (EXTRA_DIST): Add gc.h.
13950         * modules/getdelim (EXTRA_DIST): Add getdelim.h.
13951         * modules/getline (EXTRA_DIST): Add getline.h.
13952         * modules/getlogin_r (EXTRA_DIST): Add getlogin_r.h.
13953         * modules/hmac-md5 (EXTRA_DIST): Add hmac.h.
13954         * modules/hmac-sha1 (EXTRA_DIST): Add hmac.h.
13955         * modules/md2 (EXTRA_DIST): Add md2.h.
13956         * modules/md4 (EXTRA_DIST): Add md4.h.
13957         * modules/pagealign_alloc (EXTRA_DIST): Add pagealign_alloc.h.
13958         * modules/read-file (EXTRA_DIST): Add read-file.h.
13959         * modules/readline (EXTRA_DIST): Add readline.h.
13960         * modules/rijndael (EXTRA_DIST): Add rijndael-alg-fst.h,
13961         rijndael-api-fst.h.
13962
13963 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
13964
13965         * m4/rijndael.m4 (gl_ARCFOUR):
13966         * m4/arctwo.m4 (gl_ARCTWO):
13967         * m4/check-version.m4 (gl_CHECK_VERSION):
13968         * m4/crc.m4 (gl_CRC):
13969         * m4/des.m4 (gl_DES):
13970         * m4/gc-pbkdf2-sha1.m4 (gl_GC_PBKDF2_SHA1):
13971         * m4/gc.m4 (gl_GC):
13972         * m4/getdelim.m4 (gl_FUNC_GETDELIM):
13973         * m4/getline.m4 (gl_FUNC_GETLINE):
13974         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE):
13975         * m4/hmac-md5.m4 (gl_HMAC_MD5):
13976         * m4/hmac-sha1.m4 (gl_HMAC_SHA1):
13977         * m4/md2.m4 (gl_MD2):
13978         * m4/md4.m4 (gl_MD4):
13979         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC):
13980         * m4/read-file.m4 (gl_FUNC_READ_FILE):
13981         * m4/readline.m4 (gl_FUNC_READLINE):
13982         * m4/rijndael.m4 (gl_RIJNDAEL):
13983         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
13984         to get the necessary .h files and whatnot.
13985
13986 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
13987
13988         * config/srclist.txt: Remove gnupload, since coreutils now syncs from
13989         gnulib rather than the other way around.
13990         * config/srclistvars.sh (COREUTILS): Remove.
13991
13992 2006-08-22  Jim Meyering  <jim@meyering.net>
13993
13994         * modules/mkdir-p (Makefile.am): Fix typo: s/lib+SOURCES/lib_SOURCES/.
13995
13996         * modules/getpass-gnu (Makefile.am): Add getpass.h to EXTRA_DIST.
13997
13998 2006-08-22  Eric Blake  <ebb9@byu.net>
13999
14000         * modules/regexprops-generic: New file.
14001         * MODULES.html.sh (Support for building documentation): List it.
14002
14003 2006-08-22  Eric Blake  <ebb9@byu.net>
14004
14005         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Avoid compiler warning.
14006         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
14007         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Likewise.
14008         * m4/intmax_t.m4 (gt_AC_TYPE_INTMAX_T): Likewise.
14009
14010 2006-08-22  Bruno Haible  <bruno@clisp.org>
14011
14012         * gnulib-tool (func_emit_lib_Makefile_am): Don't treat lib_LIBRARIES
14013         and lib_LTLIBRARIES like the other lib_* variables.
14014
14015 2006-08-22  Bruno Haible  <bruno@clisp.org>
14016
14017         * build-aux/x-to-1.in: New file, from GNU gettext.
14018
14019 2006-08-22  Bruno Haible  <bruno@clisp.org>
14020
14021         * m4/readutmp.m4 (gl_READUTMP): Compile readutmp.c only if <utmp.h> or
14022         <utmpx.h> exists.
14023
14024 2006-08-22  Bruno Haible  <bruno@clisp.org>
14025
14026         * lib/readutmp.h: Skip most definitions if neither <utmp.h> nor
14027         <utmpx.h> exists.
14028
14029 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
14030
14031         BeOS portability.
14032         * lib/dirchownmod.c (dirchownmod): Don't use fchmod if it doesn't
14033         exist.
14034         Problem reported by Bruno Haible.
14035
14036 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
14037
14038         Avoid the need for AC_LIBSOURCES in m4 macros.
14039         * modules/acl (EXTRA_DIST): Add acl.h.
14040         * modules/argmatch (Files): Add m4/argmatch.m4.
14041         (configure.ac): Add gl_ARGMATCH.
14042         (EXTRA_DIST): Renamed from lib_SOURCES, for
14043         consistency with the other modules.  Remove argmatch.c.
14044         * modules/backupfile (EXTRA_DIST): Add backupfile.h.
14045         * modules/c-strtod (EXTRA_DIST): Add c-strtod.h.
14046         * modules/c-strtold (EXTRA_DIST): Add c-strtod.c, c-strtod.h.
14047         * modules/canonhost (EXTRA_DIST): Add c-canonhost.h.
14048         * modules/canonicalize (EXTRA_DIST): Add canonicalize.h.
14049         * modules/chdir-long (EXTRA_DIST): Add chdir-long.h.
14050         * modules/chdir-safer (EXTRA_DIST): Add chdir-safer.h.
14051         * modules/cloexec (EXTRA_DIST): Add cloexec.h.
14052         * modules/close-stream (EXTRA_DIST): Add close-stream.h.
14053         * modules/closeout (EXTRA_DIST): Add closeout.h.
14054         * modules/cycle-check (EXTRA_DIST): Add cycle-check.h.
14055         * modules/dev-ino (EXTRA_DIST): Add dev-ino.h.
14056         * modules/dirfd (EXTRA_DIST): Add dirfd.h.
14057         * modules/dirname (EXTRA_DIST): Renamed from lib_SOURCES.  Add
14058         dirname.h; remove basename.c and stripslash.c.
14059         * modules/exclude (EXTRA_DIST): Add exclude.h.
14060         * modules/exitfail (EXTRA_DIST): Add exitfail.h.
14061         * modules/fcntl-safer (EXTRA_DIST): Add fcntl-safer.h fcntl--.h.
14062         * modules/file-type (EXTRA_DIST): Add file-type.h.
14063         * modules/filemode (EXTRA_DIST): Add filemode.h.
14064         * modules/filenamecat (EXTRA_DIST): Add filenamecat.h.
14065         * modules/fopen-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
14066         * modules/fpending (EXTRA_DIST): Add __fpending.h.
14067         * modules/fprintftime (EXTRA_DIST): Add fprintftime.h.
14068         * modules/fsusage (EXTRA_DIST): Add fsusage.h.
14069         * modules/fts (EXTRA_DIST): Add fts_.h fts-cycle.c.
14070         * modules/getcwd (EXTRA_DIST): Add getcwd.h.
14071         * modules/getdate (EXTRA_DIST): Add getdate.c.
14072         * modules/gethrxtime (EXTRA_DIST): Add gethrxtime.h xtime.h.
14073         * modules/getpagesize (EXTRA_DIST): Add getpagesize.h.
14074         * modules/getpass (EXTRA_DIST): Add getpass.h.
14075         * modules/glob (EXTRA_DIST): Add glob_.h glob-libc.h.
14076         * modules/group-member (EXTRA_DIST): Add group-member.h.
14077         * modules/hard-locale (EXTRA_DIST): Add hard-locale.h.
14078         * modules/hash (EXTRA_DIST): Add hash.h.
14079         * modules/human (EXTRA_DIST): Add human.h.
14080         * modules/inttypes (EXTRA_DIST): Add inttypes.h.
14081         * modules/lchmod (EXTRA_DIST): Add lchmod.h.
14082         * modules/lchown (EXTRA_DIST): Add lchown.h.
14083         * modules/long-options (EXTRA_DIST): Add long-options.h.
14084         * modules/lstat (EXTRA_DIST): Add lstat.h.
14085         * modules/md5 (EXTRA_DIST): Add memcasecmp.h.
14086         * modules/memcoll (EXTRA_DIST): Add memcoll.h.
14087         * modules/mempcpy (EXTRA_DIST): Add mempcpy.h.
14088         * modules/memrchr (EXTRA_DIST): Add memrchr.h.
14089         * modules/memxor (EXTRA_DIST): Add memxor.h.
14090         * modules/mkancesdirs (EXTRA_DIST): Add mkancesdirs.h.
14091         * modules/mkdir-p (EXTRA_DIST): Add modechange.h.
14092         * modules/mountlist (EXTRA_DIST): Add mountlist.h.
14093         * modules/openat (EXTRA_DIST): Add at-func.c openat.h openat-priv.h.
14094         * modules/pathmax (EXTRA_DIST): Add pathmax.h.
14095         * modules/physmem (EXTRA_DIST): Add physmem.h.
14096         * modules/posixtm (EXTRA_DIST): Add posixtm.h.
14097         * modules/posixver (EXTRA_DIST): Add posixver.h.
14098         * modules/quote (EXTRA_DIST): Add quote.h.
14099         * modules/quotearg (EXTRA_DIST): Add quotearg.h.
14100         * modules/readtokens (EXTRA_DIST): Add readtokens.h.
14101         * modules/readutmp (EXTRA_DIST): Add readutmp.h.
14102         * modules/regex (EXTRA_DIST): Add regcomp.c regex.h regex_internal.c
14103         regex_internal.h regexec.c.
14104         * modules/safe-read (EXTRA_DIST): Add safe-read.h.
14105         * modules/safe-write (EXTRA_DIST): Add safe-write.h.
14106         * modules/same (EXTRA_DIST): Add same.h.
14107         * modules/same-inode (EXTRA_DIST): Add same-inode.h.
14108         * modules/save-cwd (EXTRA_DIST): Add save-cwd.h.
14109         * modules/savedir (EXTRA_DIST): Add savedir.h.
14110         * modules/sha1 (EXTRA_DIST): Add sha1.h.
14111         * modules/sig2str (EXTRA_DIST): Add sig2str.h.
14112         * modules/stat-macros (EXTRA_DIST): Add stat-macros.h.
14113         * modules/stat-time (EXTRA_DIST): Add stat-time.h.
14114         * modules/stdlib-safer (EXTRA_DIST): Add stdlib-safer.h stdlib--.h.
14115         * modules/strdup (EXTRA_DIST): Add strdup.h.
14116         * modules/strftime (EXTRA_DIST): Add strftime.h.
14117         * modules/strndup (EXTRA_DIST): Add strndup.h.
14118         * modules/strnlen (EXTRA_DIST): Add strnlen.h.
14119         * modules/strverscmp (EXTRA_DIST): Add strverscmp.h.
14120         * modules/time_r (EXTRA_DIST): Add time_r.h.
14121         * modules/timespec (EXTRA_DIST): Add timespec.h.
14122         * modules/tmpfile-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
14123         * modules/unistd-safer (EXTRA_DIST): Add unistd-safer.h unistd--.h.
14124         * modules/unlinkdir (EXTRA_DIST): Add unlinkdir.h.
14125         * modules/unlocked-io (EXTRA_DIST): Add unlocked-io.h.
14126         * modules/userspec (EXTRA_DIST): Add userspec.h.
14127         * modules/utimecmp (EXTRA_DIST): Add utimecmp.h.
14128         * modules/utimens (EXTRA_DIST): Add utimens.h.
14129         * modules/xalloc (EXTRA_DIST): Add xalloc.h.
14130         * modules/xgetcwd (EXTRA_DIST): Add xgetcwd.h.
14131         * modules/xnanosleep (EXTRA_DIST): Add xnanosleep.h.
14132         * modules/xreadlink (EXTRA_DIST): Add xreadlink.h.
14133         * modules/xstrtod (EXTRA_DIST): Add xstrtod.h.
14134         * modules/xstrtol (EXTRA_DIST): Add xstrtol.h.
14135         * modules/xstrtold (EXTRA_DIST): Add xstrtod.c xstrtod.h.
14136         * modules/yesno (EXTRA_DIST): Add yesno.h.
14137
14138 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
14139
14140         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Check for fchmod.
14141
14142         * m4/argmatch.m4: New file, from coreutils with AC_LIBSOURCES removed.
14143         * m4/dev-ino.m4, same-inode.m4: Remove.
14144
14145         * m4/_inttypes_h.m4 (gl_INTTYPES_H):
14146         * m4/acl.m4 (AC_FUNC_ACL):
14147         * m4/backupfile.m4 (gl_BACKUPFILE):
14148         * m4/c-strtod.m4 (gl_C99_STRTOLD):
14149         * m4/canon-host.m4 (gl_CANON_HOST):
14150         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
14151         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG):
14152         * m4/chdir-safer.m4 (gl_CHDIR_SAFER):
14153         * m4/cloexec.m4 (gl_CLOEXEC):
14154         * m4/close-stream.m4 (gl_CLOSE_STREAM):
14155         * m4/closeout.m4 (gl_CLOSEOUT):
14156         * m4/dirfd.m4 (gl_FUNC_DIRFD):
14157         * m4/dirname.m4 (gl_DIRNAME):
14158         * m4/exclude.m4 (gl_EXCLUDE):
14159         * m4/exitfail.m4 (gl_EXITFAIL):
14160         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER):
14161         * m4/file-type.m4 (gl_FILE_TYPE):
14162         * m4/filemode.m4 (gl_FILEMODE):
14163         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT):
14164         * m4/fpending.m4 (gl_FUNC_FPENDING):
14165         * m4/fprintftime.m4 (gl_FPRINTFTIME):
14166         * m4/fts.m4 (gl_FUNC_FTS):
14167         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL):
14168         * m4/getdate.m4 (gl_GETDATE):
14169         * m4/gethrxtime.m4 (gl_GETHRXTIME):
14170         * m4/getpagesize.m4 (gl_GETPAGESIZE):
14171         * m4/getpass.m4 (gl_FUNC_GETPASS):
14172         * m4/gettime.m4 (gl_GETTIME):
14173         * m4/getugroups.m4 (gl_GETUGROUPS):
14174         * m4/glob.m4 (gl_GLOB_SUBSTITUTE):
14175         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER):
14176         * m4/hard-locale.m4 (gl_HARD_LOCALE):
14177         * m4/hash.m4 (gl_HASH):
14178         * m4/idcache.m4 (gl_IDCACHE):
14179         * m4/lchmod.m4 (gl_FUNC_LCHMOD):
14180         * m4/lchown.m4 (gl_FUNC_LCHOWN):
14181         * m4/long-options.m4 (gl_LONG_OPTIONS):
14182         * m4/lstat.m4 (gl_FUNC_LSTAT):
14183         * m4/md5.m4 (gl_MD5):
14184         * m4/memcasecmp.m4 (gl_MEMCASECMP):
14185         * m4/memcoll.m4 (gl_MEMCOLL):
14186         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY):
14187         * m4/memrchr.m4 (gl_FUNC_MEMRCHR):
14188         * m4/memxor.m4 (gl_MEMXOR):
14189         * m4/mkancesdirs.m4 (gl_MKANCESDIRS):
14190         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS):
14191         * m4/modechange.m4 (gl_MODECHANGE):
14192         * m4/mountlist.m4 (gl_MOUNTLIST):
14193         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
14194         * m4/openat.m4 (gl_FUNC_OPENAT):
14195         * m4/pathmax.m4 (gl_PATHMAX):
14196         * m4/physmem.m4 (gl_PHYSMEM):
14197         * m4/posixtm.m4 (gl_POSIXTM):
14198         * m4/posixver.m4 (gl_POSIXVER):
14199         * m4/quote.m4 (gl_QUOTE):
14200         * m4/quotearg.m4 (gl_QUOTEARG):
14201         * m4/readtokens.m4 (gl_READTOKENS):
14202         * m4/readutmp.m4 (gl_READUTMP):
14203         * m4/regex.m4 (gl_REGEX):
14204         * m4/safe-read.m4 (gl_SAFE_READ):
14205         * m4/safe-write.m4 (gl_SAFE_WRITE):
14206         * m4/same.m4 (gl_SAME):
14207         * m4/save-cwd.m4 (gl_SAVE_CWD):
14208         * m4/savedir.m4 (gl_SAVEDIR):
14209         * m4/settime.m4 (gl_SETTIME):
14210         * m4/sha1.m4 (gl_SHA1):
14211         * m4/sig2str.m4 (gl_FUNC_SIG2STR):
14212         * m4/stat-macros.m4 (gl_STAT_MACROS):
14213         * m4/stat-time.m4 (gl_STAT_TIME):
14214         * m4/stdio-safer.m4 (gl_FOPEN_SAFER):
14215         * m4/stdlib-safer.m4 (gl_STDLIB_SAFER):
14216         * m4/strdup.m4 (gl_FUNC_STRDUP):
14217         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME):
14218         * m4/strndup.m4 (gl_FUNC_STRNDUP):
14219         * m4/strnlen.m4 (gl_FUNC_STRNLEN):
14220         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP):
14221         * m4/time_r.m4 (gl_TIME_R):
14222         * m4/timespec.m4 (gl_TIMESPEC):
14223         * m4/unistd-safer.m4 (gl_UNISTD_SAFER):
14224         * m4/unlinkdir.m4 (gl_UNLINKDIR):
14225         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO):
14226         * m4/userspec.m4 (gl_USERSPEC):
14227         * m4/utimecmp.m4 (gl_UTIMECMP):
14228         * m4/utimens.m4 (gl_UTIMENS):
14229         * m4/xalloc.m4 (gl_XALLOC):
14230         * m4/xgetcwd.m4 (gl_XGETCWD):
14231         * m4/xnanosleep.m4 (gl_XNANOSLEEP):
14232         * m4/xreadlink.m4 (gl_XREADLINK):
14233         * m4/xstrtod.m4 (gl_XSTRTOD):
14234         * m4/yesno.m4 (gl_YESNO):
14235         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
14236         to get the necessary .h files and whatnot.
14237
14238 2006-08-21  Mark D. Baushke  <mdb@gnu.org>
14239             Bruno Haible  <bruno@clisp.org>
14240
14241         * gnulib-tool (func_verify_module): Work around Sun's non-POSIX 1003.2
14242         /bin/sh understanding of '!' conditional negation.
14243
14244 2006-08-21  Jim Meyering  <jim@meyering.net>
14245
14246         * modules/openat (Depends-on): Really alphabetize.
14247
14248         * modules/acl (Depends-on): Add error and quote.
14249
14250         * check-module (find_included_lib_files): Add at-func.c to the
14251         ok-to-include-more-than-once white list.
14252
14253         * modules/openat (Depends-on): Add lstat.  Alphabetize.
14254
14255 2006-08-21  Bruno Haible  <bruno@clisp.org>
14256
14257         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
14258         Emit a pkgdata_DATA variable only if some snippets add contents to it.
14259         Reported by Martin Lambers <marlam@marlam.de>.
14260
14261 2006-08-21  Bruno Haible  <bruno@clisp.org>
14262
14263         * gnulib-tool (func_emit_lib_Makefile_am): If the snippets already
14264         specify an installation location, don't emit a noinst_LIBRARIES or
14265         noinst_LTLIBRARIES assignment.
14266
14267 2006-08-21  Bruno Haible  <bruno@clisp.org>
14268
14269         BeOS portability.
14270         * modules/mbchar (Include): Don't test HAVE_WCTYPE_H any more, since
14271         BeOS has mbrtowc() but no <wctype.h>.
14272
14273 2006-08-21  Bruno Haible  <bruno@clisp.org>
14274
14275         BeOS portability.
14276         * m4/mbchar.m4 (gl_MBCHAR): Compile mbchar.c also if <wctype.h> doesn't
14277         exist.
14278
14279 2006-08-21  Bruno Haible  <bruno@clisp.org>
14280
14281         BeOS portability.
14282         * lib/mbchar.h: Include <wctype.h> only if it exists.
14283
14284 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
14285
14286         Remove files that are no longer needed by their respective modules.
14287         * m4/obstack.m4: Remove.
14288         * m4/strerror_r.m4: Remove.
14289         * m4/uint32_t.m4: Remove.
14290         * m4/uintptr_t.m4: Remove.
14291         * m4/ullong_max.m4: Remove.
14292         * m4/xstrtoimax.m4: Remove.
14293         * m4/xstrtoumax.m4: Remove.
14294
14295         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Do not require
14296         gl_AC_TYPE_UINTMAX_T, gl_STRUCT_DEV_INO, or gl_SAME_INODE, since gnulib
14297         dependencies now capture this.
14298
14299         * m4/cycle-check.m4 (gl_CYCLE_CHECK):
14300         Do not use AC_LIBSOURCES, since gnulib modules now do this.
14301         * m4/fsusage.m4 (gl_FSUSAGE): Likewise.
14302         * m4/human.m4 (gl_HUMAN): Likewise.
14303         * m4/inttostr.m4 (gl_INTTOSTR): Likewise.
14304         * m4/xstrtol.m4 (gl_XSTRTOL): Likewise.
14305
14306         * m4/filemode.m4 (gl_FILEMODE): Require AC_STRUCT_ST_DM_MODE.
14307
14308         * m4/filemode.m4 (gl_PREREQ_FSUSAGE_EXTRA): Do not require
14309         gl_AC_TYPE_INTMAX_T or gl_AC_TYPE_UINTMAX_T, since we now require
14310         stdint.
14311         * m4/human.m4 (gl_HUMAN): Likewise.
14312         * m4/inttostr.m4 (gl_PREREQ_INTTOSTR): Likewise.
14313         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Likewise.
14314         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
14315         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
14316         * m4/xstrtol (gl_XSTRTOL): Likewise.
14317
14318         * m4/gethrxtime.m4 (gl_XTIME): gl_AC_TYPE_LONG_LONG ->
14319         AC_TYPE_LONG_LONG_INT.
14320         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
14321         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Likewise.
14322         * m4/strtoull.m4 (gl_FUNC_STRTOULL): Likewise, for unsigned long.
14323         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
14324
14325         * m4/human.m4 (gl_HUMAN): Do not require AM_STDBOOL_H since we depend
14326         on stdbool.
14327
14328         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL_H, gl_PREREQ_XSTRTOL): Remove.
14329         (gl_PREREQ_XSTRTOUL): Remove.
14330
14331         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Check for hasmntopt.
14332
14333         * m4/posixver.m4: Fix comment since head -1 now works even in POSIX
14334         mode.
14335
14336 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
14337
14338         Add and change modules to make it easier for coreutils to use
14339         gnulib-tool.
14340         * modules/backupfile (Files): Remove m4/d-ino.m4.
14341         (Depends-on): Add d-ino.
14342         * modules/cycle-check (Depends-on): Add stdint.
14343         (lib_SOURCES): Add cycle-check.h.
14344         * modules/d-ino: New module.
14345         * modules/d-type: New module.
14346         * modules/error (Files): Remove m4/strerror_r.m4.
14347         * modules/filemode (Files): Add m4/st_dm_mode.m4.
14348         * modules/fsuage (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
14349         m4/inttypes_h.m4, m4/uintmax_t.m4.
14350         (Depends-on): Add stdint.
14351         (lib_SOURCES): Add fsusage.h.
14352         * modules/getcwd (Files): Remove d-ino.m4.
14353         (Depends-on): Add d-ino.
14354         * modules/getndelim2 (Depends-on): Add stdint.
14355         * modules/glob (Files): Remove m4/d-type.m4.
14356         (Depends-on): Add d-type.
14357         * modules/host-os: New module.
14358         * modules/human (Files):  Remove m4/ulonglong.m4, m4/stdint_h.m4,
14359         m4/inttypes_h.m4, m4/uintmax_t.m4.
14360         * Depends-on: Add stdint.
14361         (lib_SOURCES): Add human.h.
14362         * modules/inttostr (Files): Remove m4/intmax_t.m4,
14363         m4/inttostr.m4, m4/inttypes_h.m4, m4/longlong.m4, m4/stdint_h.m4,
14364         m4/uintmax_t.m4, m4/ulonglong.m4.
14365         (Depends-on): Add stdint.
14366         (EXTRA_DIST): Add inttostr.h.
14367         * modules/lchmod: New module.
14368         * modules/link-follow: New module.
14369         * modules/mkdir-p (Files): Remove lib/lchmod.h, m4/lchmod.m4.
14370         (Depends-on): Add lchmod.
14371         * modules/mkstemp (Files): Remove m4/ulonglong.m4,
14372         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4.
14373         (Depends-on): Add stdint.
14374         * modules/obstack (Files): Remove m4/inttypes_h.m4, m4/obstack.m4,
14375         m4/stdint_h.m4, m4/uintmax_t.m4, m4/ulonglong.m4.
14376         (Depends-on): Add stdint.
14377         (configure.ac): Change gl_OBSTACK to AC_FUNC_OBSTACK.
14378         * modules/perl: New module.
14379         * modules/regex (Depends-on): Add stdint.
14380         * modules/rmdir-errno: New module.
14381         * modules/strtoimax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
14382         m4/intmax_t.m4.
14383         (Depends-on): Add stdint.
14384         * modules/strtoumax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
14385         m4/uintmax_t.m4.
14386         (Depends-on): Add stdint.
14387         * modules/unlink-busy: New module.
14388         * modules/utimecmp (Depends-on): Add stdint.
14389         * modules/uptime: New module.
14390         * modules/winsz-ioctl: New module.
14391         * modules/winsz-termios: New module.
14392         * modules/xnanosleep (Depends-on): Add nanosleep.
14393         * modules/ullong_max: Remove.
14394         * modules/xstrtoimax (Files): Remove m4/xstrtoimax.m4.
14395         (configure.ac): Remove gl_XSTRTOIMAX; no action needed now.
14396         * modules/xstrtol (Files): Remove m4/ulonglong.m4, m4/longlong.m4,
14397         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4, m4/intmax_t.m4.
14398         (Depends-on): Add inttypes.
14399         (lib_SOURCES): Add xstrtol.h.
14400         * modules/xstrtoumax (Files): Remove m4/xstrtoumax.m4.
14401         (configure.ac): Remove gl_XSTRTOUMAX; no action needed now.
14402         * MODULES.html.sh: Move 'assert' into the assert section.
14403         Move 'dummy' into the linking section.
14404         Remove ullong_max.
14405         Add section for compatibility checks for POSIX:2001 functions,
14406         and put d-ino, d-type, link-follow, rmdir-errno, unlink-busy,
14407         winsz-ioctl, and winsz-termios into it.
14408         Add lchmod.
14409         Add top-level Misc section and put host-os, perl, and uptime
14410         into it.
14411
14412 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
14413
14414         * lib/cycle-check.h: Include <stdint.h> unconditionally, since we
14415         now assume the stdint module.  Do not include inttypes.h.
14416         * lib/fsusage.h: Likewise.
14417         * lib/getndelim2.c: Likewise.
14418         * lib/human.h: Likewise.
14419         * lib/inttostr.h: Likewise.
14420         * lib/obstack.c: Likewise.
14421         * lib/regex_internal.h: Likewise.
14422         * lib/tempname.c: Likewise.
14423         * lib/utimecmp.c: Likewise.
14424         * lib/xstrtol.h: Likewise.
14425
14426         * lib/stat_.h: Fix typo: HAVE_FUNC_LSTAT -> HAVE_LSTAT.
14427
14428         * lib/strtoimax.c: Adjust to macro name changes in Autoconf,
14429         e.g., HAVE_LONG_LONG -> HAVE_LONG_LONG_INT.
14430         * lib/xtime.h: Likewise.
14431
14432 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
14433
14434         * modules/openat (Files): Add lib/fchmodat.c.
14435         Fixes problem reported by Jay Youngman.
14436
14437 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
14438
14439         * lib/fchmodat.c: New file, from coreutils.  This was inadvertently
14440         omitted in the 2006-08-17 update.  Problem reported by Jay Youngman.
14441
14442 2006-08-18  Paul Eggert  <eggert@cs.ucla.edu>
14443             Bruno Haible  <bruno@clisp.org>
14444
14445         * m4/bison-i18n.m4 (BISON_I18N): Also handle the case where yacc exists
14446         and is a script that invokes bison. Tighten the code. Add comments.
14447
14448 2006-08-18  Jim Meyering  <jim@meyering.net>
14449
14450         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Also check for
14451         CLOCK_REALTIME, since gethrxtime may revert to using clock_gettime via
14452         gettime.c.  Gabor Z. Papp reported that gethrxtime-using programs
14453         failed to link due to unresolved clock_gettime on a linux-2.4.x system.
14454
14455 2006-08-18  Bruno Haible  <bruno@clisp.org>
14456
14457         * modules/bison-i18n: New file.
14458         * MODULES.html.sh (Internationalization functions): Add it.
14459
14460 2006-08-18  Bruno Haible  <bruno@clisp.org>
14461
14462         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Also check for
14463         sys/statvfs.h. When getmntinfo was found, check its declaration and
14464         set either MOUNTED_GETMNTINFO or MOUNTED_GETMNTINFO2 depending on it.
14465
14466 2006-08-18  Bruno Haible  <bruno@clisp.org>
14467
14468         * m4/bison-i18n.m4: New file, from bison.
14469
14470 2006-08-18  Bruno Haible  <bruno@clisp.org>
14471
14472         * lib/mountlist.c [MOUNTED_GETMNTINFO2]: Include sys/statvfs.h.
14473         (ME_DUMMY): Treat "kernfs" as a dummy.
14474         (read_file_system_list) [MOUNTED_GETMNTINFO2]: Implement.
14475
14476 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
14477
14478         Update from coreutils.
14479
14480         2006-08-15  Jim Meyering  <jim@meyering.net>
14481
14482         * m4/openat.m4 (gl_FUNC_OPENAT): Add at-func.c via AC_LIBSOURCES.
14483
14484         2006-01-17  Jim Meyering  <jim@meyering.net>
14485
14486         * m4/fts.m4 (gl_FUNC_FTS_CORE): Depend on gl_FUNC_OPENAT.
14487
14488         2006-01-11  Jim Meyering  <jim@meyering.net>
14489
14490         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile fchmodat.c.
14491         Check for the lchmod function.
14492
14493 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
14494
14495         Update from coreutils.
14496
14497         * lib/__fpending.h: Add copyright notice.
14498         * lib/fprintftime.h: Likewise.
14499         * lib/savedir.c: Use (C) in copyright notice.
14500         * lib/savedir.h: Likewise.
14501
14502         2006-08-15  Jim Meyering  <jim@meyering.net>
14503
14504         * lib/at-func.c: New file, with the logic of all emulated at-functions.
14505         * lib/openat-priv.h: Include <errno.h> and define ENOSYS,
14506         in support of the EXPECTED_ERRNO macro.
14507         * lib/openat.c (fstatat, unlinkat, fchownat): Remove function
14508         definitions.  Instead, define the appropriate symbols and include
14509         "at-func.c".
14510         * lib/mkdirat.c (mkdirat): Likewise.
14511         * lib/fchmodat.c (fchmodat): Likewise.
14512         (ENOSYS): Remove definition.
14513         * lib/openat.c: Don't include <errno.h>, now that "openat-priv.h" does
14514         it.  Don't include "unistd--.h" -- it wasn't ever used.
14515
14516         2006-01-17  Jim Meyering  <jim@meyering.net>
14517
14518         Rewrite fts.c not to change the current working directory,
14519         by using openat, fstatat, fdopendir, etc..
14520
14521         * lib/fts.c [! _LIBC]: Include "openat.h" and "unistd--.h".
14522         (HAVE_OPENAT_SUPPORT): Define.
14523         [_LIBC] (fchdir): Don't undef or define; no longer used.
14524         (FCHDIR): Define in terms of cwd_advance_fd rather than fchdir.
14525         Now, this `function' always succeeds, and consumes its file descriptor
14526         parameter -- so callers must not close such FDs.  Update callers.
14527         (diropen_fd, opendirat, cwd_advance_fd): New functions.
14528         (diropen): Add parameter, SP.  Adjust all callers.
14529         Implement using diropen_fd, rather than open.
14530         (fts_open): Initialize new member, fts_cwd_fd.
14531         Remove fts_rft-setting code.
14532         (fts_close): Close fts_cwd_fd, if necessary.
14533         (__opendir2): Define in terms of opendir or opendirat,
14534         depending on whether the FST_NOCHDIR flag is set.
14535         (fts_build): Since fts_safe_changedir consumes its FD, and since
14536         this code must do `closedir(dirp)', dup the dirfd(dirp) argument,
14537         and close the dup'd file descriptor upon failure.
14538         (fts_stat): Use fstatat(...AT_SYMLINK_NOFOLLOW) in place of lstat.
14539         (fts_safe_changedir): Tweak semantics to reflect that this function
14540         now calls cwd_advance_fd and hence consumes its FD argument.
14541         * lib/fts_.h [struct FTS] (fts_cwd_fd): New member.
14542         [struct FTS] (fts_rft): Remove now-unused member.
14543         [struct FTS] (fts_cycle.state): Improve comment.
14544
14545         * lib/openat.c (openat_needs_fchdir): New function.
14546         * lib/openat.h (openat_needs_fchdir): Declare it.
14547
14548 2006-08-16  Paul Eggert  <eggert@cs.ucla.edu>
14549
14550         * lib/memcoll.c (memcoll): Set errno = 0 in the shortcut case, too.
14551         Problem and fix reported by Pádraig Brady in
14552         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00099.html>.
14553
14554 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
14555
14556         * modules/cycle-check (configure.ac): Add gl_CYCLE_CHECK.
14557
14558 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
14559
14560         * lib/memcoll.c (memcoll): Optimize for the common case where the
14561         arguments are bytewise equal.
14562
14563 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
14564
14565         * doc/regexprops-generic.texi: Add a copyright notice.
14566
14567 2006-08-15  Bruno Haible  <bruno@clisp.org>
14568
14569         * modules/tmpdir (License): Change to LGPL.
14570
14571 2006-08-15  Bruno Haible  <bruno@clisp.org>
14572
14573         * gnulib-tool (func_all_modules, func_verify_module): COPYING is not a
14574         module.
14575
14576 2006-08-14  Simon Josefsson  <jas@extundo.com>
14577
14578         * config/srclist.txt: Add gnupload.
14579
14580 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
14581
14582         Change copyright notice from LGPL 2 to GPL 2, since that's the
14583         standard form used in the gnulib repository.
14584         * tests/test-lock.c: Likewise.
14585         * tests/test-stdint.c: Likewise.
14586         * tests/test-tls.c: Likewise.
14587
14588         * users.txt: Add bison, diffutils, libprelude, prelude-lml,
14589         prelude-manager.  User shorter URLs for GNU projects, without '?'.
14590         Add copyright notice.
14591
14592         * check-module: Add copyright notice.  Output a copyright
14593         notice if "--version" is specified.
14594         * modules/COPYING: New file.
14595         * tests/test-getaddrinfo.c: Add copyright notice.
14596         * tests/test-verify.c: Likewise.
14597
14598 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
14599
14600         Change copyright notice from LGPL 2 to GPL 2, since that's the
14601         standard form used in the gnulib repository.
14602         * lib/lock.c: LGPL -> GPL.
14603         * lib/lock.h: Likewise.
14604         * lib/strnlen1.c: Likewise.
14605         * lib/strnlen1.h: Likewise.
14606         * lib/tls.c: Likewise.
14607         * lib/tls.h: Likewise.
14608         * lib/tmpdir.c: Likewise.
14609
14610         * lib/TODO: Remove; this belongs only in coreutils.
14611
14612 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
14613
14614         Add copyright notices to long-enough files that lack them, since
14615         otherwise the files aren't clearly free.  Use the same notice that
14616         getdate.texi already uses.
14617         * doc/alloca-opt.texi: Add copyright notice.
14618         * doc/alloca.texi: Likewise.
14619         * doc/ctime.texi: Likewise.
14620         * doc/functions.texi: Likewise.
14621         * doc/gcd.texi: Likewise.
14622         * doc/gnulib-tool.texi: Likewise.
14623         * doc/inet_ntoa.texi: Likewise.
14624         * doc/visibility.texi: Likewise.
14625
14626         * doc/getdate.texi: Update FDL version from 1.1 to 1.2.
14627         * doc/quote.texi: Add copyright notice.
14628
14629         * doc/solaris-versions: Add SunOS 5.10, SunOS 1.x, SunOS 4.0, SunOS
14630         4.0.x, SunOS 4.1.1.1, SunOS 4.1.1_U1, SunOS 4.1.3B.  SunOS 4.1.3
14631         was Solaris 1.1A.  Remove space before B in Solaris 1.1.1B.
14632         Mention SunOS 5.11.  Mention that everything before SunOS 5.7
14633         is now obsolete, and give a pointer to the Sun list.
14634         Add copyright notice.
14635
14636 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
14637
14638         * config/srclistvars.sh: Add copyright notice.
14639
14640 2006-08-14  Eric Blake  <ebb9@byu.net>
14641
14642         Import the following change from libc:
14643
14644         2006-08-12  Ulrich Drepper  <drepper@redhat.com>
14645
14646         Upstream bug 2997.
14647         * lib/misc/error.c: Add space between program name and message if file
14648         name is missing.
14649
14650 2006-08-12  Karl Berry  <karl@gnu.org>
14651
14652         * config/srclist.txt (ssize_t.m4, sig_atomic_t.m4, signalblocking.m4):
14653         remove, these originate in gnulib now.
14654
14655 2006-08-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
14656
14657         * doc/Makefile (standards.info standards.html standards.dvi):
14658         Also depend on make-stds.texi.
14659
14660 2006-08-11  Paul Eggert  <eggert@cs.ucla.edu>
14661
14662         * lib/pipe-safer.c (pipe_safer): Fix misspelling: HAVE_FUNC_PIPE ->
14663         HAVE_PIPE.  Fix a file descriptor leak when fd_safer fails.
14664
14665         * lib/regex_internal.c (re_string_skip_chars): Don't assume WEOF fits
14666         in wchar_t.  Problem reported by Eric Blake.
14667
14668         * lib/snprintf.c (snprintf): memcpy LEN bytes, not SIZE - 1, when
14669         LEN is smaller than SIZE.  Suggested by Bruno Haible.
14670         Also, help the compiler to keep LEN in a register.
14671
14672 2006-08-11  Eric Blake  <ebb9@byu.net>
14673
14674         * users.txt: Sort.  Add tar.
14675
14676 2006-08-11  Bruno Haible  <bruno@clisp.org>
14677
14678         * users.txt: New file.
14679
14680 2006-08-11  Bruno Haible  <bruno@clisp.org>
14681
14682         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Include <stdio.h> and <time.h>
14683         before <wchar.h>. Needed for OSF/1 and BSD/OS.
14684
14685 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
14686
14687         * modules/snprintf (Depends-on): Remove minmax.
14688         (Maintainer): Add self and Bruno.
14689
14690 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
14691
14692         * lib/.cppi-disable: Add snprintf.h, socket_.h.
14693         * lib/snprintf.c: Include <errno.h> and <limits.h>.
14694         (EOVERFLOW): Define if the system does not.
14695         Do not include "minmax.h"; it wasn't used.
14696         (snprintf): Don't assume size_t promotes to an unsigned type.
14697         Fix bug when generated string was too long for the buffer: the
14698         buffer's contents are supposed to be the initial prefix of the
14699         output.  Don't assume vasnprintf returns EOVERFLOW if the size
14700         exceeds INT_MAX; do the check ourselves.
14701
14702         Import the following changes from libc:
14703
14704         2006-06-02  Jakub Jelinek  <jakub@redhat.com>
14705
14706         * lib/posix/regex_internal.c (re_string_skip_chars): If no character
14707         has been converted at all, set *last_wc to WEOF.  If mbrtowc failed,
14708         set wc to the byte which couldn't be converted.
14709         (re_string_reconstruct): Don't clear valid_raw_len before calling
14710         re_string_skip_chars.  If wc is WEOF after re_string_skip_chars, set
14711         tip_context using re_string_context_at.
14712
14713         2006-05-02  Ulrich Drepper  <drepper@redhat.com>
14714
14715         * lib/posix/regex.h: g++ still cannot handled [restrict].
14716
14717         2006-04-21  Ulrich Drepper  <drepper@redhat.com>
14718
14719         * lib/posix/regex.h: Remove special handling for VMS.
14720
14721 2006-08-10  Jim Meyering  <jim@meyering.net>
14722
14723         * modules/same-inode: New module.
14724         * modules/dev-ino: New module.
14725         * modules/cycle-check: Depend on these modules, rather than simply
14726         including their .h files.
14727         (Makefile.am): Don't list cycle-check.[ch] here, now that they're
14728         required via m4/cycle-check.m4.
14729         * modules/same: Depend on new same-inode module, rather than
14730         including same-inode.h.
14731         * modules/chdir-safer: New file.
14732
14733         * modules/chown (Depends-on): Add stat-macros.
14734
14735 2006-08-10  Jim Meyering  <jim@meyering.net>
14736
14737         * m4/cycle-check.m4: New file.
14738         Require gl_STRUCT_DEV_INO and gl_SAME_INODE.
14739         * m4/dev-ino.m4, m4/same-inode.m4: New files.
14740
14741 2006-08-10  Eric Blake  <ebb9@byu.net>
14742
14743         * modules/verror (Depends-on): Remove bogus gl_VERROR that snuck
14744         in from original proposal.
14745
14746 2006-08-10  Eric Blake  <ebb9@byu.net>
14747         and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
14748
14749         * gnulib-tool (func_import): Detect unexpanded macros in gnulib
14750         namespace.
14751
14752 2006-08-10  Bruno Haible  <bruno@clisp.org>
14753
14754         * gnulib-tool (func_create_testdir): Detect unexpanded macros here
14755         as well.
14756
14757 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
14758
14759         Sync from coreutils.
14760
14761         2006-07-19  Mike Frysinger  <vapier@gentoo.org>
14762
14763         * lib/mountlist.c [ME_REMOTE]: Filter out cifs.
14764         Reported by Toralf Förster in <http://bugs.gentoo.org/141012>.
14765
14766 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
14767
14768         * modules/restrict: Remove; no longer needed now that we assume
14769         Autoconf 2.59 or later.
14770         * MODULES.html.sh: Remove 'restrict'.
14771         * modules/argp (Depends-on): Remove 'restrict'.
14772         * modules/base64 (Depends-on): Likewise.
14773         * modules/gc (Depends-on): Likewise.
14774         * modules/getaddrinfo (Depends-on): Likewise.
14775         * modules/glob (Depends-on): Likewise.
14776         * modules/inet_ntop (Depends-on): Likewise.
14777         * modules/inet_pton (Depends-on): Likewise.
14778         * modules/memxor (Depends-on): Likewise.
14779         * modules/regex (Depends-on): Likewise.
14780         * modules/strtok_r (Depends-on): Likewise.
14781         * modules/time_r (Depends-on): Likewise.
14782
14783 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
14784
14785         * m4/argp.m4 (gl_ARGP): Require AC_C_RESTRICT.
14786         * m4/gc.m4 (gl_PREREQ_GC): Likewise.
14787         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
14788         * m4/inet_ntop.m4 (gl_PREREQ_INET_NTOP): Likewise.
14789         * m4/inet_pton.m4 (gl_PREREQ_INET_PTON): Likewise.
14790         * m4/memxor.m4 (gl_MEMXOR): Likewise.
14791         * m4/restrict.m4: Remove; no longer needed.  All remaining uses of
14792         gl_C_RESTRICT replaced by AC_C_RESTRICT.
14793
14794         Merge from coreutils.
14795         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_C_RESTRICT, not
14796         gl_C_RESTRICT, now that we assume Autoconf 2.59 or later.
14797         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
14798         * m4/time_r.m4 (gl_TIME_R): Likewise.
14799
14800 2006-08-09  Karl Berry  <karl@gnu.org>
14801
14802         * config/srclist.txt: no more gettext-tools, per Bruno.
14803
14804 2006-08-08  Eric Blake  <ebb9@byu.net>
14805
14806         * modules/verror: New module.
14807         * MODULES.html.sh: Document it.
14808
14809 2006-08-08  Eric Blake  <ebb9@byu.net>
14810
14811         * lib/verror.h, lib/verror.c: New files.
14812
14813 2006-08-08  Eric Blake  <ebb9@byu.net>
14814
14815         * lib/verror.c (verror_at_line): Work around glibc bug 2997, so that
14816         verror_at_line output complies with GNU Coding Standards even when
14817         file is NULL.
14818
14819 2006-08-07  Bruno Haible  <bruno@clisp.org>
14820
14821         * lib/allocsa.h (sa_alignof) [_AIX]: Also consider 'long long' in newer
14822         versions of AIX.
14823         Reported by Ralf Wildenhues.
14824
14825 2006-08-07  Bruno Haible  <bruno@clisp.org>
14826
14827         * gnulib-tool (func_create_testdir): Wrap the set of autoconf snippets
14828         in an AC_DEFUN. Needed so that the autoconf snippets can use
14829         AC_REQUIRE.
14830
14831 2006-08-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
14832
14833         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
14834         Initialize pkgdata_DATA.
14835         * modules/javaversion (Makefile.am): Add to pkgdata_DATA, rather than
14836         overriding it.
14837
14838 2006-08-06  Eric Blake  <ebb9@byu.net>
14839
14840         * lib/error.h: Fold in some upstream changes from glibc.
14841         * lib/error.c: Likewise.
14842
14843 2006-08-04  Bruno Haible  <bruno@clisp.org>
14844
14845         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
14846         Make the mostlyclean-local rule depend on mostlyclean-generic.
14847         Reported by Jim Meyering. Solution suggested by Ralf Wildenhues.
14848
14849 2006-07-31  Bruno Haible  <bruno@clisp.org>
14850
14851         * m4/localcharset.m4 (gl_LOCALCHARSET): Remove tests for <stddef.h>,
14852         <stdlib.h>, <string.h>.
14853
14854 2006-07-30  Bruno Haible  <bruno@clisp.org>
14855
14856         * modules/readlink (License): Change to LGPL.
14857
14858 2006-07-30  Bruno Haible  <bruno@clisp.org>
14859
14860         * modules/javaversion (Makefile.am): Distribute javaversion.java and
14861         javaversion.class. Also install javaversion.class in $(pkgdatadir) and
14862         set PKGDATADIR to point to it.
14863
14864 2006-07-30  Bruno Haible  <bruno@clisp.org>
14865
14866         * modules/csharpexec (configure.ac): Comment out macro invocation.
14867         * modules/javaexec (configure.ac): Likewise.
14868         * modules/javacomp-script (configure.ac): Likewise.
14869
14870         * modules/csharpcomp-script (configure.ac): Use AC_REQUIRE.
14871
14872 2006-07-30  Bruno Haible  <bruno@clisp.org>
14873
14874         * modules/clean-temp (Depends-on): Add linkedhash-list, remove
14875         linked-list.
14876
14877 2006-07-30  Bruno Haible  <bruno@clisp.org>
14878
14879         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Assume <string.h> exists.
14880
14881 2006-07-30  Bruno Haible  <bruno@clisp.org>
14882
14883         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
14884         Initialize MOSTLYCLEANFILES to core and *.stackdump, so that core dumps
14885         get removed.
14886
14887 2006-07-29  Bruno Haible  <bruno@clisp.org>
14888
14889         Make it possible for gnulib-tool to work with locally modified or
14890         augmented gnulib repositories.
14891         * gnulib-tool (func_usage): Document --local-dir option.
14892         (local_gnulib_dir): New variable.
14893         Handle --local-dir option.
14894         (func_lookup_file): New function.
14895         (func_all_modules, func_verify_module): Look also in $local_gnulib_dir.
14896         (func_get_description, func_get_filelist, func_get_description,
14897         func_get_filelist, func_get_dependencies, func_get_autoconf_snippet,
14898         func_get_automake_snippet, func_get_include_directive,
14899         func_get_license, func_get_maintainer): Use func_lookup_file.
14900         (func_import, func_create_testdir): Use func_lookup_file.
14901
14902 2006-07-29  Bruno Haible  <bruno@clisp.org>
14903
14904         * modules/setenv (Depends-on): Add unistd.
14905
14906 2006-07-29  Bruno Haible  <bruno@clisp.org>
14907
14908         * lib/setenv.c: Undo unintended modification done on 2006-02-27.
14909
14910 2006-07-29  Bruno Haible  <bruno@clisp.org>
14911
14912         * lib/localcharset.c: Assume <stddef.h>, <stdlib.h>, <string.h> exist.
14913
14914 2006-07-29  Bruno Haible  <bruno@clisp.org>
14915
14916         * gnulib-tool (import, update): If there is no Makefile.am, look at
14917         aclocal.m4, instead of bailing out.
14918
14919 2006-07-29  Bruno Haible  <bruno@clisp.org>
14920
14921         * gnulib-tool (func_usage): Revert most of the 2006-07-15 change.
14922         Categorize the options by when they are useful.
14923
14924 2006-07-29  Bruno Haible  <bruno@clisp.org>
14925
14926         * gnulib-tool (func_usage): Document option --no-libtool.
14927         Handle option --no-libtool.
14928         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Update
14929         for changed semantics of $libtool variable.
14930         (func_import): Likewise. If libtool is not used, show this through
14931         an option --no-libtool.
14932         (func_create_testdir): Update.
14933
14934 2006-07-29  Bruno Haible  <bruno@clisp.org>
14935
14936         * gnulib-tool (func_import): Extend error message about missing
14937         --doc-base.
14938
14939 2006-07-29  Bruno Haible  <bruno@clisp.org>
14940
14941         * gnulib-tool (func_import): Don't create the $docbase directory if
14942         there is no file to store there.
14943
14944 2006-07-29  Bruno Haible  <bruno@clisp.org>
14945
14946         * gnulib-tool (autoconf_minversion): If a --dir option is given and
14947         relevant, look for configure.ac there, not in the current directory.
14948         Also use a simple search for AC_PREREQ, not "autoconf --trace".
14949
14950 2006-07-29  Bruno Haible  <bruno@clisp.org>
14951
14952         * gnulib-tool (SORT): New variable.
14953         (func_usage): Undocument --assume-autoconf option.
14954         Remove --assume-autoconf option handling.
14955         (autoconf_minversion): Determine from the contents of configure.ac.
14956         (func_import): Remove autoconf_minversion handling.
14957         Suggested by Eric Blake.
14958
14959 2006-07-29  Bruno Haible  <bruno@clisp.org>
14960
14961         * doc/gnulib-tool.texi (gl_LIBTOOL): Mention --no-libtool option.
14962
14963 2006-07-29  Bruno Haible  <bruno@clisp.org>
14964
14965         * config/srclist.txt (*setenv.[ch]): Remove rules.
14966
14967 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
14968
14969         * m4/inet_pton.m4, inet_ntop.m4: Check for netinet/in.h too.
14970
14971 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
14972
14973         * lib/inet_ntop.h, inet_pton.h: Need to include netinet/in.h before
14974         arpa/inet.h.
14975
14976 2006-07-28  Simon Josefsson  <jas@extundo.com>
14977
14978         * modules/inet_ntop (Depends-on): Depend on arpa_inet.
14979         * modules/inet_pton (Depends-on): Likewise.
14980
14981 2006-07-28  Simon Josefsson  <jas@extundo.com>
14982
14983         * m4/netinet_in_h.m4: New file.
14984
14985 2006-07-28  Simon Josefsson  <jas@extundo.com>
14986
14987         * lib/inet_ntop.h, inet_pton.h: No need to guard netinet/in.h
14988         #include's.
14989
14990 2006-07-28  Simon Josefsson  <jas@extundo.com>
14991
14992         * lib/inet_ntop.h, inet_pton.h: No need to guard arpa/inet.h
14993         #include's.
14994
14995 2006-07-28  Paul Eggert  <eggert@cs.ucla.edu>
14996
14997         * lib/modechange.c (mode_compile): Numeric modes now affect setuid and
14998         setgid on directories only if they set these bits.
14999         * lib/modechange.h: Remove obsolete comment about masks.
15000
15001 2006-07-28  Eric Blake  <ebb9@byu.net>
15002
15003         * lib/regex_internal.h (struct re_dfa_t) [!_LIBC]: Avoid invalid C89
15004         macro expansion.
15005
15006 2006-07-28  Bruno Haible  <bruno@clisp.org>
15007
15008         * lib/inet_ntop.h, inet_pton.h: Use #if HAVE* instead of #ifdef HAVE*.
15009
15010 2006-07-28  Bruno Haible  <bruno@clisp.org>
15011
15012         * m4/mbchar.m4 (gl_MBCHAR): Also test for iswcntrl.
15013
15014 2006-07-28  Bruno Haible  <bruno@clisp.org>
15015
15016         * lib/mbchar.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
15017         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit):
15018         Define fallbacks.
15019         Avoids link error on FreeBSD 4.x.
15020         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
15021
15022         * lib/wcwidth.h (iswprint): Assume an ASCII compatible wide character
15023         encoding.
15024         * lib/mbswidth.c (iswcntrl): Likewise.
15025
15026 2006-07-27  Bruno Haible  <bruno@clisp.org>
15027
15028         * m4/stdint.m4 (gl_STDINT_H): Define __STDC_CONSTANT_MACROS during the
15029         test.
15030
15031 2006-07-27  Bruno Haible  <bruno@clisp.org>
15032
15033         * lib/stdint_.h (INT*_C, UINT*_C) [C++]: Define these if
15034         __STDC_CONSTANT_MACROS is defined, not if __STDC_LIMIT_MACROS is
15035         defined.
15036
15037 2006-07-26  Eric Blake  <ebb9@byu.net>
15038
15039         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Check for missing pipe.
15040
15041 2006-07-26  Eric Blake  <ebb9@byu.net>
15042
15043         * lib/mkstemp-safer.c [! HAVE_MKSTEMP]: Add prototype for platforms
15044         like mingw that lack mkstemp.
15045         * lib/pipe-safer.c (pipe_safer) [!HAVE_FUNC_PIPE]: Provide fallback to
15046         avoid compilation warning on mingw.
15047
15048 2006-07-26  Bruno Haible  <bruno@clisp.org>
15049
15050         * m4/stdint.m4 (gl_STDINT_H): Also verify the existence of the macros
15051         INT*_MIN, INT_LEAST*_MAX, INT_LEAST*_MIN, UINT_LEAST*_MAX,
15052         INT_FAST*_MIN, INTPTR_MIN.
15053
15054 2006-07-25  Bruno Haible  <bruno@clisp.org>
15055
15056         * modules/version-etc (Depends-on): Add stdarg.
15057
15058 2006-07-25  Bruno Haible  <bruno@clisp.org>
15059
15060         * m4/stdint.m4 (gl_INTEGER_TYPE_SUFFIX): Avoid 'eval' in front of
15061         complex commands.
15062
15063 2006-07-25  Bruno Haible  <bruno@clisp.org>
15064
15065         * lib/version-etc.c (version_etc_va): Use va_copy, assumed to be
15066         defined in <stdarg.h> or config.h.
15067
15068 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
15069
15070         * m4/stdio-safer.m4 (gl_FOPEN_SAFER, gl_TMPFILE_SAFER): New macros.
15071         (gl_STDIO_SAFER): Remove.
15072
15073 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
15074
15075         * MODULES.html.sh (File stream based Input/Output):
15076         Add fopen-safer, tmpfile-safer; remove stdio-safer.
15077         * modules/getusershell (Depends-on): Change stdio-safer to fopen-safer.
15078         * modules/fopen-safer, modules/tmpfile-safer: New files.
15079         * modules/stdio-safer: Remove.
15080
15081 2006-07-24  Bruno Haible  <bruno@clisp.org>
15082
15083         * modules/tmpdir: New file.
15084         * MODULES.html.sh (File system functions): Add it.
15085
15086 2006-07-24  Bruno Haible  <bruno@clisp.org>
15087
15088         * modules/javacomp (Depends-on): Add unistd, javaversion, binary-io,
15089         getline, pathname, fwriteerror, clean-temp, xvasprintf, strstr.
15090
15091 2006-07-24  Bruno Haible  <bruno@clisp.org>
15092
15093         * modules/clean-temp: New file.
15094
15095 2006-07-24  Bruno Haible  <bruno@clisp.org>
15096
15097         * m4/tmpdir.m4: New file, from GNU gettext.
15098
15099 2006-07-24  Bruno Haible  <bruno@clisp.org>
15100
15101         * lib/tmpdir.h: New file, from GNU gettext.
15102         * lib/tmpdir.c: New file, from GNU gettext.
15103
15104 2006-07-24  Bruno Haible  <bruno@clisp.org>
15105
15106         * lib/clean-temp.h: New file, from GNU gettext.
15107         * lib/clean-temp.c: New file, from GNU gettext.
15108
15109 2006-07-23  Eric Blake  <ebb9@byu.net>
15110
15111         * modules/stdio-safer (Files): Add tmpfile-safer.c.
15112         (Depends-on): Add binary-io.
15113
15114 2006-07-23  Eric Blake  <ebb9@byu.net>
15115
15116         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add tmpfile-safer.c.
15117
15118 2006-07-23  Eric Blake  <ebb9@byu.net>
15119
15120         * lib/tmpfile-safer.c: New file.
15121         * lib/stdio-safer.h (fopen_safer): Add prototype.
15122         * lib/stdio--.h (tmpfile): Make safer.
15123
15124 2006-07-23  Bruno Haible  <bruno@clisp.org>
15125
15126         * lib/gl_anylinked_list2.h (ASYNCSAFE): New macro.
15127         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before,
15128         gl_linked_add_after, gl_linked_add_at, gl_linked_remove_node,
15129         gl_linked_remove_at): Use it.
15130
15131 2006-07-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
15132         and Simon Josefsson <jas@extundo.com>
15133
15134         * lib/getaddrinfo.h (AI_PASSIVE): Make sure it is defined.
15135
15136         * lib/getaddrinfo.c (getaddrinfo): Support AI_PASSIVE.
15137
15138 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
15139
15140         * modules/close-stream: New file.
15141         * modules/closeout (Description): Make it clear that it exits
15142         with a diagnostic on error.
15143         (Depends-on): Add close-stream.  Remove fpending, stdbool.
15144         * MODULES.html.sh (File stream based Input/Output): Add close-stream.
15145
15146 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
15147
15148         * m4/close-stream.m4: New file.
15149
15150 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
15151
15152         * lib/close-stream.c, lib/close-stream.h: New files.
15153
15154 2006-07-22  Bruno Haible  <bruno@clisp.org>
15155
15156         Merge from GNU gettext 0.15.
15157
15158         2006-05-01  Bruno Haible  <bruno@clisp.org>
15159
15160                 * build-aux/javacomp.sh.in: Update for changed javacomp.m4.
15161
15162         2006-07-22  Bruno Haible  <bruno@clisp.org>
15163
15164                 * modules/javaversion: New file.
15165                 * MODULES.html.sh (Java): Add javaversion.
15166
15167         2006-03-12  Bruno Haible  <bruno@clisp.org>
15168
15169                 * build-aux/javaexec.sh.in: Update for changed javaexec.m4.
15170
15171         2005-12-04  Bruno Haible  <bruno@clisp.org>
15172
15173                 * build-aux/csharpexec.sh.in: Add support for 'clix' launcher
15174                 (untested).
15175
15176         2006-06-21  Bruno Haible  <bruno@clisp.org>
15177
15178                 Avoid warnings from recent versions of mcs.
15179                 * build-aux/csharpcomp.sh.in (options_mcs): Don't use options
15180                 -o, -L, -r any more. Use options documented since mcs-1.0
15181                 instead. Similarly for -g.
15182
15183         2005-12-04  Bruno Haible  <bruno@clisp.org>
15184
15185                 * build-aux/csharpcomp.sh.in: Suffix for resources is
15186                 .resources, not .resource.
15187
15188         2005-07-09  Bruno Haible  <bruno@clisp.org>
15189
15190                 * build-aux/csharpcomp.sh.in (options_csc): For -l option,
15191                 add a .dll suffix.
15192                 Reported by Mark Junker <mjscod@gmx.de>.
15193
15194         2006-07-22  Bruno Haible  <bruno@clisp.org>
15195
15196                 * modules/gettext: Upgrade to gettext-0.15.
15197                 (Files): Remove m4/isc-posix.m4. Add m4/lock.m4,
15198                 m4/visibility.m4.
15199                 Replace m4/inttypes.m4 with m4/inttypes-h.m4.
15200
15201 2006-07-22  Bruno Haible  <bruno@clisp.org>
15202
15203         Merge from GNU gettext 0.15.
15204
15205         2006-03-25  Bruno Haible  <bruno@clisp.org>
15206
15207                 * lib-link.m4 (AC_LIB_LINKFLAGS_FROM_LIBS): New macro.
15208
15209         2006-07-21  Bruno Haible  <bruno@clisp.org>
15210
15211                 * javacomp.m4 (gt_JAVACOMP): Convert target_version "null" to
15212                 "1.1".
15213
15214         2006-05-09  Bruno Haible  <bruno@clisp.org>
15215
15216                 * javacomp.m4 (gt_JAVACOMP): On Cygwin, set
15217                 CLASSPATH_SEPARATOR to a semicolon. Use CLASSPATH_SEPARATOR
15218                 for the conftestver execution.
15219
15220         2006-05-01  Bruno Haible  <bruno@clisp.org>
15221
15222                 * javacomp.m4 (gt_JAVACOMP): Accept a source-version and an
15223                 optional target-version argument. Verify that the compiler
15224                 groks source of the specified source-version, or add -source
15225                 option as necessary. Verify that the compiler produces
15226                 bytecode in the specified target-version, or add -target and
15227                 -source options as necessary. Make the result of the test
15228                 available as variable CONF_JAVAC. Also log error output in
15229                 config.log.
15230
15231         2006-03-11  Bruno Haible  <bruno@clisp.org>
15232
15233                 * javacomp.m4 (gt_JAVACOMP): Treat gcj-4.x like gcj-3.x.
15234
15235         2006-05-09  Bruno Haible  <bruno@clisp.org>
15236
15237                 * javaexec.m4 (gt_JAVAEXEC): On Cygwin, set
15238                 CLASSPATH_SEPARATOR to a semicolon.
15239
15240         2006-03-12  Bruno Haible  <bruno@clisp.org>
15241
15242                 * javaexec.m4 (gt_JAVAEXEC): Make the result of the test
15243                 available as variable CONF_JAVA, for subsequent autoconf
15244                 tests. Also log error output in config.log.
15245
15246         2006-07-19  Bruno Haible  <bruno@clisp.org>
15247
15248                 * getline.m4 (AM_FUNC_GETLINE): When cross-compiling, assume
15249                 that getline works on glibc2 systems. Needed to avoid trouble
15250                 in relocatable.c.
15251                 Reported by Nils Magnus Larsgard <nmlarsgaard@atmel.no>.
15252
15253         2005-12-04  Bruno Haible  <bruno@clisp.org>
15254
15255                 * csharpexec.m4 (gt_CSHARPEXEC): Add support for 'clix'
15256                 launcher (untested).
15257
15258         2005-12-04  Bruno Haible  <bruno@clisp.org>
15259
15260                 * csharpcomp.m4 (gt_CSHARPCOMP): Also set CSHARPCOMPFLAGS.
15261
15262         2006-07-22  Bruno Haible  <bruno@clisp.org>
15263
15264                 * gettext.m4: Update from GNU gettext-0.15.
15265                 * nls.m4: Likewise.
15266                 * po.m4: Likewise.
15267                 * inttypes-pri.m4: Likewise.
15268                 * inttypes-h.m4: Renamed from inttypes.m4.
15269                 (gl_HEADER_INTTYPES_H): Renamed from gt_HEADER_INTTYPES_H.
15270
15271 2006-07-22  Bruno Haible  <bruno@clisp.org>
15272
15273         Merge from GNU gettext 0.15.
15274
15275         2005-07-05  Bruno Haible  <bruno@clisp.org>
15276
15277                 * printf-args.c (printf_fetchargs): Work around broken
15278                 definition of wint_t on mingw.
15279
15280         2005-02-12  Bruno Haible  <bruno@clisp.org>
15281
15282                 * xallocsa.h: Add extern "C" for C++.
15283
15284         2006-05-17  Bruno Haible  <bruno@clisp.org>
15285
15286                 Cygwin portability.
15287                 * progreloc.c (WIN32_NATIVE): Renamed from WIN32.
15288
15289         2006-04-30  Bruno Haible  <bruno@clisp.org>
15290
15291                 * progreloc.c: Include <mach-o/dyld.h> if available.
15292                 (find_executable): Use _NSGetExecutablePath when possible.
15293
15294         2006-05-06  Charles Wilson  <cygwin@cwilson.fastmail.fm>
15295
15296                 * progreloc.c (maybe_executable) [CYGWIN]: Use the access()
15297                 function.
15298
15299         2005-12-29  Bruno Haible  <bruno@clisp.org>
15300
15301                 * progreloc.c (set_program_name_and_installdir): Fix
15302                 compilation error.
15303
15304         2005-12-04  Bruno Haible  <bruno@clisp.org>
15305
15306                 Cygwin portability.
15307                 * progreloc.c: Include <windows.h> also on Cygwin.
15308                 (find_executable): Add support for Cygwin.
15309                 (set_program_name_and_installdir): Handle also platforms with
15310                 nonempty EXEEXT.
15311
15312         2006-07-11  Bruno Haible  <bruno@clisp.org>
15313
15314                 * javacomp.c: Fix a comment.
15315                 Reported by Jim Meyering.
15316
15317         2006-04-30  Bruno Haible  <bruno@clisp.org>
15318
15319                 * javacomp.h (compile_java_class): Add source_version,
15320                 target_version arguments.
15321                 * javacomp.c: Rewritten to choose only a compiler that
15322                 respects the specified source_version and target_version.
15323
15324         2006-06-27  Bruno Haible  <bruno@clisp.org>
15325
15326                 Assume correct S_ISDIR macro.
15327                 * mkdtemp.c: Remove test of STAT_MACROS_BROKEN.
15328
15329         2006-07-22  Bruno Haible  <bruno@clisp.org>
15330
15331                 * javaversion.h: New file, from GNU gettext.
15332                 * javaversion.c: New file, from GNU gettext.
15333                 * javaversion.java: New file, from GNU gettext.
15334                 * javaversion.class: New file, from GNU gettext.
15335
15336         2006-05-17  Bruno Haible  <bruno@clisp.org>
15337
15338                 Cygwin portability.
15339                 * javaexec.c (execute_java_class): Test for jview program
15340                 also on Cygwin.
15341
15342         2006-04-09  Bruno Haible  <bruno@clisp.org>
15343
15344                 * fatal-signal.c: Don't include string.h.
15345                 (at_fatal_signal): Use a copying loop instead of memcpy.
15346
15347         2005-12-04  Bruno Haible  <bruno@clisp.org>
15348
15349                 * csharpexec.c: Add support for 'clix' launcher (untested).
15350                 (execute_csharp_using_sscli): New function.
15351                 (execute_csharp_program): Call it.
15352
15353         2006-06-21  Bruno Haible  <bruno@clisp.org>
15354
15355                 Avoid warnings from recent versions of mcs.
15356                 * csharpcomp.c (compile_csharp_using_mono): Don't use options
15357                 -o, -L, -r any more. Use options documented since mcs-1.0
15358                 instead. Similarly for -g.
15359
15360         2005-07-09  Bruno Haible  <bruno@clisp.org>
15361
15362                 * csharpcomp.c (compile_csharp_using_sscli): For -l option,
15363                 add a .dll suffix.
15364                 Reported by Mark Junker <mjscod@gmx.de>.
15365
15366         2006-06-17  Bruno Haible  <bruno@clisp.org>
15367
15368                 * config.charset: Update for NetBSD 3.0.
15369
15370         2006-05-17  Bruno Haible  <bruno@clisp.org>
15371
15372                 Cygwin portability.
15373                 * localcharset.c (WIN32_NATIVE): Renamed from WIN32.
15374
15375         2006-05-16  Bruno Haible  <bruno@clisp.org>
15376
15377                 * localcharset.c [CYGWIN]: Include <windows.h>.
15378                 (get_charset_aliases): For Cygwin, return the same CPxxx
15379                 aliases list as under WIN32.
15380                 (locale_charset) [CYGWIN]: Try to retrieve the encoding from
15381                 the environment variables. Fall back to GetACP().
15382
15383         2006-04-05  Bruno Haible  <bruno@clisp.org>
15384
15385                 * config.charset: Update Juan Manuel Guerrero's address.
15386
15387         2005-02-12  Bruno Haible  <bruno@clisp.org>
15388
15389                 * allocsa.h: Add extern "C" for C++.
15390
15391         2005-02-10  Bruno Haible  <bruno@clisp.org>
15392
15393                 * allocsa.h (sa_alignof): Define differently with AIX xlc, to
15394                 avoid a bug of this compiler on AIX 3.2.5 dealing with enums.
15395
15396         2006-07-22  Bruno Haible  <bruno@clisp.org>
15397
15398                 * gettext.h: Update to GNU gettext-0.15.
15399
15400 2006-07-22  Bruno Haible  <bruno@clisp.org>
15401
15402         * config/srclist.txt: Resync printf-args.c, vasnprintf.c,
15403         localcharset.c, mkdtemp.c, config.rpath, lib-ld.m4, lib-link.m4,
15404         lib-prefix.m4, longdouble.m4, ssize_t.m4.
15405
15406 2006-07-21  Eric Blake  <ebb9@byu.net>
15407
15408         * modules/stdlib-safer: New file.
15409         * MODULES.html.sh (File stream based Input/Output): Add
15410         stdlib-safer.
15411
15412 2006-07-21  Eric Blake  <ebb9@byu.net>
15413
15414         * lib/stdlib-safer.h: New file from coreutils, required by
15415         stdlib--.h.
15416
15417 2006-07-20  Paul Eggert  <eggert@cs.ucla.edu>
15418
15419         * gnulib-tool (func_usage): Document --assume-autoconf='latest-stable'.
15420
15421 2006-07-20  Bruno Haible  <bruno@clisp.org>
15422
15423         * gnulib-tool: Recognize new option --assume-autoconf.
15424         (autoconf_minversion): New variable.
15425         (func_get_filelist): Use it to decide whether to add onceonly_2_57.m4.
15426
15427 2006-07-20  Bruno Haible  <bruno@clisp.org>
15428
15429         * MODULES.html.sh (func_all_modules): Add a missing func_begin_table.
15430
15431 2006-07-19  Derek R. Price  <derek@ximbiot.com>
15432
15433         * lib/getaddrinfo.h: Don't define unimplemented AI_* flags.
15434         Reindent and repaginate.
15435
15436 2006-07-19  Derek Price  <derek@ximbiot.com>
15437
15438         * doc/gnulib.texi (Libtool and Windows):  Eliminate passive voice.
15439         Correct grammar.
15440
15441 2006-07-17  Bruno Haible  <bruno@clisp.org>
15442
15443         * modules/list: New file.
15444         * modules/array-list: New file.
15445         * modules/carray-list, modules/carray-list-tests: New files.
15446         * modules/linked-list, modules/linked-list-tests: New files.
15447         * modules/avltree-list, modules/avltree-list-tests: New files.
15448         * modules/rbtree-list, modules/rbtree-list-tests: New files.
15449         * modules/linkedhash-list, modules/linkedhash-list-tests: New files.
15450         * modules/avltreehash-list, modules/avltreehash-list-tests: New files.
15451         * modules/rbtreehash-list, modules/rbtreehash-list-tests: New files.
15452         * modules/oset: New file.
15453         * modules/array-oset: New file.
15454         * modules/avltree-oset, modules/avltree-oset-tests: New files.
15455         * modules/rbtree-oset, modules/rbtree-oset-tests: New files.
15456         * tests/test-carray_list.c: New file.
15457         * tests/test-linked_list.c: New file.
15458         * tests/test-avltree_list.c: New file.
15459         * tests/test-rbtree_list.c: New file.
15460         * tests/test-linkedhash_list.c: New file.
15461         * tests/test-avltreehash_list.c: New file.
15462         * tests/test-rbtreehash_list.c: New file.
15463         * tests/test-avltree_oset.c: New file.
15464         * tests/test-rbtree_oset.c: New file.
15465         * MODULES.html.sh (Container data structures): New section.
15466
15467 2006-07-17  Bruno Haible  <bruno@clisp.org>
15468
15469         * m4/gl_list.m4: New file.
15470
15471 2006-07-17  Bruno Haible  <bruno@clisp.org>
15472
15473         * lib/gl_list.h: New file.
15474         * lib/gl_list.c: New file.
15475         * lib/gl_array_list.h: New file.
15476         * lib/gl_array_list.c: New file.
15477         * lib/gl_carray_list.h: New file.
15478         * lib/gl_carray_list.c: New file.
15479         * lib/gl_linked_list.h: New file.
15480         * lib/gl_linked_list.c: New file.
15481         * lib/gl_anylinked_list1.h: New file.
15482         * lib/gl_anylinked_list2.h: New file.
15483         * lib/gl_avltree_list.h: New file.
15484         * lib/gl_avltree_list.c: New file.
15485         * lib/gl_anyavltree_list1.h: New file.
15486         * lib/gl_anyavltree_list2.h: New file.
15487         * lib/gl_rbtree_list.h: New file.
15488         * lib/gl_rbtree_list.c: New file.
15489         * lib/gl_anyrbtree_list1.h: New file.
15490         * lib/gl_anyrbtree_list2.h: New file.
15491         * lib/gl_anytree_list1.h: New file.
15492         * lib/gl_anytree_list2.h: New file.
15493         * lib/gl_linkedhash_list.h: New file.
15494         * lib/gl_linkedhash_list.c: New file.
15495         * lib/gl_anyhash_list1.h: New file.
15496         * lib/gl_anyhash_list2.h: New file.
15497         * lib/gl_avltreehash_list.h: New file.
15498         * lib/gl_avltreehash_list.c: New file.
15499         * lib/gl_rbtreehash_list.h: New file.
15500         * lib/gl_rbtreehash_list.c: New file.
15501         * lib/gl_anytreehash_list1.h: New file.
15502         * lib/gl_anytreehash_list2.h: New file.
15503
15504         * lib/gl_oset.h: New file.
15505         * lib/gl_oset.c: New file.
15506         * lib/gl_array_oset.h: New file.
15507         * lib/gl_array_oset.c: New file.
15508         * lib/gl_avltree_oset.h: New file.
15509         * lib/gl_avltree_oset.c: New file.
15510         * lib/gl_rbtree_oset.h: New file.
15511         * lib/gl_rbtree_oset.c: New file.
15512         * lib/gl_anytree_oset.h: New file.
15513
15514 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
15515
15516         * m4/mkancesdirs.m4: New file.
15517         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Mention dirchownmod.c,
15518         dirchownmod.h.  Don't require AC_FUNC_ALLOCA, gl_AFS, gl_CHDIR_SAFER;
15519         no longer needed.  Require gl_FUNC_LCHOWN, since dirchownmod.c needs
15520         it.
15521
15522 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
15523
15524         * lib/dirchownmod.c, lib/dirchownmod.h, lib/mkancesdirs.c:
15525         * lib/mkancesdirs.h: New files.
15526         * lib/mkdir-p.c: Don't include alloca.h, stdio.h, sys/types.h,
15527         unistd.h, string.h, chdir-safer.h, dirname.h, lchmod.h, lchown.h,
15528         save-cwd.h.  Instead, include dirchownmod.h and mkancesdirs.h.
15529         (make_dir_parents): New args MAKE_ANCESTOR, OPTIONS, ANNOUNCE,
15530         MODE_BITS.  Remove options VERBOSE_FMT_STRING, CWD_ERRNO.  All
15531         callers changed.  Revamp internals significantly, by not
15532         attempting to create directories that are temporarily more
15533         permissive than the final results.  Do not attempt to use
15534         save_cwd/restore_cwd; it isn't worth it for mkdir and install.
15535         This removes some race conditions, fixes some bugs, and simplifies
15536         things.  Use new dirchownmod function to do owner and mode changes.
15537         * lib/mkdir-p.h: Likewise.
15538         * lib/modechange.c (octal_to_mode): New function.
15539         (struct mode_change): New member mentioned.
15540         (make_node_op_equals): New arg mentioned.  All callers changed.
15541         (mode_compile): Keep track of which mode bits the user has explicitly
15542         mentioned.
15543         (mode_adjust): New arg DIR, so that we implement the X op correctly.
15544         New arg PMODE_BITS, to keep track of which mode bits the user
15545         mentioned; it treats S_ISUID and S_ISGID speciall.
15546         All callers changed.
15547         * lib/modechange.h: Likewise.
15548
15549 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
15550
15551         * MODULES.html.sh: Add mkancestors.
15552         * modules/mkancesdirs: New module.
15553         * modules/mkdir-p (Files): Remove lib/chdir-safer.c, lib/chdir-safer.h,
15554         lib/same-inode.h, m4/afs.m4, m4/chdir-safer.m4.
15555         The chdir-safer and afs files are now orphans; I'll remove them
15556         unless someone speaks up.
15557         Add lib/dirchownmod.c, lib/dirchownmod.h.
15558         (Depends-on): Remove alloca, chown, save-cwd, dirname.
15559         Add lchown, mkancesdirs.
15560         (Maintainer): Add self.
15561
15562 2006-07-15  Karl Berry  <karl@gnu.org>
15563
15564         * gnulib-tool: help message wording/arrangement.
15565
15566 2006-07-14  Simon Josefsson  <jas@extundo.com>
15567
15568         * doc/gnulib.texi (Libtool and Windows): New section.
15569
15570 2006-07-12  Simon Josefsson  <jas@extundo.com>
15571
15572         * modules/gendocs (License): Fix license, approved by Karl.
15573
15574 2006-07-12  Eric Blake  <ebb9@byu.net>
15575
15576         * MODULES.html.sh: Add gendocs.
15577
15578 2006-07-11  Eric Blake  <ebb9@byu.net>
15579
15580         * modules/fdl: New module, to install doc/fdl.texi.
15581         * MODULES.html.sh: Add new section for documentation modules.
15582         * gnulib-tool: Avoid space-tab.
15583         (--doc-base): New option, to manage files from doc.
15584
15585 2006-07-11  Eric Blake  <ebb9@byu.net>
15586
15587         * m4/absolute-header.m4: Fix comments to match recent change.
15588
15589 2006-07-11  Eric Blake  <ebb9@byu.net>
15590
15591         * gnulib-tool: List --doc-base before --tests-base.
15592
15593 2006-07-11  Derek R. Price  <derek@ximbiot.com>
15594
15595         * lib/glob.c: s/NAMLEN/_D_EXACT_NAMLEN/.
15596
15597 2006-07-11  Bruno Haible  <bruno@clisp.org>
15598
15599         * README: Mention where to put documentation.
15600
15601 2006-07-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
15602
15603         * doc/functions.texi, gnulib-tool.texi, gnulib.texi: Fix some typos.
15604
15605 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
15606
15607         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Like today's change
15608         to stdint.m4.
15609
15610 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
15611
15612         * m4/stdint.m4 (gl_STDINT_H): Like yesterday's change to
15613         absolute-header.m4.  Also, set ABSOLUTE_STDINT_H to a string
15614         "no/such/file/stdint.h" when there is no such file, so that
15615         the resulting C code can be parsed by dodgy compilers.
15616         Problems reported by Bob Proulx.
15617
15618 2006-07-10  Derek R. Price  <derek@ximbiot.com>
15619
15620         * lib/backupfile.c, dirfd.h, fts.c, getcwd.c, glob.c, glob_.h:
15621         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
15622         macros into the GNU _D_EXACT_NAMLEN.
15623         * lib/savedir.c:  Likewise.
15624         (savedirstream): Use _D_EXACT_NAMLEN in preference to strlen.
15625
15626 2006-07-10  Derek R. Price  <derek@ximbiot.com>
15627         and Paul Eggert  <eggert@cs.ucla.edu>
15628
15629         * m4/backupfile.m4, d-ino.m4, d-type.m4, dirfd.m4, fts.m4, getcwd.m4:
15630         * m4/savedir.m4:
15631         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
15632         macros into the GNU _D_EXACT_NAMLEN.
15633
15634 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
15635
15636         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Use "" rather than <>
15637         around the absolute name, to work around a problem with the HP-UX
15638         11.23 native C compiler, reported by Bob Proulx.
15639
15640 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
15641
15642         * doc/maintain.texi, make-stds.texi: Sync from
15643         <http://savannah.gnu.org/projects/gnustandards>.
15644
15645 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
15646
15647         * build-aux/depcomp, build-aux/install-sh: Sync from Automake.
15648
15649 2006-07-09  Jim Meyering  <jim@meyering.net>
15650
15651         * m4/glob.m4: Remove a doubled word in a comment.
15652
15653 2006-07-09  Jim Meyering  <jim@meyering.net>
15654
15655         * lib/argp-pv.c: Remove a doubled word in a comment.
15656         * lib/check-version.c (check_version): Likewise.
15657         * lib/javacomp.c (compile_java_class): Likewise.
15658
15659 2006-07-08  Paul Eggert  <eggert@cs.ucla.edu>
15660
15661         * gnulib-tool (func_get_filelist): Don't echo m4/onceonly_2_57.m4,
15662         for the benefit of people using Autoconf 2.60.  If you want to
15663         support older Autoconf versions you can copy m4/onceonly_2_57.m4
15664         (or m4/onceonly.m4, if pre-2.57) manually.
15665
15666 2006-07-08  Jim Meyering  <jim@meyering.net>
15667
15668         * m4/link-follow.m4: Remove one of two adjacent "whether"s in a
15669         comment.
15670         * m4/getopt.m4: Remove one of two adjacent "your"s in a comment.
15671         * m4/regex.m4 (gl_REGEX): Remove one of two adjacent "the"s in a
15672         comment.
15673
15674 2006-07-08  Jim Meyering  <jim@meyering.net>
15675
15676         * lib/getndelim2.h (getndelim2): Remove doubled "after" in comment.
15677
15678 2006-07-07  Simon Josefsson  <jas@extundo.com>
15679
15680         * tests/test-crc.c: Change expected crc value, the test vector
15681         were probably computed using the old broken crc.c?
15682
15683 2006-07-06  Simon Josefsson  <jas@extundo.com>
15684
15685         * modules/sys_socket (Files): Add m4/sockpfaf.m4 (this module is
15686         now the canonical place for the M4 file).
15687
15688         * modules/getaddrinfo (Files): Remove m4/sockpfaf.m4, we get it
15689         from the sys_socket dependency now.
15690
15691         * modules/inet_pton (Files): Ditto.
15692
15693         * modules/inet_ntop (Files): Ditto.
15694
15695 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
15696
15697         * modules/getusershell (configure.ac): Use gl_FUNC_GETUSERSHELL,
15698         not gl_PREREQ_GETUSERSHELL.
15699
15700 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
15701
15702         * m4/_inttypes_h.m4 (gl_INTTYPES_H): Use AC_CHECK_DECLS_ONCE
15703         with only one argument, for Autoconf 2.60.
15704         * m4/fileblocks.m4 (gl_PREREQ_FILEBLOCKS): AC_CHECK_DECLS_ONCE may
15705         expand to nothing, so add a shell command to avoid syntax error.
15706         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
15707
15708 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
15709
15710         * lib/strtod.c (strtod): cast the argument of tolower to unsigned char.
15711
15712 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
15713
15714         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't check for getenv decl;
15715         no longer needed.  Check for isblank decl.
15716         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Don't check for getenv decl.
15717         * m4/regex.m4 (gl_PREREQ_REGEX): Dheck for isblank decl instead
15718         of existence.
15719
15720 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
15721
15722         * lib/getloadavg.c: Use __VMS, not VMS.
15723         * lib/getopt.c: Likewise.
15724         * lib/getpagesize.h: Likewise.
15725         * lib/glob.c: Remove most VMS cruft; it hasn't been tested for a while
15726         and probably does not work.
15727
15728 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
15729
15730         * lib/.cppi-disable: Add wcwidth.
15731         * lib/fnmatch.c (ISBLANK): Remove.  All uses changed to isblank.
15732         (isblank) [! (defined isblank || HAVE_DECL_ISBLANK)]: New macro.
15733         (ISGRAPH): Remove.  All uses changed to isgraph.
15734         (FOLD) [!defined _LIBC]: Remove special case.
15735         * lib/getdate.y (lookup_word): Remove no-longer-needed call to islower.
15736         * lib/regex_internal.h (isblank): Depend on HAVE_DECL_ISBLANK, not
15737         HAVE_ISBLANK.
15738         * lib/strftime.c (TOLOWER, TOUPPER) [!defined _LIBC]: Remove special
15739         case.
15740
15741 2006-07-06  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
15742
15743         * lib/getaddrinfo.c: Changes to compile under MSVC6: changed
15744         '#if WIN32_NATIVE' to '#ifdef' & moved WSAAPI macro inside
15745         brackets.  Other minor changes to suppress some compiler
15746         warnings.
15747
15748 2006-07-06  Derek R. Price  <derek@ximbiot.com>
15749         and Paul Eggert  <eggert@cs.ucla.edu>
15750
15751         * m4/backupfile.m4 (gl_BACKUPFILE): Check for dirent.h, instead
15752         of invoking obsolescent AC_HEADER_DIRENT macro.
15753         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
15754         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Likewise.
15755         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
15756         * m4/fts.m4 (gl_FUNC_FTS_CORE): Likewise.
15757         * m4/getcwd.m4 (gl_PREREQ_GETCWD): Likewise.
15758         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
15759         * m4/savedir.m4 (gl_SAVEDIR): Likewise.
15760         * m4/readdir.m4: Remove; no longer needed.
15761
15762 2006-07-06  Derek R. Price  <derek@ximbiot.com>
15763         and Paul Eggert  <eggert@cs.ucla.edu>
15764
15765         * lib/backupfile.c [HAVE_DIRENT_H && ! HAVE_NDIR_H]:
15766         Don't worry about this obsolete case any more.
15767         (HAVE_DIR): Remove.  All uses removed; we now assume you can read
15768         directories.
15769         * lib/dirfd.h [HAVE_DIRENT_H && ! HAVE_NDIR_H]: Don't
15770         worry about this obsolete case any more.
15771         * lib/fts.c: Likewise.
15772         * lib/getcwd.c: Likewise.
15773         * lib/glob.h: Likewise.
15774         * lib/savedir.c: Likewise.
15775
15776 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
15777
15778         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Use AC_CHECK_DECLS_ONCE
15779         rather than AC_CHECK_DECLS for strtoimax and strtoumax.
15780         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Remove; no longer
15781         needed.
15782         All uses removed.
15783         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
15784         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
15785         * m4/exclude.m4 (gl_EXCLUDE): Don't check for isascii; no longer
15786         needed.
15787         * m4/getdate.m4 (gl_GETDATE): Likewise.
15788         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
15789         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
15790         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
15791         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
15792         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
15793         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
15794         * m4/exclude.m4 (gl_EXCLUDE): Don't require AC_C_INLINE; no longer
15795         needed.
15796
15797 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
15798
15799         * lib/memcasecmp.c: Include <limits.h>.
15800         (memcasecmp): Don't assume UCHAR_MAX <= INT_MAX.
15801         * lib/strtod.c (strtod): Don't assume isspace works on negative chars.
15802         Don't assume isdigit succeeds only on '0' through '9'.
15803
15804 2006-07-05  Eric Blake  <ebb9@byu.net>
15805
15806         * modules/getaddrinfo (Depends-on): Add snprintf.
15807
15808 2006-07-05  Eric Blake  <ebb9@byu.net>
15809
15810         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Use gl_HEADER_SYS_SOCKET
15811         to avoid 'header present but could not be compiled' on cygwin.
15812
15813 2006-07-05  Eric Blake  <ebb9@byu.net>
15814
15815         * lib/getaddrinfo.h (NI_NUMERICHOST, NI_NUMERICSERV): Define if
15816         missing from netdb.h.
15817         * lib/getaddrinfo.c (includes): Include inet_ntop and snprintf.
15818
15819 2006-07-05  Derek R. Price  <derek@ximbiot.com>
15820
15821         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Don't require AC_HEADER_STDC;
15822         no longer needed.
15823         * m4/exclude.m4 (gl_EXCLUDE): Likewise.
15824         * m4/getdate.m4 (gl_GETDATE): Likewise.
15825         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
15826         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
15827         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
15828         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
15829         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
15830
15831 2006-07-05  Derek R. Price  <derek@ximbiot.com>
15832
15833         * lib/exclude.c (IN_CTYPE_DOMAIN, is_space): Remove; no longer needed.
15834         All uses of is_space replaced by isspace.
15835         * lib/exit.h: Don't talk about STDC_HEADERS.
15836         * lib/fnmatch.c (ISASCII): Remove; no longer needed.  All uses removed.
15837         (ISPRINT, ISDIGIT, ISALNUM, ISALPHA, ISCNTRL, ISLOWER, ISPUNCT):
15838         (ISSPACE, ISUPPER, ISXDIGIT): Remove; no longer needed.  All uses
15839         replaced by isprint etc.
15840         * lib/getdate.y (IN_CTYPE_DOMAIN, ISSPACE, ISALPHA, ISLOWER): Likewise.
15841         * lib/getusershell.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
15842         * lib/memcasecmp.c (IN_CTYPE_DOMAIN, ISLOWER, TOUPPER): Likewise.
15843         * lib/strtod.c (IN_CTYPE_DOMAIN, ISSPACE, ISDIGIT, TOLOWER): Likewise.
15844         * lib/strtol.c (IN_CTYPE_DOMAIN): Likewise.
15845         * lib/xstrtol.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
15846
15847 2006-07-05  Bruno Haible  <bruno@clisp.org>
15848
15849         * m4/strndup.m4 (gl_FUNC_STRNDUP): When cross-compiling, check whether
15850         the function exists, before testing against AIX.
15851         Reported by Martin Lambers <marlam@marlam.de>.
15852
15853 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
15854
15855         * modules/cycle-check (lib_SOURCES): Add same-inode.h.
15856         From Mark D. Baushke.
15857
15858 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
15859
15860         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Prepend three slashes
15861         to the absolute name, not just one, to bypass Sun C 5.8's
15862         "warning: #include of /usr/include/... may be non-portable".
15863
15864 2006-07-04  Eric Blake  <ebb9@byu.net>
15865
15866         * modules/dirname-tests: New test module.
15867         * tests/test-dirname.c: New file, replacing dirname.c
15868         TEST_DIRNAME section that was recently deleted.
15869
15870 2006-07-04  Bruno Haible  <bruno@clisp.org>
15871
15872         Assume ANSI C header files and <ctype.h> functions.
15873         * lib/mbswidth.c (IN_CTYPE_DOMAIN, ISPRINT, ISCNTRL): Remove macros.
15874         (mbsnwidth): Use isprint, iscntrl instead.
15875
15876 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
15877
15878         Merge from coreutils.
15879         * MODULES.html.sh: Add xstrtold.
15880         * modules/xstrtold: New file.
15881         * modules/cycle-check (Files): Add lib/same-inode.h.
15882         * modules/dirname (Files): Add m4/double-slash-root.m4.
15883         * modules/getcwd (Files): Add m4/getcwd-abort-bug.m4.
15884         * modules/mkdir-p (Files): Add lib/same-inode.h.
15885         * modules/same (Files): Add lib/same-inode.h.
15886
15887 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
15888
15889         * m4/absolute-header.m4: Renamed from full-header-path.m4.
15890         This is to keep the terminology clean; POSIX talks about
15891         "absolute pathnames", not "full pathnames", but the GNU
15892         Coding Standards say to use "path" for something else;
15893         so use "absolute" to keep both sides happy.
15894         (gl_ABSOLUTE_HEADER): Renamed from gl_FULL_HEADER_PATH.
15895         Set gl_absolute_header, not gl_full_header_path.
15896         Set gl_cv_absolute_<header>, not gl_full_path_<header>.
15897         Define ABSOLUTE_<HEADER>, not FULL_PATH_<HEADER>.
15898         All uses changed.
15899
15900         Merge from coreutils.
15901
15902         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
15903
15904         * m4/c-strtod.m4 (gl_C_STRTOLD): Add c-strtod.c to LIBSOURCES.
15905         Require gl_USE_SYSTEM_EXTENSIONS, not gl_C_STRTOD, since we don't
15906         want to require the building of c-strtod.o.
15907         * m4/lib-check.m4 (cu_LIB_CHECK): Remove SEQ_LIBM, since seq no longer
15908         needs -lm directly.
15909         * m4/xstrtod.m4 (gl_XSTRTOLD): New macro.
15910
15911         2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
15912
15913         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Prefer binutils's
15914         --as-needed option if available.  Problem reported by Albert Chin in
15915         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00114.html>.
15916         However, use -Wl,--as-needed, not bare --as-needed, since HP-UX 11.11
15917         cc merely issues a bunch of annoying warnings for --as-needed
15918         (this problem was reported by Bob Proulx).  Also, try linking with
15919         -lm to detect a bug in binutils 2.16 (this problem was reported
15920         by Ralf Wildenhues).
15921
15922         2006-06-18  Jim Meyering  <jim@meyering.net>
15923
15924         Test for a bug that causes glibc's getcwd to suffer a failed assertion.
15925         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): New file and
15926         macro.
15927         * m4/getcwd.m4 (gl_FUNC_GETCWD): If we detect support for getcwd_null,
15928         also check for glibc-2.4's abort-inducing bug.
15929
15930         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Fix typo.
15931         Low-probability clean-up should be to use rmdir to get rid of
15932         the just-created directory, not unlink.
15933
15934         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): If ftruncate is missing, make
15935         configure fail, and request a bug report to inform us about it.
15936         Add a comment that, barring reports to the contrary, in 2007 we'll
15937         assume ftruncate is universally available.
15938
15939         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
15940
15941         * m4/filemode.m4 (gl_FILEMODE): Check for strmode declaration.
15942
15943         2006-03-12  Jim Meyering  <jim@meyering.net>
15944
15945         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Add same-inode.h to the list.
15946         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Likewise.
15947         * m4/same.m4 (gl_SAME): Likewise.
15948         * m4/root-dev-ino.m4 (gl_ROOT_DEV_INO): Likewise.
15949
15950         2006-03-11  Eric Blake  <ebb9@byu.net>
15951
15952         * m4/double-slash-root.m4: New file, provides gl_DOUBLE_SLASH_ROOT.
15953         * m4/dirname.m4 (gl_DIRNAME): Use gl_DOUBLE_SLASH_ROOT.
15954         * m4/dos.m4 (FILE_SYSTEM_PREFIX_LEN): Move from here to dirname.h.
15955         (FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE): New define.
15956
15957 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
15958
15959         * lib/stdint_.h: Include <sys/types.h> after @FULL_PATH_STDINT_H@, for
15960         MacOS X 10.4.6.  Don't mention <sys/int_types.h>.  Problems
15961         reported by Mark D. Baushke, one in
15962         <http://lists.gnu.org/archive/html/bug-gnulib/2006-07/msg00015.html>.
15963
15964         Merge from coreutils.
15965
15966         * lib/.cppi-disable: Add stdint_.h.
15967         * lib/.cvsignore: Add stdint.h.
15968
15969         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
15970
15971         * lib/xstrtod.c (XSTRTOD, DOUBLE): New macros, so that we can support
15972         both double and long double versions.
15973         (XSTRTOD): Renamed from xstrtod.  Use DOUBLE internally.
15974         * lib/xstrtold.c: New file.
15975         * lib/xstrtod.h (xstrtold): New decl.
15976
15977         2006-05-22  Paul Eggert  <eggert@cs.ucla.edu>
15978
15979         * lib/filemode.c (setst): Remove.
15980         (strmode): Rewrite to avoid setst.  This makes the code shorter,
15981         (arguably) clearer, and the generated code is a bit smaller on my
15982         Debian GNU/Linux stable x86 host.
15983
15984         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
15985
15986         * lib/filemode.c: Include "filemode.h" first, to test the interface.
15987         Assume that filemode.h includes sys/types.h and sys/stat.h.
15988         (HAVE_ST_DM_MODE): New macro, moved here from ls.c.
15989         (ftypelet): Reorder to put common cases first, for efficiency.
15990         Add 'P', 'w'.  Remove 'M', since it's now the caller's responsibility
15991         to do 'M'.
15992         (strmode): Renamed from mode_string, and now stores 12 bytes instead
15993         of 10, for compatibility with FreeBSD.  All callers changed.
15994         (filemodestring): Now stores 12 bytes instead of 10, and sets file
15995         types that can't be deduced solely from st_mode.  First arg is now a
15996         const pointer.
15997         * lib/filemode.h (HAVE_DECL_STRMODE): Include <string.h> for strmode.
15998         (strmode): Renamed from mode_string.
15999         (filemodestring): New decl.
16000         * lib/stat-macros.h: Don't undef S_ISDOOR, since it's never buggy.
16001         (S_ISDOOR): Don't bother with S_IFDOOR, since that code is never
16002         needed.
16003         (S_ISPORT, S_ISWHT): New macros, if not already defined.
16004
16005         2006-04-12  Paul Eggert  <eggert@cs.ucla.edu>
16006
16007         * lib/fsusage.c: Don't include <inttypes.h> or <stdint.h>, since
16008         fsusage.h now does that.  Include fsusage.h first, to test interface.
16009         Prefer statvfs if it works, since it's blessed by POSIX.  Attempt
16010         at most one method (the old code could have generated decls that
16011         didn't conform to C89, not that this was ever exercised).
16012         * lib/fsusage.h: Include <inttypes.h> and <stdint.h> if they exist.
16013
16014         2006-03-19  Jim Meyering  <jim@meyering.net>
16015
16016         Work even in a chroot where d_ino values for entries in "/"
16017         don't match the stat.st_ino values for the same names.
16018         * lib/getcwd.c (__getcwd): When no d_ino value matches the target inode
16019         number, iterate through all entries again, using lstat instead.
16020         Reported by Kenshi Muto in http://bugs.debian.org/355810, and by
16021         Zouhir Hafidi in https://bugzilla.redhat.com/bugzilla/190656.
16022
16023         * lib/getcwd.c (__getcwd): Clarify a comment.
16024         Use memcpy in place of a call to strcpy.
16025
16026         2006-03-12  Jim Meyering  <jim@meyering.net>
16027
16028         * lib/fts-cycle.c (leave_dir): If cycle-check's saved dev-ino pair
16029         matches that of the current directory (which we're about to chdir ".."
16030         out of), then save the dev-ino of the parent, instead.
16031
16032         * lib/same-inode.h (SAME_INODE): New file/macro.
16033         * lib/chdir-safer.c (SAME_INODE): Remove definition.
16034         Include "same-inode.h", instead.
16035         * lib/same.c: Likewise.
16036         * lib/cycle-check.h: Include "same-inode.h".
16037         (CYCLE_CHECK_REFLECT_CHDIR_UP): Define.
16038         * lib/cycle-check.c (SAME_INODE): Remove definition.
16039         * lib/root-dev-ino.h: Include "same-inode.h".
16040
16041         2006-03-11  Eric Blake  <ebb9@byu.net>
16042
16043         * lib/same.c (same_name): s/base_name/last_component/
16044         * lib/backupfile.c (check_extension, numbered_backup): Likewise.
16045         * lib/filenamecat.c (file_name_concat): Likewise.
16046
16047         2006-03-11  Eric Blake  <ebb9@byu.net>,
16048                     Paul Eggert  <eggert@cs.ucla.edu>
16049
16050         * lib/dirname.h (FILE_SYSTEM_PREFIX_LEN): Move here from dos.m4.
16051         [FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't treat 1: as a
16052         drive prefix.
16053         (IS_ABSOLUTE_FILE_NAME): Treat all drive letters as absolute on
16054         platforms like cygwin with FILE_SYSTEM_DRIVE_PREFIX_IS_ABSOLUTE.
16055         (last_component): New method.
16056         * lib/dirname.c (dir_len): Determine when drive letters need a
16057         subsequent slash.  Preserve // when it is special.
16058         (dir_name): Don't append dot when drive letter is absolute.
16059         [TEST_DIRNAME]: Move into a full-blown gnulib test.
16060         * lib/basename.c (base_name): New semantics - malloc the result.
16061         Preserve // when it is special.  Preserve relative files that look
16062         like drive letters.
16063         (base_len): Preserve // when it is special.
16064         (last_component): New method, similar to old base_name semantics.
16065         * lib/stripslash.c (strip_trailing_slashes): Use last_component, not
16066         base_name.  Strip redundant slashes from ///.
16067
16068 2006-07-03  Jim Meyering  <jim@meyering.net>
16069
16070         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Abort if this
16071         macro is used before the first cycle_check call.
16072
16073 2006-07-03  Eric Blake  <ebb9@byu.net>
16074
16075         * modules/dirname (Depends-on): Add xstrndup.
16076
16077 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
16078
16079         * m4/stdint.m4 (gl_STDINT_H): Use more-mnemonic identifiers for
16080         test cases, so that config.log is a bit easier to follow.
16081
16082 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
16083
16084         * lib/stdint_.h (intmax_t, uintmax_t): Prefer long to long long if
16085         both are 64 bits, since this seems to be the tradition, and this
16086         prevents gcc -Wformat from warning about usages with PRIuMAX.  If
16087         we ever run into a host that prefers long long to long in this
16088         case, we'll need another configure-time test.  Problem reported by
16089         Jim Meyering.
16090
16091 2006-07-02  Eric Blake  <ebb9@byu.net>
16092
16093         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Simplify by using AC_CHECK_DECLS.
16094
16095 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
16096
16097         * modules/inttypes (Depends-on): No longer depends on stdint.
16098         * modules/stdint (Description): Say more about assumptions.
16099         Say that the fast types might differ.  Say macros are used.
16100         (Files): Remove m4/size_max.m4, m4/wchar_t.m4.  Add m4/longlong.m4.
16101         (Makefile.am): Revise list of substituted symbols to match
16102         new stdint.m4.
16103         * modules/stdint-tests (Files): Add m4/wchar_t.m4, m4/wint_t.m4.
16104         (configure.ac): Add gt_TYPE_WCHAR_T, gt_TYPE_WINT_T.
16105         * tests/test-stdint.c (verify_same_types)
16106         [! (__GNUC__ >= 2 && DO_PEDANTIC)]: Put in a decl, so that
16107         the code conforms to C99/C89.
16108         Test for WCHAR_MIN and WCHAR_MAX only if HAVE_WCHAR_T.
16109         Test for WINT_MIN and WINT_MAX only if HAVE_WINT_T.
16110
16111 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
16112
16113         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Backport from Autoconf 2.60,
16114         but fix a bug, by requiring at least 64 bits.
16115         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise.
16116         * m4/longlong.m4 (gl_AC_TYPE_LONG_LONG): Now just call
16117         AC_TYPE_LONG_LONG_INT.  This macro is obsolete and will go soon.
16118         * m4/ulonglong.m4 (gl_AC_TYPE_UNSIGNED_LONG_LONG) Likewise.
16119
16120         * m4/stdint.m4 (gl_STDINT_H): Rewrite to accommodate stdint_.h
16121         changes.  Make 2.59 a prerequisite.  Check and substitute for
16122         HAVE_LONG_LONG_INT.  Rely on Autoconf to check for stdint.h and
16123         inttypes.h.  Do not use special include files; just use the
16124         defaults.  Check for sys/inttypes.h and sys/bitypes.h in the usual
16125         way now.  Remove no-longer-needed tests for HAVE_LONG_64BIT,
16126         HAVE_LONG_LONG_64BIT, int8_t, int16_t, int32_t, int64_t, uint8_t,
16127         uint16_t, uint32_t uint64_t, int_least8_t, int_least16_t,
16128         int_least32_t, int_least64_t, uint_least8_t, uint_least16_t,
16129         uint_least32_t, uint_least64_t, int_fast8_t, int_fast16_t,
16130         int_fast32_t, int_fast64_t, uint_fast8_t uint_fast16_t,
16131         uint_fast32_t, uint_fast64_t, intptr_t, uintptr_t, intmax_t,
16132         uintmax_t, INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX,
16133         UINT16_MAX, INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN,
16134         INT64_MAX, UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX,
16135         UINT_LEAST8_MAX, INT_LEAST16_MIN, INT_LEAST16_MAX,
16136         UINT_LEAST16_MAX, INT_LEAST32_MIN, INT_LEAST32_MAX,
16137         UINT_LEAST32_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX,
16138         UINT_LEAST64_MAX, INT_FAST8_MIN, INT_FAST8_MAX, UINT_FAST8_MAX,
16139         INT_FAST16_MIN, INT_FAST16_MAX, UINT_FAST16_MAX, INT_FAST32_MIN,
16140         INT_FAST32_MAX, UINT_FAST32_MAX, INT_FAST64_MIN, INT_FAST64_MAX,
16141         UINT_FAST64_MAX, INTPTR_MIN, INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN,
16142         INTMAX_MAX, UINTMAX_MAX, PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN,
16143         SIG_ATOMIC_MAX, SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN,
16144         WINT_MAX.  Check for C99 conformance more strictly, by detecting
16145         bugs in glibc 2.4, Solaris 10, and OpenBSD 3.9.  On the other hand do
16146         not check for things that C99 does not require, e.g., int8_t.  If
16147         a test isn't needed unless <stdint.h> isn't working, and is
16148         unlikely to be needed for any other reason, then don't do it
16149         unless <stdint.h> isn't working.  Do not check for ptrdiff_t or
16150         size_t, since we assume C89 freestanding at least.  Do not check
16151         for sig_atomic_t, wchar_t, or wint_t, since the code now does
16152         the right thing even if the types are not defined.  Instead use:
16153         (gl_STDINT_TYPE_PROPERTIES): New macro.
16154         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H): Remove.  Don't bother
16155         testing whether <sys/types.h> clashes, as Autoconf does this for
16156         us now.  All uses removed.
16157         (gl_STDINT_CHECK_TYPES, gl_STDINT_MISSING_BOUND):
16158         (gl_STDINT_MISSING_BOUNDS, gl_STDINT_MISSING_BOUNDS2):
16159         (gl_CHECK_TYPE_SAME):
16160         Remove; no longer needed.
16161         (gl_STDINT_BITSIZEOF): Don't bother to check whether the type
16162         exists, since we'll return 0 anyway in that case.
16163         (gl_INTEGER_TYPE_SUFFIX, gl_STDINT_INCLUDES): New macros.
16164
16165 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
16166
16167         * lib/stdint_.h (_GL_STDINT_H): Renamed from _STDINT_H, to avoid
16168         possible collision with system files.
16169         (<stdio.h>, <time.h>, <wchar.h>) [defined __cplusplus && ! defined
16170         __STDC_CONSTANT_MACROS)]: Do not include, since we don't need
16171         WCHAR_MIN and WCHAR_MAX in this case.
16172         (<stddef.h>): Do not include; no longer needed.
16173         (<sys/types.h>): Include if @HAVE_SYS_TYPES_H@, not if
16174         (defined(__OpenBSD__) || defined(__bsdi__) || defined(__sgi)).
16175         (<sys/inttypes.h>): Include if @HAVE_SYS_INTTYPES_H@ &&
16176         !@HAVE_INTTYPES_H@, not if (defined(__FreeBSD__)
16177         && (__FreeBSD__ >= 3) && (__FreeBSD__ <= 4)).
16178         (__STDINT_H__) [@HAVE_STDINT_H@ && defined __sgi && ! defined
16179         __c99]: Define, to work around IRIX <stdint.h> incompatibility.
16180         (@FULL_PATH_STDINT_H@) [!(defined(__sgi) && @HAVE_INTTYPES_H@ &&
16181         !defined(__c99))]: Include in this case too, since it's harmless
16182         now.
16183         (<inttypes.h>) [@HAVE_INTTYPES_H@]: Include, since it's no longer
16184         dangerous to do so.
16185         (@FULL_PATH_INTTYPES_H@) [(defined(__hpux) || defined(_AIX)) &&
16186         @HAVE_INTTYPES_H@]: Do not include, since we now include <inttypes.h>.
16187         (_STDINT_MIN, _STDINT_MAX): New macros.
16188         (int8_t, uint8_t, int16_t, uint16_t, int32_t, uint32_t, int64_t):
16189         (uint64_t, int_least8_t, uint_least8_t, int_least16_t):
16190         (uint_least16_t, int_least32_t, uint_least32_t, int_least64_t):
16191         (uint_least64_t, int_fast8_t, uint_fast8_t, int_fast16_t):
16192         (uint_fast16_t, int_fast32_t, uint_fast32_t, int_fast64_t):
16193         (uint_fast64_t, intptr_t, uintptr_t, intmax_t, uintmax_t): Now
16194         macros, not typedefs; this simplifies things quite a bit.
16195         Use long int for all types narrower than int64_t.
16196         (intmax_t, uintmax_t, INTMAX_C, UINTMAX_C):
16197         Define in terms of long long int or int64_t or long int,
16198         not int64_t or int32_t.  This saves some compile-time testing.
16199         (INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX, UINT16_MAX):
16200         (INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN, INT64_MAX):
16201         (UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX, UINT_LEAST8_MAX):
16202         (INT_LEAST16_MIN, INT_LEAST16_MAX, UINT_LEAST16_MAX):
16203         (INT_LEAST32_MIN, INT_LEAST32_MAX, UINT_LEAST32_MAX):
16204         (INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX, INT_FAST8_MIN):
16205         (INT_FAST8_MAX, UINT_FAST8_MAX, INT_FAST16_MIN, INT_FAST16_MAX):
16206         (UINT_FAST16_MAX, INT_FAST32_MIN, INT_FAST32_MAX, UINT_FAST32_MAX):
16207         (INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTPTR_MIN):
16208         (INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN, INTMAX_MAX, UINTMAX_MAX):
16209         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
16210         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
16211         undef any previous version and define our own version, for
16212         simplicity and consistency with the new macros for types.
16213         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
16214         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
16215         Simplify definitions by using _STDINT_MIN and _STDINT_MAX
16216         where appropriate.  Rely on new symbols @PTRDIFF_T_SUFFIX@,
16217         @SIG_ATOMIC_T_SUFFIX@, @SIZE_T_SUFFIX@, @WCHAR_T_SUFFIX@,
16218         @WINT_T_SUFFIX@ to keep things simple here.
16219         (UINT8_C, UINT16_C, UINT32_C, INT64_C, UINT64_C):
16220         Simplify by assuming typical 8/16/32/64 host, since we're
16221         already doing that elsewhere anyway.
16222         Use (LONG_MAX >> 31 >> 31 == 1) rather than @HAVE_LONG_64BIT@,
16223         and assume long long int is 64 bits if available.  This
16224         speeds up 'configure'.
16225
16226 2006-07-01  Eric Blake  <ebb9@byu.net>
16227
16228         * m4/stdarg.m4 (gl_STDARG_H): Use proper AH_VERBATIM.
16229         Reported by Andreas Buening.
16230
16231 2006-07-01  Eric Blake  <ebb9@byu.net>
16232
16233         * m4/stdarg.m4 (gl_STDARG_H): Properly parenthesize gl_va_copy.
16234
16235 2006-06-30  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
16236
16237         * lib/getaddrinfo.c: fixed typo
16238
16239 2006-06-29  Jim Meyering  <jim@meyering.net>
16240
16241         * modules/strftime (Maintainer): Add my name, since with the
16242         FPRINTFTIME changes strftime.c has forked from glibc.
16243
16244 2006-06-29  Eric Blake  <ebb9@byu.net>
16245
16246         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Use AC_C_INLINE.
16247
16248 2006-06-29  Eric Blake  <ebb9@byu.net>
16249
16250         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): New file.
16251
16252 2006-06-29  Eric Blake  <ebb9@byu.net>
16253
16254         * lib/stat_.h: New file.
16255
16256 2006-06-29  Eric Blake  <ebb9@byu.net>
16257
16258         * lib/stat_.h (rpl_mkdir): Declare inline, to avoid warnings about
16259         unused static function.
16260
16261 2006-06-29  Eric Blake  <ebb9@byu.net>
16262
16263         * doc/functions.texi (Function Portability): Document missing lstat
16264         on mingw.
16265
16266 2006-06-29  Eric Blake  <ebb9@byu.net>
16267
16268         * MODULES.html.sh: Add sys_stat.
16269         * modules/sys_stat: New module.
16270         * modules/mkstemp (Depends-on): Add sys_stat.
16271
16272 2006-06-29  Derek R. Price  <derek@ximbiot.com>
16273
16274         * m4/strftime.m4: Don't call AC_FUNC_STRFTIME.
16275
16276 2006-06-29  Derek R. Price  <derek@ximbiot.com>
16277
16278         * m4/c-bs-a.m4: Removed.
16279
16280 2006-06-29  Derek R. Price  <derek@ximbiot.com>
16281
16282         * lib/strftime.c: Assume strftime() exists.
16283
16284 2006-06-29  Derek Price  <derek@ximbiot.com>
16285
16286         * modules/c-bs-a: Removed - \a is C89.
16287         * MODULES.html.sh: Remove c-bs-a.
16288
16289 2006-06-29  Bruno Haible  <bruno@clisp.org>
16290
16291         * modules/wcwidth (License): Change to LGPL.
16292
16293 2006-06-28  Simon Josefsson  <jas@extundo.com>
16294
16295         * tests/test-getaddrinfo.c: Test getnameinfo too.  Call WSAStartup
16296         on _WIN32.
16297
16298         * modules/getaddrinfo (Depends-on): Add inet_ntop, needed by
16299         getnameinfo.
16300
16301 2006-06-28  Simon Josefsson  <jas@extundo.com>
16302
16303         * m4/getaddrinfo.m4: Look for getnameinfo prototypes too.
16304
16305 2006-06-28  Simon Josefsson  <jas@extundo.com>
16306
16307         * lib/getaddrinfo.c: Try to load ws2_32.dll on Windows, to find the
16308         functions there.  It will succeed on Windows XP, but on Windows
16309         2000 and (presumably) earlier, it will fail, and use the internal
16310         re-implementation.
16311         (use_win32_p): New function.
16312         (getaddrinfo): Use strtoul on servname, to support numeric ports.
16313         Support AI_NUMERICSERV to disable getservbyname.
16314         (getnameinfo): New function, only supports
16315         NI_NUMERICHOST|NI_NUMERICSERV for now.
16316
16317         * lib/getaddrinfo.h: Test and check for AI_* flags separately, MinGW
16318         only have some of them.  Add AI_NUMERICSERV.  Add prototype for
16319         getnameinfo.
16320
16321 2006-06-28  Eric Blake  <ebb9@byu.net>
16322
16323         * modules/wcwidth: New file.
16324         * modules/mbchar (Depends-on): Add wcwidth.
16325         * modules/mbswidth (Depends-on): Add wcwidth.
16326         * MODULES.html.sh: Add wcwidth.
16327
16328 2006-06-28  Eric Blake  <ebb9@byu.net>
16329
16330         * m4/mbswidth.m4 (gl_MBSDWIDTH): Move wcwidth from here...
16331         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): ...to this new file.
16332
16333 2006-06-28  Eric Blake  <ebb9@byu.net>
16334
16335         * lib/xvasprintf.h: Fix comments.
16336
16337 2006-06-28  Eric Blake  <ebb9@byu.net>
16338
16339         * lib/mbchar.h (wcwidth): Include wcwidth.h.
16340         * lib/mbswidth.c (wcwidth): Move from here...
16341         * lib/wcwidth.h: ...to this new file.
16342
16343 2006-06-28  Derek R. Price  <derek@ximbiot.com>
16344
16345         * m4/savedir.m4: Remove AC_FUNC_CLOSEDIR_VOID requirement.
16346
16347         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't require AC_C_CONST, since
16348         it's obsolete.
16349         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Likewise.
16350
16351 2006-06-28  Derek R. Price  <derek@ximbiot.com>
16352
16353         * lib/savedir.c (CLOSEDIR): Remove.  All uses changed to closedir.
16354         Autoconf 2.60 says this stuff was obsolete.
16355
16356 2006-06-28  Bruno Haible  <bruno@clisp.org>
16357
16358         * modules/wcwidth (Files): Add m4/wchar_t.m4.
16359
16360 2006-06-28  Bruno Haible  <bruno@clisp.org>
16361
16362         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Also require AC_C_INLINE and
16363         gt_TYPE_WCHAR_T.
16364
16365 2006-06-28  Bruno Haible  <bruno@clisp.org>
16366
16367         * lib/wcwidth.h: Declare nothing if !HAVE_WCHAR_T. Provide a fallback
16368         declaration for wcwidth.
16369         * lib/mbswidth.c: Restore the includes of <wchar.h> and <wctypes.h>.
16370
16371 2006-06-28  Bruno Haible  <bruno@clisp.org>
16372
16373         * lib/mkdtemp.c [MINGW]: Include <io.h>.
16374         (mkdir): Define using _mkdir.
16375
16376 2006-06-28  Bruno Haible  <bruno@clisp.org>
16377
16378         * lib/getaddrinfo.h: Fix POSIX URL.
16379         * lib/getaddrinfo.c (WIN32_NATIVE): New macro. Use it instead of
16380         _WIN32.
16381         (use_win32_p): Make static.
16382         (getaddrinfo): Reject service name if it is empty or does not consist
16383         solely of decimal digits, or if its value is > 65535.
16384         (getnameinfo): Remove useless casts.
16385
16386 2006-06-27  Simon Josefsson  <jas@extundo.com>
16387
16388         * modules/sys_select: New file, suggested by Bruno Haible, Paul
16389         Eggert and Martin Lambers.
16390
16391 2006-06-27  Simon Josefsson  <jas@extundo.com>
16392
16393         * m4/sys_select_h.m4: New file, suggested by Bruno Haible, Paul
16394         Eggert and Martin Lambers.
16395
16396 2006-06-27  Bruno Haible  <bruno@clisp.org>
16397
16398         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): For nonexistent types, set the
16399         result to 0, not to empty.
16400         Reported by Martin Neitzel <neitzel@sco.gaertner.de>.
16401
16402 2006-06-27  Bruno Haible  <bruno@clisp.org>
16403
16404         * lib/stdint_.h (intmax_t, uintmax_t): Undefine before typedef.
16405
16406 2006-06-26  Simon Josefsson  <jas@extundo.com>
16407
16408         * m4/inet_ntop.m4: Don't check for sys/types.h, we assume it is
16409         present.
16410
16411 2006-06-26  Paul Eggert  <eggert@cs.ucla.edu>
16412
16413         * lib/base64.c (B64): Use _ as the formal parameter, not x, to avoid
16414         bug in IBM C V6 for AIX.  Problem reported by Larry Jones in
16415         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00181.html>.
16416
16417 2006-06-26  Mark D. Baushke  <mdb@gnu.org>
16418
16419         * m4/stdint.m4 (gl_STDINT_H): Treat BSD/OS like OpenBSD.
16420
16421 2006-06-26  Bruno Haible  <bruno@clisp.org>
16422
16423         * modules/stdint (Makefile.am): Also substitute HAVE_WCHAR_H.
16424
16425 2006-06-26  Bruno Haible  <bruno@clisp.org>
16426
16427         * m4/stdint.m4 (gl_STDINT_H): Test also for <wchar.h>.
16428
16429 2006-06-26  Bruno Haible  <bruno@clisp.org>
16430
16431         * m4/stdint.m4 (gl_STDINT_H): Don't include <stdint.h> when using the
16432         SGI C compiler in pre-C99 mode.
16433         Suggested by Mark D. Baushke and Larry Jones.
16434
16435 2006-06-26  Bruno Haible  <bruno@clisp.org>
16436
16437         * lib/stdint_.h: Include <wchar.h> if necessary for WCHAR_MIN or
16438         WCHAR_MAX.
16439         Reported by Mark D. Baushke and Larry Jones.
16440
16441 2006-06-26  Bruno Haible  <bruno@clisp.org>
16442
16443         * lib/stdint_.h: Don't include <stdint.h> when using the SGI C compiler
16444         in pre-C99 mode.
16445         Suggested by Mark D. Baushke and Larry Jones.
16446
16447 2006-06-23  Simon Josefsson  <jas@extundo.com>
16448             Bruno Haible  <bruno@clisp.org>
16449
16450         * gnulib-tool (func_emit_lib_Makefile_am): Define MOSTLYCLEANDIRS.
16451         Emit mostlyclean-local rule.
16452         (func_emit_tests_Makefile_am): Likewise.
16453         * modules/sys_socket (Makefile.am): Use MOSTLYCLEANDIRS.
16454
16455 2006-06-23  Mark D. Baushke  <mdb@gnu.org>
16456
16457         * lib/stdint_.h: Treat BSD/OS like OpenBSD.
16458
16459 2006-06-23  Bruno Haible  <bruno@clisp.org>
16460
16461         * tests/test-stdint.c: Update to match ISO C 99 Technical
16462         Corrigendum 1.
16463
16464 2006-06-23  Bruno Haible  <bruno@clisp.org>
16465
16466         * m4/stdint.m4 (gl_STDINT_H): Treat IRIX like OpenBSD.
16467
16468 2006-06-23  Bruno Haible  <bruno@clisp.org>
16469
16470         * lib/stdint_.h: Treat IRIX like OpenBSD.
16471
16472 2006-06-23  Bruno Haible  <bruno@clisp.org>
16473
16474         * lib/stdint_.h (UINT8_C, UINT16_C, UINT32_C): Define according to
16475         ISO C 99 Technical Corrigendum 1.
16476
16477 2006-06-22  Simon Josefsson  <jas@extundo.com>
16478
16479         * m4/sockpfaf.m4: Include winsock2.h too, to make it work under
16480         MinGW.
16481
16482 2006-06-22  Paul Eggert  <eggert@cs.ucla.edu>
16483
16484         * lib/glob.c (collated_compare): Remove 'const' uses that weren't
16485         needed.  Some compiler complained about some of them.  Problem reported
16486         by Larry Jones in
16487         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00172.html>.
16488
16489 2006-06-21  Simon Josefsson  <jas@extundo.com>
16490
16491         * tests/test-getaddrinfo.c: New file.
16492
16493         * modules/getaddrinfo-tests: New file.
16494
16495         * MODULES.html.sh: Add inet_pton.
16496
16497         * modules/inet_pton: New file.
16498
16499 2006-06-21  Simon Josefsson  <jas@extundo.com>
16500
16501         * m4/getaddrinfo.m4: Don't define WINVER.  Look for gethostbyname in
16502         -lws2_32 too.  Fixes getaddrinfo on Windows 2000, with the price
16503         of using the (limited) gnulib implementation on Windows XP.
16504
16505         * m4/inet_pton.m4: New file.
16506
16507 2006-06-21  Simon Josefsson  <jas@extundo.com>
16508
16509         * lib/getaddrinfo.c (getaddrinfo): Set ai_family in the return
16510         variable.
16511
16512         * lib/socket_.h: Don't define WINVER.
16513
16514         * lib/inet_pton.h, inet_pton.c: New file, taken from glibc but
16515         slightly modified to work in gnulib.
16516
16517 2006-06-21  Simon Josefsson  <jas@extundo.com>
16518
16519         * doc/gnulib.texi (Windows sockets): Add.
16520
16521 2006-06-21  Paul Eggert  <eggert@cs.ucla.edu>
16522
16523         * lib/read-file.c (fread_file): Start with buffer allocation of
16524         0 bytes rather than 1 byte; this simplifies the code.
16525         Don't invoke feof; it's not needed.  Refactor to avoid duplicate
16526         code to free buffer and save/restore errno.
16527         (internal_read_file): Remove unused local.
16528
16529 2006-06-20  Paul Eggert  <eggert@cs.ucla.edu>
16530
16531         * lib/openat.c (openat): Use ?:, not if, to work around GCC bug 4210
16532         <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=4210>.
16533         Problem reported by Denis Excoffier in
16534         <http://lists.gnu.org/archive/html/bug-tar/2006-06/msg00023.html>.
16535
16536 2006-06-19  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
16537
16538         * modules/sys_socket, modules/socklen: Include sys/types since
16539         FreeBSD 4.x's sys/socket.h needs it.
16540
16541 2006-06-19  Simon Josefsson  <jas@extundo.com>
16542
16543         * lib/inet_ntop.c: Always build inet_ntop4, since inet_ntop6 calls it.
16544
16545 2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
16546
16547         * lib/alloca_.h (alloca) [defined alloca]: Don't define or declare.
16548
16549 2006-06-19  Bruno Haible  <bruno@clisp.org>
16550
16551         * m4/stdint.m4 (gl_STDINT_H): Enclose the values of FULL_PATH_STDINT_H
16552         and FULL_PATH_INTTYPES_H in angle brackets.
16553         Reported by Mark D. Baushke <mdb@gnu.org>.
16554
16555 2006-06-17  Eric Blake  <ebb9@byu.net>
16556
16557         * m4/rmdir-errno.m4 (gl_FUNC_FMDIR_NOTEMPTY): Assume errno.h declares
16558         errno.
16559
16560 2006-06-17  Bruno Haible  <bruno@clisp.org>
16561
16562         * m4/stdint.m4 (gl_STDINT_H) [FreeBSD >= 5]: Don't include
16563         <sys/inttypes.h>.
16564
16565 2006-06-17  Bruno Haible  <bruno@clisp.org>
16566
16567         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove test
16568         whether errno is declared. Assume <errno.h> declares errno.
16569
16570 2006-06-17  Bruno Haible  <bruno@clisp.org>
16571
16572         * lib/stdint_.h [FreeBSD >= 5]: Don't include <sys/inttypes.h>.
16573
16574 2006-06-17  Bruno Haible  <bruno@clisp.org>
16575
16576         * lib/stdint_.h (_UINT8_T, _UINT32_T, _UINT64_T): New macros. Fixes a
16577         problem on Solaris 2.5.1.
16578
16579 2006-06-16  Eric Blake  <ebb9@byu.net>
16580
16581         * lib/unsetenv.c [!defined errno]: Assume errno.h declares errno.
16582         * lib/unicodeio.c [!defined errno]: Likewise.
16583         * lib/strtol.c [!defined errno]: Likewise.
16584         * lib/strtod.c [!defined errno]: Likewise.
16585
16586 2006-06-15  Eric Blake  <ebb9@byu.net>
16587
16588         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Work in spite of -Werror.
16589
16590 2006-06-15  Eric Blake  <ebb9@byu.net>
16591
16592         * config/srclist.txt (ssize_t.m4): Lose sync.
16593
16594 2006-06-15  Bruno Haible  <bruno@clisp.org>
16595
16596         * modules/stdint (Files): Include m4/full-header-path.m4,
16597         m4/size_max.m4, m4/wchar_t.m4.
16598         (Makefile.am): Many more substitutions.
16599         * modules/stdint-tests: New file.
16600         * tests/test-stdint.c: New file.
16601
16602 2006-06-15  Bruno Haible  <bruno@clisp.org>
16603
16604         * m4/stdint.m4 (gl_STDINT_H): Rewritten to produce a complete stdint.h.
16605         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H, gl_STDINT_CHECK_TYPES,
16606         gl_STDINT_MISSING_BOUND, gl_STDINT_MISSING_BOUNDS,
16607         gl_STDINT_MISSING_BOUNDS2, gl_STDINT_BITSIZEOF, gl_CHECK_TYPES_SIGNED,
16608         gl_CHECK_TYPE_SAME): New macros.
16609
16610 2006-06-15  Bruno Haible  <bruno@clisp.org>
16611
16612         * m4/size_max.m4 (gl_SIZE_MAX): Make it work also when cross-compiling.
16613
16614 2006-06-15  Bruno Haible  <bruno@clisp.org>
16615
16616         * lib/stdint_.h: Rewritten to be fully auto-configured.
16617         Fixes bug on HP-UX/IA64.
16618
16619 2006-06-11  Paul Eggert  <eggert@cs.ucla.edu>
16620
16621         * lib/getdate.y (__attribute__): Don't define if already defined.
16622         Problem reported by Larry Jones.
16623         * lib/utimens.c (__attribute__): Likewise.
16624
16625 2006-06-04  Paul Eggert  <eggert@cs.ucla.edu>
16626
16627         * lib/regexec.c (group_nodes_into_DFAstates): Fix a buffer overrun
16628         reported by Andreas Schwab.
16629
16630 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
16631             Bruno Haible  <bruno@clisp.org>
16632
16633         * m4/strndup.m4 (gl_FUNC_STRNDUP): Replace the AC_REPLACE_FUNCS with a
16634         check for the declaration of strnlen and a run test that exposes the
16635         AIX 5.1 strnlen bug.  In the failure case, #define strndup to
16636         rpl_strndup.
16637
16638 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
16639             Bruno Haible  <bruno@clisp.org>
16640
16641         * lib/strndup.c (strndup) [!_LIBC]: Don't undefine macro definition.
16642
16643 2006-05-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
16644
16645         * m4/c-strtod.m4 (gl_C99_STRTOLD): Use a link test rather than a
16646         compile test, for Tru64 4.0D.
16647
16648 2006-05-28  Karl Berry  <karl@gnu.org>
16649
16650         * config/srclist.txt (printf-args.c): lose sync.
16651
16652 2006-05-26  Martin Lambers  <marlam@marlam.de>
16653
16654         * lib/getpass.c: Updates the test for the native W32 API, and adds
16655         missing includes, thus fixing compilation warnings.
16656
16657 2006-05-25  Sergey Poznyakoff  <gray@gnu.org.ua>
16658
16659         * lib/exclude.c (exclude_fnmatch): New function.
16660         (excluded_file_name): Call exclude_fnmatch.
16661         * lib/exclude.h (excluded_file_name): New prototype
16662
16663 2006-05-25  Paul Eggert  <eggert@cs.ucla.edu>
16664
16665         * lib/tempname.c (small_open, large_open): New macros.
16666         (__open, __open64) [!_LIBC]: Remove.
16667         (__gen_tempname): Use small_open and large_open instead of __open
16668         and __open64.  This fixes a portability bug on HP-UX 11.11i
16669         reported by Simon Wing-Tang in
16670         <http://lists.gnu.org/archive/html/bug-coreutils/2006-05/msg00114.html>.
16671
16672 2006-05-24  Bruno Haible  <bruno@clisp.org>
16673
16674         * lib/printf-args.c (printf_fetchargs): Turn NULL pointers for
16675         TYPE_STRING and TYPE_WIDE_STRING into a non-NULL replacement.
16676         Reported by Thorsten Maerz <torte@netztorte.de> via
16677         Aaron Stone <aaron@serendipity.cx>.
16678
16679 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
16680
16681         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Rename cache variables to use
16682         gl_ rather than jm_.  Link, don't run, so that cross-compiles are
16683         allowed.  Check that resulting type is arithmetic.  Move AC_REQUIRE
16684         and AC_CHECK_HEADERS_ONCE outside of AC_CACHE_CHECK, since they're
16685         not really conditional on the cache.
16686         (gl_PREREQ_NANOSLEEP): Check for sys/select.h.
16687
16688 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
16689
16690         * lib/nanosleep.c [HAVE_SYS_SELECT_H]: Include <sys/select.h>.
16691         Use the usual Autoconf way to include <time.h> and/or sys/time.h.
16692         (my_usleep): Don't mishandle maximum value.
16693
16694 2006-05-19  Jim Meyering  <jim@meyering.net>
16695
16696         * lib/getugroups.c: Correct an outdated comment.  From Bruno Haible.
16697
16698 2006-05-17  Bruno Haible  <bruno@clisp.org>
16699
16700         Cygwin portability.
16701         * lib/classpath.c (PATH_SEPARATOR) [CYGWIN]: Define as ':'.
16702
16703 2006-05-17  Bruno Haible  <bruno@clisp.org>
16704
16705         * lib/stdint_.h: Fix recognition of Cygwin.
16706
16707 2006-05-15  Bruno Haible  <bruno@clisp.org>
16708
16709         * build-aux/config.rpath: Improve support for Sun C 5.9 on Linux, based
16710         on libtool patch by Ralf Wildenhues.
16711
16712 2006-05-14  Paul Eggert  <eggert@cs.ucla.edu>
16713
16714         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Fix overly-picky
16715         test for C99 conformance; (bool) 0.5 is an integer constant
16716         expression, but (bool) -0.5 is not.  Problem reported by Fedor
16717         Sergeev in <http://forum.sun.com/jive/thread.jspa?threadID=96202>.
16718
16719 2006-05-11  Simon Josefsson  <jas@extundo.com>
16720
16721         * m4/xvasprintf.m4: Fix obvious typo.
16722
16723 2006-05-11  Jim Meyering  <jim@meyering.net>
16724
16725         * lib/sha1.c (sha1_buffer): Correct comment: s/MD5/SHA1/.  From
16726         James Lemley.
16727
16728 2006-05-10  Simon Josefsson  <jas@extundo.com>
16729
16730         * lib/md4.c: Typo fix, update copyright years.
16731         (K1, K2): Don't use L because it turn computations into 64-bit on
16732         64-bit platforms.
16733
16734 2006-05-10  Paul Eggert  <eggert@cs.ucla.edu>
16735
16736         * lib/crc.c (crc32_update): Remove unnecessary L suffix.
16737         * lib/md4.c (rol): Cast right-shift arg to uint32_t to prevent
16738         unwanted sign propagation, e.g., on hosts with 64-bit int.
16739         There still are some problems with reeelly weird theoretical hosts
16740         (e.g., 33-bit int) but it's not worth worrying about now.
16741         * lib/sha1.c (rol): Likewise.
16742         (K1, K2, K3, K4): Remove unnecessary L suffix.
16743
16744 2006-05-10  Bruno Haible  <bruno@clisp.org>
16745
16746         * lib/des.c: Cast to avoid warnings.
16747
16748 2006-05-09  Bruno Haible  <bruno@clisp.org>
16749
16750         * modules/xvasprintf (Files): Add m4/xvasprintf.m4.
16751         (Depends-on): Depend also on xsize, stdarg.
16752         (configure.ac): Add gl_XVASPRINTF.
16753
16754 2006-05-09  Bruno Haible  <bruno@clisp.org>
16755
16756         * m4/xvasprintf.m4: New file.
16757
16758 2006-05-09  Bruno Haible  <bruno@clisp.org>
16759
16760         * lib/xvasprintf.c: Include limits.h, string.h, xsize.h.
16761         (EOVERFLOW): Define fallback value.
16762         (xstrcat): New function.
16763         (xvasprintf): Recognize the special case of a string concatenation.
16764
16765 2006-05-08  Eric Blake  <ebb9@byu.net>
16766
16767         * gnulib-tool (func_version): Base copyright year on CVS date.
16768         (func_emit_copyright_notice): New function.
16769         (func_emit_lib_Makefile_am): Use it.
16770         (func_emit_tests_Makefile_am): Likewise.
16771         (func_import): Likewise.
16772
16773 2006-05-08  Bruno Haible  <bruno@clisp.org>
16774
16775         * modules/stdarg: New file.
16776         * MODULES.html.sh (func_all_modules): Add section for <stdarg.h>.
16777
16778 2006-05-08  Bruno Haible  <bruno@clisp.org>
16779
16780         * m4/stdarg.m4: New file, from GNU gettext.
16781
16782 2006-05-08  Bruno Haible  <bruno@clisp.org>
16783
16784         * config/srclist.txt (build-aux/config.rpath): different from latest
16785         release.
16786
16787 2006-05-08  Bruno Haible  <bruno@clisp.org>
16788
16789         * build-aux/config.rpath: Add support for Sun C 5.9 on Linux.
16790
16791 2006-05-05  Jim Meyering  <jim@meyering.net>
16792
16793         * m4/warning.m4: New file, derived from bison's file by the same name.
16794
16795 2006-05-03  Bruno Haible  <bruno@clisp.org>
16796
16797         * lib/stdint_.h: Shorter URL.
16798         * lib/inttypes.h: Likewise.
16799
16800 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
16801
16802         * modules/inttypes (Maintainer): Change from Derek Price to 'all'.
16803
16804 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
16805
16806         * lib/verify.h: Document the internals better.  Most of this change
16807         was written by Bruno Haible.
16808
16809 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
16810
16811         * doc/verify.texi: New file, partly based on a proposal by
16812         Bruno Haible.
16813
16814 2006-05-02  Bruno Haible  <bruno@clisp.org>
16815
16816         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Move the include_next
16817         test from here...
16818         * m4/_inttypes_h.m4 (gl_INTTYPES_H): ... to here.
16819
16820 2006-04-29  Bruno Haible  <bruno@clisp.org>
16821
16822         * lib/gcd.c: Use WORD_T and GCD instead of unsigned long and gcd.
16823         Suggested by Oskar Liljeblad <oskar@osk.mine.nu>.
16824
16825 2006-04-29  Bruno Haible  <bruno@clisp.org>
16826
16827         * gnulib-tool: Make --update option actually work.
16828
16829 2006-04-29  Bruno Haible  <bruno@clisp.org>
16830
16831         * doc/gcd.texi: New file.
16832         * doc/gnulib.texi: Include it.
16833
16834 2006-04-25  Paul Eggert  <eggert@cs.ucla.edu>
16835
16836         * lib/getdate.y (get_date): When adding relative date, start with the
16837         initial time, not with the result of the first mktime call.
16838
16839 2006-04-25  Bruno Haible  <bruno@clisp.org>
16840
16841         * gnulib-tool (func_import): Output the include directives in three
16842         blocks, sorted separately.
16843         Reported by Ben Pfaff <blp@cs.stanford.edu>.
16844
16845 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
16846
16847         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use prototype
16848         to define main with arguments, for C++.  Reported by Eric Blake.
16849         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC):
16850         Prefer 'int main ()' to 'int main (void)', for C++.
16851         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
16852         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Specify a return type
16853         for 'main', for C99 and C++.
16854
16855 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
16856
16857         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Use return, not exit.
16858         Don't assume that exit status -1 is valid.
16859         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
16860         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
16861         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
16862         * m4/readdir.m4 (GL_FUNC_READDIR): Include <stdlib.h>.
16863         * m4/rename.m4 (vb_FUNC_RENAME): Likewise.
16864         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use AC_RUN_IFELSE,
16865         not AC_TRY_RUN.  Use return, not exit.  Don't assume that
16866         functions can be used without declaring them, or that you can
16867         exit with status -1.
16868         * m4/utimes-null.m4 (gl_FUNC_UTIMES_NULL): Likewise.
16869
16870 2006-04-24  Karl Berry  <karl@gnu.org>
16871
16872         * config/srclist.txt (longdouble.m4): sync lost.
16873
16874 2006-04-24  Eric Blake  <ebb9@byu.net>
16875
16876         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Avoid unused variable warning.
16877
16878 2006-04-24  Bruno Haible  <bruno@clisp.org>
16879
16880         * m4/poll.m4 (gl_FUNC_POLL): When cross-compiling, reject also the
16881         poll() implementation in AIX.
16882         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
16883
16884 2006-04-24  Bruno Haible  <bruno@clisp.org>
16885
16886         * m4/poll.m4 (gl_FUNC_POLL): Rearrange code, so that POLL_H gets
16887         assigned exactly once.
16888
16889 2006-04-23  Claudio Fontana  <claudio@gnu.org>
16890             Bruno Haible  <bruno@clisp.org>
16891
16892         * modules/gettext (Makefile.am): Add a -I flag for <libintl.h>.
16893         * gnulib-tool (func_emit_lib_Makefile_am): Emit empty default value
16894         for AM_CPPFLAGS.
16895
16896 2006-04-23  Bruno Haible  <bruno@clisp.org>
16897
16898         * modules/copy-file: Depend on unistd.
16899         * modules/execute: Likewise.
16900         * modules/fatal-signal: Likewise.
16901         * modules/findprog: Likewise.
16902         * modules/mkdtemp : Likewise.
16903         * modules/pipe: Likewise.
16904         * modules/wait-process: Likewise.
16905
16906 2006-04-23  Bruno Haible  <bruno@clisp.org>
16907
16908         * lib/fwriteerror.c (fwriteerror): Call fclose also when an error
16909         condition was already detected.
16910         Reported by Ben Pfaff <blp@cs.stanford.edu>.
16911
16912 2006-04-23  Bruno Haible  <bruno@clisp.org>
16913
16914         * lib/copy-file.c: Include <unistd.h> unconditionally.
16915         * lib/execute.c: Likewise.
16916         * lib/fatal-signal.c: Likewise.
16917         * lib/findprog.c: Likewise.
16918         * lib/mkdtemp.c: Likewise.
16919         * lib/pipe.h: Likewise.
16920         * lib/pipe.c: Likewise.
16921         * lib/wait-process.h: Likewise.
16922
16923 2006-04-23  Bruno Haible  <bruno@clisp.org>
16924
16925         * gnulib-tool (func_usage): Fix --import description. Document
16926         --update.
16927         (func_import): Create temporary file in a temporary directory, if
16928         --dry-run is specified. Silence errors from 'grep' when there are no
16929         m4 files in $m4dir.
16930         (func_create_testdir): Silence errors from 'grep' when there are no
16931         m4 files in $m4dir.
16932         Reported by Karl Berry <karl@freefriends.org>.
16933
16934 2006-04-20  Bruno Haible  <bruno@clisp.org>
16935
16936         * m4/argp.m4 (gl_ARGP): Don't call AC_CHECK_DECLS_ONCE with more than
16937         one argument, so that the code will be portable to Autoconf 2.60.
16938         * m4/getlogin_r.m4 (gl_PREREQ_GETLOGIN_R): Likewise.
16939         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
16940         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO): Likewise.
16941
16942 2006-04-19  Derek Price  <derek@ximbiot.com>
16943             Eric Blake  <ebb9@byu.net>
16944
16945         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Use </full/path.h>
16946         rather than "/full/path.h".  Update comment to match.  Shorten &
16947         generalize m4_translit call via AS_TR_CPP.
16948
16949 2006-04-19  Derek Price  <derek@ximbiot.com>
16950             Eric Blake  <ebb9@byu.net>
16951
16952         * lib/inttypes.h: Correct grammar in comment.
16953
16954 2006-04-18  Derek Price  <derek@ximbiot.com>
16955             Paul Eggert  <eggert@cs.ucla.edu>
16956
16957         * modules/inttypes: New file.
16958         * modules/strtoimax, modules/strtoumax: Depend on inttypes.
16959
16960 2006-04-18  Derek Price  <derek@ximbiot.com>
16961             Paul Eggert  <eggert@cs.ucla.edu>
16962
16963         * m4/_inttypes_h.m4, m4/full-header-path.m4, m4/include_next.m4:
16964         New files.
16965
16966 2006-04-18  Derek Price  <derek@ximbiot.com>
16967             Paul Eggert  <eggert@cs.ucla.edu>
16968
16969         * lib/inttypes.h: New file.
16970         * lib/strtoimax.c: Assume <inttypes.h>.
16971
16972 2006-04-15  Paul Eggert  <eggert@cs.ucla.edu>
16973
16974         * lib/utimens.c (futimens): glibc futimesat messes up if /proc
16975         isn't mounted.  Problem reported by Kir Kolyshkin.
16976
16977 2006-04-13  Paul Eggert  <eggert@cs.ucla.edu>
16978
16979         * lib/regcomp.c (init_dfa): Don't use wchar_t or wctype_t if
16980         RE_ENABLE_I18N is not defined.  Problem reported by Mark D. Baushke via
16981         Derek R. Price.
16982         * lib/regex.h (RE_DUP_MAX): Update comment to match current
16983         implementation.
16984
16985 2006-04-12  Eric Blake  <ebb9@byu.net>
16986
16987         * modules/time_r (Makefile.am): Remove lib_SOURCES line, as this
16988         is now done automatically by the corresponding Autoconf macro.
16989
16990 2006-04-11  Paul Eggert  <eggert@cs.ucla.edu>
16991
16992         * m4/time_r.m4 (gl_TIME_R): Add AC_LIBSOURCES for time_r.c and
16993         time_r.h.
16994
16995 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
16996
16997         Merge regex changes from libc, removing some of our
16998         POSIX-conformance changes that were rejected and redoing them in a
16999         less-intrusive way.
17000
17001         * lib/regcomp.c (re_compile_internal, init_dfa):
17002         Length arg is now size_t, not Idx.  All uses changed.
17003         (peek_token): Forward decl now says internal_function.
17004         (__re_error_msgid, __re_error_msgid_idx):
17005         Now static rather than extern with attribute_hidden.
17006         (re_compile_pattern) [!defined _LIBC]: Use K&R-style defn.
17007         For some reason libc prefers K&R style defns for external functions.
17008         (regerror) [!defined _LIBC]: Likewise.
17009         (re_set_syntax, re_compile_fastmap, regcomp, regfree, re_comp):
17010         (seek_collating_symbol_entry, lookup_collation_sequence_value):
17011         (build_range_exp, build_collating_symbol):
17012         Use K&R-style defn.
17013         (re_compile_fastmap): Use '\0' to memset, not 0.
17014         (utf8_sb_map): Make the calculations more obvious.
17015         (init_dfa, parse_bracket_exp, build_charclass_op):
17016         Call calloc and cast result, as glibc does.
17017         (init_word_char, fetch_token, peek_token, peek_token_bracket):
17018         (build_range_exp, build_collating_symbol):
17019         Now internal functions.
17020
17021         * lib/regex.c [!defined _LIBC]: Allow compiling with C++ compilers.
17022
17023         * lib/regex.h (__USE_GNU_REGEX): New macro.  Don't depend on
17024         _REGEX_SOURCE any more; depend on _GNU_SOURCE instead.
17025         Don't depend on VMS; depend on __VMS instead, for POSIX
17026         namespace cleanness.
17027         (regoff_t): Define to ssize_t, not long int.
17028
17029         Remove the REG_ macros named below.  Instead, make the old names
17030         (e.g., RE_BACKSLASH_ESCAPE_IN_LISTS) visible only if
17031         __USE_GNU_REGEX.
17032         (REG_BACKSLASH_ESCAPE_IN_LISTS):
17033         (REG_BK_PLUS_QM, REG_CHAR_CLASSES, REG_CONTEXT_INDEP_ANCHORS):
17034         (REG_CONTEXT_INDEP_OPS, REG_CONTEXT_INVALID_OPS):
17035         (REG_DOT_NEWLINE, REG_DOT_NOT_NULL, REG_HAT_LISTS_NOT_NEWLINE):
17036         (REG_INTERVALS, REG_LIMITED_OPS, REG_NEWLINE_ALT):
17037         (REG_NO_BK_BRACES, REG_NO_BK_PARENS, REG_NO_BK_REFS):
17038         (REG_NO_BK_VBAR, REG_NO_EMPTY_RANGES):
17039         (REG_UNMATCHED_RIGHT_PAREN_ORD, REG_NO_POSIX_BACKTRACKING):
17040         (REG_NO_GNU_OPS, REG_DEBUG, REG_INVALID_INTERVAL_ORD):
17041         (REG_IGNORE_CASE, REG_CARET_ANCHORS_HERE):
17042         (REG_CONTEXT_INVALID_DUP, REG_NO_SUB, REG_SYNTAX_EMACS):
17043         (REG_SYNTAX_AWK, REG_SYNTAX_GNU_AWK, REG_SYNTAX_POSIX_AWK):
17044         (REG_SYNTAX_GREP, REG_SYNTAX_EGREP, REG_SYNTAX_POSIX_EGREP):
17045         (REG_SYNTAX_ED, REG_SYNTAX_SED, _REG_SYNTAX_POSIX_COMMON):
17046         (REG_SYNTAX_POSIX_BASIC, REG_SYNTAX_POSIX_MINIMAL_BASIC):
17047         (REG_SYNTAX_POSIX_EXTENDED, REG_SYNTAX_POSIX_MINIMAL_EXTENDED):
17048         (REG_DUP_MAX, REG_UNALLOCATED, REG_REALLOCATE, REG_FIXED):
17049         (REG_NREGS):
17050         Remove.  All uses replaced by the old RE_* names.
17051         (RE_BACKSLASH_ESCAPE_IN_LISTS):
17052         (RE_BK_PLUS_QM, RE_CHAR_CLASSES, RE_CONTEXT_INDEP_ANCHORS):
17053         (RE_CONTEXT_INDEP_OPS, RE_CONTEXT_INVALID_OPS):
17054         (RE_DOT_NEWLINE, RE_DOT_NOT_NULL, RE_HAT_LISTS_NOT_NEWLINE):
17055         (RE_INTERVALS, RE_LIMITED_OPS, RE_NEWLINE_ALT):
17056         (RE_NO_BK_BRACES, RE_NO_BK_PARENS, RE_NO_BK_REFS):
17057         (RE_NO_BK_VBAR, RE_NO_EMPTY_RANGES):
17058         (RE_UNMATCHED_RIGHT_PAREN_ORD, RE_NO_POSIX_BACKTRACKING):
17059         (RE_NO_GNU_OPS, RE_DEBUG, RE_INVALID_INTERVAL_ORD):
17060         (RE_IGNORE_CASE, RE_CARET_ANCHORS_HERE):
17061         (RE_CONTEXT_INVALID_DUP, RE_NO_SUB):
17062         Don't bother having these macros be independent of each others'
17063         values, since they no longer exist in the POSIX name space.
17064
17065         Rename the following member names back to their old names,
17066         unless !__USE_GNU_REGEX.  All uses changed back.
17067         (buffer): Renamed from re_buffer.
17068         (allocated): Renamed from re_allocated.
17069         (used): Renamed from re_used.
17070         (syntax): Renamed from re_syntax.
17071         (fastmap): Renamed from re_fastmap.
17072         (translate): Renamed from re_translate.
17073         (can_be_null): Renamed from re_can_be_null.
17074         (regs_allocated): Renamed from re_regs_allocated.
17075         (fastmap_accurate): Renamed from re_fastmap_accurate.
17076         (no_sub): Renamed from re_no_sub.
17077         (not_bol): Renamed from re_not_bol.
17078         (not_eol): Renamed from re_not_eol.
17079         (newline_anchor): Renamed from re_newline_anchor.
17080         (num_regs): Renamed from rm_num_regs.
17081         (start): Renamed from rm_start.
17082         (end): Renamed from rm_end.
17083
17084         (free_state): Move up a bit.
17085
17086         * lib/regex_internal.h (inline) [__GNUC__ < 3 && defined _LIBC]:
17087         #define to be empty.
17088         (ASCII_CHARS): New macro, replacing all uses of 0x80 and/or SBC_MAX / 2
17089         when that is what is intended.
17090         (SBC_MAX): Define to UCHAR_MAX + 1, not 256.
17091         (__re_error_msgid, __re_error_msgid_idx): Remove decls; not needed.
17092         (MAX): New macro.
17093         (re_xmalloc, re_calloc, re_xrealloc, re_x2realloc): Remove.
17094         All uses changed back to re_malloc, etc.  It's now the caller's
17095         responsibility to check for overflow; all callers changed.
17096         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc, re_xnrealloc):
17097         (re_x2nrealloc): Remove.
17098         (free_state): Remove decl.
17099
17100         * lib/regexc.c (regexec, re_match, re_search, re_match_2, re_search_2):
17101         (re_set_registers, re_exec):
17102         Use K&R-style defn.
17103
17104         2006-01-31  Roland McGrath  <roland@redhat.com>
17105
17106         * lib/regcomp.c (calc_eclosure_iter): Remove dead variables.
17107         Reported by Mike Frysinger <vapier@gentoo.org>.
17108
17109         2006-01-15  Andreas Jaeger  <aj@suse.de>
17110
17111         [BZ #1950]
17112         * lib/regex_internal.c (re_string_reconstruct): Adjust for
17113         build_wcs_upper_buffer change.
17114         (build_wcs_upper_buffer): Change return type.
17115
17116         2005-12-10  Ulrich Drepper  <drepper@redhat.com>
17117
17118         * lib/regex_internal.h: Include <stdint.h> if available.
17119
17120         2005-12-06  Paolo Bonzini  <bonzini@gnu.org>
17121
17122         * lib/regex_internal.h (SIZE_MAX): Provide a default definition.
17123
17124         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
17125
17126         * lib/regcomp.c: Adjust for changed secondary hash function.
17127
17128         2005-09-30  Ulrich Drepper  <drepper@redhat.com>
17129
17130         * lib/regex.h: Pretty printing.
17131         Clean up namespace a bit.
17132
17133         2005-09-30  Jakub Jelinek  <jakub@redhat.com>
17134
17135         * lib/regexec.c (update_cur_sifted_state, check_arrival,
17136         check_arrival_add_next_nodes): Avoid using uninitialized variable.
17137
17138         2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
17139                     Ulrich Drepper  <drepper@redhat.com>
17140
17141         [BZ #1302]
17142         * lib/regex_internal.h (bitset_t): Renamed from bitset.  All uses
17143         changed.
17144         (bitset_word_t): Renamed from bitset_word.  All uses changed.
17145
17146         2005-09-22  Ulrich Drepper  <drepper@redhat.com>
17147
17148         [BZ #281]
17149         * lib/regex.h: Define RE_TRANSLATE_TYPE as unsigned char *.
17150         * lib/regcomp.c: Remove unnecessary uses of
17151         unsigned RE_TRANSLATE_TYPE.
17152         * lib/regex_internal.h: Likewise.
17153         * lib/regex_internal.c: Likewise.
17154         * lib/regexec.c: Likewise.
17155         Based on a patch by Stepan Kasal <kasal@ucw.cz>.
17156
17157         2005-09-07  Ulrich Drepper  <drepper@redhat.com>
17158
17159         * lib/regexec.c (find_recover_state): Remove unnecessary
17160         initialization.
17161         (transit_state_bkref): Make DFA a const pointer.
17162         (get_subexp): Likewise.
17163         (check_arrival): Likewise.
17164         (update_cur_sifted_state): Likewise.
17165         (re_search_internal): Likewise.
17166         (prune_impossible_nodes): Likewise.
17167         (acquire_init_state_context): Likewise.
17168         (proceed_next_node): Likewise.
17169         (set_regs): Likewise.
17170         (free_fail_stack_return): Likewise.
17171         (check_arrival_expand_ecl): Mark DFA parameter as const.
17172         (check_arrival_expand_ecl_sub): Likewise.
17173         (check_subexp_limits): Likewise.
17174         (sub_epsilon_src_nodes):  Likewise.
17175         (add_epsilon_src_nodes):  Likewise.
17176         (merge_state_array): Likewise.
17177         (update_regs): Likewise.
17178         (build_trtable): Likewise.
17179         (sift_states_backward): Mark MCTX parameter as const.
17180         (build_sifted_states): Likewise.
17181         (update_cur_sifted_state): Likewise.
17182         (sift_states_mkref): Likewise.
17183         (check_arrival_expand_ecl): Mark eclosure as const.
17184         (check_dst_limits_calc_pos_1): Likewise.
17185         * lib/regex_internal.h (re_match_context_t): Make dfa a const
17186         pointer.
17187
17188         2005-09-06  Ulrich Drepper  <drepper@redhat.com>
17189
17190         * lib/regexec.c (merge_state_with_log): Define dfa as const pointer.
17191         (transit_state_sb): Likewise.
17192         (transit_state_mb): Likewise.
17193         (sift_states_iter_mb): Likewise.
17194         (check_arrival_add_next_nodes): Likewise.
17195         (check_node_accept_bytes): Change first parameter to pointer-to-const.
17196         [_LIBC] (re_search_2_stub): Use mempcpy.
17197
17198         * lib/regex_internal.c (re_string_reconstruct): Avoid calling
17199         mbrtowc for very simple UTF-8 case.
17200
17201         * lib/regex_internal.c (re_acquire_state): Make DFA pointer arg
17202         a pointer-to-const.
17203         (re_acquire_state_context): Likewise.
17204         * lib/regex_internal.h: Adjust prototypes.
17205
17206         * lib/regex.c: Prevent using C++ compilers.
17207
17208         * lib/regex_internal.c (re_acquire_state): Minor code rearrangement.
17209         (re_acquire_state_context): Likewise.
17210
17211 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
17212
17213         * modules/regex (Depends-on): Add ssize_t.
17214
17215 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
17216
17217         * m4/regex.m4 (gl_REGEX): Check for new glibc interface to
17218         translation table.
17219
17220 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
17221
17222         * doc/gnulib-tool.texi (Modified imports): pathname -> file name.
17223
17224 2006-03-29  Mark D. Baushke  <mdb@gnu.org>
17225             Bruno Haible  <bruno@clisp.org>
17226
17227         * lib/stdint_.h: On OpenBSD, don't redefine types already included in
17228         <sys/types.h> and <inttypes.h>.
17229
17230 2006-03-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
17231
17232         * m4/argz.m4 (gl_FUNC_ARGZ): If we define `error_t', also define
17233         `__error_t_defined', so argp.h will not typedef the former.
17234
17235 2006-03-25  Paul Eggert  <eggert@cs.ucla.edu>
17236
17237         * m4/regex.m4 (gl_REGEX): Don't insist on REG_SYNTAX_POSIX_EGREP,
17238         REG_SYNTAX_EMACS, and REG_IGNORE_CASE.  Settle for the traditional
17239         glibc names.  Even if glibc is changed to conform to POSIX, the
17240         traditional names will be available anyway, since regex depends on
17241         the extensions module.  Also, fix a longstanding typo in the
17242         implementation of Spencer ERE test #75 from grep 2.3.  Problems
17243         reported by Emanuele Giaquinta.  Also, change sense of cached
17244         variable, so that the message makes sense.
17245
17246 2006-03-24  Simon Josefsson  <jas@extundo.com>
17247
17248         * lib/base64.c: Fix problems reported by Eric Blake <ebb9@byu.net>,
17249         including some doc fixes.
17250         (base64_encode_alloc): Fix +1 bug on allocation failures.
17251
17252 2006-03-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
17253
17254         * lib/base64.c (base64_encode): Do not read past end of array with
17255         unsanitized input on systems with CHAR_BIT > 8.
17256
17257 2006-03-24  Eric Blake  <ebb9@byu.net>
17258
17259         * lib/time_r.c (copy_string_result): Remove, as it is no longer used.
17260
17261 2006-03-22  Karl Berry  <karl@gnu.org>
17262
17263         * config/srclist.txt (*setenv.[ch]): get from coreutils.
17264         * config/srclistvars.sh (COREUTILS): new var.
17265
17266 2006-03-17  Jim Meyering  <jim@meyering.net>
17267
17268         * m4/regex.m4 (gl_REGEX): Fix typo in last change:
17269         s/_REGEX_WIDE_OFFSETS/_REGEX_LARGE_OFFSETS/.
17270
17271 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
17272
17273         * m4/regex.m4 (gl_REGEX): Don't check for off_t, since the code
17274         no longer needs it.  Instead, check that regoff_t is as least
17275         as wide as ptrdiff_t.
17276
17277         Don't define _REGEX_WIDE_OFFSETS unless using the included regex,
17278         so that our regex.h stays compatible with the installed regex.
17279         This is helpful for installers who configure --without-included-regex.
17280         Problem reported by Emanuele Giaquinta.
17281
17282 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
17283
17284         * lib/regex.h (regoff_t) [defined _REGEX_LARGE_OFFSETS]:
17285         Typedef to long int, not to off_, as POSIX will likely change
17286         in that direction.
17287
17288 2006-03-15  Eric Blake  <ebb9@byu.net>
17289
17290         * m4/dirfd.m4 (gl_FUNC_DIRFD): Use AC_REQUIRE for AC_HEADER_DIRENT.
17291
17292 2006-03-13  Sergey Poznyakoff  <gray@gnu.org.ua>
17293
17294         * lib/argp-help.c (validate_uparams): Fix typo
17295         * lib/argp-parse.c (argp_default_options): Consistently begin help
17296         messages with a lowercase letter.
17297
17298 2006-03-11  Paul Eggert  <eggert@cs.ucla.edu>
17299
17300         * lib/time_r.h (asctime_r, ctime_r): Remove.  These functions can
17301         overrun buffers and shouldn't be used (much as gets shouldn't be
17302         used).
17303         * lib/time_r.c (asctime_r, ctime_r): Likewise.
17304
17305 2006-03-08  Simon Josefsson  <jas@extundo.com>
17306
17307         * m4/gc-random.m4: Permit 'no' as variable values and fix warnings,
17308         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
17309
17310 2006-03-08  Simon Josefsson  <jas@extundo.com>
17311
17312         * m4/gc-random.m4: Call AC_CANONICAL_HOST and use $host_os instead of
17313         $target, suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
17314
17315 2006-03-08  Simon Josefsson  <jas@extundo.com>
17316
17317         * lib/gc-gnulib.c (randomize): Don't open files called 'no', they
17318         signal that configure disabled the device.
17319
17320 2006-03-08  Simon Josefsson  <jas@extundo.com>
17321
17322         * build-aux/maint.mk: Fix refresh-po, to handle no translated
17323         languages.
17324
17325 2006-03-07  Simon Josefsson  <jas@extundo.com>
17326
17327         * modules/getopt (Depends-on): Add unistd.
17328
17329         * modules/unistd: New file.
17330
17331 2006-03-07  Simon Josefsson  <jas@extundo.com>
17332
17333         * modules/gc-random: New file.
17334
17335 2006-03-07  Simon Josefsson  <jas@extundo.com>
17336
17337         * m4/unistd_h.m4: New file.
17338
17339 2006-03-07  Simon Josefsson  <jas@extundo.com>
17340
17341         * m4/readline.m4 (gl_FUNC_READLINE): Rewrite the cached part of the
17342         test to be side-effect free by storing the result in the cache
17343         variable gl_cv_lib_readline, and moving the assignment of
17344         LIBREADLINE and LTLIBREADLINE outside the COMMANDS-TO-SET-IT.
17345         From Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
17346
17347 2006-03-07  Simon Josefsson  <jas@extundo.com>
17348
17349         * m4/gc-random.m4: New file, mostly from gc.m4.  Warn instead of
17350         error on missing devices (the functions will return an error).
17351
17352         * m4/gc.m4: Move random stuff to gc-random.m4
17353
17354 2006-03-07  Simon Josefsson  <jas@extundo.com>
17355
17356         * lib/unistd_.h: New file.
17357
17358 2006-03-07  Simon Josefsson  <jas@extundo.com>
17359
17360         * lib/gc-libgcrypt.c, gc-gnulib.c: Use GC_USE_RANDOM.
17361
17362 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
17363
17364         * m4/unistd_h.m4 (gl_HEADER_UNISTD): Rename, to match modules file.
17365         Problem reported by Juan Manuel Guerrero.
17366
17367 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
17368
17369         * lib/c-stack.c: Include unistd.h unconditionally, since we now assume
17370         the unistd module.
17371         * lib/getlogin_r.c: Likewise.
17372         * lib/getlogin_r.h: Likewise.
17373         * lib/glob.c: Likewise.
17374         * lib/pagealign_alloc.c: Likewise.
17375         * lib/unistd_.h: Remove; no longer needed.
17376
17377 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
17378
17379         * MODULES.html.sh (Support for systems lacking POSIX:2001):
17380         Add unistd.
17381         * modules/c-stack (Depends-on): Add unistd.
17382         * modules/getlogin_r: Likewise.
17383         * modules/glob: Likewise.
17384         * modules/pagealign_alloc: Likewise.
17385         * modules/unistd (Files): Remove lib/unistd_.h.
17386         (EXTRA_DIST): Remove.
17387         (unistd.h): Create using 'echo' rather than 'cp', so that we don't
17388         need unistd_.h.
17389         (MOSTLYCLEANFILES): Remove unistd.h-t.
17390
17391 2006-03-03  Simon Josefsson  <jas@extundo.com>
17392
17393         * build-aux/maint.mk: Add several syntax checks from CoreUtils.
17394
17395 2006-03-03  Simon Josefsson  <jas@extundo.com>
17396
17397         * build-aux/maint.mk: Add refresh-po rule, based on ideas from
17398         libidn and bison.
17399
17400 2006-03-03  Simon Josefsson  <jas@extundo.com>
17401
17402         * build-aux/maint.mk: Add indent target.
17403
17404 2006-03-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de> (tiny change)
17405
17406         * m4/poll.m4 (gl_FUNC_POLL): If we deem poll(2) unacceptable, use
17407         our replacement poll.h in any case, to avoid a differing
17408         declaration from a system header.  Seen on AIX.
17409
17410 2006-03-01  Simon Josefsson  <jas@extundo.com>
17411
17412         * lib/readline.c: Fix typo, tiny patch from Stepan Kasal
17413         <kasal@ucw.cz>.
17414
17415 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
17416
17417         * modules/gettime (Depends-on): Add extensions module.
17418         * modules/nanosleep (Depends-on): Likewise.
17419         * modules/settime (Depends-on): Likewise.
17420
17421 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
17422
17423         * m4/clock_time.m4 (gl_CLOCK_TIME): Require gl_USE_SYSTEM_EXTENSIONS,
17424         not merely AC_GNU_SOURCE, for the benefit of Solaris 10 when compiled
17425         pedantically.
17426         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
17427         * m4/timespec.m4 (gl_TIMESPEC): Likewise.
17428
17429         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use "=" with "test",
17430         not "==".  Reported by Ralf Wildenhues.
17431
17432 2006-03-01  Karl Berry  <karl@gnu.org>
17433
17434         * doc/Copyright/request-*: new files, synced from gnuorg.
17435
17436 2006-03-01  Karl Berry  <karl@gnu.org>
17437
17438         * config/srclist.txt (Copyright/*): new entries.
17439
17440 2006-02-28  Simon Josefsson  <jas@extundo.com>
17441
17442         * lib/getopt.c: Protect #include of unistd.h, for MSVS.
17443
17444 2006-02-27  Simon Josefsson  <jas@extundo.com>
17445
17446         * lib/base64.h: Indent #define's.  From Jim Meyering
17447         <jim@meyering.net>.
17448
17449 2006-02-27  Jim Meyering  <jim@meyering.net>
17450
17451         Revert the change of 2006-02-24, so these files can continue
17452         to be sync'd from gettext.
17453         * lib/mkdtemp.c, setenv.c, unsetenv.c: *Un*-normalize inclusion
17454         of `config.h'.
17455
17456 2006-02-26  Paul Eggert  <eggert@cs.ucla.edu>
17457
17458         * modules/intprops: New file.
17459         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
17460         Add intprops.
17461         * modules/getloadavg (Files): Remove lib/intprops.h.
17462         (Depends-on): Add intprops.
17463         * modules/human: Likewise.
17464         * modules/inttostr: Likewise.
17465         * modules/openat: Likewise.
17466         * modules/sig2str: Likewise.
17467         * modules/userspec: Likewise.
17468         * modules/utimecmp: Likewise.
17469         * modules/xnanosleep: Likewise.
17470         * modules/xstrtol: Likewise.
17471
17472 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny changes)
17473
17474         * modules/xstrtod: Omit xstrtod.h, xstrtod.c; they're in LIB_SOURCES.
17475         * modules/lock-tests (TESTS): Use $(EXEEXT).
17476         * modules/tls-tests: Likewise.
17477         * modules/argp-tests: Likewise.
17478         (check_PROGRAMS): New var, replacing...
17479         (noinst_PROGRAMS, test_argp_SOURCES): Remove.
17480
17481 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
17482
17483         * lib/mkdtemp.c, lib/setenv.c, lib/unsetenv.c: Normalize inclusion of
17484         `config.h'.
17485
17486 2006-02-24  Paul Eggert  <eggert@cs.ucla.edu>
17487
17488         * lib/glob.c: Say "invalid" rather than "illegal" in comments.
17489
17490 2006-02-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
17491
17492         Sync from coreutils.
17493         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Require gl_FUNC_LCHMOD and
17494         gl_CHDIR_SAFER.
17495
17496 2006-02-22  Jim Meyering  <jim@meyering.net>
17497
17498         Sync from coreutils.
17499         * m4/chdir-safer.m4: New file.
17500
17501 2006-02-20  Paul Eggert  <eggert@cs.ucla.edu>
17502
17503         * lib/getcwd.c (AT_FDCWD): Work around a bug in Solaris 9 and 10, where
17504         AT_FDCWD exceeds INT_MAX.
17505         * lib/openat.h (AT_FDCWD): Likewise.
17506
17507 2006-02-17  Eric Blake  <address@hidden>
17508
17509         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix caching error.
17510
17511 2006-02-16  Simon Josefsson  <jas@extundo.com>
17512
17513         * modules/getaddrinfo (Depends-on): Add sys_socket.
17514
17515 2006-02-15  Simon Josefsson  <jas@extundo.com>
17516
17517         * build-aux/maint.mk: Add dsyntax-check rule.
17518
17519 2006-02-15  Eric Blake  <ebb9@byu.net>
17520
17521         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Don't attempt using
17522         winsock2.h or ws2tcpip.h when sys/socket.h is present. Fixes
17523         'present but cannot compile' warnings on cygwin.
17524         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Use gl_HEADER_SYS_SOCKET.  Don't
17525         use ws2tcpip.h if sys/socket.h works.
17526         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Use gl_HEADER_SYS_SOCKET.
17527         (gl_GETADDRINFO): Don't use ws2tcpip.h when sys/socket.h is present.
17528
17529 2006-02-14  Simon Josefsson  <jas@extundo.com>
17530
17531         * modules/maintainer-makefile (Files): Rename.
17532
17533         * build-aux/GNUmakefile: Rename Makefile.maint to maint.mk
17534         and (the local) Makefile.cfg to maint-cfg.mk.
17535
17536         * build-aux/Makefile.maint, build-aux/maint.mk: Renamed the former
17537         to the latter.
17538
17539         * modules/maintainer-makefile: New module.
17540
17541         * build-aux/Makefile.maint: New file, from GNU CoreUtils, although
17542         severaly stripped to make it possible to build it up from scratch
17543         with reliable tests.
17544
17545         * build-aux/GNUmakefile: New file, from GNU CoreUtils with some
17546         fixes to permit overriding the default actions when configure and
17547         makefile are not available.
17548
17549 2006-02-14  Paul Eggert  <eggert@cs.ucla.edu>
17550
17551         Sync from coreutils.
17552         * modules/lstat (Depends-on): Don't depend on xalloc.
17553         (License): Change from GPL to LGPL, since this is now simply a
17554         replacement for a libc function.
17555
17556 2006-02-14  Jim Meyering  <jim@meyering.net>
17557
17558         Sync from coreutils.
17559
17560         Eliminate the unwelcome (albeit unlikely) possibility of xmalloc
17561         failure on deficient systems, and simplify gnulib lgpl dependencies.
17562         * lib/lstat.c (rpl_lstat): Rewrite to use stat() in place of the
17563         xmalloc/lstat combination.  Based on a patch from Bruno Haible.
17564
17565         * lib/xalloc-die.c: Remove unused definition of N_.
17566
17567 2006-02-14  Jim Meyering  <jim@meyering.net>
17568
17569         Sync from coreutils.
17570         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Invoke
17571         AC_CHECK_FUNCS(getmntent) unconditionally so that tests of
17572         $ac_cv_func_getmntent (e.g., in gl_LIST_MOUNTED_FILE_SYSTEMS) need not
17573         double-quote uses of that variable, to accommodate the rare case in
17574         which getmntent is available in none of the libraries checked.  This
17575         happens at least on FreeBSD 5.0.
17576
17577 2006-02-13  Simon Josefsson  <jas@extundo.com>
17578
17579         * gnulib-tool (Usage): Fix --import, from
17580         karl@freefriends.org (Karl Berry).
17581
17582 2006-02-13  Sergey Poznyakoff  <gray@gnu.org.ua>
17583
17584         * lib/argp-fmtstream.c: Restore another bugfix lost on 2005-12-12
17585
17586 2006-02-07  Sergey Poznyakoff  <gray@gnu.org.ua>
17587
17588         * lib/argp-namefrob.h: Restore changes accidentally lost during the
17589         "autoupdate" on 2005-12-12.
17590
17591 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
17592
17593         * modules/closeout (Depends-on): Remove atexit.
17594
17595 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
17596
17597         * lib/closeout.c (close_stdout): Don't assume 'bool' converts nonzero
17598         ints to 0 or 1, as this isn't true for the stdbool.h substitute.
17599
17600 2006-02-05  Paul Eggert  <eggert@cs.ucla.edu>
17601
17602         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Don't #define
17603         __EXTENSIONS__ if this causes compilation to fail.  Problem
17604         reported by Nelson H. F. Beebe with Solaris 10 and Sun C 5.7
17605         c89 -D_XOPEN_SOURCE -D_XOPEN_SOURCE_EXTENDED.
17606
17607 2006-01-27  Paul Eggert  <eggert@cs.ucla.edu>
17608
17609         * lib/fnmatch.c (L_): Renamed from L, to work around a bug in
17610         Mac OS X 10.3.9 with GCC 3 reported by Claudio Fontana in
17611         <http://lists.gnu.org/archive/html/bug-gnulib/2006-01/msg00074.html>.
17612         All uses changed.
17613
17614 2006-01-26  Simon Josefsson  <jas@extundo.com>
17615
17616         * lib/socket_.h: Set WINVER to 0x0501, to make sure getaddrinfo
17617         prototype is visible on mingw32.
17618
17619         * lib/getaddrinfo.h: Define EAI_ADDRFAMILY and EAI_SYSTEM if not set,
17620         for mingw32.
17621
17622         * lib/gai_strerror.c, getaddrinfo.h: Protect netdb.h #include (for
17623         mingw32).
17624
17625 2006-01-26  Paul Eggert  <eggert@cs.ucla.edu>
17626
17627         * lib/fts.c (diropen): Open with O_NOCTTY | O_NONBLOCK too.  Don't
17628         attempt to open for write; this always fails, at least on POSIX
17629         hosts.  This reinstates the 2006-01-09 change, which was
17630         inadvertently removed.
17631
17632 2006-01-26  Bruno Haible  <bruno@clisp.org>
17633
17634         * gnulib-tool (func_import): Use "trap 'exit $?' instead of "trap :".
17635         Reported by Paul Eggert.
17636
17637 2006-01-26  Bruno Haible  <bruno@clisp.org>
17638             Paul Eggert  <eggert@cs.ucla.edu>
17639
17640         * lib/stdbool_.h (_Bool)
17641         [(! (defined __cplusplus || defined __BEOS__)
17642           && !defined __GNUC__
17643           && !(defined __HP_cc || defined __xlc__
17644                || (defined __SUNPRO_C && (__SUNPRO_C < 0x550 || __STDC__ == 1))
17645                || defined __sgi))]:
17646         #define to signed char in these cases too; this simplifies
17647         the code (so that we don't have to worry about HP-UX, AIX, SunPRO,
17648         etc., separately) and makes it more conservative.
17649
17650 2006-01-25  Simon Josefsson  <jas@extundo.com>
17651
17652         * m4/getaddrinfo.m4: Look for getaddrinfo inside ws2tcip.h and
17653         -lws2_32.  Protect sys/socket.h and netdb.h #include's.  Include
17654         ws2tcpip.h with WINVER=0x0501.  All for mingw32.
17655
17656 2006-01-25  Sergey Poznyakoff  <gray@gnu.org.ua>
17657
17658         * lib/argp-namefrob.h: Bugfix. Remove stray #
17659
17660 2006-01-25  Paul Eggert  <eggert@cs.ucla.edu>
17661
17662         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for xlc bug if __GCC__ too,
17663         so that we test the test.
17664         Check for yet another HP-UX cc bug involving *bool |= bool.
17665
17666 2006-01-25  Karl Berry  <karl@gnu.org>
17667
17668         * config/srclist.txt (vasnprintf.c): sync lost.
17669
17670 2006-01-25  Jim Meyering  <jim@meyering.net>
17671
17672         Sync from the stable (b5) branch of coreutils:
17673
17674         * lib/fts.c (fts_children): Don't let close() clobber errno from
17675         failed fchdir().
17676
17677         * lib/fts.c (fts_stat): When following a symlink-to-directory,
17678         don't necessarily interpret stat-fails+lstat-succeeds as indicating
17679         a dangling symlink.  That can also happen at least for ELOOP.
17680         The fix: return FTS_SLNONE only when the stat errno is ENOENT.
17681         FYI, this bug predates the inclusion of fts.c in coreutils.
17682
17683         * lib/fts.c (fts_open): Put new maxarglen declaration and uses
17684         in their own block, so pre-c99 compilers don't object.
17685
17686         Avoid the double-free (first in fts_read, second in fts_close) that
17687         would occur when an `active' directory is made inaccessible (e.g.,
17688         via chmod a-x) during a traversal.
17689         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
17690         before returning.  Reproduce this failure by
17691         mkdir -p a/b; cd a; chmod a-x . b
17692         Reported by Stavros Passas.
17693
17694 2006-01-25  Jim Meyering  <jim@meyering.net>
17695
17696         * lib/fileblocks.c: Remove more useless parentheses.
17697         * lib/readutmp.h: Likewise.
17698
17699 2006-01-25  Bruno Haible  <bruno@clisp.org>
17700
17701         * lib/stdbool_.h (_Bool) [IRIX cc]: Define as 'signed char', to avoid
17702         warnings.
17703         Reported by Paul Eggert.
17704
17705 2006-01-25  Bruno Haible  <bruno@clisp.org>
17706
17707         * gnulib-tool (func_import): Use "trap :" instead of "trap -" to get
17708         rid of a trap command. For Solaris sh.
17709         Reported by Mark D. Baushke <mdb@gnu.org>.
17710
17711 2006-01-24  Simon Josefsson  <jas@extundo.com>
17712
17713         * lib/socket_.h (SHUT_WR, SHUT_RDWR): Don't hardcode, suggested by
17714         Bruno.
17715
17716 2006-01-24  Karl Berry  <karl@gnu.org>
17717
17718         * config/srclist.txt (argp-namefrob.h): sync lost.
17719
17720 2006-01-24  Jim Meyering  <jim@meyering.net>
17721
17722         * modules/openat (Files): Add lib/intprops.h.
17723         From Mark D. Baushke.
17724
17725 2006-01-24  Jim Meyering  <jim@meyering.net>
17726
17727         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBSOURCES([intprops.h]).
17728         Reported by Mark D. Baushke.
17729
17730 2006-01-24  Jim Meyering  <jim@meyering.net>
17731
17732         * lib/socket_.h: Remove useless parentheses in uses of cpp `defined'.
17733
17734 2006-01-24  Bruno Haible  <bruno@clisp.org>
17735
17736         * modules/strnlen (Maintainer): Change from glibc to all.
17737
17738 2006-01-24  Bruno Haible  <bruno@clisp.org>
17739
17740         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for IBM and HP-UX bugs.
17741         Patch by Paul Eggert.
17742
17743 2006-01-24  Bruno Haible  <bruno@clisp.org>
17744
17745         * lib/stdbool_.h (_Bool) [__cplusplus]: Don't define if the compiler
17746         already has it.
17747         Report and patch by Albert Chin-A-Young  <china@thewrittenword.com> on
17748         2005-11-26.
17749
17750         * lib/stdbool_.h (_Bool) [HP-UX cc, AIX cc,xlc]: Define as
17751         'signed char' to avoid problems with the built-in _Bool type.
17752         Reported by Paul Eggert on 2005-11-26.
17753
17754 2006-01-24  Bruno Haible  <bruno@clisp.org>
17755
17756         * gnulib-tool (func_import): Avoid constructing complicated sed
17757         expressions inside backquote.
17758         Report and solution by Mark D. Baushke <mdb@gnu.org>.
17759
17760 2006-01-23  Ulrich Drepper  <drepper@redhat.com>
17761
17762         These changes imported from libc.
17763         * lib/getopt.c: Use __fxprintf instead of inline stream orientation
17764         test and two separate function calls.
17765         * lib/strndup.c (__strndup): Add libc_hidden_def.
17766
17767 2006-01-23  Simon Josefsson  <jas@extundo.com>
17768
17769         * modules/lock-tests: Use check_PROGRAMS instead of noinst_PROGRAMS.
17770         Remove the test_*_SOURCES variable: automake infers it by default.
17771         * modules/tls-tests: Likewise.
17772
17773 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
17774
17775         Work around porting bugs reported by Dieter in
17776         <http://lists.gnu.org/archive/html/bug-bison/2006-01/msg00049.html>.
17777         * lib/getopt.c (_NOPROTO): Remove; no longer needed.
17778         Include <stdlib.h> and <unistd.h> in all environments; it's safe now.
17779         Include "getopt.h" first, to check interface.
17780         (getenv): Declare only if defined HAVE_DECL_GETENV &&
17781         !HAVE_DECL_GETENV.
17782         * lib/strndup.c [!_LIBC]: Include "strndup.h" to get prototype.
17783         (__strndup): Revert to K&R-style function dfns, the glibc style.
17784         * lib/strnlen.c: Don't claim it's taken from glibc; it's not.
17785         (strnlen, __strnlen): Remove #defines and #undefs; not needed.
17786         Include strnlen.h first, to get prototype properly.
17787         (strnlen): Renamed from __strnlen.
17788         Remove weak alias.
17789
17790 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
17791
17792         * m4/getopt.m4 (gl_PREREQ_GETOPT): Check for getenv decl.
17793
17794 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
17795
17796         * config/srclist.txt: Adjust to reflect glibc reorganization.
17797         This affects only comments.
17798
17799 2006-01-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
17800
17801          * gnulib-tool, build-aux/csharpcomp.sh.in: Do not pass `-q' to mktemp.
17802          Reported by Bruce Korb <bkorb@gnu.org>.
17803
17804 2006-01-22  Paul Eggert  <eggert@cs.ucla.edu>
17805
17806         * lib/quotearg.c (quotearg_buffer_restyled): Add "default: break;"
17807         to pacify gcc -Wswitch-default.
17808
17809 2006-01-22  Bruno Haible  <bruno@clisp.org>
17810
17811         * lib/vasnprintf.c (VASNPRINTF): In the computation of the size of the
17812         temporary buffer for sprintf, take into account the precision also
17813         for 'd', 'i', 'u', 'o', 'x', 'X'.
17814
17815 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
17816
17817         * modules/argp-tests: New module
17818         * tests/test-argp.c: New file
17819         * tests/test-argp-2.sh: New file
17820
17821 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
17822
17823         * lib/argp-help.c (usage_long_opt): Do not print DOC options.
17824         (__argp_base_name): Removed
17825         * lib/argp-namefrob.h (__argp_basename): Removed definition. Was a
17826         typo.
17827         (__argp_base_name): Provide macro definition or extern declaration
17828         depending on the configuration
17829
17830 2006-01-20  Simon Josefsson  <jas@extundo.com>
17831
17832         * modules/inet_ntop (Depends-on): Depend on sys_socket.
17833
17834 2006-01-20  Simon Josefsson  <jas@extundo.com>
17835
17836         * lib/inet_ntop.h: Unconditionally include sys/socket.h.
17837
17838 2006-01-20  Paul Eggert  <eggert@cs.ucla.edu>
17839
17840         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Use -Wl,-z,ignore
17841         rather than -Xlinker -z -Xlinker ignore, as it's more portable.
17842         Suggested by Bruno Haible.
17843
17844 2006-01-20  Karl Berry  <karl@gnu.org>
17845
17846         * config/srclist.txt (argp-fmtstream.h, localcharset.c): comment out
17847         until changes propagate, I guess.
17848
17849 2006-01-19  Simon Josefsson  <jas@extundo.com>
17850
17851         * m4/socklen.m4: Look in ws2tcpip.h too, for mingw32.
17852
17853 2006-01-19  Simon Josefsson  <jas@extundo.com>
17854
17855         * lib/socket_.h: Map SHUT_RD, SHUT_WR, SHUT_RDWR correctly.
17856
17857 2006-01-19  Simon Josefsson  <jas@extundo.com>
17858
17859         * gnulib-tool: Set check_PROGRAMS.
17860
17861         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
17862         modules/des-tests, modules/gc-arcfour-tests,
17863         modules/gc-arctwo-tests, modules/gc-des-tests,
17864         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
17865         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
17866         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
17867         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
17868         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
17869         modules/md5-tests, modules/readline, modules/rijndael-tests: Use
17870         check_PROGRAMS instead of noinst_PROGRAMS to be able to remove
17871         test_*_SOURCES.
17872
17873 2006-01-18  Simon Josefsson  <jas@extundo.com>
17874
17875         * modules/socklen (Depends-on): Depend on sys_socket.
17876
17877 2006-01-18  Simon Josefsson  <jas@extundo.com>
17878
17879         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
17880         modules/des-tests, modules/gc-arcfour-tests,
17881         modules/gc-arctwo-tests, modules/gc-des-tests,
17882         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
17883         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
17884         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
17885         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
17886         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
17887         modules/md5-tests, modules/readline, modules/rijndael-tests: Add
17888         $(EXEEXT) to automake TESTS variable, for mingw32.
17889
17890 2006-01-17  Simon Josefsson  <jas@extundo.com>
17891
17892         * modules/socklen (Include): Need sys/socket.h.
17893
17894 2006-01-17  Bruno Haible  <bruno@clisp.org>
17895
17896         * modules/ssize_t (Include): Add <sys/types.h>.
17897
17898 2006-01-16  Paul Eggert  <eggert@cs.ucla.edu>
17899
17900         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Don't use ldd, as
17901         it's not portable and it doesn't work with cross-compiles.
17902         Problem reported by Bruno Haible.  Fix missing-$ typo in
17903         'test "gl_cv_ignore_unused_libraries" ...' that prevented
17904         -zignore from being used with Sun's C compiler.
17905
17906 2006-01-12  Simon Josefsson  <jas@extundo.com>
17907
17908         * lib/base64.c: Fix warning, reported by Bruno Haible
17909         <bruno@clisp.org> and patch by Paul Eggert <eggert@CS.UCLA.EDU>.
17910
17911 2006-01-12  Bruno Haible  <bruno@clisp.org>
17912
17913         * modules/ldd: New file.
17914         * build-aux/ldd.sh.in: New file.
17915         * MODULES.html.sh (Support for building libraries and executables): Add
17916         ldd.
17917
17918 2006-01-12  Bruno Haible  <bruno@clisp.org>
17919
17920         * m4/ldd.m4: New file.
17921
17922 2006-01-12  Bruno Haible  <bruno@clisp.org>
17923
17924         * gnulib-tool (func_import, func_create_testdir): Don't go into an
17925         endless loop while replacing $auxdir with build-aux.
17926
17927 2006-01-11  Simon Josefsson  <jas@extundo.com>
17928
17929         * lib/stdint_.h (SIZE_MAX): Add missing (.
17930
17931 2006-01-11  Paul Eggert  <eggert@cs.ucla.edu>
17932
17933         Sync from coreutils.
17934         * lib/md5.c: Fix commentary typos.
17935         (alignof, UNALIGNED_P): No need for a GCC-specific version.
17936         * lib/md5.h (__attribute__): Remove; unused.
17937         * lib/sha1.c: Fix commentary to match md5 better.
17938         * lib/sha1.h (struct sha1_ctx): Use a word buffer, not a byte buffer,
17939         so that we don't need to worry about alignment.  All uses changed.
17940         This merges the 2005-10-28 md5 change into sha1.
17941
17942 2006-01-11  Jim Meyering  <jim@meyering.net>
17943
17944         Sync from coreutils.
17945         * lib/md5.c (OP): Fix spacing.
17946
17947 2006-01-11  Bruno Haible  <bruno@clisp.org>
17948
17949         Ensure automatic ordering between gl_LOCK and gl_ARGP.
17950         * m4/lock.m4 (gl_LOCK_BODY): Renamed from gl_LOCK.
17951         (gl_LOCK): New macro, requiring gl_LOCK_BODY.
17952
17953 2006-01-11  Bruno Haible  <bruno@clisp.org>
17954
17955         Ensure automatic ordering between gl_LOCK and gl_ARGP.
17956         * gnulib-tool (func_import, func_create_testdir): Put gl_LOCK into
17957         the "early" section as well.
17958
17959 2006-01-11  Bruno Haible  <bruno@clisp.org>
17960
17961         Avoid "ar: no archive members specified" error on MacOS X.
17962         * gnulib-tool (func_modules_add_dummy): New function.
17963         (func_import, func_create_testdir): Invoke it.
17964
17965 2006-01-11  Bruno Haible  <bruno@clisp.org>
17966
17967         * gnulib-tool (func_import, func_create_testdir): Replace build-aux
17968         with $auxdir in AC_CONFIG_FILES statements.
17969
17970 2006-01-11  Bruno Haible  <bruno@clisp.org>
17971
17972         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
17973         Initialize also noinst_HEADERS to empty.
17974
17975 2006-01-11  Bruno Haible  <bruno@clisp.org>
17976
17977         * gnulib-tool (AUTOMAKEPATH, AUTOCONF, ACLOCAL, AUTOMAKE): New
17978         variables.
17979         (func_create_megatestdir): Call aclocal, autoconf, automake here, not
17980         autoreconf.
17981
17982 2006-01-11  Bruno Haible  <bruno@clisp.org>
17983
17984         * gnulib-tool (AUTOCONF, ACLOCAL, AUTOMAKE, AUTORECONF): Make
17985         overridable by the user.
17986         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
17987
17988 2006-01-10  Simon Josefsson  <jas@extundo.com>
17989
17990         * modules/sys_socket: New file.
17991
17992 2006-01-10  Simon Josefsson  <jas@extundo.com>
17993
17994         * m4/sys_socket_h.m4: New file.
17995
17996 2006-01-10  Simon Josefsson  <jas@extundo.com>
17997
17998         * lib/socket_.h: New file.
17999
18000 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
18001
18002         * modules/readutmp (Maintainer): Add myself.
18003
18004 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
18005
18006         * m4/memcoll.m4 (gl_MEMCOLL): Don't require AC_FUNC_MEMCMP, undoing
18007         the 2002-12-31 change.  Problem and fix reported by Bruno Haible.
18008         People who are still concerned with buggy memcmp implementations
18009         can invoke gl_FUNC_MEMCMP themselves.
18010
18011 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
18012
18013         * lib/regex_internal.h (BITSET_WORD_BITS):
18014         Work around a bug in 64-bit PGC (before version 6.1-2), where the
18015         preprocessor mishandles large unsigned values as if they were signed.
18016         Problem reported by Claudio Fontana in
18017         <http://lists.gnu.org/archive/html/bug-gnulib/2005-12/msg00061.html>.
18018
18019 2006-01-10  Jim Meyering  <jim@meyering.net>
18020
18021         Avoid the double-free (first in fts_read, second in fts_close) that
18022         would occur when an `active' directory is made inaccessible (e.g.,
18023         via chmod a-x) during a traversal.
18024         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
18025         before returning.  Reproduce this failure by
18026         mkdir -p a/b; cd a; chmod a-x . b
18027         Reported by Stavros Passas.
18028
18029         Sync from coreutils.
18030         * lib/sha1.c: Tweak grammar in a comment.
18031
18032 2006-01-10  Jim Meyering  <jim@meyering.net>
18033
18034         * m4/fpending.m4: Also include <stdio.h>, for Dragonfly.
18035         Patch by Joerg Sonnenberger.
18036
18037 2006-01-10  Bruno Haible  <bruno@clisp.org>
18038
18039         * modules/readutmp: Depend on module free.
18040         * modules/strtok_r: Depend on module restrict.
18041
18042 2006-01-10  Bruno Haible  <bruno@clisp.org>
18043
18044         * modules/gettext (configure.ac): Add an invocation of
18045         AM_GNU_GETTEXT_VERSION. Needed since autoreconf is used by gnulib-tool.
18046
18047 2006-01-10  Bruno Haible  <bruno@clisp.org>
18048
18049         * m4/localcharset.m4 (gl_LOCALCHARSET): Also test for getc_unlocked.
18050         Reported by Werner Lemberg <wl@gnu.org>.
18051
18052 2006-01-10  Bruno Haible  <bruno@clisp.org>
18053
18054         * lib/localcharset.c: Update from GNU gettext.
18055
18056 2006-01-10  Bruno Haible  <bruno@clisp.org>
18057
18058         * lib/argp.h (__const): Remove macro. Use const instead.
18059         * lib/argp-fmtstream.h (__const): Likewise.
18060         * lib/glob_.h (__const): Remove macro.
18061         * lib/glob-libc.h: Use const instead of __const.
18062
18063 2006-01-10  Bruno Haible  <bruno@clisp.org>
18064
18065         * gnulib-tool (func_emit_tests_Makefile_am): Emit an empty SUBDIR
18066         variable.
18067         Needed to avoid an automake error regarding the 'gettext' module.
18068
18069 2006-01-09  Simon Josefsson  <jas@extundo.com>
18070
18071         * modules/inet_ntop (Depends-on): Add restrict.
18072
18073 2006-01-09  Simon Josefsson  <jas@extundo.com>
18074
18075         * modules/gc-rijndael-tests (License): Put under LGPL.
18076
18077         * modules/gc-des-tests (License): Likewise.
18078
18079         * modules/gc-arcfour-tests (License): Likewise.
18080
18081         * modules/gc-arctwo-tests (License): Likewise.
18082
18083         * modules/gc-pbkdf2-sha1-tests (License): Likewise.
18084
18085         * modules/gc-hmac-sha1-tests (Files): Likewise.
18086
18087         * modules/gc-hmac-md5-tests (License): Likewise.
18088
18089         * modules/gc-sha1-tests (License): Likewise.
18090
18091         * modules/gc-md5-tests (License): Likewise.
18092
18093         * modules/gc-md4-tests (License): Likewise.
18094
18095         * modules/gc-md2-tests (License): Likewise.
18096
18097         * modules/gc-tests (License): Likewise.
18098
18099         * modules/des-tests (License): Likewise.
18100
18101         * modules/md4-tests (License): Likewise.
18102
18103         * modules/md2-tests (License): Likewise.
18104
18105 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
18106
18107         Sync from coreutils:
18108
18109         * MODULES.html.sh (build_lib): New section, with new lib-ignore module.
18110         * modules/lib-ignore: New file.
18111         * modules/mkdir-p (Files): Add chdir-safer.c, chdir-safer.h, lchmod.h,
18112         chdir-safer.m4, lchmod.m4.
18113         * modules/openat: Add mkdirat.c, openat-priv.h.
18114
18115 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
18116
18117         Sync from coreutils.
18118         * m4/lib-ignore.m4: New file.
18119         * m4/lchmod.m4: New file.
18120
18121 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
18122
18123         Sync from coreutils.
18124         * lib/chdir-long.c (cdb_free): Don't bother trying to open directory
18125         for write access: POSIX says that must fail.
18126         * lib/fts.c (diropen): Likewise.
18127         * lib/save-cwd.c (save_cwd): Likewise.
18128         * lib/chdir-long.c (cdb_free): Open with O_NOCTTY | O_NONBLOCK as
18129         well, for minor improvements on hosts that lack O_DIRECTORY.
18130         * lib/chown.c (rpl_chown) [CHOWN_MODIFIES_SYMLINK]:
18131         Don't try O_WRONLY unless O_RDONLY failed wth EACCES.
18132         Fall back on chown if open failed with EACCES.
18133
18134         * lib/gettime.c (gettime) [!defined OK_TO_USE_1S_CLOCK]:
18135         Report an error at compile-time if only a 1-second nominal clock
18136         resolution is found.
18137
18138         * lib/lchmod.h: New file.
18139         * lib/mkdir-p.c: Include lchmod.h, lchown.h.
18140         (make_dir_parents): Use lchown rather than chown, and
18141         lchmod rather than chmod.
18142
18143         * lib/mountlist.c (ME_DUMMY): "none" and "proc" file systems are
18144         dummies too.  Problem with "none" reported by Bob Proulx.  Problem with
18145         "proc" reported by n0dalus.
18146
18147         * lib/mountlist.c: Include <limits.h>.
18148         (dev_from_mount_options)
18149         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]:
18150         New function.  It no longer assumes "dev=" has the System V meaning
18151         on Linux (since it doesn't).  It also parses "dev=" more carefully.
18152         (read_file_system_list)
18153         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]: Use it.
18154         MOUNTED_GETMNTENT2 is new here; the code didn't used to look for
18155         dev= in that case.
18156
18157         * lib/posixtm.h (PDS_PRE_2000): New macro.
18158         * lib/posixtm.c (year): Arg is now syntax_bits rather than
18159         allow_century.  All usages changed.  Reject dates outside the range
18160         1969-1999 if PDS_PRE_2000 is used.
18161
18162 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
18163
18164         Sync from coreutils.
18165         * doc/getdate.texi (General date syntax): Invalid dates are rejected.
18166         (Time of day items): Mention the possibility of leap seconds.
18167         Problem reported by Dr. David Alan Gilbert.
18168
18169 2006-01-09  Jim Meyering  <jim@meyering.net>
18170
18171         Sync from coreutils.
18172
18173         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2006.
18174
18175         * lib/chdir-safer.h, lib/chdir-safer.c: New files.
18176
18177         * lib/modechange.c (mode_compile): Reject an invalid mode string
18178         that starts with an octal digit.  From Andreas Gruenbacher.
18179
18180         * lib/openat.c: Include "fcntl--.h" and "unistd--.h", to map open
18181         and dup to open_safer and dup_safer, respectively.
18182         (openat_permissive): Fix typo in comment.
18183
18184         * lib/openat.c: Don't include <stdlib.h>, <unistd.h>, <fcntl.h>,
18185         "gettext.h"; either no longer needed or are guaranteed by openat.h.
18186         (_): Remove; no longer needed.
18187         (openat): Renamed from rpl_openat; no need for rpl_openat
18188         since openat.h renames openat for us.
18189         Replace most of the body with a call to openat_permissive,
18190         to avoid duplicate code.
18191         Port to (probably hypothetical) environments were mode_t is
18192         wider than int.
18193         (openat_permissive): Require mode arg, so that we can check
18194         types better.  Put it just after flags.  Change cwd failure
18195         indicator from pointer-to-bool to pointer-to-errno-value.
18196         All callers changed.
18197         Invoke openat_save_fail and/or openat_restore_fail if
18198         cwd_errno is null, so that openat can call us.
18199         (openat_permissive, fdopendir, fstatat, unlinkat):
18200         Simplify errno handling to avoid some duplicate code,
18201         as it's OK to set errno on success.
18202         * lib/openat.h: Revamp code so that function macros depend on
18203         __OPENAT_PREFIX only, not also on AT_FDCWD.
18204         (openat_ro): Remove.  Caller changed to use openat_permissive.
18205         (openat_permissive): Now a macro, if not a function.
18206         (openat_restore_fail, openat_save_fail): Now always functions,
18207         since mkdirat needs them even if __OPENAT_PREFIX is defined.
18208
18209         * lib/openat-priv.h: New file, defining macros used by mkdirat.c
18210         and openat.c.
18211         * lib/mkdirat.c: Include openat-priv.h.
18212         Remove definitions of macros defined therein.
18213         * lib/openat.c: Likewise.
18214
18215         * lib/mkdirat.c (mkdirat): New file and function.
18216         * lib/openat.h (mkdirat): Declare.
18217
18218         * lib/openat.c (fdopendir): Don't change errno when returning non-NULL.
18219
18220         * lib/openat.h (openat_permissive): Declare.
18221         (openat_ro): Define.
18222
18223         * lib/openat.c (EXPECTED_ERRNO): New macro.
18224         (openat_permissive): New function -- used in remove.c rewrite.
18225         (all functions): Set errno just before returning, only if there
18226         was an actual failure.
18227         Use EXPECTED_ERRNO rather than comparing against only ENOTDIR.
18228
18229         Emulate openat-family functions using Linux's procfs, if possible.
18230         Idea and some code based on Ulrich Drepper's glibc changes.
18231
18232         * lib/openat.c: (BUILD_PROC_NAME): New macro.
18233         Include <stdio.h>, <string.h>, "alloca.h" and "intprops.h".
18234         (rpl_openat): Emulate by trying to open /proc/self/fd/%d/%s,
18235         before falling back on save_cwd and restore_cwd.
18236         (fdopendir, fstatat, unlinkat): Likewise.
18237
18238         * lib/openat.c (fstatat, unlinkat): Perform the syscall directly,
18239         skipping the save_cwd...restore_cwd overhead, if FILE is absolute.
18240
18241         * lib/openat.c (rpl_openat): Use the promoted type (int), not mode_t,
18242         as second argument to va_arg.  Otherwise, some versions of gcc
18243         warn that `if this code is reached, the program will abort'.
18244
18245 2006-01-09  Jim Meyering  <jim@meyering.net>
18246
18247         Sync from coreutils.
18248         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile mkdirat.c.
18249         Require openat-priv.h.
18250
18251 2006-01-09  Bruno Haible  <bruno@clisp.org>
18252
18253         * modules/strnlen (Include): Use strnlen.h.
18254
18255 2006-01-09  Bruno Haible  <bruno@clisp.org>
18256
18257         * m4/stdint.m4 (gl_STDINT_H): Also test for <sys/bitypes.h>.
18258
18259 2006-01-09  Bruno Haible  <bruno@clisp.org>
18260
18261         * lib/sysexit_.h (EX_OK): New macro.
18262         Suggested by Martin Lambers <marlam@marlam.de>.
18263
18264 2006-01-09  Bruno Haible  <bruno@clisp.org>
18265
18266         * lib/stdint_.h: On Linux libc4 and libc5, include <sys/bitypes.h> and
18267         don't define _STDINT_H_NEED_SIGNED_INT_TYPES.
18268
18269 2006-01-09  Bruno Haible  <bruno@clisp.org>
18270
18271         * lib/stdint_.h (SIZE_MAX): Write the value without involving negative
18272         numbers.
18273
18274 2006-01-09  Bruno Haible  <bruno@clisp.org>
18275
18276         * lib/javacomp.sh.in: Move to ../build-aux/javacomp.sh.in.
18277         * lib/javaexec.sh.in: Move to ../build-aux/javaexec.sh.in.
18278         * lib/csharpcomp.sh.in: Move to ../build-aux/csharpcomp.sh.in.
18279         * lib/csharpexec.sh.in: Move to ../build-aux/csharpexec.sh.in.
18280
18281 2006-01-09  Bruno Haible  <bruno@clisp.org>
18282
18283         * build-aux/javacomp.sh.in: New file, moved from lib/.
18284         * modules/javacomp-script (Files): Update.
18285         (configure.ac): Add AC_CONFIG_FILES invocation.
18286         (EXTRA_DIST): Remove variable.
18287
18288         * build-aux/javaexec.sh.in: New file, moved from lib/.
18289         * modules/javaexec (Files): Update.
18290         (configure.ac): Add AC_CONFIG_FILES invocation.
18291         (EXTRA_DIST): Remove javaexec.sh.in.
18292
18293         * build-aux/csharpcomp.sh.in: New file, moved from lib/.
18294         * modules/csharpcomp-script (Files): Update.
18295         (configure.ac): Add AC_CONFIG_FILES invocation.
18296         (EXTRA_DIST): Remove variable.
18297
18298         * build-aux/csharpexec.sh.in: New file, moved from lib/.
18299         * modules/csharpexec (Files): Update.
18300         (configure.ac): Add AC_CONFIG_FILES invocation.
18301         (EXTRA_DIST): Remove csharpexec.sh.in.
18302
18303 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
18304
18305         Sync from coreutils.
18306
18307         Add POSIX ACL support
18308         * lib/acl.h (copy_acl, set_acl): Add declarations.
18309         * lib/acl.c (acl_entries): Add fallback implementation for POSIX ACL
18310         systems other than Linux.
18311         (chmod_or_fchmod): New function: use fchmod when possible,
18312         and chmod otherwise.
18313         (file_has_acl): Add a POSIX ACL implementation, with a
18314         Linux-specific subcase.
18315         (copy_acl): Add: copy an acl and S_ISUID, S_ISGID, and
18316         S_ISVTX from one file to another.  Fall back to fchmod/chmod when
18317         acls are unsupported.
18318         (set_acl): Add: set a file's acl and S_ISUID, S_ISGID, and
18319         S_ISVTX to a defined value.  Fall back to fchmod/chmod when acls
18320         are unsupported.
18321
18322 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
18323
18324         Sync from coreutils.
18325         * m4/acl.m4 (AC_FUNC_ACL): Add POSIX ACL and Linux-specific acl tests.
18326
18327 2006-01-07  Bruno Haible  <bruno@clisp.org>
18328
18329         * gnulib-tool (func_import): Add an AC_PROG_RANLIB dependency to
18330         gl_EARLY.
18331
18332 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
18333
18334         * lib/strftime.c (tzname): Don't declare if it is already #defined.
18335         Problem reported for Mingw by Mark Junker.
18336
18337 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
18338
18339         * README: Gnulib normally doesn't generate a tarball.
18340
18341 2006-01-03  Paul Eggert  <eggert@cs.ucla.edu>
18342
18343         * lib/xtime.h (xtime_make, xtime_nonnegative_nsec, xtime_nsec): Use
18344         long int, not int, for nanosecond counts, so that people who are
18345         used to POSIX struct timespec won't be surprised.  Reported by Jim
18346         Meyering.
18347
18348 2005-12-28  Bruno Haible  <bruno@clisp.org>
18349
18350         * build-aux/config.rpath: Update from GNU gettext.
18351
18352 2005-12-16  Jim Meyering  <jim@meyering.net>
18353
18354         * modules/fprintftime: New module.
18355         * MODULES.html.sh (Date and time <time.h>): Add fprintftime.
18356
18357 2005-12-16  Jim Meyering  <jim@meyering.net>
18358
18359         * m4/fprintftime.m4: New file.
18360
18361 2005-12-16  Jim Meyering  <jim@meyering.net>
18362
18363         * lib/fprintftime.c, lib/fprintftime.h: New files.
18364
18365 2005-12-15  Simon Josefsson  <jas@extundo.com>
18366
18367         * modules/socklen (configure.ac): Fix M4 macro name, to align with
18368         new m4/socklen.m4.
18369
18370 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
18371
18372         * m4/argp.m4: Define HAVE_DECL_PROGRAM_INVOCATION_NAME and
18373         HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME
18374
18375 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
18376
18377         * lib/argp-fmtstream.c (__argp_fmtstream_update): Fix coredump
18378         * lib/argp-help.c (fill_in_uparams): Check if the constructed
18379         struct uparams is valid. Fall back to the default values if it is
18380         not.
18381
18382 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
18383
18384         * modules/argp (Files): Add argp-pin.c
18385         (Depends-on): dirname
18386         (lib_SOURCES): Add argp-pin.c
18387
18388 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
18389
18390         * m4/argp.m4:  Check if program_invocation_name and
18391         program_invocation_short_name are declared and define appropriate
18392         macros if they are not.
18393
18394 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
18395
18396         * lib/argp-help.c (__argp_base_name): New function
18397         (__argp_short_program_name): Rewrite using __argp_base_name
18398         * lib/argp-namefrob.h: Define program_invocation_name and
18399         program_invocation_short_name if requested
18400         (__argp_base_name): Add prototype
18401         * lib/argp-parse.c (argp_def): Use gettext wrappers
18402         (argp_default_parser): Use __argp_base_name
18403         * lib/argp-pin.c: New file. Defines program_invocation_name and
18404         program_invocation_short_name on systems that lack them.
18405
18406 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
18407
18408         * m4/stat-time.m4 (gl_STAT_TIME): Add check for
18409         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
18410         porting problem reported by Georg Schwarz in
18411         <http://lists.gnu.org/archive/html/bug-coreutils/2005-12/msg00083.html>.
18412
18413 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
18414
18415         * lib/stat-time.h (STATE_TIMESPEC, STAT_TIMESPEC_NS): Add check for
18416         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
18417         porting problem reported by Georg Schwarz in
18418         <http://lists.gnu.org/archive/html/bug-coreutils/2005-12/msg00083.html>.
18419
18420 2005-12-05  Bruno Haible  <bruno@clisp.org>
18421
18422         * lib/csharpcomp.sh.in (options_csc): For -l option, add a .dll suffix.
18423         * lib/csharpcomp.c (compile_csharp_using_sscli): Likewise.
18424         Reported by Mark Junker <mjscod@gmx.de>.
18425
18426 2005-12-02  Paul Eggert  <eggert@cs.ucla.edu>
18427
18428         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Renamed from gl_SOCKLEN_T.
18429         Use implementation from Albert Chin, with some
18430         comments/corrections by Stepan Kasal and myself.
18431
18432 2005-12-02  Bruno Haible  <bruno@clisp.org>
18433
18434         * gnulib-tool (func_import): Accept GPLed build tool modules when
18435         --lgpl is given.
18436         * modules/csharpcomp-script: New file.
18437         * modules/csharpcomp: Depend on it.
18438         * modules/javacomp-script: New file.
18439         * modules/javacomp: Depend on it.
18440         Suggested by Simon Josefsson.
18441
18442 2005-12-01  Paul Eggert  <eggert@cs.ucla.edu>
18443
18444         * m4/regex.m4 (gl_REGEX): Check whether off_t can be used in a switch
18445         statement, to work around an HP-UX 10.20 compiler bug reported by
18446         Peter O'Gorman.
18447
18448 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
18449
18450         * modules/savedir (Depends-on): Add openat.
18451
18452 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
18453
18454         * lib/stdint_.h (intmax_t) [defined intmax_t]: Do not declare.
18455         (uintmax_t) [defined uintmax_t]: Do not declare.
18456         (SIZE_MAX) [defined SIZE_MAX]: Do not define.
18457         This works around a problem if intmax_t.m4 and/or uintmax_t.m4
18458         and/or size_max.m4 are also used.  Problem reported by Mark D. Baushke.
18459         (SIZE_MAX): Define to ((size_t) -1), not (~(size_t)0), for the
18460         sake of portability to weird hosts that C allows (though we don't
18461         know of any practical examples).
18462
18463         * lib/savedir.h (fdsavedir): New decl.
18464         * lib/savedir.c (fdsavedir, savedirstream): New functions; the latter
18465         contains most of the former guts of savedir.
18466         (savedir): Use savedirstream.
18467         Include "openat.h".
18468
18469 2005-11-25  Paul Eggert  <eggert@cs.ucla.edu>
18470
18471         * modules/obstack (Files): Add m4/ulonglong.m4.
18472         Problem reported by Davide Angelocola.
18473
18474 2005-11-15  Paul Eggert  <eggert@cs.ucla.edu>
18475
18476         * lib/xstrtod.c: Don't bother with #pragma STDC FENV_ACCESS ON, as
18477         coreutils no longer futzes with rounding modes.
18478
18479 2005-11-14  Jim Meyering  <jim@meyering.net>
18480
18481         * lib/mkstemp-safer.c: Include <config.h>, required for possible
18482         replacement of mkstemp.
18483
18484 2005-11-10  Simon Josefsson  <jas@extundo.com>
18485
18486         * lib/readline.c: Remove EOL.
18487
18488 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
18489
18490         * modules/gethrxtime (Depends-on): Add gettime.
18491
18492 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
18493
18494         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Don't require AC_HEADER_TIME
18495         or gettimeofday; no longer needed.
18496
18497 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
18498
18499         * lib/gethrxtime.c: Include "timespec.h" rather than the sys/time /
18500         time business.
18501         (gethrxtime) [! (HAVE_NANOUPTIME
18502         || (defined CLOCK_MONOTONIC && HAVE_CLOCK_GETTIME)
18503         || HAVE_MICROUPTIME)]: Fall back on gettime rather than rolling
18504         our own approximation.
18505
18506 2005-11-08  Eric Blake  <ebb9@byu.net>
18507
18508         * lib/inet_ntop.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
18509
18510 2005-11-08  Eric Blake  <ebb9@byu.net>
18511
18512         * lib/getaddrinfo.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
18513
18514 2005-11-04  Bruno Haible  <bruno@clisp.org>
18515
18516         * gnulib-tool: Implement --update mode.
18517
18518 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
18519
18520         Fix porting problem reported by Theodoros V. Kalamatianos.
18521         * lib/utimens.c (futimens) [HAVE_WORKING_UTIMES && HAVE_FUTIMES]:
18522         Don't assume that futimes failing means we must fail.
18523
18524 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
18525
18526         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Revamp wording and local
18527         variables to suggest the intended function of the PATH_MAX check.
18528
18529 2005-10-30  Kean Johnston  <jkj@sco.com>
18530
18531         Trivial changes to support SCO systems.
18532         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Check for MAXPATHLEN as well
18533         as PATH_MAX.
18534         * m4/fpending.m4 (gl_FUNC_FPENDING): Correct check for SCO systems,
18535         where __ptr is null when no I/O is pending.
18536
18537 2005-10-29  Paul Eggert  <eggert@cs.ucla.edu>
18538
18539         * lib/getcwd.c (__getcwd): Don't assume that system calls after readdir
18540         leave errno alone.  Problem reported by Dmitry V. Levin.
18541
18542 2005-10-28  Simon Josefsson  <jas@extundo.com>
18543
18544         * tests/test-gc-md4.c, tests/test-gc-md5.c, tests/test-gc-sha1.c:
18545         Test more.
18546
18547         * tests/test-gc-md2.c, tests/test-md2.c: New files.
18548
18549         * modules/md2, modules/md2-tests: New files.
18550
18551 2005-10-28  Simon Josefsson  <jas@extundo.com>
18552
18553         * m4/inet_ntop.m4: More tests.
18554
18555         * m4/gc-md2.m4, md2.m4: New file.
18556
18557 2005-10-28  Simon Josefsson  <jas@extundo.com>
18558
18559         * lib/inet_ntop.h, inet_ntop.c: Make it work under mingw32: Add
18560         "restrict" keywords, as per POSIX.  Protect the function
18561         declaration around HAVE_DECL_INET_NTOP rather than HAVE_INET_NTOP.
18562         Don't use K&R prototypes.  Check the sprintf return values.
18563         Re-define EAFNOSUPPORT if not present.  Indent.
18564
18565         * lib/md5.h, md5.c: Simplify buffer handling visavi alignment,
18566         suggested by Bruno Haible <bruno@clisp.org>.
18567
18568         * lib/gc-gnulib.c, gc-libgcrypt.c: Check calloc return value.
18569
18570         * lib/gc.h: Add MD2 and RMD160 length defines.  Add prototypes.
18571
18572         * lib/gc-libgcrypt.c: Add MD2 (which is not available through
18573         libgcrypt).
18574
18575         * lib/gc-gnulib.c: Add MD2.  Implement gc_hash_* API.
18576
18577         * lib/md2.h, lib/md2.c: New files.
18578
18579 2005-10-28  Paul Eggert  <eggert@cs.ucla.edu>
18580
18581         * lib/savedir.c (savedir): Don't assume that xrealloc etc. leave
18582         errno alone.  Problem reported by Frederic Jolliton.
18583
18584 2005-10-27  Paul Eggert  <eggert@cs.ucla.edu>
18585
18586         * modules/verify (License): Change from GPL to LGPL.  This is a
18587         tiny module and there are apparently near-equivalents that are
18588         under the BSD license.
18589
18590 2005-10-24  Simon Josefsson  <jas@extundo.com>
18591
18592         * modules/sha1: Relicense to LGPL.
18593
18594 2005-10-24  Simon Josefsson  <jas@extundo.com>
18595
18596         * lib/md4.h: Shrink buffer size, now that we changed the type.
18597
18598 2005-10-23  Simon Josefsson  <jas@extundo.com>
18599
18600         * gnulib-tool (func_import): Fix --tests-base.
18601
18602 2005-10-22  Simon Josefsson  <jas@extundo.com>
18603
18604         * modules/arcfour (Depends-on): Need stdint.
18605
18606 2005-10-22  Simon Josefsson  <jas@extundo.com>
18607
18608         * m4/gc.m4: Don't be fooled by --disable-*random-device parameters,
18609         suggested by Bruno Haible <bruno@clisp.org>.  Fix error messages.
18610
18611 2005-10-22  Simon Josefsson  <jas@extundo.com>
18612
18613         * lib/md4.h, md4.c: Simplify buffer handling visavi alignment,
18614         suggested by Bruno Haible <bruno@clisp.org>.
18615
18616 2005-10-22  Simon Josefsson  <jas@extundo.com>
18617
18618         * lib/crc.h: Include stddef.h, for size_t.
18619
18620 2005-10-22  Simon Josefsson  <jas@extundo.com>
18621
18622         * lib/arcfour.h, arcfour.c: Use fixed size indices in the
18623         arcfour_context struct (simplify test vector testing in GNU
18624         Shishi).
18625
18626 2005-10-21  Simon Josefsson  <jas@extundo.com>
18627
18628         * modules/des, modules/des-tests: New files.
18629
18630         * modules/gc-des, modules/gc-des-tests: New files.
18631
18632         * tests/test-des.c, tests/test-gc-des.c: New file.
18633
18634 2005-10-21  Simon Josefsson  <jas@extundo.com>
18635
18636         * modules/arctwo, modules/arctwo-tests: New files.
18637
18638         * tests/test-arctwo.c: New file.
18639
18640         * modules/gc-arctwo, modules/gc-arctwo-tests: New files.
18641
18642         * tests/test-gc-arctwo.c: New file.
18643
18644 2005-10-21  Simon Josefsson  <jas@extundo.com>
18645
18646         * m4/gc.m4: Don't use libgcrypt if gcrypt.h isn't found, suggested by
18647         Bruno Haible <bruno@clisp.org>.
18648
18649         * m4/gc-des.m4: New file.
18650
18651 2005-10-21  Simon Josefsson  <jas@extundo.com>
18652
18653         * m4/arctwo.m4: New file.
18654
18655         * m4/gc-arctwo.m4: New file.
18656
18657 2005-10-21  Simon Josefsson  <jas@extundo.com>
18658
18659         * lib/rijndael-api-fst.c: Fix bugs in CBC mode for more than one
18660         block.
18661
18662 2005-10-21  Simon Josefsson  <jas@extundo.com>
18663
18664         * lib/hmac-md5.c (hmac_md5): Add comments, suggested by Bruno Haible
18665         <bruno@clisp.org>.
18666
18667         * lib/hmac-sha1.c (hmac_sha1): Likewise.
18668
18669         * lib/crc.c (crc32_update): Actually use crc parameter, suggested by
18670         Bruno Haible <bruno@clisp.org>.
18671
18672         * lib/crc.h: Include stdint.h directly, suggested by Bruno Haible
18673         <bruno@clisp.org>.
18674
18675 2005-10-21  Simon Josefsson  <jas@extundo.com>
18676
18677         * lib/gc-libgcrypt.c (gc_cipher_open): Handle ECB.
18678
18679 2005-10-21  Simon Josefsson  <jas@extundo.com>
18680
18681         * lib/gc-gnulib.c: Support ARCTWO in CBC mode.
18682
18683 2005-10-21  Simon Josefsson  <jas@extundo.com>
18684
18685         * lib/des.h, lib/des.c: New files.
18686
18687         * lib/gc-gnulib.c: Support DES.c
18688
18689 2005-10-21  Simon Josefsson  <jas@extundo.com>
18690
18691         * lib/arctwo.h, lib/arctwo.c: New files.
18692
18693         * lib/gc-gnulib.c: Support ARCTWO.
18694
18695 2005-10-21  Simon Josefsson  <jas@extundo.com>
18696
18697         * lib/arctwo.h (arctwo_setkey): Protect variable in CPP macro,
18698         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
18699
18700 2005-10-21  Simon Josefsson  <jas@extundo.com>
18701
18702         * gnulib-tool (func_import, func_create_testdir): Define automake
18703         conditional GL_COND_LIBTOOL if libtool is used (to be used by modules
18704         Makefile.am snippet),
18705         suggested by Bruno Haible <bruno@clisp.org>.
18706
18707         * modules/gc (Makefile.am): Use it.
18708
18709 2005-10-21  Bruno Haible  <bruno@clisp.org>
18710
18711         * gnulib-tool (func_import, func_create_testdir): Add quoting to last
18712         patch.
18713
18714 2005-10-19  Simon Josefsson  <jas@extundo.com>
18715
18716         * tests/test-gc-rijndael.c: New file.
18717
18718         * modules/gc-rijndael, modules/gc-rijndael-test: New files.
18719
18720 2005-10-19  Simon Josefsson  <jas@extundo.com>
18721
18722         * tests/test-gc-md4.c, tests/test-gc-md5.c: Test gc_hash_buffer
18723         interface too.
18724
18725 2005-10-19  Simon Josefsson  <jas@extundo.com>
18726
18727         * tests/test-gc-arcfour.c: New file.
18728
18729         * modules/gc-arcfour, modules/gc-arcfour-tests: New files.
18730
18731 2005-10-19  Simon Josefsson  <jas@extundo.com>
18732
18733         * modules/gc-md4, modules/gc-md4-tests: New file.
18734
18735         * tests/test-gc-md4.c: New file.
18736
18737 2005-10-19  Simon Josefsson  <jas@extundo.com>
18738
18739         * m4/gc-md4.m4: New file.
18740
18741 2005-10-19  Simon Josefsson  <jas@extundo.com>
18742
18743         * m4/gc-hmac-md5.m4, gc-hmac-sha1.m4, gc-md4.m4,
18744         gc-md5.m4, gc-sha1.m4: Fix typo, suggested by Stepan Kasal
18745         <kasal@ucw.cz>.
18746
18747 2005-10-19  Simon Josefsson  <jas@extundo.com>
18748
18749         * m4/gc-arcfour.m4: New file.
18750
18751         * m4/gc-rijndael.m4: New file.
18752
18753 2005-10-19  Simon Josefsson  <jas@extundo.com>
18754
18755         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support MD4.
18756
18757 2005-10-19  Simon Josefsson  <jas@extundo.com>
18758
18759         * lib/gc-gnulib.c: Support ARCFOUR.
18760
18761 2005-10-19  Simon Josefsson  <jas@extundo.com>
18762
18763         * lib/gc-gnulib.c: Implement gc_cipher_* API, currently only with AES
18764         support.
18765
18766         * lib/gc.h: Add ECB enum type.
18767
18768         * lib/hmac-md5.c, hmac-sha1.c: Include memxor.h.
18769
18770 2005-10-18  Simon Josefsson  <jas@extundo.com>
18771
18772         * tests/test-md5.c: New file.
18773
18774         * modules/md5-tests: New file.
18775
18776 2005-10-18  Simon Josefsson  <jas@extundo.com>
18777
18778         * tests/test-md4.c: New file.
18779
18780         * modules/md4, modules/md4-tests: New files.
18781
18782 2005-10-18  Simon Josefsson  <jas@extundo.com>
18783
18784         * m4/md4.m4: New file.
18785
18786 2005-10-18  Simon Josefsson  <jas@extundo.com>
18787
18788         * lib/md4.h, lib/md4.c: New files, based on md5.?.
18789
18790 2005-10-17  Stepan Kasal  <kasal@ucw.cz>
18791
18792         * gnulib-tool (func_create_testdir): Omit the second check whether
18793         BUILT_SOURCES in nonempty.
18794
18795 2005-10-17  Simon Josefsson  <jas@extundo.com>
18796
18797         * tests/test-rijndael.c: New file.
18798
18799 2005-10-17  Simon Josefsson  <jas@extundo.com>
18800
18801         * modules/sha1: Depend on stdint instead of md5.
18802
18803         * modules/md5: Depend on stdint, remove uint32_t.
18804
18805 2005-10-17  Simon Josefsson  <jas@extundo.com>
18806
18807         * modules/gc-sha1-tests: New file.
18808
18809         * tests/test-gc-sha1.c: New file.
18810
18811 2005-10-17  Simon Josefsson  <jas@extundo.com>
18812
18813         * m4/md5.m4: Remove call to uint32_t.m4.
18814
18815 2005-10-17  Simon Josefsson  <jas@extundo.com>
18816
18817         * lib/sha1.c: Use uint32_t instead of md5_uint32.t
18818
18819         * lib/sha1.h: Use stdint.h and uint32_t instead of md5_uint32 from
18820         md5.h.
18821
18822         * lib/md5.c: Use uin32_t.  Fix non-gcc UNALIGNED_P macro.
18823
18824         * lib/md5.h: Use stdint.h and uint32_t.  Doc fix.
18825
18826 2005-10-17  Simon Josefsson  <jas@extundo.com>
18827
18828         * lib/gc.h, gc-libgcrypt.c: Add more hash types/functions.
18829
18830 2005-10-17  Simon Josefsson  <jas@extundo.com>
18831
18832         * lib/gc.h, gc-libgcrypt.c: Add ciphers.
18833
18834 2005-10-17  Simon Josefsson  <jas@extundo.com>
18835
18836         * lib/gc-libgcrypt.c (gc_hmac_sha1): Fix assert.
18837
18838         * lib/gc.h (gc_nonce, gc_pseudo_random, gc_random): Add prototypes.
18839
18840 2005-10-17  Bruno Haible  <bruno@clisp.org>
18841
18842         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Change the return statement so
18843         that it can also be used in a test.
18844
18845 2005-10-16  Bruno Haible  <bruno@clisp.org>
18846
18847         * gnulib-tool (func_emit_tests_Makefile_am): Also define
18848         TESTS_ENVIRONMENT, so that individual tests can augment it.
18849
18850         * gnulib-tool (func_create_testdir): Use an intermediate target for
18851         building $(BUILT_SOURCES). Needed because BUILT_SOURCES can contain
18852         macros, like $(ALLOCA_H), which cannot be passed through the command
18853         line.
18854
18855 2005-10-15  Simon Josefsson  <jas@extundo.com>
18856
18857         * modules/rijndael-tests: New file.
18858
18859         * modules/rijndael: New file.
18860
18861 2005-10-15  Simon Josefsson  <jas@extundo.com>
18862
18863         * m4/rijndael.m4: New file.
18864
18865 2005-10-15  Simon Josefsson  <jas@extundo.com>
18866
18867         * lib/rijndael-api-fst.h, lib/rijndael-api-fst.c: New files.
18868
18869         * lib/rijndael-alg-fst.h, lib/rijndael-alg-fst.c: New files.
18870
18871 2005-10-14  Simon Josefsson  <jas@extundo.com>
18872
18873         * tests/test-arcfour.c: New file.
18874
18875         * modules/arcfour, modules/arcfour-tests: New files.
18876
18877 2005-10-14  Simon Josefsson  <jas@extundo.com>
18878
18879         * m4/arcfour.m4: New file.
18880
18881 2005-10-14  Simon Josefsson  <jas@extundo.com>
18882
18883         * lib/arcfour.h, lib/arcfour.c: New files.
18884
18885 2005-10-14  Roland McGrath  <roland@redhat.com>
18886
18887         Import from libc.  [BZ #1331]
18888         * lib/obstack.h [!__STDC__] (obstack_int_grow_fast): Fix misnamed
18889         macro argument.
18890         Reported by Matej Vela <vela@debian.org>.
18891
18892 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
18893
18894         * lib/obstack.c [defined _LIBC && defined USE_IN_LIBIO]: Don't
18895         include <wchar.h>; no longer needed.
18896
18897 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
18898
18899         * config/srclist.txt: Add glibc bug 321 for obstack.c, obstack.h.
18900
18901 2005-10-14  Jakub Jelinek  <jakub@redhat.com>
18902         and  Ulrich Drepper  <drepper@redhat.com>
18903
18904         Import from libc.
18905         * lib/obstack.c (print_and_abort) [defined _LIBC]: Use __fxprintf
18906         instead of inline stream orientation test and two separate
18907         function calls.  Pay no attention to USE_IN_LIBIO.
18908
18909 2005-10-13  Simon Josefsson  <jas@extundo.com>
18910
18911         * modules/gc-hmac-md5-tests: New file.
18912
18913         * tests/test-gc-hmac-sha1.c: New file.
18914
18915         * tests/test-gc.c (main): Remove MD5 and HMAC-MD5 tests.
18916
18917         * modules/gc-hmac-md5-tests: New file.
18918
18919         * tests/test-gc-md5.c: New file.
18920
18921         * modules/gc-md5-tests: New file.
18922
18923 2005-10-13  Simon Josefsson  <jas@extundo.com>
18924
18925         * lib/gc-pbkdf2-sha1.c (gc_pbkdf2_sha1): Optimize CEIL computation.
18926         Move memory allocation outside of loop.
18927
18928 2005-10-13  Paul Eggert  <eggert@cs.ucla.edu>
18929
18930         * lib/mkdir-p.c (make_dir_parents): Don't report an error if an
18931         intermediate directory is in a read-only file system.  Problem
18932         reported by Eric Blake.
18933
18934 2005-10-13  Oskar Liljeblad  <oskar@osk.mine.nu>
18935
18936         * modules/human (Depends-on): Depend on xstrtoumax, not xstrtol.
18937
18938 2005-10-12  Simon Josefsson  <jas@extundo.com>
18939
18940         * tests/test-hmac-sha1.c: New file.
18941
18942         * modules/hmac-sha1-tests: New file.
18943
18944         * modules/hmac-sha1: New file.
18945
18946 2005-10-12  Simon Josefsson  <jas@extundo.com>
18947
18948         * modules/gc-sha1: New file.
18949
18950 2005-10-12  Simon Josefsson  <jas@extundo.com>
18951
18952         * modules/gc-pbkdf2-sha1, modules/gc-pbkdf2-sha1-tests: New files.
18953
18954         * tests/test-gc-pbkdf2-sha1.c: New file.
18955
18956 2005-10-12  Simon Josefsson  <jas@extundo.com>
18957
18958         * modules/gc-md5, modules/gc-hmac-md5: New files.
18959
18960         * modules/gc (Files): Remove md5, memxor and hmac files.
18961
18962 2005-10-12  Simon Josefsson  <jas@extundo.com>
18963
18964         * m4/gc-pbkdf2-sha1.m4: New file.
18965
18966         * m4/gc-hmac-sha1.m4: New file.
18967
18968         * m4/gc-sha1: New file.
18969
18970         * m4/hmac-sha1.m4: New file.
18971
18972 2005-10-12  Simon Josefsson  <jas@extundo.com>
18973
18974         * m4/gc-md5.m4, m4/gc-hmac-md5.m4: New files.
18975
18976         * m4/gc.m4: Don't call gl_MD5, gl_MEMXOR or gl_HMAC_MD5.
18977
18978 2005-10-12  Simon Josefsson  <jas@extundo.com>
18979
18980         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Use Gc_rc for return types,
18981         suggested by Bruno Haible <bruno@clisp.org>.
18982
18983 2005-10-12  Simon Josefsson  <jas@extundo.com>
18984
18985         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support SHA-1.
18986
18987 2005-10-12  Simon Josefsson  <jas@extundo.com>
18988
18989         * lib/gc-pbkdf2-sha1.c: New file.
18990
18991         * lib/gc.h: Add gc_pbkdf2_sha1 prototype.
18992
18993 2005-10-12  Simon Josefsson  <jas@extundo.com>
18994
18995         * lib/gc-libgcrypt.c (gc_hmac_sha1): New function.
18996
18997         * lib/gc-gnulib.c (gc_hmac_sha1): New function.
18998
18999 2005-10-12  Simon Josefsson  <jas@extundo.com>
19000
19001         * lib/gc-gnulib.c: Condition MD5 and HMAC-MD5 use on GC_USE_MD5 and
19002         GC_USE_HMAC_MD5, respectively.
19003
19004         * lib/gc-libgcrypt.c (gc_md5): Fix assert call.
19005         (gc_md5): Fix typo.
19006
19007         * lib/gc.h (gc_hash_buffer): Use gc_hash in prototype.
19008
19009         * lib/gc-libgcrypt.c (gc_hash_buffer): Ditto.
19010
19011         * lib/gc-gnulib.c (gc_hash_buffer): Ditto.
19012
19013 2005-10-12  Bruno Haible  <bruno@clisp.org>
19014
19015         * m4/stdbool.m4 (gl_STDBOOL_H): Define as an alias of AM_STDBOOL_H.
19016         Reported by Stepan Kasal <kasal@ucw.cz>.
19017
19018 2005-10-11  Simon Josefsson  <jas@extundo.com>
19019
19020         * tests/test-crc.c: New file.
19021
19022         * modules/crc, modules/crc-tests: New files.
19023
19024 2005-10-11  Simon Josefsson  <jas@extundo.com>
19025
19026         * m4/crc.m4: New file.
19027
19028 2005-10-11  Simon Josefsson  <jas@extundo.com>
19029
19030         * lib/gc.h: Add gc_hash and gc_hash_buffer.
19031
19032         * lib/gc-gnulib.c (gc_hash_buffer): Add.  Reorder #include's.
19033
19034         * lib/gc-libgcrypt.c (gc_hash_buffer): Add.
19035
19036 2005-10-11  Simon Josefsson  <jas@extundo.com>
19037
19038         * lib/crc.h, lib/crc.c: New files.
19039
19040         * lib/gc.h (gc_hash_buffer): Add doc.
19041
19042 2005-10-11  Bruno Haible  <bruno@clisp.org>
19043
19044         * modules/c-strcasestr: New file.
19045         * MODULES.html.sh (String handling <string.h>): Add c-strcasestr.
19046
19047 2005-10-11  Bruno Haible  <bruno@clisp.org>
19048
19049         * modules/c-strcase: New file.
19050         * MODULES.html.sh (String handling <string.h>): Add c-strcase.
19051
19052 2005-10-11  Bruno Haible  <bruno@clisp.org>
19053
19054         * lib/strcasecmp.c: Include limits.h.
19055         (strcasecmp): Avoid integer overflow on exotic platforms.
19056         * lib/strncasecmp.c: Include limits.h.
19057         (strncasecmp): Avoid integer overflow on exotic platforms.
19058         Reported by Paul Eggert.
19059
19060 2005-10-11  Bruno Haible  <bruno@clisp.org>
19061
19062         * lib/c-strcasestr.h: New file, from GNU gettext.
19063         * lib/c-strcasestr.c: New file, from GNU gettext.
19064
19065 2005-10-11  Bruno Haible  <bruno@clisp.org>
19066
19067         * lib/c-strcase.h: New file, from GNU gettext.
19068         * lib/c-strcasecmp.c: New file, from GNU gettext.
19069         * lib/c-strncasecmp.c: New file, from GNU gettext.
19070
19071 2005-10-10  Paul Eggert  <eggert@cs.ucla.edu>
19072
19073         * modules/mempcpy (License): GPL -> LGPL.
19074         * modules/strchrnul (License): Likewise.
19075         * modules/sysexits (License): Likewise.
19076
19077 2005-10-08  Simon Josefsson  <jas@extundo.com>
19078
19079         * config/srclist.txt: Bug 1423 is closed, but 1439 remains.
19080
19081 2005-10-07  Simon Josefsson  <jas@extundo.com>
19082
19083         * m4/memxor.m4: Remove gl_C_RESTRICT call.
19084
19085 2005-10-06  Simon Josefsson  <jas@extundo.com>
19086
19087         * tests/test-hmac-md5.c: New file.
19088
19089         * modules/hmac-md5-tests: New file.
19090
19091         * modules/hmac-md5: New file.
19092
19093 2005-10-06  Simon Josefsson  <jas@extundo.com>
19094
19095         * m4/hmac-md5.m4: New file.
19096
19097         * m4/memxor.m4: Require gl_C_RESTRICT.
19098
19099 2005-10-06  Simon Josefsson  <jas@extundo.com>
19100
19101         * lib/memxor.c (memxor): Avoid casts and warnings.
19102
19103 2005-10-06  Simon Josefsson  <jas@extundo.com>
19104
19105         * lib/hmac-md5.c: New file.
19106
19107         * lib/hmac.h: New file.
19108
19109 2005-10-06  Paul Eggert  <eggert@cs.ucla.edu>
19110
19111         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check that bool
19112         promotes to int, not unsigned int, to catch the AIX 5.3
19113         compiler bug.
19114
19115 2005-10-05  Simon Josefsson  <jas@extundo.com>
19116
19117         * modules/memxor: New file.
19118
19119         * modules/iconv (Files): Move config.rpath to havelib, it is used
19120         there.
19121
19122         * modules/havelib (Files): Add config.rpath.
19123
19124 2005-10-05  Simon Josefsson  <jas@extundo.com>
19125
19126         * m4/memxor.m4: New file.
19127
19128 2005-10-05  Simon Josefsson  <jas@extundo.com>
19129
19130         * lib/memxor.c (memxor): Fix compiler error.
19131
19132         * lib/md5.h (MD5_DIGEST_SIZE, MD5_BLOCK_SIZE): Add, see also
19133         <http://sourceware.org/bugzilla/show_bug.cgi?id=1423>.
19134
19135         * lib/memxor.h, lib/memxor.c: New files.
19136
19137         * lib/getaddrinfo.h: Don't protect sys/types.h with HAVE_SYS_TYPES_H,
19138         we assume all systems have it, suggested by Jim Meyering
19139         <jim@meyering.net>.  Remove HAVE_SYS_SOCKET_H test too, to see if
19140         any systems lack sys/socket.h; mingw32 is known to lack it, but we
19141         don't support it yet anyway.  Also remove HAVE_NETDB_H test, for
19142         same reasons.
19143
19144 2005-10-05  Simon Josefsson  <jas@extundo.com>
19145
19146         * config/srclist.txt: Add glibc bug 1423 for md5.h.
19147
19148 2005-10-05  Paul Eggert  <eggert@cs.ucla.edu>
19149
19150         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Don't check for
19151         sys/socket.h, netdb.h, sys/types.h; the checks areno longer
19152         needed, since the source code now assumes these .h files.
19153
19154 2005-10-05  Derek Price  <derek@ximbiot.com>
19155
19156         * lib/getdelim.c (SIZE_MAX): New macro, if not already defined.
19157
19158 2005-10-05  Bruno Haible  <bruno@clisp.org>
19159
19160         * modules/stdint (License): Change to LGPL.
19161
19162 2005-10-04  Simon Josefsson  <jas@extundo.com>
19163
19164         * lib/getaddrinfo.h: Move sys/types.h include first, reported by "Mark
19165         D. Baushke" <mdb@gnu.org>.
19166
19167 2005-10-04  Bruno Haible  <bruno@clisp.org>
19168
19169         * lib/verify.h (verify_true): Provide alternative definition for C++.
19170
19171 2005-10-03  Paul Eggert  <eggert@cs.ucla.edu>
19172
19173         * lib/getdelim.c: Include getdelim.h first.  Include <limits.h>.
19174         (SSIZE_MAX): New macro, if not already defined.
19175         (getdelim): Fix buffer overrun on 64-bit hosts with lines longer
19176         than 2 GiB.
19177
19178 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
19179
19180         Sync from coreutils.
19181         * m4/openat.m4 (gl_FUNC_OPENAT): Check for fdopendir.
19182         * m4/ullong_max.m4 (gl_ULLONG_MAX): Simplify so that it merely
19183         defines ULONG_MAX_LT_ULLONG_MAX.  Thomas M.Ott reports that
19184         ULLONG_MAX doesn't work with 2.7.2.1.
19185
19186 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
19187
19188         * modules/xreadlink (Makefile.am): Remove lib_SOURCES.
19189         From Ben Pfaff.
19190
19191         * modules/exclude (Depends-on): Depend on verify.
19192         * modules/strtoimax (Depends-on): Likewise.
19193         * modules/utimecmp (Depends-on): Likewise.
19194
19195 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
19196
19197         * lib/exclude.c: Include verify.h.
19198         (verify): Remove.  All callers changed to use verify.h's version.
19199         * lib/strtoimax.c: Likewise.
19200         * lib/utimecmp.c: Likewis.e
19201
19202         Sync from coreutils.
19203         * lib/.cppi-disable: Add getaddrinfo.h, getdelim.h, getline.h,
19204         getpass.c, mbchar.h, mbuiter.h, strcase.h, strnlen.h, strnlen1.h.
19205         * lib/.cvsignore: Add fts.h, search.h, t-fpending.
19206         * lib/settime.c (settime): Fix { typo in previous patch.  Also, don't
19207         bother returning ENOSYS if settimeofday or stime fails; just let
19208         them return whatever errno they want to return.
19209         * lib/utimens.c: Include unistd.h, for dup2.
19210         (futimens): Fix typo: HAVE_FUTIMESAT was misspelled in an #if.
19211         (futimens) [! HAVE_FUTIMESAT]: If !file, set errno before returning -1.
19212
19213 2005-10-02  Jim Meyering  <jim@meyering.net>
19214
19215         Sync from coreutils.
19216         * m4/utimes.m4 (gl_FUNC_UTIMES): Detect the version of utimes
19217         from glibc-2.2.5 that fails for read-only files.
19218
19219 2005-10-02  Jim Meyering  <jim@meyering.net>
19220
19221         Sync from coreutils.
19222         * lib/fts-cycle.c [HAVE_CONFIG_H]: Include <config.h>.
19223         * lib/openat-die.c: Use `#ifdef HAVE_CONFIG_H', not
19224         `#if HAVE_CONFIG_H'.
19225         * lib/openat.c (fdopendir): Do not define if HAVE_FDOPENDIR.
19226         Remove AT_FDCWD test.
19227         Do not consume the fd unless successful.
19228         * lib/openat.h (fdopendir): Do not define if HAVE_FDOPENDIR.
19229         * lib/settime.c (settime): Move the HAVE_STIME block `up' into an #elif
19230         block, so that we don't even try to compile it if settimeofday is
19231         available.  This works around a compilation failure on OSF1 V5.1,
19232         due to stime requiring a `long int*' while tv_sec is `int'.
19233
19234 2005-10-02  Alfred M. Szmidt  <ams@gnu.org>
19235
19236         Sync from coreutils.
19237         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Compare $gl_have_path...
19238         against `yes', rather than just testing for nonempty.
19239
19240 2005-10-01  Simon Josefsson  <jas@extundo.com>
19241
19242         * m4/getaddrinfo.m4: Include sys/types.h for sys/socket.h, on FreeBSD
19243         and Darwin.
19244
19245         * m4/getaddrinfo.m4: Use AC_GNU_SOURCE, GNU only declare getaddrinfo
19246         as an (POSIX) extension.  Check for sys/types.h, sys/socket.h, and
19247         netdb.h too, needed by getaddrinfo.h.  Check if getaddrinfo,
19248         freeaddrinfo and gai_strerror are declared by the POSIX headers.
19249         Check if struct addrinfo is declared.
19250
19251 2005-10-01  Simon Josefsson  <jas@extundo.com>
19252
19253         * lib/getaddrinfo.h: Protect #include's of sys/socket.h and netdb.h.
19254         Only define struct addrinfo if !HAVE_STRUCT_ADDRINFO.  Protect
19255         AI_* and EAI_* definitions.  Protect function declarations.
19256
19257 2005-10-01  Jim Meyering  <jim@meyering.net>
19258
19259         Sync from coreutils.
19260
19261         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Look for getservbyname in these
19262         libraries [inet nsl socket xnet].  Nelson Beebe reported that with
19263         native cc on Solaris 7, getaddrinfo.c requires -lsocket.
19264         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
19265         in the inet and nsl libraries.  Required on Solaris 5.7.
19266
19267 2005-10-01  Jim Meyering  <jim@meyering.net>
19268
19269         Sync from coreutils.
19270         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
19271         in the inet and nsl libraries.  Required on Solaris 5.7.
19272
19273 2005-10-01  Eric Blake  <ebb9@byu.net>  (tiny change)
19274
19275         * lib/getdelim.c (getdelim): Remove unused variables.
19276
19277 2005-09-29  Paul Eggert  <eggert@cs.ucla.edu>
19278
19279         * lib/xtime.h (XTIME_PRECISION): Now of type int, not long long int,
19280         so that the code works even with ancient cpp.  Portability problem
19281         with GCC 2.7.2.1 reported by Thomas M.Ott.
19282
19283 2005-09-27  Paul Eggert  <eggert@cs.ucla.edu>
19284
19285         * modules/regex (Depends-on): Add strcase.
19286
19287         * modules/gethostname (Licence): Change from GPL to LGPL, since
19288         gethostname.c is a trivial implementation of a standard library
19289         function.
19290         * modules/poll (License): Change from GPL to LGPL, since it's
19291         derived from LGPL code.
19292
19293 2005-09-27  Jim Meyering  <jim@meyering.net>
19294
19295         * lib/getcwd.c: Change #ifdef<TAB>HAVE_CONFIG_H to #ifdef
19296         HAVE_CONFIG_H.
19297
19298         * lib/intprops.h (signed_type_or_expr__): Define.
19299         (INT_STRLEN_BOUND) [__GNUC__]: Use a slightly tighter bound
19300         for unsigned types.
19301
19302 2005-09-26  Paul Eggert  <eggert@cs.ucla.edu>
19303
19304         * lib/verify.h (verify_expr): Remove, replacing with:
19305         (verify_true): New macro that returns true instead of void.
19306         (verify_type__): Remove.
19307         (verify): Use verify_true rather than verify_type__.
19308
19309 2005-09-26  Bruno Haible  <bruno@clisp.org>
19310
19311         * modules/mbchar (Include): Mention that HAVE_WCHAR_H && HAVE_WCTYPE_H
19312         is necessary.
19313         (lib_SOURCES): Remove mbchar.c.
19314         * modules/mbfile (Include): Mention that HAVE_MBRTOWC is necessary.
19315         (Files): Add m4/mbrtowc.m4.
19316         * modules/mbiter: Likewise.
19317         * modules/mbuiter: Likewise.
19318
19319 2005-09-26  Bruno Haible  <bruno@clisp.org>
19320
19321         * m4/mbchar.m4 (gl_MBCHAR): Check for wchar.h and wctype.h. Don't
19322         compile mbchar.c if they are not both present.
19323         * m4/mbfile.m4 (gl_MBFILE): Require gl_FUNC_MBRTOWC.
19324         * m4/mbiter.m4 (gl_MBITER): Likewise.
19325         * m4/strstr.m4 (gl_PREREQ_STRSTR): Use AC_REQUIRE.
19326         * m4/strcasestr.m4 (gl_PREREQ_STRCASESTR): Likewise.
19327         * m4/strcase.m4 (gl_PREREQ_STRCASECMP): Likewise.
19328
19329 2005-09-25  Jim Meyering  <jim@meyering.net>
19330
19331         * modules/inet_ntop (Depends-on): Add socklen, since inet_ntop.c
19332         also uses socklen_t.
19333
19334 2005-09-24  Paul Eggert  <eggert@cs.ucla.edu>
19335
19336         * lib/utimens.c (ENOSYS): Define if not already defined.
19337         (futimens): Support having a null PATH if the file descriptor
19338         is nonnegative.
19339
19340         * lib/regex_internal.h (__GNUC_PREREQ, always_inline, inline, pure):
19341         Remove.
19342         (__attribute): Define to empty unless GCC 3.1 or later.
19343         This works around a core dump on OpenBSD 3.4, which has GCC
19344         2.95.3, which dumps core when given __attribute__(()).  It also
19345         simplifies other tests, since we really don't want to bother with
19346         worrying about which ancient version of GCC supported what.
19347         Original problem reported by Yoann Vandoorselaere, with part of
19348         the fix suggested by Derek Price.
19349
19350 2005-09-24  Jim Meyering  <jim@meyering.net>
19351
19352         * lib/verify.h (verify_type__): Use `unsigned int' as the bitfield type
19353         so we can once again use a positive bitfield width of 1 -- now we
19354         don't have to explain why we were using a bitfield width of 2.
19355
19356 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
19357
19358         * m4/regex.m4 (gl_REGEX): If replacing, define regcomp to rpl_regcomp,
19359         and similarly for the other external symbols.  Problem reported
19360         by James Gallager.
19361
19362         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Catch Sun Studio 10u1 on Linux
19363         bug reported by Jim Meyering.
19364
19365         * m4/utimens.m4 (gl_UTIMENS): Check for futimesat.
19366         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Undo previous change;
19367         not needed, since socklen is a prerequisite module.
19368
19369 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
19370
19371         * lib/getaddrinfo.c [HAVE_NETINET_IN_H]: Include <netinet/in.h>.
19372         Problem reported by Eric Blake.
19373         (getaddrinfo): Initialize se so that it's not garbage.
19374         Redo internal storage allocation so that it doesn't make unportable
19375         assumptions about alignment.
19376         Fix a memory leak.
19377
19378         * lib/utimens.c (futimens): Use futimesat if available.
19379         Prefer it to futimes since it doesn't have the futimes bug.
19380
19381         * lib/verify.h (GL_CONCAT0, GL_CONCAT): Remove.
19382         (verify): Don't use the __LINE__ trick, as it doesn't work in general.
19383         Instead, declare a function that returns a pointer to an array,
19384         and use verify_type__ to declare the size of the array.
19385         Problem and germ of a solution reported by Bruno Haible.
19386         (verify_type__): Use 2, not 1, for bitfield size, to avoid
19387         a warning with Irix 6.5 cc.  Problem reported by Bruno Haible.
19388
19389 2005-09-23  Jim Meyering  <jim@meyering.net>
19390
19391         Sync from coreutils.
19392         Correct build failure (socklen_t not defined) on at least
19393         mips-sgi-irix6.5 and alphaev67-dec-osf5.1.
19394         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Require gl_SOCKLEN_T.
19395
19396 2005-09-23  Jim Meyering  <jim@meyering.net>
19397
19398         * modules/getaddrinfo (Depends-on): Add socklen.
19399
19400 2005-09-23  Bruno Haible  <bruno@clisp.org>
19401
19402         * tests/test-verify.c: New file.
19403
19404 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
19405
19406         Sync from coreutils.
19407
19408         * modules/argmatch (Depends-on): Add verify.
19409         * modules/getloadavg (Depends-on): Depend on fcntl-safer, not
19410         unistd-safer.
19411         * modules/save-cwd (Depends-on): Likewise.
19412
19413         * modules/openat (Files): Add lib/openat-die.c.
19414         (Depends-on): Remove error, exitfail.
19415         Add dirname.
19416
19417         * modules/verify: New file.
19418         * MODULES.html.sh (Diagnostics <assert.h>): New section,
19419         with "verify" module.
19420
19421 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
19422
19423         Sync from coreutils.
19424
19425         * m4/backupfile.m4, calloc.m4, chown.m4, cloexec.m4, dup2.m4:
19426         * m4/fileblocks.m4, free.m4, ftruncate.m4, getcwd.m4, getpagesize.m4:
19427         * m4/getugroups.m4, group-member.m4, idcache.m4, link-follow.m4:
19428         * m4/mkstemp.m4, mktime.m4, mountlist.m4, nanosleep.m4, pathmax.m4:
19429         * m4/physmem.m4, posixver.m4, putenv.m4, safe-read.m4, same.m4:
19430         * m4/save-cwd.m4, stdio-safer.m4, unistd-safer.m4, unlinkdir.m4:
19431         * m4/userspec.m4, xgetcwd.m4, xreadlink.m4:
19432         Don't bother checking for string.h, stdlib.h, unistd.h.
19433         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't require
19434         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK; that's now the lstat
19435         module's job.
19436         * m4/jm-macros.m4 (gl_MACROS): Likewise.
19437         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_LSTAT.
19438
19439         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): New macro.
19440         (gl_GETDATE): Use it.
19441
19442         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Don't bother checking for unistd.h.
19443
19444 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
19445
19446         Sync from coreutils.
19447
19448         * lib/.cppi-disable: Add regcomp.c, regex_internal.c, regex_internal.h,
19449         stat-time.h.
19450         * lib/argmatch.h: Include verify.h
19451         (ARGMATCH_VERIFY): Use verify rather than rolling our own.
19452         (ARGMATCH_ASSERT): Remove; unused.
19453         * lib/canonicalize.c: Assume STDC_HEADERS.
19454         * lib/exclude.c: Include "strcase.h".
19455         * lib/regex_internal.h [!defined _LIBC]: Likewise.
19456         * lib/getusershell.c: Include stdio--.h rather than stdio.h
19457         and stdio-safer.h.
19458         (getusershell): Call fopen, not fopen_safer.
19459         * lib/save-cwd.c: Include fcntl--.h rather than fcntl.h.
19460         Do not include unistd-safer.h.
19461         (save_cwd): Don't call fd_safer; no longer needed
19462         now that we include fcntl--.h.
19463
19464         * lib/getdate.y (relative_time): New type.
19465         (RELATIVE_TIME_0): New constant.
19466         (parser_control): Use relative_time instead of doing it ourselves.
19467         (%union): Add new relative_time rel member.
19468         (tYEAR_UNIT, tMONTH_UNIT, tHOUR_UNIT, tMINUTE_UNIT, tSEC_UNIT):
19469         Now typeless.
19470         (relunit, relunit_snumber): Now of type rel.
19471         (zone, rel, relunit, get_date): Adjust to above changes.
19472
19473         * lib/getloadavg.c: Include fcntl--.h rather than fcntl.h.
19474         Do not include unistd-safer.h.
19475         (getloadavg): Don't call fd_safer; no longer needed
19476         now that we include fcntl--.h.
19477
19478         * lib/mkdir-p.c (ENOSYS): Define to EEXIST if not defined.
19479         (make_dir_parents): Treat ENOSYS like EEXIST.
19480
19481         Improve quality of diagnostics on restore_cwd failure.
19482         * lib/mkdir-p.h (make_dir): Remove.  All uses replaced by mkdir.
19483         (make_dir_parents): Last arg is now int * (for errno), not bool *.
19484         * lib/mkdir-p.c (make_dir, make_dir_parents): Likewise.
19485         Rewrite "mkdir -p" algorithm to avoid the need for "stat"
19486         each time through the loop.  Do not diagnose restore_cwd failure;
19487         that is the caller's job (and perhaps the caller does not care).
19488
19489         * lib/mkdir-p.c (CLEANUP_CWD, CLEANUP): Remove.
19490         (make_dir_parents): Revamp to avoid need for CLEANUP_CWD, CLEANUP.
19491         If the file already exists but is not a directory, don't bother
19492         to try to make its parents.
19493         Close potential file descriptor leak if we can't chdir("/") (!).
19494         Don't always return true if chdir($PWD) fails; return true only
19495         if the requested action was done successfully (except for the
19496         chdir($PWD)).
19497         Don't log final directory unless we actually made it.
19498         Refactor to avoid duplicate code to fix up permissions.
19499         Don't attempt to fix up parent permissions if chdir($PWD) fails.
19500
19501         * lib/strftime.c (my_strftime): Rewrite the previous change slightly,
19502         to make it a bit faster and (I hope) clearer.
19503         * lib/strftime.c (my_strftime): Add support for %:z, %::z, %:::z.
19504         Fix bug in formats like %2N.
19505
19506         * lib/verify.h: New file.
19507
19508 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
19509
19510         Sync from coreutils.
19511         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Check for netinet/in.h.
19512
19513 2005-09-22  Jim Meyering  <jim@meyering.net>
19514
19515         Sync from coreutils.
19516
19517         * m4/lstat.m4 (gl_FUNC_LSTAT):
19518         Use AC_LIBSOURCES to require lstat.c and lstat.h.
19519         Remove obsolete comment.
19520         * m4/xreadlink.m4: Use AC_LIBSOURCES and AC_LIBOBJ.
19521         * m4/xstrtod.m4: Likewise.
19522
19523         * m4/openat.m4 (gl_FUNC_OPENAT): Add openat-die.c.
19524
19525 2005-09-22  Jim Meyering  <jim@meyering.net>
19526
19527         Sync from coreutils.
19528
19529         * lib/backupfile.c: Use ARGMATCH_VERIFY, just in case.
19530
19531         * lib/posixtm.c (posixtime) [lint]: Initialize *all* of tm0, not just
19532         the .tm_year member, since otherwise gcc-4.0 would now warn about
19533         tm_zone, tm_gmtoff, tm_isdst, tm_yday, tm_wday.
19534
19535         * lib/quotearg.c (quotearg_n_options): Change code to be suboptimal, in
19536         order to avoid an unsuppressible warning from gcc on 64-bit systems.
19537
19538         * lib/getdate.y (get_date): Undo part of the 2005-04-04 change, so that
19539         the command "date -d'2005-03-27 +1 day'" succeeds once again, even
19540         when run in a time zone for which daylight savings time is in effect
19541         for the starting date.
19542
19543         * lib/mkdir-p.c (make_dir_parents): Don't let a failed chdir($PWD)
19544         stop us from restricting permissions of just-created absolute-named
19545         directories.
19546         * lib/mkdir-p.c (CLEANUP_CWD): Return *true*, not false when failing
19547         to restore initial working directory.
19548         * lib/mkdir-p.c (make_dir_parents): New parameter:
19549         different_working_dir, to tell caller if/when we change the working
19550         directory and are unable to return to the initial one.
19551         * lib/mkdir-p.h (make_dir_parents): Update prototype.
19552         * lib/mkdir-p.c (CLEANUP_CWD): Change one more `return 1' to
19553         `return false'.  This fixes a bug introduced on 2004-07-30.
19554
19555         * lib/openat.c (fdopendir): Be sure to close the supplied
19556         file descriptor before returning.  This makes our replacement
19557         implementation a little closer to Solaris's, where fdopendir
19558         ties the file descriptor to the returned DIR* pointer.
19559         * lib/openat.c (unlinkat): New function.
19560         * lib/openat.h (unlinkat): Add prototype.
19561         * lib/openat-die.c (openat_save_fail): Rename from openat_save_die.
19562         (openat_restore_fail): Rename from openat_restore_die.
19563         * lib/openat.c, openat.h: Reflect s/_die/_fail/ renaming.
19564
19565         Provide an alternative to exiting immediately upon save_cwd or
19566         restore_cwd failure.  Now, an application can arrange e.g.,
19567         to perform a longjump in that case.
19568         * lib/openat.c: Include dirname.h.
19569         Use IS_ABSOLUTE_FILE_NAME rather than testing for leading slash.
19570         (rpl_openat, fdopendir, fstatat): Call openat_save_die
19571         and openat_restore_die rather than calling error directly.
19572         Don't include "error.h" or "exitfail.h"; they're no longer needed.
19573
19574         * lib/openat-die.c (openat_save_die, openat_restore_die): New file.
19575         * lib/openat.h (openat_save_die, openat_restore_die): Declare and
19576         define.
19577
19578         * lib/strftime.c [FPRINTFTIME] (fprintftime): Provide a new interface:
19579         size_t fprintftime (FILE *fp, char const *fmt, struct tm const *tm,
19580                             int utc, int nanoseconds);
19581         Background:
19582         date should not have to allocate a megabyte of virtual memory to
19583         handle a format argument like +%1048575T.  When implemented with
19584         strftime, it must allocate such a buffer, use strftime to fill it
19585         in, print it, then free it.
19586         With fprintftime, it simply prints everything and exits.
19587         With no need for memory allocation, that's one fewer way to fail.
19588         * lib/strftime.c (my_strftime): Parse the colons of %:::z *after* the
19589         optional field width, not before, so we accept %9:z, not %:9z.
19590         (my_strftime): Be sure to use L_('x') for literals.
19591
19592         * lib/backupfile.c, lib/canon-host.c, lib/canonicalize.c, lib/chown.c:
19593         * lib/cloexec.c, lib/dup-safer.c, lib/dup2.c, lib/euidaccess.c:
19594         * lib/fd-safer.c, lib/fileblocks.c, lib/fopen-safer.c, lib/fsusage.c:
19595         * lib/ftruncate.c, lib/getcwd.c, lib/getcwd.h, lib/getloadavg.c:
19596         * lib/getopt_.h, lib/getpagesize.h, lib/getugroups.c:
19597         * lib/group-member.c, lib/human.h, lib/idcache.c, lib/mkdir-p.c:
19598         * lib/mountlist.c, lib/nanosleep.c, lib/pathmax.h, lib/physmem.c:
19599         * lib/posixver.c, lib/putenv.c, lib/raise.c, lib/safe-read.c:
19600         * lib/same.c, lib/save-cwd.c, lib/setenv.c, lib/settime.c:
19601         * lib/tempname.c, lib/unlinkdir.c, lib/unsetenv.c, lib/userspec.c:
19602         * lib/xgethostname.c, lib/xreadlink.c:
19603         Assume HAVE_UNISTD_H, i.e., include <unistd.h> unconditionally.
19604
19605         * lib/chown.c, lib/cloexec.c, lib/dup-safer.c, lib/dup2.c:
19606         * lib/fsusage.c, lib/getcwd.c, lib/getloadavg.c, lib/mountlist.c:
19607         * lib/openat.h, lib/save-cwd.c, lib/tempname.c:
19608         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
19609         and don't include <sys/file.h>).
19610
19611 2005-09-22  Eric Blake  <ebb9@byu.net>  (tiny change)
19612
19613         Sync from coreutils.
19614
19615         * lib/getloadavg.c (getloadavg) [__CYGWIN__]: Port to cygwin.
19616         [__linux__]: Allocate a big enough buffer for /proc/loadavg.
19617         [!LDAV_DONE]: Avoid unused variable warning.
19618
19619 2005-09-21  Bruno Haible  <bruno@clisp.org>
19620
19621         * lib/unicodeio.h (unicode_to_mb): New declaration.
19622
19623 2005-09-20  Derek Price  <derek@ximbiot.com>
19624
19625         * lib/getaddrinfo.c: Don't include <netdb.h> included from
19626         getaddrinfo.h.
19627
19628 2005-09-20  Bruno Haible  <bruno@clisp.org>
19629
19630         * gnulib-tool: Remove trailing slashes from the values specified for
19631         --source-base, --m4-base, --tests-base, --aux-dir.
19632         Suggested by Simon Josefsson <jas@extundo.com>.
19633
19634 2005-09-20  Bruno Haible  <bruno@clisp.org>
19635
19636         * gnulib-tool (func_all_modules, func_modules_transitive_closure,
19637         func_modules_to_filelist, func_import, func_create_testdir): Make all
19638         sorting results locale-independent, so that gnulib-cache.m4 doesn't
19639         change when gnulib-tool is invoked in a different locale.
19640
19641 2005-09-19  Simon Josefsson  <jas@extundo.com>
19642
19643         * m4/socklen.m4: Fix typo.
19644
19645 2005-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
19646
19647         Use a consistent style for including <config.h>.
19648         * lib/__fpending.c, lib/acl.c, lib/argmatch.c, lib/argp-help.c,
19649         lib/argp-parse.c, lib/argp-pvh.c, lib/backupfile.c, lib/basename.c,
19650         lib/c-stack.c, lib/calloc.c, lib/check-version.c, lib/cloexec.c,
19651         lib/closeout.c, lib/copy-file.c, lib/creat-safer.c, lib/cycle-check.c,
19652         lib/dirfd.c, lib/dirname.c, lib/dup-safer.c, lib/dup2.c,
19653         lib/euidaccess.c, lib/exclude.c, lib/exitfail.c, lib/fatal-signal.c,
19654         lib/fd-safer.c, lib/file-type.c, lib/fileblocks.c, lib/filemode.c,
19655         lib/filenamecat.c, lib/findprog.c, lib/fnmatch.c, lib/fopen-safer.c,
19656         lib/free.c, lib/fsusage.c, lib/ftruncate.c, lib/full-write.c,
19657         lib/fwriteerror.c, lib/getaddrinfo.c, lib/getcwd.c, lib/getdelim.c,
19658         lib/getline.c, lib/getlogin_r.c, lib/getndelim2.c, lib/getnline.c,
19659         lib/getopt1.c, lib/getpass.c, lib/group-member.c, lib/hard-locale.c,
19660         lib/hash-pjw.c, lib/hash.c, lib/human.c, lib/idcache.c,
19661         lib/inet_ntop.c, lib/isdir.c, lib/long-options.c, lib/malloc.c,
19662         lib/memcasecmp.c, lib/memcmp.c, lib/memcoll.c, lib/memcpy.c,
19663         lib/memmove.c, lib/mkdir-p.c, lib/modechange.c, lib/mountlist.c,
19664         lib/open-safer.c, lib/physmem.c, lib/pipe-safer.c, lib/pipe.c,
19665         lib/poll.c, lib/posixver.c, lib/progname.c, lib/progreloc.c,
19666         lib/putenv.c, lib/quote.c, lib/quotearg.c, lib/readline.c,
19667         lib/readlink.c, lib/realloc.c, lib/regex.c, lib/rename.c, lib/rmdir.c,
19668         lib/rpmatch.c, lib/safe-read.c, lib/same.c, lib/save-cwd.c,
19669         lib/savedir.c, lib/sig2str.c, lib/strcspn.c, lib/strerror.c,
19670         lib/stripslash.c, lib/strncasecmp.c, lib/strndup.c, lib/strnlen.c,
19671         lib/strnlen1.c, lib/strsep.c, lib/strstr.c, lib/strtod.c,
19672         lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c,
19673         lib/time_r.c, lib/userspec.c, lib/utimecmp.c, lib/version-etc-fsf.c,
19674         lib/version-etc.c, lib/wait-process.c, lib/xalloc-die.c, lib/xgetcwd.c,
19675         lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c, lib/xreadlink.c,
19676         lib/xsetenv.c, lib/xstrndup.c, lib/xstrtoimax.c, lib/xstrtol.c,
19677         lib/xstrtoumax.c, lib/yesno.c:
19678         Standardize inclusion of config.h.
19679         * lib/__fpending.h, lib/dirfd.h, lib/getdate.h, lib/human.h,
19680         lib/inttostr.h:  Removed inclusion of config.h from header files.
19681         * lib/inttostr.c:  Adjusted in-tree users.
19682         * lib/timespec.h: Remove superfluous warning to include config.h.
19683         * lib/atexit.c, lib/chdir-long.c, lib/chown.c, lib/fchown-stub.c,
19684         lib/getgroups.c, lib/gettimeofday.c, lib/lchown.c, lib/lstat.c,
19685         lib/mkdir.c, lib/mkstemp.c, lib/nanosleep.c, lib/openat.c, lib/raise.c,
19686         lib/readtokens0.c, lib/readutmp.c, lib/unlinkdir.c: Guard inclusion of
19687         config.h with HAVE_CONFIG_H.
19688
19689 2005-09-19  Jim Meyering  <jim@meyering.net>
19690
19691         * modules/pathmax (License): Change to LGPL.
19692
19693 2005-09-19  Derek Price  <derek@ximbiot.com>
19694
19695         * config/srclist.txt: glibc's glob.h is now in lib/glob-libc.h.
19696
19697 2005-09-19  Bruno Haible  <bruno@clisp.org>
19698
19699         * gnulib-tool (import): Provide default for --tests-base.
19700
19701 2005-09-19  Bruno Haible  <bruno@clisp.org>
19702
19703         * doc/quote.texi: New file, extracted from gnulib.texi.
19704         * doc/ctime.texi: New file, extracted from gnulib.texi.
19705         * doc/inet_ntoa.texi: New file, extracted from gnulib.texi.
19706         * doc/gnulib-tool.texi: New file, extracted from gnulib.texi.
19707         * doc/gnulib.texi: Include them.
19708
19709 2005-09-18  Bruno Haible  <bruno@clisp.org>
19710
19711         Portability fix.
19712         * gnulib-tool (func_readlink): New function.
19713         (func_ln_if_changed): Use it.
19714
19715 2005-09-18  Bruno Haible  <bruno@clisp.org>
19716
19717         * gnulib-tool: Support --with-tests also with --import.
19718         (func_emit_tests_Makefile_am): Use variables $m4base and $testsbase.
19719         (func_import): Use variables $testsbase and $inctests. Emit a
19720         gl_TESTS_BASE form into gnulib-cache.m4. Create $testsbase/Makefile.am.
19721         Remind the user to add AC_CONFIG_FILES($testsdir/Makefile) and
19722         SUBDIRS += $testsdir.
19723         (func_create_testdir): Update.
19724
19725 2005-09-18  Bruno Haible  <bruno@clisp.org>
19726
19727         * gnulib-tool: Revise --dry-run implementation. Use variable $doit
19728         instead of $dry_run.
19729         (func_cp_if_changed, func_mv_if_changed): Remove functions.
19730         (func_ln_if_changed): Don't handle dry-run here.
19731         (func_import): In dry-run mode, detect more precisely which actions
19732         would be performed, and don't use "...ing" verbs.
19733
19734 2005-09-18  Bruno Haible  <bruno@clisp.org>
19735
19736         * gnulib-tool (func_tmpdir): New function, taken from GNU gettextize.
19737         (func_import): Use join on two temporary files instead of three nested
19738         loops, in order to determine which files are new or old.
19739
19740 2005-09-18  Bruno Haible  <bruno@clisp.org>
19741
19742         * gnulib-tool (func_import): Comment out code that spits out the
19743         new files with --dry-run.
19744
19745 2005-09-18  Bruno Haible  <bruno@clisp.org>
19746
19747         * doc/gnulib.texi (Invoking gnulib-tool): 50% rewritten.
19748
19749 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
19750
19751         * lib/stat-time.h: New file.
19752         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP, ATIME_CMP, CTIME_CMP):
19753         (MTIME_CMP, TIMESPEC_NS): Remove.  Now done by stat-time.h,
19754         in a different way.
19755         (timespec_cmp): New function.
19756         * lib/utimecmp.c: Include stat-time.h.
19757         (SYSCALL_RESOLUTION): Depend on whether various struct stat
19758         members exist, not on the obsolescent ST_MTIM_NSEC.
19759         (utimecmp): Use the new stat-time functions rater than TIMESPEC_NS.
19760
19761 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
19762
19763         * config/srclist.txt: Remove glibc bug 1033 and uncomment mktime.c.
19764
19765 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
19766
19767         * MODULES.html.sh (File system functions): Add stat-time.
19768         * modules/stat-time: New file.
19769         * modules/timespec (Files): Remove m4/st_mtim.m4; this
19770         is now done in a different way, by the stat-time module.
19771         * modules/utimecmp (Depends-on): Add stat-time.
19772
19773 2005-09-15  Paul Eggert  <eggert@cs.ucla.edu>
19774
19775         * m4/st_mtim.m4: Remove.  Superseded by...
19776         * m4/stat-time.m4: New file.
19777         * m4/timespec.m4 (gl_TIMESPEC): Require AC_C_INLINE.
19778         Do not invoke AC_STRUCT_ST_MTIM_NSEC; no longer needed.
19779
19780 2005-09-15  Derek Price  <derek@ximbiot.com>
19781
19782         * m4/strstr.m4 (gl_FUNC_STRSTR): Don't define strstr here.
19783
19784 2005-09-15  Derek Price  <derek@ximbiot.com>
19785
19786         * lib/regex_internal.h: Blank `pure' for GNUC < 3.
19787         * lib/regex_internal.c: Ditto, using this...
19788         (__GNUC_PREREQ): ...new macro.
19789         * lib/regcomp.c, regexec.c: Blank `always_inline' for GNUC < 3.1
19790         using...
19791         (__GNUC_PREREQ): ...this new macro.
19792
19793         * lib/strstr.h: Include string.h. Define strstr as a macro here.
19794
19795 2005-09-15  Derek Price  <derek@ximbiot.com>
19796             Paul Eggert  <eggert@cs.ucla.edu>
19797
19798         * lib/regcomp.c, regexec.c, regex_internal.c: Back out previous
19799         changes, consolidating in...
19800         * lib/regex_internal.h: ...this file.
19801
19802 2005-09-13  Jim Meyering  <jim@meyering.net>
19803
19804         * lib/canon-host.c: Filter through gnu indent and reword comments
19805         slightly.
19806         * lib/canon-host.h (ch_strerror_r): Tweak cpp indentation and spacing.
19807
19808 2005-09-13  Derek Price  <derek@ximbiot.com>
19809
19810         * lib/canon-host.c (canon_host_r): Set *cherror on memory allocation
19811         failure.
19812         Reported by Jim Meyering  <jim@meyering.net>.
19813
19814 2005-09-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
19815
19816         * lib/base64.c: Typo.
19817         (base64_encode): Put b64str in initialized data section.
19818
19819 2005-09-12  Paul Eggert  <eggert@cs.ucla.edu>
19820
19821         Merge glibc and coreutils changes into gnulib, plus a few
19822         extra fixes.
19823         * lib/md5.c: Use #error rather than a string.
19824         (CYCLIC): New macro, from glibc source.  Use it instead of rol.
19825         * lib/md5.h (__GNUC_PREREQ, __THROW): Define if not defined already.
19826         (__attribute__): Define to empty for non recent-GCC.
19827         (__md5_buffer, __md5_finish_ctx, __md5_init_ctx, __md5_process_block):
19828         (__md5_process_bytes, __md5_read_ctx, __md5_stream):
19829         Renamed from their non-__ counterparts, with new macros replacing
19830         them if not _LIBC.  Add __THROW attribute.
19831         (rol): Remove.
19832         (struct md5_ctx): Align buffer if using GCC.
19833         * lib/sha1.h (struct sha1_ctx): Likewise.
19834         * lib/sha1.c (SWAP): Renamed from the NOTSWAP.  All uses changed.
19835         The old name was backwards.
19836         (NOTSWAP): Remove; not used.
19837         (rol): New macro, moved here from md5.h.
19838         (sha1_process_block): Remove a FIXME that doesn't make sense.
19839
19840 2005-09-12  Derek Price  <derek@ximbiot.com>
19841
19842         Return usable errors from canon-host.
19843         * lib/canon-host.h: New file.
19844         * lib/canon-host.c (canon_host): Wrap...
19845         (canon_host_r): ...this new function, which now relies exclusively on
19846         getaddrinfo.
19847         (ch_strerror): New function.
19848         (last_cherror): New global.
19849         * lib/getaddrinfo.c: Move include of getaddrinfo.h first to test
19850         interface.
19851         (getaddrinfo): Add AI_CANONNAME functionality.  Don't do arithmetic on
19852         void *.
19853         (freeaddrinfo): Free ai->ai_canonname when set.
19854
19855 2005-09-12  Derek Price  <derek@ximbiot.com>
19856
19857         Make canon-host require getaddrinfo.
19858         * m4/canon-host.m4 (gl_CANON_HOST): Remove most dependencies.
19859         AC_LIBSOURCE canon-host.h.  Call...
19860         (gl_PREREQ_CANON_HOST): ...this new function, which requires
19861         gl_GETADDRINFO.
19862         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Compile gai_strerror when needed.
19863
19864 2005-09-12  Derek Price  <derek@ximbiot.com>
19865
19866         * modules/canon-host: Add canon-host.h.  Depend on getaddrinfo.  Make
19867         LGPL.
19868         * modules/getaddrinfo: Add link to opengroup spec.  Depend on strdup.
19869
19870 2005-09-12  Derek Price  <derek@ximbiot.com>
19871
19872         * lib/gai_strerror.c: Include config.h when available.  Include
19873         getaddrinfo.h before other headers to test interface.
19874         Reported by Larry Jones <lawrence.jones@ugs.com>.
19875
19876 2005-09-12  Derek Price  <derek@ximbiot.com>
19877             Paul Eggert  <eggert@cs.ucla.edu>
19878
19879         * modules/glob (Files): Add glob-libc.h.
19880
19881 2005-09-12  Derek Price  <derek@ximbiot.com>
19882             Paul Eggert  <eggert@cs.ucla.edu>
19883
19884         * m4/glob.m4 (gl_GLOB_SUBSTITUTE): AC_LIBSOURCES for glob.c,
19885         glob_.h, glob-libc.h.
19886         (gl_PREREQ_GLOB): Remove _SYS_CDEFS_H hack; no longer needed.
19887
19888 2005-09-12  Derek Price  <derek@ximbiot.com>
19889             Paul Eggert  <eggert@cs.ucla.edu>
19890
19891         * lib/glob-libc.h: Renamed from glob_.h.  The new version is
19892         taken from libc's glob.h, except with '#ifdef __GLOB_GNULIB'
19893         protecting things that should be done only in gnulib contexts.
19894         * lib/glob_.h: New file, containing only the glob things needed for
19895         gnulib.
19896         (GLOB_PREFIX): Remove.  All uses changed to look for __GLOB_GNULIB.
19897         (__GLOB_CONCAT, __GLOB_XCONCAT, __GLOB_ID): Remove; no longer needed.
19898         (glob, globfree, glob_pattern_p): Now defined simply in terms of
19899         rpl_glob, rpl_globfree, rpl_glob_pattern_p.
19900         (__GLOB_GNULIB): New macro, to keep the glob.h changes clearer
19901         and to respect the namespace rules better.
19902
19903 2005-09-08  Simon Josefsson  <jas@extundo.com>
19904
19905         * modules/socklen: New file.
19906
19907 2005-09-08  Simon Josefsson  <jas@extundo.com>
19908
19909         * m4/socklen.m4: New file.
19910
19911 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
19912
19913         * modules/utimens (Files): Add m4/utimbuf.m4, since
19914         m4/utimens.m4 requires gl_CHECK_TYPE_STRUCT_UTIMBUF.
19915         Reported by Sergey Poznyakoff.
19916
19917 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
19918
19919         * lib/glob.c (glob, globfree, __glob_pattern_p): Use old-style function
19920         definitions, since that's the preferred style in glibc.
19921         Fix a minor spacing issue, and update copyright notice to match
19922         glibc's.
19923
19924 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
19925
19926         * config/srclist.txt: Remove glibc bug 1061; it's been fixed.
19927
19928 2005-09-06  Simon Josefsson  <jas@extundo.com>
19929
19930         * lib/getpass.c (getpass): Fix typo, test for HAVE_TCSETATTR and not
19931         TCSETATTR.  Reported by Derek Price <derek@ximbiot.com>.
19932
19933 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
19934
19935         * lib/regex_internal.h (bitset_not): Add parens to avoid gcc -Wall
19936         warning.
19937
19938 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
19939
19940         * config/srclist.txt: Add glibc bug 1302.
19941
19942 2005-09-05  Paul Eggert  <eggert@cs.ucla.edu>
19943
19944         Change bitset word type from unsigned int to unsigned long int,
19945         as this has better performance on typical 64-bit hosts.
19946         Port bitset code to hosts with unusual word sizes.
19947         * lib/regcomp.c (build_equiv_class, build_charclass, build_range_exp):
19948         (build_collating_symbol):
19949         Prefer bitset to re_bitset_ptr_t in prototypes, when the actual
19950         argument is a bitset.  This is merely a style issue, but it makes
19951         it clearer that an entire array is expected.
19952         (re_compile_fastmap_iter, init_dfa, init_word_char, optimize_subexps):
19953         * lib/regcomp.c (lower_subexp, parse_bracket_exp, built_charclass_op):
19954         Port to the case where bitset_word is not the same as unsigned int.
19955         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
19956         (bitset_not, bitset_merge, bitset_set_all, bitset_mask):
19957         Likewise.
19958         * lib/regexec.c (check_dst_limits_calc_pos_1,
19959         check_subexp_matching_top):
19960         (build_trtable, group_nodes_into_DFAstates):
19961         Likewise.
19962         * lib/regcomp.c (re_compile_fastmap_iter, utf8_sb_map, optimize_utf8):
19963         Don't assume that SBC_MAX is a multiple of BITSET_WORD_BITS.
19964         * lib/regex_internal.h (bitset_set_all, bitset_not): Likewise.
19965         * lib/regexec.c (group_nodes_into_DFAstates): Likewise.
19966         * lib/regcomp.c (utf8_sb_map): Don't assume UINT_MAX == 0xffffffff.
19967         * lib/regcomp.c (optimize_subexps, lower_subexp):
19968         Work even if bitset_word has holes in its bitwise representation.
19969         * lib/regex_internal.h (BITSET_WORD_BITS): Likewise.
19970         * lib/regexec.c (check_dst_limits_calc_pos_1,
19971         check_subexp_matching_top):
19972         Likewise.
19973         * lib/regex_internal.c (re_string_reconstruct):
19974         Don't assume UCHAR_MAX == 255.
19975         * lib/regex_internal.h (bitset_set_all): Likewise.
19976         * lib/regex_internal.h (BITSET_WORD_BITS): Renamed from UINT_BITS.
19977         All uses changed.
19978         (BITSET_WORDS): Renamed from BITSET_UINTS.  All uses changed.
19979         (bitset_word): New type, replacing 'unsigned int' for bitset uses.
19980         All uses changed.
19981         (BITSET_WORD_MAX): New macro.
19982         (bitset_set, bitset_clear, bitset_contain, bitset_empty):
19983         (bitset_set_all, bitset_copy):  Now inline functions, not macros.
19984         (bitset_empty, bitset_copy):
19985         Prefer sizeof (bitset) to multiplying it out ourselves.
19986         (bitset_not_merge): Remove; unused.
19987         (bitset_contain): Return bool, not unsigned int with one bit on.
19988         All callers changed.
19989         * lib/regexec.c (build_trtable): Don't assume bitset has no stricter
19990         alignment than re_node_set; do this by defining a new internal
19991         type struct dests_alloc and using it to allocate memory.
19992
19993 2005-09-05  Bruno Haible  <bruno@clisp.org>
19994
19995         * gnulib-tool (func_import): Fix comparison in handling of symbolic
19996         links.
19997
19998 2005-09-04  Martin Lambers  <marlam@marlam.de>  (tiny change)
19999
20000         * modules/size_max (Makefile.am): Add size_max.h
20001
20002 2005-09-04  Derek Price  <derek@ximbiot.com>
20003
20004         * gnulib-tool (func_import): Fix reversed $symbolic logic.
20005
20006 2005-09-03  Simon Josefsson  <jas@extundo.com>
20007
20008         * gnulib-tool: Fix typo.
20009
20010 2005-09-03  Simon Josefsson  <jas@extundo.com>
20011
20012         * config/srclist.txt: Add glibc bug 1293.
20013
20014 2005-09-03  Derek Price  <derek@ximbiot.com>
20015
20016         * m4/getlogin_r (gl_GETLOGIN_R): Fix cut & paste error.
20017         From Larry Jones <lawrence.jones@ugs.com>.
20018
20019 2005-09-02  Simon Josefsson  <jas@extundo.com>
20020
20021         * modules/socklen: New file.
20022
20023 2005-09-02  Simon Josefsson  <jas@extundo.com>
20024
20025         * modules/havelib: New module.
20026
20027         * modules/gettext, modules/iconv, modules/lock, modules/readline:
20028         Use havelib.
20029
20030 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
20031
20032         Check for arithmetic overflow when calculating sizes, to prevent
20033         some buffer-overflow issues.  These patches are conservative, in the
20034         sense that when I couldn't determine whether an overflow was possible,
20035         I inserted a run-time check.
20036         * lib/regex_internal.h (re_xmalloc, re_xrealloc, re_x2realloc): New
20037         macros.
20038         (SIZE_MAX) [!defined SIZE_MAX]: New macro.
20039         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc):
20040         (re_xnrealloc, re_x2nrealloc): New inline functions.
20041         * lib/regcomp.c (init_dfa, analyze, build_range_exp,
20042         parse_bracket_exp):
20043         (build_equiv_class, build_charclass): Check for arithmetic overflow
20044         in size expression calculations.
20045         * lib/regex_internal.c (re_string_realloc_buffers):
20046         (build_wcs_upper_buffer, re_node_set_add_intersect):
20047         (re_node_set_init_union, re_node_set_insert, re_node_set_insert_last):
20048         (re_dfa_add_node, register_state): Likewise.
20049         * lib/regexec.c (re_search_stub, re_copy_regs, re_search_internal):
20050         (prune_impossible_nodes, push_fail_stack, set_regs, check_arrival):
20051         (build_trtable, extend_buffers, match_ctx_init, match_ctx_add_entry):
20052         (match_ctx_add_subtop, match_ctx_add_sublast): Likewise.
20053
20054 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
20055
20056         * modules/inttostr (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
20057         m4/ulonglong.m4.  Problem reported by Martin Lambers.
20058
20059 2005-09-02  Bruno Haible  <bruno@clisp.org>
20060
20061         Support for lib vs. lib64 distinction on biarch platforms.
20062         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): New macro.
20063         (AC_LIB_PREFIX): Require it. Use $acl_libdirstem instead of 'lib'.
20064         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Likewise.
20065
20066 2005-09-02  Bruno Haible  <bruno@clisp.org>
20067
20068         * gnulib-tool (import): In the other first-use case, provide defaults
20069         as well.
20070
20071 2005-09-02  Bruno Haible  <bruno@clisp.org>
20072
20073         * config/srclist.txt: lib-link.m4 and lib-prefix.m4 currently have
20074         patches not yet found in the latest gettext release.
20075
20076 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
20077
20078         * lib/glob.c (GET_LOGIN_NAME_MAX): Renamed from LOGIN_NAME_MAX,
20079         to avoid a collision with bits/local_lim.h in glibc.
20080         All uses changed.  Problem reported by Dmitry V. Levin in
20081         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=1060>.
20082
20083         * lib/regex_internal.c (build_wcs_upper_buffer): Fix portability
20084         bugs in int versus size_t comparisons.
20085         (re_string_context_at): Fix bug where the code assumed that
20086         Idx is signed.
20087
20088         Use bool where appropriate.
20089         * lib/regcomp.c (re_set_fastmap): ICASE arg is bool, not int.
20090         All callers changed.
20091         (calc_eclosure_iter): Likewise, for ROOT arg.
20092         (parse_bracket_element): Likewise, for ACCEPT_HYPHEN arg.
20093         (build_charclass_op): Likewise, for NON_MATCH arg.
20094         * lib/regex_internal.c (re_string_allocate, re_string_construct):
20095         (re_string_construct_common): Likewise, for ICASE arg.
20096         * lib/regexec.c (re_search_2_stub, re_search_stub):
20097         Likewise, for RET_LEN arg.
20098         (check_matching): Likewise, for FL_LONGEST_MATCH arg.
20099         (set_regs): Likewise, for FL_BACKTRACK arg.
20100         * lib/regcomp.c (re_compile_fastmap_iter, optimize_utf8):
20101         (duplicate_node_closure, calc_inveclosure, calc_eclosure):
20102         (calc_eclosure_iter, parse_bracket_exp):
20103         Use bool for internal variables that are booleans.
20104         * lib/regexec.c (re_search_internal, check_matching,
20105         proceed_next_node):
20106         (set_regs, build_sifted_states, sift_states_bkref):
20107         (check_arrival_add_next_nodes, check_arrival_expand_ecl_sub):
20108         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
20109         (find_collation_sequence_value):
20110         Likewise.
20111         * lib/regex_internal.c (re_node_set_insert, re_node_set_insert_last):
20112         (re_node_set_compare):
20113         Return bool, not int. All callers changed.
20114         * lib/regexec.c (check_halt_node_context, check_dst_limits):
20115         (build_trtable, check_node_accept): Likewise.
20116         * lib/regex_internal.h: Include stdbool.h.
20117
20118         Fix bugs uncovered when converting to bool.
20119         * lib/regcomp.c (calc_eclosure_iter): Check for storage allocation
20120         failure instead of charging ahead blindly.
20121         * lib/regex_internal.c (register_state): Likewise.
20122         * lib/regexec.c (re_search_2_stub): Use simpler method than boolean
20123         for freeing internal storage.
20124         (group_nodes_into_DFA_states): Use unsigned int, not int, for
20125         bitset pieces used as boolean, to avoid undefined behavior
20126         on hosts that do int overflow checking.
20127
20128 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
20129
20130         * config/srclist.txt: Add glibc bugs 1285-1287.
20131
20132 2005-09-01  Jim Meyering  <jim@meyering.net>
20133
20134         * m4/lchown.m4: Require gl_FUNC_CHOWN, for the definition of
20135         CHOWN_MODIFIES_SYMLINK, which is used by lchown.c.
20136         Require gl_STAT_MACROS, too.
20137
20138 2005-09-01  Bruno Haible  <bruno@clisp.org>
20139
20140         * gnulib-tool (import): In the first-use case, provide defaults.
20141
20142 2005-09-01  Bruno Haible  <bruno@clisp.org>
20143
20144         * gnulib-tool (func_import): Remove the .tmp files.
20145
20146 2005-09-01  Bruno Haible  <bruno@clisp.org>
20147
20148         * gnulib-tool (func_import): Fix handling of symbolic links.
20149
20150 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
20151
20152         On 64-bit hosts (where size_t is 64 bits and int is 32 bits), the
20153         old glibc regex code mishandles strings longer than 2**31 bytes.
20154         This patch fixes this when the regex code is used in gnulib
20155         (i.e., outside glibc).
20156
20157         This patch should not affect the use of the regex code inside
20158         glibc.  No doubt this problem also needs to be handled for glibc
20159         as well, but the result will be an incompatible change to the
20160         glibc ABI, and the old ABI will have to be supported too.  That
20161         can be the the subject for another patch.
20162
20163         * lib/regex.h (_REGEX_LARGE_OFFSETS): New feature-test macro,
20164         governing whether the rest of this patch is active.  By default,
20165         the macro is disabled and the patch has no effect.
20166         (regoff_t) [defined _REGEX_LARGE_OFFSETS]: Define to off_t, not int.
20167         (__re_idx_t, __re_size_t, __re_long_size_t): New types.
20168         (struct re_pattern_buffer, re_search, re_search_2, re_match):
20169         (re_match_2, re_set_registers): Use the new types.
20170         * lib/regex_internal.h (Idx, re_hashval_t): New types.
20171         (REG_MISSING, REG_ERROR, REG_VALID_INDEX, REG_VALID_NONZERO_INDEX):
20172         New macros.
20173         (re_node_set, re_charset_t, re_token_t, re_string_realloc_buffers):
20174         (re_string_context_at, bin_tree_t, re_dfastate_t):
20175         (struct re_state_table_entry, state_array_t, re_sub_match_last_t):
20176         (re_sub_match_top_t, re_match_context_t, re_sift_context_t):
20177         (struct re_fail_stack_ent_t, struct re_fail_stack_t, struct re_dfa_t):
20178         (re_string_char_size_at, re_string_wchar_at):
20179         (re_string_elem_size_at):
20180         Use the new types and macros to port to 64-bit hosts.
20181         Use unsigned types for internal values, so that the code
20182         mostly works even for arrays larger than SSIZE_MAX.
20183         * lib/regcomp.c (re_compile_internal, init_dfa, duplicate_node):
20184         (search_duplicated_node, calc_eclosure_iter, fetch_number):
20185         (parse_reg_exp, parse_branch, parse_expression, parse_sub_exp):
20186         (build_equiv_class, build_charclass, re_compile_fastmap_iter):
20187         (free_dfa_content, create_initial_state, optimize_utf8, analyze):
20188         (optimize_subexps, calc_first, link_nfa_nodes, duplicate_node_closure):
20189         (calc_inveclosure, parse_dup_op, build_range_exp):
20190         (build_collating_symbol, parse_bracket_exp, build_charclass_op):
20191         (fetch_number, create_token_tree, mark_opt_subexp):
20192         Likewise.
20193         * lib/regex_internal.c (re_string_construct_common,
20194         create_ci_newstate):
20195         (create_cd_newstate, re_string_allocate, re_string_construct):
20196         (re_string_realloc_buffers, build_wcs_upper_buffer):
20197         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
20198         (re_string_reconstruct, re_string_peek_byte_case):
20199         (re_string_fetch_byte_case, re_string_context_at):
20200         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
20201         (re_node_set_init_copy, re_node_set_add_intersect):
20202         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
20203         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
20204         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
20205         (re_acquire_state, re_acquire_state_context, register_state):
20206         Likewise.
20207         * lib/regex.c (match_ctx_init, match_ctx_add_entry,
20208         search_cur_bkref_entry):
20209         (match_ctx_add_subtop, match_ctx_add_sublast, sift_ctx_init):
20210         (re_search_internal, re_search_2_stub, re_search_stub)
20211         (re_copy_regs, check_matching, check_halt_state_context, update_regs):
20212         (push_fail_stack, sift_states_iter_mb, build_sifted_states):
20213         (update_cur_sifted_state, check_dst_limits):
20214         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
20215         (check_subexp_limits, sift_states_bkref, merge_state_array):
20216         (check_subexp_matching_top, get_subexp, get_subexp_sub):
20217         (find_subexp_node, check_arrival, check_arrival_add_next_nodes):
20218         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
20219         (expand_bkref_cache, check_node_accept_bytes):
20220         (group_nodes_into_DFAstates, check_node_accept, regexec, re_match):
20221         (re_search, re_match_2, re_search_2, prune_impossible_nodes):
20222         (acquire_init_state_context, check_halt_node_context):
20223         (proceed_next_node, pop_fail_stack, set_regs, free_fail_stack_return):
20224         (sift_states_backward, clean_state_log_if_needed):
20225         (sub_epsilon_src_nodes, add_epsilone_src_nodes, merge_state_with_log):
20226         (find_recover_state, transit_state_sb, transit_state_mb):
20227         (transit_state_bkref, build_trtable, match_ctx_clean):
20228         Likewise.
20229         * lib/regcomp.c (parse_dup_op): Add an extra test if Idx is unsigned,
20230         to work around an assumption that REG_MISSING is negative.
20231
20232         * lib/regcomp.c (re_comp) [defined _REGEX_RE_COMP || defined _LIBC]:
20233         (seek_collating_symbol_entry) [defined _LIBC]:
20234         (lookup_collation_sequence_value) [defined _LIBC]:
20235         (build_range_exp, build_collating_symbol) [defined _LIBC]:
20236         Use prototypes rather than old-style function definitions.
20237         * lib/regexec.c (re_exec) [defined _REGEX_RE_COMP || defined _LIBC]:
20238         (transit_state_sb) [0]:
20239         (find_collation_sequence_value) [defined _LIBC]: Likewise.
20240
20241         * lib/regexec.c (re_search_internal): Simplify update of rm_so and
20242         rm_eo.
20243
20244         * lib/regcomp.c (re_compile_fastmap_iter, init_dfa, init_word_char):
20245         (optimize_subexps, lower_subexp):
20246         Don't assume 1<<31 has defined behavior on hosts with 32-bit int,
20247         since the signed shift might overflow.  Use 1u<<31 instead.
20248         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
20249         Likewise.
20250         * lib/regexec.c (check_dst_limits_calc_pos_1,
20251         check_subexp_matching_top): Likewise.
20252
20253         * lib/regcomp.c (optimize_subexps, lower_subexp):
20254         Use CHAR_BIT rather than 8, for clarity.
20255         * lib/regexec.c (check_dst_limits_calc_pos_1):
20256         (check_subexp_matching_top): Likewise.
20257         * lib/regcomp.c (init_dfa): Make table_size unsigned, so that we don't
20258         have to worry about portability issues when shifting it left.
20259         Remove no-longer-needed test for table_size > 0.
20260         * lib/regcomp.c (parse_sub_exp): Do not shift more bits than there are
20261         in a word, as the resulting behavior is undefined.
20262         * lib/regexec.c (check_dst_limits_calc_pos_1): Likewise;
20263         in one case, a <= should have been an <, and in another case the
20264         whole test was missing.
20265         * lib/regex_internal.h (BYTE_BITS): Remove.  All uses changed to
20266         the standard name CHAR_BIT.
20267         * lib/regexec.c (match_ctx_add_entry): Don't assume that ~0 == -1;
20268         this is not true on one's complement and signed-magnitude hosts.
20269
20270         * lib/regex_internal.h (re_sub_match_top_t): Remove unused member
20271         next_last_offset.
20272         (struct re_dfa_t): Remove unused member states_alloc.
20273         * lib/regcomp.c (init_dfa): Don't initialize unused members.
20274
20275 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
20276
20277         * m4/regex.m4 (gl_REGEX): Require AC_SYS_LARGEFILE, Define
20278         _REGEX_LARGE_OFFSETS).  Test for regoff_t/off_t bug in 64-bit
20279         and large-file glibc and in 32-bit large-file Solaris.
20280
20281 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
20282
20283         * lib/regex_internal.c (re_string_reconstruct): Don't assume buffer
20284         lengths fit in regoff_t; this isn't true if regoff_t is the same
20285         width as size_t.
20286         * lib/regex.c (re_search_internal): 5th arg is LAST_START
20287         (= START + RANGE) instead of RANGE.  This avoids overflow
20288         problems when regoff_t is the same width as size_t.
20289         All callers changed.
20290         (re_search_2_stub): Check for overflow when adding the
20291         sizes of the two strings.
20292         (re_search_stub): Check for overflow when adding START
20293         to RANGE; if it occurs, substitute the extreme value.
20294
20295 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
20296
20297         * config/srclist.txt: Add glibc bugs 1273, 1278-1282, 1284.
20298
20299 2005-08-31  Jim Meyering  <jim@meyering.net>
20300
20301         * lib/regcomp.c (search_duplicated_node): Make first pointer arg
20302         a pointer-to-const.
20303         * lib/regex_internal.c (create_ci_newstate, create_cd_newstate):
20304         (register_state): Likewise.
20305         * lib/regexec.c (search_cur_bkref_entry, check_dst_limits):
20306         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
20307         (group_nodes_into_DFAstates): Likewise.
20308
20309 2005-08-31  Jim Meyering  <jim@meyering.net>
20310
20311         * check-module: Add a FIXME comment.
20312
20313 2005-08-31  Eric Blake  <ebb9@byu.net>
20314
20315         * modules/unistd-safer (Files): Add unistd--.h.
20316         * modules/stdio-safer (Files): Add stdio--.h.
20317
20318 2005-08-31  Derek Price  <derek@ximbiot.com>
20319
20320         * lib/getdelim.c (getdelim): Return EOF on EOF.
20321         Reported by Larry Jones <lawrence.jones@ugs.com>.
20322
20323 2005-08-31  Bruno Haible  <bruno@clisp.org>
20324
20325         Avoid unnecessary diffs in the generated lib/Makefile.am.
20326         * gnulib-tool (func_emit_lib_Makefile_am): Don't write the cmd into
20327         the generated files.
20328         (func_import): Don't set cmd.
20329
20330 2005-08-31  Bruno Haible  <bruno@clisp.org>
20331
20332         * lib/strstr.c: Include <stddef.h>, for NULL.
20333         * lib/strcasestr.c: Likewise.
20334         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
20335
20336 2005-08-31  Bruno Haible  <bruno@clisp.org>
20337
20338         * gnulib-tool: New option --macro-prefix.
20339         (func_import): Use macro_prefix.
20340         (import): Handle option --macro-prefix.
20341
20342 2005-08-31  Bruno Haible  <bruno@clisp.org>
20343
20344         * gnulib-tool (import): Rename most ac_* variables to cached_*.
20345         Also use new variables cached_lgpl, cached_libtool.
20346
20347 2005-08-31  Bruno Haible  <bruno@clisp.org>
20348
20349         * gnulib-tool (func_import): Require AC_GNU_SOURCE etc. instead of
20350         always instantiating them.
20351
20352 2005-08-31  Bruno Haible  <bruno@clisp.org>
20353
20354         * gnulib-tool (func_import): Read the previous cached settings
20355         from gnulib-cache.m4 and gnulib-comp.m4. Remove files that were
20356         earlier added by gnulib but are now dropped. Warn when a gnulib file
20357         overwrites a non-gnulib file.
20358
20359 2005-08-31  Bruno Haible  <bruno@clisp.org>
20360
20361         * gnulib-tool (func_import): Generate two files gnulib-cache.m4 and
20362         gnulib-comp.m4 instead of a single gnulib.m4, to make it easy for
20363         projects that don't keep autogenerated files in CVS. Put into
20364         actioncmd only the specified modules, not the transitive closure.
20365
20366 2005-08-31  Bruno Haible  <bruno@clisp.org>
20367
20368         * gnulib-tool (func_import): Fix defaulting of $libname and $libtool.
20369         Create directories that shall be filled.
20370         (import): Don't look for gl_* macros in configure.ac. Recurse across
20371         all directories containing a gnulib-cache.m4 files, if meaningful.
20372
20373 2005-08-31  Bruno Haible  <bruno@clisp.org>
20374
20375         * gnulib-tool (func_import): Emit also a stub for gl_LIBTOOL.
20376         (import): Set seen_libtool when we see gl_LIBTOOL.
20377
20378 2005-08-31  Bruno Haible  <bruno@clisp.org>
20379
20380         * gnulib-tool (func_import): Also copy m4/gnulib-tool.m4. Omit
20381         declaration macro definitions from generated gnulib.m4.
20382
20383 2005-08-30  Oskar Liljeblad  <oskar@osk.mine.nu>
20384
20385         * lib/iconvme.h: Add prototype for iconv_alloc.
20386
20387 2005-08-29  Simon Josefsson  <jas@extundo.com>
20388
20389         * lib/iconvme.c: Fix errno.
20390
20391 2005-08-29  Bruno Haible  <bruno@clisp.org>
20392
20393         * gnulib-tool: Enclose all occurrences of $destdir in "...", so
20394         that it works when the directory contains spaces.
20395
20396 2005-08-29  Bruno Haible  <bruno@clisp.org>
20397
20398         * gnulib-tool (import): Avoid unnecessary spaces in $avoidlist.
20399
20400 2005-08-29  Bruno Haible  <bruno@clisp.org>
20401
20402         * gnulib-tool (func_import): Emit more comments into gnulib.m4.
20403         Emit more advice.
20404
20405 2005-08-29  Bruno Haible  <bruno@clisp.org>
20406         and Stepan Kasal  <kasal@ucw.cz>
20407
20408         * check-module: If more parameters are given, check each of them
20409         separately; add more exceptions, as noted by Jim Meyering.
20410         (check_module): New procedure.
20411         (%exempt_header): Now contains all exceptions.
20412
20413 2005-08-29  Ben Pfaff  <blp@cs.stanford.edu>
20414
20415         * modules/byteswap (Makefile.am): Fix rule to not assume GNU make.
20416
20417 2005-08-29  Oskar Liljeblad  <oskar@osk.mine.nu>
20418
20419         * lib/iconvme.c: Split iconv_string into iconv_alloc.
20420
20421 2005-08-28  Bruno Haible  <bruno@clisp.org>
20422
20423         * m4/gnulib-tool.m4: New file.
20424
20425 2005-08-27  Jim Meyering  <jim@meyering.net>
20426
20427         * modules/unistd-safer (Files): Add pipe-safer.c.
20428         * modules/fcntl-safer (Files): Add creat-safer.c.
20429
20430 2005-08-27  Jim Meyering  <jim@meyering.net>
20431
20432         * m4/stdlib-safer.m4: New file.  From coreutils.
20433         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add stdio--.h.
20434         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Add creat-safer.c to the
20435         AC_LIBSOURCES list and arrange to compile it via AC_LIBOBJ.
20436         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise, add pipe-safer.c.
20437         Add pipe-safer.c and unistd--.h to the AC_LIBSOURCES list.
20438
20439 2005-08-27  Jim Meyering  <jim@meyering.net>
20440
20441         * lib/fopen-safer.c: Merge minor changes from coreutils.
20442         * lib/dup-safer.c: Likewise.
20443         * lib/fd-safer.c: Likewise.
20444
20445         Merge from coreutils.
20446         * lib/stdio--.h: New file.
20447         * lib/stdlib--.h: New file.
20448         * lib/mkstemp-safer.c: New file.
20449
20450         GNU tar needs these.
20451         * lib/pipe-safer.c: New file.
20452         * lib/creat-safer.c: New file.
20453         * lib/fcntl--.h (creat): Define to creat_safer.
20454         * lib/fcntl-safer.h: Include <sys/types.h> and declare creat_safer.
20455         * lib/unistd--.h (pipe): Define to pipe_safer.
20456         * lib/unistd-safer.h: Declare pipe_safer.
20457
20458 2005-08-26  Simon Josefsson  <jas@extundo.com>
20459
20460         * lib/getpass.c: Use _WIN32 instead of WIN32, suggested by Bruno
20461         Haible <bruno@clisp.org>.
20462
20463 2005-08-26  Paul Eggert  <eggert@cs.ucla.edu>
20464
20465         * lib/regex_internal.h: Remove all references to
20466         RE_NO_INTERNAL_PROTOTYPES; no longer neeeded now that we assume C89
20467         or better.
20468         (bitset_not, bitset_merge, bitset_not_merge):
20469         (bitset_mask, re_string_allocate, re_string_construct):
20470         (re_string_reconstruct, re_string_destruct, re_string_elem_size_at):
20471         (re_string_char_size_at, re_string_wchar_at, re_string_peek_byte_case):
20472         (re_string_fetch_byte_case, re_node_set_alloc, re_node_set_init_1):
20473         (re_node_set_init_2, re_node_set_init_copy, re_node_set_add_intersect):
20474         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
20475         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
20476         (re_node_set_remove_at, re_dfa_add_node, re_acquire_state):
20477         (re_acquire_state_context):
20478         Remove unnecessary forward decls.
20479         (re_string_char_size_at, re_string_wchar_at, re_string_elem_size_at):
20480         Put __attribute at function definition,
20481         now that the function decl has been removed.
20482         * lib/regex_internal.c (re_string_peek_byte_case):
20483         (re_string_fetch_byte_case, re_node_set_compare, re_node_set_contains):
20484         Likewise.
20485
20486 2005-08-25  Stepan Kasal  <kasal@ucw.cz>
20487
20488         * m4/regex.m4: Add AC_PREREQ(2.50).
20489         (gl_REGEX): If --with-included-regex was given, skip the autodetection.
20490
20491 2005-08-25  Simon Josefsson  <jas@extundo.com>
20492
20493         * m4/getpass.m4: Check for termios.h, tcgetattr, tcsetattr, and
20494         __fsetlocking.
20495
20496 2005-08-25  Simon Josefsson  <jas@extundo.com>
20497
20498         * lib/getpass.c: Add WIN32 implementation.  Conditionalize use of
20499         termios.h, tcgetattr, tcsetattr and __fsetlocking.  Remove some
20500         GLIBC specific code.
20501
20502 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
20503
20504         Make regex safe for g++.  This fixes one real bug (an "err"
20505         that should have been "*err").  g++ problem reported by
20506         Sam Steingold.
20507         * lib/regex_internal.h (re_calloc): New macro, consistent with
20508         re_malloc etc.  All callers of calloc changed to use re_calloc.
20509         * lib/regex_internal.c (build_wcs_upper_buffer): Return reg_errcode_t,
20510         not int.  All callers changed.
20511         * lib/regcomp.c (re_compile_fastmap_iter): Don't use
20512         alloca (mb_cur_max); just use an array of size MB_LEN_MAX.
20513         * lib/regexec.c (push_fail_stack): Use re_realloc, not realloc.
20514         (find_recover_state): Change "err" to "*err"; this fixes what
20515         appears to be a real bug.
20516         (check_arrival_expand_ecl_sub): Be consistent about reg_errcode_t
20517         versus int.
20518
20519 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
20520
20521         * modules/regex (Depends-on): Add malloc, since the code
20522         assumes that !malloc(0) means failure.
20523
20524 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
20525
20526         * lib/regexec.c (set_regs): Don't alloca with an unbounded size.
20527
20528         alloca modernization/simplification for regex.
20529         * lib/regex.c: Remove portability cruft for alloca.  This no longer
20530         needs to be at the start of the file, and can be moved into
20531         regex_internal.h and simplified.
20532         * lib/regex_internal.h: Include <alloca.h>.
20533         (__libc_use_alloca) [!defined _LIBC]: New macro.
20534         * lib/regexec.c (build_trtable): Remove "#ifdef _LIBC", since the code
20535         now works outside glibc.
20536
20537 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
20538
20539         * config/srclist.txt: Add glibc bugs 1241, 1245.
20540
20541 2005-08-25  Jim Meyering  <jim@meyering.net>
20542
20543         * lib/open-safer.c: Include <config.h>.
20544         Otherwise, we'd lose LARGEFILE support in any file using
20545         e.g. "fcntl--.h"
20546
20547 2005-08-25  Bruno Haible  <bruno@clisp.org>
20548
20549         * m4/minmax.m4: Require autoconf 2.52.
20550         (gl_MINMAX_IN_HEADER): Add comments. Use m4_pushdef/m4_popdef instead
20551         of define/undefine. Use AS_TR_SH and AS_TR_CPP as more robust
20552         alternatives of translit over the alphabet.
20553         Based on a patch from Stepan Kasal <kasal@ucw.cz>.
20554
20555 2005-08-24  Simon Josefsson  <jas@extundo.com>
20556
20557         * tests/test-getpass.c: New file.
20558
20559 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
20560
20561         * m4/regex.m4 (gl_REGEX): Use POSIX-compliant spellings when testing
20562         for GNU regex features.
20563
20564 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
20565
20566         * lib/regcomp.c (regerror): 2nd arg is 'restrict', as per POSIX.
20567         * lib/regex.h (regerror): Likewise.
20568
20569         * lib/regex.c: Do not include <sys/types.h>, as POSIX no longer
20570         requires this.  (The code never needed it.)
20571
20572         * lib/regcomp.c, regex_internal.c, regex_internal.h, regexec.c:
20573         All uses of recently-renamed identifiers changed to use the new,
20574         POSIX-compliant names.  The code will build and run just fine
20575         without these changes, but it's better to eat our own dog food
20576         and use the standard-conforming names.
20577
20578         * lib/regex.h: Fix a multitude of POSIX name space violations.
20579         These changes have an effect only for programs that define
20580         _POSIX_C_SOURCE, _POSIX_SOURCE, or _XOPEN_SOURCE; they
20581         do not change anything for programs compiled in the normal way.
20582         Also, there is no effect on the ABI.
20583
20584         (_REGEX_SOURCE): New macro.
20585         Do not include <stddef.h> if _XOPEN_SOURCE and VMS are both
20586         defined and _GNU_SOURCE is not; this fixes a name space violation.
20587
20588         Rename the following macros to obey POSIX requirements.
20589         The old names are still visible as macros if _REGEX_SOURCE is defined.
20590         (REG_BACKSLASH_ESCAPE_IN_LISTS): renamed from
20591         RE_BACKSLASH_ESCAPE_IN_LISTS.
20592         (REG_BK_PLUS_QM): renamed from RE_BK_PLUS_QM.
20593         (REG_CHAR_CLASSES): renamed from RE_CHAR_CLASSES.
20594         (REG_CONTEXT_INDEP_ANCHORS): renamed from RE_CONTEXT_INDEP_ANCHORS.
20595         (REG_CONTEXT_INDEP_OPS): renamed from RE_CONTEXT_INDEP_OPS.
20596         (REG_CONTEXT_INVALID_OPS): renamed from RE_CONTEXT_INVALID_OPS.
20597         (REG_DOT_NEWLINE): renamed from RE_DOT_NEWLINE.
20598         (REG_DOT_NOT_NULL): renamed from RE_DOT_NOT_NULL.
20599         (REG_HAT_LISTS_NOT_NEWLINE): renamed from RE_HAT_LISTS_NOT_NEWLINE.
20600         (REG_INTERVALS): renamed from RE_INTERVALS.
20601         (REG_LIMITED_OPS): renamed from RE_LIMITED_OPS.
20602         (REG_NEWLINE_ALT): renamed from RE_NEWLINE_ALT.
20603         (REG_NO_BK_BRACES): renamed from RE_NO_BK_BRACES.
20604         (REG_NO_BK_PARENS): renamed from RE_NO_BK_PARENS.
20605         (REG_NO_BK_REFS): renamed from RE_NO_BK_REFS.
20606         (REG_NO_BK_VBAR): renamed from RE_NO_BK_VBAR.
20607         (REG_NO_EMPTY_RANGES): renamed from RE_NO_EMPTY_RANGES.
20608         (REG_UNMATCHED_RIGHT_PAREN_ORD): renamed from
20609         RE_UNMATCHED_RIGHT_PAREN_ORD.
20610         (REG_NO_POSIX_BACKTRACKING): renamed from RE_NO_POSIX_BACKTRACKING.
20611         (REG_NO_GNU_OPS): renamed from RE_NO_GNU_OPS.
20612         (REG_DEBUG): renamed from RE_DEBUG.
20613         (REG_INVALID_INTERVAL_ORD): renamed from RE_INVALID_INTERVAL_ORD.
20614         (REG_IGNORE_CASE): renamed from RE_ICASE.  This renaming is a bit
20615         unusual, since we can't clash with the POSIX REG_ICASE.
20616         (REG_CARET_ANCHORS_HERE): renamed from RE_CARET_ANCHORS_HERE.
20617         (REG_CONTEXT_INVALID_DUP): renamed from RE_CONTEXT_INVALID_DUP.
20618         (REG_NO_SUB): renamed from RE_NO_SUB.
20619         (REG_SYNTAX_EMACS): renamed from RE_SYNTAX_EMACS.
20620         (REG_SYNTAX_AWK): renamed from RE_SYNTAX_AWK.
20621         (REG_SYNTAX_GNU_AWK): renamed from RE_SYNTAX_GNU_AWK.
20622         (REG_SYNTAX_POSIX_AWK): renamed from RE_SYNTAX_POSIX_AWK.
20623         (REG_SYNTAX_GREP): renamed from RE_SYNTAX_GREP.
20624         (REG_SYNTAX_EGREP): renamed from RE_SYNTAX_EGREP.
20625         (REG_SYNTAX_POSIX_EGREP): renamed from RE_SYNTAX_POSIX_EGREP.
20626         (REG_SYNTAX_ED): renamed from RE_SYNTAX_ED.
20627         (REG_SYNTAX_SED): renamed from RE_SYNTAX_SED.
20628         (_REG_SYNTAX_POSIX_COMMON): renamed from _RE_SYNTAX_POSIX_COMMON.
20629         (REG_SYNTAX_POSIX_BASIC): renamed from RE_SYNTAX_POSIX_BASIC.
20630         (REG_SYNTAX_POSIX_MINIMAL_BASIC): renamed from
20631         RE_SYNTAX_POSIX_MINIMAL_BASIC.
20632         (REG_SYNTAX_POSIX_EXTENDED): renamed from RE_SYNTAX_POSIX_EXTENDED.
20633         (REG_SYNTAX_POSIX_MINIMAL_EXTENDED): renamed from
20634         RE_SYNTAX_POSIX_MINIMAL_EXTENDED.
20635         (REG_DUP_MAX): renamed from RE_DUP_MAX.  No need to undef it.
20636         (REG_UNALLOCATED): Renamed from REGS_UNALLOCATED.
20637         (REG_REALLOCATE): Renamed from REGS_REALLOCATE.
20638         (REG_FIXED): Renamed from REGS_FIXED.
20639         (REG_NREGS): Renamed from RE_NREGS.
20640
20641         (REG_ICASE, REG_NEWLINE, REG_NOSUB): Do not depend on the values
20642         of other REG_* macros, since POSIX says the user is allowed to
20643         #undef these macros selectively.
20644
20645         (reg_errcode_t): Update comment stating what other tables need
20646         to be consistent.
20647
20648         Rename the following enum values to obey POSIX requirements.
20649         The old names are still visible as macros.
20650         (_REG_ENOSYS): Renamed from REG_ENOSYS.  Define even if _XOPEN_SOURCE
20651         is not defined, since GNU is supposed to be a superset of POSIX as
20652         much as possible, and since we want reg_errcode_t to be a signed
20653         type for implementation consistency.
20654         (_REG_NOERROR): Renamed from REG_NOERROR.
20655         (_REG_NOMATCH): Renamed from REG_NOMATCH.
20656         (_REG_BADPAT): Renamed from REG_BADPAT.
20657         (_REG_ECOLLATE): Renamed from REG_ECOLLATE.
20658         (_REG_ECTYPE): Renamed from REG_ECTYPE.
20659         (_REG_EESCAPE): Renamed from REG_EESCAPE.
20660         (_REG_ESUBREG): Renamed from REG_ESUBREG.
20661         (_REG_EBRACK): Renamed from REG_EBRACK.
20662         (_REG_EPAREN): Renamed from REG_EPAREN.
20663         (_REG_EBRACE): Renamed from REG_EBRACE.
20664         (_REG_BADBR): Renamed from REG_BADBR.
20665         (_REG_ERANGE): Renamed from REG_ERANGE.
20666         (_REG_ESPACE): Renamed from REG_ESPACE.
20667         (_REG_BADRPT): Renamed from REG_BADRPT.
20668         (_REG_EEND): Renamed from REG_EEND.
20669         (_REG_ESIZE): Renamed from REG_ESIZE.
20670         (_REG_ERPAREN): Renamed from REG_ERPAREN.
20671         (REG_ENOSYS, REG_NOERROR, REG_NOMATCH, REG_BADPAT, REG_ECOLLATE):
20672         (REG_ECTYPE, REG_EESCAPE, REG_ESUBREG, REG_EBRACK, REG_EPAREN):
20673         (REG_EBRACE, REG_BADBR, REG_ERANGE, REG_ESPACE, REG_BADRPT, REG_EEND):
20674         (REG_ESIZE, REG_ERPAREN): Now macros, not enum constants.
20675
20676         (_REG_RE_NAME, _REG_RM_NAME): New macros.
20677         (REG_TRANSLATE_TYPE): Renamed from RE_TRANSLATE_TYPE.  All uses
20678         changed.  But support the old name if the new one is not defined
20679         and if _REGEX_SOURCE.
20680
20681         Change the following member names in struct re_pattern_buffer.
20682         The old names are still supported if !_REGEX_SOURCE.
20683         The new names are always supported, regardless of _REGEX_SOURCE.
20684         (re_buffer): Renamed from buffer.
20685         (re_allocated): Renamed from allocated.
20686         (re_used): Renamed from used.
20687         (re_syntax): Renamed from syntax.
20688         (re_fastmap): Renamed from fastmap.
20689         (re_translate): Renamed from translate.
20690         (re_can_be_null): Renamed from can_be_null.
20691         (re_regs_allocated): Renamed from regs_allocated.
20692         (re_fastmap_accurate): Renamed from fastmap_accurate.
20693         (re_no_sub): Renamed from no_sub.
20694         (re_not_bol): Renamed from not_bol.
20695         (re_not_eol): Renamed from not_eol.
20696         (re_newline_anchor): Renamed from newline_anchor.
20697
20698         Change the following member names in struct re_registers.
20699         The old names are still supported if !_REGEX_SOURCE.
20700         The new names are always supported, regardless of _REGEX_SOURCE.
20701         (rm_num_regs): Renamed from num_regs.
20702         (rm_start): Renamed from start.
20703         (rm_end): Renamed from end.
20704
20705         (re_set_syntax, re_compile_pattern, re_compile_fastmap):
20706         (re_search, re_search_2, re_match, re_match_2, re_set_registers):
20707         Prepend __ to parameter names.
20708
20709         Undo yesterday's changes.
20710
20711 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
20712
20713         * config/srclist.txt: Remove glibc bug 1233 and add 1236, which
20714         supersedes it. Add glibc bugs 1237, 1238, 1240.  Comment out
20715         lib/regex.c.
20716
20717 2005-08-24  Jim Meyering  <jim@meyering.net>
20718
20719         Sync from coreutils.
20720         * m4/fcntl-safer.m4: New file.
20721
20722         * m4/xgetcwd.m4: Use AC_LIBSOURCES and AC_LIBOBJ to indicate source
20723         and object files for this module.
20724
20725 2005-08-24  Jim Meyering  <jim@meyering.net>
20726
20727         Sync from coreutils.
20728         * lib/fcntl--.h, lib/fcntl-safer.h, lib/open-safer.c: New files.
20729
20730 2005-08-24  Jim Meyering  <jim@meyering.net>
20731
20732         * modules/xgetcwd (Makefile.am): Remove `lib_SOURCES += ...' line,
20733         now that xgetcwd.m4 requires xgetcwd.c and xgetcwd.h.
20734
20735 2005-08-24  Jim Meyering  <jim@meyering.net>
20736
20737         * modules/fcntl-safer: New module.
20738         * modules/fts (Depends-on): Add fcntl-safer.
20739         * MODULES.html.sh (File descriptor based Input/Output):
20740         Add fcntl-safer.
20741
20742 2005-08-24  Bruno Haible  <bruno@clisp.org>
20743
20744         Support for unit test modules.
20745         * modules/README: Mention tests modules.
20746         * modules/TEMPLATE-TESTS: New file.
20747         * gnulib-tool: New options --extract-tests-module, --with-tests and
20748         --tests-base (unused for the moment).
20749         (testsbase, inctests): New variables.
20750         (func_all_modules): Exclude TEMPLATE-TESTS and *-tests.
20751         (func_verify_module): Exclude TEMPLATE-TESTS.
20752         (func_verify_nontests_module, func_verify_tests_module): New functions.
20753         (func_get_dependencies): Add implicit dependency for tests modules.
20754         (func_get_tests_module): New function.
20755         (func_modules_transitive_closure): When --with-tests was specified,
20756         include the unit tests as well, unless explicitly avoided.
20757         (func_emit_lib_Makefile_am): Ignore the tests modules here.
20758         (func_emit_tests_Makefile_am): New function.
20759         (func_create_testdir): When --with-tests was specified, emit a
20760         tests/ directory.
20761         * MODULES.html.sh (Future developments): Update.
20762
20763 2005-08-24  Bruno Haible  <bruno@clisp.org>
20764
20765         * modules/tls-tests: New file.
20766         * tests/test-tls.c: New file, from GNU gettext.
20767
20768 2005-08-24  Bruno Haible  <bruno@clisp.org>
20769
20770         * modules/lock-tests: New file.
20771         * tests/test-lock.c: New file, from GNU gettext.
20772
20773 2005-08-24  Bruno Haible  <bruno@clisp.org>
20774
20775         * lib/lock.h: Add multiple inclusion guard.
20776         * lib/tls.h: Add multiple inclusion guard.
20777
20778 2005-08-24  Bruno Haible  <bruno@clisp.org>
20779
20780         * gnulib-tool: Add support for the --aux-dir option to
20781         --create-testdir, --create-megatestdir, --test, --megatest.
20782         (func_create_testdir, func_create_megatestdir): Optionally emit a
20783         AC_CONFIG_AUX_DIR directive.
20784         (create-testdir, create-megatestdir, test, megatest): Provide a
20785         default value for $auxdir.
20786
20787 2005-08-24  Bruno Haible  <bruno@clisp.org>
20788
20789         * gnulib-tool (import): Use compound statement instead of subshell
20790         where possible.
20791
20792 2005-08-24  Bruno Haible  <bruno@clisp.org>
20793
20794         * gnulib-tool (import): Change --aux-dir default to "build-aux".
20795
20796 2005-08-24  Bruno Haible  <bruno@clisp.org>
20797
20798         * gnulib-tool (func_version): Update.
20799
20800 2005-08-24  Bruno Haible  <bruno@clisp.org>
20801
20802         * gnulib-tool (func_import, func_create_testdir,
20803         func_create_megatestdir): Quote all autoconf macro arguments.
20804
20805 2005-08-24  Bruno Haible  <bruno@clisp.org>
20806
20807         * gnulib-tool (func_create_megatestdir): Call autoreconf without the
20808         option --force, because --force causes the aclocal.m4 of each
20809         subdirectory to be newer than the corresponding config.h.in.
20810
20811 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
20812
20813         * m4/regex.m4 (gl_INCLUDED_REGEX): Remove; no longer used.
20814         All contents moved to gl_REGEX.
20815         (gl_REGEX): Don't bother checking whether lib/regex.c exists;
20816         assume that it does.
20817
20818 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
20819
20820         * lib/regex.h (REG_NOSYS)
20821         [!defined _XOPEN_SOURCE && 200112L <= _POSIX_C_SOURCE]:
20822         Define, since POSIX requires it as of 2001.
20823         (_REG_ENOSYS)
20824         [! (defined _XOPEN_SOURCE || 200112L <= _POSIX_C_SOURCE)]:
20825         New private symbol, used to keep the enum signed in all cases.
20826         * lib/regex.h (RE_NO_EMPTY_RANGES): Fix doc bug reported by James
20827         Youngman in
20828         <http://lists.gnu.org/archive/html/bug-gnulib/2005-07/msg00132.html>.
20829
20830         * lib/regex_internal.c (re_string_skip_chars, register_state):
20831         (calc_state_hash):
20832         Remove forward decls; no longer needed now that we use prototypes.
20833         * lib/regexec.c (acquire_init_state_context, check_halt_node_context):
20834         (proceed_next_node, pop_fail_stack, sub_epsilon_src_nodes):
20835         (clean_state_log_if_needed): Likewise.
20836
20837 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
20838
20839         * config/srclist.txt: Add glibc bugs 1231-1233.
20840
20841 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
20842
20843         Fix problems reported by Sam Steingold in
20844         <http://lists.gnu.org/archive/html/bug-gnulib/2005-08/msg00007.html>.
20845         * lib/regexec.c (sift_states_bkref): Fix portability bug: the code
20846         assumed that reg_errcode_t is a signed type, which is not
20847         necessarily true if _XOPEN_SOURCE is not defined.
20848         * lib/regex_internal.c (calc_state_hash): Put 'inline' before type,
20849         since some compilers warn about it otherwise.
20850
20851 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
20852
20853         * lib/regcomp.c (create_initial_state): Remove duplicate decl.
20854         (init_word_char, create_initial_state, duplicate_node_closure):
20855         (fetch_token, peek_token_bracket, build_range_exp):
20856         (build_collating_symbol): Remove forward decls; no longer needed
20857         now that we use prototypes.
20858
20859         * lib/regcomp.c:
20860         (re_compile_pattern, re_set_syntax, re_compile_fastmap):
20861         (re_compile_fastmap_iter, regcomp, regerror, regfree):
20862         (re_compile_internal, init_dfa, init_word_char, free_workarea_compile):
20863         (create_initial_state, optimize_utf8, analyze, postorder, preorder):
20864         (optimize_subexps, lower_subexps, lower_subexp, calc_first, calc_next):
20865         (link_nfa_nodes, duplicate_node_closure, search_duplicated_node):
20866         (duplicate_node, calc_inveclosure, calc_eclosure, calc_eclosure_iter):
20867         (fetch_token, peek_token, peek_token_bracket, parse, parse_reg_exp):
20868         (parse_branch, parse_expression, parse_sub_exp, parse_dup_op):
20869         (build_range_exp, build_collating_symbol, parse_bracket_exp):
20870         (parse_bracket_element, parse_bracket_symbol, build_equiv_class):
20871         (build_charclass, build_charclass_op, fetch_number, create_tree):
20872         (create_token_tree, mark_opt_subexp, duplicate_tree):
20873         Use prototypes rather than old-style definitions.
20874
20875         * lib/regex_internal.c:
20876         (re_string_allocate, re_string_construct, re_string_realloc_buffers):
20877         (re_string_construct_common, build_wcs_buffer, build_wcs_upper_buffer):
20878         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
20879         (re_string_reconstruct, re_string_peek_byte_case):
20880         (re_string_fetch_byte_case, re_string_destruct, re_string_context_at):
20881         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
20882         (re_node_set_init_copy, re_node_set_add_intersect):
20883         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
20884         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
20885         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
20886         (re_acquire_state, re_acquire_state_context, register_state):
20887         (create_ci_newstate, create_cd_newstate, free_state):
20888         Likewise.
20889         * lib/regexec.c (regexec, re_match, re_search, re_match_2,
20890         re_search_2):
20891         (re_search_2_stub, re_search_stub, re_copy_regs, re_set_registers):
20892         (re_search_internal, prune_impossible_nodes):
20893         (acquire_init_state_context, check_matching, static):
20894         (check_halt_node_context, check_halt_state_context, proceed_next_node):
20895         (push_fail_stack, pop_fail_stack, set_regs, free_fail_stack_return):
20896         (update_regs, sift_states_backward, build_sifted_states):
20897         (clean_state_log_if_needed, merge_state_array):
20898         (update_cur_sifted_state, add_epsilon_src_nodes):
20899         (sub_epsilon_src_nodes, check_dst_limits, check_dst_limits_calc_pos_1):
20900         (check_dst_limits_calc_pos, check_subexp_limits, sift_states_bkref):
20901         (sift_states_iter_mb, transit_state, merge_state_with_log, static):
20902         (find_recover_state, check_subexp_matching_top, transit_state_mb):
20903         (transit_state_bkref, get_subexp, get_subexp_sub, find_subexp_node):
20904         (check_arrival, check_arrival_add_next_nodes):
20905         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
20906         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
20907         (check_node_accept_bytes, check_node_accept, extend_buffers):
20908         (match_ctx_init, match_ctx_clean, match_ctx_free, match_ctx_add_entry):
20909         (search_cur_bkref_entry, match_ctx_add_subtop, match_ctx_add_sublast):
20910         (sift_ctx_init):
20911         Likewise.
20912
20913         * lib/regex_internal.h:
20914         (re_string_allocate, re_string_construct, re_string_reconstruct):
20915         (re_string_realloc_buffers, build_wcs_buffer, build_wcs_upper_buffer):
20916         (build_upper_buffer, re_string_translate_buffer, re_string_destruct):
20917         (re_string_elem_size_at, re_string_char_size_at, re_string_wchar_at):
20918         (re_string_context_at, re_string_peek_byte_case):
20919         (re_string_fetch_byte_case): Declare even if RE_NO_INTERNAL_PROTOTYPES
20920         is defined, since we now use prototypes always.
20921
20922         * lib/regex.h (_RE_ARGS): Remove.  No longer needed, since we assume
20923         C89 or better.  All uses removed.
20924
20925 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
20926
20927         * config/srclist.txt: Add glibc bugs 1220-1227.
20928
20929 2005-08-20  Jim Meyering  <jim@meyering.net>
20930
20931         * lib/regexec.c (regexec, re_search_stub) [!_LIBC]: Omit declaration
20932         of unused local, dfa.
20933
20934 2005-08-20  Bruno Haible  <bruno@clisp.org>
20935
20936         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_GNU_SOURCE.
20937
20938 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
20939
20940         * lib/regex_internal.c (re_string_realloc_buffers, re_node_set_insert):
20941         (re_node_set_insert_last, re_dfa_add_node):
20942         Rename local variables to avoid GCC shadowing warnings.
20943
20944 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
20945
20946         * lib/regex_internal.c (re_acquire_state, re_acquire_state_context)
20947         [defined lint]: Suppress bogus uninitialized-variable warnings.
20948
20949         * lib/regcomp.c (duplicate_node): Return new index, not an error code,
20950         and let the caller return REG_ESPACE if out of space.  This
20951         removes an uninitialied-variable warning with GCC 4.0.1, and also
20952         avoids taking the address of a local variable.  All callers
20953         changed.
20954
20955 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
20956
20957         * config/srclist.txt: Comment out $LIBCSRC/posix/regex_internal.c,
20958         $LIBCSRC/posix/regexec.c.
20959         Add glibc bug 1217 for regcomp.c.
20960
20961 2005-08-19  Jim Meyering  <jim@meyering.net>
20962
20963         * lib/regexec.c (proceed_next_node): Redo local variables to
20964         avoid GCC shadowing warnings.
20965
20966 2005-08-18  Bruno Haible  <bruno@clisp.org>
20967
20968         * lib/strstr.c (strstr): Fix return value in multibyte case.
20969         * lib/strcasestr.c (strcasestr): Likewise.
20970
20971 2005-08-17  Paul Eggert  <eggert@cs.ucla.edu>
20972
20973         * lib/regex.h: Remove useless space-before-tab.  From coreutils.
20974
20975 2005-08-17  Jim Meyering  <jim@meyering.net>
20976
20977         Make the %s format (seconds since the epoch) work for a negative
20978         number and when used with a zero-padded field width, e.g. %015s.
20979
20980         * lib/strftime.c (my_strftime): Move the `do_number_sign_and_padding'
20981         label so that it precedes the code to set `digits'.  Otherwise,
20982         %0Ns wouldn't work.  Before this change, `date -d @-22 +%05s' would
20983         print `00-22'.  Now, it prints `-0022', as it should.
20984
20985 2005-08-17  Bruno Haible  <bruno@clisp.org>
20986
20987         * modules/strstr (Files): Add m4/mbrtowc.m4.
20988         (Depends-on): Add mbuiter.
20989
20990 2005-08-17  Bruno Haible  <bruno@clisp.org>
20991
20992         * modules/strcasestr: New file.
20993         * MODULES.html.sh (String handling, based on ANSI C 89): Add
20994         strcasestr.
20995
20996 2005-08-17  Bruno Haible  <bruno@clisp.org>
20997
20998         * modules/strcase (Depends-on): Add mbuiter. Remove strnlen1, mbchar.
20999
21000 2005-08-17  Bruno Haible  <bruno@clisp.org>
21001
21002         * modules/mbuiter: New file.
21003         * MODULES.html.sh (Extended multibyte and wide character utilities):
21004         Add mbuiter.
21005
21006 2005-08-17  Bruno Haible  <bruno@clisp.org>
21007
21008         * m4/strstr.m4 (gl_FUNC_STRSTR): Use the replacement function always.
21009         (gl_PREREQ_STRSTR): Use gl_FUNC_MBRTOWC.
21010
21011 2005-08-17  Bruno Haible  <bruno@clisp.org>
21012
21013         * m4/strcasestr.m4: New file.
21014
21015 2005-08-17  Bruno Haible  <bruno@clisp.org>
21016
21017         * lib/strstr.h: Ignore HAVE_STRSTR, always declare the gnulib function.
21018         * lib/strstr.c: Completely rewritten, with multibyte locale support.
21019
21020 2005-08-17  Bruno Haible  <bruno@clisp.org>
21021
21022         * lib/strcasestr.h: New file.
21023         * lib/strcasestr.c: New file.
21024
21025 2005-08-17  Bruno Haible  <bruno@clisp.org>
21026
21027         * lib/strcasecmp.c: Use mbuiter.h.
21028
21029 2005-08-17  Bruno Haible  <bruno@clisp.org>
21030
21031         * lib/mbuiter.h: New file.
21032
21033 2005-08-16  Paul Eggert  <eggert@cs.ucla.edu>
21034
21035         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Do not override the results
21036         of gl_GETOPT_SUBSTITUTE.  That way, if both gl_GETOPT_SUBSTITUTE
21037         and gl_GETOPT are both invoked via different paths (as happens
21038         with GNU tar CVS because it uses both argp and getopt), the former
21039         wins.
21040
21041 2005-08-16  Bruno Haible  <bruno@clisp.org>
21042
21043         * modules/tls: New file.
21044         * MODULES.html.sh (Multithreading): Add tls.
21045
21046 2005-08-16  Bruno Haible  <bruno@clisp.org>
21047
21048         * modules/strnlen1: New file.
21049         * MODULES.html.sh (String handling): Add strnlen1.
21050
21051 2005-08-16  Bruno Haible  <bruno@clisp.org>
21052
21053         * modules/strcase (Files): Add m4/mbrtowc.m4.
21054         (Depends-on): Add strnlen1, mbchar.
21055
21056 2005-08-16  Bruno Haible  <bruno@clisp.org>
21057
21058         * modules/mbiter: New file.
21059         * MODULES.html.sh (Extended multibyte and wide character utilities):
21060         Add mbiter.
21061
21062 2005-08-16  Bruno Haible  <bruno@clisp.org>
21063
21064         * modules/mbfile: New file.
21065         * MODULES.html.sh (Extended multibyte and wide character utilities):
21066         Add mbfile.
21067
21068 2005-08-16  Bruno Haible  <bruno@clisp.org>
21069
21070         * modules/mbchar: New file.
21071         * MODULES.html.sh (Extended multibyte and wide character utilities):
21072         New section.
21073
21074 2005-08-16  Bruno Haible  <bruno@clisp.org>
21075
21076         * m4/tls.m4: New file, from GNU gettext.
21077
21078 2005-08-16  Bruno Haible  <bruno@clisp.org>
21079
21080         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Use the replacement function
21081         always.
21082         (gl_PREREQ_STRCASECMP): Use gl_FUNC_MBRTOWC.
21083
21084 2005-08-16  Bruno Haible  <bruno@clisp.org>
21085
21086         * m4/mbiter.m4: New file.
21087
21088 2005-08-16  Bruno Haible  <bruno@clisp.org>
21089
21090         * m4/mbfile.m4: New file.
21091
21092 2005-08-16  Bruno Haible  <bruno@clisp.org>
21093
21094         * m4/mbchar.m4: New file.
21095
21096 2005-08-16  Bruno Haible  <bruno@clisp.org>
21097
21098         * lib/tls.h: New file, from GNU gettext.
21099         * lib/tls.c: New file, from GNU gettext.
21100
21101 2005-08-16  Bruno Haible  <bruno@clisp.org>
21102
21103         * lib/strnlen1.h: New file.
21104         * lib/strnlen1.c: New file.
21105
21106 2005-08-16  Bruno Haible  <bruno@clisp.org>
21107
21108         * lib/strcasecmp.c (struct mbiter_multi): Remove at_end field.
21109         (mbi_init): Update.
21110         (mbi_avail, mbi_advance): Let the iteration end before the terminating
21111         NUL byte, not after it.
21112
21113 2005-08-16  Bruno Haible  <bruno@clisp.org>
21114
21115         * lib/strcase.h (strcasecmp): Add note in comments.
21116         * lib/strncasecmp.c: Use code from strcasecmp.c.
21117         * lib/strcasecmp.c: Use mbchar module. Define private mbiter variant.
21118         (strcasecmp): Work correctly in multibyte locales.
21119
21120 2005-08-16  Bruno Haible  <bruno@clisp.org>
21121
21122         * lib/mbiter.h: New file.
21123
21124 2005-08-16  Bruno Haible  <bruno@clisp.org>
21125
21126         * lib/mbfile.h: New file.
21127
21128 2005-08-16  Bruno Haible  <bruno@clisp.org>
21129
21130         * lib/mbchar.h: New file.
21131         * lib/mbchar.c: New file.
21132
21133 2005-08-16  Bruno Haible  <bruno@clisp.org>
21134
21135         * lib/mbchar.h (mb_cmp, mb_casecmp): Order the invalid characters after
21136         the valid ones. Makes the comparison operations transitive:
21137         cmp (a, b) < 0 && cmp (b, c) < 0 ==> cmp (a, c) < 0.
21138         * lib/strcasecmp.c (strcasecmp): Use mb_casecmp.
21139
21140 2005-08-15  Simon Josefsson  <jas@extundo.com>
21141
21142         * modules/ssize_t (License): Change to 'unlimited'.
21143
21144         * gnulib-tool (sed_extract_prog): Recognize 'unlimited' license.
21145
21146 2005-08-15  Paul Eggert  <eggert@cs.ucla.edu>
21147
21148         * config/srclist.txt: Comment out $LIBCSRC/posix/regex.h.
21149         Add comments for each pending glibc patch.
21150
21151 2005-08-15  Bruno Haible  <bruno@clisp.org>
21152
21153         * lib/regex.h (__restrict_arr): Don't define to __restrict if
21154         __cplusplus is defined.
21155
21156 2005-08-14  Jim Meyering  <jim@meyering.net>
21157
21158         Sync from coreutils.
21159
21160         * lib/fts-cycle.c (setup_dir, enter_dir, leave_dir, free_dir):
21161         Use the hash-table-based cycle-detection code not just when
21162         FTS_TIGHT_CYCLE_CHECK if specified, but also with FTS_LOGICAL.
21163         Reported by James Youngman in
21164         <http://lists.gnu.org/archive/html/bug-gnulib/2005-08/msg00011.html>.
21165         * lib/fts_.h: Mention that with FTS_LOGICAL, we use
21166         FTS_TIGHT_CYCLE_CHECK.
21167         * lib/fts.c (fts_cross_check) [FTS_DEBUG]:
21168         s/active_dir_ht/fts_cycle.ht/. This lets us compile with -DFTS_DEBUG,
21169         once again.
21170         * lib/fts.c [! _LIBC]: Include "lstat.h" rather than rolling our own.
21171         * lib/fts.c (fd_safer): Remove decl.
21172         Include fcntl--.h rather than unistd-safer.h
21173         (fts_safe_changedir): Don't call fd_safer; no longer needed
21174         now that we include fcntl--.h.
21175
21176 2005-08-12  Simon Josefsson  <jas@extundo.com>
21177
21178         * modules/getndelim2: Use ssize_t module.
21179         * modules/getnline: Likewise.
21180         * modules/safe-read: Likewise.
21181         * modules/xreadlink: Likewise.
21182
21183         * modules/ssize_t: New file.
21184
21185 2005-08-12  Simon Josefsson  <jas@extundo.com>
21186
21187         * m4/readline.m4: Look for termcap, curses or ncurses if required.
21188
21189 2005-08-12  Simon Josefsson  <jas@extundo.com>
21190
21191         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
21192         ssize_t.
21193
21194 2005-08-12  Simon Josefsson  <jas@extundo.com>
21195
21196         * MODULES.html.sh (Extra functions based on ANSI C 89: Misc): Add
21197         readline, getdelim and check_version.
21198         (Support for systems lacking ISO C 99: Sizes of integer types):
21199         Add size_max.
21200
21201 2005-08-12  Bruno Haible  <bruno@clisp.org>
21202
21203         * m4/readline.m4 (gl_FUNC_READLINE): Look for ncurses first.
21204
21205 2005-08-11  Simon Josefsson  <jas@extundo.com>
21206
21207         * modules/readline: New file.
21208
21209         * modules/strnlen (Files): Add strnlen.h.
21210
21211 2005-08-11  Simon Josefsson  <jas@extundo.com>
21212
21213         * m4/readline.m4: New file.
21214
21215 2005-08-11  Simon Josefsson  <jas@extundo.com>
21216
21217         * lib/readline.h, readline.c: New file.
21218
21219 2005-08-11  Simon Josefsson  <jas@extundo.com>
21220
21221         * doc/gnulib.texi (Initial import, Finishing touches): Mention
21222         gl_AVOID.
21223
21224 2005-08-11  Bruno Haible  <bruno@clisp.org>
21225
21226         * lib/strnlen.h (strnlen): Change parameter name to match comment.
21227
21228 2005-08-10  Stepan Kasal  <kasal@ucw.cz>
21229
21230         * m4/onceonly_2_57.m4: Really require Autoconf 2.57.
21231
21232 2005-08-10  Simon Josefsson  <jas@extundo.com>
21233
21234         * tests/test-iconvme.c: New file.
21235
21236 2005-08-10  Simon Josefsson  <jas@extundo.com>
21237
21238         * m4/strnlen.m4: New file.
21239
21240         * m4/strndup.m4: Don't check for strnlen declaration, done in
21241         strnlen.m4.
21242
21243 2005-08-10  Simon Josefsson  <jas@extundo.com>
21244
21245         * lib/strndup.c: Use strnlen.h.
21246
21247         * lib/strnlen.h: New file.
21248
21249 2005-08-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
21250
21251         * README: Typos.
21252
21253 2005-08-02  Simon Josefsson  <jas@extundo.com>
21254
21255         * modules/readline: New file.
21256
21257 2005-08-02  Simon Josefsson  <jas@extundo.com>
21258
21259         * modules/getdelim: New file.
21260
21261         * modules/getline: Rewrite, don't use getndelim2.
21262
21263 2005-08-02  Simon Josefsson  <jas@extundo.com>
21264
21265         * m4/getline.m4: Separate out getdelim stuff into separate module.
21266
21267         * m4/getdelim.m4: New file.
21268
21269 2005-08-02  Simon Josefsson  <jas@extundo.com>
21270
21271         * lib/getline.h, getline.c: Rewrite.
21272
21273         * lib/getdelim.h, lib/getdelim.c: New files, ported from glibc.
21274
21275 2005-07-31  Bruno Haible  <bruno@clisp.org>
21276
21277         * lib/lock.h (gl_lock_initializer): New macro.
21278         (gl_lock_define_initialized): Use it.
21279         (gl_rwlock_initializer): New macro.
21280         (gl_rwlock_define_initialized): Use it.
21281         (gl_recursive_lock_initializer): New macro.
21282         (gl_recursive_lock_define_initialized): Use it.
21283
21284 2005-07-30  Karl Berry  <karl@gnu.org>
21285
21286         * doc/gnulib.texi (Initial import): mention -I$(top_builddir)/lib.
21287         Report from Ben Pfaff, regarding getopt.
21288
21289 2005-07-26  Paul Eggert  <eggert@cs.ucla.edu>
21290
21291         Add support to getopt for Emacs, which doesn't use LIBOBJS in the
21292         normal way.
21293         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE_HEADER): New macro.
21294         (gl_GETOPT_SUBSTITUTE): Use it.  Invoke gl_PREREQ_GETOPT.
21295         (gl_GETOPT_IFELSE, gl_GETOPT_CHECK_HEADERS): New macros.
21296         (gl_GETOPT): Use the new macros.  Most of the implementation
21297         is moved to the new macros.  This is for programs like Emacs
21298         that don't want all the functionality of gl_GETOPT.
21299
21300 2005-07-26  Bruno Haible  <bruno@clisp.org>
21301
21302         * m4/lock.m4: Update from GNU gettext.
21303
21304 2005-07-26  Bruno Haible  <bruno@clisp.org>
21305
21306         * lib/lock.h: Update from GNU gettext.
21307         * lib/lock.c: Update from GNU gettext.
21308
21309 2005-07-25  Paul Eggert  <eggert@cs.ucla.edu>
21310
21311         * m4/regex.m4 (gl_INCLUDED_REGEX): Use AC_RUN_IFELSE instead of the
21312         obsolescent AC_TRY_RUN.  Include the default includes files, for
21313         'exit'.
21314
21315 2005-07-24  Bruno Haible  <bruno@clisp.org>
21316
21317         * modules/visibility: New file.
21318         * MODULES.html.sh (Misc): Add visibility.
21319
21320 2005-07-24  Bruno Haible  <bruno@clisp.org>
21321
21322         * m4/visibility.m4: New file.
21323
21324 2005-07-24  Bruno Haible  <bruno@clisp.org>
21325
21326         * doc/visibility.texi: New file.
21327
21328 2005-07-22  Bruno Haible  <bruno@clisp.org>
21329
21330         * modules/alloca-opt (Makefile.am): Remove explicit dependency on
21331         $(ALLOCA_H), redundant through BUILT_SOURCES.
21332         * modules/argz (Makefile.am): Remove explicit dependency on $(ARGZ_H),
21333         redundant through BUILT_SOURCES.
21334         * modules/byteswap (Makefile.am): Remove explicit dependency on
21335         $(BYTESWAP_H), redundant through BUILT_SOURCES.
21336         * modules/fnmatch (Makefile.am): Remove explicit dependency on
21337         $(FNMATCH_H), redundant through BUILT_SOURCES.
21338         * modules/getopt (Makefile.am): Remove explicit dependency on
21339         $(GETOPT_H), redundant through BUILT_SOURCES.
21340         * modules/glob (Makefile.am): Remove explicit dependency on $(GLOB_H),
21341         redundant through BUILT_SOURCES.
21342         * modules/poll (Makefile.am): Remove explicit dependency on $(POLL_H),
21343         redundant through BUILT_SOURCES.
21344         * modules/stdbool (Makefile.am): Remove explicit dependency on
21345         $(STDBOOL_H), redundant through BUILT_SOURCES.
21346         * modules/stdint (Makefile.am): Remove explicit dependency on
21347         $(STDINT_H), redundant through BUILT_SOURCES.
21348         * modules/sysexits (Makefile.am): Add $(SYSEXITS_H) to BUILT_SOURCES.
21349         Remove explicit dependency on $(SYSEXITS_H).
21350         Reported by Alexandre Duret-Lutz <adl@src.lip6.fr>.
21351
21352 2005-07-18  Simon Josefsson  <jas@extundo.com>
21353
21354         * lib/check-version.c (check_version): Accept identical versions too.
21355
21356 2005-07-18  Bruno Haible  <bruno@clisp.org>
21357
21358         * modules/lock: New file.
21359         * MODULES.html.sh (Multithreading): New section.
21360
21361 2005-07-18  Bruno Haible  <bruno@clisp.org>
21362
21363         * m4/lock.m4: New file, from GNU gettext.
21364
21365 2005-07-18  Bruno Haible  <bruno@clisp.org>
21366
21367         * lib/lock.h: New file, from GNU gettext.
21368         * lib/lock.c: New file, from GNU gettext.
21369
21370 2005-07-18  Bruno Haible  <bruno@clisp.org>
21371
21372         * lib/lock.h (gl_once_t): New type.
21373         (gl_once_define, gl_once): New macros.
21374         * lib/lock.c (fresh_once): New variable.
21375         (glthread_once, glthread_once_call, glthread_once_singlethreaded): New
21376         functions.
21377
21378 2005-07-16  Simon Josefsson  <jas@extundo.com>
21379
21380         * doc/gnulib.texi (Library version handling): Add ELF symbol collision
21381         workaround, suggested by Bruno.
21382
21383 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
21384
21385         * modules/xalloc (Depends-on): Add xalloc-die.
21386         * modules/xvasprintf (Depends-on): Add xalloc-die.
21387
21388 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
21389
21390         * lib/quotearg.c: Add translator comment suggested by Bruno Haible,
21391         with a minor change.
21392
21393 2005-07-15  Bruno Haible  <bruno@clisp.org>
21394
21395         * m4/poll.m4 (gl_FUNC_POLL): Check against MacOS X 10.4 poll() bug.
21396         When using lib/poll.c, define poll as rpl_poll.
21397
21398 2005-07-14  Paul Eggert  <eggert@cs.ucla.edu>
21399
21400         * modules/argp (Depends-on): Remove unlocked-io.
21401
21402 2005-07-14  Derek Price  <derek@ximbiot.com>
21403
21404         * m4/glob.m4 (gl_GLOB): Cache glob interface check result.  Add check
21405         for glob symlink bug.
21406
21407 2005-07-14  Bruno Haible  <bruno@clisp.org>
21408
21409         * m4/argp.m4 (gl_ARGP): Remove invocation of gl_FUNC_GLIBC_UNLOCKED_IO.
21410         Instead, test for *_unlocked function declarations directly.
21411
21412 2005-07-11  Simon Josefsson  <jas@extundo.com>
21413
21414         * modules/size_max: New file.
21415
21416         * modules/xsize: Depend on size_max module for size_max.m4.
21417
21418 2005-07-11  Simon Josefsson  <jas@extundo.com>
21419
21420         * lib/size_max.h: New file.
21421
21422 2005-07-11  Paul Eggert  <eggert@cs.ucla.edu>
21423
21424         * lib/version-etc-fsf.c (version_etc_copyright): Parameterize the
21425         copyright symbol and the year.
21426         * lib/version-etc.c (COPYRIGHT_YEAR): New constant.
21427         (version_etc_va): Use parameterized copyright notice.
21428         Reword to conform to the current GNU coding standards.
21429
21430 2005-07-11  Karl Berry  <karl@gnu.org>
21431
21432         * doc/gnulib.texi (Quoting): new node.
21433         (Initial import): more info, from Patrice.
21434
21435 2005-07-11  Bruno Haible  <bruno@clisp.org>
21436
21437         * gnulib-tool (func_usage): Document option --avoid.
21438         (Command line options): Handle --avoid.
21439         (func_acceptable): New function.
21440         (func_modules_transitive_closure): Use it.
21441
21442 2005-07-11  Bruno Haible  <bruno@clisp.org>
21443
21444         * MODULES.html.sh: Use shortcut URLs to the www.opengroup.org site.
21445         Reported by Jim Meyering.
21446
21447 2005-07-10  Bruno Haible  <bruno@clisp.org>
21448
21449         * m4/size_max.m4 (gl_SIZE_MAX): Cast ~(size_t)0 back to size_t.
21450         Needed when size_t is smaller than 'unsigned int'.
21451         Reported by Paul Eggert.
21452
21453 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
21454
21455         * modules/argp (Depends-on): Add unlocked-io
21456
21457 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
21458
21459         * lib/argp-namefrob.h: Include unlocked-io.h. Removed unnecessary
21460         block of defines.
21461
21462 2005-07-08  Paul Eggert  <eggert@cs.ucla.edu>
21463
21464         * config/srclist.txt: Comment out regcomp.c, since we have a porting
21465         fix now.
21466
21467 2005-07-08  Eric Blake  <ebb9@byu.net>  (tiny change)
21468         and Paul Eggert  <eggert@cs.ucla.edu>
21469
21470         * lib/regcomp.c (init_dfa, build_range_exp): Store __btowc value
21471         in wint_t, not wchar_t.  Remove now-unnecessary cast.
21472
21473 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
21474
21475         * modules/regex (Files): Add lib/regex_internal.c,
21476         lib/regex_internal.h, lib/regexec.c, lib/regcomp.c, m4/codeset.m4.
21477         (Depends-on): Add extensions.
21478         (Makefile.am): Remove lib_SOURCES; now done by m4 code.
21479
21480 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
21481
21482         * m4/backupfile.m4 (gl_BACKUPFILE): Use AC_CHECK_FUNCS_ONCE on
21483         pathconf.
21484         * m4/same.m4 (gl_SAME): Likewise.
21485         Require AC_SYS_LONG_FILE_NAMES; bug reported by Gerrit P. Haase.
21486
21487         * m4/regex.m4: Adjust to new libc regex implementation.
21488         (gl_INCLUDED_REGEX): Add AC_LIBSOURCES for
21489         all the .c and .h parts of (the new) regex.
21490         Quote the m4 stuff better.
21491         Check for RE_ICASE bug of old gnulib.
21492         Check for REG_STARTEND of recent libc.
21493         Rename local variables from jm_* to gl_*.
21494         Quote operand of "test -f".
21495         Say "recent enough" version of libc, not "version 2".
21496         (gl_PREREQ_REGEX): Remove AC_FUNC_ALLOCA, since alloca is a
21497         prerequisite module.  Remove AC_HEADER_STDC; no longer needed.
21498         Check for locale.h, isblank, mbrtowc, wcrtomb, wcscoll.
21499         Remove check for btowc, isascii.
21500         Require AM_LANGINFO_CODESET.
21501
21502 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
21503
21504         * lib/regex.c, regex.h: Sync from libc.
21505         * lib/regcomp.c, lib/regexec_internal.c, lib/regex_internal.h:
21506         * lib/regexec.c:
21507         New files, synced from libc, except that regex_internal.h
21508         currently has a small porting fix.
21509
21510 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
21511
21512         * config/srclist.txt: Add regcomp.c, regex.c, regex.h,
21513         regex_internal.c, regexec.c.
21514         Add regex_internal.h too, but as a comment, since the libc version
21515         is currently broken in gnulib mode.
21516
21517 2005-07-06  Paul Eggert  <eggert@cs.ucla.edu>
21518
21519         Support programs like Emacs that use gnulib but not gettext.
21520         * MODULES.html.sh (Internationalization functions): Add gettext-h.
21521         * modules/gettext-h: New file.
21522         * modules/gettext (Files): Remove lib/gettext.h.
21523         (Depends-on): Add gettext-h.
21524         (Makefile.am): Remove lib_SOURCES.
21525         * modules/argmatch, modules/c-stack, modules/closeout:
21526         * modules/copy-file, modules/csharpcomp, modules/csharpexec:
21527         * modules/execute, modules/file-type, modules/getaddrinfo:
21528         * modules/getopt, modules/human, modules/javacomp:
21529         * modules/javaexec, modules/mkdir-p, modules/obstack:
21530         * modules/openat, modules/pagealign_alloc, modules/pipe:
21531         * modules/quotearg, modules/regex, modules/rpmatch:
21532         * modules/unicodeio, modules/userspec, modules/version-etc:
21533         * modules/wait-process, modules/xalloc-die, modules/xmemcoll:
21534         * modules/xsetenv:
21535         Depend on gettext-h, not gettext.
21536
21537 2005-07-05  Paul Eggert  <eggert@cs.ucla.edu>
21538
21539         * gnulib-tool (func_import): Add support for 'public domain' license.
21540         * modules/alloca, modules/atexit, modules/memmove:
21541         Now public domain, not GPL.
21542         * modules/dup2, modules/getpagesize, modules/malloc, modules/memset:
21543         * modules/realloc, modules/strerror, modules/strtod:
21544         Now LGPL, not GPL.
21545
21546 2005-07-05  Bruno Haible  <bruno@clisp.org>
21547
21548         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): Upgrade to version from current
21549         autoconf CVS. Needed for mingw.
21550
21551 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
21552
21553         Remove the dependency of the strftime module on the tzset module.
21554         * modules/strftime (Depends-on): Remove dependency on tzset.
21555
21556 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
21557
21558         Remove the dependency of the strftime module on the tzset module.
21559         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't require
21560         gl_FUNC_TZSET_CLOBBER.
21561
21562 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
21563
21564         Remove the dependency of the strftime module on the tzset module.
21565         * lib/strftime.c (my_strftime)
21566         [! defined _LIBC && ! HAVE_RUN_TZSET_TEST]:
21567         Copy the input structure, to work around some of the bug with
21568         Solaris 2.5.1 and Solaris 2.6.  If you still care about these old
21569         Solaris releases, you should also use the tzset module, but we won't
21570         require it as a dependency any more since we don't want LGPLed code
21571         to depend on GPLed code.
21572
21573 2005-07-02  Jim Meyering  <jim@meyering.net>
21574
21575         * m4/chown.m4, cloexec.m4, dup2.m4, fsusage.m4:
21576         * m4/getcwd-path-max.m4, getcwd.m4, mkstemp.m4, mountlist.m4:
21577         * m4/pagealign_alloc.m4, save-cwd.m4, unistd-safer.m4:
21578         Don't check for fcntl.h, and don't test for HAVE_FCNTL_H.
21579
21580 2005-07-02  Jim Meyering  <jim@meyering.net>
21581
21582         * lib/backupfile.c (backup_args): Change a `0' to NULL.
21583
21584 2005-07-01  Paul Eggert  <eggert@cs.ucla.edu>
21585
21586         * lib/xnanosleep.c: Include timespec.h, since OpenBSD 3.4 <time.h>
21587         declares only 'struct timespec;' (!).
21588
21589 2005-07-01  Jim Meyering  <jim@meyering.net>
21590
21591         * lib/chown.c, cloexec.c, dup-safer.c, dup2.c, fsusage.c, getcwd.c:
21592         * lib/getloadavg.c, mountlist.c, openat.h, pagealign_alloc.c:
21593         * lib/save-cwd.c, tempname.c:
21594         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
21595         and don't include <sys/file.h>).
21596
21597 2005-06-29  Jim Meyering  <jim@meyering.net>
21598
21599         * lib/mkdir-p.c (make_dir_parents): Don't apply sizeof to a hard-coded
21600         type name.  Use the variable name instead.
21601         * lib/idcache.c (getuser, getuidbyname, getgroup, getgidbyname):
21602         Likewise.
21603
21604 2005-06-28  Simon Josefsson  <jas@extundo.com>
21605
21606         * modules/check-version (Files): Add check-version.m4.
21607
21608 2005-06-28  Simon Josefsson  <jas@extundo.com>
21609
21610         * m4/check-version.m4: New file, suggested by Jim Meyering
21611         <jim@meyering.net>.
21612
21613 2005-06-28  Simon Josefsson  <jas@extundo.com>
21614
21615         * lib/check-version.h, lib/check-version.c: New files.
21616
21617 2005-06-28  Simon Josefsson  <jas@extundo.com>
21618
21619         * lib/base64.c (base64_encode): Indent.  Rename 'b64' to avoid
21620         collision with global variable.  Better indentation.  Don't
21621         increment buffer pointer beyond buffer end.  Based on comments
21622         from Paul Eggert <eggert@cs.ucla.edu>.
21623
21624         * lib/base64.h: Indent.
21625
21626 2005-06-28  Simon Josefsson  <jas@extundo.com>
21627
21628         * doc/gnulib.texi (Library version handling): New section.
21629
21630 2005-06-28  Jim Meyering  <jim@meyering.net>
21631
21632         * check-module (find_included_lib_files): Hard-code another
21633         pair of exceptions: fts.c includes fts-cycle.c and unistd-safer.h
21634         but modules/fts-lgpl (correctly) does not list those files.
21635
21636         * modules/canonicalize (Files): Add lib/pathmax.h.
21637
21638 2005-06-25  Simon Josefsson  <jas@extundo.com>
21639
21640         * modules/check-version: New file.
21641
21642 2005-06-24  Paul Eggert  <eggert@cs.ucla.edu>
21643
21644         * lib/canon-host.c (canon-host): Append trailing "," to 0 in
21645         initializer of struct addrinfo, as an indication that we don't
21646         care how many members the structure has.
21647
21648 2005-06-24  Derek Price  <derek@ximbiot.com>
21649         and Bruno Haible  <bruno@clisp.org>
21650
21651         Remove stat module & update lstat.
21652         * m4/lstat.m4 (gl_FUNC_LSTAT): Drop AC_FUNC_LSTAT in favor of
21653         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
21654         * m4/stat.m4: Remove this file.
21655
21656 2005-06-24  Derek Price  <derek@ximbiot.com>
21657         and Bruno Haible  <bruno@clisp.org>
21658
21659         Remove stat module & update lstat.
21660         * lib/stat.c: Remove this file...
21661         (slash_aware_lstat): ...moving this content and its support...
21662         * lib/lstat.c (rpl_lstat): ...into here.
21663         * lib/lstat.h: New file.
21664
21665 2005-06-24  Derek Price  <derek@ximbiot.com>
21666         and Bruno Haible  <bruno@clisp.org>
21667
21668         Remove stat module & update lstat.
21669         * config/srclist.txt (libc sources): Remove stat.
21670
21671 2005-06-24  Derek Price  <derek@ximbiot.com>
21672         and Bruno Haible  <bruno@clisp.org>
21673
21674         Remove stat module & update lstat.
21675         * MODULES.html.sh (stat): Remove.
21676         * MODULES.html: Regenerated.
21677         * modules/lstat (Description): Correct function name.
21678         (Files): Add "lstat.h".
21679         (Depends-on): Remove stat, add xalloc, stat-macros.
21680         * modules/stat: Remove this file.
21681         (Include): Add "lstat.h", remove <sys/stat.h>.
21682
21683 2005-06-23  Paul Eggert  <eggert@cs.ucla.edu>
21684
21685         * lib/mktime.c: Include <string.h> even if !DEBUG.  (From glibc.)
21686         (ranged_convert): Don't save conversion in a temporary struct.
21687         This causes a warning with GCC 4.0.0, and anyway in the typical
21688         case it's not worth the extra 100 bytes or so of code.
21689         (ranged_convert, __mktime_internal): When calling a function via a
21690         pointer P, use P () rather than (*P) (), as we now assume C89 or
21691         better.
21692
21693 2005-06-22  Paul Eggert  <eggert@cs.ucla.edu>
21694
21695         * lib/readutmp.c (desirable_utmp_entry): Fix bug where "who -b" and
21696         "who -r" failed to give output.  Problem reported by Tim Waugh.
21697
21698         * lib/xmalloc.c (HAVE_GNU_CALLOC): New constant.
21699         (xcalloc): Use it to avoid needless tests.
21700         Problem reported by Jim Meyering.
21701
21702 2005-06-20  Derek Price  <derek@ximbiot.com>
21703
21704         * m4/bison.m4: Note that precious decls of YACC & YFLAGS will be
21705         unnecessary for Autoconfs > 2.59c.
21706
21707 2005-06-16  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
21708
21709         * lib/argp.h (__option_is_short): Check upper limit of
21710         __key. Isprint() requires its argument to have the value
21711         of an unsigned char or EOF.
21712
21713 2005-06-16  Jim Meyering  <jim@meyering.net>
21714
21715         * lib/calloc.c (rpl_calloc): Allocate a 1-byte buffer (not 1xS or Nx1)
21716         when either N or S is zero.
21717
21718 2005-06-16  Derek Price  <derek@ximbiot.com>
21719
21720         * m4/bison.m4: Declare YACC & YFLAGS precious.
21721
21722 2005-06-10  Paul Eggert  <eggert@cs.ucla.edu>
21723
21724         * lib/fnmatch.c (fnmatch): If there is an encoding error in a
21725         multibyte string or pattern, fall back on unibyte matching.
21726         Problem reported by James Youngman.
21727
21728 2005-06-08  Bruno Haible  <bruno@clisp.org>
21729
21730         * modules/csharpcomp: New file.
21731         * MODULES.html.sh (C#): Add csharpcomp.
21732
21733 2005-06-08  Bruno Haible  <bruno@clisp.org>
21734
21735         * m4/csharpcomp.m4: New file, from GNU gettext.
21736
21737 2005-06-08  Bruno Haible  <bruno@clisp.org>
21738
21739         * lib/csharpcomp.h: New file, from GNU gettext.
21740         * lib/csharpcomp.c: New file, from GNU gettext.
21741         * lib/csharpcomp.sh.in: New file, from GNU gettext.
21742
21743 2005-06-08  Bruno Haible  <bruno@clisp.org>
21744
21745         * lib/binary-io.h (fileno): Undefine before defining it. Avoids a gcc
21746         warning on mingw.
21747
21748 2005-06-07  Derek Price  <derek@ximbiot.com>
21749
21750         Sync from CVS.
21751         * lib/glob_.h: Indent nested #ifdef.
21752
21753 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
21754
21755         Sync from coreutils.
21756         Use "file name" when talking about file names, instead of "filename"
21757         or "path", as per the GNU coding standards.
21758         * lib/mkdir-p.c: Renamed from makepath.c.
21759         (make_dir_parents): Renamed from make_path.  All callers changed.
21760         * lib/mkdir-p.h: Likewise.  All includers changed.
21761         * lib/filenamecat.c: Renamed from path-concat.c.
21762         (file_name_concat): Renamed from path_concat.  All callers changed.
21763         [TEST_FILE_NAME_CONCAT]: Renamed from TEST_PATH_CONCAT.
21764         * lib/filenamecat.h: Likewise.  All includers changed.
21765         * lib/acl.c: Don't use "path" or "filename" to mean "file name"
21766         in comments or local variable names.
21767         * lib/basename.c: Likewise.
21768         * lib/canonicalize.c, canonicalize.h: Likewise.
21769         * lib/dirname.c, dirname.h: Likewise.
21770         * lib/euidaccess.c: Likewise.
21771         * lib/exclude.c: Likewise
21772         * lib/fnmatch_.h, fnmatch_loop.c: Likewise.
21773         * lib/fsusage.c, fsuage.h: Likewise.
21774         * lib/fts.c, fts_.h: Likewise.
21775         * lib/getcwd.c: Likewise.
21776         * lib/getloadavg.c: Likewise.
21777         * lib/mkstemp.c: Likewise.
21778         * lib/mountlist.c, mountlist.h: Likewise.
21779         * lib/openat.c, openat.h: Likewise.
21780         * lib/readlink-stub.c: Likewise.
21781         * lib/readutmp.c, readutmp.h: Likewise.
21782         * lib/rename.c: Likewise.
21783         * lib/rmdir.c: Likewise.
21784         * lib/same.c: Likewise.
21785         * lib/savedir.c: Likewise.
21786         * lib/stripslash.c: Likewise.
21787         * lib/tempname.c: Likewise.
21788         * lib/xreadlink.c: Likewise.
21789         * lib/exclude.c (excluded_file_name): Renamed from excluded_filename.
21790         All uses changed.
21791         * lib/exclude.h: Likewise.
21792
21793         * lib/euidaccess.c (getuid, getgid, getuid, getegid)
21794         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
21795         * lib/idcache.c (getpwuid, getpwnam, getgrgid, getgrnam)
21796         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
21797         * lib/pathmax.h: Include <limits.h> unconditionally, since other
21798         files have been getting away with it for years (MORE/BSD 4.3
21799         is extinct now).
21800         * lib/userspec.c (getpwnam, getgrnam, getgrgid)
21801         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
21802
21803         * lib/pathmax.h (_POSIX_PATH_MAX) [!defined _POSIX_PATH_MAX]:
21804         Define to 256, not 255, as per modern POSIX.
21805
21806 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
21807
21808         Sync from coreutils.
21809         Use "file name" when talking about file names, instead of "filename"
21810         or "path", as per the GNU coding standards.
21811         * MODULES.html.sh: mkdir-p renamed from makepath.
21812         filenamecat renamed from path-concat.
21813         * modules/filenamecat: Renamed from modules/path-concat.
21814         (Files): filenamecat.h and filenamecat.c renamed from
21815         path-concat.h and path-concat.c.
21816         (configure.ac): gl_FILE_NAME_CONCAT, not gl_PATH_CONCAT.
21817         (Include): filenamecat.h, not path-concat.h.
21818         * modules/mkdir-p: Renamed from modules/makepath.
21819         (Files): mkdir-p.h and mkdir-p.c renamed from makepath.h and
21820         makepath.c.
21821         (configure.ac): gl_MKDIR_PARENTS, not gl_MAKEPATH.
21822         (Include): mkdir-p.h, not makepath.h.
21823
21824 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
21825
21826         Sync from coreutils.
21827         * m4/mkdir-p.m4: Renamed from makepath.m4.
21828         (gl_MKDIR_PARENTS): Renamed from gl_MAKEPATH.  All uses changed.
21829         Rename files from makepath.c to mkdir-p.c, and from
21830         makepath.h to mkdir-p.h.
21831         * m4/filenamecat.m4: Renamed from path-concat.m4.
21832         (gl_FILE_NAME_CONCAT): Renamed from gl_PATH_CONCAT.  All uses changed.
21833         Rename files from path-concat.c to filenamecat.c,
21834         and from path-concat.h to filenamecat.h.
21835         * m4/getcwd-path-max.m4: Don't use "path" or "filename" to mean
21836         "file name" in local variables or comments.
21837         * m4/rename.m4: Likewise.
21838
21839 2005-06-01  Bruno Haible  <bruno@clisp.org>
21840
21841         * modules/csharpexec: New file.
21842         * MODULES.html.sh (C#): New section.
21843
21844 2005-06-01  Bruno Haible  <bruno@clisp.org>
21845
21846         * m4/csharp.m4: New file, from GNU gettext.
21847         * m4/csharpexec.m4: New file, from GNU gettext.
21848
21849 2005-06-01  Bruno Haible  <bruno@clisp.org>
21850
21851         * lib/csharpexec.h: New file, from GNU gettext.
21852         * lib/csharpexec.c: New file, from GNU gettext.
21853         * lib/csharpexec.sh.in: New file, from GNU gettext.
21854
21855 2005-05-31  Derek Price  <derek@ximbiot.com>
21856             Paul Eggert  <eggert@cs.ucla.edu>
21857
21858         Sync from cvs.
21859         * m4/glob.m4: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
21860
21861 2005-05-31  Derek Price  <derek@ximbiot.com>
21862             Paul Eggert  <eggert@cs.ucla.edu>
21863
21864         Sync from cvs.
21865         * lib/glob_.h: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
21866
21867 2005-05-29  Derek Price  <derek@ximbiot.com>
21868
21869         * config/srclist.txt (glob_.h, glob.c): Add these files.
21870
21871 2005-05-29  Derek Price  <derek@ximbiot.com>
21872
21873         * MODULES.html.sh: Add glob to Enhanced POSIX.2001 section.
21874         * modules/glob: New file.
21875         * modules/getlogin_r: Add link to POSIX spec in description.
21876
21877 2005-05-29  Derek Price  <derek@ximbiot.com>
21878             Paul Eggert  <eggert@cs.ucla.edu>
21879
21880         * m4/glob.m4: New file.
21881
21882 2005-05-29  Derek Price  <derek@ximbiot.com>
21883             Paul Eggert  <eggert@cs.ucla.edu>
21884
21885         * lib/glob_.h, lib/glob.c: New files.
21886
21887 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
21888
21889         * modules/fts (Files): Remove m4/inttypes-pri.m4.
21890         * modules/fts-lgpl (Depends-on): Remove gettext.
21891
21892 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
21893
21894         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't check for inttypes.h or stdint.h,
21895         and don't require gt_INTTYPES_PRI.
21896
21897 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
21898
21899         * lib/getlogin_r.c (getlogin_r): Don't set errno to 0 on return.
21900
21901         * lib/fts.c: Don't worry about debugging on pre-C99-compatible hosts;
21902         the configuration hassle isn't worth it.
21903         Include inttypes.h and stdint.h unconditionally if FTS_DEBUG.
21904         (LONGEST_MODIFIER, PRIuMAX): Remove.
21905
21906 2005-05-27  Bruno Haible  <bruno@clisp.org>
21907
21908         * lib/getlogin_r.h: Remove second include of <stddef.h>.
21909
21910 2005-05-26  Paul Eggert  <eggert@cs.ucla.edu>
21911
21912         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Define
21913         _POSIX_PTHREAD_SEMANTICS for Solaris.
21914
21915 2005-05-25  Derek Price  <derek@ximbiot.com>
21916
21917         * MODULES.html.sh: Add getlogin_r to POSIX.2001 support section.
21918
21919 2005-05-25  Derek Price  <derek@ximbiot.com>
21920             Paul Eggert  <eggert@cs.ucla.edu>
21921
21922         * modules/getlogin_r, m4/getlogin_r.m4: New files.
21923         * lib/getlogin_r.c, getlogin_r.h: New files.
21924
21925 2005-05-25  Bruno Haible  <bruno@clisp.org>
21926             Derek Price  <derek@ximbiot.com>
21927
21928         * lib/getlogin_r.h: Simplify API documentation.
21929
21930 2005-05-23  Derek Price  <derek@ximbiot.com>
21931
21932         * modules/minmax (Files): Add m4/minmax.m4.
21933         (configure.ac): Add gl_MINMAX.
21934
21935 2005-05-22  Paul Eggert  <eggert@cs.ucla.edu>
21936
21937         * lib/fts.c (fd_safer) [_LGPL_PACKAGE]: New static function,
21938         so that unistd-safer.h (GPL'ed code) need not be included.
21939
21940 2005-05-22  Bruno Haible  <bruno@clisp.org>
21941
21942         * m4/minmax.m4: New file.
21943         Based on a patch by Derek Price <derek@ximbiot.com>.
21944
21945 2005-05-22  Bruno Haible  <bruno@clisp.org>
21946
21947         * lib/stdint_.h (_STDINT_H_HAVE_INT64): New macro. Use it in #ifdefs.
21948         (INT64_MIN): Fix definition.
21949         Suggested by Paul Eggert <eggert@cs.ucla.edu>.
21950
21951         * lib/stdint_.h (_STDINT_H_NEED_SIGNED_INT_TYPES): Renamed from
21952         NEED_SIGNED_INT_TYPES.
21953
21954         * lib/stdint_.h (_STDINT_H_HAVE_SYSTEM_INTTYPES): Renamed from
21955         HAVE_SYSTEM_INTTYPES.
21956
21957 2005-05-22  Bruno Haible  <bruno@clisp.org>
21958
21959         * lib/minmax.h: Include <limits.h> only when it defines MIN, MAX.
21960         Also include <sys/param.h> if it defines MIN, MAX.
21961         Based on a patch by Derek Price <derek@ximbiot.com>.
21962
21963 2005-05-21  Jim Meyering  <jim@meyering.net>
21964
21965         * modules/fts (Files): Add m4/inttypes-pri.m4.
21966         (Depends-on): Add lstat and remove gettext.  Alphabetize.
21967
21968 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
21969
21970         New fts module.
21971         * lib/fts.c: Don't include "cycle-check.h" or "hash.h".
21972         (setup_dir, free_dir): New functions.
21973         (enter_dir, leave_dir): Define trivial
21974         alternatives of _LGPL_PACKAGE.  Move to fts-cycle.c if !_LGPL_PACKAGE.
21975         (HT_INITIAL_SIZE, ENTER_DIR): Remove.  All uses removed.
21976         (LEAVE_DIR): Fix typo: pass Fts and Ent to leave_dir.
21977         (struct Active_dir, AD_compare, AD_hash, enter_dir, leave_dir):
21978         Move to fts-cycle.c.
21979         (fts_open): Use setup_dir.
21980         (fts_close): Use free_dir.
21981         (fts_read): Have just one copy of the ENTER_DIR code rather than three.
21982         This adds a label and some gotos, but the alternatives were messier.
21983         Check for memory allocation failure when entering a dir.
21984         (fts_stat) [_LGPL_PACKAGE]: Bring back glibc cycle detection code.
21985         * lib/fts_.h (_LGPL_PACKAGE) [defined _LIBC]: New macro.
21986         (FTS): New member fts_cycle, that is a union that contains the
21987         old active_dir_ht and cycle_state.  All uses changed to mention
21988         fts_cycle.ht and fts_cycle.state.
21989         * lib/fts-cycle.c: New file, containing GPL'ed code migrated out of
21990         fts.c, with the following changes:
21991         (setup_dir, free_dir): New functions.
21992         (enter_dir): Now returns bool.  Return true if successful, false
21993         if memory exhausted.  All callers changed.
21994         Do not bother partly cleaning up on
21995         memory allocation failure; that is free_dir's job.
21996         However, free ad if hash_insert fails, to avoid memory leak.
21997         (enter_dir, leave_dir): Accommodate change to FTS by inspecting
21998         fts->fts_options to see which union member to use.
21999
22000 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
22001
22002         * m4/fts.m4 (gl_FUNC_FTS_CORE): Renamed from gl_FUNC_FTS.
22003         (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): New macros.
22004
22005 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
22006
22007         * MODULES.html.sh (File system functions): Add fts, fts-lgpl.
22008
22009 2005-05-20  Jim Meyering  <jim@meyering.net>
22010
22011         * lib/unlinkdir.h (cannot_unlink_dir) [UNLINK_CANNOT_UNLINK_DIR]:
22012         Now a macro, to pacify GCC.
22013
22014 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
22015
22016         * m4/chown.m4 (gl_FUNC_CHOWN): Correct sense of test for honoring IDs
22017         of -1.
22018
22019 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
22020
22021         * lib/chown.c (rpl_chown): Return -1 on failure.
22022
22023 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
22024
22025         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME]):
22026         Don't check for stddef.h.
22027         * m4/fts.m4 (gl_FUNC_FTS): Don't require AC_HEADER_STDC, as we
22028         don't use its results.
22029         Don't check for fcntl.h, stddef.h, stdlib.h, string.h, unistd.h,
22030         since we include them unconditionally.  Don't require
22031         AM_STDBOOL_H, since stdbool is a prerequisite.
22032         Don't require AC_C_CONST, AC_TYPE_SIZE_T or check for ptrdiff_t
22033         since we assume C89 or better.
22034         Don't require AC_FUNC_CLOSEDIR_VOID, AC_FUNC_LSTAT, or AC_FUNC_STAT,
22035         as we don't use their results.
22036         Don't check for fchdir, memmove, memset, strrchr, as we use
22037         them unconditionally.
22038         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't define
22039         GETTIMEOFDAY_CLOBBERS_LOCALTIME_BUFFER, since nobody uses it.
22040
22041 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
22042
22043         * lib/canonicalize.c: Include canonicalize.h first, to test interface.
22044         Include <stddef.h> unconditionally, since we assume C89 now.
22045         All uses of PTR_INT_TYPE replaced by ptrdiff_t.
22046         * lib/fts.c: Include fts_.h first, to check interface.
22047         Do not include intprops.h; no longer needed.
22048         Include cycle-check.h and hash.h, since fts_.h no longer does.
22049         Remove unnecessary casts of closedir to void.
22050         (fts_build): Use a simpler method (not involving TYPE_SIGNED) to
22051         decide whether to decrement nlinks.
22052         * lib/fts_.h: Do not include hash.h or cycle-check.h; no longer needed.
22053         (FTS): Use struct hash_table * instead of Hash_table, so that
22054         we no longer need to include hash.h here.
22055
22056 2005-05-18  Jim Meyering  <jim@meyering.net>
22057
22058         * modules/dirfd (License): Change to LGPL.  Most of the code
22059         is already in the public domain.
22060
22061 2005-05-18  Jim Meyering  <jim@meyering.net>
22062
22063         * m4/fts.m4 (AC_LIBSOURCES): Add intprops.h to the list.
22064         Reported by Yoann Vandoorselaere.
22065
22066 2005-05-17  Jim Meyering  <jim@meyering.net>
22067
22068         * m4/fts.m4: New file, from coreutils.
22069
22070 2005-05-17  Jim Meyering  <jim@meyering.net>
22071
22072         * lib/fts.c, lib/fts_.h: New files, from coreutils.
22073
22074 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
22075
22076         Sync from coreutils.
22077         * m4/unlinkdir.m4: New file.
22078
22079 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
22080
22081         Sync from coreutils.
22082         * lib/unlinkdir.c, lib/unlinkdir.h: New files.
22083         * lib/gethrxtime.c, lib/gethrxtime.h, lib/getpass.h, lib/mountlist.h,
22084         lib/path-concat.c, lib/regex.h, lib/unlocked-io.h, lib/xtime.h:
22085         White space changes only.
22086         * lib/makepath.c (make_path): Port to hosts where leading "//" is
22087         special.
22088         * lib/yesno.c: Include getline.h, not ctype.h.
22089         (yesno): Don't remove leading white space; POSIX doesn't allow it.
22090         Use getline to remove arbitrary restriction on response length.
22091
22092 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
22093
22094         * config/srclist-update: Spell out "Street" in FSF postal
22095         mail address; this is the style the FSF seems to prefer.
22096
22097         * build-aux/depcomp, build-aux/install-sh, build-aux/mdate-sh,
22098         build-aux/missing, build-aux/mkinstalldirs: Sync from Automake;
22099         this updates FSF postal mail address.
22100
22101         Sync from coreutils.
22102         * modules/unlinkdir: New file.
22103         * modules/yesno (Depends-on): Add getline.
22104         * MODULES.html.sh (File system functions): Add unlinkdir.
22105
22106 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
22107
22108         * lib/byteswap_.h, lib/getsubopt.h, lib/iconvme.h, lib/strsep.c,
22109         lib/strsep.h:
22110         Change the initial comment to refer to GPL, not LGPL.
22111         gnulib-tool will change it to LGPL as needed.
22112
22113         * lib/__fpending.c, lib/acl.c, lib/acl.h, lib/alloca_.h, lib/allocsa.c,
22114         lib/allocsa.h, lib/argmatch.c, lib/argmatch.h, lib/argp-ba.c,
22115         lib/argp-eexst.c, lib/argp-fmtstream.c, lib/argp-fmtstream.h,
22116         lib/argp-fs-xinl.c, lib/argp-help.c, lib/argp-namefrob.h,
22117         lib/argp-parse.c, lib/argp-pv.c, lib/argp-pvh.c, lib/argp-xinl.c,
22118         lib/argp.h, lib/argz.c, lib/argz_.h, lib/asnprintf.c, lib/asprintf.c,
22119         lib/atanl.c, lib/backupfile.c, lib/backupfile.h, lib/base64.c,
22120         lib/base64.h, lib/basename.c, lib/binary-io.h, lib/byteswap_.h,
22121         lib/c-ctype.c, lib/c-ctype.h, lib/c-stack.c, lib/c-stack.h,
22122         lib/c-strtod.c, lib/calloc.c, lib/canon-host.c, lib/canonicalize.c,
22123         lib/canonicalize.h, lib/ceill.c, lib/chdir-long.c, lib/chdir-long.h,
22124         lib/chown.c, lib/classpath.c, lib/classpath.h, lib/cloexec.c,
22125         lib/closeout.c, lib/closeout.h, lib/concatpath.c, lib/config.charset,
22126         lib/copy-file.c, lib/copy-file.h, lib/cycle-check.c, lib/cycle-check.h,
22127         lib/diacrit.c, lib/diacrit.h, lib/dirfd.c, lib/dirfd.h, lib/dirname.c,
22128         lib/dirname.h, lib/dummy.c, lib/dup-safer.c, lib/dup2.c, lib/eealloc.h,
22129         lib/error.c, lib/error.h, lib/euidaccess.c, lib/exclude.c,
22130         lib/exclude.h, lib/execute.c, lib/execute.h, lib/exit.h,
22131         lib/exitfail.c, lib/exitfail.h, lib/expl.c, lib/fatal-signal.c,
22132         lib/fatal-signal.h, lib/fd-safer.c, lib/file-type.c, lib/file-type.h,
22133         lib/fileblocks.c, lib/filemode.c, lib/filemode.h, lib/findprog.c,
22134         lib/findprog.h, lib/floorl.c, lib/fnmatch.c, lib/fnmatch_.h,
22135         lib/fnmatch_loop.c, lib/fopen-safer.c, lib/free.c, lib/frexpl.c,
22136         lib/fsusage.c, lib/fsusage.h, lib/full-read.c, lib/full-read.h,
22137         lib/full-write.c, lib/full-write.h, lib/fwriteerror.c,
22138         lib/fwriteerror.h, lib/gai_strerror.c, lib/gcd.c, lib/gcd.h,
22139         lib/getaddrinfo.c, lib/getaddrinfo.h, lib/getcwd.c, lib/getcwd.h,
22140         lib/getdate.h, lib/getdate.y, lib/getdomainname.c, lib/getdomainname.h,
22141         lib/getgroups.c, lib/gethostname.c, lib/gethrxtime.c, lib/gethrxtime.h,
22142         lib/getline.c, lib/getline.h, lib/getloadavg.c, lib/getndelim2.c,
22143         lib/getndelim2.h, lib/getnline.c, lib/getnline.h, lib/getopt.c,
22144         lib/getopt1.c, lib/getopt_.h, lib/getopt_int.h, lib/getpagesize.h,
22145         lib/getpass.c, lib/getpass.h, lib/getsubopt.c, lib/getsubopt.h,
22146         lib/gettext.h, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c,
22147         lib/getusershell.c, lib/group-member.c, lib/group-member.h,
22148         lib/hard-locale.c, lib/hard-locale.h, lib/hash-pjw.c, lib/hash-pjw.h,
22149         lib/hash.c, lib/hash.h, lib/human.c, lib/human.h, lib/iconvme.c,
22150         lib/iconvme.h, lib/idcache.c, lib/inet_ntop.h, lib/intprops.h,
22151         lib/inttostr.c, lib/inttostr.h, lib/isdir.c, lib/javacomp.c,
22152         lib/javacomp.h, lib/javacomp.sh.in, lib/javaexec.c, lib/javaexec.h,
22153         lib/javaexec.sh.in, lib/lbrkprop.h, lib/lchown.c, lib/ldexpl.c,
22154         lib/linebreak.c, lib/linebreak.h, lib/linebuffer.c, lib/linebuffer.h,
22155         lib/localcharset.c, lib/localcharset.h, lib/logl.c, lib/long-options.c,
22156         lib/long-options.h, lib/lstat.c, lib/makepath.c, lib/makepath.h,
22157         lib/malloc.c, lib/mathl.h, lib/mbswidth.c, lib/mbswidth.h, lib/md5.c,
22158         lib/md5.h, lib/memcasecmp.c, lib/memcasecmp.h, lib/memchr.c,
22159         lib/memcmp.c, lib/memcoll.c, lib/memcoll.h, lib/memcpy.c, lib/memmem.c,
22160         lib/memmem.h, lib/mempcpy.c, lib/mempcpy.h, lib/memrchr.c,
22161         lib/memrchr.h, lib/memset.c, lib/minmax.h, lib/mkdir.c, lib/mkdtemp.c,
22162         lib/mkdtemp.h, lib/mkstemp.c, lib/mktime.c, lib/modechange.c,
22163         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
22164         lib/obstack.c, lib/obstack.h, lib/openat.c, lib/openat.h,
22165         lib/pagealign_alloc.c, lib/pagealign_alloc.h, lib/path-concat.c,
22166         lib/path-concat.h, lib/pathmax.h, lib/pathname.h, lib/physmem.c,
22167         lib/physmem.h, lib/pipe.c, lib/pipe.h, lib/poll.c, lib/poll_.h,
22168         lib/posixtm.c, lib/posixtm.h, lib/posixver.c, lib/printf-args.c,
22169         lib/printf-args.h, lib/printf-parse.c, lib/printf-parse.h,
22170         lib/progname.c, lib/progname.h, lib/progreloc.c, lib/putenv.c,
22171         lib/quote.c, lib/quote.h, lib/quotearg.c, lib/quotearg.h, lib/raise.c,
22172         lib/readlink.c, lib/readtokens.c, lib/readtokens.h, lib/readtokens0.c,
22173         lib/readtokens0.h, lib/readutmp.c, lib/readutmp.h, lib/realloc.c,
22174         lib/ref-add.sin, lib/ref-del.sin, lib/regex.c, lib/regex.h,
22175         lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c,
22176         lib/safe-read.h, lib/safe-write.c, lib/safe-write.h, lib/same.c,
22177         lib/same.h, lib/save-cwd.c, lib/save-cwd.h, lib/savedir.c,
22178         lib/savedir.h, lib/setenv.c, lib/setenv.h, lib/settime.c,
22179         lib/sh-quote.c, lib/sh-quote.h, lib/sha1.c, lib/sha1.h, lib/sig2str.c,
22180         lib/sig2str.h, lib/sincosl.c, lib/snprintf.c, lib/snprintf.h,
22181         lib/sqrtl.c, lib/stat-macros.h, lib/stat.c, lib/stdbool_.h,
22182         lib/stdint_.h, lib/stdio-safer.h, lib/stpcpy.c, lib/stpcpy.h,
22183         lib/stpncpy.c, lib/stpncpy.h, lib/strcase.h, lib/strcasecmp.c,
22184         lib/strchrnul.c, lib/strchrnul.h, lib/strcspn.c, lib/strdup.c,
22185         lib/strdup.h, lib/strerror.c, lib/strftime.c, lib/strftime.h,
22186         lib/stripslash.c, lib/strndup.c, lib/strndup.h, lib/strnlen.c,
22187         lib/strpbrk.c, lib/strpbrk.h, lib/strsep.c, lib/strsep.h, lib/strstr.c,
22188         lib/strstr.h, lib/strtod.c, lib/strtoimax.c, lib/strtok_r.c,
22189         lib/strtok_r.h, lib/strtol.c, lib/strtoll.c, lib/strtoul.c,
22190         lib/strtoull.c, lib/strverscmp.c, lib/strverscmp.h, lib/sysexit_.h,
22191         lib/tempname.c, lib/time_r.c, lib/time_r.h, lib/timegm.c, lib/timegm.h,
22192         lib/timespec.h, lib/trigl.c, lib/trigl.h, lib/ucs4-utf16.h,
22193         lib/ucs4-utf8.h, lib/unicodeio.c, lib/unicodeio.h, lib/unistd-safer.h,
22194         lib/unlocked-io.h, lib/unsetenv.c, lib/userspec.c, lib/utf16-ucs4.h,
22195         lib/utf8-ucs4.h, lib/utime.c, lib/utimecmp.c, lib/utimecmp.h,
22196         lib/utimens.c, lib/vasnprintf.c, lib/vasnprintf.h, lib/vasprintf.c,
22197         lib/vasprintf.h, lib/version-etc-fsf.c, lib/version-etc.c,
22198         lib/version-etc.h, lib/vsnprintf.c, lib/vsnprintf.h, lib/w32spawn.h,
22199         lib/wait-process.c, lib/wait-process.h, lib/xalloc-die.c, lib/xalloc.h,
22200         lib/xallocsa.c, lib/xallocsa.h, lib/xasprintf.c, lib/xgetcwd.c,
22201         lib/xgetcwd.h, lib/xgetdomainname.c, lib/xgetdomainname.h,
22202         lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c,
22203         lib/xreadlink.c, lib/xreadlink.h, lib/xsetenv.c, lib/xsetenv.h,
22204         lib/xsize.h, lib/xstrndup.c, lib/xstrndup.h, lib/xstrtod.c,
22205         lib/xstrtod.h, lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h,
22206         lib/xstrtoumax.c, lib/xtime.h, lib/xvasprintf.c, lib/xvasprintf.h,
22207         lib/yesno.c, lib/yesno.h:
22208         Update FSF postal mail address.
22209
22210 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
22211
22212         * MODULES.html.sh, README, gnulib-tool, tests/test-base64.c,
22213         tests/test-memmem.c, tests/test-stpncpy.c:
22214         Update FSF postal mail address.
22215
22216 2005-05-13  Bruno Haible  <bruno@clisp.org>
22217
22218         * lib/stdint_.h (int64_t, uint64_t, int_least64_t, uint_least64_t,
22219         int_fast64_t, uint_fast64_t, intmax_t, uintmax_t, INT64_MIN, INT64_MAX,
22220         UINT64_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX,
22221         INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTMAX_MIN,
22222         INTMAX_MAX, UINTMAX_MAX, INT64_C, UINT64_C, INTMAX_C, UINTMAX_C):
22223         Add support for 64-bit integers in the MSVC compiler.
22224
22225 2005-05-12  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
22226
22227         * modules/getdate (Makefile.am): Add getdate.c to EXTRA_DIST
22228
22229 2005-05-12  Eric Blake  <ebb9@byu.net>  (tiny change)
22230
22231         * gnulib-tool (func_import): Sort and uniquify recommended includes.
22232
22233 2005-05-11  Paul Eggert  <eggert@cs.ucla.edu>
22234
22235         * doc/getdate.texi (General date syntax): Don't say that date
22236         date --iso-8601=ns generates acceptable dates; it doesn't yet.
22237         Problem reported by Nic Ferrier.
22238
22239 2005-05-10  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
22240
22241         * lib/getaddrinfo.c: Don't fail when SOCK_STREAM or SOCK_DGRAM are
22242         specified in ai_socktype. Fix invalid ai_protocol
22243         check. ai_protocol is usually set to 0 or depending on
22244         ai_family/ai_socktype to IPPROTO_TCP / IPPROTO_UDP.  Checking for
22245         SOCK_STREAM / SOCK_DGRAM in ai_protocol was invalid.  Set
22246         ai_socktype / ai_protocol in the returned addrinfo structure.
22247
22248 2005-05-10  Simon Josefsson  <jas@extundo.com>
22249
22250         * m4/getaddrinfo.m4: Look in libnsl/libsocket for getaddrinfo, from
22251         Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
22252
22253 2005-05-10  Karl Berry  <karl@gnu.org>
22254
22255         * doc/fdl.texi, gpl.texi, lgpl.texi, COPYING: update FSF address
22256         (from http://www.gnu.org/licenses).
22257         * doc/COPYING.LIB: also rename to COPYING.LESSER.
22258         * doc/COPYING.DOC: remove; per rms, only needed in doc files, so
22259         fdl.texi suffices.
22260
22261 2005-05-10  Karl Berry  <karl@gnu.org>
22262
22263         * config/srclist.txt (COPYING.LESSER): rename from COPYING.LIB.
22264         (COPYING.DOC): remove.
22265
22266         * config/srclist-update: new FSF address.
22267
22268 2005-05-10  Derek Price  <derek@ximbiot.com>
22269
22270         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 bug, not decl, when
22271         possible.
22272
22273 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
22274             Bruno Haible  <bruno@clisp.org>
22275
22276         * modules/inet_ntop: New file.
22277         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
22278         inet_ntop.
22279
22280 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
22281             Bruno Haible  <bruno@clisp.org>
22282
22283         * m4/inet_ntop.m4: New file.
22284
22285 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
22286             Bruno Haible  <bruno@clisp.org>
22287
22288         * lib/inet_ntop.h: New file.
22289         * lib/inet_ntop.c: New file, from glibc with modifications.
22290
22291 2005-05-09  Paul Eggert  <eggert@cs.ucla.edu>
22292
22293         * modules/time_r (License): Change to LGPL.
22294         * modules/extensions (License): Change to LGPL.  Actually,
22295         the license is more permissive than that, but currently gnulib-tool
22296         doesn't know how to handle more-permissive licenses.
22297
22298         * modules/stat-macros (Depends-on): Don't depend on stat-macros (!).
22299         Problem reported by Dave Love.
22300
22301 2005-05-08  Jim Meyering  <jim@meyering.net>
22302
22303         * lib/classpath.c (PATH_SEPARATOR): Remove insignificant trailing
22304         blank.
22305
22306 2005-05-06  Paul Eggert  <eggert@cs.ucla.edu>
22307
22308         * modules/argmatch (Depends-on): Add stdbool.
22309         * modules/backupfile (Depends-on): Likewise.
22310         * modules/chdir-long (Depends-on): Likewise.
22311         * modules/closeout (Depends-on): Likewise.
22312         * modules/cycle-check (Depends-on): Likewise.
22313         * modules/dirname (Depends-on): Likewise.
22314         * modules/fnmatch (Depends-on): Likewise.
22315         * modules/fsusage (Depends-on): Likewise.
22316         * modules/fwriteerror (Depends-on): Likewise.
22317         * modules/getcwd (Depends-on): Likewise.
22318         * modules/getloadavg (Depends-on): Likewise.
22319         * modules/hard-locale (Depends-on): Likewise.
22320         * modules/makepath (Depends-on): Likewise.
22321         * modules/mountlist (Depends-on): Likewise.
22322         * modules/nanosleep (Depends-on): Likewise.
22323         * modules/posixtm (Depends-on): Likewise.
22324         * modules/quotearg (Depends-on): Likewise.
22325         * modules/readtokens (Depends-on): Likewise.
22326         * modules/readtokens0 (Depends-on): Likewise.
22327         * modules/readutmp (Depends-on): Likewise.
22328         * modules/save-cwd (Depends-on): Likewise.
22329         * modules/strftime (Depends-on): Likewise.
22330         * modules/userspec (Depends-on): Likewise.
22331         * modules/utimecmp (Depends-on): Likewise.
22332         * modules/xgetcwd (Depends-on): Likewise.
22333         * modules/xnanosleep (Depends-on): Likewise.
22334         * modules/xstrtod (Depends-on): Likewise.
22335         * modules/yesno (Depends-on): Likewise.
22336
22337 2005-05-05  Paul Eggert  <eggert@cs.ucla.edu>
22338
22339         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 getopt, and avoid
22340         needless checks.
22341
22342 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
22343
22344         Merge from coreutils.  Among other things,
22345         add bulletproofing for cases where stdin, stdout, or stderr are closed.
22346         * lib/fd-safer.c: New file.
22347         * lib/fcntl-safer.h, open-safer.c: Remove.
22348         * lib/chdir-long.c: Fix comment "fetish" -> "coreutils".
22349         * lib/dup-safer.c: Include unistd-safer.h first.
22350         Don't include errno.h.
22351         (dup_safer) [!defined F_DUPFD]: Let fd_safer do the real work.
22352         * lib/file-type.h: Don't assume invoker included sys/stat.h first.
22353         * lib/file-type.c: Rely on file-type.h change.
22354         * lib/getloadavg.c: Include unistd-safer.h.
22355         (getloadavg): Use safer open.
22356         * lib/getusershell.c: Include "stdio-safer.h".
22357         (getusershell): Use safer fopen.
22358         * lib/long-options.c (long_options): Use NULL rather than 0.
22359         * lib/modechange.h (mode_free): Remove; all callers changed to invoke
22360         'free'.
22361         * lib/modechange.c: Likewise.
22362         xstrtol.h, stdbool.h, stddef.h: Don't include; no longer needed.
22363         (MODE_DONE): New constant.
22364         (struct mode_change): Remove 'next' member.
22365         (make_node_op_equals): New function; like the old one of the
22366         same name, except it allocates an array.
22367         (mode_compile, mode_create_from_ref): Use it.
22368         (mode_compile): Allocate result as an array, not a linked list.
22369         Parse octal string ourself, so that we catch mistakes like "+0".
22370         (mode_adjust): Arg is an array, not a linked list.
22371         * lib/modechange.c: Include stat-macros.h, xalloc.h.
22372         (S_ISDIR, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR):
22373         (S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH, S_IRXWU):
22374         (S_IRWXG, S_IRWXO, CHMOD_MODE_BITS):
22375         Remove.  This is now stat-macros.h's job.
22376         (talloc): Remove.  All callers replaced by xalloc, so that
22377         our invokers don't have to worry about reporting memory failures.
22378         (make_node_op_equals): Remove.
22379         (MODE_ORDINARY_CHAGE, MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
22380         New constants.
22381         (struct mode_change): Moved here from modechange.h.
22382         (mode_append_entry): Remove.
22383         (mode_compile): Remove MASKED_OPS arg, since it encouraged
22384         apps to have incorrect behavior.  Use simpler algorithm for head
22385         and tail.  Don't futz with umask; that's now the job of mode_adjust.
22386         Detect more invalid usages rather than having somewhat-random behavior.
22387         Don't insert an "a=" action, as that leads to incorrect behavior.
22388         (mode_compile, mode_create_from_ref): Return NULL on error instead
22389         of an enum, since now there's only one way to have an error.  All
22390         callers changed.
22391         (mode_adjust): Accept new arg UMASK_VALUE, and interpret it
22392         at the correct time.  Simplify calculation of "+u" and its ilk.
22393         Don't mishandle "+X".
22394         (mode_free): Remove "register" and localize decls.
22395         * lib/modechange.h (MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
22396         (struct mode_change): Move to modechange.c; callers don't
22397         need to see this stuff.
22398         (MODE_MASK_EQUALS, MODE_MASK_PLUS, MODE_MASK_MINUS, MODE_MASK_ALL):
22399         (MODE_INVALID, MODE_MEMORY_EXHAUSTED, MODE_BAD_REFERENCE): Remove.
22400         (mode_change, mode_adjust): Reflect the new signatures noted above.
22401         * lib/nanosleep.c (rpl_nanosleep): Include "timespec.h" before macros
22402         that might redefine system include files.
22403         (siginterrupt) [!HAVE_SIGINTERRUPT]: New macro.
22404         (my_usleep): Use NULL rather than (void *) 0.
22405         (rpl_nanosleep) [!defined SA_NOCLDSTOP]:
22406         Use siginterrupt to specify that system calls should be interrupted.
22407         (rpl_nanosleep): Move initialization of suspended closer to call of
22408         my_usleep.
22409         * lib/readutmp.h (read_utmp): New arg OPTIONS.  All uses changed.
22410         * lib/readutmp.c: Likewise.  Include signal.h, stdbool.h.
22411         (desirable_utmp_entry): New function.
22412         (read_utmp) [defined UTMP_NAME_FUNCTION]: Redo memory allocation
22413         using x2nrealloc, to simplify logic.
22414         (read_utmp) [!defined UTMP_NAME_FUNCTION]: Check for overflow in
22415         size calculation.  Do not assume utmp file is a regular file.
22416         * lib/readutmp.h (UT_PID): Moved here from ../src/who.c.
22417         (READ_UTMP_CHECK_PIDS): New constant.
22418         * lib/save-cwd.c: Include unistd-safer.h.
22419         (save_cwd): Use fd_safer.
22420         * lib/tempname.c (S_ISDIR, S_IRUSR, S_IRUSR, S_IWUSR, S_IXUSR): Remove.
22421         [!_LIBC] Include "stat-macros.h" instead.
22422         * lib/unistd-safer.h (fd_safer): New decl.
22423
22424 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
22425
22426         * modules/getloadavg (Depends-on): Add unistd-safer.
22427         * modules/getusershell (Depends-on): Add stdio-safer.
22428         * modules/lstat (Depends-on): Remove xalloc.
22429         * modules/mkstemp (Depends-on): Add stat-macros.
22430         * modules/modechange (Depends-on): Remove xstrtol.
22431         Add stat-macros, xalloc.
22432         * modules/save-cwd (Depends-on): Add unistd-safer.
22433         * modules/stdio-safer (Makefile.am): Remove lib_SOURCES.
22434         * modules/unistd-safer (Files): Add lib/fd-safer.c
22435         (Makefile.am): Remove lib_SOURCES.
22436
22437         * MODULES.html.sh (Enhancements for POSIX:2001 functions):
22438         Remove fcntl-safer; unistd-safer supersedes it.
22439
22440 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
22441
22442         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Don't require
22443         AC_HEADER_STAT.
22444         * m4/lchown.m4 (gl_FUNC_CHOWN): Likewise.
22445         (gl_PREREQ_CHOWN): Remove.
22446         * m4/lstat.m4 (gl_FUNC_LSTAT): Require AC_FUNC_LSTAT instead of calling
22447         it.  Don't require AC_HEADER_STAT.
22448         (gl_PREREQ_LSTAT): Remove.
22449         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Check stdint.h only once.
22450         Don't require AC_HEADER_STAT.
22451         * m4/rmdir.m4 (gl_FUNC_RMDIR): Don't require AC_HEADER_STAT.
22452         (gl_PREREQ_RMDIR): Remove.
22453         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Don't
22454         mention stat-macros.h or AC_HEADER_STAT, since we'll make
22455         the stat-macros module a prerequisite.
22456         * m4/file-type.m4 (gl_FILE_TYPE): Likewise.
22457         * m4/filemode.m4 (gl_FILEMODE): Likewise.
22458         * m4/makepath.m4 (gl_MAKEPATH): Likewise.
22459         * m4/modechange.m4 (gl_MODECHANGE): Likewise.
22460         * m4/clock_time.m4 (gl_CLOCK_TIME): Use gl_ rather than fetish_ for
22461         variable names.
22462         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Renamed from
22463         fetish_FUNC_RMDIR_NOTEMPTY.  All uses changed.  Use gl_ for
22464         variable prefixes.
22465         * m4/fcntl-safer.m4: Remove.
22466         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Use AC_LIBSOURCES and AC_LIBOBJ.
22467         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise.
22468         Invoke gl_PREREQ_FD_SAFER.
22469         (gl_PREREQ_FD_SAFER): New macro.
22470         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Check for siginterrupt.
22471         * m4/readutmp.m4 (gl_READUTMP): Require AC_C_INLINE.
22472         Use AC_CHECK_HEADERS_ONCE and AC_CHECK_FUNCS_ONCE when possible.
22473         Remove duplicate call to AC_LIBOBJ(readutmp).
22474         (gl_PREREQ_READUTMP): Remove.  All uses inlined.
22475
22476         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Check for message, not for
22477         MAP_ANON.  Problem reported by Moriyoshi Koizumi to bug-cvs.
22478
22479 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
22480
22481         * MODULES.html.sh (Misc): Add byteswap.
22482
22483 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
22484
22485         * modules/getcwd (Depends-on): Add extensions.
22486         * modules/openat (Depends-on): Likewise.
22487
22488 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
22489
22490         * modules/byteswap: New file.
22491
22492 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
22493
22494         * m4/byteswap.m4: New file.
22495
22496 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
22497
22498         * lib/byteswap_.h: New file.
22499
22500 2005-04-25  Karl Berry  <karl@gnu.org>
22501
22502         * m4/gettext.m4: Update from GNU gettext 0.14.4.
22503
22504 2005-04-25  Albert Chin  <china@thewrittenword.com>
22505
22506         * lib/regex.c: Include <stdio.h>, as a workaround to a Compaq Desktop
22507         Toolkit C bug.
22508
22509 2005-04-21  Oskar Liljeblad  <oskar@osk.mine.nu>
22510
22511         * gnulib-tool (Options): Add -s for --symlink/--symbolic.
22512         (func_ln_if_changed) Remove forcibly for no error message
22513         in case file does not exist.
22514
22515 2005-04-19  Simon Josefsson  <jas@extundo.com>
22516
22517         * gnulib-tool (Options): Make --symlink mean --symbolic.
22518
22519 2005-04-18  Oskar Liljeblad  <oskar@osk.mine.nu>
22520
22521         * doc/gnulib.texi (Initial import): Fix.  Mention --aux-dir.
22522
22523 2005-04-16  Simon Josefsson  <jas@extundo.com>
22524
22525         * modules/getpass-gnu (Makefile.am): Don't mention getpass.h.
22526
22527 2005-04-15  Simon Josefsson  <jas@extundo.com>
22528
22529         * m4/getpass.m4 (gl_FUNC_GETPASS): Use AC_LIBSOURCES.
22530
22531 2005-04-15  Simon Josefsson  <jas@extundo.com>
22532
22533         * gnulib-tool: Rename --symlink to --symbolic.
22534
22535 2005-04-15  Oskar Liljeblad  <oskar@osk.mine.nu>
22536
22537         * gnulib-tool: Add -s, --symlink option to gnulib-tool to make
22538         symbolic links to files instead of copying/moving.  Add --aux-dir,
22539         specifying directory relative --dir where auxiliary build tools
22540         are placed.
22541
22542 2005-04-14  Bruno Haible  <bruno@clisp.org>
22543
22544         * modules/allocsa (License): Change to LGPL.
22545         Requested by Yoann Vandoorselaere <yoann@prelude-ids.org>.
22546
22547 2005-04-13  Paul Eggert  <eggert@cs.ucla.edu>
22548
22549         * lib/getdate.y (zone): Allow relunit_snumber after tZONE, so
22550         that "UTC +1 second" continues to work.  Problem reported
22551         by Dmitry V. Levin.
22552         (relunit_snumber): New rule.
22553         (relunit): Use it.
22554
22555 2005-04-12  Paul Eggert  <eggert@cs.ucla.edu>
22556
22557         * lib/getdate.y (universal_time_zone_table): New constant.
22558         (time_zone_table): Remove GMT, UT, UTC entries; they're now in
22559         universal_time_zone_table.
22560         (lookup_zone): Prefer universal_time_zone_table to
22561         local_time_zone_table, so that "GMT" time stamps are allowed in
22562         London during the summer.  Problem reported by Ian Abbott.
22563
22564 2005-04-12  Jim Meyering  <jim@meyering.net>
22565
22566         * lib/human.c (humblock): Set *options even when returning due to
22567         xstrtoumax conversion failure.  Thanks to a used-uninitialized
22568         warning from gcc-4.
22569
22570 2005-04-09  Jim Meyering  <jim@meyering.net>
22571
22572         * lib/posixtm.c (posixtime) [lint]: Avoid spurious warning from gcc-4's
22573         -Wuninitialized: initialize tm0.tm_year.
22574
22575 2005-04-04  Paul Eggert  <eggert@cs.ucla.edu>
22576
22577         * lib/getdate.y (parser_control): rels_seen is now a boolean, not a
22578         count, since there's no maximum.  All uses changed.
22579         Add member dsts_seen.
22580         (local_zone): Accumulate dsts_seen rather than relying on tm_isdst
22581         not being INT_MAX.
22582         (get_date): Initialize dsts_seen, and check that it doesn't go over 1.
22583         Use pc_rels_seen to decide whther a date is absolute.
22584
22585         * lib/getdate.y (number): Don't overwrite year.
22586         (get_date): Initialize pc.year.digits to 0, not 4, to enable above
22587         check.
22588
22589 2005-04-02  Simon Josefsson  <jas@extundo.com>
22590
22591         * lib/getaddrinfo.h: Fix OpenBSD compilation failure, inspired by tiny
22592         patch from Yoann Vandoorselaere <yoann@prelude-ids.org>.
22593
22594 2005-03-28  Eric Blake  <ebb9@byu.net>  (tiny change)
22595
22596         * m4/getcwd-path-max.m4: Return success on systems such as Cygwin
22597         where no absolute path name can be longer than PATH_MAX.
22598
22599 2005-03-27  Jim Meyering  <jim@meyering.net>
22600
22601         * lib/argmatch.c: Clarify comment: null-terminated -> NULL-terminated.
22602
22603 2005-03-26  Paul Eggert  <eggert@cs.ucla.edu>
22604
22605         * lib/intprops.h (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND):
22606         "one's complement" -> "ones' complement" in comment, as per Knuth.
22607         "value of type" -> "type or expression" in comment.
22608         * lib/mktime.c, strftime.c: Propagate intprops.h comment nits.
22609
22610 2005-03-26  Jim Meyering  <jim@meyering.net>
22611
22612         Comment nits.
22613         * lib/intprops.h: Add the apostrophe in `(one|two)'s complement'.
22614         Correct typos: s/or/of/.
22615
22616 2005-03-26  Jim Meyering  <jim@meyering.net>
22617
22618         * modules/check-include-files: Move to ../ and rename to...
22619         * check-module: ...this.
22620
22621 2005-03-25  Jim Meyering  <jim@meyering.net>
22622
22623         * modules/xvasprintf (Files): Add xalloc.h.
22624
22625 2005-03-23  Paul Eggert  <eggert@cs.ucla.edu>
22626
22627         * modules/gettext (Files): config/config.rpath ->
22628         build-aux/config.rpath
22629         * modules/iconv (Files): Likewise.
22630         Problem reported by Oskar Liljeblad.
22631
22632 2005-03-23  Jim Meyering  <jim@meyering.net>
22633
22634         * modules/check-include-files: New script to check for
22635         missing dependencies, multiple includes, etc.
22636
22637         * modules/c-strtold (Depends-on): Add xalloc.
22638         * modules/c-strtod (Depends-on): Add xalloc.
22639         * modules/hash (Depends-on): Add xalloc.
22640         (Files): Remove lib/xalloc.h.
22641
22642         * modules/gethrxtime (Files): Add lib/gethrxtime.h.
22643         * modules/userspec (Files): Add lib/inttostr.h.
22644
22645 2005-03-23  Jim Meyering  <jim@meyering.net>
22646
22647         * lib/canonicalize.c: Remove duplicate `#include "stat-macros.h"'.
22648
22649 2005-03-22  Jim Meyering  <jim@meyering.net>
22650
22651         * modules/stat-macros: New module.
22652         * modules/canonicalize, modules/euidaccess, modules/file-type,
22653         * modules/filemode, modules/lchown, modules/makepath,
22654         * modules/rmdir, modules/stat: Depend on new stat-macros module
22655         rather than listing lib/stat-macros.h manually.
22656         Don't add stat-macros.h to lib_SOURCES or list it in Files: section.
22657
22658 2005-03-22  Jim Meyering  <jim@meyering.net>
22659
22660         * m4/stat-macros.m4 (gl_STAT_MACROS): New file/macro.
22661
22662 2005-03-22  Bruno Haible  <bruno@clisp.org>
22663
22664         * config/srclist.txt: Replace target directory 'config' with
22665         'build-aux'.
22666         * config/config.guess, config.sub, config.rpath, depcomp, install-sh:
22667         * config/mdate-sh, missing, mkinstalldirs, texinfo.tex: Move to
22668         ../build-aux/.
22669
22670 2005-03-21  Paul Eggert  <eggert@cs.ucla.edu>
22671
22672         * modules/chdir-long (Depends-on): Add mempcpy.
22673
22674         * modules/acl, modules/backupfile, modules/c-strtod,
22675         modules/c-strtold, modules/canon-host, modules/canonicalize,
22676         modules/cloexec, modules/closeout, modules/dirfd, modules/dirname,
22677         modules/exclude, modules/exitfail, modules/file-type,
22678         modules/filemode, modules/fpending, modules/fsusage, modules/getcwd,
22679         modules/getdate, modules/getline, modules/getpagesize,
22680         modules/getpass, modules/getugroups, modules/group-member,
22681         modules/hard-locale, modules/hash, modules/human, modules/idcache,
22682         modules/inttostr, modules/long-options, modules/makepath,
22683         modules/md5, modules/memcasecmp, modules/memcoll,
22684         modules/modechange, modules/mountlist, modules/path-concat,
22685         modules/pathmax, modules/physmem, modules/posixtm, modules/posixver,
22686         modules/quote, modules/quotearg, modules/readtokens, modules/readutmp,
22687         modules/safe-read, modules/safe-write, modules/same, modules/savedir,
22688         modules/settime, modules/sha1, modules/sig2str, modules/strdup,
22689         modules/strftime, modules/strndup, modules/strverscmp,
22690         modules/timespec, modules/unlocked-io, modules/userspec,
22691         modules/utimecmp, modules/utimens, modules/xalloc, modules/xstrtol,
22692         modules/yesno:
22693         Remove lib_SOURCES line from Makefile.am section, as this is now
22694         done automatically by the corresponding Autoconf macro.
22695
22696 2005-03-21  Jim Meyering  <jim@meyering.net>
22697
22698         Changes imported from coreutils.
22699
22700         * lib/cycle-check.c: Don't include xalloc.h.
22701
22702         * lib/path-concat.c: Don't include assert.h.
22703         (path_concat): Remove assertion that would have triggered
22704         for ABASE starting with more than one slash.
22705         Reported by Andreas Schwab.
22706
22707         * lib/path-concat.c (path_concat): Set *BASE_IN_RESULT
22708         properly when ABASE is an absolute file name.
22709         Correct the description of this function.
22710         Include <assert.h>.
22711         Add an assertion and a test driver.
22712         This fixes a bug introduced on 2004-07-02.
22713         Andreas Schwab reported the resulting failure of cp --parents:
22714         http://lists.gnu.org/archive/html/bug-coreutils/2005-01/msg00130.html
22715
22716 2005-03-21  Jim Meyering  <jim@meyering.net>
22717
22718         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Invoke gl_FUNC_MEMRCHR.
22719         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Check for memrchr decl.
22720
22721 2005-03-21  Jim Meyering  <jim@meyering.net>
22722         and  Paul Eggert  <eggert@cs.ucla.edu>
22723
22724         * m4/acl.m4, m4/backupfile.m4, m4/c-strtod.m4, m4/canon-host.m4,
22725         m4/canonicalize.m4, m4/cloexec.m4, m4/closeout.m4, m4/dirfd.m4,
22726         m4/dirname.m4, m4/exclude.m4, m4/exitfail.m4, m4/file-type.m4,
22727         m4/filemode.m4, m4/fpending.m4, m4/fsusage.m4, m4/getcwd.m4,
22728         m4/getdate.m4, m4/getline.m4, m4/getpagesize.m4, m4/getpass.m4,
22729         m4/getugroups.m4, m4/group-member.m4, m4/hard-locale.m4, m4/hash.m4,
22730         m4/human.m4, m4/idcache.m4, m4/inttostr.m4, m4/long-options.m4,
22731         m4/makepath.m4, m4/md5.m4, m4/memcasecmp.m4, m4/memcoll.m4,
22732         m4/modechange.m4, m4/mountlist.m4, m4/nanosleep.m4, m4/path-concat.m4,
22733         m4/pathmax.m4, m4/physmem.m4, m4/posixtm.m4, m4/posixver.m4,
22734         m4/quote.m4, m4/quotearg.m4, m4/readtokens.m4, m4/readutmp.m4,
22735         m4/safe-read.m4, m4/safe-write.m4, m4/same.m4, m4/savedir.m4,
22736         m4/settime.m4, m4/sha1.m4, m4/sig2str.m4, m4/strdup.m4, m4/strftime.m4,
22737         m4/strndup.m4, m4/strverscmp.m4, m4/timespec.m4, m4/unlocked-io.m4,
22738         m4/userspec.m4, m4/utimecmp.m4, m4/utimens.m4, m4/xalloc.m4,
22739         m4/xnanosleep.m4, m4/xstrtol.m4, m4/yesno.m4:
22740         Use AC_LIBSOURCES and AC_LIBOBJ to indicate source and object files
22741         for these modules.
22742
22743 2005-03-18  Paul Eggert  <eggert@cs.ucla.edu>
22744
22745         * lib/strftime.c (my_strftime): If the underlying strftime returns 0
22746         (which shouldn't happen), generate nothing instead of returning 0
22747         immediately, so that nstrftime (NULL, ...) doesn't return 0.
22748
22749 2005-03-16  Bruno Haible  <bruno@clisp.org>
22750
22751         * modules/stdint (Makefile.am): Use HAVE_LONG_LONG_64BIT instead of
22752         HAVE_LONGLONG_64BIT.
22753
22754 2005-03-16  Bruno Haible  <bruno@clisp.org>
22755
22756         * m4/stdint.m4 (gl_STDINT_H): Define HAVE_LONG_LONG_64BIT instead of
22757         HAVE_LONGLONG_64BIT.
22758
22759 2005-03-16  Bruno Haible  <bruno@clisp.org>
22760
22761         * lib/stdint_.h: Use HAVE_LONG_LONG_64BIT instead of
22762         HAVE_LONGLONG_64BIT.
22763
22764 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
22765
22766         * lib/strftime.c (my_strftime): Prepend space to format so that we can
22767         reliably distinguish strftime failure from empty output on POSIX
22768         hosts.
22769
22770 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
22771
22772         * lib/iconvme.c (SIZE_MAX): New macro, if not already defined.
22773         (iconv_string): Don't guess a size-zero buffer, as that might cause
22774         buffer overrun.  Instead, avoid multiplying by MB_LEN_MAX if the
22775         result would be 'too large', where 'too large' is (heuristically)
22776         the square root of SIZE_MAX, divided by MB_LEN_MAX to allay
22777         overflow concerns.  This will prevent some unwanted malloc failures
22778         when the inputs are very large.
22779
22780 2005-03-15  Karl Berry  <karl@gnu.org>
22781
22782         * config/srclist.txt (config.rpath): from gettext.
22783         * config/config.rpath: update.
22784
22785 2005-03-15  Bruno Haible  <bruno@clisp.org>
22786
22787         * lib/regex.c (byte_re_match_2_internal): Rename local variable 'not'
22788         to 'negate'.
22789
22790         * lib/regex.c (byte_re_match_2_internal): Reduce scope of same_str_p
22791         variable.
22792
22793         * lib/regex.c (EXTEND_BUFFER, regcomp): Cast the realloc/malloc
22794         results.
22795
22796 2005-03-14  Simon Josefsson  <jas@extundo.com>
22797
22798         * lib/timegm.h: Use proper prototype CPP guards, reported by Dave Love
22799         <fx@gnu.org>.
22800
22801 2005-03-14  Paul Eggert  <eggert@cs.ucla.edu>
22802
22803         * lib/mktime.c (TYPE_TWOS_COMPLEMENT, TYPE_ONES_COMPLEMENT,
22804         TYPE_SIGNED_MAGNITUDE, TYPE_MINIMUM, TYPE_MAXIMUM): Sync from
22805         intprops.h.
22806         * lib/strtol.c: Likewise.
22807
22808 2005-03-14  Jim Meyering  <jim@meyering.net>
22809
22810         * lib/strftime.c (my_strftime) [HAVE_STRFTIME && ! (_NL_CURRENT
22811         && HAVE_STRUCT_ERA_ENTRY)]: Initialize the first byte of ubuf[]
22812         to be nonzero so that we (and caller) can detect the difference
22813         between a valid zero-length expansion and an error return, even
22814         when the underlying strftime fails before writing anything into
22815         that location.
22816
22817 2005-03-14  Bruno Haible  <bruno@clisp.org>
22818
22819         * m4/lib-link.m4, gettext.m4, nls.m4, po.m4:
22820         Update from GNU gettext 0.14.3.
22821
22822 2005-03-10  Jim Meyering  <jim@meyering.net>
22823
22824         * m4/save-cwd.m4 (gl_SAVE_CWD): Check for fchdir.
22825
22826 2005-03-10  Jim Meyering  <jim@meyering.net>
22827
22828         * lib/save-cwd.c [!HAVE_FCHDIR]: Define open, fchdir, and chdir_long
22829         so that this module works on systems without fchdir.
22830
22831 2005-03-09  Paul Eggert  <eggert@cs.ucla.edu>
22832
22833         Factor int-properties macros into a single file, except for
22834         glibc-related files.
22835         * lib/intprops.h: New file.
22836         * lib/getloadavg.c: Include it instead of limits.h.
22837         (INT_STRLEN_BOUND): Remove.
22838         * lib/human.c: Include intprops.h.
22839         (group_number): Use INT_STRLEN_BOUND instead of rolling it ourself.
22840         * lib/human.h (LONGEST_HUMAN_READABLE): Use 146/485 rather than
22841         302/1000.
22842         * lib/inttostr.h: Include intprops.h instead of limits.h.
22843         (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND): Remove.
22844         * lib/mktime.c (TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT): New macros,
22845         for consistency with intprops.h.
22846         (time_t_is_integer, twos_complement_arithmetic): Use them.
22847         * lib/sig2str.h: Include <signal.h>, intprops.h.
22848         (INT_STRLEN_BOUND): Remove.
22849         * lib/strftime.c (TYPE_SIGNED): Remove.
22850         (INT_STRLEN_BOUND): Switch to same implementation as intprops.h.
22851         * lib/strtol.c: Adjust comments to match intprops.h.
22852         * lib/userspec.c: Include intprops.h.
22853         (TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Remove.
22854         * lib/utimecmp.c, xnanosleep.c, xstrtol.c: Likewise.
22855         * lib/utimecmp.c (utimecmp): Use TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT
22856         instead of rolling our own expressions.
22857         * lib/xstrtol.c: Include xstrtol.h first, to test interface.
22858
22859         * lib/strftime.c: Include <stdbool.h>.  Use bool where appropriate,
22860         instead of int.
22861         (my_strftime): Do not mishandle years close to INT_MAX, by doing
22862         the right thing even if adding 1900 would overflow.  Similarly
22863         for tm_mon + 1 and tm_yday + 1.
22864         Make %Y always equivalent to %C%y, and similarly for %G and %g.
22865         (DO_NUMBER, DO_NUMBER_SPACEPAD): Set digits to d, not a conditional.
22866         (DO_SIGNED_NUMBER): New macro.
22867         (my_strftime) [HAVE_TZNAME]: Don't dump core if tp->tm_dst > 1.
22868
22869 2005-03-07  Bruno Haible  <bruno@clisp.org>
22870
22871         * m4/mmap-anon.m4 (MAP_FILE, MAP_FAILED): Remove definitions.
22872
22873 2005-03-07  Bruno Haible  <bruno@clisp.org>
22874
22875         * lib/pagealign_alloc.c (MAP_FILE, MAP_FAILED): Define fallbacks.
22876
22877 2005-03-04  Derek R. Price  <derek@ximbiot.com>
22878
22879         * gnulib-tool (func_cp_if_changed, func_mv_if_changed): New functions.
22880         (func_import): Only replace files via --import when they have actually
22881         changed.
22882
22883 2005-03-03  Derek R. Price  <derek@ximbiot.com>
22884
22885         * m4/mmap-anon.m4: New file.
22886         * m4/pagealign_alloc.m4: New file.
22887
22888 2005-03-03  Derek R. Price  <derek@ximbiot.com>
22889             Bruno Haible  <bruno@clisp.org>
22890
22891         * modules/pagealign_alloc: New file.
22892         * MODULES.html.sh (Memory management functions): Add pagealign_alloc.
22893
22894 2005-03-03  Derek R. Price  <derek@ximbiot.com>
22895             Bruno Haible  <bruno@clisp.org>
22896
22897         * lib/pagealign_alloc.h: New file.
22898         * lib/pagealign_alloc.c: New file.
22899
22900 2005-03-03  Bruno Haible  <bruno@clisp.org>
22901
22902         * m4/inttypes.m4, isc-posix.m4, once-only.m4:
22903         Use an all-permissive copyright notice, recommended by RMS.
22904
22905 2005-03-02  Bruno Haible  <bruno@clisp.org>
22906
22907         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Undo the replacement here. Because
22908         of AIX, the replacement has to be done only after <string.h> is
22909         included, therefore not in config.h. stpncpy.h does the replacement,
22910         and stpncpy.c uses it.
22911
22912 2005-03-02  Bruno Haible  <bruno@clisp.org>
22913
22914         * lib/stpncpy.h (stpncpy): Define as a macro without arguments, so that
22915         stpncpy.c uses it.
22916
22917 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
22918
22919         Remove workaround for bug in Linux kernel 2.6.8 or thereabouts.
22920         The workaround isn't strictly needed for POSIX conformance, and
22921         it's too much of a pain to configure and maintain.  We'll ask
22922         people to fix their kernels instead.
22923         * lib/xnanosleep.c: Don't include gethrxtime.h or xtime.h.
22924         (NANOSLEEP_BUG_WORKAROUND): Remove.
22925         (xnanosleep): Remove the workaround.
22926
22927 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
22928
22929         * modules/gettime (Makefile.am): Remove lib_SOURCES line.
22930         Reported by Derek Price.
22931         (Include): Add "timespec.h".
22932
22933         * modules/xnanosleep (Depends-on): Remove gethrxtime.
22934
22935 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
22936
22937         * m4/xnanosleep.m4 (gl_XNANOSLEEP): Remove configuration attempting
22938         to detect nanosleep bug.
22939
22940 2005-03-01  Bruno Haible  <bruno@clisp.org>
22941
22942         * lib/vasnprintf.c (EOVERFLOW): Define to a fallback if needed.
22943
22944 2005-02-26  Paul Eggert  <eggert@cs.ucla.edu>
22945
22946         * modules/gethrxtime: New file.
22947         * modules/xnanosleep (Files): Add m4/xnanosleep.m4.
22948         (Depends-on): Add gethrxtime.
22949         (configure.ac): Add gl_XNANOSLEEP.
22950         (Makefile.am): Remove lib_SOURCES line.
22951
22952 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
22953
22954         * m4/gethrxtime.m4, m4/xnanosleep.m4: New files.
22955         * m4/gettime.m4 (gl_GETTIME): Check for nanotime.
22956
22957 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
22958
22959         * lib/gethrxtime.h, lib/gethrxtime.c, lib/xtime.h: New files.
22960         * lib/timespec.h (gettime): Return void, since it always
22961         succeeds now.  All uses changed.
22962         * lib/gettime.c (gettime) Likewise.
22963         [HAVE_NANOTIME]: Prefer nanotime.
22964         Assume gettimeofday succeeds, as POSIX requires.
22965         Assime time () succeeds, since other code already does.
22966         * lib/xnanosleep.c: Include xtime.h and gethrxtime.h, not xalloc.h.
22967         (timespec_subtract): Remove.
22968         (NANOSLEEP_BUG_WORKAROUND): New constant.
22969         (xnanosleep): Use gethrxtime rather than gettime; this simplifies
22970         things considerably.  Use it only on GNU/Linux hosts, since the
22971         workaround shouldn't be needed elsewhere.
22972
22973 2005-02-24  Bruno Haible  <bruno@clisp.org>
22974
22975         * modules/gettext (Files): Add m4/glibc2.m4.
22976
22977 2005-02-24  Bruno Haible  <bruno@clisp.org>
22978
22979         * m4/gettext.m4, intdiv0.m4, intmax.m4, inttypes-pri.m4, lcmessage.m4:
22980         * m4/lib-link.m4, lib-prefix.m4, nls.m4, po.m4, printf-posix.m4:
22981         * m4/progtest.m4:
22982         Update from GNU gettext 0.14.2.
22983         * m4/glibc2.m4: New file, from GNU gettext 0.14.2.
22984
22985 2005-02-24  Bruno Haible  <bruno@clisp.org>
22986
22987         * lib/localcharset.c: Update from GNU gettext 0.14.2.
22988         * lib/config.charset: Update from GNU gettext 0.14.2.
22989
22990 2005-02-24  Bruno Haible  <bruno@clisp.org>
22991
22992         * lib/gettext.h: Update from GNU gettext 0.14.2.
22993
22994 2005-02-23  Simon Josefsson  <jas@extundo.com>
22995
22996         * m4/iconvme.m4: New file.
22997
22998 2005-02-23  Jim Meyering  <jim@meyering.net>
22999
23000         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Revert yesteday's
23001         change.
23002         Thanks to Bruno Haible for catching it.
23003
23004 2005-02-22  Simon Josefsson  <jas@extundo.com>
23005
23006         * modules/iconvme: New file.
23007
23008         * MODULES.html.sh: Add iconvme.
23009
23010 2005-02-22  Simon Josefsson  <jas@extundo.com>
23011
23012         * lib/iconvme.h, lib/iconvme.c: New files, from libc.
23013
23014 2005-02-22  Simon Josefsson  <jas@extundo.com>
23015
23016         * config/srclist.txt: Sync iconvme.h, iconvme.c from libc.
23017
23018 2005-02-22  Jim Meyering  <jim@meyering.net>
23019
23020         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Fix typo:
23021         s/ifndef/ifdef/.
23022
23023 2005-02-20  Neil Conway  <neilc@samurai.com>
23024
23025         * lib/xgethostname.c (xgethostname): Check for ENOMEM, which is
23026         returned by OSX/Darwin if the specified buffer is not large
23027         enough for the hostname.
23028
23029 2005-02-03  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
23030
23031         * lib/argp-help.c (__argp_help): Create a fake struct argp_state and
23032         pass it to _help, otherwise the latter coredumps trying to
23033         dereference state.root_argp.
23034
23035 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
23036
23037         * modules/chdir-long (Depends-on): Add memrchr.
23038         * modules/memrchr (Files): Add lib/memrchr.h.
23039         (Include): "memrchr.h".
23040
23041 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
23042
23043         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Add AC_LIBSOURCES, for memrchr.h.
23044
23045 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
23046
23047         * lib/memrchr.h: New file.
23048         * lib/chdir-long.c: Include it.
23049         * lib/memrchr.c [!defined _LIBC]: Include it rather than <string.h>
23050         Don't bother including stddef.h.
23051
23052 2005-02-01  Paul Eggert  <eggert@cs.ucla.edu>
23053
23054         * lib/mountlist.h (MOUNTLIST_H_): New macro, to protect against double
23055         inclusion.
23056         Include <sys/types.h>, for dev_t.
23057         (ME_DUMMY, ME_REMOTE): Move from here....
23058         * lib/mountlist.c (ME_DUMMY, ME_REMOTE): To here.
23059         (ME_DUMMY): Count "subfs" as a dummy.  Problem reported by
23060         Dmitry V. Levin.
23061         Include mountlist.h first, to test the interface.
23062
23063 2005-01-29  Bruno Haible  <bruno@clisp.org>
23064
23065         * lib/progname.c (program_name): Initialize.
23066         Needed when linking statically on MacOS X.
23067
23068 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
23069
23070         Sync from coreutils.
23071         * modules/getloadavg (Files): Remove m4/getloadavg.m4.
23072         (Depends-on): Add c-strtod.
23073         (configure.ac): Replace gl_FUNC_GETLOADAVG with AC_FUNC_GETLOADAVG.
23074
23075 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
23076
23077         Sync from coreutils.
23078         * m4/getloadavg.m4, glibc.m4, search-libs.m4: Remove.
23079
23080         Remove files that are specific to coreutils.
23081         * m4/check-decl.m4, jm-macros.m4, lib-check.m4, prereq.m4: Remove.
23082
23083 2005-01-28  Bruno Haible  <bruno@clisp.org>
23084
23085         * modules/javacomp: New file.
23086         * MODULES.html.sh (Java): Add javacomp.
23087
23088 2005-01-28  Bruno Haible  <bruno@clisp.org>
23089
23090         * m4/javacomp.m4: New file, from GNU gettext.
23091
23092 2005-01-28  Bruno Haible  <bruno@clisp.org>
23093
23094         * lib/javacomp.sh.in: New file, from GNU gettext.
23095         * lib/javacomp.h: New file, from GNU gettext.
23096         * lib/javacomp.c: New file, from GNU gettext.
23097
23098 2005-01-26  Simon Josefsson  <jas@extundo.com>
23099
23100         * lib/gai_strerror.c: Use GPL in header.
23101
23102 2005-01-26  Bruno Haible  <bruno@clisp.org>
23103
23104         * modules/javaexec: New file.
23105         * MODULES.html.sh (Java): Add javaexec.
23106
23107 2005-01-26  Bruno Haible  <bruno@clisp.org>
23108
23109         * m4/javaexec.m4: New file, from GNU gettext.
23110
23111 2005-01-26  Bruno Haible  <bruno@clisp.org>
23112
23113         * lib/javaexec.sh.in: New file, from GNU gettext.
23114         * lib/javaexec.h: New file, from GNU gettext.
23115         * lib/javaexec.c: New file, from GNU gettext.
23116
23117 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
23118
23119         * modules/lchown (Depends-on): Remove lchown.h
23120
23121 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
23122
23123         * m4/sysexits.m4 (gl_SYSEXITS): Reverted logic. SYSEXITS_H
23124         must be defined if the header file was not found, in order
23125         to provide a replacement. Reported by Todd Vierling <tv@duh.org>
23126
23127 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
23128
23129         * lib/argp-help.c (hol_entry_help): Avoid using non-constant
23130         initializers for struct pentry_state.
23131         (__argp_error): Check return value of __asprintf
23132         (__argp_failure): Translate error message
23133
23134         * lib/argp-parse.c: Removed braces around the expansion of N_()
23135
23136 2005-01-23  Paul Eggert  <eggert@cs.ucla.edu>
23137
23138         * m4/acl.m4, afs.m4, alloca.m4, argp.m4, assert.m4, atexit.m4,
23139         backupfile.m4, base64.m4, bison.m4, c-bs-a.m4, c-stack.m4,
23140         c-strtod.m4, calloc.m4, canon-host.m4, canonicalize.m4,
23141         clock_time.m4, cloexec.m4, closeout.m4, d-ino.m4, d-type.m4,
23142         dirfd.m4, dirname.m4, dos.m4, dup2.m4, error.m4, euidaccess.m4,
23143         exclude.m4, exitfail.m4, extensions.m4, fcntl-safer.m4,
23144         file-type.m4, fileblocks.m4, filemode.m4, fnmatch.m4, fpending.m4,
23145         free.m4, fstypename.m4, fsusage.m4, ftruncate.m4, getaddrinfo.m4,
23146         getcwd-path-max.m4, getcwd.m4, getdate.m4, getdomainname.m4,
23147         getgroups.m4, gethostname.m4, getline.m4, getndelim2.m4,
23148         getnline.m4, getopt.m4, getpagesize.m4, getpass.m4, getsubopt.m4,
23149         gettime.m4, gettimeofday.m4, getugroups.m4, getusershell.m4,
23150         group-member.m4, hard-locale.m4, hash.m4, host-os.m4, human.m4,
23151         idcache.m4, inttostr.m4, isdir.m4, jm-winsz1.m4, jm-winsz2.m4,
23152         link-follow.m4, long-options.m4, ls-mntd-fs.m4, lstat.m4,
23153         makepath.m4, mathl.m4, md5.m4, memcasecmp.m4, memchr.m4,
23154         memcmp.m4, memcoll.m4, memcpy.m4, memmem.m4, memmove.m4,
23155         memrchr.m4, memset.m4, mkdir-slash.m4, mkstemp.m4, mktime.m4,
23156         modechange.m4, mountlist.m4, nanosleep.m4, obstack.m4,
23157         path-concat.m4, pathmax.m4, perl.m4, physmem.m4, poll.m4,
23158         posixtm.m4, posixver.m4, putenv.m4, quote.m4, quotearg.m4,
23159         readdir.m4, readtokens.m4, readutmp.m4, regex.m4, rename.m4,
23160         restrict.m4, rmdir-errno.m4, rmdir.m4, rpmatch.m4, same.m4,
23161         savedir.m4, settime.m4, sha1.m4, sig2str.m4, snprintf.m4,
23162         sockpfaf.m4, st_dm_mode.m4, st_mtim.m4, stat.m4, stdint.m4,
23163         stdio-safer.m4, strchrnul.m4, strdup.m4, strerror.m4,
23164         strerror_r.m4, strftime.m4, strndup.m4, strnlen.m4, strsep.m4,
23165         strtod.m4, strtoimax.m4, strtok_r.m4, strtol.m4, strtoll.m4,
23166         strtoul.m4, strtoull.m4, strtoumax.m4, strverscmp.m4, sysexits.m4,
23167         time_r.m4, timegm.m4, timespec.m4, tm_gmtoff.m4, tzset.m4,
23168         uint32_t.m4, uintptr_t.m4, unistd-safer.m4, unlink-busy.m4,
23169         unlocked-io.m4, uptime.m4, userspec.m4, utimbuf.m4, utime.m4,
23170         utimecmp.m4, utimens.m4, utimes-null.m4, vsnprintf.m4, xalloc.m4,
23171         xgetcwd.m4, xreadlink.m4, xstrndup.m4, xstrtod.m4, xstrtoimax.m4,
23172         xstrtol.m4, xstrtoumax.m4, yesno.m4:
23173         Use an all-permissive copyright notice, recommended by RMS.
23174
23175 2005-01-21  Paul Eggert  <eggert@cs.ucla.edu>
23176
23177         * modules/chdir-long (Depends-on): Remove mempcpy.
23178
23179 2005-01-21  Jim Meyering  <jim@meyering.net>
23180
23181         * lib/openat.h (AT_SYMLINK_NOFOLLOW): Define to 4096, so it's the
23182         same value as for Solaris 9.
23183
23184         * lib/chdir-long.c (chdir_long): Rewrite to remove limitation on
23185         component length.  This included changing the parameter to be
23186         of type `char *' rather than `char const *'.
23187         * lib/chdir-long.h (chdir_long): Update prototype.
23188
23189         * lib/openat.c (fdopendir, fstatat): New functions.
23190         * lib/openat.h: Include headers required for use of DIR and struct
23191         stat.
23192         [AT_SYMLINK_NOFOLLOW]: Define.
23193         (fdopendir, fstatat): Add prototypes.
23194
23195 2005-01-21  Bruno Haible  <bruno@clisp.org>
23196
23197         * modules/classpath: New file.
23198         * MODULES.html.sh (Java): Add classpath.
23199
23200 2005-01-21  Bruno Haible  <bruno@clisp.org>
23201
23202         * lib/classpath.h: New file, from GNU gettext.
23203         * lib/classpath.c: New file, from GNU gettext.
23204
23205 2005-01-20  Simon Josefsson  <jas@extundo.com>
23206
23207         * modules/version-etc-fsf: New file.
23208
23209 2005-01-20  Simon Josefsson  <jas@extundo.com>
23210
23211         * lib/version-etc-fsf.c: New file, with version_etc_copyright.
23212         * lib/version-etc.c: Remove version_etc_copyright.
23213         * lib/version-etc.h (version_etc_copyright): Use [] instead of * in
23214         prototype, suggested by Paul Eggert <eggert@CS.UCLA.EDU>.
23215
23216 2005-01-20  Simon Josefsson  <jas@extundo.com>
23217
23218         * lib/base64.h (isbase64): Add.
23219
23220         * lib/base64.c (isb64): Rename to isbase64, use to_uchar instead of
23221         using a unsigned prototype, don't inline.
23222         (base64_decode): Use it.
23223
23224 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
23225
23226         * m4/save-cwd.m4 (gl_SAVE_CWD): Remove check for fcntl; we now assume
23227         it.
23228
23229 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
23230
23231         * lib/save-cwd.c (save_cwd): Remove code to support the case
23232         where fchdir is missing or flaky.
23233
23234 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
23235
23236         * MODULES.html.sh (Command-line arguments): Add version-etc-fsf.
23237
23238 2005-01-19  Paul Eggert  <eggert@cs.ucla.edu>
23239
23240         * modules/mempcpy (Makefile.am): Remove mention of mempcpy.h;
23241         AC_LIBSOURCES now does this.
23242         * MODULES.html.sh (Sizes of integer types <limits.h>): New element,
23243         with new ullong_max module.
23244
23245 2005-01-19  Bruno Haible  <bruno@clisp.org>
23246
23247         * modules/sh-quote: New file.
23248         * MODULES.html.sh (Executing programs): Add sh-quote.
23249
23250 2005-01-19  Bruno Haible  <bruno@clisp.org>
23251
23252         * lib/sh-quote.h: New file, from GNU gettext.
23253         * lib/sh-quote.c: New file, from GNU gettext.
23254
23255 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
23256
23257         Merge from coreutils.
23258         * m4/ullong_max.m4: New file.
23259         * m4/jm-macros.m4 (gl_MACROS): Require gl_ULLONG_MAX.
23260         (gl_MACROS): Assume localeconv exists.
23261
23262 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
23263
23264         Merge changes from coreutils, as described below in several
23265         changelogs dated today.
23266
23267         * lib/save-cwd.c: Include "save-cwd.h" before other include files.
23268         (O_DIRECTORY): Remove; not needed here, since "." must be
23269         a directory.  All uses removed.
23270         (save_cwd): Use __sgi || __sun, not sun || __sun.  __sun is
23271         universal on Suns, and we also need to test for IRIX.
23272         Revamp code to use 'if' rather than '#if'.
23273         Avoid unnecessary comparison of cwd->desc to 0.
23274
23275         * lib/utimens.c (futimens): Robustify the previous patch, by checking
23276         for known valid error numbers rather than observed invalid ones.
23277
23278 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
23279
23280         * modules/ullong_max: New file.
23281
23282         * modules/chdir-long, modules/openat: New files.
23283         * modules/save-cwd (Depends-on): Depend on chdir-long.
23284         (Makefile.am): Remove lib_SOURCES; now handled by AC_LIBSOURCES.
23285
23286 2005-01-18  Jim Meyering  <jim@meyering.net>
23287
23288         Merge from coreutils.
23289         * m4/chdir-long.m4, m4/openat.m4: New files.
23290         * m4/save-cwd.m4 (gl_SAVE_CWD): Add AC_LIBSOURCES for save-cwd.c,
23291         save-cwd.h.  Add AC_LIBOBJ for save-cwd.
23292         * m4/chown.m4 (gl_FUNC_CHOWN): When cross-compiling, assume that chown
23293         is sane and DOES follow symlinks.  Besides, testing 20 different
23294         systems found no broken chown implementations.
23295         Prompted by a change in rsync's copy of this macro.
23296         * m4/jm-macros.m4 (gl_MACROS): Require gl_FUNC_CHDIR_LONG.
23297
23298         * m4/lchown.m4 (gl_FUNC_LCHOWN): Use AC_LIBSOURCES.
23299
23300         * m4/utimes.m4: Work around tests/touch/empty-file failure on a system
23301         (sparc64, Linux-2.4.28, glibc-2.3.3) that didn't honor utimes'
23302         NULL-means-set-to-current-time semantics.
23303         Remove temporary file immediately, rather than waiting
23304         for configure's at-exit trap code to do it.
23305
23306 2005-01-18  Jim Meyering  <jim@meyering.net>
23307
23308         * lib/version-etc.c (version_etc_copyright): Update copyright date.
23309
23310         * lib/utimens.c (futimens): Account for the fact that futimes
23311         can also fail with errno == ENOSYS or errno == ENOENT.
23312         Patch from Dmitry V. Levin.
23313
23314         Change the name of the robust chdir function from chdir to chdir_long.
23315         * lib/save-cwd.c: Include chdir-long.h rather than chdir.h.
23316         (restore_cwd): Use chdir_long, not chdir.
23317         * lib/chdir-long.c: Renamed from chdir.c.
23318         * lib/chdir-long.h: Renamed from chdir.h.
23319         [!defined PATH_MAX]: Define chdir_long to chdir on systems like the
23320         Hurd.
23321
23322 2005-01-18  Bruno Haible  <bruno@clisp.org>
23323
23324         * m4/allocsa.m4, m4/codeset.m4, m4/copy-file.m4, m4/eaccess.m4:
23325         * m4/eealloc.m4, m4/eoverflow.m4, m4/execute.m4, m4/fatal-signal.m4:
23326         * m4/findprog.m4, m4/glibc21.m4, m4/iconv.m4, m4/intmax_t.m4:
23327         * m4/inttypes_h.m4, m4/lib-ld.m4, m4/lib-link.m4, m4/lib-prefix.m4:
23328         * m4/linebreak.m4, m4/localcharset.m4, m4/longdouble.m4:
23329         * m4/longlong.m4, m4/mbrtowc.m4, m4/mbstate_t.m4, m4/mbswidth.m4:
23330         * m4/mkdtemp.m4, m4/pipe.m4, m4/readlink.m4, m4/safe-read.m4:
23331         * m4/safe-write.m4, m4/setenv.m4, m4/sig_atomic_t.m4:
23332         * m4/signalblocking.m4, m4/signed.m4, m4/size_max.m4, m4/ssize_t.m4:
23333         * m4/stdbool.m4, m4/stdint_h.m4, m4/stpcpy.m4, m4/stpncpy.m4:
23334         * m4/strcase.m4, m4/strcspn.m4, m4/strpbrk.m4, m4/strstr.m4:
23335         * m4/ucs4-utf.m4, m4/uintmax_t.m4, m4/ulonglong.m4, m4/unicodeio.m4:
23336         * m4/utf-ucs4.m4, m4/vasnprintf.m4, m4/vasprintf.m4:
23337         * m4/wait-process.m4, m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4:
23338         Use an all-permissive copyright notice, recommended by RMS.
23339
23340 2005-01-18  Bob Proulx  <bob@proulx.com>
23341
23342         * lib/obstack.c [DEFAULT_ALIGNMENT]: Use an intermediate type to
23343         simplify offsetof() macro construct to avoid compile failure with
23344         native HP-UX 11.0 ANSI C compiler.
23345
23346 2005-01-17  Bruno Haible  <bruno@clisp.org>
23347
23348         * lib/stpncpy.c: Remove HAVE_STPNCPY and gnu_stpncpy renaming,
23349         redundant because stpncpy.m4 takes care of it.
23350
23351 2005-01-17  Bruno Haible  <bruno@clisp.org>
23352
23353         * lib/progreloc.c: Include xalloc.h instead of xmalloc.h.
23354
23355 2005-01-17  Bruno Haible  <bruno@clisp.org>
23356
23357         * lib/progreloc.c (xstrdup): Define as strdup if no xmalloc should be
23358         used.
23359
23360 2005-01-17  Bruno Haible  <bruno@clisp.org>
23361
23362         * lib/fwriteerror.h (fwriteerror): Change specification to include
23363         fclose.
23364         * lib/fwriteerror.c: Include <stdbool.h>.
23365         (fwriteerror): At the end, close the file stream. Record whether
23366         stdout was already closed.
23367
23368 2005-01-17  Bruno Haible  <bruno@clisp.org>
23369
23370         * lib/execute.c (environ): Declare if needed.
23371         * lib/pipe.c (environ): Likewise.
23372         Reported by Michael Schloh von Bennewitz <michael.schloh@cw.com>.
23373
23374 2005-01-11  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
23375
23376         * modules/argp: Depend on vsnprintf
23377
23378 2005-01-10  Jim Meyering  <jim@meyering.net>
23379
23380         * modules/closeout (Depends-on): Add atexit.
23381
23382 2005-01-06  Bruno Haible  <bruno@clisp.org>
23383
23384         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Rename stpncpy to gnu_stpncpy here.
23385
23386 2005-01-04  Paul Eggert  <eggert@cs.ucla.edu>
23387
23388         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Move these conditional
23389         definitions to be after all include files, to avoid collisions.
23390         Problem reported by Bob Proulx.
23391
23392 2005-01-04  Jim Meyering  <jim@meyering.net>
23393
23394         Changes imported from coreutils.
23395         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Rather than using "conftestXXXXXX"
23396         as the mkstemp template, use a temporary directory and an
23397         8.3-friendly template to avoid trouble on systems like DJGPP.
23398         Reported by Juan M. Guerrero via Stepan Kasal.
23399         * m4/(gl_FUNC_MKSTEMP): Include <unistd.h> for the declaration of
23400         close. Remove the temporary directory right away, rather than waiting
23401         for configure's at-exit trap code to do it.
23402         Suggestion from Stepan Kasal.
23403
23404 2005-01-01  Simon Josefsson  <jas@extundo.com>
23405
23406         * gnulib-tool: Print #include directives when --import'ing.
23407
23408 2004-12-28  Simon Josefsson  <jas@extundo.com>
23409
23410         * tests/test-base64.c: Include required header files.  Remove
23411         unused variables.
23412
23413 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
23414
23415         * modules/error (Depends-on): Remove gettext.
23416
23417 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
23418
23419         * lib/error.c [!_LIBC && !ENABLE_NLS]: Do not include "gettext.h";
23420         not needed.  This removes a dependency on the gettext module.
23421         [defined _LIBC]: Do not include <libintl.h>; not needed.
23422
23423 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
23424
23425         * m4/c-strtod.m4 (gl_C99_STRTOLD): New macro.
23426         (gl_C_STRTOD): Use it instead of AC_CHECK_DECLS_ONCE(strtold).
23427
23428 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
23429
23430         * lib/c-strtod.c (STRTOD): Depend on HAVE_C99_STRTOLD, not
23431         HAVE_DECL_STRTOLD.
23432
23433 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
23434
23435         * modules/getdate (Depends-on): Remove alloca-opt.
23436
23437 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
23438
23439         * m4/getdate.m4 (gl_GETDATE): Remove AC_FUNC_ALLOCA.
23440
23441 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
23442
23443         * lib/argp-parse.c: Include <stddef.h>.
23444         (alignof, alignto): New macros.
23445         (parser_init): Don't assume that void * is aligned sufficiently
23446         for struct option.
23447
23448         * lib/getdate.y (YYSTACK_USE_ALLOCA): Define to 0, since there's no
23449         need to extend the stack.
23450         (YYINITDEPTH): New macro, so that the initial stack isn't overly
23451         large.
23452
23453 2004-12-22  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
23454
23455         * lib/argp-parse.c (parser_init): Avoid arithmetics on void pointers.
23456
23457 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
23458
23459         * modules/regex (lib_SOURCES): Remove regex.c, undoing previous
23460         (2004-10-24) change.  Apparently this was a false alarm.
23461
23462         * modules/getdate: Depend on alloca-opt, not alloca.
23463
23464 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
23465
23466         * lib/alloca_.h: Conditionalize on _GNULIB_ALLOCA_H, not _ALLOCA_H.
23467         Remove now-obsolete comment about AIX.
23468         * lib/getdate.y: Include <alloca.h> only if HAVE_ALLOCA.
23469         (YYSTACK_USE_ALLOCA): Define to 0 if !HAVE_ALLOCA.
23470         (YYMAXDEPTH): New macro.
23471
23472 2004-12-18  Simon Josefsson  <jas@extundo.com>
23473
23474         * modules/alloca: Depend on alloca-opt, instead of duplicating it.
23475
23476 2004-12-18  Bruno Haible  <bruno@clisp.org>
23477
23478         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Also test for sigaction.
23479
23480 2004-12-18  Bruno Haible  <bruno@clisp.org>
23481
23482         * lib/fatal-signal.c (fatal_signals): Make non-const.
23483         (init_fatal_signals): New function.
23484         (uninstall_handlers, install_handlers): Ignore signals that were set to
23485         SIG_IGN.
23486         (at_fatal_signal): Call init_fatal_signals.
23487         (init_fatal_signal_set): Likewise. Ignore signals that were set to
23488         SIG_IGN.
23489         Reported by Paul Eggert.
23490
23491 2004-12-18  Bruno Haible  <bruno@clisp.org>
23492
23493         * doc/alloca.texi: New file.
23494         * doc/alloca-opt.texi: New file.
23495
23496 2004-12-17  Jim Meyering  <jim@meyering.net>
23497
23498         * config/install-sh: Use `(exit N); exit N', not `(exit N); exit'.
23499         Otherwise, install-sh could exit with improper exit status when
23500         exiting via a trapped interrupt.  Thanks to a report from Bob Proulx.
23501
23502 2004-12-16  Simon Josefsson  <jas@extundo.com>
23503
23504         * tests/test-base64.c: Add license.
23505
23506 2004-12-15  Stepan Kasal  <address@hidden>
23507
23508         * gnulib-tool (func_emit_lib_Makefile_am): Shorten a long sed command.
23509
23510 2004-12-12  Paul Eggert  <eggert@cs.ucla.edu>
23511
23512         * modules/getcwd (Files): Add m4/d-ino.m4.
23513         Suggested by Mark D. Baushke.
23514
23515 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
23516
23517         * lib/getdate.y (textint): New member "negative".
23518         (time_zone_hhmm): New function.
23519         Expect 14 shift-reduce conflicts, not 13.
23520         (o_colon_minutes): New rule.
23521         (time, zone): Use it to add support for +HH:MM, UTC+HH:MM.
23522         (yylex): Set the "negative" member of signed numbers.
23523
23524 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
23525
23526         * doc/getdate.texi (Time of day items, Time zone items):
23527         Describe new formats +00:00, UTC+00:00.
23528
23529 2004-12-07  Paul Eggert  <eggert@cs.ucla.edu>
23530
23531         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Fix typo in previous change:
23532         spurious "-l"s.  Problem reported by Stepan Kasal.
23533
23534 2004-12-06  Paul Eggert  <eggert@cs.ucla.edu>
23535
23536         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): New macro, to work around bug
23537         in Autoconf 2.59.  Problem reported by Mark D. Baushke.
23538
23539 2004-12-04  Simon Josefsson  <jas@extundo.com>
23540
23541         * modules/getaddrinfo (License): Add LGPL, reported by Yoann
23542         Vandoorselaere <yoann@prelude-ids.org>.
23543
23544 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
23545
23546         Changes imported from coreutils.
23547         * m4/hard-locale.m4 (gl_HARD_LOCALE): Assume locale.h and setlocale
23548         exist.
23549         * m4/human.m4 (gl_HUMAN): Assume locale.h and localeconv exist.
23550
23551 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
23552
23553         Changes imported from coreutils.
23554         * lib/hard-locale.c: Assume <locale.h> exists.
23555         Include "strdup.h".
23556         (GLIBC_VERSION): New macro.
23557         (hard_locale): Assume setlocale exists.
23558         Rewrite to avoid #ifdef.
23559         Use strdup rather than malloc + strcpy.
23560         * lib/human.c: Assume <locale.h> exists.
23561         (human_readable): Assume localeconv exists.
23562
23563 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
23564
23565         * modules/hard-locale (Depends-on): Add strdup.
23566
23567 2004-12-01  Jakub Jelinek  <jakub@redhat.com>
23568
23569         * lib/mktime.c (__mktime_internal): If SEC_REQUESTED != SEC,
23570         convert T2, not T.  (Imported from libc.)
23571
23572 2004-11-30  Simon Josefsson  <jas@extundo.com>
23573
23574         * modules/restrict (License): Change to LGPL.
23575
23576 2004-11-30  Simon Josefsson  <jas@extundo.com>
23577
23578         * m4/restrict.m4: Add copyright and copying conditions.
23579
23580 2004-11-30  Simon Josefsson  <jas@extundo.com>
23581
23582         * m4/base64.m4: New file.
23583
23584 2004-11-30  Simon Josefsson  <jas@extundo.com>
23585
23586         * MODULES.html.sh (Extra functions based on ANSI C 89): Add
23587         base64.
23588
23589         * tests/test-base64.c: New file.
23590
23591         * modules/base64: New file.
23592
23593 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
23594
23595         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX):
23596         Define HAVE_PARTLY_WORKING_GETCWD if getcwd is partly working.
23597
23598         * m4/readutmp.m4 (gl_READUTMP): Don't check for sys/param.h.
23599
23600 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
23601
23602         * lib/getcwd.c (is_ENAMETOOLONG): New macro.
23603         (__getcwd.c): Don't restore errno; glibc doesn't.
23604         [HAVE_PARTLY_WORKING_GETCWD && !defined AT_FDCWD]: Try system getcwd
23605         first, falling back to our code only if its results look suspicious.
23606         Ensure that the resulting buffer is only as large as necessary.
23607
23608         * lib/readutmp.c: Include readutmp.h first.
23609         Include <errno.h>, since readutmp.h no longer does that.
23610         * lib/readutmp.h: Don't include <errno.h>,
23611         <sys/param.h>, <time.h>; not needed to establish interface.
23612         (errno): Remove decl.
23613         (HAVE_STRUCT_XTMP_UT_TYPE): Remove; no longer needed.
23614         (UT_TYPE_EQ, UT_TYPE_NOT_DEFINED, UT_TYPE_BOOT_TIME,
23615         UT_TYPE_USER_PROCESS, IS_USER_PROCESS): New macros.
23616
23617 2004-11-28  Simon Josefsson  <jas@extundo.com>
23618
23619         * lib/base64.h, base64.c: New file.
23620
23621 2004-11-27  Paul Eggert  <eggert@cs.ucla.edu>
23622
23623         * lib/getcwd.h: New file, which I forgot to check in on 2004-11-25.
23624
23625 2004-11-26  Paul Eggert  <eggert@cs.ucla.edu>
23626
23627         * modules/getcwd (Files): Add lib/getcwd.h, m4/getcwd.m4.
23628         (Depends-on): Remove pathmax, same.  Add mempcpy.
23629         (configure.ac): GL_FUNC_GETCWD_PATH_MAX -> gl_FUNC_GETCWD.
23630         (Makefile.am): Append getcwd.h to lib_SOURCES.
23631         (Include): Add getcwd.h.
23632         (Maintainer): Change from Jim Meyering to "all, glibc",
23633         since getdate now uses intended-for-glibc code.
23634         * modules/xgetcwd (Files): Remove m4/getcwd.m4.
23635         (Depends-on): Depend on getcwd.  Do not depend on pathmax.
23636
23637 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
23638
23639         Fix problems reported by Scott S. Tinsley for HP-UX 11.11 using
23640         HP's ANSI C compiler.
23641         * lib/fsusage.c (statvfs) [HAVE_SYS_STATVFS_H]: Remove decl.
23642         Declaring int functions causes warnings on some modern systems and
23643         shouldn't be needed to compile on ancient ones.
23644         * lib/same.c (MIN) [defined MIN]: Don't define, since it's already
23645         defined.
23646
23647         * lib/getcwd.c: Replace by a copy of glibc/sysdeps/posix/getcwd.c, but
23648         with the following changes.
23649         (__set_errno): Parenthesize properly.
23650         Include <stdbool.h>.
23651         (MIN, MAX, MATCHING_INO): New macros.
23652         (__getcwd): Define with prototype, not K&R form.
23653         Use heuristics to allocate default buffer on stack if possible.
23654         If AT_FDCWD is defined, use openat and fstatat to avoid O(N**2)
23655         behavior, and to avoid the PATH_MAX limit when computing
23656         ../../../../...
23657         Use MATCHING_INO to compare inode number to file.
23658         Check for arithmetic overflow in size calculations.
23659         Fix bug in reallocation of dot array that caused getcwd to fail
23660         on directories nested deeper than 75.
23661         Be more careful about saving errno on error.
23662         Do not use realloc; use only free+malloc, as this is a bit
23663         more flexible and avoids a needless copy operation.
23664         Do not inspect st_dev and st_ino for symbolic links; POSIX
23665         doesn't specify the latter.
23666         Check for closedir errors.
23667         Avoid needless casts.
23668         Use "#ifdef weak_alias" around weak_alias, to be like other
23669         glibc code.
23670         The following changes to getcwd.c have effect only when used in
23671         gnulib; they have no effect inside glibc proper.
23672         (#pragma alloca) [defined _AIX && !defined __GNUC__]: Remove,
23673         as alloca isn't used.
23674         (alloca, __alloca): Likewise.
23675         [!_LIBC]: Include "getcwd.h", "mempcpy.h".
23676         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
23677         unconditionally, as gnulib assumes C89 or better.
23678         Do not include <sys/param.h>.
23679         (errno) [!defined __GNU_LIBRARY__ && !defined STDC_HEADERS]: Remove
23680         no-longer-necessary 'extern int errno' decl; gnulib assumes C89 or
23681         better.
23682         (NULL) [!defined NULL]: Remove; we assume C89 or better.
23683         Include <dirent.h> in a way that is compatible with modern Autoconf.
23684         (_D_ALLOC_NAMELEN, _D_EXACT_NAMLEN):
23685         New macros, if not already defined.
23686         Include <unistd.h> if _LIBC, not if __GNU_LIBRARY__.
23687         Use "_LIBC", not "defined _LIBC", for consistency.
23688         (HAVE_MEMPCPY): Remove; no longer needed now that gnulib has
23689         a mempcpy module.
23690         (__lstat, __closedir, __opendir, __readdir) [!_LIBC]: New macros.
23691         (GETCWD_RETURN_TYPE): Remove.  All uses replaced by char *.
23692         * lib/xgetcwd.c: David MacKenzie's old code was removed, so give
23693         credit only to Jim Meyering and adjust the copyright dates.
23694         Do not include <limits.h>, <stdio.h>, <sys/types.h>,
23695         <stdlib.h>, <unistd.h>, "pathmax.h".
23696         Instead, include "xgetcwd.h" (first) and "getcwd.h".
23697         (INITIAL_BUFFER_SIZE): Remove.
23698         (xgetcwd): Rely on getcwd, since we now depend on a reliable one.
23699
23700 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
23701
23702         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Renamed from
23703         GL_FUNC_GETCWD_PATH_MAX for consistency.  All uses changed.
23704         Use the _ONCE methods, for efficiency.
23705         Check for fcntl.h.  In test program, include <errno.h>
23706         and <fcntl.h> if available.  Remove old K&R cruft from
23707         test program.  Check for common errors in GNU/Linux,
23708         OpenBSD, and Solaris.  Just set gl_cv_func_getcwd_path_max;
23709         don't do AC_LIBOBJ, as that's getcwd.m4's job.
23710         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Renamed from
23711         AC_FUNC_GETCWD_NULL.  All used changed.  Change cache variable
23712         name accordingly.
23713         (gl_FUNC_GETCWD, gl_PREREQ_GETCWD): New macros.  Revamp to
23714         accommodate new getcwd.c.
23715         * m4/jm-macros.m4 (gl_MACROS): Don't require GL_FUNC_GETCWD_PATH_MAX.
23716         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_MEMPCPY.
23717         * m4/xgetcwd.m4 (gl_XGETCWD): Replace with gl_FUNC_GETCWD, since
23718         that's all we need now.
23719
23720 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
23721
23722         * m4/argp.m4 (gl_ARGP): Require gl_GETOPT_SUBSTITUTE unconditionally:
23723         argp-parse.c depends on getopt internals, that means we should
23724         always use our getopt, to be on the safe side.
23725         * m4/getopt.m4 (gl_GETOPT): Check if GETOPT_H is already set, in
23726         order not to spoil the result of an eventual previous invocation
23727         of gl_GETOPT_SUBSTITUTE.
23728
23729 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
23730
23731         * lib/getopt_.h: Re-addition of __getopt_argv_const caused
23732         redefinition warnings. To avoid them, include the defines
23733         in `#if !defined __need_getopt ... #endif'. The only place
23734         where __getopt_argv_const is used is in definitions
23735         of getopt_long and getopt_long_only below, which are as well
23736         protected by `#ifndef __need_getopt'.
23737         [defined __GETOPT_PREFIX && !defined __need_getopt]: Undef
23738         __need_getopt after including <stdio.h> and <unistd.h> These
23739         headers might have defined it.
23740
23741 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
23742
23743         * m4/utimens.m4 (gl_UTIMENS): Check for futimes function.
23744
23745 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
23746
23747         * lib/utimens.c (__attribute__, ATTRIBUTE_UNUSED): New macros.
23748         (futimens): New function, which uses futimes if available.
23749         (futimens, utimens): Support timespec==NULL, with same semantics
23750         as utime and utimens.
23751         * lib/utimens.h (futimens): New decl.
23752
23753 2004-11-23  Jim Meyering  <jim@meyering.net>
23754
23755         * lib/getopt_.h: Remove trailing blanks.
23756
23757 2004-11-23  Jim Meyering  <jim@meyering.net>
23758
23759         * lib/__fpending.c: Add comment.
23760
23761 2004-11-22  Paul Eggert  <eggert@cs.ucla.edu>
23762
23763         * modules/canonicalize (Depends-on): Add xreadlink.
23764         Problem reported by James Youngman.
23765
23766 2004-11-20  Paul Eggert  <eggert@cs.ucla.edu>
23767
23768         * lib/getopt_.h (__GETOPT_CONCAT, __GETOPT_XCONCAT, __GETOPT_ID):
23769         New macros.
23770         (getopt, getopt_long, getopt_long_only, optarg, opterr, optind,
23771         optopt): Use them instead of invoking ## directly; otherwise, the
23772         symbols will be __GETOPT_PREFIXgetopt rather than rpl_getopt.
23773
23774 2004-11-19  Bruno Haible  <bruno@clisp.org>
23775
23776         * lib/strtok_r.c: Move comments from here...
23777         * lib/strtok_r.h: ... to here.
23778
23779 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
23780
23781         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Check for buggy calloc
23782         implementations that mishandle size_t overflow.
23783
23784 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
23785
23786         * lib/realloc.c (rpl_realloc): Call 'free' if n==0, since realloc
23787         might fail.  Problem reported by Yoann Vandoorselaere.
23788         * lib/calloc.c (rpl_calloc): Defend against buggy calloc
23789         implementations that mishandle size_t overflow.
23790
23791 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
23792
23793         * modules/canon-host (Depends-on): Add strdup.
23794
23795 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
23796
23797         * m4/canon-host.m4 (gl_CANON_HOST): Check for getaddrinfo.
23798
23799 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
23800
23801         * lib/canon-host.c: Include "strdup.h".
23802         (canon_host): Use getaddrinfo if available, so that IPv6 works.
23803         Use strdup instead of malloc/strcpy to duplicate strings.
23804
23805         * lib/human.h (LONGEST_HUMAN_READABLE): Add 1 for space before unit.
23806         (human_space_before_unit): New constant.
23807         * lib/human.c (human_readable): Support it.
23808
23809         * lib/xgetcwd.c: Include <limits.h>, for PATH_MAX.
23810         (xgetcwd): Set errno correctly when failing.
23811         Work around Solaris 9 bug: getcwd sets errno==ERANGE even though
23812         the failure is actually due to a PATH_MAX problem.
23813
23814         Further getopt changes to make it more likely that glibc will
23815         buy the changes back.
23816         * lib/getopt.c (POSIXLY_CORRECT): New constant.
23817         (getopt): Use it, so to preserve glibc semantic
23818         * lib/getopt1.c (getopt_long, getopt_long_only): Arg is char * const *
23819         when compiling for libc.
23820         * lib/getopt_.h (__getopt_argv_const): Bring it back.
23821         (getopt_long, getopt_long_only): Use it.
23822
23823         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
23824         _getopt_internal): New arg POSIXLY_CORRECT.  All callers changed.
23825         (getopt): Argv is now char * const *, as per standard.
23826         (_getopt_internal_r, _getopt_internal): Argv is now char **,
23827         not char *__getopt_argv_const *.
23828         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
23829         _getopt_long_only_r): Likewise.
23830         * lib/getopt_.h (getopt, getopt_long, geopt_long_only): Likewise.
23831         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
23832         _getopt_long_r, _getopt_long_only_r): Likewise.
23833         * lib/getopt_.h (__getopt_argv_const): Remove.
23834         (getopt): Argv is now char * const *, as per standard.
23835
23836         * lib/getdate.y (tORDINAL): New token.
23837         (day, relunit): Allow it for relative times.
23838         (relative_time_table): Use tORDINAL for ordinals.
23839
23840 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
23841
23842         * doc/getdate.texi (General date syntax): "next" is 1, not 2.
23843         Document that "second" isn't allowed as an ordinal number.
23844
23845 2004-11-16  Jim Meyering  <jim@meyering.net>
23846
23847         * modules/closeout (Depends-on): Add fpending.
23848
23849 2004-11-15  Jim Meyering  <jim@meyering.net>
23850
23851         * lib/closeout.c: Include "__fpending.h" once again.
23852         Include <stdbool.h>.
23853         (close_stdout): Don't fail just because stdout was closed initially,
23854         since some programs don't write to stdout in the normal course of
23855         operation (other than --version and --help), and we don't want this
23856         function to make e.g. `touch file >&-' fail.
23857         But do fail if it was closed and someone has tried to write to it.
23858         E.g., `printf foo >&-' must fail.
23859
23860 2004-11-13  Jim Meyering  <jim@meyering.net>
23861
23862         * m4/jm-macros.m4: Do require gl_FUNC_FPENDING.
23863
23864 2004-11-12  Simon Josefsson  <jas@extundo.com>
23865
23866         * config/srclist.txt: Add strtok_r.c, glibc bought our changes, but a
23867         small doc fix is still pending.
23868
23869 2004-11-11  Simon Josefsson  <jas@extundo.com>
23870
23871         * modules/strtok_r: New file.
23872
23873         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
23874         strtok_r.
23875
23876 2004-11-11  Simon Josefsson  <jas@extundo.com>
23877
23878         * m4/strtok_r.m4: New file.
23879
23880         * m4/getopt.m4: Replace opterr.
23881
23882 2004-11-11  Simon Josefsson  <jas@extundo.com>
23883
23884         * lib/strtok_r.h, strtok_r.c: New file.
23885
23886 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
23887
23888         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): Define __GETOPT_PREFIX instead
23889         of replacing opterr, getopt, etc.  This should handle the
23890         powerpc-apple-darwin5.5 problem recently noted by Simon Josefsson.
23891
23892 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
23893
23894         * lib/getopt_.h (__getopt_argv_const): New macro, to be used so that
23895         we can stop lying to compilers about the constness of argv when we
23896         are compiled outside glibc.
23897         (getopt, getopt_long, getopt_long_only): Use it.
23898         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
23899         _getopt_internal, getopt): Likewise.
23900         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
23901         _getopt_long_only_r): Likewise.
23902         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
23903         _getopt_long_r, _getopt_long_only_r): Likewise.
23904
23905         * lib/getopt_.h [defined __GETOPT_PREFIX && !defined __need_getopt]:
23906         Include <stdlib.h> and <stdio.h>, and <unistd.h> if available.
23907         Then rename getopt to __GETOPT_PREFIX##getopt, and so forth for
23908         the other external symbols.
23909         (getopt) [!defined __GNU_LIBRARY]: Use prototype, not old-style
23910         declaration, since the above renaming now works around collisions.
23911
23912 2004-11-11  Jim Meyering  <jim@meyering.net>
23913
23914         * lib/linebreak.c: Remove trailing blanks.
23915         * lib/alloca_.h: Likewise.
23916         * lib/acosl.c: Likewise.
23917         * lib/euidaccess.c: Likewise.
23918         * lib/allocsa.h: Likewise.
23919
23920 2004-11-10  Simon Josefsson  <jas@extundo.com>
23921
23922         * m4/getaddrinfo.m4: New file.
23923
23924 2004-11-10  Simon Josefsson  <jas@extundo.com>
23925
23926         * lib/getaddrinfo.h, lib/getaddrinfo.c: New files.
23927
23928 2004-11-10  Simon Josefsson  <jas@extundo.com>
23929
23930         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
23931         getaddrinfo.
23932
23933         * modules/getaddrinfo: New file.
23934
23935 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
23936
23937         * m4/prereq.m4 (gl_PREREQ): Require gt_FUNC_SETENV.
23938
23939 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
23940
23941         * lib/mktime.c (SHR): New macro, which is a portable
23942         substitute for >> that should work even on Crays.
23943         (TIME_T_MIDPOINT, ydhms_diff, __mktime_internal): Use it.
23944         Problem reported by Mark D. Baushke in
23945         <http://lists.gnu.org/archive/html/bug-gnulib/2004-11/msg00071.html>.
23946         * lib/getdate.y (SHR): Likewise.
23947         (tm_diff): Use it.
23948         * lib/strftime.c (SHR): Likewise.
23949         (tm_diff): Use it.
23950         * lib/quotearg.c (struct quoting_options): Use unsigned int for
23951         quote_these_too, so that right shifts are well defined.  All uses
23952         changed.
23953
23954 2004-11-10  Jim Meyering  <jim@meyering.net>
23955
23956         Ensure that no close failure goes unreported.
23957         * lib/closeout.c (close_stdout): Always close stdout.  I.e., don't
23958         return early when it seems there's nothing to flush.
23959         Don't include __fpending.h.
23960
23961 2004-11-10  Jim Meyering  <jim@meyering.net>
23962
23963         * modules/closeout (Depends-on): Remove fpending.
23964
23965 2004-11-10  Jim Meyering  <jim@meyering.net>
23966
23967         * m4/jm-macros.m4 (gl_MACROS): Don't require gl_FUNC_FPENDING.
23968
23969 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
23970
23971         * m4/strftime.m4 (_gl_STRFTIME_PREREQS): Remove.  Move its body to
23972         gl_FUNC_STRFTIME.
23973         (gl_FUNC_STRFTIME): Use AC_CHECK_FUNCS_ONCE and AC_CHECK_HEADERS_ONCE
23974         and AC_REQUIRE when possible, to avoid duplicate checks.
23975         Check for <wchar.h>.
23976
23977 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
23978
23979         * lib/strftime.c (DO_MULTIBYTE): Check for wchar.h, too.
23980
23981 2004-11-09  Bruno Haible  <bruno@clisp.org>
23982
23983         * m4/sockpfaf.m4: New file.
23984
23985 2004-11-05  Bruno Haible  <bruno@clisp.org>
23986
23987         * lib/readlink.c: Include stddef.h, needed for size_t on Woe32.
23988         Reported by Mark D. Baushke <mdb@cvshome.org>.
23989
23990 2004-11-04  Bruno Haible  <bruno@clisp.org>
23991
23992         2004-09-11  Bruno Haible  <bruno@clisp.org>
23993                 * allocsa.valgrind: New file.
23994         2004-02-06  Bruno Haible  <bruno@clisp.org>
23995                 * allocsa.h (sa_alignof): Define differently with HP-UX cc, to
23996                 avoid a bug of this cc on HP-UX 10.20 dealing with enums.
23997                 Reported by Christopher Seip <chris.seip@hp.com>.
23998
23999 2004-11-04  Bruno Haible  <bruno@clisp.org>
24000
24001         * modules/allocsa (Files): Add lib/allocsa.valgrind.
24002         (Makefile.am): Distribute it.
24003
24004 2004-11-03  Paul Eggert  <eggert@cs.ucla.edu>
24005
24006         * lib/xreadlink.c (xreadlink): AIX and HP-UX readlink return -1
24007         with errno == ERANGE if the buffer is too small.
24008         Problem reported by Mark D. Baushke.
24009
24010 2004-11-03  Albert Chin  <china@thewrittenword.com>
24011             Paul Eggert  <eggert@cs.ucla.edu>
24012
24013         * m4/uint32_t.m4 (gl_AC_TYPE_UINT32_T): When determining uint32_t
24014         equivalent, substitute $ac_type for equivalent type rather than
24015         blindly using uint32_t *always* which won't work if uint32_t is not
24016         available.  Define _UINT32_T to work around typedef of uint32_t if
24017         <sys/sched.h>, <pthread.h>, or <semaphore.h> used on Solaris
24018         2.5.1.
24019
24020 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
24021
24022         * m4/jm-macros.m4: Sync from coreutils.
24023         (gl_MACROS): Check for mbrlen, for pathchk.
24024         (gl_CHECK_ALL_TYPES): Require AC_TYPE_MBSTATE_T, for pathchk.
24025
24026 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
24027
24028         * lib/xreadlink.c (MAXSIZE): New macro.
24029         (xreadlink): Use it instead of SSIZE_MAX.  Ensure initial buffer
24030         size does not exceed MAXSIZE.  Avoid cast.
24031         As suggested by Mark D. Baushke in
24032         <http://lists.gnu.org/archive/html/bug-gnulib/2004-11/msg00009.html>,
24033         if readlink fails with buffer size just under MAXSIZE, try again
24034         with MAXSIZE.
24035
24036 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
24037
24038         * config/srclist.txt: Add mktime.c; glibc bought all our changes.
24039
24040 2004-11-02  Derek R. Price  <derek@ximbiot.com>
24041         and  Paul Eggert  <eggert@cs.ucla.edu>
24042
24043         * lib/getdate.y [!TEST]: Include <stdio.h>, since we use sprintf now.
24044         (get_date): Overparenthesize to avoid GCC warning.
24045
24046 2004-11-02  Bruno Haible  <bruno@clisp.org>
24047
24048         * m4/setenv.m4 (gt_FUNC_SETENV): Define VOID_UNSETENV if unsetenv()
24049         returns void.
24050
24051 2004-11-02  Bruno Haible  <bruno@clisp.org>
24052
24053         * lib/setenv.h (unsetenv): Define as a macro if the system's unsetenv()
24054         function returns void.
24055
24056 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
24057
24058         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for declarations of
24059         fflush_unlocked, flockfile, funlockfile, funlockfile,
24060         fputs_unlocked, putc_unlocked.
24061
24062 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
24063
24064         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
24065         (funlockfile, fputs_unlocked, putc_unlocked): Don't define if
24066         already declared.
24067
24068 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
24069
24070         * modules/getdate (Files): Add doc/getdate.texi.
24071         (Depends-on): Add setenv, xalloc.
24072
24073 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
24074
24075         * lib/getdate.y: Add support for TZ="foo" within a date string.
24076         Fix some bugs near time_t boundaries.  Reject dates with
24077         out-of-range components, e.g., "Sept 31".
24078         Include <stdlib.h>, "setenv.h", "xalloc.h".
24079         (ISDIGIT_LOCALE): Remove; unused.
24080         Note that the TZ and time functions used here are not reentrant.
24081         (mktime_ok, get_tz): New functions.
24082         (TZBUFSIZE): New constant.
24083         (get_date): Parse leading TZ="foo".  Reject out-of-range components;.
24084         This requires that we sometimes generate our own TZ="XXX..." setting.
24085
24086 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
24087
24088         * doc/getdate.texi: New file, from coreutils with modifications for
24089         the new TZ parsing.
24090
24091 2004-10-27  Derek R. Price  <derek@ximbiot.com>
24092
24093         * lib/mktime.c (not_equal_tm): Remove redundant check.
24094
24095 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
24096
24097         * modules/regex (lib_SOURCES): Add regex.c.
24098         Reported by James Youngman in
24099         <http://lists.gnu.org/archive/html/bug-gnulib/2004-10/msg00199.html>.
24100
24101 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
24102
24103         * lib/getdate.y: Use Bison 1.875 features, and some minor
24104         code cleanups.  This change does not affect semantics.
24105         Don't include <stdlib.h>; no longer needed.
24106         Don't include unlocked-io.h; only the "#if TEST" code uses
24107         stdio, and performance isn't crucial there.
24108         (PC, YYLEX_PARAM, YYPARSE_PARAM): Remove; replaced by
24109         Bison 1.875 features as described below.
24110         All uses of "PC." replaced by "pc->".
24111         (YYSTYPE): Add a forward declaration.
24112         (yylex, yyerror): Use full prototypes in forward decls.
24113         Use "%pure-parser" rather than obsolescent "%pure_parser".
24114         Use %parse-param and %lex-param instead of obsolescent
24115         YYPARSE_PARAM and YYLEX_PARAM.
24116         (meridian_table, month_and_day_table, time_units_table,
24117         relative_time_table, time_zone_table, military_table,
24118         lookup_zone, lookup_word, get_date):
24119         Use NULL instead of 0 where appropriate.
24120         (to_hour): Avoid abort (), to avoid a dependency on
24121         stdlib.h.
24122         (yyerror, yylex): Now accepts parser_control * arg.
24123         (main) [TEST]: Use '\0' rather than 0 for char.
24124
24125 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
24126
24127         * m4/getpagesize.m4 (gl_GETPAGESIZE): Check for <sys/param.h>.
24128
24129 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
24130
24131         * lib/getpagesize.c (getpagesize): Don't assume <sys/param.h> exists.
24132         It's now the caller's responsibility to handle the case where
24133         !HAVE_GETPAGESIZE && !defined getpagesize.
24134
24135         * lib/mktime.c (leapyear): Arg is long int, not int.
24136
24137 2004-10-18  Paul Eggert  <eggert@cs.ucla.edu>
24138
24139         * lib/argp-fs-xinl.c, argp-xinl.c: Update from glibc.
24140
24141 2004-10-17  Paul Eggert  <eggert@cs.ucla.edu>
24142
24143         * gnulib-tool (func_emit_lib_Makefile_am): Fix typo: a $ was
24144         missing.  Problem reported by James Youngman.
24145
24146 2004-10-16  Simon Josefsson  <jas@extundo.com>
24147
24148         * gnulib-tool: Fix comments.  Fix parse problem.
24149         (func_emit_lib_Makefile_am): Don't hard code a in libgl_a_SOURCES.
24150
24151 2004-10-15  Paul Eggert  <eggert@cs.ucla.edu>
24152
24153         * m4/getopt.m4 (gl_GETOPT): Detect and reject the incompatible BSD
24154         implementation of getopt_long.  Problem reported by Alexander Taler in:
24155         http://lists.gnu.org/archive/html/bug-gnulib/2004-10/msg00103.html
24156
24157 2004-10-15  Bruno Haible  <bruno@clisp.org>
24158
24159         * gnulib-tool: Untabify. Initialize supplied_libname.
24160         (func_usage): More homogenous output.
24161         (func_modules_transitive_closure, func_modules_to_filelist,
24162         func_emit_lib_Makefile_am): New functions.
24163         (func_import): New function, extracted from big case statement. Use
24164         func_get_license, func_modules_transitive_closure,
24165         func_modules_to_filelist, func_emit_lib_Makefile_am. Initialize
24166         opt_lgpl. Don't use test -a, as it's not portable.
24167         (func_create_testdir): Use func_modules_transitive_closure,
24168         func_modules_to_filelist, func_emit_lib_Makefile_am.
24169
24170 2004-10-15  Bruno Haible  <bruno@clisp.org>
24171
24172         * gnulib-tool (func_import): Let gl_INIT define LTALLOCA when needed.
24173
24174 2004-10-15  Bruno Haible  <bruno@clisp.org>
24175
24176         * gnulib-tool (func_emit_lib_Makefile_am): Add markers to separate
24177         the portions belonging to each module.
24178         Suggested by Derek Robert Price <derek@ximbiot.com>.
24179
24180 2004-10-12  Simon Josefsson  <jas@extundo.com>
24181
24182         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
24183         (fputs_unlocked, putc_unlocked) [!_LIBCS && !USE_UNLOCKED_IO]: Map
24184         to real functions.
24185
24186 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
24187
24188         * modules/vsnprintf: New file.
24189
24190 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
24191
24192         * m4/vsnprintf.m4: New file.
24193
24194 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
24195
24196         * lib/vsnprintf.h: New file.
24197         * lib/vsnprintf.c: New file.
24198
24199 2004-10-11  Bruno Haible  <bruno@clisp.org>
24200
24201         * MODULES.html.sh (Support for systems lacking ISO C 99): Add
24202         vsnprintf.
24203
24204 2004-10-10  Paul Eggert  <eggert@cs.ucla.edu>
24205
24206         * config/srclistvars.sh: Add GNUSTANDARDS (for eggert only).
24207
24208 2004-10-07  Bruno Haible  <bruno@clisp.org>
24209
24210         * lib/snprintf.c (snprintf): Avoid a memory allocation if the result
24211         fits into the provided buffer.
24212
24213 2004-10-06  Paul Eggert  <eggert@cs.ucla.edu>
24214
24215         * lib/diacrit.c, diacrit.h: Add GPL notice.
24216
24217         * lib/atanl.c, logl.c: Add GPL notice, to match glibc's added LGPL
24218         notice.
24219         * lib/atanl.c (atanl): Keep the code as similar to glibc as possible.
24220         * lib/logl.c (logl): Keep the code as similar to glibc as possible.
24221         This avoids a potential constant-folding bug.
24222
24223 2004-10-05  Bruno Haible  <bruno@clisp.org>
24224
24225         * m4/strsep.m4 (gl_FUNC_STRSEP): Require AC_GNU_SOURCE. Don't check
24226         for the declaration of strsep.
24227
24228 2004-10-05  Bruno Haible  <bruno@clisp.org>
24229
24230         * lib/strsep.h: Don't declare strsep() if HAVE_STRSEP.
24231
24232 2004-10-04  Simon Josefsson  <jas@extundo.com>
24233
24234         * modules/memmem: New file.
24235         * tests/test-memmem.c: New file.
24236         * MODULES.html.sh (Extra functions based on ANSI C 89): Add memmem.
24237
24238 2004-10-04  Simon Josefsson  <jas@extundo.com>
24239
24240         * m4/memmem.m4: New file.
24241
24242 2004-10-04  Simon Josefsson  <jas@extundo.com>
24243
24244         * lib/memmem.h: New file.
24245         * lib/memmem.c: New file, taken from glibc.
24246
24247 2004-10-04  Simon Josefsson  <jas@extundo.com>
24248
24249         * lib/error.c, md5.c, regex.c: Use '#if USE_UNLOCKED_IO' instead of
24250         '#ifdef USE_UNLOCKED_IO'.
24251
24252 2004-10-04  Simon Josefsson  <jas@extundo.com>
24253
24254         * config/srclist.txt: Add memmem from glibc.
24255
24256 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
24257
24258         * modules/xalloc (Files, Makefile.am): Remove xstrdup.c.
24259
24260         * modules/argmatch, modules/argp, modules/closeout, modules/error,
24261         modules/exclude, modules/getdate, modules/getline,
24262         modules/getndelim2, modules/getpass, modules/getpass-gnu,
24263         modules/getusershell, modules/linebuffer, modules/md5,
24264         modules/mountlist, modules/posixtm, modules/readtokens,
24265         modules/readutmp, modules/regex, modules/sha1,
24266         modules/version-etc, modules/yesno:
24267         Remove dependency on unlocked-io.
24268
24269 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
24270
24271         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Remove.  All uses removed.
24272
24273         * m4/unlocked-io.m4: Add copyright notice.
24274         (gl_FUNC_GLIBC_UNLOCKED_IO): Define USE_UNLOCKED_IO.
24275
24276 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
24277
24278         * lib/xalloc.h (xmemdup): Renamed from xclone.  All uses changed.
24279         * lib/xmalloc.c (xmemdup): Likewise.
24280         * lib/xalloc.h (CCLONE, CLONE, NEW, XCALLOC, XMALLOC, XREALLOC,
24281         XFREE): Remove these long-obsolescent macros.
24282         * lib/xmalloc.c (xstrdup): Implementation moved here from xstrdup.c
24283         * lib/xstrdup.c: Remove.
24284
24285         * lib/regex.c (re_comp): Cast gettext return value to char *,
24286         Problem reported by Martin Neitzel via Mark D. Baushke.
24287
24288 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
24289
24290         * lib/argmatch.c, closeout.c, error.c, exclude.c, getdate.y,
24291         getndelim2.c, getpass.c, getusershell.c, linebuffer.c,
24292         md5.c, mountlist.c, posixtm.c, readtokens.c, readutmp.c,
24293         regex.c, sha1.c, version-etc.c, yesno.c:
24294         Include "unlocked-io.h" only if USE_UNLOCKED_IO.
24295         * lib/unlocked-io.h: Don't worry about USE_UNLOCKED_IO; that's now
24296         the includer's responsibility.
24297
24298         Sync from coreutils.
24299
24300         * lib/modechange.c (mode_compile): Don't decrement a pointer that
24301         points to the start of a string, as the C Standard says the
24302         resulting behavior is undefined.
24303
24304         * lib/backupfile.h (enum backuptype): Rename none -> no_backups,
24305         simple -> simple_backups, numbered_existing ->
24306         numbered_existing_backups, numbered -> numbered_backups
24307         to avoid shadowing problems.  All uses changed.
24308         * lib/argmatch.c (enum backuptype) [defined TEST]: Likewise.
24309         * lib/backupfile.c (check_extension, numbered_backup):
24310         Rename locals to avoid shadowing 'basename'.
24311         * lib/backupfile.h (VALID_BACKUP_TYPE): Don't evaluate arg more than
24312         once.
24313
24314         * lib/.cppi-disable: Add getopt_.h, getopt_int.h.
24315         * lib/.cvsignore: Add getopt.h.
24316
24317 2004-10-04  Bruno Haible  <bruno@clisp.org>
24318
24319         * modules/README: New file.
24320         * gnulib-tool (func_all_modules, func_verify_module): modules/README is
24321         not a module.
24322
24323 2004-10-02  Jim Meyering  <jim@meyering.net>
24324
24325         * lib/dirfd.h, getpagesize.h: Add copyright notice.
24326
24327 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
24328
24329         * modules/strsep: New file.
24330
24331 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
24332
24333         * m4/strsep.m4: New file.
24334
24335 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
24336
24337         * lib/strsep.h: New file.
24338         * lib/strsep.c: New file.
24339
24340 2004-10-01  Simon Josefsson  <jas@extundo.com>
24341
24342         * lib/snprintf.c (snprintf): Handle size==0.
24343
24344 2004-10-01  Simon Josefsson  <jas@extundo.com>
24345             Bruno Haible  <bruno@clisp.org>
24346
24347         * lib/snprintf.c: Include <stdarg.h>, <stdlib.h>, <string.h>.
24348         (snprintf): Declare 'args'.
24349
24350 2004-10-01  Paul Eggert  <eggert@cs.ucla.edu>
24351
24352         * lib/snprintf.c: Remove comments as to why each header is needed.
24353
24354 2004-10-01  Bruno Haible  <bruno@clisp.org>
24355
24356         * MODULES.html.sh: Add strsep.
24357
24358 2004-09-30  Simon Josefsson  <jas@extundo.com>
24359
24360         * modules/snprintf: New file.
24361
24362 2004-09-30  Simon Josefsson  <jas@extundo.com>
24363
24364         * m4/snprintf.m4: New file.
24365
24366 2004-09-30  Simon Josefsson  <jas@extundo.com>
24367
24368         * lib/snprintf.h, lib/snprintf.c: New files.
24369
24370 2004-09-30  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
24371
24372         * lib/argp-help.c (canon_doc_option): Fixed coredump if *name==NULL
24373         (hol_entry_help): Never translate an empty string.
24374         Do not translate option tag (opt->name) if OPTION_NO_TRANS is set
24375         * lib/argp.h (OPTION_NO_TRANS): New option.
24376
24377 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
24378
24379         * modules/argp (Maintainer): Replace Simon Josefsson
24380         by Sergey Poznyakoff.
24381
24382 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
24383
24384         * config/srclist.txt: Comment-out argp/argp.h, until we get the argp
24385         changes merged back into glibc.
24386
24387 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
24388
24389         * MODULES.html.sh (Support for systems lacking ISO C 99): Add snprintf.
24390
24391 2004-09-29  Oskar Liljeblad  <oskar@osk.mine.nu>
24392
24393         * lib/xvasprintf.c: Include xalloc.h.
24394         (xvasprintf): Use xalloc_die, not xmalloc_die.
24395
24396 2004-09-29  Bruno Haible  <bruno@clisp.org>
24397
24398         * modules/alloca-opt: New file, derived from modules/alloca.
24399         * modules/allocsa: Depend on alloca-opt instead of alloca.
24400         * modules/setenv: Likewise.
24401         * modules/vasnprintf: Likewise.
24402         * MODULES.html.sh: Add alloca-opt.
24403
24404 2004-09-28  Simon Josefsson  <jas@extundo.com>
24405
24406         * gnulib-tool: New parameter --lgpl, to asseert that modules are
24407         LGPL, and to replace license template from GPL to LGPL.
24408
24409 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
24410
24411         * modules/dummy: Change license to LGPL.
24412
24413 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
24414
24415         * lib/dummy.c: Change copyright notice to FSF, and license to GPL.
24416
24417 2004-09-24  Simon Josefsson  <jas@extundo.com>
24418
24419         * modules/minmax (License): Change from GPL to LGPL.
24420
24421 2004-09-23  Simon Josefsson  <jas@extundo.com>
24422
24423         * gnulib-tool (--import): Typo.
24424
24425 2004-09-23  Simon Josefsson  <jas@extundo.com>
24426
24427         * gnulib-tool (--import): Make sure *.m4 end up in m4/ by default.
24428
24429 2004-09-22  Bruno Haible  <bruno@clisp.org>
24430
24431         * modules/*: Add 'License' field.
24432         * gnulib-tool: Accept --extract-license option.
24433         (func_get_license): New function.
24434
24435 2004-09-21  Bruno Haible  <bruno@clisp.org>
24436
24437         * modules/vasnprintf (Files): Add m4/stdint_h.m4, m4/inttypes_h.m4.
24438         Reported by Simon Josefsson.
24439
24440 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
24441
24442         * modules/inttostr (Files): Add m4/longlong.m4, since it uses
24443         gl_AC_TYPE_LONG_LONG.
24444
24445 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
24446
24447         * config/srclist.txt: Add getsubopt.c, since libc bought our changes.
24448
24449 2004-09-18  Simon Josefsson  <jas@extundo.com>
24450         and  Paul Eggert  <eggert@cs.ucla.edu>
24451
24452         * gnulib-tool: Replace various ad-hoc automake/autoconf/aclocal
24453         calls with autoreconf.  Define GL_LIB.
24454
24455 2004-09-14  Karl Berry  <karl@gnu.org>
24456
24457         * config/srclist.txt: unsync setenv.c, sigh.
24458
24459 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
24460
24461         * lib/argp-pvh.c (argp_program_version_hook): Provide initial value.
24462         Problem reported by Bruno Haible in:
24463         http://lists.gnu.org/archive/html/bug-tar/2004-09/msg00023.html
24464
24465 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
24466
24467         * config/srclist.txt: Comment out argp-pvh.c.
24468
24469 2004-09-11  Paul Eggert  <eggert@cs.ucla.edu>
24470
24471         * lib/mempcpy.h: Wrap the entire include file inside #ifndef mempcpy,
24472         in case some system header has #define'd it.  Problem reported by
24473         Soeren D. Schulze in
24474         <http://lists.gnu.org/archive/html/bug-gnulib/2004-09/msg00017.html>.
24475
24476 2004-09-09  Karl Berry  <karl@gnu.org>
24477
24478         * regex.[ch]: delete from the root.  These were supposed to be
24479                 synced with emacs cvs, but this has not happened for about
24480                 a year, and anyway nothing else uses emacs regex.[ch].
24481                 bug-gnulib mail from Jeff Bailey, 9 Sep 2004 15:49:24 -0700.
24482                 lib/regex[.ch] is untouched.
24483
24484 2004-09-09  Bruno Haible  <bruno@clisp.org>
24485
24486         * modules/vasnprintf (Files): Add m4/eoverflow.m4.
24487
24488 2004-09-09  Bruno Haible  <bruno@clisp.org>
24489
24490         * m4/eoverflow.m4: New file, taken from GNU libiconv eilseq.m4 with
24491         modifications.
24492         * m4/vasnprintf.m4 (gl_FUNC_VASNPRINTF): Require gl_EOVERFLOW.
24493
24494 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
24495
24496         * modules/xvasprintf: New file.
24497         * MODULES.html.sh (Extra functions based on ANSI C 89): Add vasprintf.
24498
24499 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
24500
24501         * lib/xvasprintf.h: New file.
24502         * lib/xvasprintf.c: New file.
24503         * lib/xasprintf.c: New file.
24504
24505 2004-09-08  Bruno Haible  <bruno@clisp.org>
24506
24507         * m4/stdint.m4: New file, taken from GNU clisp with modifications.
24508
24509 2004-09-08  Bruno Haible  <bruno@clisp.org>
24510
24511         * lib/vasnprintf.c (VASNPRINTF): Signal EOVERFLOW if the resulting
24512         length is > INT_MAX.
24513         * lib/vasprintf.c (vasprintf): Don't test for length > INT_MAX any
24514         more.
24515
24516 2004-09-08  Bruno Haible  <bruno@clisp.org>
24517
24518         * lib/stdint_.h: New file, taken from GNU clisp.
24519
24520 2004-09-08  Bruno Haible  <bruno@clisp.org>
24521             Oskar Liljeblad  <oskar@osk.mine.nu>
24522
24523         * modules/stdint: New file.
24524         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdint.
24525
24526 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
24527
24528         Import from coreutils.
24529         * lib/userspec.c: Don't use <alloca.h>, so that we don't use alloca on
24530         strings on unbounded length.  alloca's performance benefits aren't
24531         that important here.
24532         (V_STRDUP): Remove.
24533         (parse_with_separator): New function, with most of the internals
24534         of the old parse_user_spec.  Allow user to omit both user and group,
24535         for compatibility with FreeBSD.
24536         Clone only the user name, not the entire spec.
24537         Do not set *uid, *gid unless entirely successful.
24538         Avoid memory leak in some failing cases.
24539         Fix regression for USER.GROUP reported by Dmitry V. Levin in
24540         <http://lists.gnu.org/archive/html/bug-coreutils/2004-08/msg00102.html>
24541         (parse_user_spec): Rewrite to use parse_with_separator.
24542
24543 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
24544
24545         * modules/userspec: Don't depend on alloca.
24546
24547 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
24548
24549         * m4/userspec.m4 (gl_USERSPEC): Don't require AC_FUNC_ALLOCA.
24550
24551 2004-08-17  Paul Eggert  <eggert@cs.ucla.edu>
24552
24553         * MODULES.html.sh: Add xalloc-die, c-strtod, c-strtold, raise,
24554         readtokens0, getcwd, fcntl-safer, canonicalize, cycle-check,
24555         utimecmp, utimens, xnanosleep.  Rename sha to sha1.
24556
24557 2004-08-16  Simon Josefsson  <jas@extundo.com>
24558
24559         * gnulib-tool: Use sed instead of autoconf --trace, inspired by
24560         libtoolize behaviour by "Gary V. Vaughan" <gary@gnu.org>.
24561         Add --dry-run for --import.
24562         Let user provided command line parameters override configure.ac
24563         settings.
24564
24565 2004-08-12  Simon Josefsson  <jas@extundo.com>
24566
24567         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): New macro,
24568         as discussed with Paul Eggert in threads rooted at
24569         <http://lists.gnu.org/archive/html/bug-gnulib/2004-06/msg00039.html>
24570         and
24571         <http://lists.gnu.org/archive/html/bug-gnulib/2004-07/msg00001.html>.
24572         Before, the test was empty, and relied on ELIDE_CODE in source
24573         code.)
24574         (gl_PREREQ_GETOPT): New macro.
24575         (gl_GETOPT): Use them.
24576
24577 2004-08-12  Simon Josefsson  <jas@extundo.com>
24578
24579         * lib/getopt.c, getopt1.c: Remove ELIDE_CODE hack.
24580         * lib/getopt_.h: Renamed from getopt.h.
24581
24582 2004-08-12  Simon Josefsson  <jas@extundo.com>
24583
24584         * gnulib-tool: Add --source-base, --m4-base, --libtool options.
24585         Change default library name from libfoo to libgnu.
24586         Now, if you have a configure.ac that says:
24587                 gl_SOURCE_BASE(gl)
24588                 gl_M4_BASE(gl/m4)
24589                 gl_MODULES(error getopt etcetera)
24590                 gl_INIT
24591         you can import all you need by running:
24592                 ../gnulib/gnulib-tool --import
24593
24594         * modules/getopt (Files): Rename getopt.h to getopt_.h.
24595         (Makefile.am): Rewrite, use logic from argz.
24596         (Include): Use <getopt.h> instead of "getopt.h".
24597
24598 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
24599
24600         * modules/argp (Files): Add m4/unlocked-io.m4.
24601         (Depends-on): Add extensions.
24602
24603 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
24604
24605         * m4/argp.m4 (gl_ARGP): Do not check for argp.h or argp_parse; nobody
24606         uses HAVE_ARGP_H or HAVE_ARGP_PARSE.
24607         Require gl_FUNC_GLIBC_UNLOCKED_IO, gl_USE_SYSTEM_EXTENSIONS.
24608         Check for program_invocation_name, program_invocation_short_name,
24609         flockfile, funlockfile, features.h, _getopt_long_only_r.
24610
24611 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
24612
24613         * lib/argp-help.c, argp-parse.c: Use "gettext.h" instead of
24614         its complicated substitute.
24615         * lib/argp-help.c: Include <errno.h>, for program_invocation_short_name
24616         and program_invocation_name.
24617         (__argp_basename) [!_LIBC]: Remove; the only use was
24618         replaced by its body.
24619         (__argp_short_program_name): Change condition from
24620         !defined __argp_short_program_name to
24621         ! (defined _LIBC || HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME),
24622         to match argp-namefrob.h.
24623         (__argp_failure): Don't assume strerror_r returns char *.
24624         * lib/argp-parse.c (N_): Define unconditionally.
24625         (argp_default_options): Fill out initializers with 0 to avoid
24626         gcc warnings.
24627
24628 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
24629
24630         * config/srclist.txt: Remove getopt.c, getopt.h (renamed to getopt_.h),
24631         getopt1.c.
24632
24633 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
24634
24635         Merge from coreutils.
24636
24637         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for wmemchr and wmemcpy.
24638
24639         * m4/obstack.m4 (gl_PREREQ_OBSTACK): Require
24640         gl_AC_HEADER_INTTYPES_H, gl_AC_HEADER_STDINT_H, gl_AC_TYPE_UINTMAX_T.
24641
24642 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
24643
24644         Merge from coreutils.
24645
24646         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Don't set to 1 if missing
24647         wmemchr or wmemcpy.  Problem reported by Robert Dahlem
24648         for Reliant Unix 5.43.
24649
24650         * lib/obstack.c: Include <inttypes.h> and <stdint.h> if available.
24651         (union fooround): Use uintmax_t, not long int.
24652         The rest is a merge from libc:
24653         [defined _LIBC]: Include <shlib-compat.h>.
24654         (_obstack) [defined _LIBC]: Remove after 2.3.4.
24655
24656         * lib/settime.c (settime): Recode to avoid warning with
24657         Sun Forte C 6U2.
24658
24659         * lib/strverscmp.c: Convert to UTF-8.
24660
24661 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
24662
24663         * modules/obstack (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
24664         m4/uintmax_t.m4.
24665
24666 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
24667
24668         * modules/xalloc-die: New file.
24669         * modules/xalloc: Remove dependencies on error, gettext, exitfail.
24670
24671         * modules/md5 (Files): Add m4/uint32_t.m4.
24672         * modules/sha1: Renamed from modules/sha.
24673         (Files):
24674         Rename lib/sha.h to lib/sha1.h.
24675         Rename lib/sha.c to lib/sha1.c.
24676         Rename m4/sha.m4 to m4/sha1.m4.
24677         (lib_SOURCES): Likewise.
24678         (configure.ac): Rename gl_SHA to gl_SHA1.
24679         (Include): sha.h -> sha1.h.
24680
24681 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
24682
24683         * m4/uint32_t.m4, m4/uintptr_t.m4: New files.
24684         * m4/sha1.m4: Renamed from sha.m4.
24685         (gl_SHA1): Renamed from gl_SHA.  All uses changed.
24686
24687 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
24688
24689         * lib/obstack.h (obstack_empty_p):
24690         Don't assume that chunk->contents is suitably aligned.
24691         * lib/obstack.c (_obstack_begin, _obstack_begin_1, _obstack_newchunk):
24692         Likewise. Problem reported by Benno in
24693         <http://sources.redhat.com/ml/libc-alpha/2004-08/msg00055.html>.
24694
24695         * lib/chown.c (rpl_chown): Work even if the file is writeable but not
24696         readable.  This could be improved further but it'd take some work.
24697
24698 2004-08-08  Simon Josefsson  <jas@extundo.com>
24699
24700         * modules/xgethostname (Depends-on): Remove exit and error (not
24701         used).
24702
24703         * modules/getpass-gnu: Add getpass.h.
24704         (Depends-on): Add stdbool.
24705         * modules/getpass: Add getpass.h.
24706
24707 2004-08-08  Simon Josefsson  <jas@extundo.com>
24708
24709         * m4/getpass.m4 (gl_FUNC_GETPASS, gl_FUNC_GETPASS_GNU):
24710         Check getpass declaration.
24711
24712 2004-08-08  Simon Josefsson  <jas@extundo.com>
24713
24714         * lib/xgethostname.c: Don't include error.h (not used).
24715
24716         * lib/getpass.h: Add.
24717         * lib/getpass.c: Include getpass.h first.
24718
24719 2004-08-08  Paul Eggert  <eggert@cs.ucla.edu>
24720
24721         * lib/xalloc-die.c: New file.
24722         * lib/xalloc.h (xalloc_fail_func, xalloc_msg_memory_exhausted): Remove.
24723         All uses removed.
24724         * lib/xmalloc.c (xalloc_fail_func, xalloc_msg_memory_exhausted):
24725         Likewise. Move inclusions of gettext.h, error.h, exitfail.h to
24726         xalloc-die.c.
24727         (_, N_, xalloc_die): Move to xalloc-die.c.
24728         * lib/userspec.c (parse_user_spaec): Use xstrdup rather than strdup,
24729         so that we needn't mess with xalloc_msg_memory_exhausted.
24730
24731         * lib/sha1.h: Renamed from sha.h.
24732         (SHA1_H): Renamed from _SHA_H.
24733         (sha1_ctx): Renamed from sha_ctx.
24734         (sha1_init_ctx): Renamed from sha_init_ctx.
24735         (sha1_process_block): Renamed from sha_process_block.
24736         (sha1_process_bytes): Renamed from sha_process_bytes.
24737         (sha1_finish_ctx): Renamed from sha_finish_ctx.
24738         (sha1_read_ctx): Renamed from sha_read_ctx.
24739         (sha1_stream): Renamed from sha_stream.
24740         (sha1_buffer): Renamed from sha_buffer.
24741         * lib/sha1.c: Likewise; renamed from sha.c.
24742         Do not include <sys/types.h>.
24743         Include <stddef.h> rather than <stdlib.h>.
24744
24745 2004-08-08  Bruno Haible  <bruno@clisp.org>
24746
24747         * lib/pathname.h (FILE_SYSTEM_PREFIX_LEN): Renamed from
24748         FILESYSTEM_PREFIX_LEN.
24749         * lib/progreloc.c: Likewise.
24750         * lib/concatpath.c (concatenated_pathname): Use FILE_SYSTEM_PREFIX_LEN.
24751
24752 2004-08-06  Simon Josefsson  <jas@extundo.com>
24753
24754         * modules/progname (Depends-on): Don't depend on stdbool.
24755
24756 2004-08-06  Simon Josefsson  <jas@extundo.com>
24757
24758         * modules/getsubopt: New file.
24759         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
24760         getsubopt.
24761
24762 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
24763
24764         More merge from coreutils.
24765
24766         * m4/utimens.m4, m4/utimecmp.m4: New files.
24767         * m4/backupfile.m4, euidacces.m4, acl.m4, afs.m4, calloc.m4, dirfd.m4,
24768         fsusage.m4, jm-macros.m4, ls-mntd-fs.m4, md5.m4, mountlist.m4,
24769         prereq.m4, sha.m4: Import changes from coreutils.
24770
24771 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
24772
24773         More merge from coreutils.
24774         * modules/raise, modules/readtokens0, modules/utimens:
24775         * modules/utimecmp, module/xnanosleep: New files.
24776         * modules/strftime: Add lib/strftime.h.
24777         Change include from <time.h> to "strftime.h".
24778         * modules/yesno: Add lib/yesno.h.
24779         * modules/backupfile: Remove lib/addext.c.
24780         * modules/euidaccess: Add stat-macros.h.
24781         * modules/canonicalize, modules/euidaccess,
24782         modules/filemode, modules/lchown, modules/makepath,
24783         modules/rmdir, modules/stat: Likewise.
24784
24785 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
24786
24787         Merge from tar.
24788         * lib/argp-help.c (make_hol, hol_append): Don't assume that
24789         SIZE_MAX is a valid preprocessor constant.
24790         (__argp_basename): Change from "#ifndef _LIBC"
24791         to "#ifndef __argp_short_program_name", so that
24792         we don't compile these functions for tar.
24793
24794         More merges from coreutils.
24795         * lib/raise.c, lib/readtokens0.h, lib/readtokens0.c, lib/strftime.h:
24796         * lib/utimens.h, lib/utimens.c, lib/utimecmp.h, lib/utimecmp.c:
24797         * lib/xnanosleep.h, lib/xnanosleep.c, lib/yesno.h: New files.
24798         * lib/addext.c: Remove; no longer needed.
24799         * lib/yesno.c, lib/argmatch.h, lib/argmatch.c, lib/backupfile.h,
24800         lib/backupfile.c, lib/euidaccess.c, lib/filemode.c, lib/closeout.c,
24801         lib/dup2.c, lib/exclude.c, lib/fileblocks.c, lib/filemode.c,
24802         lib/fnmatch.c, lib/fnmtahc_loop.c, lib/fopen-safer.c, lib/fsusage.c,
24803         lib/fsusage.h, lib/ftruncate.c, lib/full-write.c, lib/getdate.y,
24804         lib/getloadavg.c, lib/getugroups.c, lib/hard-locale.c,
24805         lib/hard-locale.h, lib/hash.c, lib/human.c, lib/human.h, lib/lchown.c,
24806         lib/lchown.h, lib/makepath.c, lib/makepath.h, lib/md5.c, lib/md5.h,
24807         lib/memchr.c, lib/memcoll.c, lib/memrchr.c, lib/modechange.c,
24808         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
24809         lib/posixtm.c, lib/putenv.c, quotearg.c, lib/quotearg.h,
24810         lib/readtokens.c, lib/readutmp.c, lib/readutmp.h, lib/rmdir.c,
24811         lib/safe-read.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c,
24812         lib/sig2str.c, lib/stat.c, lib/strtoimax.c, lib/strverscmp.c,
24813         lib/userspec.c, lib/utime.c, lib/version-etc.c., lib/xgethostname.c,
24814         lib/xmemcoll.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtod.h,
24815         lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h, lib/xstrtoumax.c:
24816         Import changes from coreutils.
24817
24818 2004-08-05  Simon Josefsson  <jas@extundo.com>
24819
24820         * m4/strdup.m4: Always run gl_PREREQ_STRDUP, since strdup.h need it.
24821
24822 2004-08-05  Simon Josefsson  <jas@extundo.com>
24823
24824         * m4/getsubopt.m4: New file.
24825
24826 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
24827
24828         Merge from coreutils.
24829
24830         * m4/c-strtod.m4, m4/canonicalize.m4, m4/fcntl-safer.m4:
24831         * m4/getcwd-path-max.m4: New files.
24832
24833         * m4/dos.m4 (gl_AC_DOS): filesystem -> file system renaming.
24834         FILESYSTEM_PREFIX_LEN ->
24835         FILE_SYSTEM_PREFIX_LEN.
24836         FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX ->
24837         FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX.
24838         FILESYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR ->
24839         FILE_SYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR.
24840
24841         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't require gl_AC_DOS, the
24842         prerequisite modules now handle the DOS stuff.
24843         Don't check for unistd.h.
24844
24845 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
24846
24847         Merge from coreutils.
24848
24849         * lib/.gdb-history: Remove; this doesn't belong here.
24850
24851         * lib/c-strtod.c, lib/c-strtod.h, lib/c-strtold.c, lib/cycle-check.c:
24852         * lib/cycle-check.h, lib/dev-ino.h, lib/canonicalize.h:
24853         * lib/canonicalize.c, lib/fcntl-safer.h, lib/fcntl-safer.c:
24854         * lib/getcwd.c: New files.
24855
24856         * lib/dirname.h: Include <stdbool.h>.
24857         (FILE_SYSTEM_PREFIX_LEN): Renamed from FILESYSTEM_PREFIX_LEN,
24858         for consistency with POSIX terminology.  All uses changed.
24859         (IS_ABSOLUTE_FILE_NAME, IS_RELATIVE_FILE_NAME): New macros.
24860         (strip_trailing_slashes): Use bool for booleans.
24861         * lib/stripslash.c (strip_trailing_slashes): Likewise.
24862
24863         * lib/error.c: Work around bug in OpenBSD 3.4 sterror_r: it
24864         sometimes returns a positive errno value even when it succeeds.
24865         (print_errno_message) [!LIBC]: Fall back on strerror if
24866         __strerror_r fails.
24867
24868         * lib/path-concat.c (mempcpy): Don't define if a system header defines
24869         it. Don't include stdio.h, stdlib.h, unistd.h, strdup.h.
24870         (longest_relative_suffix): New function.
24871         (path_concat): Use it.  Assume first argument is not NULL.
24872         Port to DOS.  Omit redundant separators.
24873         Report an error instead of returning NULL.
24874         Use mempcpy instead of memcpy.
24875         (xpath_concat): Remove: not declared or used.
24876
24877         * lib/same.h: Include <stdbool.h>
24878         (same_name): Return bool, not int.
24879         * lib/same.c (same_name): Likewise.
24880         (errno): Don't declare; we assume C89 or better now.
24881
24882         * lib/stat-macros (S_ISCTG, S_ISOFD, S_ISOFL): New macros,
24883         if not already defined.
24884
24885         * lib/xgetcwd.c (errno): Don't declare; we assume C89 or better now.
24886         * lib/dup-safer.c (errno): Likewise.
24887
24888 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
24889
24890         Merge from coreutils.
24891         * modules/c-strtod, modules/c-strtold, modules/canonicalize:
24892         * modules/cycle-check, modules/fcntl-safer, modules/getcwd: New files.
24893         * modules/path-concat: Don't depend on strdup.
24894
24895 2004-08-03  Simon Josefsson  <jas@extundo.com>
24896
24897         * lib/strdup.h: Only use HAVE_DECL_STRDUP if defined.
24898         * lib/progname.h: Don't include stdbool.h.
24899
24900 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
24901
24902         * modules/fatal: Remove, as the "fatal" module wasn't used or working.
24903         * MODULES.html.sh (func_all_modules): Remove fatal.
24904
24905 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
24906
24907         * m4/fatal.m4: Remove, as the "fatal" module wasn't used or working.
24908
24909 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
24910
24911         * lib/fatal.c, fatal.h: Remove as the "fatal" module wasn't used or
24912         working.
24913
24914 2004-08-02  Simon Josefsson  <jas@extundo.com>
24915
24916         * lib/getsubopt.h: New file, with comments from Bruno Haible.
24917         * lib/getsubopt.c: New file, from glibc, but slightly modified based on
24918         suggestions from Paul Eggert <eggert@cs.ucla.edu>.
24919
24920 2004-08-01  Simon Josefsson  <jas@extundo.com>
24921
24922         * lib/xgetdomainname.c: Include stdlib.h, for free().
24923
24924 2004-07-19  Bruno Haible  <bruno@clisp.org>
24925
24926         * MODULES.html.sh (func_all_modules): Add dummy.
24927
24928 2004-07-16  Simon Josefsson  <jas@extundo.com>
24929
24930         * modules/dummy: New file.
24931
24932 2004-07-16  Simon Josefsson  <jas@extundo.com>
24933
24934         * lib/dummy.c: New file.
24935
24936 2004-07-16  Bruno Haible  <bruno@clisp.org>
24937
24938         * lib/backupfile.h: Add extern "C" for C++.
24939         * lib/closeout.h: Likewise.
24940         * lib/copy-file.h: Likewise.
24941         * lib/findprog.h: Likewise.
24942         * lib/full-write.h: Likewise.
24943         * lib/pathname.h: Likewise.
24944         * lib/progname.h: Likewise.
24945         * lib/stpcpy.h: Likewise.
24946         * lib/stpncpy.h: Likewise.
24947         * lib/strcase.h: Likewise.
24948         * lib/strstr.h: Likewise.
24949         * lib/xalloc.h: Likewise.
24950
24951         * lib/mbswidth.h: Add extern "C" for C++.
24952         Reported by Albert Chin-A-Young <china@thewrittenword.com>.
24953
24954 2004-07-13  Robert Millan  <robertmh@gnu.org>
24955
24956         * m4/host-os.m4: s/KNetBSD/kNetBSD/g and s/KFreeBSD/kFreeBSD/g.
24957
24958 2004-07-09  Simon Josefsson  <jas@extundo.com>
24959
24960         * lib/getndelim2.c: Include stddef.h, for ptrdiff_t.  (FreeBSD 4.9
24961         failed without this.)
24962
24963 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
24964
24965         * modules/chown (Files): Add lib/fchown-stub.c, since
24966         gl_PREREQ_CHOWN invokes AC_LIBOBJ(fchown-stub).
24967
24968 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
24969
24970         * lib/fchown-stub.c: New file.
24971
24972 2004-06-24  Jim Meyering  <jim@meyering.net>
24973
24974         * lib/obstack.h (obstack_base): Cast to (void *), per documentation.
24975
24976 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
24977
24978         * modules/argz: Omit "#include".
24979
24980         * MODULES.html.sh (func_all_modules): Add calloc, to match
24981         2004-06-01 addition of calloc module.
24982
24983 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
24984
24985         * m4/argz.m4: New file, which is autoupdated from libtool.
24986
24987 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
24988
24989         * lib/argz.c, lib/argz_.h: New files, which are autoupdated from
24990         libtool.
24991
24992 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
24993
24994         * config/srclist-update: Don't insist on "USA." before the
24995         close-comment, as libtool omits the period and puts the */ on a
24996         separate line.
24997         * config/srclist.txt: Add argz.c, argz_.h, argz.m4.
24998         * config/srclistvars.sh: Add LIBTOOL (for eggert only).
24999
25000 2004-06-22  Gary V. Vaughan  <gary@gnu.org>
25001
25002         * modules/argz: New file.
25003         * MODULES.html.sh (func_all_modules): Add argz.
25004
25005 2004-06-12  Jim Meyering  <jim@meyering.net>
25006         and  Paul Eggert  <eggert@cs.ucla.edu>
25007
25008         * modules/hash (Files): Add lib/xalloc.h.
25009         * modules/pipe (Depends-on): Add wait-process.
25010         * modules/stat (Depends-on): Add xalloc.
25011         * modules/userspec (Files): Add lib/userspec.h.
25012         * modules/xstrto
25013
25014         Upgrade from gettext-0.13.
25015         * modules/gettext (Files): Add m4/intmax.m4, m4/longdouble.m4,
25016         m4/longlong.m4, m4/printf-posix.m4, m4/signed.m4, m4/size_max.m4,
25017         m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4.
25018
25019 2004-06-10  Jim Meyering  <jim@meyering.net>
25020
25021         * lib/calloc.c: New file.
25022
25023 2004-06-06  Paul Eggert  <eggert@cs.ucla.edu>
25024
25025         * lib/getdate.y (yylex): Allow space between sign and number.
25026         Problem reported by Dan Jacobson.
25027
25028 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
25029
25030         Merge from coreutils CVS.
25031
25032         * m4/backupfile.m4, dirname.m4, human.m4, inttypes.m4, longlong.m4,
25033         makepath.m4, memchr.m4, memcmp.m4, mountlist.m4, path-concat.m4,
25034         putenv.m4, quotearg.m4, readutmp.m4, strtoimax.m4, strtoll.m4,
25035         strtoull.m4, strtoumax.m4, ulonglong.m4, vasnprintf.m4,
25036         xstrtol.m4: Fix copyright date and/or serial number.
25037
25038         * m4/chown.m4 (gl_PREREQ_CHOWN): Check for fcntl.h.
25039         See if we need an fchown replacement.
25040         (gl_FUNC_CHOWN_FOLLOWS_SYMLINK): New macro.
25041         (gl_FUNC_CHOWN): Require gl_FUNC_CHOWN_FOLLOWS_SYMLINK,
25042         and use the replacement function if we detect either defect.
25043
25044         * m4/prereq.m4 (gl_PREREQ): Add gl_ALLOCSA, gl_CLOEXEC, gl_INTTOSTR,
25045         gl_UTIMECMP.
25046
25047 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
25048         and  Jim Meyering  <jim@meyering.net>
25049
25050         Merge from coreutils CVS.
25051
25052         * lib/stat-macros.h: New file, with contents from file-type.h
25053         and coreutils' system.h.
25054         * lib/file-type.c: Include "stat-macros.h".
25055         * lib/file-type.h (file_type): Move all macro definitions to new file,
25056         stat-macros.h.
25057
25058         * lib/chown.c (rpl_chown) [CHOWN_FAILS_TO_HONOR_ID_OF_NEGATIVE_ONE]:
25059         Wrap old code with this conditional.
25060         [CHOWN_MODIFIES_SYMLINK]: Try to work around a chown
25061         function that does not dereference symlinks.
25062         * lib/lchown.c (lchown) [CHOWN_MODIFIES_SYMLINK]: Just call chown.
25063
25064         * lib/xreadlink.c: Include xreadlink.h first, to catch .h file
25065         dependency problems.
25066         (xreadlink): Accept new arg SIZE, for efficiency.
25067         All decls and uses changed.
25068         * lib/xreadlink.h: Include <stddef.h>, for size_t.
25069
25070         * lib/.cppi-disable: Add alloca_.h, allocsa.h, exit.h, getndelim2.h,
25071         gettext.h, localcharset.h, strdup.h, strndup.h, strtoul.c, time_r.h.
25072
25073         * lib/.cvsignore: Add alloca.h, fnmatch.h, poll.h, stdbool.h,
25074         sysexits.h.
25075
25076 2004-06-01  Jim Meyering  <jim@meyering.net>
25077
25078         * m4/calloc.m4: New file.
25079
25080 2004-05-31  Paul Eggert  <eggert@cs.ucla.edu>
25081
25082         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Detect _Bool bug in HP aC++/ANSI
25083         C B3910B A.05.55 [Dec 04 2003].  Problem reported by Jim Meyering.
25084         Also, fix a typo in a diagnostic.
25085
25086 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
25087
25088         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Do not require AC_FUNC_MALLOC
25089         or AC_FUNC_REALLOC.
25090
25091 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
25092
25093         * lib/xmalloc.c (HAVE_MALLOC, HAVE_REALLOC): Do not require these
25094         macros to be defined.
25095         (xnmalloc_inline, xnrealloc_inline, xcalloc): Do not die if
25096         the allocator returns NULL because the requested size is zero.
25097
25098 2004-05-20  Paul Eggert  <eggert@cs.ucla.edu>
25099
25100         * lib/malloc/obstack.c (_obstack) [defined _LIBC]: Bring back this
25101         var.  Add comment explaining why libc still defines it.  This
25102         merges the following patch from glibc:
25103         http://sources.redhat.com/ml/libc-alpha/2004-05/msg00157.html
25104
25105 2004-05-20  Andreas Schwab  <schwab@suse.de>
25106
25107         * m4/free.m4: Replace free if it not known to work, not the other
25108         way round.
25109
25110 2004-05-19  Paul Eggert  <eggert@cs.ucla.edu>
25111
25112         * lib/obstack.c (_obstack): Remove unused variable.  It hasn't been
25113         present in glibc since revision 1.1 of this file.
25114         * lib/obstack.h (_obstack_free, obstack_1grow, obstack_1grow_fast,
25115         obstack_alignment_mask, obstack_alloc, obstack_base,
25116         obstack_blank, obstack_blank_fast, obstack_chunk_size,
25117         obstack_copy, obstack_copy0, obstack_finish, obstack_grow,
25118         obstack_grow0, obstack_init, obstack_int_grow,
25119         obstack_int_grow_fast, obstack_make_room, obstack_memory_used,
25120         obstack_next_free, obstack_object_size, obstack_ptr_grow,
25121         obstack_ptr_grow_fast, obstack_room): Remove declarations of
25122         nonexistent functions.
25123
25124 2004-05-18  Karl Berry  <karl@gnu.org>
25125
25126         * config/srclist.txt: break link for vasnprintf.c.
25127
25128 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
25129
25130         Port obstack to the AS/400, where pointers are 16 bytes wide and
25131         you cannot cast an integer to a valid pointer.  This patch is
25132         currently waiting to be integrated into glibc; see
25133         <http://sources.redhat.com/ml/libc-alpha/2004-05/msg00073.html>.
25134
25135         * lib/obstack.h (__PTR_TO_INT, __INT_TO_PTR): Remove.
25136         All uses of __INT_TO_PTR (PTR_TO_INT ...) replaced by __PTR_ALIGN.
25137         (__BPTR_ALIGN, __PTR_ALIGN): New macros.
25138         (struct obstack): temp member is now a union of a pointer and
25139         an integer, instead of an integer.  All integer uses changed.
25140         This does not affect the physical layout of struct obstack,
25141         except on hosts (like the AS/400) where the size or alignment of
25142         void * is greater than that of ptrdiff_t.
25143         (obstack_finish) [! (defined __GNUC__ && defined __STDC__ &&
25144         __STDC__)]: Store temporary in pointer member of union, not
25145         integer member.
25146         * lib/obstack.c: Include <stddef.h>, for offsetof.
25147         (struct fooalign): Remove; it doesn't need a name.
25148         (union fooround): Change double to long double, and add void *.
25149         (DEFAULT_ALIGNMENT): Use offsetof to compute.
25150         (DEFAULT_ALIGNMENT, DEFAULT_ROUNDING): Now an enum constant,
25151         not a macro.  Hence the values are always int; so remove all
25152         casts-to-int in uses.
25153
25154 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
25155
25156         * config/srclist.txt: Break link for argp-help.c and argp-parse.c until
25157         we can get this patch merged into glibc.
25158
25159 2004-05-17  Derek R. Price  <derek@ximbiot.com>
25160             Paul Eggert  <eggert@cs.ucla.edu>
25161
25162         * m4/argp: Depend on alloca.
25163
25164 2004-05-17  Derek R. Price  <derek@ximbiot.com>
25165             Paul Eggert  <eggert@cs.ucla.edu>
25166
25167         * lib/argp-help.c, argp-parse.c: Assume <alloca.h> rather than
25168         freecoding.
25169
25170 2004-05-17  Bruno Haible  <bruno@clisp.org>
25171
25172         * lib/vasnprintf.c (VASNPRINTF): Correctly handle the case of a
25173         precision that consists of a '.' followed by an empty digit string.
25174         Patch by Tor Lillqvist <tml@iki.fi>.
25175
25176 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
25177
25178         * m4/alloca.m4 (gl_FUNC_ALLOCA): Define HAVE_ALLOCA_H always,
25179         for backward compatibility with older code.  We need our own
25180         alloca.h if _AIX is defined.  Define HAVE_ALLOCA if we discover
25181         it under some other name, and our alloca.h will define it.
25182
25183 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
25184             Derek Price  <derek@ximbiot.com>
25185
25186         * lib/alloca.c: Include <alloca.h>, to get our interface.
25187         * lib/alloca_.h: Use __alloca on AIX, so that we don't have to
25188         include <alloca.h> first.  Use C89 prototype for alloca; this
25189         requires including <stddef.h> for size_t.  Use extern "C" if C++.
25190         Use #elif for simplicity, since we can assume C89 now.
25191         Don't try to source the system alloca.h since it will not be found
25192         and to prevent recursively including its replacement.
25193         * lib/fnmatch.c: Include <alloca.h> instead of opencoding.
25194         * lib/regex.c: Likewise.
25195
25196 2004-05-16  Derek Price  <derek@ximbiot.com>
25197             Paul Eggert  <eggert@cs.ucla.edu>
25198
25199         getline cleanup.  This changes the getndelim2 API: both order of
25200         arguments, and meaning of delim2 (now uses EOF, not 0, to indicate
25201         no delimiter).
25202
25203         * lib/getline.c: Don't include stddef.h or stdio.h, since our
25204         interface does that.
25205         (getline): Always use getdelim, so that we don't have two
25206         copies of this code.
25207         * lib/getndelim2.c: Include <limits.h>, <inttypes.h>, <stdint.h>
25208         if available.
25209         (PTRDIFF_MAX, SIZE_MAX, SSIZE_MAX): Define if not defined.
25210         (GETNDELIM2_MAXIMUM): New macro.
25211         (getndelim2): Reorder arguments.  delim==EOF now means no delimiter,
25212         instead of the old practice of delim2==0.  All callers changed.
25213         Return -1 on overflow, instead of returning junk.
25214         Do not set *linesize unless allocation succeeds.
25215         * lib/getndelim2.h: Do not include stddef.h; no longer needed, now
25216         that we include sys/types.h.
25217         * lib/getnline.h: Likewise.
25218         * lib/getndelim2.h (GETNLINE_NO_LIMIT): New macro.
25219         (getndelim2): Reorder arguments.
25220         * lib/getnline.c (getnline, getndelim):
25221         Don't discard the NMAX argument.
25222         (getnline): Invoke getndelim, to avoid code duplication.
25223         * lib/getnline.h (GETNLINE_NO_LIMIT): New macro, used instead
25224         of (size_t) -1 by callers of the getnline family.
25225
25226 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
25227
25228         * m4/gettime.m4 (gl_GETTIME): Require gl_TIMESPEC.
25229         Check for gettimeofday.
25230         * m4/settime.m4 (gl_SETTIME): Require gl_TIMESPEC.
25231         Check for settimeofday, stime.
25232
25233 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
25234
25235         * lib/nanosleep.c (suspended): Change its type from int to
25236         sig_atomic_t volatile.
25237         (first_call): Make it private to rpl_nanosleep, and have it
25238         be zero initially as that's a bit faster.
25239         (my_usleep): Round up fractional times instead of truncating them,
25240         as this is the usual meaning for 'sleep'.
25241
25242         * lib/gettime.c (gettime): Fall back on `time' if `gettimeofday'
25243         doesn't work.
25244         * lib/settime.c: Include <unistd.h>, for stime (on Solaris 8, anyway).
25245         (ENOSYS): Define if not defined.
25246         (settime): Fall back on stime if it exists and settimeofday fails.
25247         But don't bother with fallbacks if a method fails with errno == EPERM.
25248
25249 2004-05-11  Jim Meyering  <jim@meyering.net>
25250
25251         Prior to this change, the save_cwd caller required read access to the
25252         current directory on most systems (ones with the fchdir function).
25253
25254         * lib/save-cwd.c (save_cwd) [HAVE_FCHDIR]: If opening `.' read-only
25255         fails, try write-only, and finally, resort to using xgetcwd.
25256
25257 2004-05-06  Paul Eggert  <eggert@cs.ucla.edu>
25258
25259         * lib/obstack.c, obstack.h: Import changes from libc.
25260
25261 2004-04-28  Bruno Haible  <bruno@clisp.org>
25262
25263         * lib/findprog.c (find_in_path): Treat Cygwin like Windows, since it
25264         also implicitly appends .exe to executables.
25265         * lib/localcharset.c (ISSLASH): Treat Cygwin like Windows, since it now
25266         accepts Windows pathnames.
25267         * lib/pathname.h (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
25268         Treat Cygwin like Windows, since it now accepts Windows pathnames.
25269         * lib/progreloc.c (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
25270         Treat Cygwin like Windows, since it now accepts Windows pathnames.
25271         Reported by Derek Robert Price <derek@ximbiot.com>.
25272
25273 2004-04-21  Karl Berry  <karl@gnu.org>
25274
25275         * config/srclist.txt (localcharset.c): break sync.
25276
25277 2004-04-20  Paul Eggert  <eggert@twinsun.com>
25278
25279         * m4/host-os.m4: Add a copyright notice.
25280
25281 2004-04-20  Jim Meyering  <jim@meyering.net>
25282
25283         Change UTILS_ to gl_ in AC_DEFINE'd names.
25284         Change utils_- and jm_-prefixed variables, too.
25285         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Renamed from
25286         UTILS_FUNC_MKDIR_TRAILING_SLASH.
25287         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Renamed from UTILS_FUNC_MKSTEP.
25288
25289         * m4/dirfd.m4 (gl_FUNC_DIRFD): Rename from UTILS_FUNC_DIRFD.
25290         Don't emit trailing blanks.
25291         Also rename jm_-prefixed variables to have gl_ prefix.
25292
25293         * m4/host-os.m4 (gl_HOST_OS): Rename from UTILS_HOST_OS.
25294         Also rename jm_-prefixed variables to have gl_ prefix.
25295
25296         * m4/jm-macros.m4: Reflect the renamings.
25297         * m4/prereq.m4: Likewise.
25298
25299 2004-04-20  Jim Meyering  <jim@meyering.net>
25300
25301         * lib/getndelim2.c (getndelim2): Upon realloc failure, don't leak
25302         memory.
25303
25304 2004-04-20  Jim Meyering  <jim@meyering.net>
25305             Bruno Haible  <bruno@clisp.org>
25306
25307         * lib/localcharset.c (get_charset_aliases) [!VMS && !WIN32]: Don't leak
25308         memory when realloc fails.
25309
25310 2004-04-19  Jim Meyering  <jim@meyering.net>
25311
25312         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Require gl_FUNC_FREE,
25313         now that readutmp.c may call `free (0)'.
25314
25315 2004-04-19  Bruno Haible  <bruno@clisp.org>
25316
25317         * m4/mbrtowc.m4: Change jm_ to gl_ in cache variables as well.
25318         * m4/inttypes_h.m4: Likewise.
25319         * m4/stdint_h.m4: Likewise.
25320         * m4/intmax_t.m4: Likewise.
25321         * m4/uintmax_t.m4: Likewise.
25322
25323 2004-04-18  Jim Meyering  <jim@meyering.net>
25324
25325         * m4/prereq.m4: Don't forbid jm_ prefix.
25326
25327         * m4/afs.m4, m4/allocsa.m4, m4/assert.m4, m4/backupfile.m4:
25328         * m4/bison.m4, m4/check-decl.m4, m4/chown.m4, m4/d-ino.m4:
25329         * m4/d-type.m4, m4/dirname.m4, m4/dos.m4, m4/error.m4, m4/fpending.m4:
25330         * m4/fstypename.m4, m4/fsusage.m4, m4/ftruncate.m4, m4/getdate.m4:
25331         * m4/getgroups.m4, m4/gettext.m4, m4/glibc21.m4, m4/group-member.m4:
25332         * m4/human.m4, m4/intmax.m4, m4/intmax_t.m4, m4/inttostr.m4:
25333         * m4/inttypes.m4, m4/inttypes_h.m4, m4/jm-macros.m4, m4/jm-winsz1.m4:
25334         * m4/jm-winsz2.m4, m4/lchown.m4, m4/lib-check.m4, m4/link-follow.m4:
25335         * m4/localcharset.m4, m4/longlong.m4, m4/ls-mntd-fs.m4, m4/lstat.m4:
25336         * m4/makepath.m4, m4/mbrtowc.m4, m4/mbswidth.m4, m4/memchr.m4:
25337         * m4/memcmp.m4, m4/mkdtemp.m4, m4/mkstemp.m4, m4/mountlist.m4:
25338         * m4/nanosleep.m4, m4/path-concat.m4, m4/perl.m4, m4/prereq.m4:
25339         * m4/putenv.m4, m4/quotearg.m4, m4/regex.m4, m4/stat.m4:
25340         * m4/stdint_h.m4, m4/strftime.m4, m4/strtoimax.m4, m4/strtoll.m4:
25341         * m4/strtoull.m4, m4/strtoumax.m4, m4/timespec.m4, m4/uintmax_t.m4:
25342         * m4/ulonglong.m4, m4/unlink-busy.m4, m4/unlocked-io.m4, m4/uptime.m4,
25343         * m4/utimbuf.m4, m4/utime.m4, m4/utimes-null.m4, m4/vasnprintf.m4:
25344         * m4/xstrtoimax.m4, m4/xstrtol.m4, m4/xstrtoumax.m4:
25345         Change jm_ to gl_ in AC_DEFINE'd names. Update all uses.
25346
25347 2004-04-18  Jim Meyering  <jim@meyering.net>
25348
25349         * lib/readutmp.c (read_utmp) [UTMP_NAME_FUNCTION]: Upon realloc
25350         failure, don't leak memory and do call END_UTMP_ENT.
25351
25352 2004-04-16  Jim Meyering  <jim@meyering.net>
25353
25354         * m4/prereq.m4 (jm_PREREQ_STAT): Remove macro.  It is specific to
25355         coreutils' stat program.
25356         (gl_PREREQ): Don't require jm_PREREQ_STAT.
25357
25358 2004-04-11  Paul Eggert  <eggert@twinsun.com>
25359
25360         * lib/inttostr.h: Include <limits.h> unconditionally, since we assume
25361         C89.
25362         (CHAR_BIT): Remove, since we assume C89.
25363         Include <stdint.h> if available, as per current Autoconf CVS advice.
25364
25365 2004-03-31  Jim Meyering  <jim@meyering.net>
25366
25367         * m4/prereq.m4: Require AC_FUNC_MALLOC, not jm_FUNC_MALLOC.
25368         Require AC_FUNC_REALLOC, not jm_FUNC_REALLOC.
25369         * m4/xalloc.m4: Likewise.
25370
25371 2004-03-30  Paul Eggert  <eggert@twinsun.com>
25372
25373         Merge from coreutils.
25374
25375         * m4/inttostr.m4: New file.
25376         * m4/getdate.m4 (gl_GETDATE): Remove time-related stuff.
25377         Require AM_STDBOOL_H and gl_TIMESPEC instead.
25378         Require gl_CLOCK_TIME.
25379         * m4/clock_time.m4 (gl_CLOCK_TIME): Require AC_GNU_SOURCE.
25380
25381 2004-03-30  Paul Eggert  <eggert@twinsun.com>
25382
25383         * lib/cloexec.h, cloexec.c (set_cloexec_flag): Return int
25384         not bool, to be more consistent with Unix conventions.
25385         Suggested by Bruno Haible.
25386
25387         Merge from coreutils.
25388
25389         * lib/imaxtostr.c, lib/inttostr.c, lib/inttostr.h, lib/offtostr.c:
25390         * lib/umaxtostr.c: New files.
25391
25392         * lib/getdate.h: Include stdbool.h, and timespec.h instead of
25393         the usual <time.h> dance.
25394         (get_date): Change signature to support fractional time stamps.
25395         All callers changed.
25396         * lib/getdate.y: Include "getdate.h" first, as we can now
25397         assume C89 and don't need to worry about 'const'.
25398         Similarly, include "unlocked-io.h" near start, not in middle.
25399         Include <limits.h>.
25400         (textint.value): Use long int rather than int.
25401         (textint.digits): Use size_t rather than int.
25402         (BILLION, LOG10_BILLION): New constants.
25403         (parser_control): New member rel_ns.  Members day_ordinal,
25404         time_zone, month, day, hour, minutes, rel_year, rel_month,
25405         rel_day, rel_hour, rel_minutes, rel_seconds
25406         are now long int, not int.  Member seconds is now struct timespec,
25407         not int.  New member timespec_seen.  Members dates_seen, days_seen,
25408         local_zones_seen, rels_seen, times_seen, zones_seen are now size_t,
25409         not int.
25410         (%union.intval): Now long int, not int.
25411         New member timespec.
25412         (tSDECIMAL_NUMBER, tUDECIMAL_NUMBER): New tokens.
25413         (seconds, signed_seconds, unsigned_seconds): New nonterminals.
25414         (spec): Now is a timespec or an item list.
25415         (timespec, items): New nonterminals.
25416         (time, rel, relunit, number, get_date):
25417         Add support for fractional seconds.
25418         (time): Fix bug: seconds weren't cleared in "00:00 +0000" syntax.
25419         (gmtime, localtime, mktime): Remove decls; not needed with C89.
25420         (to_hour): First arg is now long int, not int.
25421         (to_year): Returns long int, not int.
25422         Don't treat year -70 like 70.
25423         (tm_diff): Returns long int, not int.
25424         (lookup_word): Use bool instead of int when appropriate.
25425         (yylex): Use size_t for count, not int.
25426         Detect overflow when parsing large integer constants.
25427         Add support for fractions.
25428         (get_date): Make pointers 'const' if possible.
25429         Use more-portable code to detect integer overflow.
25430         (main) [TEST]: Adjust to above changes.  Test for localtime failure.
25431         Don't use ctime; it's not reliable if the year has >4 digits.
25432
25433         * lib/human.c (humblock): Inspect BLOCKSIZE if BLOCK_SIZE isn't set.
25434         This is for compatibility with BSD.
25435
25436         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP): Define.
25437         (ATIME_CMP, CTIME_CMP, MTIME_CMP, TIMESPEC_NS): Likewise.
25438         From coreutils' system.h.
25439
25440         * lib/userspec.c: Don't include "posixver.h".
25441         (parse_user_spec): Fall back on USER.GROUP parsing, regardless
25442         of POSIX version, as POSIX 1003.1-2001 allows that behavior as a
25443         compatible extension.  Simplify code by removing a boolean int
25444         that was always nonzero if a string was nonnull.
25445
25446 2004-03-30  Jim Meyering  <jim@meyering.net>
25447
25448         Merge from coreutils.
25449
25450         Avoid a configure-time warning about sys/ucred.h on OSF V4.0.
25451         * m4/ls-mntd-fs.m4: Test for sys/ucred.h separately, since
25452         on some systems one must include <grp.h> before it.
25453         Reported by Christian Krackowizer.
25454
25455 2004-03-30  Jim Meyering  <jim@meyering.net>
25456
25457         Merge from coreutils.
25458
25459         * lib/mountlist.c [HAVE_SYS_UCRED_H]: Include grp.h before sys/ucred.h.
25460
25461         * lib/readtokens.c (readtoken): Don't leak 64 bytes when reading
25462         an empty input stream.
25463
25464         * lib/readtokens.c: Include <stdbool.h>.
25465         (readtoken): Use `size_t' rather than int/long.
25466         All callers adjusted.
25467         Use `bool' rather than `int' where appropriate.
25468         Use memset rather than an explicit loop.
25469         Use x2nrealloc rather than xrealloc.
25470         Allow the use of `\0' as a delimiter.
25471         (readtokens): Likewise.
25472         * lib/readtokens.h (readtoken, readtokens): Update prototypes.
25473
25474 2004-03-30  Jim Meyering  <jim@meyering.net>
25475
25476         * m4/realloc.m4: Remove file, since now it does no more than
25477         AC_REQUIRE([AC_FUNC_REALLOC]), and that can be done via
25478         the `configure.ac' section of module/realloc.
25479         * m4/malloc.m4: Likewise, but for AC_FUNC_MALLOC.
25480
25481 2004-03-30  Bruno Haible  <bruno@clisp.org>
25482
25483         * lib/getloadavg.c (getloadavg): Don't assume setlocale returns
25484         nonnull.
25485
25486 2004-03-29  Paul Eggert  <eggert@twinsun.com>
25487
25488         Merge changes to getloadavg.c from coreutils and Emacs.
25489
25490         * lib/getloadavg.c [!defined HAVE_SETLOCALE] (setlocale):
25491         Define to an expression, not to the empty string.
25492         Include cloexec.h and xalloc.h.
25493         (getloadavg): Restore LC_NUMERIC locale after setting it temporarily.
25494         Use set_cloexec_flag rather than rolling our own.
25495         * lib/cloexec.c, lib/cloexec.h: New files.
25496
25497 2004-03-29  Paul Eggert  <eggert@twinsun.com>
25498
25499         * m4/cloexec.m4: New file.
25500
25501 2004-03-18  Paul Eggert  <eggert@twinsun.com>
25502
25503         * lib/getopt.h: Sync with libc CVS.
25504
25505 2004-03-18  Paul Eggert  <eggert@twinsun.com>
25506             Bruno Haible  <bruno@clisp.org>
25507
25508         * m4/mbswidth.m4 (gl_MBSWIDTH): Also test whether <wchar.h> declares
25509         mbswidth.
25510
25511 2004-03-18  Paul Eggert  <eggert@twinsun.com>
25512             Bruno Haible  <bruno@clisp.org>
25513
25514         * lib/mbswidth.h: Include <wchar.h> only if
25515         HAVE_DECL_MBSWIDTH_IN_WCHAR_H, not on all platforms that have
25516         <wchar.h>.
25517         * lib/mbswidth.c: Include <stdio.h> and <time.h> before <wchar.h>.
25518
25519 2004-03-09  Paul Eggert  <eggert@twinsun.com>
25520
25521         * lib/argp-parse.c, getopt.c, getopt.h, getopt1.c:
25522         Sync with libc CVS.
25523         * lib/getopt_int.h: New file, also synced from libc.
25524
25525 2004-03-09  Paul Eggert  <eggert@twinsun.com>
25526
25527         * config/srclistvars.sh: Add GNUWWWLICENSES for eggert.
25528         * config/srclist.txt: Sync getopt with libc.  Add getopt_int.h.
25529         Bring back getopt.c, getopt.h, getopt1.c.
25530
25531 2004-03-07  Paul Eggert  <eggert@twinsun.com>
25532
25533         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Renamed from jm_PREREQ_C_STACK.
25534         All uses changed.  Check for sa_sigaction member; this fixes
25535         a bug first reported by Jason Andrade in
25536         <http://mail.gnu.org/archive/html/bug-textutils/2003-03/msg00027.html>.
25537
25538 2004-03-07  Paul Eggert  <eggert@twinsun.com>
25539
25540         * lib/c-stack.c (SIGACTION_WORKS): New macro.  Use it instead of long
25541         '#if' expressions.  Unlike the code it replaces, it does not
25542         depend on (defined _SC_PAGESIZE).  However, it does depend on
25543         HAVE_STRUCT_SIGACTION_SA_SIGACTION; this last change fixes a bug
25544         first reported by Jason Andrade in
25545         <http://mail.gnu.org/archive/html/bug-textutils/2003-03/msg00027.html>.
25546
25547 2004-02-25  Simon Josefsson  <jas@extundo.com>
25548
25549         * m4/strdup.m4 (gl_PREREQ_STRDUP): Check whether strdup is declared.
25550
25551 2004-02-25  Simon Josefsson  <jas@extundo.com>
25552
25553         * lib/strdup.h: New file.
25554         * lib/strdup.c: Include it.
25555         * lib/path-concat.c: Include strdup.h. Drop strdup declaration.
25556         * lib/userspec.c: Include strdup.h. Drop strdup declaration.
25557
25558 2004-02-23  Karl Berry  <karl@gnu.org>
25559
25560         * doc/maintain.texi, doc/standards.texi, doc/make-stds.texi: new files
25561         (from fencepost.gnu.org:/gd/gnuorg).
25562
25563 2004-02-23  Karl Berry  <karl@gnu.org>
25564
25565         * config/srclistvars.sh (GNUORG) [karl]: redefine.
25566         * config/srclist.txt: add maintain/standards documents.
25567
25568 2004-02-18  Bruno Haible  <bruno@clisp.org>
25569
25570         * m4/xsize.m4 (gl_XSIZE): Require AC_C_INLINE.
25571         Reported by Derek Robert Price <derek@ximbiot.com>.
25572
25573 2004-02-16  Karl Berry  <karl@gnu.org>
25574
25575         * config/mkinstalldirs, install-sh: update from automake.
25576
25577 2004-02-06  Karl Berry  <karl@gnu.org>
25578
25579         * m4/po.m4: update from gettext 0.14.1.
25580
25581 2004-02-06  Karl Berry  <karl@gnu.org>
25582
25583         * lib/config.charset: update from gettext 0.14.1.
25584
25585 2004-02-05  Paul Eggert  <eggert@twinsun.com>
25586
25587         Add comments and code, prompted by suggestions from Bruno Haible
25588         for sh-quote.
25589         * lib/quotearg.h (quotearg_alloc): New decl.  Improve the comments
25590         describing the enum quoting_style values.
25591         * lib/quotearg.c (quotearg_alloc): New function.
25592         (quotearg_buffer_restyled): Treat lone { and } as special.
25593         Treat = as special.  Work around bug with older shells
25594         that "see" a '\' that is really the 2nd byte of a multibyte char.
25595         Quote empty string with shell_quoting_style.
25596
25597 2004-02-03  Bruno Haible  <bruno@clisp.org>
25598
25599         * m4/pipe.m4: New file, from GNU gettext.
25600
25601 2004-02-03  Bruno Haible  <bruno@clisp.org>
25602
25603         * lib/pipe.h: New file, from GNU gettext.
25604         * lib/pipe.c: New file, from GNU gettext.
25605
25606 2004-01-27  Bruno Haible  <bruno@clisp.org>
25607
25608         * m4/execute.m4: New file, from GNU gettext.
25609
25610 2004-01-27  Bruno Haible  <bruno@clisp.org>
25611
25612         * lib/execute.h: New file, from GNU gettext.
25613         * lib/execute.c: New file, from GNU gettext.
25614         * lib/w32spawn.h: New file, from GNU gettext.
25615
25616 2004-01-24  Paul Eggert  <eggert@twinsun.com>
25617
25618         Merge from diffutils.
25619
25620         * lib/file-type.c (file_type): Add typed memory objects.
25621         * lib/file-type.h (S_TYPEISTMO): New macro.
25622
25623         * lib/c-stack.h (c_stack_action): Remove argv argument.
25624         * lib/c-stack.c (c_stack_action): Likewise.  All uses changed.
25625         (die): Don't calculate message unless segv_action returns.
25626         (get_stack_location, min_address_from_argv, max_address_from_argv,
25627         volatile stack_base, volatile_stack_size): Remove.
25628         (segv_handler): If ! HAVE_XSI_STACK_OVERFLOW_HEURISTIC, assume
25629         that every segmentation violation is a stack overflow.  (Ouch!)
25630         See Debian bug 136249 (still outstanding) for more info about why
25631         HAVE_XSI_STACK_OVERFLOW_HEURISTIC fails on Linux kernels.
25632
25633 2004-01-24  Paul Eggert  <eggert@twinsun.com>
25634
25635         Exit-status fix from coreutils.
25636
25637         Use exit_failure consistently in place of EXIT_FAILURE,
25638         so that program exit statuses are consistent on failure.
25639
25640         * lib/argmatch.c (ARGMATCH_DIE) [! defined ARGMATCH_DIE]:
25641         Include "exitfail.h", and use exit_failure rather than EXIT_FAILURE.
25642         * lib/argmatch.h: Comment fix to match the above.
25643         * lib/obstack.c (obstack_exit_failure) [!defined _LIBC]:
25644         Now a macro referring to exit_failure, instead of a separate
25645         variable.  Include "exitfail.h" to get it.
25646         * lib/xstrtol.h: Include "exitfail.h".
25647         (STRTOL_FATAL_ERROR): Exit with status exit_failure, not 2.
25648
25649         * lib/long-options.c (parse_long_options): Use prototype
25650         for usage function arg.  Pass it EXIT_SUCCESS rather than 0,
25651         for clarity.
25652
25653 2004-01-21  Jim Meyering  <jim@meyering.net>
25654
25655         * lib/mktime.c (__mktime_internal) [!_LIBC]: Define to mktime_internal
25656         so as not to conflict with a different-sized __mktime_internal
25657         function in GNU libc.
25658         * lib/timegm.c (__mktime_internal) [!_LIBC]: Likewise.
25659         Problem building statically-linked `ls' reported by Michael Brunnbauer.
25660
25661 2004-01-20  Karl Berry  <karl@gnu.org>
25662
25663         * config/config.guess: update from config.
25664
25665         * config/srclistvars.sh: GNUWWWLICENSES for karl.
25666
25667 2004-01-20  Bruno Haible  <bruno@clisp.org>
25668
25669         Safer stack allocation.
25670         * lib/setenv.c: Include allocsa.h.
25671         (alloca): Remove fallback definition.
25672         (freea): Remove macro.
25673         (__add_to_environ) [!_LIBC]: Use allocsa instead of alloca. Use freesa
25674         instead of freea.
25675
25676 2004-01-20  Bruno Haible  <bruno@clisp.org>
25677
25678         * m4/eealloc.m4: New file, from GNU gettext.
25679
25680 2004-01-20  Bruno Haible  <bruno@clisp.org>
25681
25682         * m4/allocsa.m4: New file, from GNU gettext.
25683
25684 2004-01-20  Bruno Haible  <bruno@clisp.org>
25685
25686         * lib/xallocsa.h: New file, from GNU gettext.
25687         * lib/xallocsa.c: New file, from GNU gettext.
25688
25689 2004-01-20  Bruno Haible  <bruno@clisp.org>
25690
25691         * lib/wait-process.c: On Windows, include windows.h. Needed on mingw.
25692
25693 2004-01-20  Bruno Haible  <bruno@clisp.org>
25694
25695         * lib/wait-process.c (wait_subprocess): Add ignore_sigpipe argument.
25696         * lib/wait-process.c (wait_subprocess): Likewise. Handle SIGPIPE
25697         specially.
25698
25699 2004-01-20  Bruno Haible  <bruno@clisp.org>
25700
25701         * lib/wait-process.c (wait_process): Disable the 2003-10-31 waitid()
25702         patch.
25703
25704 2004-01-20  Bruno Haible  <bruno@clisp.org>
25705
25706         * lib/wait-process.c (cleanup_slaves): Use ANSI C declaration.
25707
25708 2004-01-20  Bruno Haible  <bruno@clisp.org>
25709
25710         * lib/eealloc.h: New file.
25711
25712 2004-01-20  Bruno Haible  <bruno@clisp.org>
25713
25714         * lib/binary-io.h: Avoid warnings on Cygwin.
25715
25716 2004-01-20  Bruno Haible  <bruno@clisp.org>
25717
25718         * lib/allocsa.h: New file, from GNU gettext.
25719         * lib/allocsa.c: New file, from GNU gettext.
25720
25721 2004-01-18  Karl Berry  <karl@gnu.org>
25722
25723         * doc/gpl.texi, doc/lgpl.texi: new files.
25724
25725 2004-01-18  Karl Berry  <karl@gnu.org>
25726
25727         * config/srclistvars.sh (GNUWWWLICENSES): new variable.
25728         * config/srclist.txt ({fdl,gpl,lgpl}.text): get from there.
25729
25730 2004-01-15  Paul Eggert  <eggert@twinsun.com>
25731
25732         Merge from coreutils.
25733
25734         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for uintptr_t.
25735         * m4/posixver.m4 (gl_POSIXVER): Require gl_DEFAULT_POSIX2_VERSION.
25736         (gl_DEFAULT_POSIX2_VERSION): Move
25737         the documentation from 'configure' into 'config.hin',
25738         so that 'configure --help' isn't burdened by it and
25739         we don't have to worry about its formatting there.
25740         Reword the documentation so that it's more succinct
25741         and can be run together into a single paragraph.
25742         * m4/same.m4 (gl_SAME): Check for pathconf.
25743
25744 2004-01-15  Paul Eggert  <eggert@twinsun.com>
25745
25746         Merge from coreutils.
25747
25748         * lib/posixver.c: Include posixver.h.
25749
25750         * lib/same.c: Include <stdbool.h>, <limits.h>.
25751         (_POSIX_NAME_MAX): Define if not defined.
25752         (MIN): New macro.
25753         (same_name): If file names are silently truncated, report
25754         that the file names are the same if they are the same after
25755         the silent truncation.
25756
25757         * lib/xstrtod.h (xstrtod): Accept an extra arg, specifying the
25758         conversion function.
25759         * lib/xstrtod.c (xstrtod): Likewise.  All callers changed to
25760         include c-strtod.h and use c_strtod.  Don't include stdlib.h; no
25761         longer needed.
25762
25763 2004-01-15  Jim Meyering  <jim@meyering.net>
25764
25765         Merge from coreutils.
25766
25767         * m4/clock_time.m4 (gl_CLOCK_TIME): Don't set LIB_CLOCK_GETTIME
25768         if no library is required.
25769         * m4/jm-macros.m4: Don't require UTILS_SYS_OPEN_MAX.
25770         * m4/jm-macros.m4 (jm_MACROS): Require gl_FUNC_FREE.
25771         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.58.
25772         (AC_LANG_SOURCE): Remove definition, now that we require autoconf-2.58.
25773         * m4/jm-macros.m4 (jm_MACROS): Don't require AC_FUNC_FTW.
25774         * m4/lib-check.m4 (jm_LIB_CHECK): Do not set LIB_CRYPT to the
25775         value, $ac_cv_search_crypt, if it's "none required".
25776         * m4/posixver.m4 (gl_DEFAULT_POSIX2_VERSION): New macro.
25777         * m4/prereq.m4 (jm_PREREQ): Require AC_FUNC_GETLOADAVG,
25778         not gl_FUNC_GETLOADAVG.
25779         * m4/prereq.m4 (jm_PREREQ): Require gl_READTOKENS, gl_MD5, gl_MAKEPATH,
25780         gl_LONG_OPTIONS, and gl_IDCACHE, gl_GETUGROUPS.
25781
25782 2004-01-15  Jim Meyering  <jim@meyering.net>
25783
25784         Merge from coreutils.
25785
25786         * lib/md5.h (rol) [__GNUC__ && __i386__]: Don't use `asm' code.  These
25787         days, gcc-3.x does better all by itself.  Patch from Dean Gaudet:
25788         http://mail.gnu.org/archive/html/bug-coreutils/2003-11/msg00144.html
25789
25790         * lib/posixver.c (DEFAULT_POSIX2_VERSION): Use definition of new,
25791         optional configure-time default.
25792
25793         * lib/version-etc.c (version_etc_copyright): Update copyright date.
25794
25795         * lib/xreadlink.c (xreadlink): Correct outdated comment.
25796
25797 2004-01-15  Alexandre Duret-Lutz  <adl@gnu.org>
25798
25799         Merge from coreutils.
25800
25801         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Do not set LIB_NANOSLEEP to the
25802         value, $ac_cv_search_nanosleep, if it's "none required".
25803
25804 2004-01-14  Paul Eggert  <eggert@twinsun.com>
25805
25806         * lib/fnmatch_loop.c (ALLOCA_LIMIT): Remove macro, which collided
25807         with like-named macro in fnmatch.c.
25808         (EXT): Use an internal constant instead.
25809
25810         Merge fnmatch patches from glibc.
25811         * lib/fnmatch.c (mbsinit): Remove define.
25812         Add libc_hidden_ver (__fnmatch, fnmatch).
25813         * lib/fnmatch_loop.c (FCT): Cast to int32_t and UCHAR when appropriate.
25814         Adjust to renaming of collseq_table_lookup to __collseq_table_lookup.
25815
25816 2004-01-14  Karl Berry  <karl@gnu.org>
25817
25818         * config/install-sh: update from automake.
25819
25820 2004-01-13  Karl Berry  <karl@gnu.org>
25821
25822         * config/install-sh: update from automake.
25823
25824 2004-01-09  Karl Berry  <karl@gnu.org>
25825
25826         * config/install-sh: update from automake.
25827
25828 2004-01-05  Karl Berry  <karl@gnu.org>
25829
25830         * config/config.{sub,guess}: update from config.
25831
25832 2003-12-31  Karl Berry  <karl@gnu.org>
25833
25834         * config/depcomp: update from automake.
25835
25836 2003-12-14  Karl Berry  <karl@gnu.org>
25837
25838         * lib/config.charset: update from gettext-runtime.
25839
25840 2003-12-03  Paul Eggert  <eggert@twinsun.com>
25841
25842         * lib/getgroups.c (getgroups): xmalloc takes one argument, not two.
25843         Bug reported by Alfred M. Szmidt.
25844
25845 2003-12-03  Bruno Haible  <bruno@clisp.org>
25846
25847         * m4/gettext.m4: Upgrade from gettext-0.13.
25848         * m4/po.m4: Upgrade from gettext-0.13.
25849         * m4/size_max.m4 (gl_SIZE_MAX): Don't use the _ONCE macros here.
25850         * m4/intmax.m4: New file, from gettext-0.13.
25851         * m4/printf-posix.m4: New file, from gettext-0.13.
25852
25853 2003-11-29  Karl Berry  <karl@gnu.org>
25854
25855         * lib/argp-{help.c,parse.c,namefrob.h}, argp.h: update from libc.
25856
25857 2003-11-25  Paul Eggert  <eggert@twinsun.com>
25858             Bruno Haible  <bruno@clisp.org>
25859
25860         * lib/printf-parse.h: Don't include sys/types.h.
25861         (ARG_NONE): New macro.
25862         (char_directive): Change type of *arg_index fields to size_t.
25863         * lib/printf-parse.c: Don't include sys/types.h.
25864         (SSIZE_MAX): Remove macro.
25865         (PRINTF_PARSE): Change the type of the arg_index variables to size_t.
25866         Remove unnecessary overflow check.
25867         * lib/vasnprintf.c (VASNPRINTF): Update for type change of *arg_index
25868         fields.
25869
25870 2003-11-25  Bruno Haible  <bruno@clisp.org>
25871
25872         * modules/vasnprintf (Files): Remove m4/ssize_t.m4.
25873
25874 2003-11-25  Bruno Haible  <bruno@clisp.org>
25875
25876         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Don't require
25877         gt_TYPE_SSIZE_T.
25878
25879 2003-11-24  Paul Eggert  <eggert@twinsun.com>
25880
25881         * modules/alloca: Remove dependency on xalloc.
25882
25883 2003-11-24  Paul Eggert  <eggert@twinsun.com>
25884
25885         * lib/alloca.c: Remove dependency on xalloc module.
25886         (xalloc_die): Remove.
25887         (memory_full) [!defined emacs]: New macro.
25888         [!defined emacs]: Don't include xalloc.h.
25889         (alloca): Invoke memory_full, not xalloc_die, if malloc fails or
25890         address arithmetic overflows.  Change datatypes a bit to avoid
25891         unnecessary casts.
25892
25893 2003-11-22  Jim Meyering  <jim@meyering.net>
25894
25895         * lib/xmalloc.c (x2nrealloc_inline): Fix typos in comments:
25896         s/size/size_t/.
25897
25898 2003-11-21  Karl Berry  <karl@gnu.org>
25899
25900         * config/config.{sub,guess}: update from config.
25901
25902 2003-11-18  Karl Berry  <karl@gnu.org>
25903
25904         * config/config.{sub,guess}: update from config.
25905
25906         * config/(printf-{parse,args}.[ch]): sync broken, sigh.
25907
25908 2003-11-17  Paul Eggert  <eggert@twinsun.com>
25909
25910         * README: Mention that S+T cannot overflow if S is the size of
25911         an existing object and T is sufficiently small.
25912
25913 2003-11-17  Jim Meyering  <jim@meyering.net>
25914
25915         On systems without utime and without a utimes function capable of
25916         dealing with a NULL struct utimbuf* argument, this utime replacement
25917         could -- in unusual circumstances -- leak a file descriptor.
25918         * lib/utime.c: Include <unistd.h> and <errno.h>.
25919         (utime_null): Be sure to close `fd' and to preserve errno.
25920         Reported by Geoff Collyer via Arnold Robbins.
25921
25922 2003-11-17  Bruno Haible  <bruno@clisp.org>
25923
25924         * modules/vasnprintf (Files): Add m4/ssize_t.m4.
25925         (Depends-on): Add xsize.
25926
25927 2003-11-17  Bruno Haible  <bruno@clisp.org>
25928
25929         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Require gt_TYPE_SSIZE_T.
25930
25931 2003-11-17  Bruno Haible  <bruno@clisp.org>
25932
25933         * lib/vasnprintf.c (alloca): Remove fallback definition.
25934         (freea): Remove definition.
25935         (VASNPRINTF): Use alloca only for small sizes, say <= 4000 bytes.
25936         Reported by Paul Eggert.
25937
25938 2003-11-16  Paul Eggert  <eggert@twinsun.com>
25939             Bruno Haible  <bruno@clisp.org>
25940
25941         Protect against address arithmetic overflow.
25942         * lib/printf-args.h: Include stddef.h.
25943         (arguments): Change type of field 'count' to size_t.
25944         * lib/printf-args.c (printf_fetchargs): Use size_t instead of
25945         'unsigned int' where appropriate.
25946         * lib/printf-parse.h: Include sys/types.h.
25947         (char_directive): Change type of *arg_index fields to ssize_t.
25948         (char_directives): Change type of fields 'count', max_*_length to
25949         size_t.
25950         * lib/printf-parse.c: Include sys/types.h and xsize.h.
25951         (SSIZE_MAX): Define fallback value.
25952         (PRINTF_PARSE): Use size_t instead of 'unsigned int' and ssize_t
25953         instead of 'int' where appropriate. Check a_allocated, d_allocated
25954         against overflow. Reject %m$ argument numbers > SSIZE_MAX + 1.
25955         * lib/vasnprintf.c: Include xsize.h.
25956         (VASNPRINTF): Use size_t instead of 'unsigned int' where appropriate.
25957         Check alloca, malloc, realloc, ENSURE_ALLOCATION arguments against
25958         overflow. Avoid wraparound when converting a width or precision from
25959         decimal to binary.
25960
25961 2003-11-16  Bruno Haible  <bruno@clisp.org>
25962
25963         Update from GNU gettext.
25964         * lib/printf-parse.c: Generalize to it can be compiled for wide
25965         strings.
25966         (PRINTF_PARSE, CHAR_T, DIRECTIVE, DIRECTIVES): New macros.
25967         * lib/vasnprintf.c: Generalize to it can be compiled for wide strings.
25968         (VASNPRINTF, CHAR_T, DIRECTIVE, DIRECTIVES, PRINTF_PARSE, USE_SNPRINTF,
25969         SNPRINTF): New macros.
25970         Don't include <alloca.h> if the file is used inside libintl.
25971         (local_wcslen): New function, for Solaris 2.5.1.
25972         (VASNPRINTF): Use it instead of wcslen.
25973
25974 2003-11-16  Bruno Haible  <bruno@clisp.org>
25975
25976         * lib/xsize.h (xmax): New function.
25977         (xsum, xsum3, xsum4): Declare as "pure" functions.
25978
25979 2003-11-12  Paul Eggert  <eggert@twinsun.com>
25980
25981         * modules/xalloc (Files): Undo latest change, since xalloc.h
25982         no longer needs SIZE_MAX or PTRDIFF_MAX.
25983
25984 2003-11-12  Paul Eggert  <eggert@twinsun.com>
25985
25986         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Do not require gl_SIZE_MAX or
25987         gl_PTRDIFF_MAX.
25988
25989 2003-11-12  Paul Eggert  <eggert@twinsun.com>
25990
25991         * lib/xstrtol.c (__xstrtol): Remove "break" immediately after
25992         "return", to pacify some unknown compiler.  Problem reported
25993         by Joerg Schilling.
25994
25995 2003-11-12  Paul Eggert  <eggert@twinsun.com>
25996
25997         * lib/xalloc.h: Do not include <limits.h> or <stdint.h>.
25998         (xalloc_oversized): Use sizeof (ptrdiff_t) and sizeof (size_t) for
25999         the heuristic, rather than PTRDIFF_MAX and SIZE_MAX.  This
26000         heuristic is just as accurate as far as we know, and it removes a
26001         dependency on size_max.m4 and ptrdiff_max.m4.
26002
26003 2003-11-11  Bruno Haible  <bruno@clisp.org>
26004
26005         * modules/xsize (Files): Add m4/size_max.m4.
26006         * modules/xalloc (Files): Add m4/size_max.m4, m4/ptrdiff_max.m4.
26007
26008 2003-11-11  Bruno Haible  <bruno@clisp.org>
26009
26010         * m4/size_max.m4: New file.
26011         * m4/ptrdiff_max.m4: New file.
26012         * m4/xsize,m4 (gl_XSIZE): Require gl_SIZE_MAX.
26013         * m4/xalloc.m4 (gl_PREREQ_XALLOC): New macro.
26014         (gl_XALLOC): Invoke it.
26015
26016 2003-11-11  Bruno Haible  <bruno@clisp.org>
26017
26018         * lib/xsize.h (SIZE_MAX): Remove fallback definition.
26019         * lib/xalloc.h: Include limits.h. Assume SIZE_MAX and PTRDIFF_MAX are
26020         defined.
26021
26022 2003-11-10  Paul Eggert  <eggert@twinsun.com>
26023
26024         * lib/xalloc.h (xalloc_oversized): [! (defined PTRDIFF_MAX &&
26025         PTRDIFF_MAX < SIZE_MAX)]: Fix off-by-one error that would have
26026         rejected some allocations of exactly SIZE_MAX - 2 bytes.
26027         From Bruno Haible.
26028         [defined PTRDIFF_MAX && PTRDIFF_MAX < SIZE_MAX]: Use SIZE_MAX,
26029         not (size_t) -1, since it's defined here.
26030
26031 2003-11-09  Karl Berry  <karl@gnu.org>
26032
26033         * config/mkinstalldirs, depcomp, mdate-sh: update from automake.
26034
26035 2003-11-06  Paul Eggert  <eggert@twinsun.com>
26036
26037         * lib/xalloc.h [HAVE_STDINT_H]: Include <stdint.h>.
26038         (xalloc_oversized) [! (PTRDIFF_MAX < SIZE_MAX)]:
26039         Reject sizes of exactly SIZE_MAX bytes.
26040         * lib/xreadlink.c: Include "xalloc.h" before checking whether SIZE_MAX
26041         is defined, since "xalloc.h" now defines SIZE_MAX on modern hosts.
26042
26043 2003-11-05  Bruno Haible  <bruno@clisp.org>
26044
26045         * lib/xsize.h: Include limits.h, to avoid a possible collision with
26046         SIZE_MAX defined in <limits.h> on Solaris.
26047
26048 2003-11-04  Jim Meyering  <jim@meyering.net>
26049
26050         * modules/sysexits: Use the `$(VAR)' notation for AC_SUBST'd
26051         variable names, rather than @VAR@.
26052         * modules/poll: Likewise.
26053
26054 2003-11-04  Bruno Haible  <bruno@clisp.org>
26055
26056         * modules/xsize: New file.
26057         * modules/linebreak: Depend on xsize.
26058         * MODULES.html.sh (func_all_modules): Add xsize.
26059
26060 2003-11-04  Bruno Haible  <bruno@clisp.org>
26061
26062         * m4/xsize.m4: New file.
26063
26064 2003-11-04  Bruno Haible  <bruno@clisp.org>
26065
26066         * lib/xsize.h: New file.
26067         * lib/linebreak.c: Include xsize.h.
26068         (mbs_possible_linebreaks, mbs_width_linebreaks): Check malloc()
26069         argument for overflow.
26070         Suggested by Paul Eggert.
26071
26072 2003-11-03  Karl Berry  <karl@gnu.org>
26073
26074         * config/config.{guess,sub}: update from config.
26075
26076 2003-11-03  Jim Meyering  <jim@meyering.net>
26077
26078         * modules/userspec (lib_SOURCES): Add userspec.h.
26079         (Include): Add "userspec.h".
26080         Improve description.
26081
26082 2003-11-03  Jim Meyering  <jim@meyering.net>
26083
26084         * lib/userspec.c: Include "userspec.h".
26085         * lib/userspec.h: New file.
26086
26087 2003-11-03  Bruno Haible  <bruno@clisp.org>
26088
26089         * m4/wait-process.m4 (gl_WAIT_PROCESS): Also check for waitid.
26090
26091 2003-11-03  Bruno Haible  <bruno@clisp.org>
26092
26093         * lib/wait-process.c (wait_process): Use waitid with WNOWAIT if
26094         available, to avoid (extremely rare) race condition.
26095         Suggested by Paul Eggert.
26096
26097 2003-11-02  Karl Berry  <karl@gnu.org>
26098
26099         * config/srclist.txt (vasprintf.c): sync broken, sigh.
26100
26101 2003-10-31  Paul Eggert  <eggert@twinsun.com>
26102
26103         * lib/mountlist.h (struct mount_entry.me_type_malloced): New member.
26104         * lib/mountlist.c (SIZE_MAX): Define if not defined already.
26105         (read_filesystem_list): Set and use me_type_malloced.
26106         Use "sizeof *me" rather than "sizeof (struct mount_entry)" (or
26107         whatever the type happens to be), for brevity and consistency.
26108         Check for size calculation overflow on Alphas running OSF/1.
26109
26110 2003-10-31  Jim Meyering  <jim@meyering.net>
26111
26112         * lib/hash.c: Include "xalloc.h" for use of xalloc_oversized.
26113
26114         * lib/linebuffer.c: Include <string.h> for declaration of memset.
26115
26116 2003-10-30  Paul Eggert  <eggert@twinsun.com>
26117             Bruno Haible  <bruno@clisp.org>
26118
26119         * lib/vasprintf.c: Include <limits.h>, <stdlib.h>.
26120         (vasprintf): Fail if the resulting length doesn't fit in an 'int'.
26121
26122 2003-10-30  Paul Eggert  <eggert@cs.ucla.edu>
26123
26124         * m4/host-os.m4 (UTILS_HOST_OS): Change netbsd*-gnu pattern back to
26125         netbsd*-gnu*.  Suggested by Robert Millan.
26126
26127 2003-10-29  Paul Eggert  <eggert@twinsun.com>
26128
26129         * modules/group-member: Depend on stdbool.
26130
26131 2003-10-29  Paul Eggert  <eggert@twinsun.com>
26132
26133         * m4/xalloc.m4 (gl_XALLOC): Undo previous change.
26134
26135 2003-10-29  Paul Eggert  <eggert@twinsun.com>
26136
26137         * m4/host-os.m4 (UTILS_HOST_OS): Resurrect netbsd*-gnu.  Add comments
26138         to it, and to knetbsd*-gnu and kfreebsd*-gnu.  Remove the '*' from
26139         after the 'gnu' in these cases.  This fixes some bugs in the
26140         previous change, and is based on suggestions by Robert Millan.
26141
26142 2003-10-29  Paul Eggert  <eggert@twinsun.com>
26143
26144         * lib/xalloc.h (xalloc_oversized): Now a macro, not a function,
26145         so that it works even if SIZE_MAX < N.  Do not include <stdbool.h>;
26146         no longer needed.
26147         * lib/quotearg.c (quotearg_n_options): Use it.
26148         * lib/group-member.c: Include <stdbool.h>.
26149         (free_group_info): Arg is now const *; don't free arg.
26150         (get_group_info): Now returns bool and accepts struct group_info *,
26151         rather than returning a malloc'ed struct group_info *.
26152         All uses changed.  Check for overflow in internal size calculation.
26153
26154         * lib/getusershell.c (readname): Simplify the code by using x2nrealloc
26155         rather than xmalloc/xrealloc.
26156         * lib/linebuffer.c (initbuffer, readlinebuffer): Simplify the code by
26157         using x2realloc rather than xmalloc/xrealloc.  Also, fix a C
26158         conformance bug: the old code used a pointer after freeing the
26159         storage that it addressed.
26160         * lib/hash.c (hash_initialize): Simplify the code by using
26161         xalloc_oversized rather than doing it by hand.
26162         * lib/getgroups.c (getgroups): Don't use xrealloc, since we don't need
26163         the buffer preserved.  Use free and xmalloc instead.
26164         * lib/quotearg.c (quotearg_n_options): Likewise.
26165         Use a simpler test for size overflow.  Don't use xalloc_oversized
26166         because unsigned int might be wider than size_t (!); this suggests
26167         that we should switch from unsigned int to size_t for slot numbers.
26168
26169 2003-10-28  Paul Eggert  <eggert@twinsun.com>
26170
26171         * m4/host-os.m4 (UTILS_HOST_OS): Identify GNU/KFreeBSD and
26172         GNU/KNetBSD.  These implementations use glibc atop the FreeBSD and
26173         NetBSD kernels.  Requested by Richard Stallman.
26174
26175 2003-10-27  Paul Eggert  <eggert@twinsun.com>
26176
26177         * lib/exclude.c (new_exclude): Use xzalloc rather than xmalloc
26178         to allocate the returned structure.  Do not allocate a subarray,
26179         as x2nrealloc will do that.
26180         (add_exclude): Use x2nrealloc to reallocate ex->exclude,
26181         instead of xnrealloc.
26182         (add_exclude_file): Use x2realloc instead of malloc + xnrealloc.
26183
26184 2003-10-27  Bruno Haible  <bruno@clisp.org>
26185
26186         * lib/stdbool_.h: Better support for BeOS.
26187
26188 2003-10-26  Paul Eggert  <eggert@twinsun.com>
26189
26190         * m4/xalloc.m4 (gl_XALLOC): Requore AC_C_INLINE, since xalloc.h
26191         now uses inline.
26192
26193 2003-10-26  Paul Eggert  <eggert@twinsun.com>
26194
26195         * lib/xalloc.h (xalloc_oversized): New static inline function, for
26196         callers that want to do their own size-overflow checking.  Include
26197         <stdbool.h>, since xalloc_oversized returns bool.
26198         * lib/xalloc.c (array_size_overflow): Remove.  All callers changed
26199         to use xalloc_oversized.
26200
26201         Add two functions x2realloc, x2nrealloc, for programs that grow
26202         arrays dynamically by doubling their sizes.
26203         * lib/xalloc.h (x2realloc, x2nrealloc): New decls.
26204         * lib/xmalloc.c (x2nrealloc_inline, x2nrealloc, x2realloc):
26205         New functions.
26206
26207         Port to C99 semantics for 'inline' of external functions.
26208         Bug reported by Bruno Haible.
26209         * lib/xmalloc.c (xnmalloc_inline): New static inline function,
26210         with the old contents of xnmalloc.
26211         (xnmalloc, xmalloc): Use it.
26212         (xnrealloc_inline): New static inline function,
26213         with the old contents of xnrealloc.
26214         (xnrealloc, xrealloc): Use it.
26215
26216         * lib/alloc.c (alloca): xmalloc cannot return NULL, so don't test for
26217         that.
26218
26219 2003-10-26  Karl Berry  <karl@gnu.org>
26220
26221         * config/srclist.txt (COPYING.DOC): no longer available from
26222         /gd/gnuorg; don't know where the ultimate source is.
26223
26224 2003-10-25  Paul Eggert  <eggert@twinsun.com>
26225
26226         Fix several address-calculation bugs in the hash modules,
26227         plus some minor code cleanup.
26228
26229         * lib/hash.h: Include <stdbool.h>, for bool.
26230         * lib/hash.c: Don't include <stdbool.h>, since hash.h does it now.
26231         * lib/hash.h (Hash_hasher, hash_get_n_buckets, hash_get_n_buckets_used,
26232         hash_get_n_entries, hash_get_max_bucket_length,
26233         hash_get_entries, hash_do_for_each, hash_string, hash_initialize,
26234         hash_rehash): Use size_t rather than unsigned.
26235         * lib/hash.c (struct hash_table, hash_get_n_buckets,
26236         hash_get_n_buckets_used, hash_get_n_entries,
26237         hash_get_max_bucket_length, hash_table_ok, hash_print_statistics,
26238         hash_get_entries, hash_do_for_each, hash_string, is_prime,
26239         next_prime, hash_initialize, hash_rehash, hash_delete, hash_print):
26240         Likewise.
26241         (SIZE_MAX): Define if not defined.
26242         (hash_get_max_bucket_length, hash_table_ok, hash_lookup,
26243         hash_get_first, hash_get_next, hash_get_entries, hash_do_for_each,
26244         hash_print):
26245         Use const * when possible.
26246         (hash_string): Use (unsigned char) *P rather than *(unsigned char *) P.
26247         (check_tuning): Fix bug: if tuning parameters were very close to
26248         0 or 1, rounding errors could have caused subscript violations.
26249         (hash_initialize, allocate_entry, hash_print): Remove unnecessary cast.
26250         (hash_initialize): Add 'fail:' label
26251         to free table and return NULL, and use it to simplify code.
26252         Use calloc rather than clearing the storage ourself.
26253         (hash_initialize, hash_rehash): Check for arithmetic overflow in
26254         buffer size calculations.
26255         * lib/hash-pjw.h (hash_pjw): Use size_t, not unsigned.
26256         Include <stddef.h>, for size_t.
26257         * lib/hash-pjw.c (hash_pjw): Likewise.
26258         Switch to method described by Bruno Haible.
26259         Include <limits.h>, for CHAR_BIT.
26260         (SIZE_BITS): New macro.
26261
26262 2003-10-23  Paul Eggert  <eggert@twinsun.com>
26263
26264         * m4/getline.m4 (AM_FUNC_GETLINE):
26265         Don't include getndelim2.o twice into LIBOBJS; this breaks on some
26266         hosts.  Problem reported by Derek Robert Price in
26267         <http://mail.gnu.org/archive/html/bug-gnulib/2003-10/msg00092.html>.
26268         This patch can be withdrawn after Autoconf 2.58 is required for gnulib.
26269         * m4/getndelim2.m4 (gl_GETNDELIM2): Likewise.
26270
26271 2003-10-21  Paul Eggert  <eggert@twinsun.com>
26272
26273         * lib/getndelim2.c (getndelim2): When size calculation overflows,
26274         ceiling the allocation at NMAX bytes rather than silently
26275         discarding input bytes before NMAX is reached.  This makes
26276         a difference only if NMAX exceeds SIZE_MAX / 2.
26277
26278         * lib/obstack.c: Merge from glibc.
26279         [defined _LIBC]: Include <obstack.h>, not "obstack.h".
26280         Add libc_hidden_def (_obstack_newchunk).
26281         (_obstack_free) [! defined _LIBC]: Remove.
26282         [defined _LIBC]: Make a strong alias from obstack_free, rather than
26283         a clone of the function body.
26284         (fputs) [defined _LIBC && defined USE_IN_LIBIO]: Remove.
26285         [defined _LIBC && !defined USE_IN_LIBIO]: Include <libio/iolibio.h>.
26286
26287         * lib/obstack.h: Indenting cleanup, to make it easier to merge with
26288         glibc.
26289         (obstack_grow, obstack_grow0): Remove unnecessary parentheses around
26290         arg to memcpy.
26291
26292         * lib/obstack.h (obstack_1grow_fast): Properly parenthesize arg.
26293         (obstack_ptr_grow_fast, obstack_int_grow_fast):
26294         Don't use lvalue casts, as GCC plans to remove support for them
26295         in GCC 3.5.  Reported by Joseph S. Myers.  This bug
26296         was also present in the non-GCC version, indicating that this
26297         code had always been buggy and had never been widely used.
26298         (obstack_1grow, obstack_ptr_grow, obstack_int_grow, obstack_blank):
26299         Use the fast variant of each macro, rather than copying the
26300         definiens of the fast variant; that way, we'll be more likely to
26301         catch future bugs in the fast variants.
26302
26303 2003-10-20  Bruno Haible  <bruno@clisp.org>
26304
26305         * modules/wait-process: New file.
26306         * MODULES.html.sh (func_all_modules): Add wait-process.
26307
26308 2003-10-20  Bruno Haible  <bruno@clisp.org>
26309
26310         * m4/wait-process.m4: New file.
26311
26312 2003-10-20  Bruno Haible  <bruno@clisp.org>
26313
26314         * lib/wait-process.h: New file, from GNU gettext.
26315         * lib/wait-process.c: New file, from GNU gettext.
26316
26317 2003-10-19  Jim Meyering  <jim@meyering.net>
26318
26319         * lib/vasnprintf.c (vasnprintf): Work around losing snprintf on
26320         HPUX 10.20.
26321
26322 2003-10-18  Karl Berry  <karl@gnu.org>
26323
26324         * config/config.guess: update from config.
26325
26326 2003-10-16  Paul Eggert  <eggert@twinsun.com>
26327
26328         * lib/getgroups.c: Include <errno.h>, <stdlib.h>.
26329         (getgroups): First arg is int, not size_t.
26330         Don't let 'free' mangle errno.
26331
26332 2003-10-16  Paul Eggert  <eggert@twinsun.com>
26333
26334         * README: Mention that gnulib assumes that (foo *) NULL + 0 == NULL.
26335
26336 2003-10-16  Karl Berry  <karl@gnu.org>
26337
26338         * config/config.{guess,sub}: update from config.
26339
26340 2003-10-16  Jim Meyering  <jim@meyering.net>
26341
26342         * lib/xmalloc.c: Include <string.h>, for declarations of memset and
26343         memcpy.
26344
26345 2003-10-15  Paul Eggert  <eggert@twinsun.com>
26346
26347         * lib/exclude.c: Do not include <inttypes.h> or <stdint.h>.
26348         (SIZE_MAX): Remove.
26349         (new_exclude, add_exclude_file): Initial size no longer needs to
26350         be a power of 2.
26351         (add_exclude, add_exclude_file): Use xnrealloc instead of rolling
26352         our own address arithmetic overflow checking.
26353
26354         * lib/fnmatch.c (SIZE_MAX): Define if standard headers don't.
26355         (fnmatch): Do not alloca more than 2000 wide characters;
26356         instead, use malloc for large buffers.
26357         Check for address arithmetic overflow, and return -1
26358         with errno set to ENOMEM in that case.
26359         * lib/fnmatch_loop.c (ALLOCA_LIMIT): New macro.
26360         (NEW_PATTERN): Do not alloca more than 8000 bytes;
26361         instead, return -1.  Check for address arithmetic overflow.
26362
26363 2003-10-14  Paul Eggert  <eggert@twinsun.com>
26364
26365         Handle invalid suffixes and overflow independently, so that
26366         callers can treat them independently as needed.  Fix some bugs in
26367         suffix handling, e.g., "100k@" was not diagnosed as an invalid
26368         suffix for a human-readable blocksize.  The major caller-visible
26369         change is the addition of a new
26370         LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW enum value, indicating
26371         that both overflow and suffix chars were found.
26372
26373         * lib/human.c (humblock): Don't check separately for invalid suffix
26374         char; that is xstrtoumax's job (now that its bug is fixed).
26375         * lib/xstrtoimax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [defined
26376         INTMAX_MAX]: New macros.
26377         * lib/xstrtol.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM, TYPE_MINIMUM,
26378         TYPE_MAXIMUM): New macros.
26379         (bkm_scale, bkm_scale_by_power): Return strtol_error, not int.
26380         (bkm_scale, bkm_scale_by_power, __xstrtol): Return maximal values
26381         if overflow occurs, as it's what __strtol does and it's more useful
26382         in practice.
26383         (__xstrtol): If __strtol reports some error other than ERANGE,
26384         reflect it to the caller as LONGINT_INVALID.  If it reports
26385         ERANGE, continue the rest of parsing, and report LONGINT_OVERFLOW
26386         | LONGINT_INVALID_SUFFIX_CHAR if both errors occur.
26387         * lib/xstrtol.h (LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW): New enum
26388         value.
26389         (_STRTOL_ERROR): Handle it.  Abort when given unknown error codes.
26390         * lib/xstrtoul.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM): New macros.
26391         * lib/xstrtoumax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM)
26392         [defined UINTMAX_MAX]: New macros.
26393
26394 2003-10-14  Bruno Haible  <bruno@clisp.org>
26395
26396         * modules/fatal-signal: Add m4/sig_atomic_t.m4 to file list.
26397
26398 2003-10-14  Bruno Haible  <bruno@clisp.org>
26399
26400         * m4/sig_atomic_t: New file, from GNU gettext.
26401         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Require gt_TYPE_SIG_ATOMIC_T.
26402
26403 2003-10-14  Bruno Haible  <bruno@clisp.org>
26404
26405         * lib/fatal-signal.h: Improved comments. Suggested by Paul Eggert.
26406         * lib/fatal-signal.c: Use sig_atomic_t. Suggested by Paul Eggert.
26407         Also use volatile where needed.
26408
26409 2003-10-12  Paul Eggert  <eggert@twinsun.com>
26410
26411         * modules/xalloc: Do not depend on 'exit'.  Depend on 'stdbool'.
26412         Change maintainer from Bruno Haible to 'all'.
26413
26414 2003-10-12  Paul Eggert  <eggert@twinsun.com>
26415
26416         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Require AC_C_INLINE.
26417
26418 2003-10-12  Paul Eggert  <eggert@twinsun.com>
26419
26420         * lib/xalloc.h (xnmalloc, xzalloc, xnrealloc, xclone): New decls.
26421         (XMALLOC, XCALLOC, XREALLOC, XFREE, CCLONE, CLONE): Deprecate,
26422         and define in terms of the other primitives.
26423         * lib/xmalloc.c: Include stdbool.h; do not include exit.h.
26424         (SIZE_MAX): Define if not already defined.
26425         (array_size_overflow): New function.
26426         (xalloc_die): Abort instead of exiting if 'error' returns.
26427         (xnmalloc, xnrealloc, xzalloc, xclone): New functions.
26428         (xmalloc, xrealloc): Use them.
26429         (xcalloc): Check for address arithmetic overflow.
26430         * lib/xstrdup.c (xstrdup): Use xclone, since memcpy should be
26431         a bit faster than strcpy.
26432
26433 2003-10-10  Simon Josefsson  <jas@extundo.com>
26434
26435         * modules/argp (Depends-on): Add restrict and strcase.
26436
26437 2003-10-10  Simon Josefsson  <jas@extundo.com>
26438
26439         * m4/argp.m4: Add AC_C_INLINE.
26440
26441 2003-10-08  Paul Eggert  <eggert@twinsun.com>
26442
26443         Merge getpass from libc, plus a few fixes.
26444
26445         * lib/getpass.c (HAVE_STDIO_EXT) [_LIBC]: Define to 1.
26446         Include <stdbool.h>.
26447         Include <stdio_ext.h> if HAVE_STDIO_H, otherwise define
26448         __fsetlocking to empty.
26449         [_LIBC]: Do not include "getline.h" or "unlocked-io.h", but
26450         do include <bits/libc-lock.h>.
26451         Do not include <fcntl.h>; not needed.
26452         [_LIBC]: Include <wchar.h>.
26453         (NOTCANCEL_MODE): New macro.
26454         (flockfile, funlockfile) [_LIBC]: New macros.
26455         (__libc_cleanup_push, __libc_cleanup_pop, __getline, __tcgetattr)
26456         [!_LIBC]: New macros.
26457         (call_fclose): New function.
26458         (getpass): Use it.  Save tty stream separately; this simplifies the
26459         code and makes it more reliable if stdin happens to equal stdout.
26460         Invoke __fsetlocking on tty.
26461         Handle thread cancellation if needed.
26462         Namespace cleanup (use __tcgetattr, __getline).
26463         Use bool for Booleans.
26464         [USE_IN_LIBIO]: Handle wide streams.
26465         [!_LIBC]: Unconditionally do the fseek, since we don't know what
26466         stream might go where.
26467
26468         * lib/unlocked-io.h: Include <stdio.h>, so that the caller
26469         doesn't have to include <stdio.h> before us.
26470         (clearerr_unlocked, feof_unlocked, ferror_unlocked,
26471         fflush_unlocked, fgets_unlocked, fputc_unlocked, fputs_unlocked,
26472         fread_unlocked, fwrite_unlocked, getc_unlocked, getchar_unlocked,
26473         putc_unlocked, putchar_unlocked): Define to the unlocked counterpart
26474         if not declared, so that we can use getpass.c code from libc without
26475         rewriting it.
26476         (flockfile, ftrylockfile, funlockfile): New macros.
26477
26478 2003-10-08  Paul Eggert  <eggert@twinsun.com>
26479
26480         * modules/getpass: Depend on stdbool.
26481
26482 2003-10-08  Paul Eggert  <eggert@twinsun.com>
26483
26484         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for stdio_ext.h.
26485
26486 2003-10-07  Karl Berry  <karl@gnu.org>
26487
26488         * config/config.{guess,sub}: update from config.
26489
26490 2003-10-06  Jim Meyering  <jim@meyering.net>
26491             Bruno Haible  <bruno@clisp.org>
26492
26493         This lets translators provide better translations for the
26494         "Written by ..." part of --version output.
26495         * lib/version-etc.h: Include stdarg.h.
26496         (version_etc_copyright): Declare as readonly.
26497         (version_etc): Make this function variadic with a NULL-terminated list
26498         of author name strings.
26499         (version_etc_va): New declaration.
26500         * lib/version-etc.c: Include stdarg.h, stdlib.h.
26501         (version_etc_copyright): Declare as readonly.
26502         (version_etc_va): New function. Provide a different translatable string
26503         for each possible number of authors < 10. Abbreviate when there are 10
26504         authors or more.
26505         (version_etc): Make this function variadic. Call version_etc_va.
26506         Suggestion from Gary V. Vaughan.
26507
26508         * lib/long-options.h (parse_long_options): Change prototype: the
26509         authors string is moved to the end and becomes variadic.
26510         * lib/long-options.c: Include stdarg.h.
26511         (parse_long_options): Make this function variadic, too.
26512         Call version_etc_va, not version_etc.
26513
26514 2003-10-06  Bruno Haible  <bruno@clisp.org>
26515
26516         * modules/version-etc-2: Remove file.
26517         * MODULES.html.sh (func_all_modules): Remove version-etc-2.
26518
26519 2003-10-06  Bruno Haible  <bruno@clisp.org>
26520
26521         * modules/fatal-signal: New file.
26522         * MODULES.html.sh (func_all_modules): Add fatal-signal.
26523
26524 2003-10-06  Bruno Haible  <bruno@clisp.org>
26525
26526         * m4/fatal-signal.m4: New file.
26527         * m4/signalblocking.m4: New file, from GNU gettext.
26528
26529 2003-10-06  Bruno Haible  <bruno@clisp.org>
26530
26531         * lib/version-etc-2.h: Remove file.
26532         * lib/version-etc-2.c: Remove file.
26533
26534 2003-10-06  Bruno Haible  <bruno@clisp.org>
26535
26536         * lib/fatal-signal.h: New file, from GNU gettext.
26537         * lib/fatal-signal.c: New file, from GNU gettext.
26538
26539 2003-10-05  Paul Eggert  <eggert@twinsun.com>
26540
26541         * README: Rework advice for preventing empty .o files.
26542         Don't recommend ELIDE constructs.  Recommend <stddef.h>,
26543         not <sys/types.h>.
26544
26545 2003-10-04  Karl Berry  <karl@gnu.org>
26546
26547         * lib/argp*: update from libc.
26548
26549 2003-10-04  Karl Berry  <karl@gnu.org>
26550
26551         * config/config.{guess,sub}: update from config.
26552
26553 2003-10-02  Bruno Haible  <bruno@clisp.org>
26554
26555         * modules/lchown (Include): Add lchown.h.
26556         * modules/time_r (Include): Use "..." syntax.
26557         * modules/xgetdomainname (Include): Add xgetdomainname.h.
26558
26559 2003-10-01  Simon Josefsson  <jas@extundo.com>
26560
26561         * MODULES.html.sh (func_all_modules): Move gethostname from section
26562         'based on' to section 'lacking' POSIX:2001.
26563
26564 2003-10-01  Larry Jones  <lawrence.jones@eds.com>
26565
26566         * lib/getpass.c (getpass): Use a no-op fseek when switching from input
26567         to output mode on the same stream.
26568
26569 2003-09-29  Paul Eggert  <eggert@twinsun.com>
26570
26571         * lib/strftime.c (tm_diff) [! HAVE_TM_GMTOFF]:
26572         Fix arg typo in previous patch.
26573
26574 2003-09-28  Jim Meyering  <jim@meyering.net>
26575
26576         * lib/error.c: Correct cpp indentation.
26577
26578 2003-09-27  Paul Eggert  <eggert@twinsun.com>
26579
26580         * modules/free: New file.
26581
26582 2003-09-27  Paul Eggert  <eggert@twinsun.com>
26583
26584         * m4/free.m4: New file.
26585
26586 2003-09-27  Paul Eggert  <eggert@twinsun.com>
26587
26588         * lib/minmax.h (MIN, MAX)
26589         [__STDC__ && defined __GNUC__ && __GNUC__ >= 2]:
26590         Omit the special code that used __typeof__, since we worry that
26591         it could be more trouble than it's worth.  See:
26592         http://mail.gnu.org/archive/html/bug-gnulib/2003-01/msg00090.html
26593         http://mail.gnu.org/archive/html/bug-gnulib/2003-01/msg00095.html
26594
26595         * lib/free.c: New file.
26596
26597 2003-09-27  Oskar Liljeblad  <oskar@osk.mine.nu>
26598
26599         Trivial fixes to Makefile.am parts of module listings.
26600         * modules/strstr: Append strstr.h to lib_SOURCES.
26601         * modules/strcase: Likewise, for strcase.h.
26602
26603 2003-09-27  Karl Berry  <karl@gnu.org>
26604
26605         * config/mkinstalldirs: update from automake.
26606
26607 2003-09-26  Paul Eggert  <eggert@twinsun.com>
26608
26609         * lib/error.c (SIZE_MAX) [!defined SIZE_MAX]: Define.
26610         (error_tail): Do not loop, reallocating temporary buffer, since
26611         the output cannot contain more wide characters than the input
26612         contains bytes, the size must be big enough already.  This avoids
26613         one potential size overflow calculation.  Check for size overflow
26614         when calculating temporary buffer size.  Free temporary buffer
26615         when done, if it was allocated with malloc; this plugs a memory
26616         leak.  Remove casts from void * to pointers, that are no longer
26617         needed now that we're assuming C89 or better.
26618
26619         Merge error changes from glibc.
26620
26621         * lib/error.c, error.h: Update copyright notice header to match glibc.
26622         * lib/error.c [defined _LIBC]: Include <errno.h>, <bits/libc-lock.h>.
26623         (error, error_at_line) [defined _LIBC && defined __libc_ptf_call]:
26624         Disable cancellation while printing error.
26625         * lib/error.h: Prepend __ to parameter names.
26626
26627 2003-09-26  Jim Meyering  <jim@meyering.net>
26628
26629         * lib/error.c (error_tail): Move some declarations
26630         into inner scope where the local variables are used.
26631
26632 2003-09-26  Bruno Haible  <bruno@clisp.org>
26633
26634         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Add comments about the AIX
26635         stpncpy().
26636         Don't define stpncpy through config.h; it's now done through stpncpy.h.
26637
26638 2003-09-26  Bruno Haible  <bruno@clisp.org>
26639
26640         * lib/stpncpy.h (gnu_stpncpy): New declaration.
26641         (stpncpy): Define as alias for gnu_stpncpy.
26642         * lib/stpncpy.c [!_LIBC]: Define gnu_stpncpy, not stpncpy.
26643
26644 2003-09-25  Simon Josefsson  <jas@extundo.com>
26645
26646         * lib/xgetdomainname.h: New file.
26647         * lib/xgetdomainname.c: New file.
26648
26649 2003-09-25  Simon Josefsson  <jas@extundo.com>
26650             Bruno Haible  <bruno@clisp.org>
26651
26652         * modules/getdomainname: New file.
26653         * modules/xgetdomainname: New file.
26654         * MODULES.html.sh (func_all_modules): Add getdomainname,
26655         xgetdomainname.
26656
26657 2003-09-25  Simon Josefsson  <jas@extundo.com>
26658             Bruno Haible  <bruno@clisp.org>
26659
26660         * m4/getdomainname.m4: New file.
26661
26662 2003-09-25  Simon Josefsson  <jas@extundo.com>
26663             Bruno Haible  <bruno@clisp.org>
26664
26665         * lib/getdomainname.h: New file.
26666         * lib/getdomainname.c: New file.
26667
26668 2003-09-25  Karl Berry  <karl@gnu.org>
26669
26670         * lib/argp-fmtstream.c, argp-help.c: update from libc.
26671
26672 2003-09-25  Karl Berry  <karl@gnu.org>
26673
26674         * config/install-sh: update from automake.
26675
26676 2003-09-25  Bruno Haible  <bruno@clisp.org>
26677
26678         * modules/version-etc-2: New file, from modules/version-etc with
26679         modifications.
26680         * MODULES.html.sh (func_all_modules): Add version-etc-2.
26681
26682 2003-09-25  Bruno Haible  <bruno@clisp.org>
26683
26684         * lib/version-etc-2.h: New file, from version-etc.h with modifications.
26685         * lib/version-etc-2.c: New file, from version-etc.c with modifications.
26686
26687 2003-09-24  Simon Josefsson  <jas@extundo.com>
26688
26689         * modules/xgethostname: Add xgethostname.h.
26690
26691 2003-09-24  Paul Eggert  <eggert@twinsun.com>
26692
26693         * lib/linebuffer.c (freebuffer): Don't free the argument, just
26694         the buffer associated with the argument.  Bug reported by
26695         Simon Josefsson.
26696
26697 2003-09-24  Paul Eggert  <eggert@twinsun.com>
26698
26699         * README: Document assumptions that 'int' is at least 32 bits
26700         wide, that integer arithmetic is 2's complement without overflow,
26701         that there are no holes in integer values, that adding sizes of
26702         two nonoverlapping objects can't overflow, and that all-bits-zero
26703         yields scalar zero.  Fix spelling and capitalization typos.
26704
26705 2003-09-19  Karl Berry  <karl@gnu.org>
26706
26707         * lib/argp.h: update from libc.
26708
26709 2003-09-17  Paul Eggert  <eggert@twinsun.com>
26710
26711         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Call AC_BEFORE first,
26712         to avoid spurious warnings like "AC_RUN_IFELSE was called before
26713         gl_USE_SYSTEM_EXTENSIONS" from autoreconf.
26714
26715 2003-09-17  Paul Eggert  <eggert@twinsun.com>
26716
26717         * gnulib-tool: Use "test -h", not "test -L", for portability
26718         to Solaris 8 /bin/sh.  (This bug is fixed in Solaris 9.)
26719         (tags_regexp): Remove, since \| doesn't conform to POSIX.
26720         (sed_extract_prog): Issue s commands one-by-one, rather than
26721         using \| in one s command.
26722
26723 2003-09-16  Paul Eggert  <eggert@twinsun.com>
26724
26725         * lib/linebuffer.c (readlinebuffer): Return NULL immediately upon
26726         input error, instead of returning NULL the next time we are called
26727         (and therefore losing track of errno).
26728
26729 2003-09-16  Bruno Haible  <bruno@clisp.org>
26730
26731         * gnulib-tool (func_create_testdir): Warn about duplicated
26732         dependencies.
26733
26734 2003-09-15  Paul Eggert  <eggert@twinsun.com>
26735
26736         * modules/argmatch, modules/fatal, modules/obstack,
26737         modules/xalloc, modules/xgethostname: Sort dependencies by
26738         importance, not alphabetically.
26739
26740 2003-09-15  Paul Eggert  <eggert@twinsun.com>
26741
26742         * lib/getndelim2.c (getndelim2): Don't trash errno when a read
26743         fails, so that the caller gets the proper errno.
26744
26745         * lib/readutmp.c (read_utmp): Likewise.
26746         Check for fstat error.  Close stream and free storage
26747         when failing.
26748
26749 2003-09-14  Karl Berry  <karl@gnu.org>
26750
26751         * config/srclist.txt (strdup.c): disable for c89 changes.
26752
26753 2003-09-14  Jim Meyering  <jim@meyering.net>
26754
26755         * lib/getloadavg.c: Correct cpp indentation.
26756         * lib/strdup.c: Likewise.
26757         * lib/vasnprintf.c: Likewise.
26758
26759 2003-09-14  Bruno Haible  <bruno@clisp.org>
26760
26761         * modules/fwriteerror: New file.
26762         * MODULES.html.sh (func_all_modules): Add fwriteerror.
26763
26764 2003-09-14  Bruno Haible  <bruno@clisp.org>
26765
26766         * lib/fwriteerror.h: New file.
26767         * lib/fwriteerror.c: New file.
26768
26769 2003-09-12  Paul Eggert  <eggert@twinsun.com>
26770
26771         * modules/argmatch, modules/exitfail, modules/fatal, modules/obstack,
26772         modules/xgethostname, modules/xalloc: Depend on exit.
26773
26774 2003-09-12  Paul Eggert  <eggert@twinsun.com>
26775
26776         * m4/error.m4: Require AC_FUNC_STRERROR_R rather than invoking it.
26777
26778         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Require AC_AIX
26779         and AC_MINIX, too, so that their extensions are available.
26780
26781         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Remove.  All uses removed.
26782         This macro has been superseded by gl_BACKUPFILE.
26783
26784         More patches to assume C89 or better.
26785
26786         * m4/error.m4 (gl_ERROR): Don't check for vprintf.
26787
26788         * m4/check-decl.m4 (jm_CHECK_DECLS): Include <string.h>, <stdlib.h>
26789         unconditionally.
26790         * m4/closeout.m4 (gl_CLOSEOUT): Don't check for stdlib.h.
26791         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER):
26792         Include <string.h>, <stdlib.h> unconditionally.
26793         * m4/lstat.m4 (gl_PREREQ_LSTAT): Don't check for stdlib.h, free.
26794         * m4/readdir.m4 (GL_FUNC_READDIR): Don't check for string.h.
26795         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Don't check for standard C
26796         headers or for string.h.
26797         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Don't check for stdlib.h
26798         or strtoul.
26799
26800         * m4/mkstemp.m4 (jm_PREREQ_TEMPNAME): Do not require standard C
26801         headers.
26802         * m4/strdup.m4 (gl_PREREQ_STRDUP): Likewise.
26803         * m4/userspec.m4 (gl_USERSPEC): Likewise.
26804         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Likewise.
26805         * m4/xstrtod.m4 (gl_XSTRTOD): Likewise.
26806         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
26807         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't check for limits.h,
26808         memcpy, memset.
26809         (jm_FUNC_GNU_STRFTIME): Don't require standard C headers.
26810         * m4/strtod.m4 (gl_FUNC_STRTOD): Do not check for float.h.
26811         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Do not check for stdlib.h,
26812         strtol.
26813         * m4/strtol.m4 (gl_FUNC_STRTOL): Do not check for limits.h.
26814         * m4/userspec.m4 (gl_USERSPEC): Do not check for string.h.
26815         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Do not check for string.h, strtol,
26816         strtoul.
26817
26818 2003-09-12  Paul Eggert  <eggert@twinsun.com>
26819
26820         * lib/argmatch.c, fatal.c, xgethostname.c, xmalloc.c: Include exit.h.
26821         * lib/obstack.c [!defined _LIBC]: Likewise.
26822         * lib/argmatch.c (EXIT_FAILURE): Remove; now done by exit.h
26823         * lib/exitfail.c, fatal.c, xgethostname.c, xmalloc.c: Likewise.
26824         * lib/exitfail.c: Don't include stdlib.h; no longer needed.
26825
26826         More changes to assume C89 or better.
26827
26828         * lib/error.c (error_tail): Assume vprintf.
26829
26830         * lib/argmatch.c (getenv): Remove decl.
26831         * lib/progreloc.c (get_full_program_name): Define via prototype.
26832         * lib/setenv.c (clearenv): Likewise.
26833         * lib/stpncpy.c: Do not include <string.h> or <sys/types.h>; not
26834         needed.
26835         * lib/strdup.c: Include <stdlib.h>, <string.h> unconditionally.
26836         (malloc, memcpy): Remove decls.
26837         * lib/strftime.c (HAVE_LIMITS_H, STDC_HEADERS) [defined _LIBC]: Remove.
26838         (HAVE_MEMCPY) [defined emacs && !defined HAVE_BCOPY]: Remove.
26839         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
26840         (memcpy): Remove macro.
26841         (MEMCPY) [!defined COMPILE_WIDE]: Define to memcpy unconditionally.
26842         (__P): Remove.  All uses removed.
26843         (PTR): Remove.  All uses changed to void *.
26844         (CHAR_BIT, NULL): Remove.
26845         (spaces, zeros, memset_space, memset_zero)
26846         [!defined memset && !defined HAVE_MEMSET && !defined _LIBC]:
26847         Remove.
26848         (LOCALE_PARAM, LOCALE_PARAM_DECL): Remove.
26849         (memcpy_lowcase, memcpy_uppcase, tm_diff, iso_week_days):
26850         Define with prototype.
26851         Remove now-unnecessary prototype decl.
26852         (extra_args_spec): Assume ANSI C.  All uses changed.
26853         (extra_args_spec_iso): Remove.
26854         (my_strftime, emacs_strftimeu): Define via prototype.
26855         * lib/strtod.c: Include <float.h>, <stdlib.h>, <string.h>
26856         unconditionally.
26857         (DBL_MAX, DBL_MIN, HUGE_VAL, NULL): Remove decls.
26858         * lib/strtoimax.c: Include <stdlib.h> unconditionally.
26859         (strtoul, strtol): Remove decls.
26860         * lib/strtol.c (STDC_HEADERS, HAVE_LIMITS_H, NULL, ULONG_MAX,
26861         LONG_MAX): Remove.
26862         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
26863         (LOCALE_PARAM_DECL): Remove.  All uses changed to LOCALE_PARAM_PROTO.
26864         (LOCALE_PARAM_PROTO): New macro.
26865         (INTERNAL, INTERNAL1, WEAKNAME): Assume ANSI C, not K&R.
26866         (INTERNAL (strtol), strtol): Define with a prototype.
26867         (PARAMS): Remove.  All uses removed.
26868         * lib/tempname.c: Include <string.h> unconditionally.
26869         * lib/userspec.c: Include <stdlib.h>, <string.h> unconditionally.
26870         * lib/xgethostname.c (main): Define with a prototype.
26871         * lib/xmalloc.c: Include "xalloc.h" first, to check interface.
26872         Include <stdlib.h> unconditionally.
26873         (calloc, malloc, realloc, free): Remove decls.
26874         * lib/xstrtod.c: Include "xstrtod.h" first, to check interface.
26875         Include <stdlib.h> unconditionally.  Sort include file names.
26876         (strtod): Remove.
26877         (xstrtod): Define with a prototype.
26878         * lib/xstrtol.c: Include <stdlib.h>, <string.h> unconditionally.
26879         (strtol, strtoul): Remove decls.
26880
26881 2003-09-11  Paul Eggert  <eggert@twinsun.com>
26882
26883         More patches to assume C89 or better.
26884         * m4/strndup.m4 (gl_PREREQ_STRNDUP): Remove STDC_HEADERS check.
26885         * m4/strnlen.m4 (gl_PREREQ_STRNLEN): Don't check for memory.h,
26886         string.h, memchr, STDC_HEADERS.
26887
26888 2003-09-11  Paul Eggert  <eggert@twinsun.com>
26889
26890         * lib/strndup.c: Don't include <stdio.h>, <sys/types.h>.
26891         Include <stdlib.h>, <string.h> unconditionally.
26892         Remove now-unnecessary cast to char *.
26893         * lib/strnlen.c: Include <string.h> unconditionally.
26894         * lib/yesno.c (yesno): Define with a prototype.
26895
26896 2003-09-11  Bruno Haible  <bruno@clisp.org>
26897
26898         * config/srclist.txt (setenv.c, unsetenv.c): Disable for the moment.
26899
26900 2003-09-10  Jim Meyering  <jim@meyering.net>
26901
26902         * lib/error.c: Correct indentation of cpp directives.
26903
26904 2003-09-10  Bruno Haible  <bruno@clisp.org>
26905
26906         * m4/strcspn.m4 (gl_PREREQ_STRCSPN): Remove <string.h> check.
26907         * m4/strpbrk.m4 (gl_PREREQ_STRPBRK): Remove <string.h> check.
26908         * m4/strstr.m4 (gl_PREREQ_STRSTR): Remove <string.h> check.
26909         * m4/unicodeio.m4 (gl_UNICODEIO): Remove <string.h> check.
26910         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove
26911         <stdlib.h> and <string.h> checks.
26912         * m4/xreadlink.m4 (gl_XREADLINK): Remove <stdlib.h> check.
26913         * m4/yesno.m4 (gl_YESNO): Remove <stdlib.h> check.
26914
26915 2003-09-10  Bruno Haible  <bruno@clisp.org>
26916
26917         * lib/strcspn.c: Include <string.h> unconditionally.
26918         * lib/strpbrk.c: Include <string.h> unconditionally.
26919         * lib/strstr.c: Include <string.h> unconditionally.
26920         * lib/unicodeio.c: Include <string.h> unconditionally.
26921         * lib/setenv.c: Include <stdlib.h> and <string.h> unconditionally.
26922         * lib/unsetenv.c: Likewise.
26923         * lib/xreadlink.c: Include <stdlib.h> unconditionally.
26924         * lib/yesno.c: Include <stdlib.h> unconditionally.
26925         (rpmatch): Add prototype.
26926
26927 2003-09-09  Paul Eggert  <eggert@twinsun.com>
26928
26929         More patches to assume C89 or better.
26930         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Don't check for stdlib.h.
26931         * m4/getopt.m4 (gl_GETOPT): Don't check for string.h.
26932         * m4/getugroups.m4 (gl_GETUGROUPS): Do not check for standard C headers
26933         or for string.h.
26934         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Do not check for
26935         stdlib.h.
26936         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): Do not require standard
26937         C headers.
26938         * m4/hard-locale.m4 (gl_HARD_LOCALE): Do not check for stdlib.h,
26939         string.h.
26940         * m4/hash.m4 (gl_HASH): Do not check for stdlib.h, malloc, free.
26941         * m4/human.m4 (gl_HUMAN): Do not check for stdlib.h, string.h, getenv.
26942         * m4/idcache.m4 (gl_IDCACHE): Do not check for standard C headers,
26943         or for string.h.
26944         * m4/long-options.m4 (gl_LONG_OPTIONS): Do not check for stdlib.h.
26945         * m4/makepath.m4 (gl_MAKEPATH): Do not check for string.h or standard
26946         C headers.
26947         * m4/md5.m4 (gl_MD5): Don't check for limits.h, standard C headers,
26948         memcpy.
26949         * m4/sha.m4 (gl_SHA): Don't check for standard Cheaders, memcpy.
26950         * m4/memchr.m4 (jm_PREREQ_MEMCHR): Don't check for limits.h, stdlib.h.
26951         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): Don't check for string.h.
26952         * m4/memcoll.m4 (gl_MEMCOLL): Likewise.
26953         * m4/memrchr.c (gl_PREREQ_MEMRCHR): Don't check for limits.h.
26954         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): Don't check for stdlib.h,
26955         string.h, free.
26956         * m4/mktime.m4 (gl_PREREQ_MKTIME): Don't check for standard C headers.
26957         * m4/modechange.m4 (gl_MODECHANGE): Don't check for standard C headers.
26958         * m4/mountlist.m4 (gl_PREREQ_MOUNTLIST_EXTRA): Don't check for standard
26959         C headers, or for string.h.
26960         * m4/obstack.m4 (gl_OBSTACK): Don't check for stddefe.h, string.h.
26961         (gl_PREREQ_OBSTACK): Don't check for stdlib.h.
26962         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't check for standard C
26963         headers, memory.h, stdlib.h, string.h, strings.h.
26964         * m4/posixtm.m4 (gl_POSIXTM): Don't check for stdlib.h, string.h.
26965         * m4/posixver.m4 (gl_POSIXVER): Don't check for getenv.
26966         * m4/putenv.m4 (gl_PREREQ_PUTENV): Don't check for string.h, memcpy,
26967         strchr.
26968         * m4/readtokens.m4 (gl_READTOKENS): Don't check for standard C
26969         headers, memory.h, string.h.
26970         * m4/regex.m4 (jm_PREREQ_REGEX): Do not check for limits.h, string.h.
26971         * m4/rename.m4 (gl_PREREQ_RENAME): Do not check for stdlib.h, string.h,
26972         free.
26973         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Don't check for standard C
26974         headers.
26975         * m4/same.m4 (gl_SAME): Don't check for stdlib.h, string.h, free.
26976         * m4/save-cwd.m4 (gl_SAVE_CWD): Don't check for standard C headers.
26977         * m4/savedir.m4 (gl_SAVEDIR): Don't check for standard C headers.
26978         * m4/strchrnul.m4 (gl_PREREQ_STRCHRNUL): Don't check for string.h.
26979         * m4/xgetcwd.m4 (gl_XGETCWD): Don't check for stdlib.h.
26980
26981 2003-09-09  Paul Eggert  <eggert@twinsun.com>
26982
26983         More K&R removal.
26984
26985         * lib/acosl.c (main): Use a prototype.
26986         * lib/asinl.c, cosl.c, expl.c, frexpl.c, ldexpl.c, sinl.c,
26987         tanl.c: Likewise.
26988
26989         * lib/getloadavg.c (getloadavg, main): Define via prototypes.
26990
26991         * lib/getopt.h (struct option.name): Assume C89, and use 'const'.
26992         (getopt, etopt_long, getopt_long_only, _getopt_internal)
26993         [defined __GNU_LIBRARY__]: Assume C89, so we can always declare
26994         with a prototype.
26995         * lib/getopt.c (const): Remove macro.
26996         Include <string.h> unconditionally.
26997         (my_index): Remove; all uses changed to strchr.
26998         (strlen): Remove decl.
26999         (exchange): Remove forward decl; no longer needed.
27000         (exchange, _getopt_initialize, _getopt_internal, getopt, main):
27001         Define with prototype.
27002         * lib/getopt1.c (const): Remove macro.
27003         (getopt_long, getopt_long_only, main): Define with prototype.
27004
27005         * lib/getugroups.c: Include <string.h> unconditionally.
27006
27007         * lib/getusershell.c: Include <stdlib.h> unconditionally.
27008         (getusershell, setusershell, endusershell, readname, main):
27009         Define with prototypes.
27010
27011         * lib/group-member.c: Include group-member.h first.
27012         Include <stdlib.h> unconditionally.
27013
27014         * lib/hard-locale.c: Include hard-locale.h first.
27015         Include <stdlib.h>, <string.h> unconditionally.
27016
27017         * lib/hash.c (free, malloc): Remove decls.
27018         Include <stdlib.h> unconditionally.
27019
27020         * lib/human.c: Include <stdlib.h>, <string.h> unconditionally.
27021         (getenv): Do not declare.
27022
27023         * lib/idcache.c: Include <string.h> unconditionally.
27024
27025         * lib/long-options.c: Include long-options.h first, to test interface.
27026         Include <stdlib.h> unconditionally.
27027
27028         * lib/makepath.c: Include makepath.h first, to test interface.
27029         Include <stdlib.h> and <string.h> unconditionally.
27030
27031         * lib/linebuffer.c: Include <stdlib.h>.
27032         (free): Remove decl.
27033
27034         * lib/malloc.c: Include <stdlib.h>, for malloc; don't bother with
27035         stddef.h. rpl_malloc returns void *, not char *.
27036         * lib/realloc.c (rpl_realloc): Likewise.  Also, define with a
27037         prototype.
27038
27039         * lib/md5.h: Include <limits.h> unconditionally.
27040         (UINT_MAX_32_BITS): Don't worry about non-__STDC__ case.
27041         (__P): Remove; all uses removed.
27042         * lib/md5.c: Include "md5.h" first.
27043         (md5_init_ctx, md5_read_ctx, md5_finish_ctx, md5_stream,
27044         md5_buffer, md5_process_bytes, md5_process_block):
27045         Define with prototypes.
27046         * lib/sha.h (__P): Remove all uses.  (It wasn't defined??)
27047         * lib/sha.c: Include "sha.h" first.
27048         Include <stdlib.h>, <string.h> unconditionally.
27049
27050         * lib/memchr.c (__ptr_t): Remove; all uses changed to void *.
27051         * lib/memcmp.c (__ptr_t): Likewise.
27052         * lib/memrchr.c (__ptr_t): Likewise.
27053         * lib/memchr.c, memcmp.c, memcoll.c, memrchr.c:
27054         Include <string.h> unconditionally.
27055         * lib/memchr.c, memrchr.c: Include <limits.h> unconditionally.
27056         * lib/memchr.c: Include <stdlib.h> unconditionally.
27057         * lib/memchr.c (LONG_MAX): Remove.
27058         * lib/memrchr.c (LONG_MAX): Likewise.
27059         * lib/memchr.c (__memchr): Define via a prototype.
27060         * lib/memrchr.c (__memrchr): Likewise.
27061         * lib/memcmp.c (__P): Remove, and remove all uses.
27062         (memcmp_bytes, memcmp_common_alignment, memcmp_not_common_alignment):
27063         Remove forward decls; no longer needed.
27064         * lib/memcpy.c, memmove.c, memset.c: Include <stddef.h>.
27065         Use types required by C89 in prototype.
27066
27067         * lib/mkdir.c: Include <stdlib.h>, <string.h> unconditionally.
27068         * lib/savedir.c: Likewise.
27069         * lib/mkdir.c (free): Remove decl.
27070         * lib/rmdir.c (rmdir): Define with a prototype.
27071         * lib/savedir.c: Include savedir.h first, to test interface.
27072
27073         * lib/mktime.c (STDC_HEADERS): Remove.
27074         Include <stdlib.h>, <string.h> unconditionally.
27075
27076         * lib/modechange.c: Include <stdlib.h> unconditionally.
27077         (malloc): Remove decl.
27078
27079         * lib/mountlist.c: Include <stdlib.h>, <string.h> unconditionally.
27080         (free): Remove decl.
27081
27082         * lib/obstack.h (PTR_INT_TYPE) [!defined __PTRDIFF_TYPE__]:
27083         Define to ptrdiff_t, without bothering to check HAVE_STDDEF_H.
27084         (This type really should be intptr_t, but that's a C99ism.)
27085         (_obstack_memcpy): Remove: all uses changed to memcpy.
27086         Include <string.h> unconditionally.
27087         (struct obstack): Assume __STDC__ for types of members
27088         chunkfun, freefun, extra_arg.
27089         (_obstack_newchunk, _obstack_free, _obstack_begin, _obstack_begin_1,
27090         _obstack_memory_used, obstack_alloc_failed_handler, obstack_init,
27091         obstack_begin, obstack_specify_allocation,
27092         obstack_specify_allocation_with_arg, obstack_chunkfun,
27093         obstack_freefun, obstack_free) [! (defined __STDC__ && __STDC__)]:
27094         Remove unprototyped decls and the macros that use them.
27095         * lib/obstack.c (POINTER): Remove.  All uses changed to void *.
27096         (obstack_alloc_failed_handler, CALL_CHUNKFUN, CALL_FREEFUN,
27097         _obstack_begin, _obstack_begin_1, _obstack_allocated_p)
27098         (defined __STDC__ && __STDC__)]:
27099         Remove nonprototyped code.
27100         Include <stdlib.h> unconditionally.
27101         (_obstack_begin, _obstack_begin_1, _obstack_newchunk,
27102         _obstack_allocated_p, _obstack_free, obstack_free,
27103         _obstack_memory_used, print_and_abort):
27104         Define using prototypes.
27105         (obstack_1grow, obstack_1grow_fast, obstack_alloc, obstack_base,
27106         obstack_blank, obstack_blank_fast, obstack_copy, obstack_copy0,
27107         obstack_finish, obstack_grow, obstack_grow0, obstack_make_room,
27108         obstack_next_free, obstack_object_size, obstack_room) [0]:
27109         Remove unused, unprototyped code.
27110
27111         * lib/path-concat.c: Include <stdlib.h>, <string.h> unconditionally.
27112
27113         * lib/physmem.c (physmem_total, physmem_available, main): Define
27114         with prototypes.
27115
27116         * lib/posixtm.c: Include <stdlib.h>, <string.h> unconditionally.
27117         (main): Define with a prototype.
27118
27119         * lib/posixver.c (getenv): Remove decl.
27120
27121         * lib/putenv.c (malloc): Returns void *, not char *.
27122         Include <string.h> unconditionally.
27123         (strchr, memcpy, NULL): Do not define.
27124
27125         * lib/readtokens.c: Include readtokens.h first, to test interface.
27126         Include <stdlib.h>, <string.h> unconditionally.
27127         (init_tokenbuffer): Define with a prototype.
27128
27129         * lib/regex.c (PARAMS): Remove.  All uses removed.
27130         All uses of _RE_ARGS removed, too.
27131         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
27132         unconditionally.
27133         (bzero): Assume memset exists.
27134         (memcmp, memcpy, NULL): Remove.
27135         (SIGN_EXTEND_CHAR): Remove; all uses replaced by casts to signed
27136         char, or assignments to local vars of type signed char.
27137         (init_syntax_once, PREFIX(extract_number_and_incr),
27138         PREFIX(print_partial_compiled_pattern),
27139         PREFIX(print_compiled_pattern), PREFIX(print_double_string),
27140         convert_mbs_to_wcs, print_fastmap, re_set_syntax,
27141         PREFIX(regex_grow_registers), PREFIX(regex_compile),
27142         PREFIX(store_op1), PREFIX(store_op2), PREFIX(insert_op1),
27143         PREFIX(insert_op2), PREFIX(at_begline_loc_p),
27144         PREFIX(at_endline_loc_p), group_in_compile_stack, insert_space,
27145         wcs_compile_range, byte_compile_range, truncate_wchar,
27146         PREFIX(re_compile_fastmap), re_compile_fastmap, re_set_registers,
27147         re_search, re_search_2, PREFIX(re_search_2), re_match, re_match_2,
27148         count_mbs_length, wcs_re_match_2_internal,
27149         byte_re_match_2_internal, PREFIX(group_match_null_string_p),
27150         PREFIX(alt_match_null_string_p),
27151         PREFIX(common_op_match_null_string_p), PREFIX(bcmp_translate),
27152         re_compile_pattern, re_comp, re_exec, regcomp, regexec, regerror,
27153         regfree, PREFIX(extract_number)): Define with prototype.  Remove
27154         now-unnecessary declaration, if any.
27155         (byte_compile_range, PREFIX(regex_compile), re_comp, re_exec,
27156         regcomp, regexec):
27157         Remove now-unnecessary casts among pointer types.
27158         * lib/regex.h (_RE_ARGS): Remove.  All uses removed.
27159
27160         * lib/rename.c: Include <stdlib.h>, <string.h> unconditionally.
27161         (free): Remove decl.
27162
27163         * lib/rpmatch.c: Include <stdlib.h> unconditionally.
27164
27165         * lib/same.c: Include <stdlib.h>, <string.h> unconditionally.
27166         (free): Remove decl.
27167
27168         * lib/save-cwd.c: Include <stdlib.h> unconditionally.
27169         * lib/xgetcwd.c: Likewise.
27170
27171         * lib/stat.c: Include <stdlib.h>, <string.h> unconditionally.
27172         (free): Remove decl.
27173
27174         * lib/strchrnul.c (strchrnul): Define with a prototype.
27175         Fix bug: c_in was not converted to char before searching.
27176
27177         The following changes are not K&R related:
27178
27179         * lib/group-member.h: Include <sys/types.h>, so that this file is
27180         self-contained.
27181         * lib/makepath.h: Likewise.
27182
27183         * lib/getusershell.c (readname, default_index, line_size, readname):
27184         Use size_t, not int, for sizes.
27185         (readname): If the size overflows, report an error instead of
27186         looping forever.
27187
27188 2003-09-09  Paul Eggert  <eggert@twinsun.com>
27189
27190         * config/srclist.txt: Do not get getopt.h, getopt1.c, or regex.h from
27191         libc.
27192
27193 2003-09-09  Paul Eggert  <eggert@twinsun.com>
27194
27195         * README: New section: portability guidelines.
27196
27197 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
27198
27199         * m4/getndelim2.m4 (gl_PREREQ_GETNDELIM2): Assume stdlib.h per the
27200         C89 spec.
27201
27202 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
27203
27204         * lib/getndelim2.c: Assume stdlib.h per the C89 spec.
27205
27206 2003-09-08  Paul Eggert  <eggert@twinsun.com>
27207
27208         Assume C89 or better; remove K&R cruft.
27209         A few of these changes were first proposed by Derek Robert Price
27210         in <http://mail.gnu.org/archive/html/bug-gnulib/2003-07/msg00105.html>.
27211
27212         * lib/addext.c: Include <string.h> unconditionally.
27213         * lib/backupfile.c: Include <string.h>, <stdlib.h> unconditionally.
27214         Don't declare getenv or malloc.
27215
27216         * lib/alloca.c: Include <string.h>, <stdlib.h> unconditionally.
27217         (POINTER_TYPE, pointer): Remove; all uses changed to void *.
27218         (NULL): Remove.
27219         (find_stack_direction, alloca): Use prototypes.
27220
27221         * lib/atexit.c (atexit): Define using a prototype.
27222
27223         * lib/basename.c, dirname.c, stripslash.c:
27224         Include <string.h> unconditionally.
27225
27226         * lib/bcopy.c: Include <stddef.h>.
27227         (bcopy): Define with prototype, using 'const' and 'void' and 'size_t'.
27228
27229         * lib/canon-host.c: Include <stdlib.h>, <string.h> unconditionally.
27230
27231         * lib/error.h (error, error_at_line, error_print_progname)
27232         [! (defined (__STDC__) && __STDC__)]: Remove decls.
27233         * lib/error.c: Include error.h first, to check interface.
27234         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
27235         (VA_START): Remove; all uses changeed to va_start.
27236         (exit, strerror): Remove decls.
27237         (error_print_progname): Prototype uncondionally.
27238         Don't include <errno.h>; no longer needed.
27239         (private_strerror): Remove.
27240         (error_tail): Always define.
27241         (error, error_at_line): Assume C89 or better; always use prototypes.
27242         * lib/fatal.c: Include "fatal.h" first, to test interface.
27243         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
27244         (VA_START): Remove; all uses changed to va_start.
27245         [! (HAVE_VPRINTF || HAVE_DOPRNT || _LIBC)]: Remove support for
27246         this case.
27247         (exit): Remove decl.
27248         (fatal): Prototype unconditionally.  Assume va_start works.
27249         Abort at end, to pacify gcc.
27250
27251         * lib/euidaccess.c (main): Define with a prototype.
27252
27253         * lib/exclude.c: Include <stdlib.h>, <string.h> unconditionally.
27254
27255         * lib/exitfail.c: Include <stdlib.h> unconditionally.
27256
27257         * lib/fnmatch_.h (__P): Remove.  All uses changed to assume
27258         prototypes.
27259         * lib/fnmatch.c: Include fnmatch.h first, to test interface.
27260         Include <string.h>, <stddef.h>, <stdlib.h> unconditionally.
27261         (getenv): Remove decl.
27262         (fnmatch): Define using a prototype.
27263         * lib/fnmatch_loop.c (FCT): Remove forward decl; no longer needed.
27264         (FCT): Define using a prototype.
27265
27266         * lib/getdate.y: Include <stdlib.h>, <string.h> unconditionally.
27267
27268         * lib/gethostname.c: Include <stddef.h>.
27269         (gethostname): Define with prototype.  Length is size_t, not int.
27270
27271 2003-09-08  Paul Eggert  <eggert@twinsun.com>
27272
27273         Assume C89 or better; remove K&R cruft.
27274         * m4/alloca.m4 (gl_PREREQ_ALLOCA): Don't check for stdlib.h, string.h.
27275         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for stdlib.h,
27276         string.h, getenv, malloc.
27277         * m4/dirname.m4 (gl_DIRNAME): Don't check for string.h or C standard
27278         headers.
27279         * m4/canon-host.m4 (gl_CANON_HOST): Don't check for string.h, stdlib.h.
27280         * m4/error.m4 (jm_PREREQ_ERROR): Do not require STDC headers, and
27281         do not check for strerror.
27282         * m4/exclude.m4: Do not check for stdlib.h, string.h, strings.h.
27283         * m4/exitfail.m4 (gl_EXITFAIL): Do not check for stdlib.h.
27284         * m4/fatal.m4 (gl_FATAL): Do not require STDC headers, and
27285         do not check for doprnt or vprintf.
27286         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH_EXTRA): Remove.  All uses removed.
27287         * m4/getdate.m4 (gl_GETDATE): Don't check for stdlib.h or string.h.
27288
27289 2003-09-08  Paul Eggert  <eggert@twinsun.com>
27290
27291         * lib/getversion.c: Remove; was migrated to backupfile.c in 1997.
27292         getversion.c should have been removed then, but was accidentally
27293         preserved.
27294
27295         * lib/utime.c [!HAVE_UTIMES_NULL]: Include <sys/stat.h>, <fcntl.h>.
27296         (utime_null): Fix typo: 'st' was sometimes called 'sb'.
27297
27298 2003-09-08  Karl Berry  <karl@gnu.org>
27299
27300         * config/config.sub, config.guess, srclistvars.sh: update from savannah
27301                 config, forget about prep.
27302
27303         * config/depcomp, missing: update from automake.
27304
27305 2003-09-07  Paul Eggert  <eggert@twinsun.com>
27306
27307         * modules/time_r: Depend on 'restrict'.  Fix from Simon Josefsson in
27308         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00028.html>.
27309
27310 2003-09-07  Paul Eggert  <eggert@twinsun.com>
27311
27312         * lib/time_r.c (gmtime_r, localtime_r): Fix silly typo: missing arg to
27313         copy_tm_result.  Bug reported by Simon Josefsson in
27314         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00028.html>.
27315
27316 2003-09-06  Paul Eggert  <eggert@twinsun.com>
27317
27318         * m4/time_r.m4: New file.
27319         * m4/mktime.m4 (gl_PREREQ_MKTIME): Remove check for limits.h.
27320         * m4/timegm.m4 (gl_FUNC_TIMEGM): Assume that timegm is buggy if mktime
27321         is. Check for timegm declaration.
27322         (gl_PREREQ_TIMEGM): Require gl_FUNC_MKTIME.
27323         Do not check for gmtime_r.
27324         Replace mktime if __mktime_internal does not exist and if mktime
27325         hasn't been replaced already.
27326
27327 2003-09-06  Paul Eggert  <eggert@twinsun.com>
27328
27329         * lib/time_r.c, lib/time_r.h: New files.
27330
27331         * lib/mktime.c (my_mktime_localtime_r): Remove; all uses changed to
27332         __localtime_r.
27333         (__localtime_r) [!defined _LIBC]: New macro.  Include <time_r.h>.
27334         (__mktime_internal) [!defined _LIBC]: Now extern, not static.
27335
27336         * lib/strftime.c (my_strftime_gmtime_r): Remove; all uses changed to
27337         __gmtime_r.
27338         (my_strftime_localtime_r): Remove; all uses changed to __localtime_r.
27339         (__gtime_r, __localtime_r) [!HAVE_TM_GMTOFF]: New macros.
27340         Include <time_r.h>.
27341
27342         * lib/timegm.c: Switch to glibc implementation, with the following
27343         changes:
27344         [defined HAVE_CONFIG_H]: Include <config.h>.
27345         [!defined _LIBC]: Include "timegm.h" rather than <time.h>.
27346         (__mktime_internal) [!defined _LIBC]: New decl.
27347         (__gmtime_r) [!defined _LIBC]: New macro and function.
27348         (timegm): Use a prototype, since gnulib assumes C89.
27349         Do not bother declaring tmp to be const, as it's not really usefu.
27350         * lib/timegm.h: Hoist "#include <time.h>" out of #ifdef.
27351         (timegm): Declare only if HAVE_DECL_TIMEGM.
27352
27353 2003-09-06  Paul Eggert  <eggert@twinsun.com>
27354
27355         * MODULES.html.sh (func_all_modules): Add time_r.
27356         * modules/time_r: New file.
27357         * modules/mktime, modules/strftime, modules/timegm: Depend on time_r.
27358         * modules/timegm: Depend on mktime.  Change maintainer to "all, glibc".
27359
27360 2003-09-03  Paul Eggert  <eggert@twinsun.com>
27361
27362         * lib/human.c (human_readable): Fix bug that rounded 10501 to 10k.
27363         Bug reported by Lute Kamstra in
27364         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00003.html>.
27365
27366         * lib/getdate.y (relative_time_table): Use tDAY_UNIT for "tomorrow",
27367         "yesterday", "today", and "now" rather than tMINUTE_UNIT.  Of
27368         course with correspondingly smaller numbers for tomorrow and
27369         yesterday.  From Tadayoshi Funaba.  Originally installed into
27370         sh-utils on 1999-08-07, but the patch got lost (I guess during the
27371         coreutils merge?).
27372
27373 2003-08-31  Simon Josefsson  <jas@extundo.com>
27374
27375         * modules/timegm: New file.
27376         * MODULES.html.sh (func_all_modules): Add timegm.
27377
27378 2003-08-31  Simon Josefsson  <jas@extundo.com>
27379
27380         * m4/timegm.m4: New file.
27381
27382 2003-08-31  Simon Josefsson  <jas@extundo.com>
27383
27384         * lib/timegm.h: New file.
27385         * lib/timegm.c: New file.  Based on
27386         wget-1.8.2/src/http.c:mktime_from_utc.
27387
27388 2003-08-31  Karl Berry  <karl@gnu.org>
27389
27390         * lib/argp.h: update from libc.
27391
27392 2003-08-28  Bruno Haible  <bruno@clisp.org>
27393
27394         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Remove AC_DEFINE of fnmatch here.
27395         This avoids havoc on compilers for which '#define fnmatch rpl_fnmatch'
27396         followed by '#define fnmatch fnmatch_posix' gives an error.
27397
27398 2003-08-28  Bruno Haible  <bruno@clisp.org>
27399
27400         * lib/binary-io.h: Undefine O_BINARY before defining it. This avoids a
27401         warning on QNX, which defines O_BINARY to 000000.
27402
27403 2003-08-27  Jim Meyering  <jim@meyering.net>
27404
27405         * m4/mkstemp.m4: Require that the system mkstemp be able to create
27406         70 temporary files, not just 30.  Tru64 V4.0F's mkstemp function
27407         would fail after 32.  Reported by Danny Levinson.  Details here:
27408         http://mail.gnu.org/archive/html/bug-coreutils/2003-08/msg00124.html
27409
27410 2003-08-24  Bruno Haible  <bruno@clisp.org>
27411
27412         * lib/binary-io.h: Include <stdio.h>, to avoid a compilation error when
27413         MSVC7 <stdio.h> is included later.
27414
27415 2003-08-22  Simon Josefsson  <jas@extundo.com>
27416
27417         * modules/strndup (Makefile.am): Add strndup.h to lib_SOURCES.
27418
27419 2003-08-20  Karl Berry  <karl@gnu.org>
27420
27421         * m4/lib-ld.m4: serial 1003 from gettext, no changes besides serial.
27422
27423 2003-08-20  Bruno Haible  <bruno@clisp.org>
27424
27425         * modules/progname: New file.
27426         * MODULES.html.sh (func_all_modules): Add progname.
27427
27428 2003-08-20  Bruno Haible  <bruno@clisp.org>
27429
27430         * lib/progname.h: New file, from GNU gettext.
27431         * lib/progname.c: New file, from GNU gettext.
27432         * lib/progreloc.c: New file, from GNU gettext.
27433
27434 2003-08-19  Jim Meyering  <jim@meyering.net>
27435
27436         * m4/lib-ld.m4: Revert yesterday's change, per Bruno's request here:
27437         http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00155.html
27438
27439 2003-08-19  Bruno Haible  <bruno@clisp.org>
27440
27441         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Don't check for <string.h> any
27442         more.
27443
27444 2003-08-19  Bruno Haible  <bruno@clisp.org>
27445
27446         * lib/xstrdup.c: Assume <string.h> exists.
27447
27448 2003-08-18  Paul Eggert  <eggert@twinsun.com>
27449
27450         * modules/stdbool: Add BUILT_SOURCES.  Prefer $@ to target name
27451         in makefile rules.
27452
27453 2003-08-18  Jim Meyering  <jim@meyering.net>
27454
27455         * m4/getloadavg.m4: Use [\t ], not [ \t] (where \t is a literal TAB).
27456         * m4/lib-ld.m4: Likewise.
27457
27458 2003-08-18  Jim Meyering  <jim@meyering.net>
27459
27460         * lib/setenv.h: Indent nested cpp directive.
27461         * lib/vasnprintf.c: Remove trailing blanks.
27462
27463 2003-08-17  Simon Josefsson  <jas@extundo.com>
27464
27465         * modules/xstrndup: New file.
27466         * MODULES.html.sh (func_all_modules): Add xstrndup.
27467
27468 2003-08-17  Simon Josefsson  <jas@extundo.com>
27469
27470         * modules/argp: Fix autoconf macro name. Add more dependencies.
27471
27472 2003-08-17  Simon Josefsson  <jas@extundo.com>
27473
27474         * m4/xstrndup.m4: New file.
27475
27476 2003-08-17  Simon Josefsson  <jas@extundo.com>
27477
27478         * m4/argp.m4: New file.
27479
27480 2003-08-17  Simon Josefsson  <jas@extundo.com>
27481             Bruno Haible  <bruno@clisp.org>
27482
27483         * lib/xstrndup.h: New file.
27484         * lib/xstrndup.c: New file.
27485
27486 2003-08-17  Bruno Haible  <bruno@clisp.org>
27487
27488         * modules/strndup (Files, Include): Add lib/strndup.h.
27489
27490 2003-08-17  Bruno Haible  <bruno@clisp.org>
27491
27492         * modules/euidaccess (Files): Add lib/euidaccess.h.
27493
27494 2003-08-17  Bruno Haible  <bruno@clisp.org>
27495
27496         * lib/strndup.h: New file.
27497
27498 2003-08-17  Bruno Haible  <bruno@clisp.org>
27499
27500         * gnulib-tool (func_create_testdir): Handle gl_USE_SYSTEM_EXTENSIONS
27501         like AC_GNU_SOURCE.
27502         * modules/extensions (configure.ac): Comment out the invocation of
27503         gl_USE_SYSTEM_EXTENSIONS.
27504
27505 2003-08-16  Paul Eggert  <eggert@twinsun.com>
27506
27507         Merges from coreutils, etc.
27508         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Insert ':' to prevent a syntax
27509         error in gl_FUNC_MATCH.  This fixes a bug I introduced on 2003-05-28.
27510         * m4/readlink.m4 (gl_PREREQ_READLINK): Renamed from gl_PREREQ_READLINE,
27511         fixing a typo.
27512         * m4/host-os.m4 (UTILS_HOST_OS): Add GNU/NetBSD, GNU/FreeBSD.
27513         * m4/hash.m4 (gl_HASH): Use AM_STDBOOL_H, not AC_HEADER_STDBOOL.
27514
27515 2003-08-16  Paul Eggert  <eggert@twinsun.com>
27516
27517         Document merge from coreutils.
27518         * modules/alloca: Append $(ALLOCA_H) to BUILT_SOURCES.
27519         * modules/fnmatch: Append $(FNMATCH_H) to BUILT_SOURCES.
27520         * modules/utime: Add m4/utimes-null.m4.
27521
27522 2003-08-16  Paul Eggert  <eggert@twinsun.com>
27523
27524         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Do not normalize white
27525         space, undoing this 2003-08-12 change:
27526         <http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00080.html>
27527
27528 2003-08-16  Paul Eggert  <eggert@twinsun.com>
27529
27530         * config/srclist.txt: Get regex.h, strdup.c, strtoll.c,
27531         strtoul.c from libc, undoing this 2003-08-12 change:
27532         <http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00080.html>
27533
27534 2003-08-16  Jim Meyering  <jim@meyering.net>
27535
27536         Merges from coreutils.
27537         * m4/readdir.m4 (GL_FUNC_READDIR): Change name to have GL_ (not jm_)
27538         prefix.  Adjust cache variables similarly.  Create 500 rather than
27539         just 300 files, to exercise bug on Darwin6.5, too.
27540         * m4/perl.m4 (jm_PERL): Use $am_missing_run, not undefined
27541         $missing_dir.
27542         * m4/jm-winsz1.m4: Require AC_SYS_POSIX_TERMIOS, not
27543         AM_SYS_POSIX_TERMIOS.
27544         Reported by mkc@mathdogs.com.
27545         Also change use of $am_cv_sys_posix_termios
27546         to $ac_cv_sys_posix_termios.  Reported by Andreas Schwab.
27547         * m4/getgroups.m4 (jm_FUNC_GETGROUPS): Rewrite to use AC_FUNC_GETGROUPS
27548         and (if needed) to call AC_LIBOBJ and to set GETGROUPS_LIB.
27549         * m4/fsusage.m4 [__GLIBC__]: GNU libc's statvfs stats each mount point
27550         in /proc/mounts until it finds one with matching device number.  This
27551         is unnecessary when the FILE argument *is* a mount point.  No stat call
27552         is necessary in that case.  So, disable the statvfs-testing code on
27553         systems with GNU libc.  Reported by Andrei Gaponenko via Tim Waugh
27554         as RedHat bug# 84846.
27555         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
27556         to 1MB, so as not to render systems with no stack size limit (e.g.,
27557         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
27558         Include <unistd.h>.  On some systems,
27559         it is required for the definition of _SC_PAGESIZE.
27560
27561 2003-08-16  Jim Meyering  <jim@meyering.net>
27562
27563         Merge from coreutils.
27564         * lib/xstrtoimax.c: #else #if -> #elif.
27565         * lib/xstrtoumax.c: Likewise.
27566
27567 2003-08-16  Jim Meyering  <jim@meyering.net>
27568
27569         * m4/utimes.m4 (gl_FUNC_UTIMES): New file.
27570         * m4/utimes.m4: Removed.
27571         * m4/utimes-null.m4: Renamed from utimes.m4.
27572
27573         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
27574         to 1MB, so as not to render systems with no stack size limit (e.g.,
27575         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
27576         Include <unistd.h>.  On some systems,
27577         it is required for the definition of _SC_PAGESIZE.
27578
27579 2003-08-16  Jim Meyering  <jim@meyering.net>
27580         and Paul Eggert  <eggert@cs.ucla.edu>
27581
27582         Merges from coreutils, etc.
27583
27584         * m4/jm-macros.m4 (AC_LANG_SOURCE(C)): New macro, undefine, then define
27585         using the latest version from cvs.  This avoids problems with #line
27586         directives using a vendor (Sun) compiler.
27587         (jm_MACROS): Bump prerequisite from 2.52g to 2.57.
27588         Don't set GETGROUPS_LIB here; now it's
27589         done via getgroups.m4's wrapper function.
27590         AC_SUBST OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, and MAN here,
27591         rather than just in sh-util/configure.in, so that the
27592         now-shared-by-fileutils-and-textutils lib/Makefile.am are all the
27593         same.
27594         Use AC_CONFIG_LIBOBJ_DIR(lib) to tell the new
27595         AC_FUNC_GETLOADAVG where to find getloadavg.c.
27596         Require AC_FUNC_FTW, gt_INTTYPES_PRI, gl_CLOCK_TIME,
27597         UTILS_SYS_OPEN_MAX, GL_FUNC_GETCWD_PATH_MAX, GL_FUNC_READDIR,
27598         gl_FSUSAGE, gl_MOUNTLIST, AC_FUNC_CANONICALIZE_FILE_NAME.
27599         Remove code that is now done by the newly-required macros.
27600         Append $(EXEEXT) to DF_PROG.
27601         AC_LIBOBJ fchdir-stub if fchdir doesn't exist; similarly for fchown.
27602         Do not invoke or require the following here,
27603         since prereq.m4 or some gnulib .m4 now does this for us:
27604         gl_REGEX, UTILS_FUNC_MKDIR_TRAILING_SLASH, jm_BISON, gl_FUNC_MKTIME,
27605         jm_FUNC_LSTAT, jm_FUNC_STAT, jm_FUNC_REALLOC, jm_FUNC_MALLOC,
27606         jm_FUNC_NANOSLEEP, jm_FUNC_READDIR, jm_FUNC_MEMCMP,
27607         jm_FUNC_GLIBC_UNLOCKED_IO, AC_FUNC_FNMATCH_GNU, jm_FUNC_PUTENV,
27608         jm_AC_PREREQ_XSTRTOUMAX, jm_AC_PREREQ_XSTRTOIMAX,
27609         AC_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, AC_FUNC_VPRINTF,
27610         vb_FUNC_RENAME, UTILS_FUNC_MKSTEP, jm_FUNC_UTIME, AM_FUNC_GETLINE,
27611         AC_FUNC_OBSTACK.
27612         Do not replace the following functions, as this is now the job
27613         of some gnulib .m4: strcasecmp, strncasecmp, dup2, gethostname,
27614         getusershell, sig2str, strcspn, stpcpy, strstr, strtol, strtoul
27615         strpbrk, euidaccess, memcmp, rmdir, rpmatch, strndup, strverscmp,
27616         atexit getpass, strdup, getpagesize.
27617         Replace 'raise'.
27618         Do not check for the following functions, as this is now the job
27619         of some gnulib .m4: bcopy, canonicalize_file_name, fchdir, ftime,
27620         getcwd, getmntinfo, resolvepath.  But check for sysctl, setreuid,
27621         setregid.
27622         (jm_CHECK_ALL_HEADERS): Do not check for fenv.h.
27623         Check for sys/sysctl.h.
27624         (jm_CHECK_ALL_TYPES): Do not require AC_STRUCT_TM, AC_STRUCT_TIMEZONE,
27625         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Invoke gt_TYPE_SSIZE_T instead
27626         of checking for ssize_t ourselves.
27627
27628         * m4/prereq.m4 (jm_PREREQ): Don't invoke macros; AC_REQUIRE them.
27629         Require every macro that gnulib/modules/* suggests for us.
27630         (jm_PREREQ_ADDEXT): New macro.
27631         (jm_PREREQ_STAT): Check for 'struct statfs' on Ultrix 4.4.
27632         Require jm_AC_TYPE_LONG_LONG instead of invoking it.
27633
27634         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): New macro.
27635         (gl_PHYSMEM): Use it.
27636         Also check for `table' function.
27637         Check for new headers and functions.
27638         Add check for sys/sysmp.h.
27639         With suggestions from Kaveh Ghazi.
27640         Ignore headers that are present but cannot be compiled.  This
27641         avoids spurious warnings on Solaris 9 sparc with Forte Developer 7
27642         C 5.4.
27643
27644 2003-08-15  Paul Eggert  <eggert@twinsun.com>
27645
27646         Document merge from coreutils.
27647         * modules/userspec: Depend on posixver.
27648         * modules/strftime: Depend on tzset.
27649
27650 2003-08-15  Paul Eggert  <eggert@twinsun.com>
27651
27652         * lib/config.charset, ref-add.sin, ref-del.sin: Use three spaces,
27653         rather than tab, after '#' in shell-script copyright notices.
27654         Suggested by Bruno Haible.
27655
27656 2003-08-15  Paul Eggert  <eggert@twinsun.com>
27657
27658         * config/srclist-update: Use three spaces, rather than tab, after '#'
27659         in shell-script copyright notices.  Suggested by Bruno Haible.
27660         Remove unnecessary parenthesization in regular expression.
27661
27662 2003-08-15  Jim Meyering  <jim@meyering.net>
27663
27664         Merge from coreutils.
27665         * lib/xgethostname.c: Include <stdlib.h>.
27666         (xghostname): Don't exit for anything other than memory-related
27667         failure; just return NULL.
27668         * lib/userspec.c: Include "posixver.h".
27669         (parse_user_spec): Accept `.' as a separator only
27670         in pre-POSIX-200112 mode.
27671         * lib/strtoimax.c: Use #elif rather than #else #if.
27672         * lib/strftime.c (my_strftime) [!_LIBC && HAVE_TZNAME && HAVE_TZSET]:
27673         Remove function, now that we can rely on a working tzset function.
27674         [!_LIBC]: Ensure that the required autoconf test has been run.
27675         [!defined _NL_CURRENT && HAVE_STRFTIME]:
27676         Use underlying_strftime for %r.
27677         * lib/sha.c: Merge in some clean-up and optimization changes from
27678         glibc.
27679         * lib/sha.c (sha_stream) [BLOCKSIZE]: Move definition to top of file.
27680         Ensure that it is a multiple of 64.
27681         Rearrange loop exit tests so as to avoid performing an
27682         additional fread after encountering an error or EOF.
27683         * lib/realloc.c: Update copyright date.
27684
27685 2003-08-15  Jim Meyering  <jim@meyering.net>
27686         and Paul Eggert  <eggert@twinsun.com>
27687
27688         Merge from coreutils.
27689         * lib/readutmp.h (HAVE_UTMPX_H): Undef if struct utmp has the ut_exit
27690         member but strut utmpx does not.  Needed for AIX 4.3.3.
27691         (UT_EXIT_E_TERMINATION, UT_EXIT_E_EXIT): Define.
27692
27693 2003-08-15  Jim Meyering  <jim@meyering.net>
27694         and Paul Eggert  <eggert@cs.ucla.edu>
27695
27696         Merges from coreutils, etc.
27697         * m4/strftime.m4 (_jm_STRFTIME_PREREQS):
27698         Require gl_FUNC_TZSET_CLOBBER.
27699         * m4/readutmp.m4 (gl_READUTMP): Check for ut_exit.ut_exit,
27700         ut_exit.e_exit, ut_exit.ut_termination, and ut_exit.e_termination
27701         members.
27702
27703 2003-08-14  Paul Eggert  <eggert@twinsun.com>
27704
27705         Help the merge from coreutils.
27706         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): New macro.
27707         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use it.
27708         * m4/tzset.m4: Use it too.
27709
27710 2003-08-14  Paul Eggert  <eggert@twinsun.com>
27711
27712         * modules/tzset: New file.
27713
27714 2003-08-14  Jim Meyering  <jim@meyering.net>
27715
27716         Merges from coreutils.
27717         * modules/fnmatch: Use the `$(FNMATCH_H)' notation for AC_REPLACED
27718         variable names, rather than @FNMATCH_H@.
27719         * modules/alloca: Likewise for $(ALLOCA_H).
27720
27721         * modules/fnmatch (fnmatch.h): Use `$@' in the commands, in place of
27722         the three copies of the literal target, `fnmatch.h'.
27723         * modules/alloca (alloca.h): Likewise.
27724
27725 2003-08-14  Jim Meyering  <jim@meyering.net>
27726
27727         Merge from coreutils.
27728         * m4/tzset.m4: New file.
27729         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Move the
27730         MOUNTED_VMOUNT test to precede the MOUNTED_GETMNTENT1 tests, since
27731         otherwise, AIX 5.1 systems would end up using the latter.
27732         MOUNTED_GETMNTENT1 support is inadequate on such systems: 1) detecting
27733         whether a file system is remote doesn't work  2) the MOUNTED_VMOUNT
27734         code reports the HOSTNAME:/MOUNT_POINT, while the MOUNTED_GETMNTENT1
27735         code reports merely /MOUNT_POINT.  Reported by Mike Jetzer.
27736
27737 2003-08-14  Jim Meyering  <jim@meyering.net>
27738
27739         Merge from coreutils.
27740         * lib/obstack.h: Whitespace changes.
27741         * lib/mountlist.c: Remove anachronistic casts of xmalloc, xrealloc,
27742         and xcalloc return values.
27743         (read_filesystem_list) [MOUNTED_GETFSSTAT]:
27744         Use MNT_NOWAIT, rather than MNT_WAIT.  Otherwise, `df DIR' could
27745         hang on OSF/1 5.1 for DIR on both local and remote file systems.
27746         Reported by (and fix confirmed by) Nelson H. F. Beebe.
27747         (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
27748         error from mntctl.
27749         Use mntctl's return value to drive the entry-processing loop, since
27750         we can't rely on the value of the vmt_length member in the last
27751         entry.  On some systems doing so could result in exhausting
27752         virtual memory.  Based in part on a patch from Mike Jetzer.
27753
27754 2003-08-14  Jim Meyering  <jim@meyering.net>
27755         and Paul Eggert  <eggert@twinsun.com>
27756
27757         Merges from coreutils, plus other fixes.
27758         * lib/physmem.c: Merge in portability changes from gcc/libiberty
27759         to support AIX, IRIX, Tru64, and Windows.  See the ChangeLog there
27760         for credits and details.  Thanks to Kaveh Ghazi for helping
27761         to keep these files in sync.
27762         (ARRAY_SIZE): Define it.
27763         (physmem_total, physmem_available): Add comments. From Kaveh Ghazi.
27764         * lib/memcasecmp.c: Remove unnecessary parentheses after 'defined'.
27765         (memcasecmp): Don't assume size_t fits in unsigned int.
27766         Remove casts and duplicate code.
27767         * lib/md5.c: Include <string.h> and <stdlib.h> unconditionally.
27768         (memcpy): Remove definition.
27769         Merge in some clean-up and optimization changes from glibc.
27770         [BLOCKSIZE]: Move definition to top of file.
27771         Ensure that it is a multiple of 64.
27772         Rearrange loop exit tests so as to avoid performing an
27773         additional fread after encountering an error or EOF.
27774         * lib/md5.h (md5_uintptr): Define.
27775         * lib/makepath.c (CLEANUP_CWD): Report an error if we failed to
27776         return to the initial working directory.  Preserve errno
27777         for caller.
27778         * lib/idcache.c: Include "xalloc.h".
27779         (xmalloc, xrealloc): Remove decls.
27780         (getuser): Remove casts no longer required in C89.
27781         * lib/human.c: Include stdio.h, for sprintf.
27782         * lib/group-member.c: Include "xalloc.h".
27783         (xmalloc, xrealloc): Remove decls.
27784         (get_group_info): Remove casts no longer required in C89.
27785         * lib/getusershell.c (readname): Remove casts no longer required in
27786         C89.
27787         * lib/gettimeofday.c (rpl_gmtime, rpl_tzset): New functions.
27788         * lib/getline.c: Whitespace fix, from coreutils.
27789
27790 2003-08-13  Paul Eggert  <eggert@twinsun.com>
27791
27792         * m4/exclude.m4 (gl_EXCLUDE): Require AC_C_INLINE, AC_HEADER_STDC.
27793         Check for isascii.
27794
27795         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
27796         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
27797         Undo previous (whitespace-only) change.
27798
27799 2003-08-13  Paul Eggert  <eggert@twinsun.com>
27800
27801         * lib/exclude.c: Include <ctype.h>
27802         (IN_CTYPE_DOMAIN): New macro.
27803         (is_space): New fn.
27804         (add_exclude_file): If LINE_END is a space, ignore trailing spaces
27805         and empty lines.
27806
27807         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
27808         Undo previous (whitespace-only) change.
27809
27810 2003-08-13  Paul Eggert  <eggert@twinsun.com>
27811
27812         * config/srclist-update: Change update back to the old behavior,
27813         leaving whitespace alone.  Use one 'sed' command rather than a
27814         pipeline.
27815         (fixlicense): Now a variable, not a function.
27816         (remove_trailing_blanks): Remove.
27817         (fixfile): Don't invoke unexpand or cat, or remove trailing blanks.
27818         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
27819         Undo previous (whitespace-only) change.
27820
27821 2003-08-12  Paul Eggert  <eggert@twinsun.com>
27822
27823         Merge from coreutils.
27824         * modules/euidaccess: Add lib_SOURCES, include for new
27825         file euidaccess.h
27826
27827 2003-08-12  Paul Eggert  <eggert@twinsun.com>
27828
27829         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
27830         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
27831         Normalize leading white space and remove trailing white space.
27832
27833         Merge from coreutils
27834         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Check for euidaccess decl.
27835
27836         * m4/lib-ld.m4, lib-link.m4, lib-prefix.m4: Regenerate from gettext
27837         0.12.1.  These files are now being upgraded automatically by
27838         ../config/srclist-update.
27839
27840 2003-08-12  Paul Eggert  <eggert@twinsun.com>
27841
27842         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
27843         Normalize leading white space and remove trailing white space.
27844         * lib/ref-add.sin, ref-del.sin: Use '#' before empty line in copyright
27845         notice, as per ../config/srclist-update.
27846
27847         Merge from coreutils.
27848         * lib/euidaccess.h: New file.
27849         * lib/euidaccess.c: Include it.
27850         * lib/.cppi-disable: Add printf-args.h, printf-parse.h, stdbool_.h,
27851         vasnprintf.h, vasprintf.h.  Remove strdup.c, gettext.h.
27852         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Normalize white space.
27853
27854 2003-08-12  Paul Eggert  <eggert@twinsun.com>
27855
27856         * config/srclist-update: Add copyright notice.
27857         (remove_id_lines, remove_trailing_blanks): New constants.
27858         (fixfile): Use them to normalize spacing a bit in copied files.
27859         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
27860         Normalize leading white space and remove trailing white space.
27861
27862         * config/texinfo.tex: Sync with texinfo.
27863
27864         * config/srclist.txt: Don't get regex.h, strdup.c, strtoll.c,
27865         strtoul.c from libc, to merge coreutils whitespace changes.
27866
27867         * config/srclist.txt: Get the following m4 files from gettext:
27868         codeset.m4, gettext.m4, glibc21.m4, iconv.m4, intdiv0.m4,
27869         inttypes-pri.m4, lcmessage.m4, lib-ld.m4, lib-link.m4, lib-prefix.m4,
27870         longdouble.m4, nls.m4, po.m4, progtest.m4, signed.m4, wchar_t.m4,
27871         wint_t.m4.
27872
27873 2003-08-12  Karl Berry  <karl@gnu.org>
27874
27875         * config/srclist.txt: can't sync vasnprintf.c any more, changes have
27876         been made.
27877
27878 2003-08-11  Paul Eggert  <eggert@twinsun.com>
27879
27880         * modules/gnu-source, m4/gnu-source.m4:
27881         Remove; we're assuming Autoconf 2.54 or later now.
27882         Suggested by Bruno Haible.
27883         * MODULES.html.sh (func_all_modules): Remove gnu-source.
27884
27885 2003-08-11  Bruno Haible  <bruno@clisp.org>
27886
27887         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Also check for wcslen.
27888
27889 2003-08-11  Bruno Haible  <bruno@clisp.org>
27890
27891         * lib/vasnprintf.c (local_wcslen): New function, for Solaris 2.5.1.
27892         (vasnprintf): Use it instead of wcslen.
27893
27894 2003-08-11  Bruno Haible  <bruno@clisp.org>
27895
27896         * lib/stdbool_.h (_Bool): Undo last change; instead use a negative enum
27897         value to ensure that _Bool promotes to int. Use #define for _Bool when
27898         using the Solaris C compiler. Adds comments suggested by Paul Eggert.
27899
27900 2003-08-10  Karl Berry  <karl@gnu.org>
27901
27902         * lib/regex.h: update from libc (whitespace fix).
27903
27904 2003-08-09  Paul Eggert  <eggert@twinsun.com>
27905
27906         Merge some files from coreutils.  These changes were
27907         originally made by Jim Meyering.
27908         * lib/acl.c: Include <sys/types.h> before <sys/stat.h>;
27909         many older Unixes require this.
27910         * lib/alloca.c (alloca): Remove cast to argument of free;
27911         no longer needed in C89.
27912         * lib/alloca_.h, regex.h: Fix white space to match
27913         what GNU indent does.
27914
27915 2003-08-09  Paul Eggert  <eggert@twinsun.com>
27916
27917         * m4/regex.m4 (jm_INCLUDED_REGEX): Change "\201" to "\371";
27918         apparently Emacs's Unicode mode got confused before my 2003-08-05
27919         checkin.
27920
27921 2003-08-08  Paul Eggert  <eggert@twinsun.com>
27922
27923         * m4/extensions.m4: New file.
27924         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC):
27925         Require gl_USE_SYSTEM_EXTENSIONS.
27926         * m4/unlocked-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO):
27927         Require gl_USE_SYSTEM_EXTENSIONS rather than AC_GNU_SOURCE.
27928
27929 2003-08-08  Paul Eggert  <eggert@twinsun.com>
27930
27931         * MODULES.html.sh (func_all_modules): Add extensions, gnu-source.
27932         * modules/extensions, modules/gnu-source: New files.
27933         * modules/timespec, modules/unlocked-io: Depend on extensions.
27934
27935 2003-08-07  Paul Eggert  <eggert@twinsun.com>
27936
27937         * modules/restrict: New file.
27938         * MODULES.html.sh (func_all_modules): Add restrict.
27939         * modules/regex: Depend on restrict.
27940
27941 2003-08-07  Paul Eggert  <eggert@twinsun.com>
27942
27943         * m4/restrict.m4: New file.
27944         * m4/regex.m4 (jm_PREREQ_REGEX): Add gl_C_RESTRICT.
27945
27946 2003-08-07  Bruno Haible  <bruno@clisp.org>
27947
27948         * modules/getndelim2 (Makefile.am): Add the files to EXTRA_DIST, not
27949         lib_SOURCES, because getndelim2.m4 now uses AC_LIBOBJ(getndelim2).
27950
27951 2003-08-07  Bruno Haible  <bruno@clisp.org>
27952
27953         * m4/getndelim2.m4 (gl_GETNDELIM2): Use AC_LIBOBJ(getndelim2). This
27954         makes the module 'getndelim2' compatible with the module 'getline'.
27955
27956 2003-08-05  Paul Eggert  <eggert@twinsun.com>
27957
27958         * m4/regex.m4 (jm_INCLUDED_REGEX): Replace a single non-ASCII
27959         byte with "\201" to avoid glitches when editing that source file
27960         with multi-gnome-terminal.
27961
27962 2003-08-05  Paul Eggert  <eggert@twinsun.com>
27963
27964         * lib/bumpalloc.h: Remove.
27965
27966 2003-08-05  Paul Eggert  <eggert@twinsun.com>
27967
27968         * MODULES.html.sh (func_all_modules): Remove bumpalloc.
27969         * modules/bumpalloc: Remove.
27970
27971 2003-08-04  Paul Eggert  <eggert@twinsun.com>
27972
27973         * lib/getloadavg.c: Change copyright notice and spacing to conform to
27974         GNU coding style.
27975
27976         Merge from coreutils.
27977         * lib/error.c [!USE_IN_LIBIO]: Omit this case; assume USE_IN_LIBIO is
27978         1. From glibc.
27979         * lib/getdate.y (date): Also accept dates like May-23-2003; suggestion
27980         from Karl Berry, implemented by Jim Meyering.
27981         * lib/getgroups.c: Include "xalloc.h" instead of declaring xalloc fns;
27982         from Dmitry V. Levin.
27983         Remove anachronistic cast of xrealloc.
27984         * lib/fnmatch_.h (__const): Remove.  Use 'const'.
27985         * lib/fnmatch_loop.c (NEW_PATTERN): Cast alloca return value to proper
27986         type. Otherwise, it wouldn't compile with at least /bin/cc on
27987         ymp-cray-unicos9.0.2.X.
27988         Combine two mostly-identical uses of alloca into one.
27989         Thanks to the Cray-Cyber project for access to a Cray Y-MP.
27990
27991 2003-08-04  Dave Love  <d.love@dl.ac.uk>
27992
27993         [From Emacs.]
27994
27995         * lib/getloadavg.c: Check `__unix' as well as `unix'.  Use #ifdef, not
27996         #if.  Check HAVE_LIBKSTAT as well as LOAD_AVE_TYPE.  Check
27997         F_SETFD, not FD_SETFD.  Use HAVE_STRUCT_NLIST_N_UN_N_NAME, not
27998         obsolete NLIST_NAME_UNION.
27999         [__GNU__]: Undef BSD and FSCALE.
28000         [!NLIST_STRUCT]: Remove conditional definition of NLIST_STRUCT.
28001
28002 2003-08-03  Paul Eggert  <eggert@twinsun.com>
28003
28004         * lib/stdbool_.h (_Bool): Make it signed char, instead of
28005         an enum type, so that it's guaranteed to promote to int.  See:
28006         <http://mail.gnu.org/archive/html/bug-gnulib/2003-07/msg00124.html>
28007
28008 2003-08-03  Karl Berry  <karl@gnu.org>
28009
28010         * config/depcomp: update from automake.
28011
28012 2003-07-31  Paul Eggert  <eggert@twinsun.com>
28013
28014         * lib/strerror.c: Include config.h, limits.h.  Declare sprintf.
28015         (strerror): Don't assume that a printable int fits in 14 bytes.
28016
28017 2003-07-31  Bruno Haible  <bruno@clisp.org>
28018
28019         * modules/getpass-gnu: New file.
28020         * MODULES.html.sh (func_all_modules): Add getpass-gnu.
28021
28022 2003-07-31  Bruno Haible  <bruno@clisp.org>
28023
28024         * m4/getpass.m4 (gl_FUNC_GETPASS_GNU): New macro.
28025
28026 2003-07-24  Karl Berry  <karl@gnu.org>
28027
28028         * config/missing: update from automake.
28029
28030 2003-07-24  Derek Robert Price  <derek@ximbiot.com>
28031             Bruno Haible  <bruno@clisp.org>
28032
28033         * lib/getline.h (getline, getdelim): Change return type to ssize_t.
28034         * lib/getline.c (getline, getdelim): Likewise.
28035         Remove _GNU_SOURCE define; now it's defined in config.h through
28036         m4/getline.m4.
28037
28038 2003-07-23  Karl Berry  <karl@gnu.org>
28039
28040         * config/config.sub: update from prep.
28041
28042 2003-07-22  Paul Eggert  <eggert@twinsun.com>
28043
28044         * modules/xalloc (Depends-on): Add exitfail.
28045         * modules/xmemcoll: Likewise.
28046
28047 2003-07-22  Paul Eggert  <eggert@twinsun.com>
28048
28049         * lib/xalloc.h (XCALLOC, XREALLOC, CCLONE): Fix under- and
28050         over-parenthesization in macros.
28051
28052         Sync with coreutils.
28053
28054         * lib/xalloc.h (XMALLOC, XCALLOC, XREALLOC): Remove casts not
28055         required by C99.
28056
28057         Use `exit_failure' for xalloc and xmemcoll instead of their own
28058         private exit-failure variables.
28059         * lib/xalloc.h (xalloc_exit_failure): Remove.
28060         * lib/xmalloc.c: Likewise.  Include exitfail.h.
28061         (xalloc_die): Use exit_failure instead of xalloc_exit_failure.
28062         * lib/xmemcoll.h (xmemcoll_exit_failure): Remove.
28063         * lib/xmemcoll.c: Likewise.  Include exitfail.h.
28064         (xmemcoll): Use exit_failure instead of xalloc_exit_failure.
28065
28066 2003-07-20  Jim Meyering  <jim@meyering.net>
28067
28068         * modules/closeout (Depends-on): Add exitfail.
28069         Suggestion from Bruno Haible.
28070
28071 2003-07-19  Karl Berry  <karl@gnu.org>
28072
28073         * config/config.sub: update from prep.
28074
28075 2003-07-18  Paul Eggert  <eggert@twinsun.com>
28076
28077         * lib/closeout.h (close_stdout_set_status, close_stdout_status):
28078         Remove.
28079         * lib/closeout.c: Likewise.  Include "closeout.h" right after config.h,
28080         to test that it can stand by itself.  Include "exitfail.h".
28081         Clients should set exit_failure instead.
28082         (EXIT_FAILURE): Remove; no longer needed.  Do not include <stdlib.h>.
28083
28084 2003-07-18  Bruno Haible  <bruno@clisp.org>
28085
28086         * modules/getndelim2: New file.
28087         * modules/getline: Share files with module getndelim2.
28088         * modules/getnline: Depend on getndelim2 instead of sharing files with
28089         it. Add getnline.c to lib_SOURCES.
28090         * MODULES.html.sh (func_all_modules): Add getndelim2.
28091
28092 2003-07-18  Bruno Haible  <bruno@clisp.org>
28093
28094         * m4/getndelim2.m4: New file.
28095         * m4/getline.m4 (AM_FUNC_GETLINE): Add AC_LIBOBJ of getndelim2.c and
28096         invoke gl_PREREQ_GETNDELIM2.
28097         (gl_PREREQ_GETLINE): Drop AC_HEADER_STDC, now done by
28098         gl_PREREQ_GETNDELIM2.
28099         * m4/getnline.m4 (gl_GETNLINE): Drop AC_HEADER_STDC, now done by
28100         gl_GETNDELIM2.
28101
28102 2003-07-18  Bruno Haible  <bruno@clisp.org>
28103
28104         * lib/getndelim2.h: New file.
28105         * lib/getndelim2.c: Make into a module of its own. Include config.h,
28106         getndelim2.h.
28107         (getndelim2): Make non-static. Change return type to ssize_t.
28108         * lib/getline.h: Change argument names.
28109         * lib/getline.c: Include getndelim2.h instead of getndelim2.c.
28110         * lib/getnline.c: Include getndelim2.h.
28111
28112 2003-07-18  Andreas Schwab  <schwab@suse.de>
28113
28114         * lib/memcoll.c (memcoll) [!HAVE_STRCOLL]: Clear errno.
28115
28116 2003-07-17  Karl Berry  <karl@gnu.org>
28117
28118         * config/config.sub: update from prep.
28119
28120 2003-07-17  Bruno Haible  <bruno@clisp.org>
28121
28122         * modules/getnline: New file.
28123         * modules/getline: Add lib/getndelim2.c to source file list.
28124         * MODULES.html.sh (func_all_modules): Add getnline.
28125
28126 2003-07-17  Bruno Haible  <bruno@clisp.org>
28127
28128         * m4/getnline.m4: New file.
28129
28130 2003-07-17  Bruno Haible  <bruno@clisp.org>
28131
28132         * m4/Makefile.am.in: Remove file.
28133         * m4/Makefile.am: Remove file.
28134         * m4/Makefile.in: Remove file.
28135
28136 2003-07-17  Bruno Haible  <bruno@clisp.org>
28137
28138         * lib/getnline.h: New file.
28139         * lib/getnline.c: New file.
28140         * lib/getndelim2.c: New file, extracted from getline.c.
28141         (getndelim2): Renamed from getdelim2, with added nmax argument.
28142         * lib/getline.c: Include getndelim2.c.
28143         (getdelim2): Moved out to getndelim2.c.
28144         (getline, getdelim): Update.
28145
28146 2003-07-17  Bruno Haible  <bruno@clisp.org>
28147
28148         * lib/Makefile.am: Remove file.
28149         * lib/Makefile.in: Remove file.
28150
28151 2003-07-17  Bruno Haible  <bruno@clisp.org>
28152
28153         * configure.in: Remove file.
28154         * Makefile.in: Remove file.
28155
28156 2003-07-17  Bruno Haible  <bruno@clisp.org>
28157
28158         * MODULES.html.sh: Put the </BODY> right before </HTML>.
28159
28160 2003-07-16  Karl Berry  <karl@gnu.org>
28161
28162         * config/srclist-update: was running fixlicense twice, which caused
28163                 texinfo.tex to be nullified for some reason.  Simplify,
28164                 $gplsrc is no longer needed as far as I can see?
28165
28166 2003-07-16  Jim Meyering  <jim@meyering.net>
28167
28168         * modules/save-cwd: Depend on xgetcwd.  From Derek Price.
28169
28170 2003-07-15  Paul Eggert  <eggert@twinsun.com>
28171
28172         * config/srclist.txt: Get the following files from gettext-runtime/intl
28173         instead: config.charset, localcharset.c, localcharset.h, ref-add.sin,
28174         ref-del.sin.  From Bruno Haible.
28175         * config/srclist-update (fixfile): Change grep pattern again, since the
28176         previous fix didn't work (there was another trailing $).  Use
28177         '[$]' to escape the $s.
28178
28179 2003-07-15  Karl Berry  <karl@gnu.org>
28180
28181         * lib/vasnprintf.c: update from gettext.
28182
28183 2003-07-15  Karl Berry  <karl@gnu.org>
28184
28185         * config/srclist-update (fixfile): Change grep pattern, since 'Id'
28186         gets expanded when surrounded by '$'.
28187
28188 2003-07-15  Jim Meyering  <jim@meyering.net>
28189
28190         * modules/save-cwd: Don't depend on error.  From Derek Price.
28191
28192 2003-07-15  Jim Meyering  <jim@meyering.net>
28193
28194         * lib/makepath.c (make_path): Enclose diagnostic in _(...).
28195
28196 2003-07-14  Simon Josefsson  <jas@extundo.com>
28197
28198         * modules/mempcpy: New file.
28199         * MODULES.html.sh (func_all_modules): Add mempcpy.
28200
28201 2003-07-14  Simon Josefsson  <jas@extundo.com>
28202
28203         * m4/mempcpy.m4: New file.
28204
28205 2003-07-14  Simon Josefsson  <jas@extundo.com>
28206
28207         * lib/mempcpy.h: New file.
28208         * lib/mempcpy.c: New file.
28209
28210 2003-07-14  Paul Eggert  <eggert@twinsun.com>
28211
28212         * modules/getdate, modules/posixtm: Depend on mktime.
28213
28214 2003-07-14  Paul Eggert  <eggert@twinsun.com>
28215
28216         * lib/ceill.c, expl.c, floorl.c, frexpl.c, ldexpl.c, mathl.h,
28217         sincosl.c, sqrtl.c, trigl.c, trigl.h, poll.c, poll_.h, mkstemp.c,
28218         unicodeio.c, unicodeio.h, unlocked-io.h:
28219         Switch from LGPL to GPL.
28220
28221 2003-07-14  Paul Eggert  <eggert@twinsun.com>
28222
28223         * lib/asnprintf.c, asprintf.c, config.charset, gettext.h,
28224         localcharset.c, localcharset.h, mkdtemp.c, printf-args.c,
28225         printf-args.h, printf-parse.c, printf-parse.h, ref-add.sin,
28226         ref-del.sin, setenv.c, unsetenv.c, vasnprintf.c, vasnprintf.h,
28227         vasprintf.c, vasprintf.h: Regenerate.  These files are now being
28228         updated automatically by ../config/srclist-update.  This changes
28229         their license from LPGL to GPL.
28230
28231 2003-07-14  Paul Eggert  <eggert@twinsun.com>
28232
28233         * config/srclist.txt: Add tons more gettext files.  $GETTEXT is now
28234         assumed to refer to the root of the most recent stable gettext version.
28235         * config/srclistvars.sh: Add defaults for eggert.
28236         * config/srclist-update: Convert LGPL to GPL in shell scripts, too.
28237         Match "This program" as well as "The program".  This is needed
28238         for gettext.
28239
28240 2003-07-14  Jim Meyering  <jim@meyering.net>
28241
28242         Don't emit diagnostics.  Let callers do that.
28243         * lib/save-cwd.c: Don't include "error.h".
28244         (save_cwd): Don't call error.  Ensure that errno is valid
28245         when returning nonzero.
28246
28247         * lib/save-cwd.h (restore_cwd): Update prototype.
28248         * lib/save-cwd.c (restore_cwd): Remove two parameters.
28249         Simplify.  Don't call error upon failure.  Let callers do that.
28250         (save_cwd): Mention that Irix 5.3 has the same problem as SunOS 4
28251         when auditing is enabled.  But don't bother updating the #if.
28252
28253 2003-07-11  Alexandre Duret-Lutz  <adl@gnu.org>
28254
28255         * lib/obstack.h (__INT_TO_PTR): Revert change of 2003-03-13;
28256         it breaks C++ compilation.
28257         [!__GNUC__ || !__STDC__] (obstack_finish): Cast result to void*.
28258
28259 2003-07-10  Simon Josefsson  <jas@extundo.com>
28260
28261         * modules/strchrnul (Makefile.am): Add strchrnul.h.
28262
28263 2003-07-10  Jim Meyering  <jim@meyering.net>
28264
28265         * m4/clock_time.m4: Remove trailing blank.
28266         * m4/intmax_t.m4: Likewise.
28267
28268 2003-07-10  Jim Meyering  <jim@meyering.net>
28269
28270         * lib/vasnprintf.c: Remove trailing blanks.
28271         Make cpp indentation consistent.
28272
28273 2003-07-09  Paul Eggert  <eggert@twinsun.com>
28274
28275         * lib/alloca_.h, euidaccess.c, getpass.c, memrchr.c, obstack.h,
28276         posixver.c, strftime.c, strnlen.c, strverscmp.c:
28277         Switch from LGPL to GPL.
28278
28279 2003-07-09  Paul Eggert  <eggert@twinsun.com>
28280
28281         * config/srclist.txt: Sort sublists.  Add
28282         $LIBCSRC/sysdeps/generic/strtoul.c. In comments, add more libc files
28283         that differ from gnulib for one reason or another; we'd like this list
28284         to be smaller but for now let's document what we have.
28285
28286 2003-07-08  Paul Eggert  <eggert@twinsun.com>
28287
28288         * config/srclist-update: Port to POSIX 1003.1-2001 hosts by avoiding
28289         the use of GNU extensions.  Change "x=`eval echo $x`" to the shorter
28290         and sweeter "eval x=$x".
28291         * config/srclist.txt: Get lib/argp* from glibc.
28292
28293 2003-07-07  Paul Eggert  <eggert@twinsun.com>
28294
28295         * lib/mktime.c: Fix some boundary cases and remove need for floating
28296         point.
28297
28298         Issue a compile-time diagnostic if time_t is floating point, or if
28299         two's complement arithmetic is not in effect, or if arithmetic
28300         right shift does not propagate the sign.  These assumptions were
28301         all in the original code but they weren't checked.
28302
28303         (TIME_T_MIDPOINT, verify): New macros.
28304         (__isleap): Remove; it has integer overflow problems.
28305         (leapyear): New function, without those problems.
28306         (ydhms_tm_diff): Remove; splitting into two parts.
28307         (ydhms_diff): New function, containing the arithmetic part of
28308         the old ydhms_tm_diff function.  Issue a compile-time
28309         diagnostic if we are not using C99 integer division.
28310         Avoid casts when possible.
28311         (guess_time_tm): New function, containing the checking part of
28312         the old ydhms_tm_diff function.  Return the new value, rather than
28313         the difference between it and the old.  Accept a new argument T
28314         so that *T specifies the old value.  Check for overflow in the result.
28315
28316         (__mktime_internal): Use a time_t offset, not a long int offset.
28317         This undoes the 2003-06-04 change, which is no longer needed now
28318         that we have better overflow checking.
28319         (localtime_offset): Likewise.
28320
28321         (__mktime_internal): Avoid harmful overflow on hosts where time_t
28322         and long are 64-bit but int is only 32-bit.
28323         (ydhms_diff): Use long int to store year1 and yday1.
28324         Issue a compile-time diagnostic if long int is not wide enough.
28325
28326         (__mktime_internal): Use long int to store adjusted year and yday.
28327         Use plain C rather than preprocessor commands, if that doesn't
28328         affect efficiency.
28329         Check for overflow (and try to repair) after each probe
28330         rather than checking only at the very end.  This avoids some bugs
28331         (e.g., southern hemisphere, behind GMT, and GMT offset at minimum time
28332         does not equal GMT offset at maximum time).
28333         Use integer to check for overflow rather than floating point; this
28334         is more portable to non-IEEE hosts, and is a tad faster.
28335         When we detect that we are oscillating between two values,
28336         don't check whether tm_isdst has the requested value, since
28337         we already know the answer.  When tm_isdst has the wrong value,
28338         use a different heuristic to find the right one, based on the
28339         extreme values actually observed in practice in tz2003a,
28340         rather than the (overly optimistic) "previous 3 calendar quarters".
28341
28342         (not_equal_tm, print_tm, check_result): Use "const T" rather than
28343         "T const" to accommodate glibc style.
28344         (check_result): Use less-confusing report format.  "long" -> "long int.
28345         (main): Likewise.
28346         Don't loop if the iteration overflows time_t.
28347         Allow a negative step in the iteration.
28348
28349 2003-07-06  Karl Berry  <karl@gnu.org>
28350
28351         * config/depcomp: update from automake.
28352         * config/config.sub: update from prep.
28353
28354 2003-07-03  Karl Berry  <karl@gnu.org>
28355
28356         * config/config.guess: update from prep.
28357
28358 2003-07-01  Paul Eggert  <eggert@twinsun.com>
28359
28360         * m4/xreadlink.m4 (gl_XREADLINK): Don't check for sys/types.h, since
28361         xreadlink.c now includes it unconditionally.
28362
28363 2003-07-01  Paul Eggert  <eggert@twinsun.com>
28364
28365         * lib/xreadlink.c: Include <sys/types.h> unconditionally, instead of
28366         having it depend on HAVE_SYS_TYPES_H.
28367
28368 2003-07-01  Bruno Haible  <bruno@clisp.org>
28369
28370         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Don't include <unistd.h>.
28371         <sys/types.h> should be sufficient.
28372         Reported by Paul Eggert.
28373
28374 2003-06-26  Karl Berry  <karl@gnu.org>
28375
28376         * config/depcomp: update from automake.
28377
28378 2003-06-26  Bruno Haible  <bruno@clisp.org>
28379
28380         * modules/human: Depend on module stdbool.
28381
28382 2003-06-25  Bruno Haible  <bruno@clisp.org>
28383
28384         * modules/readlink: New file.
28385         * modules/xreadlink: Depend on it.
28386         * MODULES.html.sh (func_all_modules): Add readlink.
28387
28388 2003-06-25  Bruno Haible  <bruno@clisp.org>
28389
28390         * m4/readlink.m4: New file.
28391
28392 2003-06-25  Bruno Haible  <bruno@clisp.org>
28393
28394         * lib/readlink.c: New file.
28395
28396 2003-06-22  Karl Berry  <karl@gnu.org>
28397
28398         * config/srclist.txt: update mkinstalldirs from automake.
28399         * config/mkinstalldirs: update.
28400
28401 2003-06-22  Bruno Haible  <bruno@clisp.org>
28402
28403         Portability to mingw32.
28404         * m4/ssize_t.m4: New file, from GNU gettext.
28405         * m4/safe-read.m4 (gl_PREREQ_SAFE_READ): Require gt_TYPE_SSIZE_T.
28406         * m4/xreadlink.m4 (gl_XREADLINK): Require gt_TYPE_SSIZE_T.
28407
28408 2003-06-22  Bruno Haible  <bruno@clisp.org>
28409
28410         * modules/safe-read: Add m4/ssize_t.m4.
28411         * modules/xreadlink: Add m4/ssize_t.m4.
28412
28413 2003-06-20  Bruno Haible  <bruno@clisp.org>
28414
28415         Assume C89, so PARAMS isn't needed.
28416         * lib/unicodeio.h (PARAMS): Remove.
28417         * lib/unicodeio.c: Don't use PARAMS.
28418
28419 2003-06-18  Karl Berry  <karl@gnu.org>
28420
28421         * config/config.{guess,sub}: update from prep.
28422
28423 2003-06-18  Jim Meyering  <jim@meyering.net>
28424
28425         Merge changes from coreutils.
28426         * lib/readutmp.c: Include <string.h> and <stdlib.h> unconditionally.
28427         Remove explicit declarations of xmalloc and realloc.
28428         Include xalloc.h.
28429         (read_utmp): Remove anachronistic cast of xmalloc.
28430
28431 2003-06-17  Paul Eggert  <eggert@twinsun.com>
28432
28433         Assume C89, so PARAMS isn't needed.
28434         * lib/backupfile.h (PARAMS): Remove.  All uses removed.
28435         * lib/closeout.h, lib/dirname.h, lib/filemode.h, lib/fsusage.h,
28436         lib/getdate.h, lib/getline.h, lib/group-member.h, lib/hard-locale.h,
28437         lib/hash.h, lib/linebuffer.h, lib/long-options.h, lib/makepath.h,
28438         lib/memcasecmp.h, lib/memcoll.h, lib/modechange.h, lib/mountlist.h,
28439         lib/path-concat.h, lib/physmem.h, lib/posixtm.h, lib/quote.h,
28440         lib/readutmp.h, lib/same.h, lib/save-cwd.h, lib/savedir.h,
28441         lib/stdio-safer.h, lib/strtoimax.c, lib/strverscmp.h,
28442         lib/unistd-safer.h, lib/version-etc.h, lib/xalloc.h, lib/xreadlink.h,
28443         lib/xstrtod.h, lib/xstrtol.h: Likewise.
28444         * lib/filemode.h, lib/hard-locale.h, lib/memcoll.h, lib/modechange.h,
28445         lib/physmem.h, lib/same.h, lib/strverscmp.h: Do not include config.h;
28446         no longer needed. Anyway, config.h should always be included before any
28447         other file.
28448
28449 2003-06-11  Simon Josefsson  <jas@extundo.com>
28450
28451         * modules/sysexits: New file.
28452         * MODULES.html.sh (func_all_modules): Add sysexits.
28453
28454 2003-06-11  Simon Josefsson  <jas@extundo.com>
28455
28456         * lib/sysexit_.h: New file.
28457
28458 2003-06-11  Derek Price  <derek@ximbiot.com>
28459
28460         * lib/stat.c [LSTAT]: Compile/use slash_aware_lstat only if it is
28461         necessary.
28462
28463 2003-06-11  Bruno Haible  <bruno@clisp.org>
28464
28465         * m4/sysexits.m4: New file.
28466
28467 2003-06-10  Simon Josefsson  <jas@extundo.com>
28468
28469         * lib/argp.h: New file, from glibc.
28470         * lib/argp-ba.c: New file, from glibc.
28471         * lib/argp-eexst.c: New file, from glibc.
28472         * lib/argp-fmtstream.c: New file, from glibc.
28473         * lib/argp-fmtstream.h: New file, from glibc.
28474         * lib/argp-fs-xinl.c: New file, from glibc.
28475         * lib/argp-help.c: New file, from glibc.
28476         * lib/argp-namefrob.h: New file, from glibc.
28477         * lib/argp-parse.c: New file, from glibc.
28478         * lib/argp-pv.c: New file, from glibc.
28479         * lib/argp-pvh.c: New file, from glibc.
28480         * lib/argp-xinl.c: New file, from glibc.
28481
28482 2003-06-10  Simon Josefsson  <jas@extundo.com>
28483
28484         * modules/strchrnul: New file.
28485
28486 2003-06-10  Simon Josefsson  <jas@extundo.com>
28487
28488         * modules/argp: New file.
28489
28490 2003-06-10  Simon Josefsson  <jas@extundo.com>
28491
28492         * m4/strchrnul.m4: New file.
28493
28494 2003-06-10  Simon Josefsson  <jas@extundo.com>
28495
28496         * lib/strchrnul.h: New file.
28497         * lib/strchrnul.c: New file.
28498
28499 2003-06-10  Bruno Haible  <bruno@clisp.org>
28500
28501         * MODULES.html.sh (func_all_modules): Add strchrnul and argp.
28502
28503 2003-06-07  Karl Berry  <karl@gnu.org>
28504
28505         * config/config.{guess,sub}: update from prep.
28506
28507 2003-06-07  Jim Meyering  <jim@meyering.net>
28508
28509         * modules/strtod: Use $(...) notation, not @...@ for
28510         AC_REPLACE'd variables.
28511         * modules/localcharset: Likewise.
28512
28513 2003-06-07  Jim Meyering  <jim@meyering.net>
28514
28515         * lib/readtokens.h: Put `Free Software Foundation, Inc.'
28516         in place of my name in the copyright comment.
28517         Remove definition and uses of __P.
28518
28519         From coreutils.
28520         * lib/stat.c: Don't declare xmalloc explicitly.
28521         Instead, include "xalloc.h".
28522         * lib/readtokens.c (readtokens): Remove anachronistic casts of xmalloc,
28523         xrealloc, and xcalloc return values.
28524         * lib/xgetcwd.c (xgetcwd): Include "xgetcwd.h".
28525         Improve comment.
28526         * lib/xgetcwd.h: Remove definition/uses of PARAMS.
28527
28528 2003-06-07  Bruno Haible  <bruno@clisp.org>
28529
28530         * modules/poll (Makefile.am): Use explicit creation rule for poll.h, to
28531         avoid AC_CONFIG_LINKS.
28532         * modules/fnmatch (Makefile.am): Use explicit creation rule for
28533         fnmatch.h, to avoid AC_CONFIG_LINKS.
28534         * modules/alloca (Makefile.am): Make creation of alloca.h Ctrl-C safe.
28535
28536 2003-06-07  Bruno Haible  <bruno@clisp.org>
28537
28538         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH, gl_FUNC_FNMATCH_POSIX,
28539         gl_FUNC_FNMATCH_GNU): Set FNMATCH_H instead of invoking
28540         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
28541         directory.
28542         * m4/poll.m4 (gl_FUNC_POLL): Set POLL_H instead of invoking
28543         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
28544         directory.
28545
28546 2003-06-06  Jim Meyering  <jim@meyering.net>
28547
28548         Merge from coreutils.
28549         * lib/same.c: (same_name): Declare *_basename locals to be `const'.
28550         Consolidate declarations and initializations of *_base* locals.
28551
28552         Merge from coreutils.
28553         This avoids a core dump on systems without GNU putenv,
28554         when running `env -u SOME_ALREADY_UNSET_VARIABLE'.
28555         * lib/putenv.c (__set_errno, LOCK, UNLOCK): Define.
28556         (unsetenv): New static function, from GNU libc.
28557         (rpl_putenv): Use it.
28558
28559         * lib/modechange.c: Remove trailing blanks.
28560
28561         Merge from coreutils.
28562         * lib/fsusage.c: Remove declaration of statfs.
28563         It conflicted with one from OSF/1 5.1 in <sys/mount.h>.
28564
28565         * lib/posixtm.c: Include <stdbool.h> unconditionally.
28566
28567 2003-06-06  Jim Meyering  <jim@meyering.net>
28568
28569         * lib/stdbool_.h: Renamed from stdbool.h.in.
28570
28571 2003-06-06  Jim Meyering  <jim@meyering.net>
28572             Bruno Haible  <bruno@clisp.org>
28573
28574         * modules/stdbool: Reflect renaming: stdbool.h.in -> stdbool_.h.
28575         Adjust Makefile.am snippet not to redirect directly to target.
28576         Use $(STDBOOL_H) notation, not @STDBOOL_H@ for AC_REPLACE'd variables.
28577
28578 2003-06-05  Paul Eggert  <eggert@twinsun.com>
28579
28580         * lib/mktime.c (__mktime_internal): When resolving a tm_isdst
28581         mismatch, look in future quarters as well as past.  This fixes a
28582         bug when processing fall-backwards gaps immediately after a long
28583         period of daylight-saving time.
28584
28585         * lib/mktime.c: Assume freestanding C89 or better.
28586         (HAVE_LIMITS_H): Remove.  Assume it's 1.
28587         (__P): Remove; not used.
28588         (CHAR_BIT, INT_MIN, INT_MAX): Remove; <limits.h> defines them.
28589         (mktime, not_equal_tm, print_tm, check_result,
28590         main): Use prototypes.  Use const * where appropriate.
28591         (main): Fix typo in testing code that uncovered by above changes.
28592         (Local Variables): Remove -DHAVE_LIMITS_H from compile-command.
28593
28594 2003-06-04  Paul Eggert  <eggert@twinsun.com>
28595
28596         * m4/human.m4 (gl_HUMAN): Require AM_STDBOOL_H.  Check for
28597         locale.h, localeconv.  This merges changes from coreutils.
28598
28599         * m4/mktime.m4 (AC_FUNC_MKTIME): New macro, taken from Autoconf CVS.
28600         It can be removed after the next Autoconf is released.
28601         * m4/exclude.m4 (gl_EXCLUDE): Don't check for sys/types.h; no loner
28602         needed.
28603
28604 2003-06-04  Paul Eggert  <eggert@twinsun.com>
28605
28606         * lib/mktime.c: Fix Debian bug 177940
28607         <http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=177940>.
28608         (localtime_offset): Now long int, not time_t, because we want it
28609         to be guaranteed to be signed.  All uses changed.
28610         (__mktime_internal): If overflow would occur when adding offset,
28611         don't add it.
28612
28613         Merge 'human' changes from coreutils.  Rewrite to support
28614         locale-specific notations like thousands separators.
28615         * lib/human.c: Simplify authorship notice.
28616         Include human.h immediately after config.h.
28617         <sys/types.h>, <stdio.h>: Do not include; no longer needed.
28618         <limits.h>: Do not include, since human.h does.
28619         (SIZE_MAX, UINTMAX_MAX): New macros.
28620         <strings.h>: Include if HAVE_STRINGS_H, not if !HAVE_STRING_H.
28621         <locale.h>: Include if HAVE_LOCALE_H and HAVE_LOCALECONV.
28622         (HUMAN_READABLE_SUFFIX_LENGTH_MAX): New macro.
28623         (power_letter): Renamed from suffixes.
28624         (generate_suffix_backwards): Remove.
28625         (adjust_value): Now takes int style (because of human.h changes)
28626         and long double value (for greater precision on some platforms).
28627         (group_number): New function.
28628         (human_readable): Use it.  Use integer options, not enum.
28629         Put the options before the sizes in the arg list.
28630         Support all the new options.
28631         The old human_readable function has been removed;
28632         use inttostr.h instead.
28633         (human_readable, default_block_size, humblock):
28634         Use uintmax_t, not int, for block sizes.
28635         (human_readable_inexact, block_size_types): Remove.
28636         (block_size_opts): New constant.
28637         (human_options): Renamed from human_block_size, with new signature
28638         that allows block sizes up to UINTMAX_MAX.  All callers changed.
28639         * lib/human.h: Add copyright and authorship notice.
28640         Include <limits.h> and <stdbool.h> unconditionally.
28641         (PARAMS): Remove.  All uses removed.
28642         (LONGEST_HUMAN_READABLE): Add support for thousands separator.
28643         (enum human_inexact_style): Remove tag; now a nameless enum.
28644         (human_floor, human_ceiling, human_round_to_even): Now have
28645         values 2, 0, 1 rather than -1, 1, 0.
28646         (human_group_digits, human_suppress_point_zero, human_autoscale,
28647         human_base_1024, human_SI, human_B): New constants.
28648         (human_readable_inexact, human_block_size): Remove.
28649         (human_readable): Size args are now uintmax_t, not int.
28650         (human_options): New decl.
28651
28652         * lib/exclude.c: (new_exclude, add_exclude): Remove casts that are
28653         unnecessary now that we assume C89 or better.  This change
28654         imported from coreutils.
28655
28656         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
28657         arbitrarily.  This is the same patch as 2003-05-28, but it got lost
28658         in the 2003-05-30 sync from glibc.
28659
28660         .h files should stand alone, but we shouldn't include <sys/types.h>
28661         if we can get away with just <stddef.h>.
28662
28663         * lib/__fpending.h, addext.c, backupfile.c, exclude.c, getline.c,
28664         malloc.c, putenv.c, realloc.c, strcasecmp.c: Include <stddef.h>
28665         rather than <sys/types.h>, as we merely need size_t.
28666         * lib/dirname.h, memcoll.h, xalloc.h, xmemcoll.h: Include <stddef.h>,
28667         to get size_t.
28668         * lib/hash.h, linebuffer.h, readtokens.h, stdio-safer.h, version-etc.h:
28669         Include <stdio.h>, to get FILE.
28670         * lib/memcasecmp.c: Don't include <sys/types.h>, as we can assume
28671         memcasecmp.h has included <stddef.h> and all we need is size_t.
28672         * lib/memcoll.c: Include "memcoll.h", which gets us size_t and checks
28673         our interface, instead of including <sys/types.h>
28674
28675 2003-06-04  Paul Eggert  <eggert@twinsun.com>
28676
28677         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): Comment out for
28678         now, as glibc mktime is buggy on non-glibc systems.
28679
28680 2003-06-03  Karl Berry  <karl@gnu.org>
28681
28682         * config/config.sub: update from prep.
28683
28684 2003-06-02  Paul Eggert  <eggert@twinsun.com>
28685
28686         [from coreutils]
28687         Fix some minor time-related bugs with POSIX time arguments.
28688         Some valid time stamps were being rejected (notably -1, and
28689         time stamps before 1900 on 64-bit hosts).  And some invalid
28690         time stamps were being accepted, e.g. September 31.
28691
28692         * lib/posixtm.h (posixtime): Return bool instead of time_t, so
28693         that we can return (time_t) -1 successfully.
28694         * lib/posixtm.c: Likewise.
28695         [HAVE_STDBOOL_H]: Include <stdbool.h>.
28696         (bool, false, true) [!HAVE_STDBOOL_H]: New type.
28697         (t): Remove static var.
28698         (year, posix_time_parse): Now takes struct tm * arg to modify, instead
28699         of static var.  All uses changed.
28700         (year): Do not reject years before 1900; they can occur with
28701         64-bit time_t.
28702         (posix_time_parse): Do not check for out-of-range components;
28703         that is now the caller's responsibility, since our checks were
28704         only approximations.
28705         (posixtime): Use mktime to check for out-of-range components,
28706         since it knows them exactly.
28707         If mktime returns (time_t) -1, check whether an error actually occurred
28708         by invoking localtime on -1.
28709         (main) [TEST_POSIXTIME]: Check for input data errors, and report
28710         posixtime failures better.
28711         Improve the test data (in comments only).
28712
28713 2003-06-02  Karl Berry  <karl@gnu.org>
28714
28715         * config/mkinstalldirs (version): new variable.
28716         (--version): new option.
28717         (usage): improve message.
28718
28719 2003-05-30  Karl Berry  <karl@gnu.org>
28720
28721         * lib/mktime.c: update from libc.
28722
28723 2003-05-30  Bruno Haible  <bruno@clisp.org>
28724
28725         * modules/gettext: Add files m4/nls.m4 and m4/po.m4.
28726         * config/config.rpath: Upgrade to gettext-0.12.1.
28727
28728 2003-05-30  Bruno Haible  <bruno@clisp.org>
28729
28730         * m4/gettext.m4: Upgrade to gettext-0.12.1.
28731         * m4/nls.m4: New file, from gettext-0.12.1.
28732         * m4/po.m4: New file, from gettext-0.12.1.
28733         * m4/progtest.m4: Upgrade to gettext-0.12.1.
28734
28735 2003-05-30  Bruno Haible  <bruno@clisp.org>
28736
28737         * lib/config.charset: Upgrade to gettext-0.12.1 and libiconv-1.9.1.
28738         * lib/localcharset.h: Likewise.
28739         * lib/localcharset.c: Likewise.
28740
28741 2003-05-29  Karl Berry  <karl@gnu.org>
28742
28743         * config/config.rpath: update from gettext.
28744
28745 2003-05-28  Paul Eggert  <eggert@twinsun.com>
28746
28747         Assume the headers required for C89 freestanding compilers.
28748         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for limits.h.
28749         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Likewise.
28750         * m4/human.m4 (gl_HUMAN): Likewise.
28751         * m4/pathmax.m4 (gl_PATHMAX): Likewise.
28752         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Likewise.
28753         * m4/userspec.m4 (gl_USERSPEC): Likewise.
28754         * m4/xreadlink.m4 (gl_XREADLINK): Likewise.
28755         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
28756         * m4/quote.m4 (gl_QUOTE): Don't check for stddef.h.
28757
28758 2003-05-28  Paul Eggert  <eggert@twinsun.com>
28759
28760         Assume the headers required for C89 freestanding compilers.
28761         * lib/addext.c, lib/backupfile.c, lib/fsusage.c, lib/human.c,
28762         lib/pathmax.h, lib/rpmatch.c, lib/userspec.c, lib/xreadlink.c,
28763         lib/xstrtol.c: Include <limits.h> without checking for HAVE_LIMITS_H.
28764         * lib/backupfile.c, lib/fsusage.c, lib/hash.c, lib/human.c,
28765         lib/safe-read.c, lib/userspec.c, lib/xstrtol.c (CHAR_BIT): Don't
28766         define, since <limits.h> is guaranteed to do that.
28767         * lib/fatal.c: Include <stdarg.h> without checking for __STDC__.
28768         * lib/exclude.c: Include <stdbool.h> unconditionally.
28769         * lib/tempname.c: Include <stddef.h> unconditionally.
28770         * lib/hash.c: Include <limits.h>, since we no longer define CHAR_BIT.
28771         * lib/modechange.c, rpmatch.c (NULL): Don't define, since
28772         <stddef.h> does that.
28773         * lib/quote.c: Dont include <stddef.h> or <sys/types.h>; not needed.
28774         * lib/safe-read.c (INT_MAX): Don't define, since <limits.h> does that.
28775         * lib/safe-read.c (TYPE_MINIMUM, TYPE_MAXIMUM): Remove; no longer
28776         needed.
28777         * lib/xstrtol.c: Likewise.
28778         * lib/safe-read.c: Remove TYPE_SIGNED; no longer needed.
28779         * lib/savedir.c: Include <stddef.h> instead of defining NULL.
28780
28781         * lib/addext.c (addext): Use assignment rather than cast, to avoid
28782         warnings on some platforms.
28783
28784         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
28785         arbitrarily.
28786
28787 2003-05-26  Jim Meyering  <jim@meyering.net>
28788
28789         Merge in a change from coreutils:
28790         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Test the cache variable, not one
28791         that is guaranteed to be `no'.  Use `no_such_member' to indicate
28792         that condition, rather than `-1' which is slightly misleading.
28793         Change the name of the cache variable to have the gl_ prefix.
28794         Prompted by a patch from Richard Dawe for DJGPP.
28795
28796 2003-05-24  Karl Berry  <karl@gnu.org>
28797
28798         * config/config.guess: update from prep.
28799
28800 2003-05-22  Karl Berry  <karl@gnu.org>
28801
28802         * gnulib-tool (func_usage): =LIBRARY not =libRARY in help msg.
28803
28804 2003-05-20  Karl Berry  <karl@gnu.org>
28805
28806         * config/config.guess: update from prep.
28807
28808 2003-05-18  Karl Berry  <karl@gnu.org>
28809
28810         * config/srclistvars.sh (TEXMF): use TEXMFROOT instead, since TEXMF
28811         might actually be set by the user.
28812
28813         * config/depcomp, install-sh, mdate-sh: update from automake.
28814
28815 2003-05-17  Bruno Haible  <bruno@clisp.org>
28816
28817         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Fix a quoting bug leading to an
28818         invalid expansion for AC_EGREP_CPP.
28819         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Likewise.
28820         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
28821         Suggested by Akim Demaille <akim@epita.fr> in
28822         http://mail.gnu.org/archive/html/bug-autoconf/2003-05/threads.html
28823
28824 2003-05-12  Jim Meyering  <jim@meyering.net>
28825
28826         * lib/strftime.c (my_strftime): Let the `-' (no-pad) flag affect
28827         the space-padded-by-default conversion specifiers, %e, %k, %l.
28828
28829 2003-05-12  Bruno Haible  <bruno@clisp.org>
28830
28831         * lib/linebreak.c (iconv_string_length): Don't return -1 just because
28832         the string is longer than 4 KB.
28833
28834 2003-05-11  Karl Berry  <karl@gnu.org>
28835
28836         * config/config.{guess,sub}: update from prep.
28837
28838 2003-05-09  Bruno Haible  <bruno@clisp.org>
28839
28840         * modules/error: Add m4/strerror_r.m4 to file list.
28841
28842 2003-05-03  Bruno Haible  <bruno@clisp.org>
28843
28844         Upgrade to Unicode-4.0.
28845         * lib/linebreak.c (nonspacing_table_data): Change width of U+00AD,
28846         U+0350..U+0357, U+035D..U+035F, U+0600..U+0603, U+0610..U+0615,
28847         U+0656..U+0658, U+0A01, U+0AE2..U+0AE3, U+0CBC, U+17B4..U+17B5,
28848         U+17DD, U+1920..U+1922, U+1927..U+192B, U+1932, U+1939..U+193B
28849         from 1 to 0. Change width of U+0CBF, U+0CC6, U+180E from 0 to 1.
28850         (uc_width): Change width of U+4DC0..U+4DFF from 2 to 1. Change width
28851         of U+2A6D7..U+2F7FF, U+2FA1E..U+2FFFD, U+30000..U+3FFFD from 1 to 2.
28852         Change width of U+E0100..U+E01EF from 1 to 0.
28853
28854 2003-04-25  Jim Meyering  <jim@meyering.net>
28855
28856         * lib/copy-file.c (copy_file_preserving): Declare buf_size to be
28857         of type size_t, not int.
28858
28859 2003-04-25  Bruno Haible  <bruno@clisp.org>
28860
28861         * lib/copy-file.c: Include <stddef.h>, for size_t.
28862
28863 2003-04-21  Paul Eggert  <eggert@twinsun.com>
28864
28865         * m4/error.m4 (gl_ERROR): Do not put under dynamic conditions some
28866         code which expansion is under static control.  Patch imported from
28867         Akim Demaille's patch to Bison; see
28868         <http://mail.gnu.org/archive/html/bison-patches/2003-03/msg00057.html>.
28869
28870 2003-04-14  Bruno Haible  <bruno@clisp.org>
28871
28872         * m4/error.m4 (jm_PREREQ_ERROR): Use AC_FUNC_VPRINTF.
28873
28874 2003-04-11  Jim Meyering  <jim@meyering.net>
28875
28876         Merge changes from Coreutils.
28877
28878         2003-03-22  Jim Meyering  <jim@meyering.net>
28879
28880         * lib/strftime.c (widen): Cast alloca return value to proper type.
28881
28882         2003-01-19  Ulrich Drepper  <drepper@redhat.com>
28883
28884         From GNU libc.
28885         * lib/strftime.c (my_strftime): Handle very large width
28886         specifications for numeric values correctly.  Improve checks for
28887         overflow.
28888
28889         2003-01-19  Jim Meyering  <jim@meyering.net>
28890
28891         * lib/strftime.c (widen) [COMPILE_WIDE]: Merge nearly-identical
28892         definitions.
28893         (nl_get_alt_digit) [! defined my_strftime]: Define.
28894         (my_strftime) [_NL_CURRENT]: Merge nearly-identical uses of
28895         _nl_get_alt_digit and _nl_get_walt_digit.
28896
28897         * lib/strftime.c (my_strftime): Merge in locale-related changes from
28898         libc. These changes have no effect outside of _LIBC.
28899
28900 2003-04-10  Bruno Haible  <bruno@clisp.org>
28901
28902         * modules/findprog: New file.
28903         * MODULES.html.sh (func_all_modules): Add it.
28904
28905 2003-04-10  Bruno Haible  <bruno@clisp.org>
28906
28907         * m4/findprog.m4: New file.
28908         * m4/eaccess.m4: New file.
28909
28910 2003-04-10  Bruno Haible  <bruno@clisp.org>
28911
28912         * lib/findprog.h: New file, from GNU gettext.
28913         * lib/findprog.c: New file, from GNU gettext.
28914
28915 2003-04-05  Jim Meyering  <jim@meyering.net>
28916
28917         Merge changes from Coreutils.
28918
28919         * lib/exclude.h (PARAMS): Remove definition and uses.
28920         * lib/exclude.c: Remove uses of `PARAMS'.
28921
28922         * lib/dirname.c [TEST_DIRNAME]: Update build instructions for test.
28923         Add test-cases for DOS filenames. Declare program_name.
28924         (main): Set up program_name.  Patch by Rich Dawe.
28925
28926         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
28927         error from mntctl.
28928         Use mntctl's return value to drive the entry-processing loop, since
28929         we can't rely on the value of the vmt_length member in the last
28930         entry.  On some systems doing so could result in exhausting
28931         virtual memory.  Based in part on a patch from Mike Jetzer.
28932
28933 2003-04-04  Bruno Haible  <bruno@clisp.org>
28934
28935         * modules/linebreak: New file.
28936         * MODULES.html.sh (func_all_modules): Add it.
28937
28938 2003-04-04  Bruno Haible  <bruno@clisp.org>
28939
28940         * m4/linebreak.m4: New file.
28941
28942 2003-04-04  Bruno Haible  <bruno@clisp.org>
28943
28944         * lib/linebreak.h: New file, from GNU gettext.
28945         * lib/linebreak.c: New file, from GNU gettext with slight
28946         modifications.
28947         * lib/lbrkprop.h: New file, from GNU gettext.
28948
28949 2003-04-03  Bruno Haible  <bruno@clisp.org>
28950
28951         * modules/utf8-ucs4: New file.
28952         * modules/utf16-ucs4: New file.
28953         * modules/ucs4-utf8: New file.
28954         * modules/ucs4-utf16: New file.
28955         * MODULES.html.sh (func_all_modules): Add them.
28956
28957 2003-04-03  Bruno Haible  <bruno@clisp.org>
28958
28959         * m4/utf-ucs4.m4: New file.
28960         * m4/ucs4-utf.m4: New file.
28961
28962 2003-04-03  Bruno Haible  <bruno@clisp.org>
28963
28964         * lib/utf8-ucs4.h: New file, from GNU gettext.
28965         * lib/utf16-ucs4.h: New file, from GNU gettext.
28966         * lib/ucs4-utf8.h: New file, from GNU gettext.
28967         * lib/ucs4-utf16.h: New file, from GNU gettext.
28968
28969 2003-04-02  Bruno Haible  <bruno@clisp.org>
28970
28971         * modules/binary-io: New file.
28972         * MODULES.html.sh (func_all_modules): Add it.
28973
28974 2003-04-02  Bruno Haible  <bruno@clisp.org>
28975
28976         * lib/binary-io.h: New file, from GNU gettext.
28977
28978 2003-04-01  Bruno Haible  <bruno@clisp.org>
28979
28980         * modules/pathname: New file.
28981         * MODULES.html.sh (func_all_modules): Add it.
28982
28983 2003-04-01  Bruno Haible  <bruno@clisp.org>
28984
28985         * lib/pathname.h: New file, from GNU gettext.
28986         * lib/concatpath.c: New file, from GNU gettext.
28987
28988 2003-03-30  Bruno Haible  <bruno@clisp.org>
28989
28990         * m4/copy-file.m4 (gl_COPY_FILE): Add check for chown().
28991
28992 2003-03-30  Bruno Haible  <bruno@clisp.org>
28993
28994         * lib/copy-file.c (copy_file_preserving): Don't set owner if the
28995         function chown() doesn't exist.
28996
28997 2003-03-28  Bruno Haible  <bruno@clisp.org>
28998
28999         * modules/copy-file: New file.
29000         * MODULES.html.sh (func_all_modules): Add it.
29001
29002 2003-03-28  Bruno Haible  <bruno@clisp.org>
29003
29004         * m4/copy-file.m4: New file.
29005
29006 2003-03-28  Bruno Haible  <bruno@clisp.org>
29007
29008         * lib/copy-file.h: New file, from GNU gettext.
29009         * lib/copy-file.c: New file, from GNU gettext.
29010
29011 2003-03-18  Jim Meyering  <jim@meyering.net>
29012
29013         * lib/quote.c (quote_n): Fix typo in comment.
29014
29015 2003-03-18  Bruno Haible  <bruno@clisp.org>
29016
29017         * m4/onceonly.m4: Use m4_defn instead of defn, for better error
29018         checking.
29019         * m4/onceonly_2_57.m4: Likewise.
29020
29021 2003-03-17  Bruno Haible  <bruno@clisp.org>
29022
29023         * m4/onceonly.m4: Require autoconf 2.54 or newer.
29024         (m4_quote): Remove macro.
29025         * m4/onceonly_2_57.m4: Require autoconf 2.54 or newer.
29026
29027 2003-03-14  Jim Meyering  <jim@meyering.net>
29028
29029         Merge changes from Coreutils.
29030         * lib/obstack.h (obstack_object_size): Declare temporary, __o,
29031         to be const, in order to avoid warnings.
29032         (obstack_room): Likewise.
29033         (obstack_empty_p): Likewise.
29034
29035 2003-03-14  Bruno Haible  <bruno@clisp.org>
29036
29037         * m4/onceonly_2_57.m4 (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE,
29038         AC_CHECK_DECLS_ONCE): Quote AC_FOREACH variable-expansions properly.
29039
29040 2003-03-13  Paul Eggert  <eggert@twinsun.com>
29041
29042         Merge changes from Bison.
29043         * lib/obstack.h: (__INT_TO_PTR) [__STDC__]: Cast result to
29044         (void *) to avoid diagnostic with native c89 on SGI IRIX 6.5
29045         when compiling Bison 1.875's `bitset bset = obstack_alloc
29046         (bobstack, bytes);'.  Problem reported by Nelson H. F. Beebe.
29047         * lib/hash.c: Include <stdbool.h> unconditionally.
29048
29049 2003-03-13  Paul Eggert  <eggert@twinsun.com>
29050
29051         * m4/onceonly.m4 (m4_quote): New macro.
29052         (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE, AC_CHECK_DECLS_ONCE):
29053         Quote AC_FOREACH variable-expansions properly.
29054
29055 2003-03-13  Paul Eggert  <eggert@twinsun.com>
29056
29057         * doc/COPYING.DOC, fdl.texi: Sync with latest FSF version.
29058
29059 2003-03-09  Paul Eggert  <eggert@twinsun.com>
29060
29061         * lib/argmatch.c (EXIT_FAILURE): Define if the system doesn't.
29062         Reported by Bruce Becker; see:
29063         http://mail.gnu.org/archive/html/bug-bison/2003-03/msg00017.html
29064
29065 2003-03-03  Paul Eggert  <eggert@twinsun.com>
29066             Bruno Haible  <bruno@clisp.org>
29067
29068         * lib/mbswidth.h: Include <wchar.h>. Needed for UnixWare 7.1.1.
29069         Reported by John Hughes, see
29070         http://mail.gnu.org/archive/html/bug-bison/2003-02/msg00030.html
29071
29072 2003-02-20  Bruno Haible  <bruno@clisp.org>
29073
29074         * MODULES.html.sh (func_all_modules): Add poll.
29075
29076 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
29077
29078         * modules/poll: New file.
29079
29080 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
29081
29082         * lib/poll_.h: New file.
29083         * lib/poll.c: New file.
29084
29085 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
29086
29087         * m4/poll.m4: New file.
29088
29089 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
29090
29091         * modules/mathl: New file.
29092
29093 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
29094
29095         * lib/mathl.h: New file.
29096         * lib/acosl.c: New file.
29097         * lib/asinl.c: New file.
29098         * lib/atanl.c: New file.
29099         * lib/ceill.c: New file.
29100         * lib/cosl.c: New file.
29101         * lib/expl.c: New file.
29102         * lib/floorl.c: New file.
29103         * lib/frexpl.c: New file.
29104         * lib/ldexpl.c: New file.
29105         * lib/logl.c: New file.
29106         * lib/sincosl.c: New file.
29107         * lib/sinl.c: New file.
29108         * lib/sqrtl.c: New file.
29109         * lib/tanl.c: New file.
29110         * lib/trigl.c: New file.
29111         * lib/trigl.h: New file.
29112
29113 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
29114
29115         * m4/mathl.m4: New file.
29116
29117 2003-02-18  Bruno Haible  <bruno@clisp.org>
29118
29119         * MODULES.html.sh (func_all_modules): Add mathl.
29120
29121 2003-02-17  Bruno Haible  <bruno@clisp.org>
29122
29123         * modules/mkdtemp: New module.
29124         * MODULES.html.sh (func_all_modules): Add it.
29125
29126 2003-02-17  Bruno Haible  <bruno@clisp.org>
29127
29128         * m4/mkdtemp.m4: New file, from GNU gettext with modifications.
29129
29130 2003-02-17  Bruno Haible  <bruno@clisp.org>
29131
29132         * lib/mkdtemp.h: New file, from GNU gettext.
29133         * lib/mkdtemp.c: New file, from GNU gettext.
29134
29135 2003-02-02  Jim Meyering  <jim@meyering.net>
29136
29137         * m4/regex.m4 (jm_INCLUDED_REGEX): Detect broken re_search in
29138         e.g. glibc-2.2.93.
29139
29140 2003-01-31  Bruno Haible  <bruno@clisp.org>
29141
29142         * m4/rename.m4 (vb_FUNC_RENAME): Add a redirection from 'rename' to
29143         'rpl_rename'.
29144         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Add a redirection from 'strnlen' to
29145         'rpl_strnlen'.
29146         * m4/strtod.m4 (gl_FUNC_STRTOD): Add a redirection from 'strtod' to
29147         'rpl_strtod'.
29148         * m4/utime.m4 (jm_FUNC_UTIME): Add a redirection from 'utime' to
29149         'rpl_utime'.
29150
29151 2003-01-31  Bruno Haible  <bruno@clisp.org>
29152
29153         * lib/rename.c: #undef rename before defining rpl_rename.
29154         * lib/strnlen.c: #undef strnlen, define rpl_strnlen instead of strnlen.
29155
29156 2003-01-30  Bruno Haible  <bruno@clisp.org>
29157
29158         * modules/vasnprintf, modules/vasprintf: New modules.
29159         * MODULES.html.sh (func_all_modules): Add them.
29160
29161 2003-01-30  Bruno Haible  <bruno@clisp.org>
29162
29163         * m4/signed.m4: New file, from GNU gettext.
29164         * m4/longdouble.m4: New file, from GNU gettext.
29165         * m4/wchar_t.m4: New file, from GNU gettext.
29166         * m4/wint_t.m4: New file, from GNU gettext.
29167         * m4/vasnprintf.m4: New file.
29168         * m4/vasprintf.m4: New file.
29169
29170 2003-01-30  Bruno Haible  <bruno@clisp.org>
29171
29172         * lib/printf-args.h: New file, from GNU gettext.
29173         * lib/printf-args.c: New file, from GNU gettext.
29174         * lib/printf-parse.h: New file, from GNU gettext.
29175         * lib/printf-parse.c: New file, from GNU gettext.
29176         * lib/vasnprintf.h: New file, from GNU gettext.
29177         * lib/vasnprintf.c: New file, from GNU gettext.
29178         * lib/asnprintf.c: New file, from GNU gettext.
29179         * lib/vasprintf.h: New file, from GNU gettext with modifications.
29180         * lib/vasprintf.c: New file, from GNU gettext.
29181         * lib/asprintf.c: New file, from GNU gettext.
29182
29183 2003-01-29  Bruno Haible  <bruno@clisp.org>
29184
29185         * modules/stpncpy: New module.
29186         * MODULES.html.sh (func_all_modules): Add it.
29187
29188 2003-01-29  Bruno Haible  <bruno@clisp.org>
29189
29190         * m4/stpncpy.m4: New file.
29191
29192 2003-01-29  Bruno Haible  <bruno@clisp.org>
29193
29194         * lib/stpncpy.h: New file, from GNU gettext with modifications.
29195         * lib/stpncpy.c: New file, from GNU gettext with modifications.
29196
29197 2003-01-28  Bruno Haible  <bruno@clisp.org>
29198
29199         * modules/c-ctype: New module.
29200         * MODULES.html.sh (func_all_modules): Add it.
29201
29202 2003-01-28  Bruno Haible  <bruno@clisp.org>
29203
29204         * lib/c-ctype.h: New file, from GNU gettext, with changes suggested by
29205         Paul Eggert.
29206         * lib/c-ctype.c: New file, from GNU gettext, with changes suggested by
29207         Paul Eggert.
29208
29209 2003-01-27  Bruno Haible  <bruno@clisp.org>
29210
29211         * modules/xsetenv: New module.
29212         * MODULES.html.sh (func_all_modules): Add it.
29213
29214 2003-01-27  Bruno Haible  <bruno@clisp.org>
29215
29216         * lib/xsetenv.h: New file, from GNU gettext.
29217         * lib/xsetenv.c: New file, from GNU gettext.
29218
29219 2003-01-23  Jim Meyering  <jim@meyering.net>
29220
29221         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Correct typo: s/-1/no/ that kept this
29222         from working on systems without dirfd (at least Irix and OSF1/Tru64).
29223
29224 2003-01-23  Bruno Haible  <bruno@clisp.org>
29225
29226         * modules/minmax: New module.
29227         * MODULES.html.sh (func_all_modules): Add it.
29228
29229 2003-01-23  Bruno Haible  <bruno@clisp.org>
29230
29231         * lib/minmax.h: New file, from GNU gettext, with comments from Paul
29232         Eggert.
29233
29234 2003-01-22  Bruno Haible  <bruno@clisp.org>
29235
29236         * modules/exit: New module.
29237         * MODULES.html.sh (func_all_modules): Add it.
29238
29239 2003-01-22  Bruno Haible  <bruno@clisp.org>
29240
29241         * lib/exit.h: New file, from GNU gettext.
29242
29243 2003-01-19  Bruno Haible  <bruno@clisp.org>
29244
29245         * gnulib-tool: Recognize option --extract-maintainer.
29246         (func_get_maintainer): New function.
29247         * modules/*: Add Maintainer entry.
29248
29249 2003-01-16  Jim Meyering  <jim@meyering.net>
29250
29251         * m4/regex.m4: The `regex' struct is both input and output.
29252         Initialize it before each use.  Patch by Tim Waugh.
29253
29254 2003-01-16  Bruno Haible  <bruno@clisp.org>
29255
29256         * MODULES.html.sh: Add a table of contents. Add the module name as
29257         leftmost column. Add hyperlinks.
29258
29259 2003-01-15  Bruno Haible  <bruno@clisp.org>
29260
29261         * m4/md5.m4 (gl_MD5): Require AC_C_INLINE.
29262
29263 2003-01-15  Bruno Haible  <bruno@clisp.org>
29264
29265         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): Also test the LL suffix.
29266         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Also test the ULL
29267         suffix.
29268
29269 2003-01-15  Bruno Haible  <bruno@clisp.org>
29270
29271         * m4/alloca.m4 (gl_FUNC_ALLOCA): Invoke AC_EGREP_CPP prerequisites.
29272
29273 2003-01-15  Bruno Haible  <bruno@clisp.org>
29274
29275         * lib/stpcpy.h (stpcpy): Use ANSI C function declarations.
29276         * lib/strcase.h (strcasecmp, strncasecmp): Likewise.
29277
29278 2003-01-14  Jim Meyering  <jim@meyering.net>
29279
29280         * lib/same.c (same_name): Tweak a comment.
29281
29282 2003-01-14  Bruno Haible  <bruno@clisp.org>
29283
29284         * lib/same.c (same_name): Reorder tests so as to avoid calling stat()
29285         when a string comparison is sufficient.
29286
29287 2003-01-14  Bruno Haible  <bruno@clisp.org>
29288
29289         * lib/readtokens.c (readtoken): Cast character to 'unsigned char', not
29290         'unsigned int'.
29291
29292 2003-01-14  Bruno Haible  <bruno@clisp.org>
29293
29294         * lib/hash-pjw.c: Add comment about low quality of this function.
29295
29296 2003-01-13  Bruno Haible  <bruno@clisp.org>
29297
29298         * modules/stpcpy: Distribute lib/stpcpy.h.
29299         * modules/setenv: Depend on alloca. Distribute lib/setenv.h.
29300
29301 2003-01-13  Bruno Haible  <bruno@clisp.org>
29302
29303         * modules/*: Add a description.
29304         * modules/strpbrk: Fix Makefile.am snippet.
29305         * modules/strtoimax: Fix dependencies.
29306         * modules/strtoumax: Likewise.
29307
29308 2003-01-13  Bruno Haible  <bruno@clisp.org>
29309
29310         * gnulib-tool (func_create_testdir): Substitute lib_OBJECTS.
29311         * modules/alloca (Makefile.am): All object files depend on alloca.h.
29312         * modules/stdbool (Makefile.am): All object files depend on stdbool.h.
29313
29314 2003-01-13  Bruno Haible  <bruno@clisp.org>
29315
29316         * gnulib-tool (func_create_testdir): Store config/* files in the main
29317         directory.
29318         * config.rpath: Move to ...
29319         * config/config.rpath: ... here.
29320         * modules/gettext: Contains config/config.rpath, not config.rpath.
29321         * modules/iconv: Likewise.
29322
29323 2003-01-12  Paul Eggert  <eggert@twinsun.com>
29324
29325         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
29326         to avoid collisions with libcurses and libreadline.
29327
29328         * m4/getstr.m4: Remove.
29329         * m4/getline.m4 (gl_PREREQ_GETLINE): Require AC_HEADER_STDC.
29330
29331 2003-01-12  Paul Eggert  <eggert@twinsun.com>
29332
29333         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
29334         to avoid collisions with libcurses and libreadline.
29335
29336         * lib/Makefile.am (libfetish_a_SOURCES): Remove getstr.c, getstr.h.
29337         * lib/getstr.h, getstr.c: Remove.
29338         * lib/getline.c: Include "getline.h", to check interface.
29339         Move body of old getstr.c here: this defines MIN_CHUNK and
29340         declares getdelim2, which is renamed from getstr.
29341         (getline, getdelim): Adjust to renaming of getstr -> getdelim2.
29342
29343         * lib/linebuffer.c (readlinebuffer): Renamed from readline.
29344         All uses changed.
29345         * lib/linebuffer.h: Likewise.
29346         (readline): Remove backward-compatibility macro.
29347
29348 2003-01-12  Paul Eggert  <eggert@twinsun.com>
29349
29350         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
29351         to avoid collisions with libcurses and libreadline.
29352         * getstr: Remove.
29353         * MODULES.html.sh: Remove getstr.
29354         * modules/getline: Depend on unlocked-io, not getstr.
29355
29356 2003-01-12  Jim Meyering  <jim@meyering.net>
29357
29358         * lib/makepath.c: Don't test HAVE_ERRNO_H.  It's not necessary.
29359
29360 2003-01-10  Bruno Haible  <bruno@clisp.org>
29361
29362         * modules/alloca: Change Makefile.am requirements. Simplify Include
29363         requirements. Add lib/alloca_.h to file list.
29364
29365 2003-01-10  Bruno Haible  <bruno@clisp.org>
29366
29367         * m4/alloca.m4 (gl_FUNC_ALLOCA): Also define ALLOCA_H.
29368
29369 2003-01-10  Bruno Haible  <bruno@clisp.org>
29370
29371         * lib/alloca_.h: New file.
29372         * lib/getdate.y: Unconditionally include alloca.h.
29373         * lib/makepath.c: Likewise.
29374         * lib/setenv.c: Likewise.
29375         * lib/userspec.c: Likewise.
29376
29377 2003-01-09  Karl Berry  <karl@gnu.org>
29378
29379         * MODULES.html.sh: include `dirname $0` in PATH, to find
29380         gnulib-tool.
29381
29382 2003-01-09  Bruno Haible  <bruno@clisp.org>
29383
29384         * modules/stdbool: Change configure.ac, Makefile.am requirements.
29385         Simplify Include requirements. Add lib/stdbool.h.in to file list.
29386
29387 2003-01-09  Bruno Haible  <bruno@clisp.org>
29388
29389         * m4/stdbool.m4 (AM_STDBOOL_H): New macro.
29390
29391 2003-01-09  Bruno Haible  <bruno@clisp.org>
29392
29393         * lib/stdbool.h.in: New file.
29394
29395 2003-01-09  Bruno Haible  <bruno@clisp.org>
29396
29397         * gnulib-tool (func_all_modules): Ignore files ending in ~.
29398         * MODULES.html.sh: Likewise.
29399
29400 2003-01-08  Jim Meyering  <jim@meyering.net>
29401
29402         * lib/full-write.c: Undefine and define-away `const' after inclusion
29403         of errno.h, not before.  Suggestion from Bruno Haible.
29404
29405 2003-01-08  Bruno Haible  <bruno@clisp.org>
29406
29407         * modules/full-read: Depend on full-write.
29408
29409 2003-01-08  Bruno Haible  <bruno@clisp.org>
29410
29411         * lib/safe-read.c: Include specification header first, to ensure its
29412         selfcontainedness.
29413         * lib/full-write.c: Likewise.
29414
29415 2003-01-07  Jim Meyering  <jim@meyering.net>
29416
29417         * lib/full-write.c: Rework so that it may serve to define full_read,
29418         too.
29419         * lib/full-read.c: Simply #define FULL_READ and include full-write.c.
29420
29421 2003-01-07  Bruno Haible  <bruno@clisp.org>
29422
29423         * lib/strtoimax.c: Include <stdint.h> as an alternative to
29424         <inttypes.h>.
29425         * lib/xstrtol.h: Likewise.
29426         * lib/xstrtoimax.c: Likewise.
29427         * lib/xstrtoumax.c: Likewise.
29428         * lib/human.h: Likewise.
29429
29430         * lib/tempname.c: Include <inttypes.h> too. Avoids a compilation error
29431         on systems that have <inttypes.h> but not <stdint.h>.
29432
29433 2003-01-07  Bruno Haible  <bruno@clisp.org>
29434
29435         * MODULES.html.sh: Add copyright notice.
29436         (missed_files): Omit CVS directory entries.
29437         (func_module): Make it work with sed-3.02.
29438         * MODULES.txt: Remove file.
29439
29440 2003-01-06  Jim Meyering  <jim@meyering.net>
29441
29442         * lib/version-etc.c: Update year in translatable copyright string.
29443
29444 2003-01-03  Karl Berry  <karl@gnu.org>
29445
29446         * config/config.{guess,sub}: update from prep.
29447
29448 2003-01-02  Karl Berry  <karl@gnu.org>
29449
29450         * doc/COPYING.DOC: belatedly updated to 1.2.
29451
29452 2003-01-01  Karl Berry  <karl@gnu.org>
29453
29454         * gnulib-tool (func_verify_module): report module name $module in
29455         error message, not $1.
29456         * gnulib-tool (create-testdir): don't complain if destdir couldn't
29457         be created, only if it doesn't exist.
29458         * gnulib-tool (last_checkin_date): don't expand the $Date here.
29459
29460 2002-12-31  Paul Eggert  <eggert@twinsun.com>
29461
29462         * m4/memcoll.m4 (gl_MEMCOLL): Require AC_FUNC_MEMCMP.
29463
29464 2002-12-31  Paul Eggert  <eggert@twinsun.com>
29465
29466         * lib/memcoll.c (memcoll): Fall back on a simple algorithm using
29467         memcmp if strcoll doesn't work.
29468
29469 2002-12-31  Bruno Haible  <bruno@clisp.org>
29470
29471         * lib/utime.c (utime_null): No need to call ftruncate if the file was
29472         nonempty.
29473
29474 2002-12-31  Bruno Haible  <bruno@clisp.org>
29475
29476         * lib/memcoll.c (STRCOLL): New macro.
29477         (memcoll): Use it.
29478
29479 2002-12-31  Bruno Haible  <bruno@clisp.org>
29480
29481         * lib/localcharset.h: New file.
29482         * lib/localcharset.c: Include it.
29483         * lib/unicodeio.c: Likewise.
29484
29485 2002-12-31  Bruno Haible  <bruno@clisp.org>
29486
29487         * lib/getstr.h (getstr): Define, to avoid clash with libcurses.
29488         * lib/linebuffer.h (readline): Define, to avoid clash with libreadline.
29489
29490 2002-12-31  Bruno Haible  <bruno@clisp.org>
29491
29492         * lib/getline.h: Include <stddef.h>, for size_t.
29493
29494         * lib/unicodeio.h: Include <stddef.h>, for size_t.
29495         * lib/unicodeio.c: Don't include <stddef.h>.
29496
29497 2002-12-31  Bruno Haible  <bruno@clisp.org>
29498
29499         * lib/getdate.y (get_date): Test HAVE_STRUCT_TM_TM_ZONE, not
29500         HAVE_TM_ZONE.
29501
29502 2002-12-24  Karl Berry  <karl@gnu.org>
29503
29504         * config/config.guess: update from prep.
29505
29506 2002-12-24  Bruno Haible  <bruno@clisp.org>
29507
29508         General infrasructure.
29509         * m4/README: Rewritten.
29510         * m4/onceonly.m4: New file.
29511         * m4/onceonly_2_57.m4: New file.
29512
29513         Module atexit.
29514         * m4/atexit.m4: New file.
29515
29516         Module strtod.
29517         * m4/strtod.m4: New file.
29518
29519         Module strtol.
29520         * m4/strtol.m4: New file.
29521
29522         Module strtoul.
29523         * m4/strtoul.m4: New file.
29524
29525         Module memchr.
29526         * m4/memchr.m4: New file.
29527
29528         Module memcmp.
29529         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): New macro.
29530         (jm_FUNC_MEMCMP): Invoke it.
29531
29532         Module memcpy.
29533         * m4/memcpy.m4: New file.
29534
29535         Module memmove.
29536         * m4/memmove.m4: New file.
29537
29538         Module memset.
29539         * m4/memset.m4: New file.
29540
29541         Module strcspn.
29542         * m4/strcspn.m4: New file.
29543
29544         Module strpbrk.
29545         * m4/strpbrk.m4: New file.
29546
29547         Module strstr.
29548         * m4/strstr.m4: New file.
29549
29550         Module strerror.
29551         * m4/strerror.m4: New file.
29552
29553         Module mktime.
29554         * m4/mktime.m4: Renamed from jm-mktime.m4.
29555         (gl_PREREQ_MKTIME): New macro.
29556         (gl_FUNC_MKTIME): Renamed from jm_FUNC_MKTIME. Invoke gl_PREREQ_MKTIME.
29557
29558         Module malloc.
29559         * m4/malloc.m4 (gl_PREREQ_MALLOC): New macro.
29560         (jm_FUNC_MALLOC): Use AC_FUNC_MALLOC. Invoke gl_PREREQ_MALLOC.
29561         Don't define HAVE_DONE_WORKING_MALLOC_CHECK, since nothing uses it.
29562
29563         Module realloc.
29564         * m4/realloc.m4 (gl_PREREQ_REALLOC): New macro.
29565         (jm_FUNC_REALLOC): Use AC_FUNC_REALLOC. Invoke gl_PREREQ_REALLOC.
29566         Don't define HAVE_DONE_WORKING_REALLOC_CHECK, since nothing uses it.
29567
29568         Module strftime.
29569         * m4/tm_gmtoff.m4: New file, extracted from strftime.m4.
29570         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Use AC_FUNC_STRFTIME.
29571         Don't test for bcopy (we are not emacs). Invoke AC_TYPE_MBSTATE_T and
29572         gl_TM_GMTOFF.
29573         (_jm_STRFTIME_PREREQS, jm_FUNC_GNU_STRFTIME): Use onceonly macros.
29574
29575         Module xalloc.
29576         * m4/xalloc.m4: New file.
29577
29578         Module alloca.
29579         * m4/alloca.m4: New file.
29580
29581         Module putenv.
29582         * m4/putenv.m4 (gl_PREREQ_PUTENV): New macro.
29583         (jm_FUNC_PUTENV): Invoke it.
29584
29585         Module setenv.
29586         * m4/setenv.m4 (gt_FUNC_SETENV): New macro.
29587         (gt_CHECK_VAR_DECL): Fix quoting error that led to infinite loop in m4
29588         when invoked twice.
29589         (gt_PREREQ_SETENV, gt_PREREQ_UNSETENV): New macros, replacing old
29590         gt_FUNC_SETENV.
29591
29592         Module memrchr.
29593         * m4/memrchr.m4: New file.
29594
29595         Module stpcpy.
29596         * m4/stpcpy.m4: New file.
29597
29598         Module strcase.
29599         * m4/strcase.m4: New file.
29600
29601         Module strdup.
29602         * m4/strdup.m4: New file.
29603
29604         Module strnlen.
29605         * m4/strnlen.m4: New file.
29606
29607         Module strndup.
29608         * m4/strndup.m4: New file.
29609
29610         Module xstrtod.
29611         * m4/xstrtod.m4: New file.
29612
29613         Module xstrtol.
29614         * m4/xstrtol.m4: New file.
29615
29616         Module getdate.
29617         * m4/getdate.m4: New file.
29618
29619         Module unlocked-io.
29620         * m4/unlocked-io.m4: Renamed from jm-glibc-io.m4.
29621         (jm_FUNC_GLIBC_UNLOCKED_IO): Invoke AC_GNU_SOURCE. Use onceonly macros.
29622         * m4/jm-glibc-io.m4n: Remove file.
29623
29624         Module long-options.
29625         * m4/long-options.m4: New file.
29626
29627         Module md5.
29628         * m4/md5.m4: New file.
29629
29630         Module sha.
29631         * m4/sha.m4: New file.
29632
29633         Module getstr.
29634         * m4/getstr.m4: New file.
29635
29636         Module getline.
29637         * m4/getline.m4 (gl_PREREQ_GETLINE): New macro.
29638         (AM_FUNC_GETLINE): Invoke AC_GNU_SOURCE. Use <stdlib.h>, not
29639         <sys/types.h>, for size_t. Use the function name gnu_getline, not
29640         simply getline. Infoke gl_PREREQ_GETLINE.
29641
29642         Module obstack.
29643         * m4/obstack.m4: New file.
29644
29645         Module hash.
29646         * m4/hash.m4: New file.
29647
29648         Module readtokens.
29649         * m4/readtokens.m4: New file.
29650
29651         Module strverscmp.
29652         * m4/strverscmp.m4: New file.
29653
29654         Module stdbool.
29655         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Add test for _Bool. Needed for
29656         OSF/1.
29657
29658         Module strtoll.
29659         * m4/strtoll.m4: New file.
29660
29661         Module strtoull.
29662         * m4/strtoull.m4: New file.
29663
29664         Module strtoimax.
29665         * m4/strtoimax.m4: New file.
29666
29667         Module strtoumax.
29668         * m4/strtoumax.m4: New file.
29669
29670         Module xstrtoimax.
29671         * m4/xstrtoimax.m4 (jm_XSTRTOIMAX): Renamed from
29672         jm_AC_PREREQ_XSTRTOIMAX.
29673         Moved the strtol prerequisites to strtol.m4.
29674         Moved the strtoll prerequisites to strtoll.m4.
29675         Moved the strtoimax prerequisites to strtoimax.m4.
29676
29677         Module xstrtoumax.
29678         * m4/xstrtoumax.m4 (jm_XSTRTOUMAX): Renamed from
29679         jm_AC_PREREQ_XSTRTOUMAX.
29680         Moved the strtoul prerequisites to strtoul.m4.
29681         Moved the strtoull prerequisites to strtoull.m4.
29682         Moved the strtoumax prerequisites to strtoumax.m4.
29683
29684         Module chown.
29685         * m4/chown.m4 (gl_PREREQ_CHOWN): New macro.
29686         (jm_FUNC_CHOWN): Use AC_FUNC_CHOWN. Invoke gl_PREREQ_CHOWN.
29687
29688         Module dup2.
29689         * m4/dup2.m4: New file.
29690
29691         Module ftruncate.
29692         * m4/ftruncate.m4 (gl_PREREQ_FTRUNCATE): New macro.
29693         (jm_FUNC_FTRUNCATE): Use AC_REPLACE_FUNCS. Invoke gl_PREREQ_FTRUNCATE.
29694
29695         Module getgroups.
29696         * m4/getgroups.m4 (gl_PREREQ_GETGROUPS): New macro.
29697         (jm_FUNC_GETGROUPS): Use AC_FUNC_GETGROUPS. Invoke gl_PREREQ_GETGROUPS.
29698
29699         Module gettimeofday.
29700         * m4/gettimeofday.m4 (gl_PREREQ_GETTIMEOFDAY): New macro.
29701         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use onceonly macros. Invoke
29702         gl_PREREQ_GETTIMEOFDAY.
29703
29704         Module mkdir.
29705         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): New macro.
29706         (UTILS_FUNC_MKDIR_TRAILING_SLASH): Invoke gl_PREREQ_MKDIR.
29707
29708         Module mkstemp.
29709         * m4/mkstemp.m4 (gl_PREREQ_MKSTEMP): New macro.
29710         (jm_PREREQ_TEMPNAME): New macro, from prereq.m4. Also invoke
29711         jm_AC_TYPE_UINTMAX_T.
29712         (UTILS_FUNC_MKSTEMP): Invoke gl_PREREQ_MKSTEMP and jm_PREREQ_TEMPNAME.
29713
29714         Module stat.
29715         * m4/stat.m4 (gl_PREREQ_STAT): New macro.
29716         (jm_FUNC_STAT): Use AC_FUNC_STAT. Invoke gl_PREREQ_STAT.
29717
29718         Module lstat.
29719         * m4/lstat.m4 (gl_PREREQ_LSTAT): New macro.
29720         (jm_FUNC_LSTAT): Use AC_FUNC_LSTAT. Invoke gl_PREREQ_LSTAT.
29721
29722         Module timespec.
29723         * m4/timespec.m4 (gl_TIMESPEC): New macro.
29724         (jm_CHECK_TYPE_STRUCT_TIMESPEC): Add check for <sys/time.h>.
29725         * m4/st_mtim.m4: Indentation.
29726
29727         Module nanosleep.
29728         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): New macro.
29729         (jm_FUNC_NANOSLEEP): Add check for <sys/time.h>. Invoke
29730         gl_PREREQ_NANOSLEEP.
29731
29732         Module regex.
29733         * m4/regex.m4 (jm_PREREQ_REGEX): New macro.
29734         (jm_INCLUDED_REGEX): Invoke jm_PREREQ_REGEX.
29735         (gl_REGEX): New macro.
29736
29737         Module rename.
29738         * m4/rename.m4 (gl_PREREQ_RENAME): New macro.
29739         (vb_FUNC_RENAME): Invoke gl_PREREQ_RENAME.
29740
29741         Module rmdir.
29742         * m4/rmdir.m4: New file.
29743
29744         Module utime.
29745         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Use onceonly macros.
29746         * m4/utime.m4 (gl_PREREQ_UTIME): New macro.
29747         (jm_FUNC_UTIME): Invoke gl_PREREQ_UTIME.
29748
29749         Module dirname.
29750         * m4/dirname.m4: New file.
29751
29752         Module getopt.
29753         * m4/getopt.m4: New file.
29754
29755         Module unistd-safer.
29756         * m4/unistd-safer.m4: New file.
29757
29758         Module fnmatch.
29759         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Include <stdlib.h>, for exit()
29760         declaration.
29761         (gl_PREREQ_FNMATCH_EXTRA): New macro.
29762         (gl_FUNC_FNMATCH_POSIX): New macro.
29763         (gl_FUNC_FNMATCH_GNU): Renamed from AC_FUNC_FNMATCH_GNU. Invoke
29764         gl_PREREQ_FNMATCH_EXTRA. Use the function name gnu_fnmatch, not
29765         simply fnmatch.
29766
29767         Module exclude.
29768         * m4/exclude.m4: New file.
29769
29770         Module human.
29771         * m4/human.m4: New file.
29772
29773         Module acl.
29774         * m4/acl.m4: Nop.
29775
29776         Module backupfile.
29777         * m4/backupfile.m4: New file.
29778         * m4/d-ino.m4: Indentation.
29779
29780         Module fsusage.
29781         * m4/fsusage.m4 (gl_FSUSAGE): New macro.
29782         (jm_STATFS_TRUNCATES): New macro, from coreutils-4.5.4/configure.ac.
29783         (gl_PREREQ_FSUSAGE_EXTRA): New macro.
29784
29785         Module dirfd.
29786         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Invoke some AC_EGREP_CPP
29787         requirements.
29788
29789         Module euidaccess.
29790         * m4/euidaccess.m4: New file.
29791
29792         Module file-type.
29793         * m4/file-type.m4: New file.
29794
29795         Module fileblocks.
29796         * m4/fileblocks.m4: New file.
29797
29798         Module filemode.
29799         * m4/filemode.m4: New file.
29800
29801         Module isdir.
29802         * m4/isdir.m4: New file.
29803
29804         Module lchown.
29805         * m4/lchown.m4 (gl_PREREQ_LCHOWN): New macro.
29806         (jm_FUNC_LCHOWN): Invoke gl_PREREQ_LCHOWN.
29807
29808         Module makepath.
29809         * m4/makepath.m4: New file.
29810
29811         Module modechange.
29812         * m4/modechange.m4: New file.
29813
29814         Module mountlist.
29815         * m4/mountlist.m4: New file.
29816         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Use onceonly macros.
29817         Indentation.
29818
29819         Module path-concat.
29820         * m4/path-concat.m4: New file.
29821
29822         Module pathmax.
29823         * m4/pathmax.m4: New file.
29824
29825         Module same.
29826         * m4/same.m4: New file.
29827
29828         Module save-cwd.
29829         * m4/save-cwd.m4: New file.
29830
29831         Module savedir.
29832         * m4/savedir.m4: New file.
29833
29834         Module xgetcwd.
29835         * m4/xgetcwd.m4: New file.
29836         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Use onceonly macros.
29837
29838         Module xreadlink.
29839         * m4/xreadlink.m4: New file.
29840
29841         Module safe-read.
29842         * m4/safe-read.m4: New file.
29843
29844         Module safe-write.
29845         * m4/safe-write.m4: New file.
29846
29847         Module closeout.
29848         * m4/closeout.m4: New file.
29849
29850         Module stdio-safer.
29851         * m4/stdio-safer.m4: New file.
29852
29853         Module getpass.
29854         * m4/getpass.m4: New file.
29855
29856         Module getugroups.
29857         * m4/getugroups.m4: New file.
29858
29859         Module group-member.
29860         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): New macro.
29861         (jm_FUNC_GROUP_MEMBER): Invoke AC_GNU_SOURCE, gl_PREREQ_GROUP_MEMBER.
29862
29863         Module idcache.
29864         * m4/idcache.m4: New file.
29865
29866         Module userspec.
29867         * m4/userspec.m4: New file.
29868
29869         Module gettime.
29870         * m4/clock_time.m4: New file.
29871         * m4/gettime.m4: New file.
29872
29873         Module settime.
29874         * m4/settime.m4: New file.
29875
29876         Module posixtm.
29877         * m4/posixtm.m4: New file.
29878
29879         Module gethostname.
29880         * m4/gethostname.m4: New file.
29881
29882         Module canon-host.
29883         * m4/canon-host.m4: New file.
29884
29885         Module gettext.
29886         * m4/codeset.m4: New file, from gettext-0.11.5.
29887         * m4/gettext.m4: New file, from gettext-0.11.5.
29888         * m4/glibc21.m4: New file, from gettext-0.11.5.
29889         * m4/iconv.m4: New file, from gettext-0.11.5.
29890         * m4/intdiv0.m4: New file, from gettext-0.11.5.
29891         * m4/inttypes-pri.m4: New file, from gettext-0.11.5.
29892         * m4/inttypes.m4: New file, from gettext-0.11.5.
29893         * m4/inttypes_h.m4: New file, from gettext-0.11.5 with modifications.
29894         * m4/isc-posix.m4: New file, from gettext-0.11.5.
29895         * m4/lcmessage.m4: New file, from gettext-0.11.5.
29896         * m4/lib-ld.m4: New file, from gettext-0.11.5.
29897         * m4/lib-link.m4: New file, from gettext-0.11.5.
29898         * m4/lib-prefix.m4: New file, from gettext-0.11.5.
29899         * m4/progtest.m4: New file, from gettext-0.11.5.
29900         * m4/stdint_h.m4: New file, from gettext-0.11.5 with modifications.
29901         * m4/uintmax_t.m4: New file, from gettext-0.11.5 with modifications.
29902         * m4/ulonglong.m4: New file, from gettext-0.11.5 with modifications.
29903
29904         Module localcharset.
29905         * m4/localcharset.m4: New file.
29906
29907         Module hard-locale.
29908         * m4/hard-locale.m4: New file.
29909
29910         Module mbswidth.
29911         * m4/mbswidth.m4 (gl_MBSWIDTH): Renamed from jm_PREREQ_MBSWIDTH. Use
29912         onceonly macros.
29913         * m4/mbrtowc.m4: Add comment.
29914
29915         Module memcasecmp.
29916         * m4/memcasecmp.m4: New file.
29917
29918         Module memcoll.
29919         * m4/memcoll.m4: New file.
29920
29921         Module unicodeio.
29922         * m4/unicodeio.m4: New file.
29923
29924         Module rpmatch.
29925         * m4/rpmatch.m4: New file.
29926
29927         Module yesno.
29928         * m4/yesno.m4: New file.
29929
29930         Module exitfail.
29931         * m4/exitfail.m4: New file.
29932
29933         Module c-stack.
29934         * m4/c-stack.m4 (gl_C_STACK): New macro.
29935         (jm_PREREQ_C_STACK): Check for <sys/time.h>. Use onceonly macros.
29936
29937         Module error.
29938         * m4/error.m4 (gl_ERROR): New macro.
29939         (jm_PREREQ_ERROR): Use onceonly macros.
29940
29941         Module fatal.
29942         * m4/fatal.m4: New file.
29943
29944         Module getloadavg.
29945         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Use onceonly macros.
29946         (gl_FUNC_GETLOADAVG, gl_PREREQ_GETLOADAVG): New macros.
29947
29948         Module getpagesize.
29949         * m4/getpagesize.m4: New file.
29950
29951         Module getusershell.
29952         * m4/getusershell.m4: New file.
29953
29954         Module physmem.
29955         * m4/physmem.m4: New file.
29956
29957         Module posixver.
29958         * m4/posixver.m4: New file.
29959
29960         Module quotearg.
29961         * m4/quotearg.m4: New file.
29962
29963         Module quote.
29964         * m4/quote.m4: New file.
29965
29966         Module readutmp.
29967         * m4/readutmp.m4: New file, based on jm_PREREQ_READUTMP from prereq.m4.
29968
29969         Module sig2str.
29970         * m4/sig2str.m4: New file.
29971
29972         Other.
29973         * m4/longlong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Remove, moved to
29974         ulonglong.m4.
29975         * m4/intmax_t.m4: New file.
29976         * m4/d-type.m4: Indentation.
29977         * m4/jm-macros.m4: Update.
29978         * m4/prereq.m4 (jm_PREREQ): Update.
29979         (jm_PREREQ_ADDEXT): Remove, obsoleted by backupfile.m4.
29980         (jm_PREREQ_CANON_HOST): Remove, obsoleted by canon-host.m4.
29981         (jm_PREREQ_DIRNAME): Remove, obsoleted by dirname.m4.
29982         (jm_PREREQ_EXCLUDE): Remove, obsoleted by exclude.m4.
29983         (jm_PREREQ_GETPAGESIZE): Remove, obsoleted by getpagesize.m4.
29984         (jm_PREREQ_HARD_LOCALE): Remove, obsoleted by hard-locale.m4.
29985         (jm_PREREQ_HASH): Remove, obsoleted by hash.m4.
29986         (jm_PREREQ_HUMAN): Remove, obsoleted by human.m4.
29987         (jm_PREREQ_MEMCHR): Remove, obsoleted by memchr.m4.
29988         (jm_PREREQ_PHYSMEM): Remove, obsoleted by physmem.m4.
29989         (jm_PREREQ_POSIXVER): Remove, obsoleted by posixver.m4.
29990         (jm_PREREQ_QUOTEARG): Remove, obsoleted by quotearg.m4.
29991         (jm_PREREQ_READUTMP): Remove, obsoleted by readutmp.m4.
29992         (jm_PREREQ_REGEX): Remove, obsoleted by regex.m4.
29993         (jm_PREREQ_STRNLEN): Remove, obsoleted by strnlen.m4.
29994         (jm_PREREQ_TEMPNAME): Remove, obsoleted by mkstemp.m4.
29995         (jm_PREREQ_XGETCWD): Remove, obsoleted by xgetcwd.m4.
29996         (jm_PREREQ_XREADLINK): Remove, obsoleted by xreadlink.m4.
29997         * m4/readdir.m4 (jm_FUNC_READDIR): Use onceonly macros.
29998
29999 2002-12-24  Bruno Haible  <bruno@clisp.org>
30000
30001         * MODULES.txt: Update according to m4/ changes.
30002
30003         Module gettext.
30004         * config.rpath: New file, from gettext-0.11.5.
30005
30006         * modules/*: New module descriptions.
30007         * gnulib-tool: New file.
30008         * MODULES.html.sh: New file.
30009
30010 2002-12-21  Karl Berry  <karl@gnu.org>
30011
30012         * doc/fdl.texi: update to version 1.2.
30013
30014 2002-12-19  Karl Berry  <karl@gnu.org>
30015
30016         * config/config.guess: update from prep.
30017
30018 2002-12-18  Bruno Haible  <bruno@clisp.org>
30019
30020         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't test for localtime_r.
30021         * m4/jm-mktime.m4 (jm_FUNC_MKTIME): Likewise.
30022
30023 2002-12-17  Bruno Haible  <bruno@clisp.org>
30024
30025         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Remove checks for limits.h,
30026         stdlib.h, string.h.
30027
30028 2002-12-17  Bruno Haible  <bruno@clisp.org>
30029
30030         * lib/canon-host.c (strdup): Remove unused declaration.
30031
30032         * lib/fsusage.c: Include full_read.h.
30033         (get_fs_usage): Use full_read instead of safe_read.
30034
30035         * lib/utime.c (utime_null): Use SAFE_READ_ERROR.
30036
30037 2002-12-12  Karl Berry  <karl@gnu.org>
30038
30039         * config/config.guess: update from prep.
30040
30041 2002-12-11  Bruno Haible  <bruno@clisp.org>
30042
30043         * m4/setenv.m4: New file, from gettext-0.11.5.
30044
30045 2002-12-11  Bruno Haible  <bruno@clisp.org>
30046
30047         * lib/setenv.h: Rewritten to cope with systems that have setenv() but
30048         not unsetenv().
30049         * lib/setenv.c, unsetenv.c: Taken from glibc-2.2.4 with the following
30050         modifications:
30051
30052         2002-12-11  Bruno Haible  <bruno@clisp.org>
30053
30054                 * setenv.c (alloca): Fall back to malloc.
30055                 (freea): New macro.
30056                 (setenv): Use freea() to free memory allocated with alloca().
30057
30058         2002-11-13  Bruno Haible  <bruno@clisp.org>
30059
30060                 * setenv.c (compar_fn_t, __add_to_environ, setenv): Use ANSI C
30061                 function declarations.
30062                 * unsetenv.c (unsetenv): Likewise.
30063
30064         2002-03-04  Bruno Haible  <bruno@clisp.org>
30065
30066                 Portability to AIX 4.3.3.
30067                 * unsetenv.c: New file, extracted from setenv.c.
30068                 * setenv.c: Move the unsetenv() function to unsetenv.c.
30069
30070         2001-12-20  Bruno Haible  <bruno@clisp.org>
30071
30072                 * setenv.c (__add_to_environ): Don't call realloc(NULL,...),
30073                 use malloc instead. For SunOS 4.
30074
30075         2001-12-11  Bruno Haible  <bruno@clisp.org>
30076
30077                 * setenv.c: Declare alloca.
30078                 (compar_fn_t): New typedef.
30079                 (KNOWN_VALUE, STORE_VALUE): Use it.
30080
30081         * lib/Makefile.am (libfetish_a_SOURCES): Add setenv.c, unsetenv.c,
30082         setenv.h.
30083
30084 2002-12-10  Paul Eggert  <eggert@twinsun.com>
30085
30086         Port exclude.c and exclude.h to more non-GNU systems, e.g. Solaris 7.
30087         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE, EXCLUDE_WILDCARDS):
30088         Choose values that are less likely to collide with system fnmatch
30089         options.
30090         * lib/exclude.c (FNM_CASEFOLD, FNM_LEADING_DIR): Define to 0 if not
30091         defined (e.g., a pure POSIX system).
30092         (EXCLUDE_macros_do_not_collide_with_FNM_macros): Use FNM_PATHNAME
30093         instead of FNM_FILE_NAME, for compatibility with pure POSIX sytems.
30094
30095 2002-12-06  Paul Eggert  <eggert@twinsun.com>
30096
30097         Undo the 2001-07-02 change for jm-glibc-io, as it was too much of
30098         a pain in practice to deal with generated m4 files.  This change
30099         goes together with the 2002-12-04 unlocked-io.h change in ../lib.
30100
30101         * m4/Makefile.am.in (Makefile.am): Don't mention jm-glibc-io.m4n
30102         and jm-glibc-io.m4, as they are no longer a special case.
30103         * m4/jm-glibc-io.m4: Rename from jm-glibc-io.m4n, and remove the
30104         kludge and the auto-generation stuff.  Check only whether the
30105         functions are declared, not whether they exist, since older hosts
30106         that don't declare the functions can't use the optimization anyway.
30107
30108 2002-12-06  Jim Meyering  <jim@meyering.net>
30109
30110         * lib/error.c: Be consistent: change `#ifndef _LIBC' to `#if !_LIBC'.
30111
30112         Merge in changes from libc's misc/error.c, in preparation
30113         for the merge of gnulib's changes back into libc.
30114
30115         * lib/error.c (_): Define only if not already defined.
30116         Move definition to follow all #include directives.
30117         Include unlocked-io.h only if !_LIBC.
30118         [_LIBC]: Include <libio/libioP.h>.
30119         [USE_IN_LIBIO]: Include <libio/iolibio.h>
30120         (fflush): Tweak definition to use INTUSE.
30121         (putc): Define.
30122
30123 2002-12-05  Paul Eggert  <eggert@twinsun.com>
30124
30125         * lib/alloca.c [defined emacs]: Include "lisp.h".
30126         (xalloc_die) [defined emacs]: New macro.
30127         (free) [defined emacs && defined EMACS_FREE]: Define to EMACS_FREE.
30128         [! defined emacs]: Include <xalloc.h>.
30129         (POINTER_TYPE) [!defined POINTER_TYPE]: New macro.
30130         (pointer): Typedef to POINTER_TYPE *.
30131         (malloc): Remove decl; we now always use xmalloc.
30132         (alloca): Use old-style definition, since Emacs needs this.
30133         Check for arithmetic overflow when computing combined size.
30134
30135 2002-12-04  Paul Eggert  <eggert@twinsun.com>
30136
30137         Do not generate unlocked-io.h automatically, since it's easier to
30138         maintain it by hand.
30139
30140         * lib/unlocked-io.h: New file, from GNU diffutils,
30141         but with proper copyright notice and attribution.
30142         * lib/gen-uio: Remove.
30143         * lib/Makefile.am: Add copyright notice.
30144         (libfetish_a_SOURCES): Add unlocked-io.h.
30145         (BUILT_SOURCES, all-local): Remove unlocked-io.h.
30146         (DISTCLEANFILES, io_functions): Remove macros.
30147         (EXTRA_DIST): Remove gen_uio.
30148         (unlocked-io.h): Remove rule.
30149
30150 2002-12-04  Jim Meyering  <jim@meyering.net>
30151
30152         Reflect the fact that stat.c and lstat.c are no longer generated.
30153         * lib/Makefile.am (BUILT_SOURCES): Remove stat.c and lstat.c.
30154         (DISTCLEANFILES): Likewise.
30155         (EXTRA_DIST): Likewise.
30156         (all_local): Don't depend on stat.c or lstat.c.
30157         (stat.c, lstat.c): Remove rules.
30158         (EXTRA_DIST): Remove xstat.in.
30159
30160         * lib/xstat.in: Remove file.  Contents moved into stat.c.
30161         * lib/stat.c: New file.  Contents mostly from xstat.in.
30162         * lib/stat.c: Rework so that it may serve to define rpl_lstat, too.
30163         * lib/lstat.c: New file. Simply #define LSTAT and include stat.c.
30164
30165         * lib/safe-read.c: Rework so that it may serve to define safe_write,
30166         too.
30167         * lib/safe-write.c: Simply #define SAFE_WRITE and include safe-read.c.
30168
30169 2002-12-03  Jim Meyering  <jim@meyering.net>
30170
30171         * lib/safe-read.c, safe-write.c: Change variable names and comments,
30172         but not semantics, to minimize the differences between these two files.
30173         (safe_read): Change comment to mention SAFE_READ_ERROR.
30174
30175         * lib/safe-read.c (IS_EINTR): Define.
30176         (safe_read): Use IS_EINTR in place of in-function cpp directives.
30177
30178 2002-12-02  Jim Meyering  <jim@meyering.net>
30179
30180         * lib/safe-read.c (EINTR): Define.
30181         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
30182         (INT_MAX): Provide fallback.
30183         (safe_read): Rewrite to iterate IFF the read fails with EINTR.
30184
30185         * lib/safe-read.h (SAFE_READ_ERROR): Define.
30186
30187 2002-12-02  Bruno Haible  <bruno@clisp.org>
30188
30189         * lib/safe-write.c (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM):
30190         Define, taken from safe-read.c.
30191         (INT_MAX): Provide fallback.
30192         (safe_write): Rewrite to iterate IFF the write fails with EINTR.
30193         * lib/safe-write.h (SAFE_WRITE_ERROR): Define.
30194
30195         * lib/safe-read.c (EINTR): Remove definition.
30196         (safe_read): Don't use EINTR if it is absent.
30197
30198 2002-12-01  Jim Meyering  <jim@meyering.net>
30199
30200         * lib/safe-read.c: (safe_read): Also exit the loop when read returns
30201         zero.
30202         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM, INT_MAX): Define.
30203
30204 2002-11-27  Paul Eggert  <eggert@twinsun.com>
30205
30206         * lib/hash.c (hash_lookup, hash_get_first, hash_get_next,
30207         hash_find_entry, hash_rehash): Replace `if (limit <= value) abort ();'
30208         with `if (! (value < limit)) abort ();', for readability.
30209
30210 2002-11-26  Karl Berry  <karl@gnu.org>
30211
30212         * lib/strdup.c: copy from libc again, with jim's ok.
30213         * lib/.cppi-disable: re-add strdup.c
30214
30215 2002-11-25  Karl Berry  <karl@gnu.org>
30216
30217         * lib/strtoll.c: copy from libc, meaning we now #include <strtol.c>
30218         instead of "strtol.c".
30219
30220 2002-11-25  Karl Berry  <karl@gnu.org>
30221
30222         * config/install-sh: update from automake for variable quoting, $0 in
30223         error msgs, etc.
30224
30225         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): new entry.
30226         * config/srclist.txt ($LIBCSRC/sysdeps/generic/strtoll.c lib gpl): new
30227         entry.
30228
30229 2002-11-25  Jim Meyering  <jim@meyering.net>
30230
30231         * lib/mktime.c: Sync from libc, now that it has the latest fix.
30232
30233 2002-11-24  Karl Berry  <karl@gnu.org>
30234
30235         * lib/error.c, getopt.c, getopt.h, getopt1.c, obstack.c, regex.c,
30236         regex.h, strdup.c, strtoll.c, tempname.c: change license to gpl.
30237
30238 2002-11-24  Jim Meyering  <jim@meyering.net>
30239
30240         Update from coreutils:
30241
30242         * lib/mktime.c: Merge in changes from libc.
30243
30244         Avoid a link-time failure on some Linux systems.
30245         * lib/mktime.c (STATIC): Define to be empty (_LIBC) or `static'
30246         (otherwise).
30247         (__mon_yday): Declare with the STATIC attribute.
30248         (__mktime_internal): Likewise.
30249         Based on a report from Greg Schafer.
30250
30251 2002-11-23  Jim Meyering  <jim@meyering.net>
30252
30253         * lib/sig2str.c (str2signum, sig2str): Avoid a warning from gcc:
30254         Use `unsigned', not `int', as type of index.
30255
30256         * lib/xstat.in [@BEGIN_LSTAT_ONLY@]: Include <string.h>.
30257
30258         * lib/fsusage.c: Remove unneeded parentheses around operands of
30259         `defined'.
30260
30261 2002-11-22  Paul Eggert  <eggert@twinsun.com>
30262
30263         * lib/quotearg.h: Allow multiple inclusion by surrounding with
30264         "#ifndef QUOTEARG_H_".  Include <stddef.h>, for size_t,
30265         so that we can be included first.
30266         (PARAMS): Remove; we now assume C89 or later.  All uses removed.
30267         * lib/quotearg.c: Include quotearg.h immediately after config.h.
30268         No need to include stddef.h or sys/types.h any more.
30269         Surround local include files with "", not "<>".
30270         Assume HAVE_LIMITS_H unconditionally, as we assume C89.
30271         Similarly, assume HAVE_C_BACKSLASH_A, CHAR_BIT, UCHAR_MAX, UINT_MAX,
30272         HAVE_STDLIB_H, HAVE_STRING_H, STDC_HEADERS.
30273         (HAVE_MBSINIT): Undef if !HAVE_MBRTOWC.
30274         (mbsinit): Define to 1 if !defined mbsinit && !HAVE_MBSINIT.
30275         (ISPRINT): Remove; no longer needed now that we assume C89.
30276
30277         (clone_quoting_options, quotearg_buffer, quotearg_n_options):
30278         Preserve errno.
30279
30280         (quotearg_buffer_restyled, quotearg_n, quotearg_n_style,
30281         quotearg_char): Use SIZE_MAX rather than
30282         (size_t) -1 when we are talking about "infinity".
30283
30284         (quotearg_buffer_restyled): Fix bug when quoting trigraphs.
30285
30286 2002-11-22  Paul Eggert  <eggert@twinsun.com>
30287
30288         * lib/hash.c: Avoid use of <assert.h>, as the GNU Coding Standards
30289         hint that one should use `if (! x) abort ();' rather than `assert
30290         (x);', and anyway it's one less thing to worry about configuring.
30291         (hash_lookup, hash_get_first, hash_get_next, hash_find_entry,
30292         hash_rehash, hash_insert): Use abort rather than assert.
30293
30294 2002-11-22  Bruno Haible  <bruno@clisp.org>
30295
30296         * lib/safe-read.h: Assume C89. Add comments.
30297         (safe_read): Change return type to size_t.
30298         * lib/safe-read.c (safe_read): Change return type to size_t. Handle
30299         byte counts > SSIZE_MAX correctly.
30300         * lib/safe-write.h: New file.
30301         * lib/safe-write.c: New file.
30302         * lib/full-read.h: New file.
30303         * lib/full-read.c: New file.
30304         * lib/full-write.h: Assume C89. Add comments.
30305         * lib/full-write.c: Include safe-write.h.
30306         (full_write): Rewritten to use safe_write.
30307         Suggested by Jim Meyering and Paul Eggert.
30308
30309 2002-11-21  Jim Meyering  <jim@meyering.net>
30310
30311         * lib/strdup.c (strdup): Tweak comment and initial #if/#include.
30312
30313         Merge in changes from the coreutils.
30314
30315         2002-09-25  Paul Eggert  <eggert@twinsun.com>
30316         * lib/fsusage.c [! HAVE_INTTYPES_H && HAVE_STDINT_H] Include
30317         <stdint.h>.
30318         (UINTMAX_MAX) [!defined UINTMAX_MAX]: New macro.
30319         (PROPAGATE_ALL_ONES): Work even if X is unsigned and narrower than
30320         int.  Work more efficiently if X is the same width as uintmax_t.
30321         Do not compare X to -1, to avoid bogus compiler warning.
30322         (get_fs_usage): (uintmax_t) -1 -> UINTMAX_MAX to avoid a cast.
30323         Don't assume that f_frsize and f_bsize are the same type.
30324
30325         * lib/mountlist.c: #undef MNT_IGNORE before defining it, to avoid
30326         warning on FreeBSD.
30327
30328         * lib/makepath.c (make_path): Restore umask *before* creating the final
30329         component.
30330         (make_path): Minor reformatting.
30331
30332         * lib/xmalloc.c: Adjust to work with new autoconf macros,
30333         AC_FUNC_MALLOC and AC_FUNC_REALLOC: test #ifndef
30334         HAVE_MALLOC/HAVE_REALLOC.
30335
30336         * lib/mountlist.h (ME_DUMMY): Don't count entries of type `auto' as
30337         dummy ones.  At least on GNU/Linux systems, `auto' means something
30338         else.
30339         From Michael Stone.
30340
30341 2002-11-21  Bruno Haible  <bruno@clisp.org>
30342
30343         Remove case insensitive option matching.
30344         * lib/argmatch.h (argcasematch): Remove declaration.
30345         (ARGCASEMATCH): Remove macro.
30346         (__xargmatch_internal): Remove case_sensitive argument.
30347         (XARGMATCH): Update.
30348         (XARGCASEMATCH): Remove macro.
30349         * lib/argmatch.c (argmatch): Renamed from __argmatch_internal. Remove
30350         case_sensitive argument.
30351         (argcasematch): Remove function.
30352         (__xargmatch_internal): Remove case_sensitive argument.
30353         (main): Use XARGMATCH instead of XARGCASEMATCH.
30354
30355         * lib/xmalloc.c: Change compile-time error message. Add comment about
30356         required autoconf version.
30357
30358 2002-11-20  Paul Eggert  <eggert@twinsun.com>
30359
30360         Merge argmatch cleanups from Bison.  Assume C89.
30361
30362         * lib/argmatch.c: Include config.h here, not in argmatch.h.
30363         Include stdlib.h, for EXIT_FAILURE.
30364         Always include <string.h>, since we assume C89.
30365         (EXIT_FAILURE): Remove pre-C89 bug workaround.
30366         * lib/argmatch.h: Do not include <config.h> or <sys/types.h>.
30367         Include <stddef.h> instead, since it's all we need for size_t.
30368         (PARAMS): Remove.  All uses removed.
30369         (ARRAY_CARDINALITY): Do not bother to #undef.
30370         (ARRAY_CARDINALITY, ARGMATCH, ARGCASEMATCH, invalid_arg,
30371         ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
30372         Remove unnecessary parentheses.
30373         (ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
30374         Insert necessary parentheses.
30375         (ARGMATCH_CONSTRAINT, ARGMATCH_VERIFY): New macros.
30376         (ARGMATCH_ASSERT): Use ARGMATCH_CONSTRAINT.
30377
30378 2002-11-19  Bruno Haible  <bruno@clisp.org>
30379
30380         * lib/mbswidth.c: Include mbswidth.h right at the beginning.
30381         * lib/mbswidth.h: Include <stddef.h>, for size_t.
30382
30383         * lib/mbswidth.h (PARAMS): Remove macro.
30384         (mbswidth, mbsnwidth): Use ANSI C function declarations.
30385         * lib/mbswidth.c (mbswidth, mbsnwidth): Likewise.
30386
30387         * lib/gcd.h (PARAMS): Remove macro.
30388         (gcd): Use ANSI C function declarations.
30389         * lib/gcd.c (gcd): Likewise.
30390
30391 2002-11-15  Bruno Haible  <bruno@clisp.org>
30392
30393         * lib/strcspn.c: Include <stddef.h>.
30394         (strcspn): Use ANSI C function declaration. Change return type to
30395         size_t. Use NULL.
30396         * lib/strpbrk.c: Minimize diffs to glibc. Include <stddef.h>.
30397         (strpbrk): Use NULL.
30398         * lib/strpbrk.h (PARAMS): Remove macro.
30399         (strpbrk): Use ANSI C function declaration.
30400         * lib/strstr.c: Don't include <sys/types.h>.
30401         * lib/strstr.h (PARAMS): Remove macro.
30402         (strstr): Use ANSI C function declarations.
30403
30404 2002-11-14  Karl Berry  <karl@gnu.org>
30405
30406         * config/mkinstalldirs: `do' on separate line, instead of
30407         `for var; do'.
30408
30409 2002-11-06  Bruno Haible  <bruno@clisp.org>
30410
30411         * lib/gcd.h (gcd): Change argument type to 'unsigned long'.
30412         * lib/gcd.c (gcd): Likewise.
30413
30414 2002-11-05  Bruno Haible  <bruno@clisp.org>
30415
30416         * lib/gcd.h: New file, from gettext-0.11.5.
30417         * lib/gcd.c: New file, from gettext-0.11.5.
30418
30419 2002-11-05  Bruno Haible  <bruno@clisp.org>
30420
30421         * lib/error.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
30422         * lib/getopt.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
30423         * lib/obstack.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
30424         * lib/regex.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
30425
30426         * lib/argmatch.c: Include gettext.h instead of <locale.h> and
30427         <libintl.h>.
30428         * lib/makepath.c: Include gettext.h instead of <locale.h> and
30429         <libintl.h>.
30430
30431         * lib/closeout.c: Include gettext.h instead of <libintl.h>.
30432         * lib/human.c: Include gettext.h instead of <libintl.h>.
30433         * lib/quotearg.c: Include gettext.h instead of <libintl.h>.
30434         * lib/rpmatch.c: Include gettext.h instead of <libintl.h>.
30435         * lib/unicodeio.c: Include gettext.h instead of <libintl.h>.
30436         * lib/userspec.c: Include gettext.h instead of <libintl.h>.
30437         * lib/version-etc.c: Include gettext.h instead of <libintl.h>.
30438         * lib/xmalloc.c: Include gettext.h instead of <libintl.h>.
30439         (textdomain): Remove definition.
30440         * lib/xmemcoll.c: Include gettext.h instead of <libintl.h>.
30441
30442         * lib/long-options.c: Remove include of <libintl.h> and definition of
30443         _.
30444         * lib/same.c: Remove include of <libintl.h> and definition of _.
30445
30446 2002-11-04  Owen Taylor  <otaylor@redhat.com>
30447
30448         * lib/config.charset: A few additions for Solaris.
30449
30450 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
30451
30452         Make it possible to build libcharset with CC=gcc CFLAGS="-x c++".
30453         * lib/localcharset.c (locale_charset): Declare as extern "C".
30454
30455 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
30456
30457         * lib/config.charset: msdos in uk_UA uses CP1125.
30458
30459 2002-11-04  Bruno Haible  <bruno@clisp.org>
30460
30461         * lib/stpcpy.h: New file, from GNU gettext-0.11.5.
30462         * lib/strcase.h: New file, from GNU gettext-0.11.5.
30463         * lib/strpbrk.h: New file, from GNU gettext-0.11.5.
30464         * lib/strstr.h: New file, from GNU gettext-0.11.5.
30465         * lib/xgetcwd.h: New file, from GNU gettext-0.11.5.
30466
30467 2002-11-04  Bruno Haible  <bruno@clisp.org>
30468
30469         * lib/localcharset.c (locale_charset): Don't return an empty string.
30470
30471 2002-11-04  Bruno Haible  <bruno@clisp.org>
30472
30473         * lib/localcharset.c (get_charset_aliases): Add more Windows specific
30474         aliases.
30475
30476 2002-11-04  Bruno Haible  <bruno@clisp.org>
30477
30478         * lib/config.charset: Update for newest glibc. Add canonical names
30479         ISO-8859-14, KOI8-T, TCVN5712-1, GEORGIAN-PS.
30480
30481 2002-11-04  Bruno Haible  <bruno@clisp.org>
30482
30483         * lib/config.charset: Add support for NetBSD.
30484
30485 2002-11-04  Bruno Haible  <bruno@clisp.org>
30486
30487         * lib/config.charset [msdosdjgpp]: For Russian, use CP866.
30488
30489 2002-11-01  Bruno Haible  <bruno@clisp.org>
30490
30491         * configure.in: Add AC_CONFIG_AUX_DIR call.
30492         (AC_OUTPUT): Add m4/Makefile, lib/Makefile. Remove doc/Makefile,
30493         test/Makefile.
30494         * Makefile.in (subdirs): Add m4, lib. Remove doc, test.
30495
30496 2002-09-28  Karl Berry  <karl@gnu.org>
30497
30498         * config/srclist.txt: can't copy install-sh/mkinstalldirs from
30499         installed automake until the next release, since changes have been
30500         made.
30501
30502 2002-09-25  Karl Berry  <karl@gnu.org>
30503
30504         * lib/strdup.c: copy from libc/string (via ../config/srclist*).
30505         * lib/getopt*: copy from libc/posix.
30506         * lib/gettext.h: copy from gettext.
30507         * lib/.cppi-disable: add strdup.c, gettext.h.
30508
30509 2002-09-25  Karl Berry  <karl@gnu.org>
30510
30511         * config/srclist.txt: enable gettext.h check.
30512         * config/config.{guess,sub}: update from prep.
30513         * config/depcomp, install-sh, mdate-sh, missing, mkinstalldirs: update
30514                 from automake 1.6.3.
30515         See srclist*.
30516
30517 2002-08-23  Stefan Monnier  <monnier@cs.yale.edu>
30518
30519         * regex.c (PATFETCH): Remove the translating fetch.
30520         (PATFETCH_RAW): Rename to PATFETCH.
30521         (set_image_of_range): New fun.
30522         (SET_RANGE_TABLE_WORK_AREA): Use it.
30523         (regex_compile): Don't translate the pattern chars so eagerly.
30524         Only do it when inserting an `exactn' bytecode or when handling
30525         a char-range.
30526         (mutually_exclusive_p): Avoid empty statement.
30527
30528 2002-07-06  Jim Meyering  <meyering@lucent.com>
30529
30530         * m4/README: Don't mention Makefile.am.in.
30531         Outline how I've tested changes to .m4 files.  Yep, it's a pain.
30532
30533 2002-07-01  Jim Meyering  <meyering@lucent.com>
30534
30535         * lib/c-stack.c: Include sys/time.h.
30536         From Volker Borchert.
30537
30538 2002-06-26  Paul Eggert  <eggert@twinsun.com>
30539
30540         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for btowc.
30541
30542 2002-06-26  Paul Eggert  <eggert@twinsun.com>
30543
30544         * lib/fnmatch.c, fnmatch_loop.c (WIDE_CHAR_SUPPORT):
30545         New macro.  Use it uniformly instead of
30546         (defined HAVE_WCTYPE_H && defined HAVE_WCHAR_H).
30547         It also uses HAVE_BTOWC, to fix a porting bug on Solaris 2.5.1
30548         reported by Vin Shelton.
30549
30550 2002-06-22  Paul Eggert  <eggert@twinsun.com>
30551
30552         * lib/c-stack.h (segv_handler, c_stack_action) [! defined SA_SIGINFO]:
30553         Do not assume SA_SIGINFO behavior.
30554         Bug reported by Jim Meyering on NetBSD 1.5.2.
30555
30556 2002-06-22  Jim Meyering  <meyering@lucent.com>
30557
30558         * m4/c-stack.m4: New file, from diffutils-2.8.2.
30559         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_C_STACK.
30560
30561         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Don't require AC__GNU_SOURCE,
30562         now that configure.ac uses AC_GNU_SOURCE.
30563         (jm_MACROS): Rename: jm_FUNC_FNMATCH to AC_FUNC_FNMATCH_GNU.
30564         * m4/prereq.m4 (jm_PREREQ_EXCLUDE): Likewise, wrt jm_FUNC_FNMATCH.
30565
30566         Update to latest tools.  Suggestions from Paul Eggert.
30567         * m4/stdbool.m4: New file, from diffutils-2.8.2.
30568         * m4/gnu-source.m4: Update from diffutils-2.8.2.
30569         * m4/fnmatch.m4: Likewise.
30570         * m4/prereq.m4: Change each use of AC_CHECK_HEADERS(stdbool.h)
30571         to AC_HEADER_STDBOOL
30572
30573 2002-06-22  Jim Meyering  <meyering@lucent.com>
30574
30575         * lib/fnmatch.c (ISASCII, ISPRINT): Undefine, to avoid warning about
30576         redefinition due to Solaris 2.6's definition in /usr/include/sys/euc.h.
30577
30578 2002-06-22  Jim Meyering  <meyering@lucent.com>
30579
30580         * lib/c-stack.c, lib/c-stack.h: New files, from diffutils-2.8.2.
30581
30582         * lib/exitfail.c, exitfail.h: Likewise.
30583         * lib/Makefile.am (libfetish_a_SOURCES): Add exitfail.c and exitfail.h.
30584
30585         * lib/Makefile.am (libfetish_a_SOURCES): Add fnmatch_.h in place
30586         of fnmatch.h.
30587         (EXTRA_DIST): Add fnmatch_loop.c.
30588         (libfetish_a_SOURCES): Add c-stack.c and c-stack.h.
30589
30590         * lib/fnmatch_loop.c: New file, from diffutils-2.8.2.
30591         * lib/fnmatch.c: Update from diffutils-2.8.2.
30592         * lib/fnmatch_.h: New file.  From diffutils-2.8.2.
30593         * lib/fnmatch.h: Remove file.
30594
30595 2002-06-21  Jim Meyering  <meyering@lucent.com>
30596
30597         * m4/c-bs-a.m4: Add comment, from diffutils-2.8.2.
30598         * m4/mbrtowc.m4: Likewise.
30599
30600         * m4/mbstate_t.m4: Update from diffutils-2.8.2.
30601         * m4/mbswidth.m4: Reflect name change:
30602         s/AC_MBSTATE_T/AC_TYPE_MBSTATE_T.
30603         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
30604
30605         * m4/lib-link.m4: Update from gettext-0.11.2.
30606         * m4/gettext.m4: Likewise.
30607
30608         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for hurd.h.
30609         From Alfred M. Szmidt.
30610
30611 2002-06-18  Paul Eggert  <eggert@twinsun.com>
30612
30613         * lib/file-type.h: Report an error if neither S_ISREG nor
30614         S_IFREG is defined, instead of using a test specific to glibc
30615         2.2.  This should be safe, since POSIX requires S_ISREG and
30616         Unix Version 7 had S_IFREG.  We don't need to check for
30617         <sys/types.h> since we don't use any symbols that it defines.
30618
30619 2002-06-15  Richard Dawe  <richdawe@bigfoot.com>
30620
30621         * lib/Makefile.am (lstat.c, stat.c, .sin.sed): Use t-$@, rather than
30622         $@-t, so that each temporary file name is unique and valid in the first
30623         8 characters, for operation under DOS.
30624
30625 2002-06-15  Paul Eggert  <eggert@twinsun.com>
30626
30627         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for st_author.
30628
30629 2002-06-15  Jim Meyering  <meyering@lucent.com>
30630
30631         Work even with DJGPP 2.03, which lacks support for symlinks.
30632         From Richard Dawe.
30633         * lib/xstat.in (S_ISLNK): Define to 0 if neither S_ISLNK nor S_IFLNK
30634         is defined.
30635         * lib/lchown.c (S_ISLNK): Likewise.
30636
30637 2002-06-15  Jim Meyering  <meyering@lucent.com>
30638
30639         * lib/file-type.h (FILE_TYPE_H): Guard entire contents with #ifndef.
30640         For GNU libc 2.2 and newer, ensure that <sys/types.h> and <sys/stat.h>
30641         have been included before this file.
30642
30643 2002-06-14  Jim Meyering  <meyering@lucent.com>
30644
30645         * lib/file-type.h: Use the version from diffutils-2.8.2.
30646         * lib/file-type.c: Likewise.
30647
30648 2002-06-07  Jim Meyering  <meyering@lucent.com>
30649
30650         * m4/prereq.m4 (jm_PREREQ_STAT): Check for sys/param.h and sys/mount.h.
30651         They're needed at least for NetBSD 1.5.2.
30652         ($statxfs_includes): Include those same headers.
30653         ($statxfs_includes): Include sys/vfs.h if available.
30654         ($statxfs_includes): Likewise for sys/statvfs.h.
30655         Check for the following members in both structs statfs and statvfs:
30656         f_basetype, f_type, f_fsid.__val, f_namemax, f_namelen.
30657
30658 2002-06-01  Jim Meyering  <meyering@lucent.com>
30659
30660         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename macro:
30661         s/D_TYPE_IN_DIRENT/HAVE_STRUCT_DIRENT_D_TYPE/.
30662
30663 2002-05-28  Jim Meyering  <meyering@lucent.com>
30664
30665         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `mkdir', not `rmdir'.
30666         Reported by Volker Borchert.
30667
30668 2002-05-27  Jim Meyering  <meyering@lucent.com>
30669
30670         Fix a problem seen only on nonconforming systems whereby ls.c's
30671         use of localtime, and then of gettimeofday would cause trouble:
30672         the localtime call used to initialize rpl_gettimeofday's save
30673         mechanism would clobber ls's current local time information so
30674         that in any long listing the first file would always be listed
30675         with date 1970-01-01.  Analysis by Volker Borchert.
30676
30677         * lib/gettimeofday.c (localtime): Undefine.
30678         (rpl_localtime): New function.
30679
30680 2002-05-27  Jim Meyering  <meyering@lucent.com>
30681
30682         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Also replace
30683         localtime.
30684
30685         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `rmdir' so we don't try to
30686         use the replacement function; it wouldn't resolve at link time.
30687         Reported by Volker Borchert.
30688
30689 2002-05-22  Jim Meyering  <meyering@lucent.com>
30690
30691         * lib/Makefile.am (libfetish_a_SOURCES): Add file-type.c and
30692         file-type.h.
30693         * lib/file-type.h: New file.
30694         * lib/file-type.c (file_type): New file/function.  Extracted from
30695         diffutils.
30696
30697 2002-04-30  Jim Meyering  <meyering@lucent.com>
30698
30699         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_STAT.
30700
30701 2002-04-29  Paul Eggert  <eggert@twinsun.com>
30702
30703         * m4/prereq.m4 (jm_PREREQ_SIG2STR): Remove; all callers changed.
30704
30705 2002-04-29  Paul Eggert  <eggert@twinsun.com>
30706
30707         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): Check for stdlib.h.
30708         Do not check for alloca.h (no longer used) or stdbool.h (was never
30709         used?).  Add AM_C_PROTOTYPES since hard-locale.h uses it.
30710
30711 2002-04-29  Paul Eggert  <eggert@twinsun.com>
30712
30713         * lib/hard-locale.c: Upgrade to version used in GNU Diffutils 2.8.1.
30714
30715 2002-04-29  Jim Meyering  <meyering@lucent.com>
30716
30717         * m4/jm-macros.m4 (jm_MACROS): Remove use of AC_FUNC_STRNLEN.
30718         * m4/prereq.m4: Add jm_PREREQ_STRNLEN.
30719         Use AC_FUNC_STRNLEN here instead.
30720
30721         * m4/jm-macros.m4: Don't AC_REQUIRE([AC_PROG_CC_STDC]).
30722         With autoconf-2.53a, it's part of AC_PROG_CC.
30723
30724 2002-04-28  Paul Eggert  <eggert@twinsun.com>
30725
30726         * m4/jm-macros.m4 (jm_MACROS): Add AC_REPLACE_FUNCS(sig2str).
30727         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_SIG2STR.
30728
30729 2002-04-28  Paul Eggert  <eggert@twinsun.com>
30730
30731         * lib/sig2str.h, lib/sig2str.c: New files.
30732         * lib/Makefile.am (libfetish_a_SOURCES): Add sig2str.h.
30733
30734 2002-04-28  Paul Eggert  <eggert@twinsun.com>
30735
30736         * lib/sig2str.h (SIGNUM_BOUND): Do not use WTERMSIG, to avoid
30737         depending on <sys/wait.h> and WTERMSIG.  Default to 64 instead
30738         of 127, since 64 is the largest conceivable number for ancient
30739         nonstandard hosts.
30740         * lib/sig2str.c: Do not include <sys/wait.h>; no longer needed.
30741
30742 2002-04-28  Jim Meyering  <meyering@lucent.com>
30743
30744         * lib/sig2str.c (WTERMSIG): Remove definition (unused).
30745
30746 2002-04-24  Jim Meyering  <meyering@lucent.com>
30747
30748         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): New macro.
30749         (jm_PREREQ): Use it.
30750
30751         * m4/getloadavg.m4: Check for these headers: locale.h unistd.h
30752         mach/mach.h fcntl.h.
30753         Check for this function: setlocale.
30754
30755 2002-04-24  Jim Meyering  <meyering@lucent.com>
30756
30757         * lib/gettext.h: New file, from Gettext.
30758         * lib/Makefile.am (INCLUDES): Remove -I../intl.
30759         (libfetish_a_SOURCES): Add gettext.h.
30760
30761 2002-04-16  Jim Meyering  <meyering@lucent.com>
30762
30763         * m4/prereq.m4 (jm_PREREQ_READUTMP): Also check for these members:
30764         ut_pid, ut_id, ut_exit.
30765
30766 2002-04-16  Jim Meyering  <meyering@lucent.com>
30767
30768         * lib/readutmp.h (UT_TYPE): Remove definition (now in who.c).
30769         (HAVE_STRUCT_XTMP_UT_EXIT, HAVE_STRUCT_XTMP_UT_ID): Define.
30770         (HAVE_STRUCT_XTMP_UT_PID, HAVE_STRUCT_XTMP_UT_TYPE): Define.
30771
30772 2002-04-12  Jim Meyering  <meyering@lucent.com>
30773
30774         * m4/ls-mntd-fs.m4 (checking for getmntinfo function...): Remove
30775         now-bogus check for f_type in sys/mount.h.  Instead, just test for the
30776         existence of the getmntinfo function.  Needed for Darwin 5.3.
30777
30778         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Also detect when dirfd is a macro.
30779         This is necessary at least on Darwin 5.3.
30780
30781         * m4/jm-macros.m4: Don't AC_REPLACE(strnlen), now that we use
30782         AC_FUNC_STRNLEN.  Otherwise, we'd end up putting two copies of
30783         strnlen.o in the library, and that makes some versions of ranlib
30784         object.
30785
30786 2002-04-12  Jim Meyering  <meyering@lucent.com>
30787
30788         * lib/dirfd.h (dirfd): Elide prototype if dirfd is a macro.
30789
30790 2002-04-09  Jim Meyering  <meyering@lucent.com>
30791
30792         * m4/malloc.m4: (jm_FUNC_MALLOC): Change the `checking ...' message
30793         to be more precise.  Rather than saying we're checking whether the
30794         function `works', say what we're testing.
30795         * m4/realloc.m4 (jm_FUNC_REALLOC): Likewise.
30796         Reported by Bruno Haible.
30797
30798 2002-03-10  Jim Meyering  <meyering@lucent.com>
30799
30800         * lib/makepath.c (make_path): Remove a comma from a diagnostic.
30801         Suggestion from Santiago Vila.
30802
30803 2002-03-08  Jim Meyering  <meyering@lucent.com>
30804
30805         * lib/rename.c: Mention that this wrapper is needed also on
30806         mips-dec-ultrix4.4 systems.
30807
30808 2002-03-02  Jim Meyering  <meyering@lucent.com>
30809
30810         * lib/gettime.c (gettime): Test HAVE_CLOCK_GETTIME,
30811         not HAVE_CLOCK_SETTIME.
30812
30813 2002-02-27  Paul Eggert  <eggert@twinsun.com>
30814
30815         * m4/jm-macros.m4 (jm_MACROS): Do not replace stime; no longer used.
30816         Check for clock_settime.
30817
30818 2002-02-27  Paul Eggert  <eggert@twinsun.com>
30819
30820         * lib/nanosleep.h: Rename to....
30821         * lib/timespec.h: New name for nanosleep.h.  All uses changed.
30822
30823         * lib/gettime.c: New file.
30824         * lib/settime.c: New file.
30825         * lib/stime.c: Remove.
30826
30827         * lib/Makefile.am (libfetish_a_SOURCES): Add gettime.c, settime.c,
30828         timespec.h.  Remove nanosleep.h.
30829
30830 2002-02-25  Paul Eggert  <eggert@twinsun.com>
30831
30832         * m4/acl.m4: New file.
30833         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_ACL.
30834         Do not check for acl or sys/acl.h, as AC_FUNC_ACL does that now.
30835
30836 2002-02-25  Paul Eggert  <eggert@twinsun.com>
30837
30838         * lib/acl.c, lib/acl.h: New files.
30839         * lib/Makefile.am (libfetish_a_SOURCES): Add acl.h, acl.c.
30840
30841 2002-02-24  Jim Meyering  <meyering@lucent.com>
30842
30843         * lib/strnlen.c (strnlen): Define-away/undef so that an inconsistent
30844         prototype in string.h (on at least AIX4.3.2.0 w/gcc-2.95.3) doesn't
30845         cause trouble.  Reported by Nelson Beebe.
30846
30847 2002-02-23  Paul Eggert  <eggert@twinsun.com>
30848
30849         * lib/path-concat.c (xpath_concat): Reorder code to pacify
30850         compilers that don't know that xalloc_die never returns.
30851
30852 2002-02-20  Jim Meyering  <meyering@lucent.com>
30853
30854         * lib/getdate.c: Regenerate using bison-1.33.
30855
30856 2002-02-17  Jim Meyering  <meyering@lucent.com>
30857
30858         * config/config.guess (main): Don't use `head -1'; it's no longer
30859         portable. Use `sed 1q' instead.
30860
30861 2002-02-16  gettextize  <bug-gnu-gettext@gnu.org>
30862
30863         * m4/codeset.m4: Upgrade to gettext-0.11.
30864         * m4/gettext.m4: Upgrade to gettext-0.11.
30865         * m4/glibc21.m4: Upgrade to gettext-0.11.
30866         * m4/iconv.m4: Upgrade to gettext-0.11.
30867         * m4/isc-posix.m4: Upgrade to gettext-0.11.
30868         * m4/lcmessage.m4: Upgrade to gettext-0.11.
30869         * m4/lib-ld.m4: New file, from gettext-0.11.
30870         * m4/lib-link.m4: New file, from gettext-0.11.
30871         * m4/lib-prefix.m4: New file, from gettext-0.11.
30872         * m4/progtest.m4: Upgrade to gettext-0.11.
30873
30874 2002-02-15  Paul Eggert  <eggert@twinsun.com>
30875
30876         * m4/prereq.m4 (jm_PREREQ_POSIXVER): New macro.
30877         (jm_PREREQ): Use it.
30878
30879 2002-02-15  Paul Eggert  <eggert@twinsun.com>
30880
30881         * lib/posixver.c, lib/posixver.h: New files.
30882         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
30883
30884 2002-02-02  Paul Eggert  <eggert@twinsun.com>
30885             Bruno Haible  <bruno@clisp.org>
30886
30887         * lib/unicodeio.h (print_unicode_char): Add exit_on_error argument.
30888         (fwrite_success_callback): New declaration.
30889         * lib/unicodeio.c (unicode_to_mb): New function, extracted from
30890         print_unicode_char. Call failure callback instead of error.
30891         (fwrite_success_callback): New function.
30892         (exit_failure_callback): New function.
30893         (fallback_failure_callback): New function.
30894         (print_unicode_char): Call unicode_to_mb.
30895
30896 2002-01-26  Jim Meyering  <meyering@lucent.com>
30897
30898         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.52g.
30899         * m4/strnlen.m4: Remove file, now that it's part of autoconf.
30900
30901 2002-01-26  Jim Meyering  <meyering@lucent.com>
30902
30903         * lib/Makefile.am (getdate$U.o): Depend on unlocked-io.h.
30904
30905 2002-01-22  Paul Eggert  <eggert@twinsun.com>
30906
30907         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_FSEEKO.
30908
30909 2002-01-22  Jim Meyering  <meyering@lucent.com>
30910
30911         * lib/Makefile.am (Makefile): Don't depend on $(BUILT_SOURCES).
30912         Otherwise, some versions of automake would omit the rule that makes
30913         Makefile from Makefile.in.
30914
30915 2002-01-21  Paul Eggert  <eggert@twinsun.com>
30916
30917         * lib/xmemcoll.h, lib/xmemcoll.c: New files.
30918         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
30919         * lib/memcoll.c: Include errno.h, and declare errno if not defined.
30920         (memcoll): Set errno to zero if there is no error.
30921
30922         * lib/quotearg.c (quotearg_buffer_restyled):
30923         Fix bug with quoting buffers containing NUL when backslashing escapes.
30924         This bug was exposed by the other changes in this patch.
30925         (quotearg_n_options): New arg ARGSIZE.
30926         All callers changed.
30927         (quoting_options_from_style): New function.
30928         (quotearg_n_style): Use it.
30929         (quotearg_n_style_mem): New function.
30930
30931         * lib/quotearg.h (quotearg_n_style_mem): New function.
30932
30933 2002-01-19  Jim Meyering  <meyering@lucent.com>
30934
30935         * m4/jm-macros.m4 (jm_MACROS): Use AC_FUNC_STRNLEN.
30936         Remove useless quotes: DF_PROG="df".
30937         * m4/strnlen.m4: New file.
30938
30939 2002-01-16  Paul Eggert  <eggert@twinsun.com>
30940
30941         * lib/backupfile.c (ISDIGIT): Comment fix.
30942         * lib/getdate.y (ISDIGIT): Likewise.
30943         * lib/posixtm.c (ISDIGIT, year): Likewise.
30944         * lib/strverscmp.c (ISDIGIT): Likewise.
30945         * lib/userspec.c (ISDIGIT): Likewise.
30946
30947 2002-01-16  Jim Meyering  <meyering@lucent.com>
30948
30949         * lib/getdate.y: Add three semicolons, each just before a closing
30950         brace. Bison (as of version 1.31) no longer papers over that mistake.
30951
30952 2002-01-05  Jim Meyering  <meyering@lucent.com>
30953
30954         * lib/version-etc.c (version_etc_copyright): Update copyright year.
30955
30956 2001-12-19  Paul Eggert  <eggert@twinsun.com>
30957
30958         * lib/closeout.c (close_stdout_status): If ferror (stdout), do
30959         not silently exit merely because the output buffer happens to
30960         have nothing pending.
30961
30962 2001-12-18  Paul Eggert  <eggert@twinsun.com>
30963
30964         See the big note in ../ChangeLog.
30965         * lib/human.c (suffixes): Prefer K to k for 1024.
30966         (generate_suffix_backwards): New function.
30967         (human_readable_inexact): Use it.
30968         * lib/xstrtol.c (__xstrtol): If there is no number but there
30969         is a valid suffix, assume 1.  "MB" now means decimal, "MiB" binary.
30970         Accept 'K' as well as 'k'.
30971
30972 2001-12-15  Jim Meyering  <meyering@lucent.com>
30973
30974         * lib/regex.h (__restrict_arr): Update from libc.
30975
30976         * lib/mountlist.h (ME_REMOTE): Recognize file systems of type smbfs
30977         as `remote' if the name starts with `//'.  Suggested by Michael Stone.
30978         (STREQ): Define.
30979
30980 2001-12-14  Jim Meyering  <meyering@lucent.com>
30981
30982         * m4/jm-macros.m4 (jm_MACROS): Check for iswspace.
30983         Suggestion from Bruno Haible.
30984
30985 2001-12-10  Jim Meyering  <meyering@lucent.com>
30986
30987         * lib/linebuffer.c: Remove explicit declarations of xmalloc and
30988         xrealloc, Instead, include "xalloc.h".
30989         (initbuffer): Don't cast xmalloc return value to char*.
30990         (readline): Reword comment.
30991         Don't cast xrealloc return value to char*
30992         Return NULL, not 0.
30993
30994 2001-12-09  Jim Meyering  <meyering@lucent.com>
30995
30996         * lib/modechange.c (mode_compile): Add cast to avoid pedantic warning
30997         about `signed and unsigned type in conditional expression'.
30998         * lib/posixtm.c (posix_time_parse): Likewise.
30999
31000         * lib/xreadlink.c (xreadlink): Add cast to avoid a pedantic warning.
31001
31002         * lib/readtokens.c (readtoken): Declare an index to be of type unsigned
31003         to avoid a pedantic warning.
31004
31005         * lib/getstr.c: Don't include assert.h.
31006         (getstr): Remove warning-evoking assertions.
31007         Return -1 if offset parameter is out of bounds.
31008         Change the type of a local from int to size_t.
31009
31010         * lib/strftime.c (my_strftime_localtime_r): Include this function
31011         definition in the `#if ! HAVE_TM_GMTOFF' block.
31012
31013         * lib/xgethostname.c: Remove declarations of xmalloc and xrealloc.
31014         Include xalloc.h instead.
31015
31016 2001-12-02  Jim Meyering  <meyering@lucent.com>
31017
31018         * lib/tempname.c: Don't declare getenv, thus reverting the change of
31019         2001-11-18.  It's no longer necessary, now that stdlib.h is always
31020         included.
31021
31022         * lib/regex.c [!__BOUNDED_POINTERS__]: Define away __bounded,
31023         __unbounded, and __ptrvalue.  Reported by Uwe H. Steinfeld.
31024
31025 2001-11-30  Akim Demaille  <akim@epita.fr>
31026
31027         * lib/xstrdup.c: Include xalloc.h, so that xstrdup is declared
31028         before being defined.
31029
31030 2001-11-27  Paul Eggert  <eggert@twinsun.com>
31031
31032         * lib/quotearg.h (quotearg_n, quotearg_n_style):
31033         First arg is int, not unsigned.
31034         * lib/quotearg.c (quotearg_n, quotearg_n_style): Likewise.
31035         (SIZE_MAX, UINT_MAX): New macros.
31036         (quotearg_n_options): Abort if N is negative.
31037         Avoid overflow check on hosts where size_t is 64 bits and int
31038         is 32 bits, as overflow is impossible there.
31039         Fix off-by-one typo that caused unnecessary reallocation.
31040
31041 2001-11-27  Jim Meyering  <meyering@lucent.com>
31042
31043         * lib/tempname.c: Merge with version from libc.
31044         * lib/regex.c: Likewise.
31045
31046         * lib/tempname.c: Include stdlib.h unconditionally.  On some old
31047         systems for which STDC_HEADERS is 0, it was not included, resulting in
31048         a warning about an integer-to-pointer conversion problem with getenv.
31049         Reported by Volker Borchert.
31050
31051 2001-11-26  Jim Meyering  <meyering@lucent.com>
31052
31053         * lib/gtod.h: Remove file.
31054         * lib/Makefile.am (libfetish_a_SOURCES): Remove gtod.h.
31055         * lib/gettimeofday.c: Don't include gtod.h.
31056         (GTOD_init): Remove function.
31057         (rpl_gettimeofday): Do its job here instead, rather than aborting.
31058         Suggestion from Volker Borchert.
31059
31060 2001-11-23  Jim Meyering  <meyering@lucent.com>
31061
31062         * lib/hash.h (struct hash_table): Don't define here.  Merely declare
31063         it.
31064         * lib/hash.c (struct hash_table): Define it here instead.
31065
31066 2001-11-22  Jim Meyering  <meyering@lucent.com>
31067
31068         * lib/hash.h: Bracket contents of file with #ifndef HASH_H_ ... #endif.
31069
31070 2001-11-20  Jim Meyering  <meyering@lucent.com>
31071
31072         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Update comment to reflect that
31073         SunOS 4.1.4 and Solaris 2.5.1 lose, too.
31074
31075 2001-11-19  Jim Meyering  <meyering@lucent.com>
31076
31077         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Don't bother with a temporary
31078         directory.  Use "conftestXXXXXX" as the template.
31079         Suggestion from Paul Eggert.
31080
31081         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Close each descriptor
31082         immediately, so the test doesn't mistakenly hit the max-open-files
31083         limit.
31084
31085 2001-11-18  Paul Eggert  <eggert@twinsun.com>
31086
31087         * lib/tempname.c (TMP_MAX): Remove; no longer needed.
31088         (TEMPORARIES): New macro.
31089         (__gen_tempname): Use TEMPORARIES rather than TMP_MAX.  This
31090         removes an artificial limitation (e.g. HP-UX 10.20, where
31091         TMP_MAX is 17576).
31092
31093 2001-11-18  Jim Meyering  <meyering@lucent.com>
31094
31095         * m4/prereq.m4 (jm_PREREQ_TEMPNAME): Check for declaration of getenv.
31096
31097 2001-11-18  Jim Meyering  <meyering@lucent.com>
31098
31099         * lib/tempname.c [!HAVE_DECL_GETENV]: Declare getenv to avoid warning
31100         on SunOS 4.
31101
31102         * lib/Makefile.am (Makefile): Depend on $(BUILT_SOURCES), so those
31103         files will be created before anything else.
31104
31105 2001-11-17  Paul Eggert  <eggert@twinsun.com>
31106
31107         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): Do not define
31108         WINSIZE_IN_PTEM if <termios.h> defines struct winsize.
31109
31110 2001-11-17  Jim Meyering  <meyering@lucent.com>
31111
31112         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): New file and macro.
31113         Prompted by a report from Bob Proulx.
31114
31115         * m4/jm-macros.m4 (jm_MACROS): Don't test for mkstemp here.
31116         Instead, require UTILS_FUNC_MKSTEMP.
31117
31118 2001-11-17  Jim Meyering  <meyering@lucent.com>
31119
31120         * m4/jm-macros.m4 (jm_MACROS): Remove code to set POW_LIBM.
31121         Now, that's done as part of AC_FUNC_STRTOD.
31122
31123 2001-11-17  Jim Meyering  <meyering@lucent.com>
31124
31125         * lib/modechange.c (mode_adjust): Fix error introduced on 1999-04-26
31126         that made e.g., `chmod a=,o=w,g=o F' cause F to be group readable
31127         rather than group writable.  Patch by Juan F. Codagnone.
31128
31129         * lib/readtokens.c: Remove explicit declarations of xmalloc and
31130         xrealloc, Instead, include "xalloc.h".
31131
31132         * lib/mountlist.c: Include unlocked-io.h after all system headers.
31133         Remove explicit declarations of xmalloc, xrealloc,
31134         and xstrdup.  Instead, include "xalloc.h".
31135
31136         * lib/argmatch.c, closeout.c, error.c, exclude.c: Include
31137         unlocked-io.h.
31138         * lib/fatal.c, getdate.y, getpass.c, getstr.c, getusershell.c:
31139         Likewise.
31140         * lib/mountlist.c, posixtm.c, readtokens.c, readutmp.c: Likewise.
31141
31142         * lib/regex.c, sha.c, version-etc.c, yesno.c: Likewise.
31143         Reported by Padraig Brady.
31144
31145         * lib/mkstemp.c: #undef mkstemp.
31146         Include config.h.
31147         (rpl_mkstemp): Rename from mkstemp.
31148         Protoize.
31149
31150 2001-11-16  Jim Meyering  <meyering@lucent.com>
31151
31152         * lib/physmem.c [HAVE_SYS_PSTAT_H]: Include <sys/pstat.h>.
31153         (physmem_total) [HAVE_PSTAT_GETSTATIC]: If sysconf couldn't be used to
31154         determine the amount of total physical memory, use pstat_getstatic.
31155         HPUX-11 doesn't define _SC_PHYS_PAGES.
31156         (physmem_available) [HAVE_PSTAT_GETSTATIC && HAVE_PSTAT_GETDYNAMIC]:
31157         If sysconf couldn't be used to determine the amount of available
31158         physical memory, use both pstat_getstatic and pstat_getdynamic.
31159         Based on a patch from Bob Proulx.
31160
31161 2001-11-10  Jim Meyering  <meyering@lucent.com>
31162
31163         * m4/prereq.m4 (jm_PREREQ_PHYSMEM): New function.
31164         (jm_PREREQ): Use it.
31165
31166 2001-11-09  Jim Meyering  <meyering@lucent.com>
31167
31168         * m4/jm-macros.m4: Require autoconf-2.52f.
31169         (AC_FUNC_ERROR_AT_LINE, AC_FUNC_OBSTACK, AC_FUNC_STRTOD):
31170         Use these AC_-prefixed names, not the AM_-prefixed ones.
31171
31172         * m4/afs.m4 (jm_AFS): Quote the body.  Patch by Akim Demaille.
31173
31174 2001-11-05  Jim Meyering  <meyering@lucent.com>
31175
31176         * lib/xstat.in (slash_aware_lstat): Correct a misleading comment.
31177
31178 2001-11-04  Jim Meyering  <meyering@lucent.com>
31179
31180         * m4/fpending.m4: Remove unused cruft that saved, set, and restored
31181         $DEFS.
31182
31183 2001-11-03  Jim Meyering  <meyering@lucent.com>
31184
31185         * m4/jm-glibc-io.m4n (jm_FUNC_GLIBC_UNLOCKED_IO): Quote first arg
31186         of AC_DEFUN.
31187
31188         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Rework so dirfd.c doesn't have to
31189         know the name of the variable in the macro definition.
31190
31191 2001-11-03  Jim Meyering  <meyering@lucent.com>
31192
31193         * lib/argmatch.h (ARGMATCH_TO_ARGUMENT): Remove casts of first two args
31194         in argmatch_to_argument call.
31195
31196         * lib/dirfd.c (dirfd): Reflect the fact that DIR_TO_FD now takes an
31197         argument.
31198
31199         * lib/hash.c (hash_clear): Fix a bug that could lead to an infloop or
31200         e.g., a fault due to an attempt to free a NULL pointer.
31201
31202 2001-11-01  Jim Meyering  <meyering@lucent.com>
31203
31204         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): New macro.
31205         * m4/jm-macros.m4 (jm_MACROS): Require UTILS_FUNC_DIRFD.
31206
31207 2001-11-01  Jim Meyering  <meyering@lucent.com>
31208
31209         * lib/dirfd.c, lib/dirfd.h: New files.
31210         * lib/Makefile.am (libfetish_a_SOURCES): Add dirfd.h.
31211
31212         * lib/hash.c (hash_print) [TESTING]: Clean up.
31213
31214 2001-10-22  Paul Eggert  <eggert@twinsun.com>
31215
31216         * lib/hard-locale.c (alloca): Define to __builtin_alloca if __GNUC__,
31217         to avoid a warning if -Wall.
31218
31219 2001-10-22  Jeff Bailey  <jbailey@outpost.dnsalias.org>
31220
31221         * README: New file
31222         * doc/*: Add COPYING, COPYING.LIB, COPYING.DOC, fdl.texi
31223         (per RMS's instructions, this is now the canonical source)
31224         * lgpl/, gpl/: New directories.
31225
31226 2001-10-21  Paul Eggert  <eggert@twinsun.com>
31227
31228         * lib/regex.c (uintptr_t): Remove macro and decl; it's config.h's job.
31229
31230 2001-10-21  Jim Meyering  <meyering@lucent.com>
31231
31232         * lib/obstack.c (_): Honor the setting of ENABLE_NLS.  Otherwise,
31233         this code would end up calling gettext even in packages built
31234         with --disable-nls.
31235         * lib/getopt.c (_): Likewise.
31236         * lib/regex.c (_): Likewise.
31237
31238 2001-10-20  Paul Eggert  <eggert@twinsun.com>
31239
31240         * m4/error.m4 (jm_PREREQ_ERROR):
31241         Do not invoke AC_CHECK_FUNCS with strerror_r, as
31242         AC_FUNC_STRERROR_R does that.
31243         Check for strerror declaration.
31244
31245         * m4/strerror_r.m4: Add copyright notice, as nontrivial m4 files
31246         are supposed to have them these days.
31247         (AC_FUNC_STRERROR_R): Always do char* test, so that it gets cached.
31248         Merge changes from latest Autoconf CVS.
31249         Rename ac_cv_func_strerror_r_works to ac_cv_func_strerror_r_char_p,
31250         and rename HAVE_WORKING_STRERROR_R to STRERROR_R_CHAR_P, since
31251         POSIX decided to standardize on the int flavor of strerror_r.
31252
31253 2001-10-20  Paul Eggert  <eggert@twinsun.com>
31254
31255         * lib/error.c (strerror_r): Do not declare unless !_LIBC.
31256         Do not check for HAVE_DECL_STRERROR_R missing unless STRERROR_R_CHAR_P.
31257         Use strerror_r that is only a macro, even if it is not a function.
31258         (strerror): Check for HAVE_DECL_STRERROR before declaring.
31259         (private_strerror): Use prototypes, not old-style function definition.
31260         (print_errno_message): New function.
31261         Support the POSIX 'int'-flavored strerror_r, as well as the traditional
31262         char*-flavored one.
31263         (error_tail, error, error_at_line): Use it.
31264
31265 2001-10-11  Jim Meyering  <meyering@lucent.com>
31266
31267         * lib/argmatch.c (argmatch_invalid): Use quotearg_n_style (0, ...
31268         and quote_n (1, ... to avoid clobbering a buffer.
31269
31270 2001-10-05  Jim Meyering  <meyering@lucent.com>
31271
31272         * lib/Makefile.am: (libfetish_a_SOURCES): Add hash-pjw.c and
31273         hash-pjw.h.
31274         * lib/hash-pjw.c: New file (factored out of fileutils' remove.c).
31275         * lib/hash-pjw.h: New file.
31276
31277 2001-09-30  Jim Meyering  <meyering@lucent.com>
31278
31279         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): See if
31280         `struct fsstat' has the `f_fstypename' member.
31281         Use that to define FS_TYPE, which is now used to make
31282         the getfsstat link test tighter.
31283
31284 2001-09-30  Jim Meyering  <meyering@lucent.com>
31285
31286         * lib/mountlist.c [MOUNTED_GETFSSTAT]:
31287         Include <sys/ucred.h>, for Apple Darwin.
31288         Include sys/mount.h and sys/fs_types.h only if available.
31289         (FS_TYPE): Define.
31290         (read_filesystem_list): Use FS_TYPE.
31291
31292 2001-09-29  Paul Eggert  <eggert@twinsun.com>
31293
31294         * lib/exclude.c (excluded_filename): 0 -> false, since it's
31295         a boolean context.
31296
31297 2001-09-29  Jim Meyering  <meyering@lucent.com>
31298
31299         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
31300         [one-argument getmntent function]): Include stdio.h before mntent.h.
31301         SunOS 4.1.x needs it for the declaration of `FILE'.
31302         Patch by Volker Borchert.
31303
31304         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
31305         Check for these headers: sys/param.h sys/ucred.h sys/mount.h
31306         sys/fs_types.h, and make the link-test for getfsstat guard #include
31307         directives with appropriate #if HAVE_*_H tests so that we can
31308         detect getfsstat on Apple Darwin1.3.7 systems.
31309         Reported by Nelson Beebe.
31310         Fix harmless typo in cache variable name: s/getsstat/getfsstat/.
31311
31312 2001-09-28  Paul Eggert  <eggert@twinsun.com>
31313
31314         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
31315         #defines strtoimax.  Also treat the other strto* functions
31316         like strtoimax.
31317
31318         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
31319         Check for strtoul and strtoumax,
31320         as those declarations are made even in the signed case.
31321         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX):
31322         Likewise, for strtol and strtoimax.
31323
31324 2001-09-28  Paul Eggert  <eggert@twinsun.com>
31325
31326         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
31327         #defines strtoimax.  Also treat the other strto* functions
31328         like strtoimax.
31329
31330         * lib/xstrtol.c (strtol): Do not declare if HAVE_DECL_STRTOL.
31331         (strtoul): Do not declare if HAVE_DECL_STRTOUL.
31332         (strtoimax, strtoumax): Do not declare if already defined as a macro.
31333
31334 2001-09-26  Jim Meyering  <meyering@lucent.com>
31335
31336         Most macros in unlocked-io.h had the wrong number of arguments.
31337         * lib/gen-uio: New script.
31338         (USE_UNLOCKED_IO): Define to 1 if not already defined.
31339         * lib/unlocked-io.hin: Remove file.
31340         * lib/Makefile.am (unlocked-io.h): Rewrite to use a separate script,
31341         rather than trying to embed it here.
31342         (EXTRA_DIST): Add gen-uio.  Remove unlocked-io.hin
31343         Reported by Padraig Brady.
31344
31345 2001-09-25  Volker Borchert  <bt@teknon.de>
31346
31347         * lib/gettimeofday.c (rpl_gettimeofday): Declare local variable
31348         `result'.
31349
31350 2001-09-24  Jim Meyering  <meyering@lucent.com>
31351
31352         * m4/gettext.m4: Use the version from gettext-0.10.40, not CVS.
31353
31354 2001-09-23  Jim Meyering  <meyering@lucent.com>
31355
31356         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add a compile-test
31357         instead of the mere test for existence of mntent.h.  The latter
31358         would get a false-positive on AIX 3.4 systems.
31359         In the outer getmntent if-block, don't die if neither of the getmntent
31360         tests succeeds.  Instead, just fall through and continue with the
31361         remaining tests.
31362
31363 2001-09-23  Jim Meyering  <meyering@lucent.com>
31364
31365         * lib/mountlist.c: Remove useless parentheses in #if directives.
31366         (MOUNTED) [!defined MOUNTED]: Define to _PATH_MOUNTED, for when
31367         the deprecated MOUNTED symbol is no longer defined in mntent.h.
31368
31369 2001-09-22  Jim Meyering  <meyering@lucent.com>
31370
31371         * m4/gettext.m4: New file.  From gettext.
31372         * m4/lcmessage.m4: Sync with gettext -- this changes only comments.
31373         * m4/progtest.m4: Likewise
31374         * m4/isc-posix.m4: Decrement serial number to sync with gettext.
31375         * m4/glibc21.m4: Likewise.
31376
31377         * m4/libintl.m4: Remove.  No longer used.
31378
31379 2001-09-22  Jim Meyering  <meyering@lucent.com>
31380
31381         * lib/localcharset.c: Update from latest gettext.
31382         * lib/config.charset: Likewise.
31383
31384 2001-09-20  Jim Meyering  <meyering@lucent.com>
31385
31386         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX): Check for declaration of
31387         strtoimax.
31388         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check for declaration of
31389         strtoumax.
31390
31391 2001-09-20  Jim Meyering  <meyering@lucent.com>
31392
31393         * lib/xstrtol.c (strtoimax): Guard declaration with
31394         `#if !HAVE_DECL_STRTOIMAX', rather than just `#ifndef strtoimax'.
31395         The latter fails because some systems (at least rs6000-ibm-aix4.3.3.0)
31396         have their own, conflicting declaration of strtoimax in sys/inttypes.h.
31397         (strtoumax): Likewise, for completeness (it wasn't necessary).
31398
31399 2001-09-17  Paul Eggert  <eggert@twinsun.com>
31400
31401         * lib/strtoimax.c (HAVE_LONG_LONG):
31402         Redefine to HAVE_UNSIGNED_LONG_LONG if unsigned.
31403         (strtoimax): Use sizeof (long), not sizeof strtol (ptr, endptr, base),
31404         to work around bug in IBM C compiler.
31405
31406 2001-09-17  Jim Meyering  <meyering@lucent.com>
31407
31408         * m4/chown.m4, fstypename.m4, getgroups.m4, gettimeofday.m4,
31409         * m4/jm-mktime.m4, lstat.m4, malloc.m4, memcmp.m4, mkdir-slash.m4,
31410         * m4/nanosleep.m4, putenv.m4, readdir.m4, realloc.m4, rename.m4,
31411         * m4/st_dm_mode.m4, stat.m4, strerror_r.m4, timespec.m4, utimbuf.m4,
31412         * m4/utimes.m4: Use AC_DEFINE rather than AC_DEFINE_UNQUOTED,
31413         whenever the right hand side need not be expanded by the shell.
31414
31415 2001-09-16  Paul Eggert  <eggert@twinsun.com>
31416
31417         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): Remove test for GNU C
31418         library.  It's not correct, as some older glibcs are buggy.
31419         fnmatch wasn't fixed until glibc 2.2.
31420
31421         Use AC_DEFINE, not AC_DEFINE_UNQUOTED, as there's no
31422         special shell magic here.
31423
31424 2001-09-16  Jim Meyering  <meyering@lucent.com>
31425
31426         * m4/mkdir-slash.m4 (UTILS_FUNC_MKDIR_TRAILING_SLASH): New file/macro.
31427         * m4/jm-macros.m4: Require it.
31428
31429 2001-09-16  Jim Meyering  <meyering@lucent.com>
31430
31431         * lib/mkdir.c: New file.
31432
31433 2001-09-15  Jim Meyering  <meyering@lucent.com>
31434
31435         * m4/jm-macros.m4: Check for help2man.
31436
31437 2001-09-11  Jim Meyering  <meyering@lucent.com>
31438
31439         * m4/host-os.m4 (UTILS_HOST_OS): New file/macro.
31440         The body, by Paul Eggert, was moved here from configure.in.
31441         * m4/jm-macros.m4: Require UTILS_HOST_OS.
31442
31443 2001-09-04  Paul Eggert  <eggert@twinsun.com>
31444
31445         * m4/prereq.m4 (jm_PREREQ_XREADLINK): New macro.
31446         (jm_PREREQ): Use it.
31447
31448 2001-09-04  Paul Eggert  <eggert@twinsun.com>
31449
31450         * lib/xreadlink.c (xreadlink): Omit size_t* arg.  All uses changed.
31451         Use ssize_t, not int, to store result of readlink.
31452         Check for ssize_t overflow as well as size_t overflow,
31453         as POSIX says the result of readlink is implementation-defined
31454         when ssize_t overflows.
31455         Remove unnecessary cast to char*.
31456         Use free+malloc instead of realloc, as the storage doesn't need
31457         to be preserved and it's clearer and can be more efficient that way.
31458         (SIZE_MAX, SSIZE_MAX): New macros, if <limits.h> doesn't declare.
31459         * lib/xreadlink.h (xreadlink): Update prototype.
31460
31461 2001-09-04  Paul Eggert  <eggert@twinsun.com>
31462
31463         * lib/xgetcwd.c: Revert some of the previous change; intead,
31464         fix the HAVE_GETCWD_NULL code to behave more like the
31465         !HAVE_GETCWD_NULL code used to.
31466
31467         Include "xalloc.h".
31468         (xgetcwd): Do not return NULL when memory is exhausted; instead,
31469         invoke xalloc_die.
31470
31471 2001-09-03  Paul Eggert  <eggert@twinsun.com>
31472
31473         * m4/prereq.m4 (jm_PREREQ_XGETCWD): Check for limits.h and
31474         sys/param.h, as pathmax.h includes them.
31475
31476 2001-09-03  Paul Eggert  <eggert@twinsun.com>
31477
31478         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_XGETCWD.
31479         (jm_PREREQ_XGETCWD): New macro.
31480
31481         * m4/getcwd.m4: New file.
31482
31483 2001-09-03  Paul Eggert  <eggert@twinsun.com>
31484
31485         * lib/xgetcwd.c: Fix the !HAVE_GETCWD_NULL code to behave more
31486         like the HAVE_GETCWD_NULL code.
31487         Include pathmax.h if not HAVE_GETCWD.
31488         Do not include xalloc.h.
31489         (INITIAL_BUFFER_SIZE): New symbol.
31490         Do not use xmalloc / xrealloc, since the caller is responsible for
31491         handling errors.  Preserve errno around `free' during failure.
31492         Do not overrun buffer when using getwd.
31493
31494 2001-09-03  Paul Eggert  <eggert@twinsun.com>
31495
31496         * lib/xgetcwd.c (xgetcwd): Use HAVE_GETCWD_NULL, not (defined
31497         __GLIBC__ && __GLIBC__ >= 2), to decide whether to use
31498         getcwd (NULL, 0).
31499
31500 2001-09-03  Paul Eggert  <eggert@twinsun.com>
31501
31502         * lib/exclude.c (fnmatch_no_wildcards): Fix confusion between
31503         usage of FNM_CASEFOLD and FNM_LEADING_DIR.  The bug was
31504         spotted by Jim Meyering.
31505
31506 2001-09-03  Jim Meyering  <meyering@lucent.com>
31507
31508         * lib/xreadlink.c (xreadlink): Preserve errno around `free' during
31509         failure.
31510
31511 2001-09-02  Jim Meyering  <meyering@lucent.com>
31512
31513         * lib/error.c: Update from GNU libc.
31514
31515 2001-09-01  Jim Meyering  <meyering@lucent.com>
31516
31517         * m4/jm-macros.m4 (jm_MACROS): Check for canonicalize_file_name.
31518         Used by df.
31519
31520 2001-09-01  Jim Meyering  <meyering@lucent.com>
31521
31522         * lib/xreadlink.c: New file.
31523         * lib/xreadlink.h: New file.
31524         * lib/Makefile.am (libfetish_a_SOURCES): Add xreadlink.c and
31525         xreadlink.h.
31526
31527         * lib/regex.c (uintptr_t) [!_LIBC]: Define to private_uintptr_t, so it
31528         doesn't conflict with sparc Solaris 7's definition in
31529         /usr/include/sys/int_types.h.
31530
31531         * lib/exclude.c: Use `""', not `<>' to #include non-system header
31532         files.
31533         (fnmatch_no_wildcards): Rewrite not to use function names, strcasecmp
31534         and strncasecmp as r-values.  Unixware didn't have declarations.
31535
31536 2001-08-31  Paul Eggert  <eggert@twinsun.com>
31537
31538         * lib/xstrtol.h: Add copyright notice.
31539         (_DECLARE_XSTRTOL): Improve quality of diagnostic for
31540         LONGINT_INVALID_SUFFIX_CHAR.
31541
31542 2001-08-31  Paul Eggert  <eggert@twinsun.com>
31543
31544         * lib/xstrtol.c (strtoimax): New decl.
31545
31546 2001-08-31  Paul Eggert  <eggert@twinsun.com>
31547
31548         * lib/xgetcwd.c: Don't include pathmax.h.
31549         Include stdlib.h and unistd.h if available.
31550         Include xalloc.h.
31551         (xmalloc, xstrdup, free): Remove decls.
31552         (xgetcwd): Don't assume sizes fit in unsigned.
31553         Check for overflow when computing sizes.
31554         Simplify reallocation code.
31555
31556 2001-08-31  Paul Eggert  <eggert@twinsun.com>
31557
31558         * lib/savedir.c (savedir): Remove size parameter, as POSIX says that
31559         a directory's st_size can have an arbitrary value, so the old
31560         usage could waste an arbitrary amount of memory.  All uses
31561         changed.
31562         * lib/savedir.h: Update prototype.
31563
31564 2001-08-31  Paul Eggert  <eggert@twinsun.com>
31565
31566         * lib/Makefile.am (libfetish_a_SOURCES): Remove strtoxmax.c.
31567
31568         * lib/strtoimax.c: Renamed from strtoxmax.c, removing the
31569         old strtoimax.c.
31570
31571         Also, make the following further changes to make this file's
31572         configuration more similar to that of strtol.c:
31573         (UNSIGNED): Renamed from STRTOUXMAX_UNSIGNED.  All uses changed.
31574         (strtoumax, uintmax_t, strtoull, strtol): Remove.
31575         (intmax_t, strtoimax, strtol, strtoll): New macros, if UNSIGNED.
31576         (strtoimax): Renamed from strtoumax.  All uses of unsigned values
31577         changed to signed values.
31578
31579         And make the following changes as well:
31580         Fix copyright notice, as 1999 was missing.
31581         (verify): New macro.
31582         (strtoimax): Check sizes at compile-time, not run-time.
31583         Prefer strtol to strtoll if both work.
31584         (main): Remove; it was not that useful and was a pain to maintain.
31585
31586         * lib/strtoumax.c: Include strtoimax.c, not strtouxmax.c.
31587
31588 2001-08-31  Jim Meyering  <meyering@lucent.com>
31589
31590         * lib/xgetcwd.c (xgetcwd): Reorganize to avoid some duplication.
31591         Use an initial, malloc'd, buffer of length 128 rather than
31592         a statically allocated one of length 1024.
31593
31594 2001-08-30  Paul Eggert  <eggert@twinsun.com>
31595
31596         Simplify code, partly by assuming autoconf 2.52 semantics.
31597
31598         * m4/Makefile.am (EXTRA_DIST): Remove uintmax_t.m4.
31599
31600         * m4/inttypes.m4 (AC_PREREQ): Bump to 2.52.
31601         (jm_AC_HEADER_INTTYPES_H): Remove; now done by autoconf in 2.52.
31602         All uses removed.
31603         (jm_AC_TYPE_INTMAX_T, jm_AC_TYPE_UINTMAX_T):
31604         Move AC_REQUIRE to next-to-top level, to avoid confusion.
31605         Use 2.52's AC_CHECK_TYPE instead of merely looking for the header.
31606         * m4/prereq.m4 (jm_PREREQ_HUMAN): Don't require
31607         jm_AC_HEADER_INTTYPES_H.
31608         * m4/jm-macros.m4 (jm_MACROS): Likewise.
31609
31610         * m4/uintmax_t.m4: Remove, as it duplicates inttypes.m4.
31611
31612         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
31613         Quote first arg of AC_DEFUN.
31614         Require jm_AC_TYPE_UINTMAX_T and jm_AC_TYPE_UNSIGNED_LONG_LONG
31615         since they are needed to parse the include file even if we need
31616         only xstrtoimax.  Simplify logic behind the args to AC_REPLACE.
31617         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Likewise,
31618         but with opposite signedness.
31619
31620 2001-08-30  Paul Eggert  <eggert@twinsun.com>
31621
31622         Merge 'exclude' changes from tar 1.13.22.
31623         This fixes one or two unlikely storage allocation overflow bugs,
31624         but doesn't change user-visible behavior otherwise.
31625
31626 2001-08-30  Paul Eggert  <eggert@twinsun.com>
31627
31628         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_EXCLUDE.
31629         (jm_PREREQ_EXCLUDE): New macro.
31630
31631 2001-08-30  Paul Eggert  <eggert@twinsun.com>
31632
31633         * lib/quotearg.c: BSD/OS 4.1 wchar.h requires FILE and struct
31634         tm to be declared.
31635
31636 2001-08-30  Paul Eggert  <eggert@twinsun.com>
31637
31638         * lib/hash.c: Remove '2001' from copyright notice.
31639
31640 2001-08-30  Paul Eggert  <eggert@twinsun.com>
31641
31642         * lib/full-write.h: New file.
31643         * lib/Makefile.am (libfetish_a_SOURCES): Add full-write.h.
31644         * lib/full-write.c: Correct credits, as cccp.c no longer
31645         exists and anyway it was so heavily changed from the old cccp
31646         code as to be unrecognizable.  Include full-write.h.
31647         (full_write) Return size_t, with short writes meaning failure.
31648         All callers changed.  This fixes a bug with large buffers
31649         on 64-bit hosts.
31650         * lib/utime.c: Include full-write.h.
31651
31652 2001-08-30  Paul Eggert  <eggert@twinsun.com>
31653
31654         * lib/exclude.c (bool): Declare, perhaps by including stdbool.h.
31655         (<sys/types.h>): Include only if HAVE_SYS_TYPES_H.
31656         (<stdlib.h>, <string.h>, <strings.h>, <inttypes.h>, <stdint.h>):
31657         Include if available.
31658         (<xalloc.h>): Include
31659         (SIZE_MAX): Define if <stdint.h> or <inttypes.h> doesn't.
31660         (verify): New macro.  Use it to verify that EXCLUDE macros do not
31661         collide with FNM macros.
31662         (struct patopts): New struct.
31663         (struct exclude): Use it, as exclude patterns now come with options.
31664         (new_exclude): Support above changes.
31665         (new_exclude, add_exclude_file):
31666         Initial size must now be a power of two to simplify overflow checking.
31667         (free_exclude, fnmatch_no_wildcards): New function.
31668         (excluded_filename): No longer requires options arg, as the options
31669         are determined by add_exclude.  Now returns bool, not int.
31670         (excluded_filename, add_exclude):
31671         Add support for the fancy new exclusion options.
31672         (add_exclude, add_exclude_file): Now takes int options arg.
31673         Check for arithmetic overflow when computing sizes.
31674         (add_exclude_file): xrealloc might modify errno, so don't
31675         realloc until after errno might be used.
31676
31677         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE,EXCLUDE_WILDCARDS):
31678         New macros.
31679         (free_exclude): New decl.
31680         (add_exclude, add_exclude_file): Now takes int options arg.
31681         (excluded_filename): No longer requires options arg, as the options
31682         are determined by add_exclude.  Now returns bool, not int.
31683
31684 2001-08-30  Paul Eggert  <eggert@twinsun.com>
31685
31686         * lib/alloca.c (alloca): Arg is of type size_t, not unsigned.
31687
31688 2001-08-27  Jim Meyering  <meyering@lucent.com>
31689
31690         * lib/Makefile.am (libfetish_a_SOURCES): Add strtoxmax.c
31691
31692         * lib/version-etc.c (N_): Remove definition.
31693         Revert most of last change.
31694         Instead, simply don't mark the `Copyright...' string for translation.
31695         Based on advice from Paul Eggert.
31696
31697         * lib/strtoxmax.c: Tweak comment.
31698
31699 2001-08-26  Jim Meyering  <meyering@lucent.com>
31700
31701         * m4/jm-macros.m4: Require jm_AC_PREREQ_XSTRTOIMAX.
31702
31703         * m4/xstrtoimax.m4: New file.
31704         * m4/xstrtoumax.m4: Add comments explaining why we
31705         AC_REPLACE_FUNCS(strtol).
31706
31707 2001-08-26  Jim Meyering  <meyering@lucent.com>
31708
31709         * lib/version-etc.c (version_etc_copyright_fmt): Replace literal year
31710         of copyright with `%s' so translators don't get an untranslated
31711         message in 2002.
31712         (COPYRIGHT_YEAR): Define.
31713         (version_etc): Use fprintf rather than fputs.
31714         Suggestion from Ulrich Drepper.
31715
31716         * lib/Makefile.am (libfetish_a_SOURCES): Add xstrtoimax.c.
31717
31718         * lib/strtoll.c: New file, from GNU libc.
31719         * lib/xstrtoimax.c: New file.
31720
31721         * lib/xstrtol.h: Add xstrtoimax.
31722         * lib/strtoumax.c: New file.  Simply include "strtoumax.c".
31723         * lib/strtoimax.c: New file.  Likewise, but first define
31724         STRTOUXMAX_SIGNED.
31725
31726         * lib/strtoumax.c: Factor to work both for unsigned and signed types,
31727         ...
31728         * lib/strtoxmax.c: ... then renamed to this.
31729
31730 2001-08-18  Paul Eggert  <eggert@twinsun.com>
31731
31732         * m4/inttypes.m4: Add AC_PREREQ(2.13).
31733         (jm_AC_HEADER_INTTYPES_H): Test for intmax_t, too.
31734         (jm_AC_TYPE_INTMAX_T): New macro.
31735         (jm_AC_TYPE_UINTMAX_T): Moved here from uintmax_t.m4.
31736
31737         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): New macro.
31738
31739         * m4/longlong.m4: Renamed from ulonglong.m4.
31740         * m4/inttypes.m4: Renamed from inttypes_h.m4.
31741         * m4/uintmax_t.m4: Removed.
31742
31743 2001-08-13  Paul Eggert  <eggert@twinsun.com>
31744
31745         * lib/Makefile.am (unlocked-io.h): Do not append "_unlocked" twice.
31746         Port to Solaris 8, where 'sed' requires a space after the 'r'
31747         command, and where sh dislikes "$/".  Clean up the spacing a bit.
31748         Redirect output to $tmp just once.
31749
31750 2001-08-12  Paul Eggert  <eggert@sic.twinsun.com>
31751
31752         * lib/addext.c (<errno.h>): Include.
31753         (errno): Declare if not defined.
31754         (addext): Work correctly when pathconf returns -1 and leaves
31755         errno alone because there is no limit.  Also, work even if
31756         pathconf returns a value greater than SIZE_MAX.
31757
31758 2001-08-12  Jim Meyering  <meyering@lucent.com>
31759
31760         * m4/afs.m4, assert.m4, bison.m4, check-decl.m4, chown.m4, d-ino.m4,
31761         d-type.m4, dos.m4, error.m4, fnmatch.m4, fpending.m4, fstypename.m4,
31762         fsusage.m4, ftruncate.m4, getgroups.m4, glibc.m4, gnu-source.m4,
31763         group-member.m4, jm-glibc-io.m4, jm-macros.m4, jm-mktime.m4,
31764         jm-winsz1.m4, jm-winsz2.m4, lchown.m4, lib-check.m4, libintl.m4,
31765         link-follow.m4, ls-mntd-fs.m4, lstat.m4, malloc.m4, mbrtowc.m4,
31766         mbstate_t.m4, mbswidth.m4, memcmp.m4, nanosleep.m4, perl.m4,
31767         prereq.m4, putenv.m4, readdir.m4, realloc.m4, regex.m4, rename.m4,
31768         rmdir-errno.m4, search-libs.m4, st_dm_mode.m4, st_mtim.m4, stat.m4,
31769         strftime.m4, timespec.m4, unlink-busy.m4, uptime.m4, utimbuf.m4,
31770         utime.m4, utimes.m4, xstrtoumax.m4:
31771         Quote the first argument in each use of AC_DEFUN.
31772
31773 2001-08-12  Jim Meyering  <meyering@lucent.com>
31774
31775         * lib/xgetcwd.c (xgetcwd) [defined __GLIBC__ && __GLIBC__ >= 2]:
31776         Simply `return getcwd (NULL, 0);'.
31777         [! (defined __GLIBC__ && __GLIBC__ >= 2)]:
31778         Use 1300 as initial value for length, not PATH_MAX.
31779
31780         * lib/pathmax.h: Clean up cpp syntax.
31781
31782 2001-08-12  Jim Meyering  <meyering@lucent.com>
31783
31784         * lib/gettimeofday.c: New file.
31785         * lib/gtod.h: New file.
31786         * lib/Makefile.am (libfetish_a_SOURCES): Add gtod.h.
31787
31788 2001-08-05  Jim Meyering  <meyering@lucent.com>
31789
31790         * m4/jm-macros.m4: Require autoconf-2.52.
31791
31792 2001-08-04  Jim Meyering  <meyering@lucent.com>
31793
31794         * lib/error.h (__attribute__): Remove `|| __STRICT_ANSI__' from #if
31795         stmt, to get in sync with glibc.
31796
31797 2001-08-03  Paul Eggert  <eggert@twinsun.com>
31798
31799         The following changes are from gettext 0.10.39 as maintained by
31800         Bruno Haible.
31801
31802         * lib/mbswidth.h (MBSW_REJECT_UNPRINTABLE, MBSW_REJECT_INVALID):
31803         Renamed from MBSW_ACCEPT_UNPRINTABLE and MBSW_ACCEPT_INVALID
31804         with inverted sense.  All uses changed.
31805
31806         * lib/mbswidth.c: Don't include <limits.h>.
31807         Include <stdlib.h> and <string.h> unconditionally.
31808         (iswcntrl, mbsinit, ISCNTRL): New macros.
31809         (mbsnwidth): Use K&R style function declarations.
31810         Don't bother checking for MB_LEN_MAX == 1, since the compiler
31811         can optimize it when MB_CUR_MAX == 1.
31812         The width of control characters is zero, not 1.
31813
31814 2001-08-03  Paul Eggert  <eggert@twinsun.com>
31815
31816         The following changes are from gettext 0.10.39 as maintained by
31817         Bruno Haible, except that getline.m4 continues to use AC_LIBOBJ.
31818
31819         * m4/codeset.m4: Upgrade to serial AM1.
31820         (AM_LANGINFO_CODESET): Renamed from jm_LANGINFO_CODESET;
31821         all uses changed.  Quote first arg of AC_DEFUN.
31822         (am_cv_langinfo_codeset): Renamed from jm_cv_langinfo_codeset.
31823
31824         * m4/iconv.m4: Upgrade to serial AM2.
31825         (AM_ICONV): Renamed from jm_ICONV; all uses changed.
31826         Add --with-libconv-prefix.
31827         Quote first arg of AC_DEFUN.  Add description for ICONV_CONST.
31828         (am_cv_func_iconv): Renamed from jm_cv_func_iconv.
31829         (am_cv_lib_iconv): Renamed from jm_cv_lib_iconv.
31830         (am_cv_proto_iconv): Renamed from jm_cv_proto_iconv.
31831         * m4/jm-macros.m4 (jm_MACROS): Reflect s/jm_/AM_/ renamings.
31832
31833         * m4/c-bs-a.m4 (AC_C_BACKSLASH_A): Quote first arg of AC_DEFUN.
31834         * m4/getline.m4 (AM_FUNC_GETLINE): Likewise.
31835         * m4/glibc21.m4 (jm_GLIBC21): Likewise.
31836         * m4/inttypes_h.m4 (jm_AC_HEADER_INTTYPES_H): Likewise.
31837         * m4/isc-posix.m4 (AC_ISC_POSIX): Likewise.
31838         * m4/lcmessage.m4 (AM_LC_MESSAGES): Likewise.
31839         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
31840         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Likewise.
31841         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Likewise.
31842
31843         * m4/getline.m4 (AM_FUNC_GETLINE): Don't bother checking for
31844         string.h any more.
31845
31846         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): If not found, print "no",
31847         not the default value.
31848
31849         2001-06-25  Bruno Haible  <haible@clisp.cons.org>
31850         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Don't require AM_C_PROTOTYPES.
31851         Also check for mbsinit.  Needed for SCO 3.2v5.0.2.
31852         Also include <string.h>; this is where AIX 3.2.5 declares wcwidth.
31853         Also check for iswcntrl, used for wcwidth fallback.
31854         Use AC_TRY_COMPILE to emulate AC_CHECK_DECLS, for portability
31855         to Autoconf 2.13.
31856
31857 2001-08-03  Jim Meyering  <meyering@lucent.com>
31858
31859         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Use `#include', not `@%:@include',
31860         as it was in the original.  Reported by Paul Eggert.
31861
31862 2001-07-16  Jim Meyering  <meyering@lucent.com>
31863
31864         * m4/gettimeofday.m4: New file.
31865         Prompted by a report from Bernhard Baehr.
31866
31867 2001-07-15  Jim Meyering  <meyering@lucent.com>
31868
31869         * m4/Makefile.am.in (Makefile.am): Remove most of the unlocked-io.h
31870         stuff. Now it's in ../Makefile.cfg.
31871
31872 2001-07-15  Jim Meyering  <meyering@lucent.com>
31873
31874         * lib/Makefile.am (EXTRA_DIST): Add unlocked-io.hin.
31875         (BUILT_SOURCES): Add unlocked-io.h.
31876         (io_functions): Define.
31877         (unlocked-io.h): New rule.
31878         (DISTCLEANFILES): Add unlocked-io.h.
31879         (all-local): Depend on unlocked-io.h, to ensure it is created.
31880
31881         * lib/unlocked-io.hin: New file
31882
31883         * lib/regex.c: Update from glibc.
31884
31885 2001-07-05  Jim Meyering  <meyering@lucent.com>
31886
31887         * lib/Makefile.am (noinst_HEADERS): Remove definition, per new automake
31888         recommendation.
31889         (libfetish_a_SOURCES): Put all .h files here instead.
31890         Remove a thus-exposed (better checks in automake) duplicate and
31891         two unnecessary .h files.
31892
31893 2001-07-04  Jim Meyering  <meyering@lucent.com>
31894
31895         * m4/Makefile.am.in (glibc-io.struct): New target.  Rework the code
31896         that generates jm-glibc-io.m4 so that it doesn't trigger any make
31897         distcheck failure.
31898
31899 2001-07-02  Jim Meyering  <meyering@lucent.com>
31900
31901         The following changes were prompted by suggestions from Bruno Haible.
31902
31903         * m4/jm-glibc-io.m4n: New file, the template from which jm-glibc-io.m4
31904         is now generated.
31905         * m4/Makefile.am.in (Makefile.am): Include jm-glibc-io.m4n in emitted
31906         definition of EXTRA_DIST.
31907         (Makefile.am): Emit the dependency, `all-local: jm-glibc-io.m4' to
31908         ensure that the generated file is created/updated whenever the list
31909         of $(unlocked_functions) is changed.
31910         (jm-glibc-io.m4): New rule.
31911         (unlocked-io.h): New rule -- currently unused.
31912
31913 2001-06-24  Jim Meyering  <meyering@lucent.com>
31914
31915         * m4/regex.m4 (jm_INCLUDED_REGEX): Use a quadrigraph to represent an
31916         unmatched right bracket, rather than kludging it with an extra,
31917         falsely-matching quote in a comment.  Patch by Akim Demaille.
31918
31919 2001-06-11  Jim Meyering  <meyering@lucent.com>
31920
31921         * lib/regex.c: Update from GNU libc.
31922
31923 2001-05-27  Jim Meyering  <meyering@lucent.com>
31924
31925         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for ut_type in struct utmpx.
31926         Check for ut_type in struct utmp.
31927
31928 2001-05-27  Jim Meyering  <meyering@lucent.com>
31929
31930         * lib/readutmp.h (UT_TYPE): Define.
31931
31932 2001-05-24  Jim Meyering  <meyering@lucent.com>
31933
31934         * lib/argmatch.c: Include "quote.h".
31935         (argmatch_invalid): Remove explicit `' quotes.  Instead, use the
31936         quote function.  Reported by Göran Uddeborg.
31937
31938 2001-05-22  Jim Meyering  <meyering@lucent.com>
31939
31940         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't use AC_LIBOBJ(strftime),
31941         now that we use the package-supplied version unconditionally.
31942         (jm_FUNC_STRFTIME): Don't replace strftime, for the same reason.
31943
31944 2001-05-21  Jim Meyering  <meyering@lucent.com>
31945
31946         * m4/regex.m4: Change a couple backticks to single quotes to avoid
31947         shell syntax errors.
31948
31949 2001-05-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
31950
31951         * m4/dos.m4 (jm_AC_DOS): Check for _WIN32, __WIN32__, and __MSDOS__.
31952
31953 2001-05-20  Paul Eggert  <eggert@twinsun.com>
31954
31955         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME):
31956         Don't bother to check library strftime, since
31957         we'll be using our own my_strftime function anyway.
31958         Define my_strftime instead of strftime.
31959
31960 2001-05-20  Alexandre Duret-Lutz  <duret_g@epita.fr>
31961
31962         * lib/dirname.c (dir_name): Compute append_dot using path, not newpath
31963         which is not yet declared.
31964
31965 2001-05-15  Jim Meyering  <meyering@lucent.com>
31966
31967         * m4/regex.m4: Use proper quoting so brackets appear in the test
31968         program.
31969         Reported by, and with help from, Bruno Haible.
31970
31971 2001-05-13  Jim Meyering  <meyering@lucent.com>
31972
31973         * m4/jm-macros.m4 (major_t, minor_t): Define to unsigned int if
31974         undefined.
31975
31976 2001-05-11  Paul Eggert  <eggert@twinsun.com>
31977
31978         dirname code cleanup.  base_name now behaves more compatibly
31979         with POSIX basename when given file names that have trailing
31980         slashes, and similarly for dir_name.  Add new primitives
31981         base_len and dir_len.  Put the directory-name-related decls
31982         into dirname.h.
31983
31984         * lib/addext.c (ISSLASH, base_name): Remove; now in dirname.h.
31985         * lib/backupfile.c (base_name): Likewise.
31986         * lib/basename.c (FILESYSTEM_PREFIX_LEN, PARAMS, ISSLASH): Likewise.
31987         * lib/dirname.c (FILESYSTEM_PREFIX_LEN, ISSLASH): Likewise.
31988         * lib/makepath.c (strip_trailing_slashes): Likewise.
31989         * lib/path-concat.c (DIRECTORY_SEPARATOR, FILESYSTEM_PREFIX_LEN,
31990         ISSLASH): Likewise.
31991         * lib/rename.c (strip_trailing_slashes): Likewise.
31992         * lib/same.c (base_name): Likewise.
31993         * lib/stripslash.c (ISSLASH): Likewise.
31994
31995         * lib/addext.c: Include <dirname.h> after size_t is defined.
31996         * lib/backupfile.c: Likewise.
31997
31998         * lib/addext.c (addext): Use base_len to trim redundant
31999         trailing slashes instead of doing it ourselves.
32000         But do not trim the last slash if it is not redundant.
32001
32002         * lib/backupfile.c (find_backup_file_name,
32003         max_backup_version): Use base_len instead of rolling it ourselves.
32004         Handle the case of "" and (on DOS) "C:" correctly.
32005
32006         * lib/basename.c: Do not include <stdio.h>, <assert.h>; no longer
32007         needed. Include <string.h>, <dirname.h>.
32008         (base_name): Allow file names ending in slashes, other than names
32009         that are all slashes.  In this case, return the basename followed
32010         by the slashes.  This is more general, and can be used in places
32011         where the original base_name purposely had an assertion failure.
32012         (base_len): New function.
32013
32014         * lib/dirname.c: Include <string.h> instead of <stdlib.h>.
32015         Do not include <assert.h>; no longer needed.
32016         Include xalloc.h.
32017         (memrchr): Remove decl.
32018         (dir_name_r): Remove.
32019         (dir_len): Renamed from dirlen.  All callers changed.
32020         Rewrite in terms of base_name, for simplicity and consistency.
32021         (dir_name): Never return NULL.  All callers changed.
32022         Do not include <stdlib.h> in test program; no longer needed.
32023         return 0; is fine for test program.
32024
32025         * lib/dirname.h (DIRECTORY_SEPARATOR, ISSLASH, FILESYSTEM_PREFIX_LEN):
32026         New macros.
32027         (base_name, base_len, dir_len, strip_trailing_slashes): New decls.
32028
32029         * lib/path-concat.c (path_concat): Use base_len to compute
32030         base length, not strlen; this means we cannot rely on memcpy
32031         to null-terminate.
32032
32033         * lib/same.c (STREQ): Remove.
32034         (same_name): Handle the case where the basename ends in trailing '/'.
32035
32036         * lib/stripslash.c (strip_trailing_slashes): Return nonzero if
32037         a slash was stripped.  Do not strip the last slash after a
32038         file system prefix.
32039
32040 2001-05-11  Paul Eggert  <eggert@twinsun.com>
32041
32042         * lib/Makefile.am (libfetish_a_SOURCES):
32043         Add strftime.c, since we now compile it on all hosts.
32044
32045         * lib/strftime.c (my_strftime):
32046         Define to nstrftime if emacs, but only if my_strftime is not defined.
32047         (extra_args, extra_args_spec, extra_args_spec_iso): Rename from
32048         ut_argument, ut_argument_spec, ut_argument_spec_iso, respectively.
32049         Add one more extra argument: a nanoseconds value.
32050         All uses changed.
32051         (ns): New macro.
32052         (my_strftime function): Add %N format.
32053         (emacs_strftimeu): Renamed from emacs_strftime,
32054         with extra ut argument.
32055
32056 2001-05-09  Paul Eggert  <eggert@twinsun.com>
32057
32058         * m4/jm-macros.m4 (jm_MACROS): Do not check for fseeko; no longer used.
32059
32060 2001-04-21  Jim Meyering  <meyering@lucent.com>
32061
32062         * m4/rmdir-errno.m4: Write to a new file, so that a restrictive umask
32063         doesn't interfere.
32064
32065 2001-04-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
32066
32067         * m4/ftruncate.m4: Check for chsize.
32068         Link with ftruncate.o unconditionally if ftruncate is missing.
32069         This was required when cross-compiling to i586-mingw32msvc.
32070
32071 2001-04-08  Jim Meyering  <meyering@lucent.com>
32072
32073         * lib/getdate.y (get_date): Set tm_isdst to -1 to ensure that it is
32074         recomputed; that's necessary when the offset spans a DST transition.
32075         Patch by David J. MacKenzie.  Reported by Hon-Yin Kok.
32076
32077 2001-04-02  Jim Meyering  <meyering@lucent.com>
32078
32079         * lib/regex.h, regex.c: Update from GNU libc.
32080
32081 2001-03-24  Jim Meyering  <meyering@lucent.com>
32082
32083         * m4/jm-macros.m4: Require autoconf-2.49d.
32084
32085 2001-03-20  Bruno Haible  <haible@clisp.cons.org>
32086
32087         * m4/iconv.m4 (jm_ICONV): Recommend GNU libiconv.
32088
32089 2001-03-19  Paul Eggert  <eggert@twinsun.com>
32090
32091         * lib/version-etc.c (version_etc_copyright): Update to 2001.
32092
32093 2001-03-17  Jim Meyering  <meyering@lucent.com>
32094
32095         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Remove my copy of AC_FUNC_MEMCMP,
32096         now that the version in autoconf is equivalent.
32097         (jm_FUNC_MEMCMP): Adjust to use AC_FUNC_MEMCMP.
32098
32099         * m4/error.m4 (jm_PREREQ_ERROR): Invoke AC_FUNC_STRERROR_R.
32100         Suggestion from Akim Demaille.
32101
32102         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_TEMPNAME.
32103         (jm_PREREQ_TEMPNAME): New function.
32104
32105 2001-03-16  Paul Eggert  <eggert@twinsun.com>
32106
32107         * lib/tempname.c (uint64_t): Define to uintmax_t if
32108         not defined, and if UINT64_MAX is not defined.
32109         Required at least for Vax Ultrix4.3, which doesn't define uint64_t.
32110         Reported by John David Anglin.
32111
32112 2001-03-15  Bruno Haible  <haible@clisp.cons.org>
32113
32114         * lib/localcharset.c (locale_charset): Allow wildcard syntax. Also
32115         resolve alias if codeset is empty.
32116         * lib/config.charset (BeOS): Use wildcard syntax.
32117
32118 2001-03-13  Jim Meyering  <meyering@lucent.com>
32119
32120         * lib/path-concat.c (path_concat)
32121         [FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't insert a backslash when
32122         concatenating e.g., `C:' and `foo'.
32123         From Bruno Haible.
32124
32125 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
32126
32127         * lib/localcharset.c (locale_charset): Don't use
32128         setlocale(LC_CTYPE,NULL). Don't return NULL.
32129         * lib/unicodeio.c (print_unicode_char): Simplify accordingly.
32130
32131 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
32132
32133         * lib/config.charset: Update for FreeBSD 4.2 and OSF/1 5.1. Add
32134         support for DOS/DJGPP.
32135
32136 2001-03-01  Paul Eggert  <eggert@twinsun.com>
32137
32138         * m4/jm-macros.m4 (jm_MACROS): Use mkstemp replacement if the system
32139         lacks mkstemp.  Compile our own tempname.c if we compile our own
32140         mkstemp.c, as mkstemp relies on tempname.
32141
32142 2001-03-01  Jim Meyering  <meyering@lucent.com>
32143
32144         * m4/dos.m4 (jm_AC_DOS): Remove extra backslashes, now that
32145         AH_VERBATIM really does output its argument verbatim.
32146
32147 2001-02-28  Paul Eggert  <eggert@twinsun.com>
32148
32149         * lib/Makefile.am (libfetish_a_SOURCES):
32150         Add dup-safer.c, fopen-safer.c.
32151         (noinst_HEADERS): Add stdio-safer.h, unistd-safer.h.
32152
32153         * lib/dup-safer.c, lib/fopen-safer.c, lib/stdio-safer.h:
32154         * lib/unistd-safer.h: New files.
32155
32156 2001-02-25  Paul Eggert  <eggert@twinsun.com>
32157
32158         The mkstemp replacement is taken from glibc 2.2.2, with some
32159         portability fixes for use outside glibc, as follows:
32160
32161         * lib/tempname.c (struct_stat64): New macro.
32162         (direxists, __gen_tempname): Use it.
32163         This avoids a portability problem with Solaris 8.
32164
32165         * lib/tempname.c (<config.h>): Include if HAVE_CONFIG_H.
32166         (<stddef.h>, <stdint.h>, <string.h>):
32167         Include only if STDC_HEADERS || _LIBC.
32168         (<fcntl.h>): Include only if HAVE_FCNTL_H || _LIBC.
32169         (<unistd.h>): Include only if HAVE_UNISTD_H || _LIBC.
32170         (<sys/time.h>): Include only if HAVE_SYS_TIME_H || _LIBC.
32171         (__set_errno): Define this macro if <errno.h> doesn't.
32172         (P_tmpdir, TMP_MAX, __GT_FILE, __GT_BIGFILE, __GT_DIR, __GT_NOCREATE):
32173         Define these macros if <stdio.h> doesn't.
32174         (S_ISDIR, S_IRUSR, S_IWUSR, S_IXUSR):
32175         Define these macros if <sys/stat.h>
32176         doesn't.  Ignore <sys/stat.h> S_ISDIR if STAT_MACROS_BROKEN.
32177         (stat64, __getpid, __gettimeofday, __mkdir, __open, __open64, lxstat64,
32178         __xstat64): Define if not _LIBC.
32179         (__secure_getenv): Define if ! (HAVE___SECURE_GETENV || _LIBC).
32180         (__gen_tempname): Invoke gettimeofday only if
32181         HAVE_GETTIMEOFDAY || _LIBC;
32182         otherwise, fall back on plain "time".
32183         Use macros like S_IRUSR | S_IWUSR rather than octal values like 0600.
32184
32185         * lib/mkstemp.c (__GT_FILE): Define to zero if not defined.
32186
32187         * lib/mkstemp.c, lib/tempname.c: New files, taken from glibc 2.2.2.
32188
32189 2001-02-18  Paul Eggert  <eggert@twinsun.com>
32190
32191         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for sys/resource.h.
32192
32193 2001-02-17  Paul Eggert  <eggert@twinsun.com>
32194
32195         * m4/mbrtowc.m4: New file, defining jm_FUNC_MBRTOWC.
32196         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH):
32197         Use jm_FUNC_MBRTOWC, not AC_CHECK_FUNCS(mbrtowc).
32198         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
32199
32200 2001-02-17  Paul Eggert  <eggert@twinsun.com>
32201
32202         * lib/mbswidth.c, quotearg.c (mbrtowc, mbsinit):
32203         Remove workaround macros for hosts that have mbrtowc but not
32204         mbstate_t, as we now insist on proper declarations for both
32205         before using mbrtowc.
32206
32207 2001-02-17  Jim Meyering  <meyering@lucent.com>
32208
32209         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Don't check for
32210         getmntent via AC_CHECK_FUNCS, since that would get a `no' and disrupt
32211         further attempts by AC_FUNC_GETMNTENT to check with e.g., -lgen on
32212         UnixWare 7.1.1.
32213
32214         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Adapt to use AC_CACHE_CHECK etc.,
32215         rather than AC_CACHE_VAL.
32216
32217 2001-02-17  Jim Meyering  <meyering@lucent.com>
32218
32219         * lib/strtoul.c: Sync from GNU libc.  Use double quotes, not <...>
32220         around included file name.
32221
32222         * lib/strnlen.c (__strnlen): Merge in a change from GNU libc.
32223
32224         * lib/strftime.c: Update from GNU libc (the only changes were to
32225         comments).
32226
32227 2001-02-17  Jim Meyering  <meyering@lucent.com>
32228
32229         * lib/regex.c: Update from libc.
32230
32231 2001-02-17  Bruno Haible  <haible@clisp.cons.org>
32232
32233         * lib/mbswidth.h (mbswidth): Also define as macro, to avoid prototype
32234         clash.
32235
32236 2001-02-16  Paul Eggert  <eggert@twinsun.com>
32237
32238         * lib/alloca.c (malloc): Undef before defining, since stdlib.h
32239         may have defined it.  Needed for Encore Umax-3.0.9.16b systems.
32240         Reported by Mark Hounschell via Paul Eggert.
32241
32242 2001-02-07  Jim Meyering  <meyering@lucent.com>
32243
32244         * m4/regex.m4 (jm_INCLUDED_REGEX): Add a test for the latest bug.
32245
32246 2001-02-05  Jim Meyering  <meyering@lucent.com>
32247
32248         * m4/jm-macros.m4: Require autoconf-2.14d (not yet released), because
32249         it includes the patch required for `large file' support with at least
32250         HP-UX's 10.20 /bin/cc.
32251
32252 2001-02-03  Jim Meyering  <meyering@lucent.com>
32253
32254         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Restore prior use of
32255         AS_IF, now that it works once again (mysteriously).
32256         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
32257
32258 2001-01-30  Jim Meyering  <meyering@lucent.com>
32259
32260         Don't use filenames that are 8.3-equivalent to "conftest" on DOS.
32261         * m4/chown.m4: Rename conftestchown to conftest.chown.
32262         * m4/rename.m4: s/conftestdir/conftest.d1/ and
32263         s/conftestdir2/conftest.d2/.
32264         * m4/utimes.m4: s/conftestdata/conftest.data/
32265         Inspired by Pavel Roskin's change in autoconf.
32266
32267 2001-01-30  Bruno Haible  <haible@clisp.cons.org>
32268
32269         * lib/config.charset: Update for FreeBSD 4.2.
32270
32271 2001-01-27  Jim Meyering  <meyering@lucent.com>
32272
32273         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Open-code what was
32274         a use of AS_IF.
32275         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
32276
32277 2001-01-26  Jim Meyering  <meyering@lucent.com>
32278
32279         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Check for stddef.h, now that
32280         quotearg.c includes it.
32281
32282 2001-01-26  Jim Meyering  <meyering@lucent.com>
32283
32284         * lib/quotearg.c: Include stddef.h.
32285         * lib/quote.c: Include stddef.h.
32286         Reported by Axel Kittenberger.
32287
32288         * lib/xmalloc.c [HAVE_DONE_WORKING_MALLOC_CHECK]: Enclose error-evoking
32289         line in double quotes so that it evokes a better diagnostic.
32290         [HAVE_DONE_WORKING_REALLOC_CHECK]: Likewise.
32291         Reported by Axel Kittenberger.
32292
32293 2001-01-24  Stefan Monnier  <monnier@cs.yale.edu>
32294
32295         * regex.c (mutually_exclusive_p): Don't blindly handle `charset_not'
32296         as if it was a `charset'.
32297
32298 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
32299
32300         * m4/iconv.m4 (jm_ICONV): Also check whether the iconv declaration
32301         has const.
32302
32303 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
32304
32305         * lib/unicodeio.c (print_unicode_char): Cast the second iconv() arg,
32306         to avoid a warning.  Add back 'const' to inptr.
32307
32308 2001-01-20  Jim Meyering  <meyering@lucent.com>
32309
32310         Be sure that headers are checked before used in code compiled
32311         for the type checks.
32312         * m4/jm-macros.m4 (jm_MACROS): Remove all header checks.
32313         In place of that, invoke jm_CHECK_ALL_TYPES.
32314         (jm_CHECK_ALL_HEADERS): New functions with the above checks.
32315         (jm_CHECK_ALL_TYPES): Require jm_CHECK_ALL_HEADERS.
32316         Alan Iwi reported a build failure on an f300-fujitsu-uxpv4.1_ES;
32317         The check for ssize_t was mistakenly run before the test for unistd.h.
32318
32319         The configure-time check for stdbool.h was missing.
32320         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_HASH.
32321         (jm_PREREQ_HASH): New function.
32322
32323 2001-01-17  Jim Meyering  <meyering@lucent.com>
32324
32325         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use AS_IF, not AS_IFELSE,
32326         for autoconf-2.49c.
32327         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Likewise.
32328
32329 2001-01-16  Jim Meyering  <meyering@lucent.com>
32330
32331         * lib/basename.c: Include <stdio.h>, needed by assert on SunOS 4.
32332         From Bruno Haible.
32333
32334 2001-01-14  Jim Meyering  <meyering@lucent.com>
32335
32336         * m4/rename.m4: Use temporary directories named conftestdir{,2}, not
32337         foo and bar.  Create conftestdir/ in the script, not in the C code.
32338         Remove directories in the script, not in the C code.
32339         Remove conftestdir{,2} before trying to create the directory.
32340         Make the entire configure script fail if the mkdir fails.
32341
32342 2001-01-14  Jim Meyering  <meyering@lucent.com>
32343
32344         * lib/rename.c: New file.  From Volker Borchert.
32345         Include stdlib.h, string.h or strings.h, and xalloc.h.
32346         Use strip_trailing_slashes rather than open-coding it.
32347
32348 2001-01-03  Paul Eggert  <eggert@twinsun.com>
32349
32350         * lib/strftime.c: Sync with glibc time/strftime.c 1.81.
32351
32352 2001-01-03  Jim Meyering  <meyering@lucent.com>
32353
32354         * lib/unicodeio.c (print_unicode_char): Remove `const' from declaration
32355         of local `inptr' to avoid warning with some system declarations of
32356         iconv.
32357
32358 2001-01-02  Volker Borchert  <bt@teknon.de>
32359
32360         * m4/rename.m4: New file.
32361         * m4/jm-macros.m4 (jm_MACROS): Require vb_FUNC_RENAME.
32362
32363 2001-01-01  Jim Meyering  <meyering@lucent.com>
32364
32365         * m4/prereq.m4 (jm_PREREQ_READUTMP): Include utmp.h (if available),
32366         even on systems with utmpx.h.  It's necessary for the declaration of
32367         utmp's ut_user member.  Reported by Andreas Jaeger.
32368
32369         * m4/check-decl.m4 (jm_CHECK_DECLS): Include grp.h and pwd.h if
32370         available. They are required for the declarations of getgrgid and
32371         getpwuid resp.
32372         (_jm_DECL_HEADERS): Check for grp.h and pwd.h.
32373         Reported by Andreas Jaeger.
32374
32375 2001-01-01  Alexandre Duret-Lutz  <duret_g@epita.fr>
32376
32377         * m4/libintl.m4 (AM_GNU_GETTEXT): Define MKINSTALLDIRS by
32378         expanding the value of $ac_aux_dir, as in AM_MISSING_HAS_RUN,
32379         so `make install' also works in VPATH builds.
32380
32381 2000-12-31  Alexandre Duret-Lutz  <duret_g@epita.fr>
32382
32383         * m4/libintl.m4 (AM_WITH_NLS): When using AC_CONFIG_AUX_DIR,
32384         prepend $(top_srcdir) to the value of MKINSTALLDIRS so that it
32385         can be used in subdirectories.
32386
32387 2000-12-29  Paul Eggert  <eggert@twinsun.com>
32388
32389         * lib/modechange.c: Do not assume that mode_t uses the
32390         traditional octal encoding.  E.g. "chmod 1 FOO" should set
32391         the other-execute bit of FOO even if S_IXOTH != 1.
32392
32393         (SUID, SGID, SVTX, RUSR, WUSR, XUSR, RGRP, WGRP, XGRP, ROTH,
32394         WOTH, XOTH, ALLM): New macros.
32395         (S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR,
32396          S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH):
32397         Use them.
32398         (S_ISGID): Fix typo; it was defaulting to the same value as S_ISUID.
32399         (S_IRWXU, S_IRWXG, S_IRWXO): Specify defaults in terms of the above.
32400         (mode_compile):
32401         No need to use uintmax_t; unsigned long is long enough.
32402         Don't bother to get suffix since we don't use it.
32403
32404 2000-12-26  Jim Meyering  <meyering@lucent.com>
32405
32406         * m4/dos.m4 (jm_AC_DOS): Rewrite (though it's still a stub) to work
32407         better with autoheader.
32408
32409 2000-12-24  Jim Meyering  <meyering@lucent.com>
32410
32411         * lib/hash.c (is_prime): Return explicit boolean values.
32412         (hash_get_first): Return NULL to appease Irix5.6's 89.
32413         Reported by Nelson Beebe.
32414
32415 2000-12-19  Bruno Haible  <haible@clisp.cons.org>
32416
32417         * lib/localcharset.c (locale_charset): Add support for Win32.
32418
32419 2000-12-18  Paul Eggert  <eggert@twinsun.com>
32420
32421         * lib/physmem.h, lib/physmem.c: New files.
32422
32423         * lib/Makefile.am (libfetish_a_SOURCES): Add physmem.c.
32424         (noinst_HEADERS): Add physmem.h.
32425
32426         * lib/xstrtol.c (__xstrtol): Add undocumented suffixes 'g' and
32427         't' for compatibility with Solaris 8 sort.
32428
32429 2000-12-18  Bruno Haible  <haible@clisp.cons.org>
32430
32431         * lib/config.charset: Add support for BeOS.
32432
32433 2000-12-17  Jim Meyering  <meyering@lucent.com>
32434
32435         * m4/dos.m4 (jm_AC_DOS): New file and macro.
32436         * m4/jm-macros.m4 (jm_MACROS): Require jm_AC_DOS.
32437
32438 2000-12-16  Jim Meyering  <meyering@lucent.com>
32439
32440         This bug had a serious impact on chown: `chown N:M FILE' (for integer
32441         N and M) would have treated it like `chown N:N FILE'.
32442
32443         * lib/userspec.c (parse_user_spec): Fix typo: s/u/g/.
32444
32445 2000-12-16  Jim Meyering  <meyering@lucent.com>
32446
32447         * lib/getusershell.c [!SHELLS_FILE && __DJGPP__]: Define
32448         SHELLS_FILE to a file name that's useful on djgpp systems.
32449         Include stdlib.h.
32450         (ADDITIONAL_DEFAULT_SHELLS): Define.
32451         (default_shells): Prepend ADDITIONAL_DEFAULT_SHELLS.
32452         Based mostly on a patch from Prashant TR.
32453
32454 2000-12-16  Bruno Haible  <haible@clisp.cons.org>
32455
32456         * lib/config.charset: Add ISO-8859-3, BIG5HKSCS, GB18030, JOHAB,
32457         VISCII, CP874, CP949, CP950, CP1250, CP1253, CP1254, CP1255, CP1256,
32458         CP1257 to the list of canonical encodings. Rename EUC-CN to GB2312.
32459
32460 2000-12-08  Andreas Schwab  <schwab@suse.de>
32461
32462         * lib/mbswidth.c (mbsnwidth): Don't loop endlessly when called with an
32463         invalid mulitbyte sequence and with the MBSW_ACCEPT_INVALID flag set.
32464
32465 2000-12-07  Jim Meyering  <meyering@lucent.com>
32466
32467         * lib/stripslash.c (ISSLASH): Define.
32468         (strip_trailing_slashes): Use ISSLASH rather than comparing against
32469         `/'.
32470         From Prashant TR.
32471
32472         * lib/dirname.c (FILESYSTEM_PREFIX_LEN): Define.
32473         (dir_name_r): Declare this function as static.
32474         [BACKSLASH_IS_PATH_SEPARATOR]: Fix a bug that'd
32475         manifest itself on a name containing a mix of slashes and
32476         backslashes.
32477         Make this function work with names starting with a DOS-style
32478         drive letter and colon prefix.
32479         (dir_name): Append `.' if necessary.
32480         Based mostly on patches from Prashant TR and Eli Zaretskii.
32481
32482         * lib/dirname.h (dir_name_r): Remove prototype.
32483
32484 2000-12-06  Paul Eggert  <eggert@twinsun.com>
32485
32486         * m4/off_t-format.m4: Remove this file.
32487         * m4/jm-macros.m4 (jm_MACROS): Remove jm_SYS_OFF_T_PRINTF_FORMAT.
32488
32489 2000-12-06  Jim Meyering  <meyering@lucent.com>
32490
32491         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): If we need the
32492         replacement strtoull, we may well need the replacement strtoul, too.
32493         Check for declarations of strtoul and strtoull.
32494         Check for strtol.  Mainly as a cue to cause automake to include
32495         strtol.c -- that file is included by each of strtoul.c and strtoull.c.
32496         Check for limits.h -- strtol.c needs it.
32497
32498 2000-12-05  Jim Meyering  <meyering@lucent.com>
32499
32500         * lib/dirname.c (dir_name_r): Add `const' in a few local declarations.
32501
32502 2000-12-04  Jim Meyering  <meyering@lucent.com>
32503
32504         * lib/path-concat.c: [!HAVE_DECL_MALLOC]: Declare malloc.
32505         Also include memory.h, stdlib.h, unistd.h if appropriate.
32506         Reported by Andreas Jaeger (conflicting declaration of malloc).
32507
32508 2000-12-02  Jim Meyering  <meyering@lucent.com>
32509
32510         * m4/off_t-format.m4 (OFF_T_PRINTF_FORMAT_STRING): New file/macro.
32511         * m4/jm-macros.m4 (jm_MACROS): require it.
32512
32513 2000-12-02  Jim Meyering  <meyering@lucent.com>
32514
32515         * lib/closeout.h: Make idempotent, to avoid some obscure warnings.
32516
32517 2000-12-01  Paul Eggert  <eggert@twinsun.com>
32518
32519         * lib/memrchr.c: Include <config.h> before any system include file.
32520
32521 2000-11-30  Jim Meyering  <meyering@lucent.com>
32522
32523         * m4/jm-macros.m4 (jm_MACROS): Check for stdint.h.
32524
32525 2000-11-30  Jim Meyering  <meyering@lucent.com>
32526
32527         * m4/getloadavg.m4: s/ifval/m4_ifval/ to accommodate new autoconf.
32528
32529 2000-11-29  Paul Eggert  <eggert@twinsun.com>
32530
32531         * lib/dirname.c (dir_name_r): Fix typo: int -> size_t.
32532
32533 2000-11-26  Jim Meyering  <meyering@lucent.com>
32534
32535         * lib/memcoll.c: Include sys/types.h.  From Werner Almesberger.
32536
32537 2000-11-22  Paul Eggert  <eggert@twinsun.com>
32538
32539         * lib/strftime.c (my_strftime): Do not invoke mbrlen with a
32540         size of (size_t) -1; it's not portable.
32541
32542 2000-11-17  Jim Meyering  <meyering@lucent.com>
32543
32544         * lib/strstr.c: Update from GNU libc.
32545
32546 2000-11-17  Akim Demaille  <akim@epita.fr>
32547
32548         * lib/obstack.h: Formatting changes.
32549         (obstack_grow, obstack_grow0): Don't cast WHERE at all: that would
32550         prevent type checking.
32551         (obstack_ptr_grow, obstack_ptr_grow_fast): When assigning, don't
32552         cast the value to (void *): assigning a `foo *' to a `void *'
32553         variable is valid.
32554         (obstack_int_grow, obstack_int_grow_fast): Don't cast AINT to int.
32555
32556 2000-11-16  Jim Meyering  <meyering@lucent.com>
32557
32558         * lib/strverscmp.c: Incorporate weak-alias-related changes from glibc.
32559
32560 2000-11-11  Jim Meyering  <meyering@lucent.com>
32561
32562         * lib/error.c: Add a couple #includes, merging from GNU libc version.
32563
32564 2000-11-10  Jim Meyering  <meyering@lucent.com>
32565
32566         * lib/obstack.h: Update from GNU libc.
32567         * lib/obstack.c: Likewise.
32568
32569 2000-11-08  Bruno Haible  <haible@clisp.cons.org>
32570
32571         * m4/jm-macros.m4 (jm_MACROS): Add test for wcrtomb.
32572
32573 2000-11-06  Paul Eggert  <eggert@twinsun.com>
32574
32575         * lib/getusershell.c (setusershell): Use rewind rather than
32576         fseek/fseeko, to avoid configuration hassles with fseeko.
32577         Don't bother opening SHELLS_FILE if shellstream is NULL;
32578         it's not necessary.
32579
32580 2000-11-05  Jim Meyering  <meyering@lucent.com>
32581
32582         * lib/makepath.h (make_dir): Declare.
32583         * lib/makepath.c (make_dir): Remove `static' attribute.
32584         Tweak a comment.
32585
32586 2000-11-04  Jim Meyering  <meyering@lucent.com>
32587
32588         * m4/regex.m4: Use the `m4_' prefix on `syscmd' and `m4_sysval'.
32589
32590 2000-11-04  Alexandre Duret-Lutz  <duret_g@epita.fr>
32591
32592         * lib/hash.c (hash_get_next): Fix a thinko:  when ENTRY is the
32593         last one in a bucket, advance to the next bucket.
32594
32595 2000-11-02  Vesselin Atanasov  <vesselin@bgnet.bg>
32596
32597         * lib/fnmatch.c: Do not comment out all the code if we are using
32598         the GNU C library, because in some cases we are replacing buggy
32599         code in the GNU C library itself.
32600
32601 2000-10-30  Stefan Monnier  <monnier@cs.yale.edu>
32602
32603         * regex.c (re_iswctype, re_wctype_to_bit): Fix braino.
32604         (regex_compile): Catch bogus \(\1\).
32605
32606 2000-10-30  Paul Eggert  <eggert@twinsun.com>
32607
32608         * lib/fnmatch.c (FOLD): Do not assume that characters are unsigned.
32609         (fnmatch): Fix some FNM_FILE_NAME and FNM_LEADING_DIR bugs,
32610         e.g. fnmatch("d*/*1", "d/s/1", FNM_FILE_NAME) incorrectly yielded zero.
32611
32612 2000-10-30  Paul Eggert  <eggert@twinsun.com>
32613
32614         * lib/error.h, getline.h, modechange.h:
32615         Remove "2000" from Copyright line, as the file hasn't been
32616         changed this year other than in the copyright notice.
32617
32618         * lib/xalloc.h: Add "2000" to Copyright line, as this file
32619         was changed this year.
32620
32621 2000-10-29  Jim Meyering  <meyering@lucent.com>
32622
32623         * m4/fsusage.m4: s/AC_SHELL_IFELSE/AS_IFELSE/ to match autoconf
32624         renaming.
32625         * m4/ls-mntd-fs.m4: Likewise
32626
32627 2000-10-29  Jim Meyering  <meyering@lucent.com>
32628
32629         * lib/xstat.in: Fix grammar in comment.
32630
32631 2000-10-29  Greg Louis  <glouis@dynamicro.on.ca>
32632
32633         * lib/regex.h (__restrict_arr): Move definition out of #ifndef block.
32634         Required because egcs-2.91.66 (aka 1.1.2) defines __restrict, but
32635         doesn't define __restrict_arr.
32636
32637 2000-10-28  Jim Meyering  <meyering@lucent.com>
32638
32639         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_MEMCHR.
32640         (jm_PREREQ_MEMCHR): New function.
32641
32642 2000-10-28  Jim Meyering  <meyering@lucent.com>
32643
32644         * lib/memchr.c: Update from libc.
32645         Adjust for portability:
32646         [HAVE_STDLIB_H]: Include stdlib.h.
32647         [HAVE_BP_SYM_H || _LIBC]: Guard inclusion of bp-sym.h.
32648         Undef __memchr, too.
32649         [!weak_alias]: Define __memchr to memchr.
32650
32651         * lib/regex.c: Update from libc.
32652         * lib/regex.h: Likewise.
32653         * lib/getopt1.c: Likewise.
32654         * lib/memcmp.c: Likewise.
32655
32656         * lib/getusershell.c (setusershell) [HAVE_FSEEKO]: Use fseeko.
32657         Avoid using fseek, when possible -- it's broken by design.
32658         Patch by Ulrich Drepper.
32659
32660 2000-10-27  Stefan Monnier  <monnier@cs.yale.edu>
32661
32662         * regex.c (POP_FAILURE_REG_OR_COUNT, re_match_2_internal)
32663         (re_match_2_internal, re_match_2_internal, re_match_2_internal):
32664         Giving in to popular pressure to shut up the compiler with casts.
32665
32666 2000-10-26  Jim Meyering  <meyering@lucent.com>
32667
32668         * lib/strftime.c: Update from libc.
32669
32670 2000-10-25  Stefan Monnier  <monnier@cs.yale.edu>
32671
32672         * regex.c: More `unsigned char' -> `re_char' changes.
32673         Also change several `int' into `re_wchar_t'.
32674         (PATTERN_STACK_EMPTY, PUSH_PATTERN_OP, POP_PATTERN_OP): Remove.
32675         (PUSH_FAILURE_POINTER): Don't cast any more.
32676         (POP_FAILURE_REG_OR_COUNT): Remove the cast that strips `const'.
32677         We want GCC to complain, since this piece of code makes
32678         re_match non-reentrant, which *should* be fixed.
32679         (GET_BUFFER_SPACE): Use size_t rather than unsigned long.
32680         (EXTEND_BUFFER): Use RETALLOC.
32681         (SET_LIST_BIT): Don't cast.
32682         (re_wchar_t): New type.
32683         (re_iswctype, re_wctype_to_bit): Make it crystal clear to GCC
32684         that those two functions will always properly return.
32685         (IMMEDIATE_QUIT_CHECK): Cast to void.
32686         (analyse_first): Use recursion rather than an explicit stack.
32687         (re_compile_fastmap): Can't fail anymore.
32688         (re_search_2): Don't check re_compile_fastmap for failure.
32689         (PUSH_NUMBER): Renamed from PUSH_FAILURE_COUNT.
32690         Now also sets the new value (passed in a new argument).
32691         (re_match_2_internal): Use it.
32692         Also, use a new var `reg' of type size_t when looping through regs
32693         rather than reuse the inappropriate `mcnt'.
32694
32695 2000-10-25  Jim Meyering  <meyering@lucent.com>
32696
32697         * lib/obstack.c: Update from libc.
32698
32699 2000-10-24  Kenichi Handa  <handa@etl.go.jp>
32700
32701         * regex.c (regex_compile): Change the way of handling a range from
32702         a char less than 256 to a char not less than 256.
32703
32704 2000-10-24  Andrew Innes  <andrewi@gnu.org>
32705
32706         * regex.c (IMMEDIATE_QUIT_CHECK): New macro, which does QUIT on
32707         NT-Emacs only.
32708         (re_match_2_internal): Use IMMEDIATE_QUIT_CHECK instead of QUIT,
32709         so that re_search functions only quit when callers expect them to.
32710
32711 2000-10-23  Jim Meyering  <meyering@lucent.com>
32712
32713         * lib/hard-locale.c (hard_locale): Revert last change -- it was simply
32714         wrong.  That set_locale call must not have any side effects.
32715         From Paul Eggert.
32716
32717 2000-10-22  Jim Meyering  <meyering@lucent.com>
32718
32719         * lib/md5.c (md5_process_block) [OP]: Use `rol', not CYCLIC.
32720         [CYCLIC]: Remove now-unused definition.
32721
32722         * lib/save-cwd.c (O_DIRECTORY): Define, if needed.
32723         (save_cwd) [HAVE_FCHDIR]: Use O_DIRECTORY when opening ".".
32724         Suggestion from Ulrich Drepper.
32725
32726 2000-10-21  Jim Meyering  <meyering@lucent.com>
32727
32728         * m4/check-decl.m4 (jm_CHECK_DECLS): Also check for memrchr.
32729         * m4/prereq.m4 (jm_PREREQ_DIRNAME): New macro.
32730         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memrchr.
32731
32732 2000-10-21  Jim Meyering  <meyering@lucent.com>
32733
32734         * lib/dirname.c (memrchr): Declare if necessary.
32735         (dir_name): Remove the restriction that there be no
32736         trailing slashes.  Now, this code skips past them, effectively
32737         ignoring them.
32738         [TEST_DIRNAME] (main): New unit tests.
32739
32740         * lib/memrchr.c: New file from GNU libc.
32741         Undef __memrchr, too.
32742         [!weak_alias]: Define __memrchr to memrchr.
32743         Guard weak_alias use with `#ifdef weak_alias'.
32744
32745 2000-10-21  Jim Meyering  <meyering@lucent.com>
32746
32747         * lib/dirname.c (dir_name_r): New function, factored out of dir_name.
32748         (dir_name): Use dir_name_r.
32749         * lib/dirname.h (dir_name_r): Declare it.
32750
32751 2000-10-17  Jim Meyering  <meyering@lucent.com>
32752
32753         * lib/quote.h (PARAMS): Define and use.
32754         Reported by Akim Demaille.
32755
32756         * lib/getopt.c: Update from libc.
32757
32758 2000-10-16  Jim Meyering  <meyering@lucent.com>
32759
32760         * lib/hard-locale.c (hard_locale): Use "", not 0 as 2nd arg to
32761         setlocale.
32762         From Jan Fedak.
32763
32764 2000-10-15  Stefan Monnier  <monnier@cs.yale.edu>
32765
32766         * regex.c (WIDE_CHAR_SUPPORT): Define if _LIBC as well.
32767
32768 2000-09-25  Jim Meyering  <meyering@lucent.com>
32769
32770         * lib/md5.h (rol): Define (from GnuPG).
32771
32772         * lib/sha.c: Give credit (GnuPG) where due.
32773         (M): Use rol rather than open-coding it.
32774         Add a FIXME comment.
32775
32776 2000-09-21  Jim Meyering  <meyering@lucent.com>
32777
32778         * lib/userspec.c (parse_user_spec): Remove debugging printf I'd added.
32779         Reported by Michael Stone.
32780
32781 2000-09-20  Jim Meyering  <meyering@lucent.com>
32782
32783         * lib/Makefile.am (libfetish_a_SOURCES): Add sha.c.
32784         (noinst_HEADERS): Add sha.h.
32785         Based on code from Scott G. Miller and from GnuPG.
32786
32787 2000-09-18  Jim Meyering  <meyering@lucent.com>
32788
32789         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Restore the initial value of
32790         LIBS. Otherwise, everyone ends up linking with -lelf for some
32791         configurations.
32792         Reported by Mike Stone.
32793
32794 2000-09-15  Jim Meyering  <meyering@lucent.com>
32795
32796         * lib/regex.c: Update from libc.
32797
32798 2000-09-10  Jim Meyering  <meyering@lucent.com>
32799
32800         * lib/getopt.c (_getopt_internal): Update from glibc.
32801
32802 2000-09-09  Jim Meyering  <meyering@lucent.com>
32803
32804         * lib/quotearg.c: Rename ISASCII to IN_CTYPE_DOMAIN, so people don't
32805         think it should be used as a general replacement for isascii.
32806         * lib/fnmatch.c: Likewise.
32807         * lib/mbswidth.c: Likewise
32808         * lib/regex.c: Likewise.
32809
32810         Don't use atoi.
32811         * lib/userspec.c: Include sys/param.h and limits.h.
32812         Include xstrtol.h.
32813         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
32814         (UID_T_MAX, GID_T_MAX, MAXUID, MAXGID): Define.
32815         (parse_user_spec): Use xstrtoul, not atoi when converting numeric
32816         UID, GID.  Check range.
32817
32818 2000-09-06  Jim Meyering  <meyering@lucent.com>
32819
32820         * lib/getopt.c (_getopt_internal): Update from glibc.
32821
32822 2000-08-30  Jim Meyering  <meyering@lucent.com>
32823
32824         * lib/strftime.c: Merge in changes from GNU libc.
32825
32826 2000-08-26  Jim Meyering  <meyering@lucent.com>
32827
32828         * m4/jm-macros.m4: Use jm_FUNC_FPENDING.
32829         * m4/fpending.m4: New file.
32830
32831 2000-08-26  Jim Meyering  <meyering@lucent.com>
32832
32833         * lib/closeout.c: Include "__fpending.h".
32834         (close_stdout_status): Return right away if there's nothing to flush.
32835
32836         * lib/Makefile.am (noinst_HEADERS): Add __fpending.h.
32837         * lib/__fpending.c: New file.
32838         * lib/__fpending.h: New file.
32839
32840 2000-08-20  Jim Meyering  <meyering@lucent.com>
32841
32842         * m4/check-decl.m4: Include utmp.h `#if HAVE_UTMP_H', rather than
32843         `#if !HAVE_UTMPX_H'.  The latter would lose on systems with neither
32844         utmp.h nor utmpx.h.  Reported by Eli Zaretskii.
32845
32846 2000-08-11  J. David Anglin  <dave@hiauly1.hia.nrc.ca>
32847
32848         Improve fileutils installation on systems where running
32849         programs (like install) can't be unlinked.
32850         * m4/unlink-busy.m4 (jm_FUNC_UNLINK_BUSY_TEXT): New file/macro.
32851         * m4/jm-macros.m4: Use jm_FUNC_UNLINK_BUSY_TEXT.
32852
32853 2000-08-07  Paul Eggert  <eggert@twinsun.com>
32854
32855         Standardize on "memory exhausted" instead of "Memory exhausted"
32856         or "virtual memory exhausted".
32857         * lib/obstack.c (print_and_abort): Use "memory exhausted", not
32858         "virtual memory exhausted".
32859         * lib/same.c (same_name): Invoke xalloc_die instead of printing
32860         our own message.
32861         * lib/userspec.c (parse_user_spec): Likewise.
32862         * lib/bumpalloc.h: comment fix
32863         * lib/same.c, userspec.c: Include xalloc.h.
32864
32865         * lib/xalloc.h (xalloc_msg_memory_exhausted): Now char const[],
32866         not char *const and pointing to a constant array.
32867         * lib/xmalloc.c (xalloc_msg_memory_exhausted): Likewise.
32868         (xrealloc): Comment fix.
32869
32870         * lib/userspec.c (parse_user_spec):
32871         Don't translate a message until just before returning,
32872         to avoid unnecessary translation.
32873
32874 2000-08-07  Jim Meyering  <meyering@lucent.com>
32875
32876         * lib/addext.c, argmatch.c, argmatch.h, backupfile.h, bumpalloc.h,
32877         chown.c, diacrit.h, dirname.h, dup2.c, exclude.h, fileblocks.c,
32878         fnmatch.c, fnmatch.h, fsusage.c, fsusage.h, getdate.h,
32879         getgroups.c, gethostname.c, getopt.h, group-member.c,
32880         hard-locale.c, hash.h, isdir.c, lchown.c, linebuffer.c,
32881         linebuffer.h, long-options.h, malloc.c, md5.c, md5.h, memchr.c,
32882         memcmp.c, memcoll.c, memset.c, mktime.c, modechange.h, obstack.h,
32883         pathmax.h, realloc.c, rmdir.c, safe-read.c, save-cwd.c, stime.c,
32884         stpcpy.c, strcasecmp.c, strcspn.c, strdup.c, stripslash.c,
32885         strstr.c, strtod.c, strtol.c, strtoul.c, strtoull.c, strtoumax.c,
32886         utime.c, version-etc.h, xalloc.h, xstrdup.c, xstrtoumax.c,
32887         yesno.c: Back out Copyright date changes for each file with no change
32888         this year.  This eases coordination with other programs using the same
32889         source code modules.  From Paul Eggert.
32890
32891 2000-08-06  Paul Eggert  <eggert@twinsun.com>
32892
32893         * m4/mbstate_t.m4 (AC_MBSTATE_T): Define mbstate_t to be int,
32894         not char, for compatibility with glibc 2.1.3 strftime.c.
32895
32896 2000-08-03  Greg McGary  <greg@mcgary.org>
32897
32898         * lib/regex.c (SET_HIGH_BOUND, MOVE_BUFFER_POINTER,
32899         ELSE_EXTEND_BUFFER_HIGH_BOUND): New macros.
32900         (EXTEND_BUFFER): Use them.
32901
32902 2000-08-01  Jim Meyering  <meyering@lucent.com>
32903
32904         * lib/dirname.c (ISSLASH): Define.
32905         (BACKSLASH_IS_PATH_SEPARATOR): Define.
32906         (dir_name) [BACKSLASH_IS_PATH_SEPARATOR]: Handle the case in which
32907         both `\' and `/' may be use as path separators.
32908         Based on a patch from Prashant TR.
32909
32910 2000-07-31  Paul Eggert  <eggert@twinsun.com>
32911
32912         * lib/quotearg.c (quotearg_n_options): Don't make the initial
32913         slot vector a constant, since it might get modified.
32914
32915 2000-07-31  Jim Meyering  <meyering@lucent.com>
32916
32917         * lib/xmalloc.c: Use `virtual memory exhausted', not
32918         `Memory exhausted'.
32919         * lib/obstack.c (print_and_abort): Likewise.
32920
32921 2000-07-30  Paul Eggert  <eggert@twinsun.com>
32922
32923         * lib/quotearg.c (quotearg_n_options): Preallocate a slot 0
32924         buffer, so that the caller can always quote one small
32925         component of a "memory exhausted" message in slot 0.
32926         From a suggestion by Jim Meyering.
32927
32928 2000-07-30  Jim Meyering  <meyering@lucent.com>
32929
32930         * lib/makepath.c (make_path): Quote the other instance, too.
32931
32932         * lib/quotearg.c (N_STATIC_SLOTVECS): Define.
32933         (STATIC_BUF_SIZE): Define.
32934         (quotearg_n_options): Use only statically allocated storage when
32935         N < N_STATIC_SLOTVECS and the length of the quoted result is smaller
32936         than STATIC_BUF_SIZE.
32937
32938 2000-07-29  Jim Meyering  <meyering@lucent.com>
32939
32940         * lib/diacrit.c (diacrit_diac): Use __MSDOS__ in favor of MSDOS.
32941         * lib/dirname.c (dir_name): Likewise.
32942
32943         * lib/basename.c (base_name): Use ISSLASH rather than comparing against
32944         `/'.
32945
32946         * lib/dirname.c (dir_name) [MSDOS]: Declare `lim' to be const.
32947         (dir_name): Assert that there are no trailing slashes.
32948
32949 2000-07-29  Bruno Haible  <haible@clisp.cons.org>
32950
32951         * lib/mbswidth.h (mbswidth): Add a flags argument.
32952         (mbswidth): New declaration.
32953         (MBSW_ACCEPT_INVALID, MBSW_ACCEPT_UNPRINTABLE): New macros.
32954         * lib/mbswidth.c (mbswidth): Add a flags argument.
32955         (mbsnwidth): New function.
32956
32957 2000-07-24  Jim Meyering  <meyering@lucent.com>
32958
32959         * lib/mbswidth.c: Remove useless #else.  From Bruno Haible.
32960
32961 2000-07-23  Paul Eggert  <eggert@twinsun.com>
32962
32963         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Check for wcwidth declaration.
32964
32965 2000-07-23  Paul Eggert  <eggert@twinsun.com>
32966
32967         * lib/quotearg.c: Streamline by invoking multibyte code only if needed.
32968         <wchar.h>: Include only if HAVE_MBRTOWC && 1 < MB_LEN_MAX.
32969         (MB_CUR_MAX): Redefine to 1 if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX).
32970         (quotearg_buffer_restyled): If a unibyte locale, don't bother to
32971         invoke multibyte primitives.
32972
32973 2000-07-23  Paul Eggert  <eggert@twinsun.com>
32974
32975         * lib/quotearg.c:
32976         Include <wchar.h> even if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX),
32977         so that mbstate_t is always defined.
32978
32979         Do not inspect MB_LEN_MAX, since it's incorrectly defined to
32980         be 1 in at least one GCC installation, and this configuration
32981         error is likely to be common.  Ignoring MB_LEN_MAX hurts
32982         performance on hosts that have mbrtowc but have only unibyte
32983         locales, but I assume these hosts are rare.
32984
32985 2000-07-23  Paul Eggert  <eggert@twinsun.com>
32986
32987         * lib/mbswidth.c (_XOPEN_SOURCE):
32988         Don't define; this causes problems on Solaris 7.
32989         (wcwidth) [!HAVE_DECL_WCWIDTH]: Declare.
32990
32991 2000-07-23  Jim Meyering  <meyering@lucent.com>
32992
32993         * m4/check-decl.m4 (jm_CHECK_DECLS): Check for declarations of these,
32994         too: getgrgid, getpwuid, getuid.
32995
32996 2000-07-23  Jim Meyering  <meyering@lucent.com>
32997
32998         * lib/basename.c (base_name): Add an assertion.
32999
33000 2000-07-23  Bruno Haible  <haible@clisp.cons.org>
33001
33002         * lib/quotearg.c: When the system forces us to redefine mbstate_t,
33003         shadow its mbsinit function.
33004
33005 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
33006
33007         * lib/mbswidth.h: New file.
33008         * lib/mbswidth.c: New file.
33009         * lib/Makefile.am (libfetish_a_SOURCES): Add mbswidth.c.
33010         (noinst_HEADERS): Add mbswidth.h.
33011
33012 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
33013
33014         * lib/config.charset: Add support for FreeBSD. Improve support for
33015         HP-UX and IRIX 6.
33016
33017 2000-07-16  Bruno Haible  <haible@clisp.cons.org>
33018
33019         * m4/mbswidth.m4: New file.
33020         * m4/prereq.m4 (jm_PREREQ): Call jm_PREREQ_MBSWIDTH.
33021
33022 2000-07-15  Jim Meyering  <meyering@lucent.com>
33023
33024         * lib/makepath.c: Include quote.h.
33025         (make_path): Convert "`%s'" in format strings to "%s", and wrap each
33026         corresponding argument in a `quote (...)' call.
33027         Give better diagnostics.
33028
33029         * lib/Makefile.am (libfetish_a_SOURCES): Add quote.c.
33030         (noinst_HEADERS): Add quote.h.
33031
33032         * lib/quote.c (quote, quote_n): New file.  Two functions taken verbatim
33033         from tar's src/misc.c.
33034         * lib/quote.h: New file.  Prototypes for same.
33035
33036 2000-07-14  Paul Eggert  <eggert@twinsun.com>
33037
33038         From a suggestion by Bruno Haible.
33039         * lib/quotearg.c (mbrtowc): Do not use HAVE_WCHAR_H in the definition.
33040         Use defined mbstate_t, not HAVE_MBSTATE_T_OBJECT,
33041         to decide whether to define the BeOS workaround macro;
33042         this adjusts to the change to AC_MBSTATE_T.
33043
33044 2000-07-14  Jim Meyering  <meyering@lucent.com>
33045
33046         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Require
33047         jm_AC_TYPE_UINTMAX_T.
33048
33049 2000-07-13  Paul Eggert  <eggert@twinsun.com>
33050
33051         * lib/quotearg.h (enum quoting style): New enum clocale_quoting_style.
33052
33053         * lib/quotearg.c (quoting_style_args, quoting_style_vals,
33054         quotearg_buffer_restyled): Add support for
33055         clocale_quoting_style.  Undo previous change to
33056         locale_quoting_style behavior, and undo the "{LEFT QUOTATION MARK}"
33057         and "{RIGHT QUOTATION MARK}" msgids.
33058
33059 2000-07-10  Paul Eggert  <eggert@twinsun.com>
33060
33061         From a suggestion by Bruno Haible.
33062         * m4/mbstate_t.m4 (AC_MBSTATE_T):
33063         Renamed from AC_MBSTATE_T_OBJECT.  All uses changed.
33064         Change from a two-part test, which defines both HAVE_MBSTATE_T_OBJECT
33065         and mbstate_t, to a single-part test that simply defines mbstate_t.
33066         * m4/prereq.m4 (jm_PREREQ_QUOTEARG):
33067         s/AC_MBSTATE_T_OBJECT/AC_MBSTATE_T/.
33068
33069 2000-07-10  Jim Meyering  <meyering@lucent.com>
33070
33071         * m4/strerror_r.m4: Mirror the correction made in autoconf.
33072
33073         * m4/gnu-source.m4: Output to confdefs.h directly.
33074         Suggestion from Akim Demaille.
33075
33076 2000-07-09  Paul Eggert  <eggert@twinsun.com>
33077
33078         The old behavior of quoting `like this' doesn't look good with
33079         newer, ISO-style fonts.  See:
33080         http://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html
33081
33082         Instead, quote "like this" by default.  Let the translator
33083         tailor the locale-specific quoting behavior by providing
33084         translations for {LEFT QUOTATION MARK} and {RIGHT QUOTATION MARK}.
33085
33086         * lib/quotearg.c (N_): New macro.
33087         (gettext_default): New function.
33088         (quotearg_buffer_restyled): Use
33089         gettext_default ("{LEFT QUOTATION MARK}", "\"") for left quote, and
33090         gettext_default ("{RIGHT QUOTATION MARK}", "\"") for right quote.
33091
33092 2000-07-09  Jim Meyering  <meyering@lucent.com>
33093
33094         * m4/jm-macros.m4 (jm_MACROS): Add a test to see if -lm is required
33095         to link seq.  If so, set SEQ_LIBM to -lm.  From Bruno Haible.
33096
33097         * m4/gnu-source.m4 (AC__GNU_SOURCE): New file/macro.
33098         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require it.
33099
33100 2000-07-09  Jim Meyering  <meyering@lucent.com>
33101
33102         * lib/Most files: Update copyright dates to include 2000.
33103
33104 2000-07-08  Jim Meyering  <meyering@lucent.com>
33105
33106         * lib/xgethostname.c (ENAMETOOLONG): Define to an unlikely value
33107         if not defined.
33108         (xgethostname): Remove now-unnecessary #ifdef.
33109         Move declaration of `err' into loop where it's used.
33110
33111 2000-07-05  Paul Eggert  <eggert@twinsun.com>
33112         and Bruno Haible  <haible@clisp.cons.org>
33113
33114         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Test for mbstate_t
33115         only if the test for an object-type mbstate_t fails.  This
33116         prevents us from mistakenly reporting that mbstate_t is a
33117         system object type after we "#define mbstate_t int" to work
33118         around its lack.
33119
33120 2000-07-05  Paul Eggert  <eggert@twinsun.com>
33121         and Bruno Haible  <haible@clisp.cons.org>
33122
33123         * lib/quotearg.c (mbrtowc): Declare returned type, since BeOS doesn't.
33124
33125 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
33126
33127         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Pass a reasonably large buffer
33128         to strerror_r.
33129         Include <ctype.h> for use of isalpha.
33130
33131 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
33132
33133         * lib/xgethostname.c (xgethostname): Protect against the SunOS 5.5 bug
33134         by allocating a larger buffer. Test the gethostname return value for
33135         being >= 0, not == 0, for BeOS.  Don't exhaust memory if gethostname
33136         returns an error and ENAMETOOLONG isn't defined.
33137
33138 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
33139
33140         * lib/quotearg.c (struct quoting_options): Simplify quote_these_too
33141         dimension.
33142
33143 2000-07-04  Jim Meyering  <meyering@lucent.com>
33144
33145         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use plain old `echo' instead
33146         of the deprecated AC_CHECKING.
33147
33148 2000-07-04  Jim Meyering  <meyering@lucent.com>
33149
33150         * lib/strndup.c: [!HAVE_DECL_STRNLEN]: Declare strnlen.
33151         Reported by Bruno Haible.
33152
33153 2000-07-04  Jim Meyering  <meyering@lucent.com>
33154
33155         * lib/quotearg.c: Make inclusion of <wchar.h> independent of whether
33156         HAVE_MBRTOWC is set.  Required at least for irix-5.6, which
33157         lacks mbrtowc.
33158
33159 2000-07-03  Paul Eggert  <eggert@twinsun.com>
33160
33161         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Port to autoconf 2.13.
33162         Add AC_CHECK_HEADERS(stdlib.h), since we use HAVE_STDLIB_H.
33163
33164 2000-07-03  Paul Eggert  <eggert@twinsun.com>
33165         and Bruno Haible  <haible@clisp.cons.org>
33166
33167         * lib/quotearg.c (mbrtowc):
33168         Assign to *pwc, and return 1 only if result is nonzero.
33169         (iswprint): Use ISPRINT when substituting our own mbrtowc.
33170
33171 2000-07-03  Jim Meyering  <meyering@lucent.com>
33172
33173         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strnlen.
33174
33175 2000-07-03  Jim Meyering  <meyering@lucent.com>
33176
33177         * lib/readutmp.h: [HAVE_UTMPX_H]: Include <utmp.h> if HAVE_UTMP_H.
33178         This is necessary to get a definition of e.g., UTMP_FILE on
33179         HP-UX 10.20.
33180         From Bob Proulx.
33181
33182 2000-07-02  Jim Meyering  <meyering@lucent.com>
33183
33184         * m4/mbstate_t.m4: Also define mbstate_t, if necessary.
33185
33186         * m4/chown.m4: Replace each use of AC_SUBST(LIBOBJS)/LIBOBJS=... with
33187         AC_LIBOBJ(function_name).
33188         * m4/chown.m4: Likewise.
33189         * m4/fnmatch.m4: Likewise.
33190         * m4/ftruncate.m4: Likewise.
33191         * m4/getgroups.m4: Likewise.
33192         * m4/getline.m4: Likewise.
33193         * m4/group-member.m4: Likewise.
33194         * m4/jm-macros.m4: Likewise.
33195         * m4/lstat.m4: Likewise.
33196         * m4/malloc.m4: Likewise.
33197         * m4/memcmp.m4: Likewise.
33198         * m4/nanosleep.m4: Likewise.
33199         * m4/putenv.m4: Likewise.
33200         * m4/realloc.m4: Likewise.
33201         * m4/regex.m4: Likewise.
33202         * m4/stat.m4: Likewise.
33203         * m4/strftime.m4: Likewise.
33204
33205 2000-07-02  Jim Meyering  <meyering@lucent.com>
33206
33207         * lib/quotearg.c (mbstate_t): Don't define here.
33208
33209 2000-07-02  Jim Meyering  <meyering@lucent.com>
33210
33211         * lib/nanosleep.c (SIGCONT): Define if not already defined.
33212
33213 2000-07-01  Jim Meyering  <meyering@lucent.com>
33214
33215         * m4/uptime.m4: Put double quotes around use of $cross_compiling.
33216
33217 2000-07-01  Jim Meyering  <meyering@lucent.com>
33218
33219         * m4/ls-mntd-fs.m4: Remove a `FIXME' comment and fix the associated
33220         problem.
33221
33222 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
33223
33224         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Rename BeOS specific
33225         macro from MOUNTED_NEXT_DEV to MOUNTED_FS_STAT_DEV.
33226
33227 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
33228
33229         * lib/mountlist.c: Use MOUNTED_FS_STAT_DEV instead of MOUNTED_NEXT_DEV,
33230         per change in ../m4/ls-mntd-fs.m4.
33231         (read_filesystem_list): Ignore symbolic links.
33232
33233 2000-06-29  Jim Meyering  <meyering@lucent.com>
33234
33235         * lib/same.c: Include <string.h> or <strings.h>, as appropriate,
33236         for declaration of strcmp.
33237
33238         * lib/long-options.c: Include <stdlib.h>, for declaration of exit.
33239
33240         * lib/mountlist.c (fsp_to_string) [HAVE_F_FSTYPENAME_IN_STATFS]:
33241         Avoid warning by casting result to `char *' to remove `const'.
33242
33243 2000-06-28  Jim Meyering  <meyering@lucent.com>
33244
33245         * m4/mbstate_t.m4: Use stdlib.h, not stdio.h.  The latter is not
33246         included by quotearg.c, for which we perform this test.  From
33247         Bruno Haible.
33248
33249 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
33250
33251         * m4/check-decl.m4 (_jm_DECL_HEADERS): Check for utmp.h as well.
33252         * m4/prereq.m4 (jm_PREREQ_READUTMP): Likewise. If either <utmp.h> or
33253         <utmpx.h> exists, put readutmp.o into LIBOBJS.
33254
33255 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
33256
33257         * lib/Makefile.am (libfetish_a_SOURCES): Remove readutmp.c.
33258
33259 2000-06-26  Paul Eggert  <eggert@twinsun.com>
33260
33261         savedir now sets errno on failure and invokes xmalloc to get memory.
33262         Fix a couple of other minor bugs while we're at it.
33263
33264         * lib/savedir.c (<unistd.h>): Do not include; there's no need.
33265         (NAMLEN): Remove macro.
33266         (malloc, realloc): Remove decls.
33267         (stpcpy): Likewise.
33268         ("xalloc.h"): Include.
33269         (NAME_SIZE_DEFAULT): New macro.
33270         (savedir): Use xmalloc / xrealloc to allocate memory.
33271         Use NAME_SIZE_DEFAULT if name_size is negative or overflows to zero.
33272         Skip "" directory entries.
33273         Use strlen to calculate directory entry length, since the old method
33274         is rarely used these days and isn't worth supporting.
33275         Don't use a pointer after freeing it.
33276         Check for integer overflow when calculating allocation size.
33277         Use memcpy to copy entries, instead of stpcpy.
33278         Set errno properly when returning NULL.
33279         Check for readdir error.
33280
33281 2000-06-26  Jim Meyering  <meyering@lucent.com>
33282
33283         * lib/posixtm.c [HAVE_STDLIB_H]: Include stdlib.h, for decl of abort.
33284
33285 2000-06-25  Jim Meyering  <meyering@lucent.com>
33286
33287         * m4/mbstate_t.m4: Include stdio.h before wchar.h to work around
33288         Linux header bug when _XOPEN_SOURCE is defined to 500.
33289
33290 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
33291
33292         * lib/unicodeio.c (print_unicode_char): Work around ansi2knr
33293         deficiency.
33294
33295 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
33296
33297         * lib/getusershell.c (xmalloc, xrealloc): Remove functions.
33298         Include xalloc.h.
33299         Don't include <stdlib.h>.  Don't declare malloc, realloc.
33300
33301 2000-06-24  Jim Meyering  <meyering@lucent.com>
33302
33303         * m4/strerror_r.m4: Revive this file -- to try out an experimental
33304         version of AC_FUNC_STRERROR_R that may work even on BeOS, a system
33305         for which strerror does return char*, but which lacks a conveniently
33306         accessible declaration of the function.  If the compile-test says
33307         strerror_r doesn't work, then resort to a `run'-test that works on
33308         BeOS and segfaults on DEC Unix.
33309
33310 2000-06-24  Jim Meyering  <meyering@lucent.com>
33311
33312         * lib/error.c [!HAVE_DECL_STRERROR_R]: Declare strerror_r.
33313
33314 2000-06-23  Paul Eggert  <eggert@twinsun.com>
33315
33316         * m4/mbstate_t.m4: New file, defining AC_MBSTATE_T_OBJECT.
33317         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Use it.  Add check for iswprint.
33318
33319 2000-06-23  Paul Eggert  <eggert@twinsun.com>
33320
33321         * lib/quotearg.c: Include <wctype.h> after <wchar.h>, for Solaris 2.5.
33322         (mbrtowc, mbstate_t): Define substitutes if
33323         HAVE_MBRTOWC && HAVE_WCHAR_H && !HAVE_MBSTATE_T_OBJECT.
33324         (iswprint): Define to 1 if !defined iswprint && !HAVE_ISWPRINT,
33325         not if ! (HAVE_MBRTOWC && HAVE_WCHAR_H).
33326
33327 2000-06-23  Jim Meyering  <meyering@lucent.com>
33328
33329         * m4/afs.m4: Add missing AC_MSG_RESULT.
33330         Reported by Bruno Haible.
33331
33332         * m4/fsusage.m4: s/AC_MSG_CHECKING/AC_CHECKING/.
33333         Suggestion from Bruno Haible.
33334
33335 2000-06-23  Jim Meyering  <meyering@lucent.com>
33336
33337         * lib/getpass.c: New file, from Bruno Haible.  Required for BeOS.
33338
33339 2000-06-21  Jim Meyering  <meyering@lucent.com>
33340
33341         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add getpass.
33342
33343 2000-06-21  Jim Meyering  <meyering@lucent.com>
33344
33345         * lib/Makefile.am (libfetish_a_SOURCES): Add getstr.c.
33346         (noinst_HEADERS): Add getstr.h.
33347
33348         * lib/getline.c (getstr): Move into a separate file.
33349         * lib/getstr.c (getstr): New file, extracted from getline.c, with
33350         the following changes: new parameter, delim2; both delim[12]
33351         parameters have type `int', not `char'.  The latter would lose
33352         with 8-bit delimiters.
33353         * lib/getstr.h: New file.
33354
33355 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
33356
33357         * lib/xgetcwd.c (xgetcwd): If the required pathname length is smaller
33358         than 1024, return a memory chunk of least possible size, instead
33359         of size PATH_MAX + 2. In the loop, increment the size proportionally.
33360         Use free/xmalloc instead of xrealloc to avoid copying for very long
33361         paths.
33362
33363 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
33364
33365         * lib/path-concat.c (path_concat): Don't access dir[-1] if dir is
33366         the empty string.
33367
33368 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
33369
33370         * lib/canon-host.c (canon_host): Use malloc and memcpy to copy an
33371         address, not strdup.  Include <stdlib.h> and don't declare free().
33372
33373 2000-06-19  Jim Meyering  <meyering@lucent.com>
33374
33375         * lib/getloadavg.c [HAVE_NLIST_H] (NLIST_STRUCT): Define.
33376
33377 2000-06-18  Jim Meyering  <meyering@lucent.com>
33378
33379         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Remove mkdir.
33380
33381         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): Change the
33382         `checking whether...' message to be consistent with that of the
33383         lstat test.
33384
33385 2000-06-18  Jim Meyering  <meyering@lucent.com>
33386
33387         * lib/mkdir.c: Remove file, due mainly to copyright incompatibility.
33388         Besides, these days every porting target provides a mkdir function.
33389
33390         * lib/strnlen.c: Include memory.h, string.h, and/or strings.h as
33391         needed. (this snippet comes from src/system.h).
33392
33393 2000-06-16  Bruno Haible  <haible@clisp.cons.org>
33394
33395         * m4/glibc21.m4 (jm_GLIBC21): Define GLIBC21 for Makefiles, not for C.
33396
33397 2000-06-15  Paul Eggert  <eggert@twinsun.com>
33398
33399         * lib/human.c (adjust_value): New function.
33400         (human_readable_inexact): Apply rounding style even when
33401         printing approximate values.
33402
33403 2000-06-14  Paul Eggert  <eggert@twinsun.com>
33404
33405         * lib/human.c (human_readable_inexact): Allow an input block
33406         size that is not a multiple of the output block size, and vice versa.
33407         Reported by Piergiorgio Sartor.
33408
33409 2000-06-14  Paul Eggert  <eggert@twinsun.com>
33410
33411         * lib/getdate.y (get_date): Apply relative times after time
33412         zone indicator, not before.  Reported by Todd A. Jacobs.
33413
33414 2000-06-13  Jim Meyering  <meyering@lucent.com>
33415
33416         * lib/Makefile.am (all-local): Depend on lstat.c and stat.c.
33417
33418         * lib/xstat.in [!HAVE_DECL_FREE]: Declare free in lstat.c.
33419
33420 2000-06-12  Paul Eggert  <eggert@twinsun.com>
33421
33422         * lib/xstat.in: Include <stdlib.h> in lstat, to declare "free".
33423
33424 2000-06-12  Jim Meyering  <meyering@lucent.com>
33425
33426         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Replace with
33427         AC_FUNC_GETLOADAVG from autoconf, and tweak the latter to accept an
33428         optional argument.
33429         * m4/jm-macros.m4: s/AM_FUNC_GETLOADAVG/AC_FUNC_GETLOADAVG/, and supply
33430         the optional argument, `lib'.
33431
33432 2000-06-08  Jim Meyering  <meyering@lucent.com>
33433
33434         * m4/largefile.m4: Remove file (now that it's part of autoconf).
33435
33436 2000-06-04  Paul Eggert  <eggert@twinsun.com>
33437
33438         Rewrite largefile configuration so that we don't need to run
33439         getconf and don't need AC_CANONICAL_HOST.  [I'm leaving the use of
33440         AC_CANONICAL_HOST in configure.in -- jmm]
33441
33442         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS,
33443         AC_SYS_LARGEFILE_SPACE_APPEND): Remove.
33444         (AC_SYS_LARGEFILE_TEST_INCLUDES): New macro.
33445         (AC_SYS_LARGEFILE_MACRO_VALUE): Change arguments from
33446         CODE-TO-SET-DEFAULT to VALUE, INCLUDES, FUNCTION-BODY.
33447         All uses changed.
33448         Instead of inspecting the output of getconf, try to compile the
33449         test program without and with the macro definition.
33450         (AC_SYS_LARGEFILE): Do not require AC_CANONICAL_HOST or check
33451         for getconf.  Instead, check for the needed flags by compiling
33452         test programs.
33453
33454 2000-06-04  Paul Eggert  <eggert@twinsun.com>
33455
33456         * lib/strnlen.c: Include <config.h> if HAVE_CONFIG_H.
33457
33458 2000-06-04  Jim Meyering  <meyering@lucent.com>
33459
33460         * lib/getugroups.c (getugroups): Cast -1 to gid_t, for systems like
33461         SunOS 4.1.4 for which gid_t is an unsigned type.
33462
33463 2000-06-03  Jim Meyering  <meyering@lucent.com>
33464
33465         * m4/prereq.m4 (jm_PREREQ_HUMAN): Use []-quoted list in AC_CHECK_DECLS,
33466         now that autoconf requires that.
33467
33468         * m4/jm-glibc-io.m4: Add a kludge to make autoheader emit the required
33469         #undefs.  E.g., #undef HAVE_DECL_FERROR_UNLOCKED.
33470         Use []-quoted list in AC_CHECK_DECLS, now that autoconf requires that.
33471
33472 2000-06-03  Jim Meyering  <meyering@lucent.com>
33473
33474         * lib/strnlen.c [!HAVE_DECL_MEMCHR]: Declare memchr.
33475
33476 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
33477
33478         * m4/glibc21.m4: New file.
33479         * m4/jm-macros.m4 (jm_MACROS): Call jm_GLIBC21.
33480
33481 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
33482
33483         * lib/Makefile.am (install-exec-local): On systems with glibc-2.1 or
33484         newer, don't install charset.alias.
33485         * lib/config.charset: Change the Linux/glibc rules so they become empty
33486         on glibc-2.1 or newer.
33487
33488 2000-06-02  Jim Meyering  <meyering@lucent.com>
33489
33490         * lib/mountlist.c: Back out last change.  Instead, do this...
33491         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Set the
33492         me_dummy member using the same `ignore'-testing code.
33493         * lib/mountlist.h (ME_DUMMY): Add `autofs' to the list of ignored
33494         fs_type strings.
33495         From Mark D. Roth.
33496
33497 2000-05-29  Jim Meyering  <meyering@lucent.com>
33498
33499         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Ignore
33500         mounts with the `ignore' attribute.  Based on a patch from
33501         Mark D. Roth.
33502
33503 2000-05-28  Jim Meyering  <meyering@lucent.com>
33504
33505         * m4/jm-macros.m4 (AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Rename from
33506         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
33507         * m4/stat.m4: Likewise.
33508         * m4/lstat.m4: Likewise.
33509         * m4/lstat-slash.m4: Remove file (absorbed into autoconf).
33510
33511         * m4/jm-macros.m4 (AC_FUNC_STRERROR_R): Rename from jm_FUNC_STRERROR_R.
33512         * m4/strerror_r.m4: Remove file (absorbed into autoconf).
33513
33514 2000-05-26  Jim Meyering  <meyering@lucent.com>
33515
33516         * m4/uptime.m4: Use `$cross_compiling', not `$ac_cv_prog_cc_cross'.
33517
33518 2000-05-24  Jim Meyering  <meyering@lucent.com>
33519
33520         * m4/prereq.m4: Use []-quoted list in AC_CHECK_MEMBERS, now that
33521         autoconf requires that.
33522         * m4/lib-check.m4: Likewise.
33523         * m4/jm-macros.m4: Likewise.
33524         * m4/strftime.m4: Likewise.
33525
33526         * m4/check-decl.m4 (jm_CHECK_DECLS): Use []-quoted list in
33527         AC_CHECK_DECLS, now that autoconf requires that.
33528
33529 2000-05-22  Jim Meyering  <meyering@lucent.com>
33530
33531         * m4/stat.m4: Require jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
33532         * m4/lstat.m4: Likewise.
33533
33534 2000-05-22  Jim Meyering  <meyering@lucent.com>
33535
33536         * lib/makepath.c: Remove old, now-unnecessary `#ifdef __MSDOS__' block.
33537
33538 2000-05-20  Jim Meyering  <meyering@lucent.com>
33539
33540         * m4/prereq.m4 (jm_PREREQ_HUMAN): New macro.
33541         (jm_PREREQ): Use it.
33542
33543 2000-05-18  Jim Meyering  <meyering@lucent.com>
33544
33545         * lib/hash.c (hash_rehash): Fix a nasty bug: copy the free entry list
33546         back, too, since it may have been modified by allocate_entry.
33547         (hash_delete): Rewrite to use neither the assignment operator
33548         nor the comma operator in an if-expression.
33549
33550 2000-05-15  Paul Eggert  <eggert@twinsun.com>
33551
33552         * lib/closeout.c:
33553         <sys/stat.h>, <sys/types.h>, <unistd.h>, (STDOUT_FILENO):
33554         Remove; no longer needed.
33555         "quotearg.h": Add include.
33556         (file_name): Do not bother to explicitly initialize to NULL; it's less
33557         efficient on some hosts.
33558         (close_stdout_status): Remove test as to whether stdout was already
33559         closed; it breaks for the case "echo x | sort >&-".
33560         Quote file name colons.
33561         Do not assume that _("write error") lacks format strings.
33562
33563 2000-05-15  Jim Meyering  <meyering@lucent.com>
33564
33565         * lib/version-etc.c (version_etc_copyright): Update the copyright
33566         string used in all --version output.
33567
33568 2000-05-14  Jim Meyering  <meyering@lucent.com>
33569
33570         * lib/closeout.c (close_stdout_set_file_name): New function.
33571         (close_stdout_status): Use new file-scoped global.
33572         Return right away if fstat says the stdout file descriptor is invalid.
33573         * lib/closeout.h (close_stdout_set_file_name): Declare.
33574
33575 2000-05-10  Jim Meyering  <meyering@lucent.com>
33576
33577         * lib/closeout.c [default_exit_status]: New file-scoped variable.
33578         (close_stdout_set_status): New function.
33579         * lib/closeout.h (close_stdout_set_status): Declare.
33580
33581 2000-05-09  Jim Meyering  <meyering@lucent.com>
33582
33583         * m4/gettext.m4: Rename this...
33584         * m4/libintl.m4: ...to this.
33585
33586 2000-05-08  Jim Meyering  <meyering@lucent.com>
33587
33588         * lib/long-options.c: Don't include closeout.h.
33589         (parse_long_options): Don't call close_stdout for --version.
33590
33591 2000-05-06  Paul Eggert  <eggert@twinsun.com>
33592
33593         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _XOPEN_SOURCE to
33594         be 500, instead of _GNU_SOURCE to be 1, to work around glibc
33595         2.1.3 bug.  This avoids a clash when files like regex.c define
33596         _GNU_SOURCE.
33597
33598 2000-05-06  Jim Meyering  <meyering@lucent.com>
33599
33600         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add atexit.
33601         (AC_REPLACE_FUNCS): Add strnlen.
33602
33603         * m4/rmdir-errno.m4 (fetish_FUNC_RMDIR_NOTEMPTY): New macro and file.
33604         * m4/jm-macros.m4: Require fetish_FUNC_RMDIR_NOTEMPTY.
33605
33606         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Save and restore LIBS around
33607         AC_SEARCH_LIBS call for nanosleep.
33608         (LIB_NANOSLEEP): Set and AC_SUBST.
33609
33610 2000-05-06  Jim Meyering  <meyering@lucent.com>
33611
33612         * lib/strnlen.c: Undefine __strnlen and strnlen.
33613         [!weak_alias]: Define __strnlen to strnlen.
33614
33615         * lib/atexit.c: New file, from libiberty.
33616
33617 2000-05-06  Jim Meyering  <meyering@lucent.com>
33618
33619         * lib/closeout.c (close_stdout_status): Also check for errors on the
33620         stderr stream.
33621
33622 2000-05-05  Jim Meyering  <meyering@lucent.com>
33623
33624         * m4/jm-macros.m4 (jm_MACROS): Save and restore LIBS around
33625         AC_SEARCH_LIBS call for clock_gettime.
33626         (LIB_CLOCK_GETTIME): Set and AC_SUBST.
33627
33628         * m4/search-libs.m4: Update from autoconf.
33629
33630         su doesn't work on Solaris 2.6.
33631         * m4/lib-check.m4: When checking for struct spwd.sp_pwdp, also include
33632         <shadow.h>.  Reported by Dragos Harabor.
33633
33634 2000-05-05  Bruno Haible  <haible@clisp.cons.org>
33635
33636         * lib/localcharset.c (get_charset_aliases): Use malloc, realloc and
33637         memcpy instead of xmalloc, xrealloc, path_concat.
33638         (locale_charset): Treat empty environment variables as absent.
33639         (DIRECTORY_SEPARATOR, ISSLASH): New macros.
33640
33641 2000-05-04  Jim Meyering  <meyering@lucent.com>
33642
33643         * lib/getopt.c: Update from glibc.
33644         * lib/obstack.c: Likewise.
33645         * lib/obstack.h: Likewise.
33646         * lib/regex.c: Likewise.  NB: K&R compiler support is dropped for this
33647         file
33648
33649         * lib/regex.h: Likewise.
33650         * lib/strndup.c: Likewise.
33651         * lib/strnlen.c: New file, from glibc.
33652
33653 2000-05-03  Jim Meyering  <meyering@lucent.com>
33654
33655         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strndup.
33656
33657 2000-05-02  Paul Eggert  <eggert@twinsun.com>
33658
33659         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _GNU_SOURCE if
33660         this is needed to make ftello visible (e.g. glibc 2.1.3).  Use
33661         compile-time test, rather than inspecting host and OS, to
33662         decide whether to define _LARGEFILE_SOURCE.
33663
33664 2000-05-01  Jim Meyering  <meyering@lucent.com>
33665
33666         * m4/fsusage.m4: Use AC_MSG_CHECKING instead of obsolete AC_CHECKING.
33667
33668         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add BeOS support.
33669         Based on a patch from Bruno Haible.
33670
33671 2000-05-01  Jim Meyering  <meyering@lucent.com>
33672
33673         * lib/full-write.c (full_write): Remove `FIXME' part of comment.
33674
33675 2000-04-29  Jim Meyering  <meyering@lucent.com>
33676
33677         * lib/path-concat.c: Declare strdup only if it's not defined.
33678         * lib/canon-host.c: Likewise.
33679
33680 2000-04-28  Jim Meyering  <meyering@lucent.com>
33681
33682         * lib/rpmatch.c [HAVE_LIMITS_H]: Include limits.h before regex.h to
33683         avoid redefinition warning on some systems (HPUX).  Otherwise, regex.h
33684         is included first, then limits.h is included by locale.h by libintl.h.
33685         From John David Anglin.
33686
33687 2000-04-25  Jim Meyering  <meyering@lucent.com>
33688
33689         * lib/makepath.c (S_IRWXUGO): Define.
33690         (make_path): Always perform explicit chmod if MODE specifies any
33691         of the `special' permission bits.  Prompted by a bug report against
33692         install from Mate Wierdl and Joost van Baal.
33693
33694 2000-04-18  Jim Meyering  <meyering@lucent.com>
33695
33696         * m4/prereq.m4 (jm_PREREQ_GETPAGESIZE): New macro.
33697         (jm_PREREQ): Use it.
33698
33699 2000-04-18  Jim Meyering  <meyering@lucent.com>
33700
33701         * lib/README: New file.
33702
33703         * lib/getpagesize.h [!getpagesize && HAVE_OS_H && B_PAGE_SIZE]: Define
33704         getpagesize.  For BeOS.  Based on a patch from Bruno Haible.
33705
33706 2000-04-17  Jim Meyering  <meyering@lucent.com>
33707
33708         Get it right :-)
33709         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Emit the
33710         actual #define via AH_VERBATIM.  Don't need separate AC_DEFINE.
33711         Suggestion from Akim Demaille.
33712
33713 2000-04-17  Jim Meyering  <meyering@lucent.com>
33714
33715         * lib/strftime.c (my_strftime) [strftime]: Declare strftime here, since
33716         the definition of it to rpl_strftime also defined-away the system's
33717         declaration.
33718
33719 2000-04-15  Jim Meyering  <meyering@lucent.com>
33720
33721         Use `C' to denote so-called `contiguous' files, the same way
33722         that tar does.
33723         * lib/filemode.c (S_ISCTG) [!S_ISCTG && S_IFCTG]: Define.
33724         (ftypelet): Use S_ISCTG.
33725         From Michael Deutschmann.
33726
33727 2000-04-14  Jim Meyering  <meyering@lucent.com>
33728
33729         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use the one-arg
33730         form of AC_DEFINE.  Otherwise, the #ifndef in AH_VERBATIM gets
33731         clobbered.
33732
33733 2000-04-14  Jim Meyering  <meyering@lucent.com>
33734
33735         * lib/strftime.c (my_strftime) [#ifdef strftime]: Declare strftime.
33736
33737 2000-04-13  Jim Meyering  <meyering@lucent.com>
33738
33739         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use new
33740         AH_VERBATIM to insert required #ifndef into config.h.in.
33741         Suggestion from Akim Demaille.
33742
33743 2000-04-12  Jim Meyering  <meyering@lucent.com>
33744
33745         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Use AC_CHECK_HEADERS, not
33746         `AC_CHECK_HEADER' to check for locale.h.  Thanks to a report from
33747         Christian Krackowizer.
33748
33749         More code moved from ../configure.in into (jm_CHECK_ALL_TYPES).
33750         * m4/jm-macros.m4 (_GNU_SOURCE): Define.
33751         (AC_SYS_LARGEFILE): Require.
33752         (AM_C_PROTOTYPES): Require.
33753
33754 2000-04-08  Jim Meyering  <meyering@lucent.com>
33755
33756         * lib/Makefile.am (charset.alias): Use t-$@, not $@-t so the DOS 8.3
33757         names don't conflict.  Reported by Eli Zaretskii.
33758
33759 2000-04-07  Jim Meyering  <meyering@lucent.com>
33760
33761         * lib/putenv.c: Move inclusion of errno.h so it follows that of
33762         sys/types.h, to work around system header problems on AIX 3.2.5.
33763         From Bruno Haible.
33764
33765 2000-04-07  Bruno Haible  <haible@clisp.cons.org>
33766
33767         * lib/unicodeio.c (print_unicode_char): Avoid triggering Solaris iconv
33768         bug.  Deal with the different error behavior of Irix iconv.
33769
33770 2000-04-05  Paul Eggert  <eggert@twinsun.com>
33771
33772         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Don't use -n32 on
33773         IRIX if the installer said otherwise.
33774
33775 2000-04-05  Jim Meyering  <meyering@lucent.com>
33776
33777         Portability tweaks required for ultrix4.3.
33778         * m4/check-decl.m4 [!HAVE_UTMPX_H] (headers): Include <utmp.h>.
33779         (jm_CHECK_DECLS): Add getutent to the list of functions.
33780         (_jm_DECL_HEADERS): Add utmpx.h.
33781         From John David Anglin.
33782
33783         * m4/strftime.m4: Back out the 2000-04-02 change.
33784         Instead of that change, simply undefine putenv in the test program.
33785
33786 2000-04-05  Jim Meyering  <meyering@lucent.com>
33787
33788         Portability tweaks required for ultrix4.3.
33789         * lib/readutmp.h [HAVE_UTMPX_H && !HAVE_DECL_GETUTENT]: Declare
33790         getutent.
33791         * lib/readutmp.c: Include sys/types.h before sys/stat.h.
33792         * lib/canon-host.c: Declare strdup.
33793         * lib/path-concat.c: Likewise.
33794         From John David Anglin.
33795
33796 2000-04-04  Jim Meyering  <meyering@lucent.com>
33797
33798         Be more DOS 8.3-friendly.
33799         * lib/ref-add.sin: Renamed from ref-add.sed.in.
33800         * lib/ref-del.sin: Renamed from ref-del.sed.in.
33801         * lib/Makefile.am: Reflect renaming.
33802         Reported by Eli Zaretskii.
33803
33804         Use a temporary file name that won't clash with `charset.alias'
33805         in the DOS 8.3 name space.
33806         * lib/Makefile.am (charset_tmp): Define.
33807         (install-exec-local): Use $(charset_tmp) instead of $(charset_alias)-t.
33808         (uninstall-local): Likewise.
33809         Reported by Eli Zaretskii.
33810
33811 2000-04-03  Jim Meyering  <meyering@lucent.com>
33812
33813         * m4/gettext.m4: Fix typo in comment.
33814
33815         * m4/codeset.m4 (AC_CHECK_HEADERS): Add langinfo.h (moved here from
33816         textutils/configure.in).  Suggestion from Paul Eggert.
33817         (AC_CHECK_FUNCS): Add nl_langinfo.  (also from textutils/configure.in)
33818
33819 2000-04-02  Paul Eggert  <eggert@twinsun.com>
33820
33821         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Set TZ environment
33822         variable in the shell rather than using putenv, which isn't
33823         portable.  This avoids the configure-time inter-test dependency
33824         on the potentially-renamed putenv function.
33825
33826 2000-03-30  Paul Eggert  <eggert@twinsun.com>
33827
33828         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Include <sys/stat.h>
33829         before checking struct stat.st_blksize, so that
33830         HAVE_STRUCT_STAT_ST_BLKSIZE is defined correctly.
33831
33832 2000-03-29  Paul Eggert  <eggert@twinsun.com>
33833
33834         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Check for strftime,
33835         since strftime.c uses HAVE_STRFTIME to decide whether to use
33836         the underlying strftime.
33837
33838 2000-03-29  Paul Eggert  <eggert@twinsun.com>
33839
33840         * lib/time/strftime.c (my_strftime): Make sure we call the system
33841         strftime, not ourselves, when invoking the underlying strftime.
33842
33843 2000-03-24  Jim Meyering  <meyering@lucent.com>
33844
33845         * lib/Makefile.am (EXTRA_DIST): Add ref-add.sed.in and ref-del.sed.in.
33846         (charset_alias): Define.
33847         (install-exec-local): Factor out common code.
33848         (uninstall-local): Split lines longer than 80.
33849         (ref-add.sed, ref-del.sed): Remove rules... (do the following instead)
33850         (SUFFIXES): Define.
33851         (.sed.in.sed): New rule.  Don't redirect directly to $@.
33852         (CLEANFILES): Add ref-add.sed and ref-del.sed.
33853
33854 2000-03-19  Bruno Haible  <haible@clisp.cons.org>
33855
33856         * lib/config.charset: Output a line containing "Packages using this
33857         file".
33858         * lib/ref-add.sed.in, lib/ref-del.sed.in: New files.
33859         * lib/Makefile.am (install-exec-local, uninstall-local, ref-add.sed,
33860         ref-del.sed): New rules.
33861
33862 2000-03-17  Jim Meyering  <meyering@lucent.com>
33863
33864         * lib/unicodeio.c (<string.h>): Include only #if HAVE_STRING_H.
33865         Otherwise, include <strings.h>
33866
33867 2000-03-17  Bruno Haible  <haible@clisp.cons.org>
33868
33869         * lib/unicodeio.c (utf8_wctomb): New function.
33870         (print_unicode_char): Pass the Unicode character to iconv in UTF-8
33871         format instead of in UCS-4 with platform dependent endianness.
33872
33873 2000-03-10  Jim Meyering  <meyering@lucent.com>
33874
33875         * m4/lib-check.m4: Look for getspnam in -lgen, too.
33876         From Marco Franzen.
33877
33878 2000-03-07  Paul Eggert  <eggert@twinsun.com>
33879
33880         * lib/savedir.c (savedir): Work even if directory size is
33881         negative; this can happen with some screwy NFS configurations.
33882
33883 2000-03-06  Jim Meyering  <meyering@lucent.com>
33884
33885         * lib/localcharset.c (get_charset_aliases): Don't try to free file_name
33886         if it's NULL (because we ran out of memory).  From Bruno Haible.
33887
33888 2000-03-05  Jim Meyering  <meyering@lucent.com>
33889
33890         * lib/localcharset.c ("path-concat.h"): Include.
33891         (get_charset_aliases): Use path_concat instead of ANSI string
33892         concatenation.
33893
33894         * lib/unicodeio.h (PARAMS): Define.
33895         Use it to guard prototype.
33896
33897 2000-03-04  Jim Meyering  <meyering@lucent.com>
33898
33899         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require AC_C_VOLATILE,
33900         for lib/localcharset.c.
33901
33902 2000-03-04  Jim Meyering  <meyering@lucent.com>
33903
33904         * lib/Makefile.am (install-exec-local): Create $(libdir) before
33905         installing into it.
33906         (uninstall-local): Uncomment this rule so `make distcheck' works
33907         once again.
33908
33909         * lib/unicodeio.c (<errno.h>): Include it.
33910         (errno): Declare if not defined.
33911
33912         * lib/localcharset.c: Add Bruno's comment justifying use of volatile.
33913
33914         * lib/config.charset: New version, incorporating remarks from a linux
33915         i18n mailing list.  From Bruno Haible.
33916
33917 2000-03-04  Bruno Haible  <haible@clisp.cons.org>
33918
33919         * m4/codeset.m4: New file.
33920         * m4/iconv.m4: New file.
33921         * m4/jm-macros.m4 (jm_MACROS): Call jm_LANGINFO_CODESET and jm_ICONV.
33922
33923 2000-03-03  Jim Meyering  <meyering@lucent.com>
33924
33925         * m4/regex.m4: Make sure re_compile_pattern accepts patterns like `{1'.
33926
33927 2000-03-02  Jim Meyering  <meyering@lucent.com>
33928
33929         * m4/timespec.m4: Require AC_HEADER_TIME before the cache check so
33930         the messages come out on separate lines.
33931
33932         * m4/jm-glibc-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO): Use AC_CHECK_DECLS,
33933         rather than jm_CHECK_DECLARATIONS.
33934         * m4/decl.m4: Remove now-unused file.
33935
33936         * m4/check-decl.m4 (AC_CHECK_DECLS): Add getlogin, ttyname, and
33937         geteuid.
33938
33939 2000-03-02  Jim Meyering  <meyering@lucent.com>
33940
33941         * lib/Makefile.am (EXTRA_DIST): Add config.charset.
33942
33943 2000-03-01  Jim Meyering  <meyering@lucent.com>
33944
33945         * lib/localcharset.c: Guard some #includes with `#if HAVE_...'.
33946         * lib/unicodeio.c: Likewise.
33947
33948 2000-03-01  Bruno Haible  <haible@clisp.cons.org>
33949
33950         * lib/config.charset: New file.
33951         * lib/localcharset.c: New file.
33952         * lib/unicodeio.h, lib/unicodeio.c: New files.
33953         * lib/Makefile.am (DEFS): Add -DLIBDIR=...
33954         (libfetish_a_SOURCES): Add localcharset.c and unicodeio.c.
33955         (noinst_HEADERS): Add unicodeio.h.
33956         (all-local, install-exec-local, charset.alias): New targets.
33957
33958 2000-02-28  Paul Eggert  <eggert@twinsun.com>
33959
33960         * lib/quotearg.c (ALERT_CHAR): New macro.
33961         (quotearg_buffer_restyled): Use it.
33962
33963 2000-02-27  Jim Meyering  <meyering@lucent.com>
33964
33965         * m4/check-decl.m4: Add getenv to the list.
33966
33967 2000-02-27  Jim Meyering  <meyering@lucent.com>
33968
33969         * lib/strtoumax.c: Fix typo in decl of strtoul: s/long long/long/.
33970         Guard declaration of strtoull also with `&& HAVE_UNSIGNED_LONG_LONG'.
33971
33972         * lib/backupfile.c: Guard inclusion of stdlib.h with
33973         `#if HAVE_STDLIB_H', not `#if STDC_HEADERS'.
33974         Declare malloc if needed.
33975
33976         * lib/backupfile.c: Use `#if !HAVE_DECL...' instead of
33977         `#ifndef HAVE_DECL..'
33978         now that autoconf always defines the HAVE_DECL_ symbols.
33979         * lib/human.c: Likewise.
33980         * lib/same.c: Likewise.
33981         * lib/strtoumax.c: Likewise.
33982
33983         * lib/backupfile.c: Arrange for cpp to fail if the configure-time
33984         declaration check was not run.
33985         * lib/hash.c: Likewise.
33986         * lib/human.c: Likewise.
33987         * lib/same.c: Likewise.
33988         * lib/strtoumax.c: Likewise.
33989
33990         * lib/userspec.c (parse_user_spec): If there is no `:' but there is a
33991         `.', then first look up the entire `.'-containing string as a login
33992         name.
33993
33994 2000-02-23  Jim Meyering  <meyering@lucent.com>
33995
33996         * m4/check-decl.m4: Now that we have the new AC_CHECK_DECLS, use it
33997         in place of my hack.
33998
33999 2000-02-18  Paul Eggert  <eggert@twinsun.com>
34000
34001         * lib/getdate.y: Handle two-digit years with leading zeros correctly.
34002         (textint): New typedef.
34003         (parser_control): Member year changed from int to textint.
34004         All uses changed.
34005         (YYSTYPE): Removed; replaced by %union with int and textint members.
34006         (tDAY, tDAY_UNIT, tDAYZONE, tHOUR_UNIT, tID, tLOCAL_ZONE, tMERIDIAN,
34007         tMINUTE_UNIT, tMONTH, tMONTH_UNIT tSEC_UNIT, tSNUMBER, tUNUMBER,
34008         tYEAR_UNIT, tZONE, o_merid): Now of type <intval>.
34009         (tSNUMBER, tUNUMBER): Now of type <textintval>.
34010         (date, number, to_year): Use width of number in digits, not its value,
34011         to determine whether it's a 2-digit year, or a 2-digit time.
34012         (yylex): Store number of digits of numeric tokens.
34013         Reported by John Kendall.
34014
34015         (parser_control): Changed from struct parser_control to typedef (for
34016         consistency).  All uses changed.
34017
34018         (tID): Removed; not used.
34019         (yylex): Return '?' for unknown identifiers, rather than (unused) tID.
34020
34021 2000-02-14  Paul Eggert  <eggert@twinsun.com>
34022
34023         * lib/getpagesize.h (getpagesize): Port to VMS for Alpha;
34024         adapted from changes to grep getpagesize.h by Martin P.J. Zinser.
34025
34026 2000-02-12  Jim Meyering  <meyering@lucent.com>
34027
34028         * lib/userspec.c (ISDIGIT): Define it.
34029         (isdigit): Remove definition.
34030         (is_number): Use ISDIGIT, not isdigit.
34031         <libintl.h>: Include.
34032         (_ and N_): Define.
34033         (parse_user_spec): Mark translatable strings.
34034
34035 2000-02-10  Jim Meyering  <meyering@lucent.com>
34036
34037         With these changes, nanosleep.[ch] are finally enough like the other
34038         lib/* replacement files to compile on a few more losing systems.
34039
34040         * lib/nanosleep.h: Don't include config.h.
34041         Remove prototype from declaration of nanosleep.
34042         (PARAMS): Remove now-unneeded definition.
34043         * lib/nanosleep.c: #undef nanosleep.
34044         (rpl_nanosleep): Rename from nanosleep.
34045
34046 2000-02-10  Jim Meyering  <meyering@lucent.com>
34047
34048         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Rename replacement function from
34049         gnu_nanosleep to rpl_nanosleep.
34050
34051 2000-02-09  Jim Meyering  <meyering@lucent.com>
34052
34053         * m4/lib-check.m4 (jm_LIB_CHECK): Fix typo: check for sp_pwdp in
34054         struct spwd, rather than in struct passwd.  Reported by Gaël Quéri.
34055
34056 2000-02-08  Akim Demaille  <akim@epita.fr>
34057
34058         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Quote square brackets with
34059         `[' and `]' and remove uses of `changequote'.
34060         (AC_SYS_LARGEFILE_MACRO_VALUE): Likewise.
34061         (AC_SYS_LARGEFILE): Likewise.
34062         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
34063         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Remove now-unnecessary use
34064         of changequote.
34065         * m4/regex.m4 (jm_INCLUDED_REGEX): Likewise.
34066         * m4/readdir.m4 (jm_FUNC_READDIR): Likewise
34067         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Likewise, and add `int' for main.
34068         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Likewise.
34069
34070 2000-02-05  Jim Meyering  <meyering@lucent.com>
34071
34072         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require most macros.
34073         Remove explicit use of AC_HEADER_TIME.  It is required by
34074         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Using AC_HEADER_TIME and
34075         `AC_REQUIRE'ing jm_CHECK_TYPE_STRUCT_TIMESPEC provoked a but
34076         in autoconf whereby the expansion of the latter ended up preceding
34077         the expansion of its prerequisite, AC_HEADER_TIME.
34078         Reported by Volker Borchert.
34079
34080 2000-02-03  Jim Meyering  <meyering@lucent.com>
34081
34082         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for utmpxname.
34083
34084 2000-02-03  Jim Meyering  <meyering@lucent.com>
34085
34086         * lib/readutmp.c (read_utmp): Guard with `#ifdef UTMP_NAME_FUNCTION',
34087         rather than with `#if HAVE_UTMPNAME'.
34088
34089 2000-02-02  Jim Meyering  <meyering@lucent.com>
34090
34091         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Fix typo that resulted in no
34092         definition of HAVE_PATHCONF: s/AC_CHECK_FUNC/AC_CHECK_FUNCS/.
34093         Reported by Eli Zaretskii.
34094
34095 2000-02-01  Jim Meyering  <meyering@lucent.com>
34096
34097         * lib/readutmp.h (UT_USER): Add parens.  From Andreas Schwab.
34098
34099 2000-01-31  Jim Meyering  <meyering@lucent.com>
34100
34101         * m4/check-decl.m4 (jm_CHECK_DECLS): Add nanosleep to the list of
34102         functions.  Add the time.h and sys/time.h headers along with the
34103         AC_REQUIRE'ment of AC_HEADER_TIME.
34104
34105 2000-01-31  Jim Meyering  <meyering@lucent.com>
34106
34107         * lib/nanosleep.h (nanosleep): Guard declaration with
34108         `#if ! HAVE_DECL_NANOSLEEP'.
34109         Without this, OFS gets a redeclaration error for rpl_nanosleep, due to
34110         the declaration in that vendor's sys/timers.h.
34111         Reported by Christian Krackowizer.
34112
34113         * lib/quotearg.c (ISASCII): Add #undef and move definition to follow
34114         inclusion of wctype.h to work around Solaris 2.6 namespace pollution.
34115         (ISPRINT): Likewise.
34116         Reported by Tom Tromey.
34117
34118 2000-01-30  Jim Meyering  <meyering@lucent.com>
34119
34120         * m4/lib-check.m4: Clean up some kludgy old shadow password tests.
34121
34122         * m4/prereq.m4 (utmp_includes): Define.
34123         Check for ut_user and ut_name members in both struct utmpx
34124         and struct utmp.
34125
34126 2000-01-30  Jim Meyering  <meyering@lucent.com>
34127
34128         * lib/readutmp.c (extract_trimmed_name): Use UT_USER instead of
34129         hard-coding uses of ->ut_name.  The latter doesn't work with new Linux
34130         header files where only utmpx.ut_user is declared.
34131
34132         * lib/readutmp.h (UT_USER): Define.
34133
34134 2000-01-29  Jim Meyering  <meyering@lucent.com>
34135
34136         * m4/lib-check.m4: New file containing library-related checks from
34137         fileutils and sh-utils (textutils had none).
34138
34139 2000-01-28  Jim Meyering  <meyering@lucent.com>
34140
34141         * m4/perl.m4: Change format of warning message to look more like that
34142         from the missing script.  Suggestion from François Pinard.
34143
34144 2000-01-25  Jim Meyering  <meyering@lucent.com>
34145
34146         * m4/timespec.m4: Require AC_HEADER_TIME, and include sys/time.h as
34147         well as time.h in the compile check.
34148         * m4/nanosleep.m4: Require AC_HEADER_TIME rather than simply using it.
34149         Fix typo in cross-compiling case: s/yes/no/.
34150
34151 2000-01-23  Jim Meyering  <meyering@lucent.com>
34152
34153         * m4/jm-macros.m4: Move df-related tests here from
34154         fileutils/configure.in
34155
34156         * m4/ls-mntd-fs.m4: s/list_mounted_fs/ac_list_mounted_fs/
34157         (jm_LIST_MOUNTED_FILESYSTEMS): Take two parameters.
34158
34159         * m4/fsusage.m4: New file.  Extracted from fileutils/configure.in.
34160         s/space/ac_fsusage_space/.
34161         (jm_FILE_SYSTEM_USAGE): Take two parameters.
34162
34163         * m4/ftruncate.m4: New file (derived from part of
34164         fileutils/configure.in).
34165         * m4/jm-macros.m4 (jm_FUNC_FTRUNCATE): AC_REQUIRE it.
34166         (jm_CHECK_ALL_TYPES): Require AC_HEADER_MAJOR and AC_HEADER_DIRENT.
34167
34168         * m4/jm-macros.m4 (OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, MAN):
34169         AC_SUBST these here, rather than just in sh-util/configure.in, so
34170         that the now-shared-by-fileutils-and-textutils lib/Makefile.am are
34171         all the same.
34172         (AM_FUNC_OBSTACK): Add (from fileutils/configure.in).
34173         (AC_CHECK_FUNCS): Merge all checks from fileutils, textutils, sh-utils.
34174         (AM_FUNC_STRTOD): Added (from textutils', sh-utils' configure.in).
34175         (AC_SUBST(POW_LIBM)): Likewise.
34176         (AC_SUBST(DF_PROG)): Moved from fileutils/configure.in.
34177
34178 2000-01-23  Jim Meyering  <meyering@lucent.com>
34179
34180         * lib/Makefile.am (libfetish_a_SOURCES): Remove explicit mention of
34181         obstack.c.
34182
34183 2000-01-22  Jim Meyering  <meyering@lucent.com>
34184
34185         * m4/jm-macros.m4: Call AC_PROG_CC_STDC just before AC_C_CONST.
34186
34187         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Add wctype.h.
34188
34189         * m4/jm-macros.m4 (AC_CHECK_HEADERS): Add checks from fileutils'
34190         configure.in
34191         (AC_CHECK_HEADERS): Likewise for sh-utils.
34192         (AC_CHECK_HEADERS): Likewise for textutils.
34193         Merge the three lists of headers.
34194
34195         * m4/prereq.m4 (jm_PREREQ_ADDEXT): New macro.  Parts moved here
34196         from fileutils' configure.in.
34197
34198         * m4/decl.m4: Remove kludgy `test -z $ac_...AC_CHECK_HEADERS(...)'
34199         code. Moved tests into their own function (_jm_DECL_HEADERS) in
34200         check-decl.m4.
34201
34202         * m4/check-decl.m4: Use #if rather than #ifdef.
34203         Add HAVE_DECL_STRTOUL and HAVE_DECL_STRTOULL.
34204         (jm_CHECK_DECLARATIONS): Add strtoul strtoull.
34205         (_jm_DECL_HEADERS): Define new function.
34206         (jm_CHECK_DECLARATIONS): Require it.
34207
34208 2000-01-22  Jim Meyering  <meyering@lucent.com>
34209
34210         * lib/strtoumax.c: [! HAVE_DECL_STRTOUL]: Declare strtoul.
34211         [! HAVE_DECL_STRTOULL]: Declare strtoull.
34212         Required for some AIX systems.  Reported by Christian Krackowizer.
34213         [TESTING] (main): New function.
34214
34215         1997-10-17  Eli Zaretskii  <eliz@is.elta.co.il>
34216         * lib/dirname.c (dir_name): Support for DOS-style file names with drive
34217         letters.
34218
34219         * lib/quotearg.c [HAVE_WCTYPE_H]: Include <wctype.h> for decl of
34220         iswprint.
34221
34222         * lib/strverscmp.c (ISDIGIT): Define.
34223         (strverscmp): Use ISDIGIT, not isdigit.
34224
34225 2000-01-19  Jim Meyering  <meyering@lucent.com>
34226
34227         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Include <sys/time.h>, too.
34228         Use AC_HEADER_TIME.  Volker Borchert reported that OpenBSD-2.3/sparc
34229         defines `struct timespec' in <sys/time.h>
34230
34231         * m4/c-bs-a.m4: Remove uses of changequote altogether.
34232         Thanks to Akim for explaining.
34233
34234 2000-01-17  Paul Eggert  <eggert@twinsun.com>
34235
34236         * lib/nanosleep.c (nanosleep):
34237         Don't use SA_INTERRUPT to decide whether to call sigaction, as
34238         POSIX.1 doesn't require SA_INTERRUPT and some systems
34239         (e.g. Solaris 7) don't define it.  Use SA_NOCLDSTOP instead;
34240         it's been part of POSIX.1 since day 1 (in 1988).
34241
34242 2000-01-17  Jim Meyering  <meyering@lucent.com>
34243
34244         * lib/interlock: Remove unused file.  Reported by François Pinard.
34245
34246 2000-01-16  Paul Eggert  <eggert@twinsun.com>
34247
34248         * lib/quotearg.c (quotearg_buffer_restyled): Do not quote
34249         alert, backslash, formfeed, and vertical tab unnecessarily in
34250         shell quoting style.
34251
34252 2000-01-16  Jim Meyering  <meyering@lucent.com>
34253
34254         * m4/jm-macros.m4: Require jm_FUNC_GROUP_MEMBER, jm_FUNC_PUTENV,
34255         AM_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, jm_FUNC_MKTIME,
34256         jm_FUNC_GETGROUPS AC_FUNC_VPRINTF, AC_FUNC_ALLOCA,
34257         AM_FUNC_GETLOADAVG, and jm_SYS_PROC_UPTIME.
34258
34259 2000-01-16  Jim Meyering  <meyering@lucent.com>
34260
34261         * m4/c-bs-a.m4: Use `changequote(<<,>>)', rather than `changequote(, )'
34262         because the latter didn't work.
34263
34264 2000-01-15  Jim Meyering  <meyering@lucent.com>
34265
34266         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add gethostname and getusershell.
34267         (AC_REPLACE_FUNCS): Add memcpy and memset.
34268         Add these, too: stime strcspn stpcpy strstr strtol strtoul.
34269         Add strpbrk.
34270         Add these: euidaccess memcmp mkdir rmdir rpmatch strndup strverscmp.
34271
34272 2000-01-12  Jim Meyering  <meyering@lucent.com>
34273
34274         * m4/prereq.m4 (jm_PREREQ_CANON_HOST): New macro.
34275         (jm_PREREQ): Use it.
34276         (jm_PREREQ_READUTMP): New macro.
34277         (jm_PREREQ): Use it.
34278
34279 2000-01-11  Paul Eggert  <eggert@twinsun.com>
34280
34281         Quote multibyte characters correctly.
34282         * m4/c-bs-a.m4: New file.
34283         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): New macro.
34284         (jm_PREREQ): Use it.
34285
34286 2000-01-11  Paul Eggert  <eggert@twinsun.com>
34287
34288         * m4/uintmax_t.m4: Port to autoconf 2.13.
34289
34290 2000-01-08  Jim Meyering  <meyering@ascend.com>
34291
34292         * m4/strerror_r.m4 (jm_FUNC_STRERROR_R): New file/macro.
34293         * m4/jm-macros.m4 (jm_FUNC_STRERROR_R): Require it.
34294
34295 2000-01-04  Jim Meyering  <meyering@ascend.com>
34296
34297         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename from
34298         jm_STRUCT_DIRENT_D_TYPE.
34299         * m4/d-ino.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_INO): Rename from
34300         jm_STRUCT_DIRENT_D_INO.
34301         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Rename from
34302         jm_STRUCT_UTIMBUF.
34303         * m4/jm-macros.m4: Reflect s/jm_STRUCT_/jm_CHECK_TYPE_STRUCT_/
34304         renamings.
34305         * m4/utime.m4: Likewise.
34306
34307         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): New file, macro.
34308         * m4/jm-macros.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): Require it.
34309
34310 2000-01-03  Paul Eggert  <eggert@twinsun.com>
34311
34312         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Search for nanosleep in -lrt
34313         (for Solaris 7) and in -lposix4 (for Solaris 2.5.1).
34314
34315 2000-01-02  Jim Meyering  <meyering@ascend.com>
34316
34317         * m4/search-libs.m4: Escape `$' in $3 of dnl comment.  I no longer
34318         remember if this is necessary.
34319
34320 1999-12-26  Jim Meyering  <meyering@ascend.com>
34321
34322         * m4/jm-macros.m4: Use it here.
34323         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): New file/macro.
34324
34325 1999-12-23  Jim Meyering  <meyering@ascend.com>
34326
34327         * m4/jm-macros.m4: Check for clock_gettime (moved from
34328         fileutils/configure.in)
34329         Check for gettimeofday.
34330
34331 1999-12-20  Jim Meyering  <meyering@ascend.com>
34332
34333         * m4/strftime.m4: Remove kludge, now that I'm using the fixed
34334         autoconf-2.14a-1999-12-20.
34335
34336 1999-12-19  Jim Meyering  <meyering@ascend.com>
34337
34338         * m4/lstat-slash.m4: New file.
34339         * m4/jm-macros.m4: Use the new macro:
34340         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
34341
34342 1999-12-07  Jim Meyering  <meyering@ascend.com>
34343
34344         * m4/perl.m4: Require that File::Compare be available, too.
34345         Too many systems seem to lack it.
34346
34347         * m4/strftime.m4: Add checks for most of the cpp macros tested in
34348         GNU's strftime.c.  Prompted by a patch from Paul Eggert.
34349
34350 1999-11-18  Paul Eggert  <eggert@twinsun.com>
34351
34352         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around a
34353         problem with the QNX 4.25 shell, which doesn't propagate exit
34354         status of failed commands inside shell assignments.
34355
34356 1999-11-17  Jim Meyering  <meyering@ascend.com>
34357
34358         * m4/gettext.m4: Use new AC_CONFIG_LINKS in place of AC_LINK_FILES.
34359
34360 1999-11-07  Jim Meyering  <meyering@ascend.com>
34361
34362         * m4/getloadavg.m4: Add `, 1, [FIXME]' to each use of AC_DEFINE.
34363
34364 1999-11-06  Jim Meyering  <meyering@ascend.com>
34365
34366         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): New file/macro.
34367         * m4/jm-macros.m4 (jm_MACROS): Use it here.
34368
34369 1999-11-05  Jim Meyering  <meyering@ascend.com>
34370
34371         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Move some tests from
34372         configure.in of textutils, fileutils, and sh-utils into this one
34373         (shared between those packages) file.
34374         Use `AC_CHECK_MEMBERS((struct stat.st_blksize))' instead of deprecated
34375         AC_STRUCT_ST_BLKSIZE.
34376
34377 1999-11-03  Jim Meyering  <meyering@ascend.com>
34378
34379         * m4/ssize_t.m4: Remove file.  No longer needed since the new version
34380         of AC_CHECK_TYPE checks includes unistd.h.
34381         * m4/jm-macros.m4: Use straight `AC_CHECK_TYPE(ssize_t, int)'.
34382         Suggestion from Akim Demaille.
34383
34384 1999-10-30  Jim Meyering  <meyering@ascend.com>
34385
34386         * m4/uintmax_t.m4: Require 2.14a.  Remove backslash before backtick in
34387         m4-quoted string.
34388         * m4/ls-mntd-fs.m4: Likewise.
34389         * m4/jm-macros.m4: Likewise.  Also, use AC_TYPE_SSIZE_T instead
34390         * m4/jm-winsz1.m4: Likewise.
34391
34392         * m4/const.m4: Remove file, since the fix made it into the experimental
34393         version of autoconf.
34394         * m4/mktime.m4: Likewise.
34395
34396         * m4/check-type.m4: Remove file, now that the latest version of
34397         AC_CHECK_TYPE takes a third arg to specify additional #includes.
34398
34399         * m4/ssize_t.m4: New file, requires experimental version of autoconf.
34400         * m4/jm-macros.m4: Use new AC_TYPE_SSIZE_T instead of my hacked
34401         AC_CHECK_TYPE.
34402
34403 1999-10-04  Jim Meyering  <meyering@ascend.com>
34404
34405         * m4/jm-macros.m4: Don't require autoconf-2.14.1.
34406
34407 1999-09-22  Paul Eggert  <eggert@twinsun.com>
34408
34409         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around GCC
34410         2.95.1 bug with HP-UX 10.20.
34411
34412 1999-09-17  Jim Meyering  <meyering@ascend.com>
34413
34414         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add strdup.
34415         Paul Nevai reported a link failure on a NeXT CUBE with NeXTSTEP 3.3
34416         due to missing strdup (against sh-utils-2.0).
34417
34418 1999-08-29  Jim Meyering  <meyering@ascend.com>
34419
34420         * m4/jm-macros.m4: Require jm_BISON.
34421         * m4/bison.m4: New file.
34422
34423 1999-08-17  Paul Eggert  <eggert@twinsun.com>
34424
34425         * m4/largefile.m4 (AC_SYS_LARGEFILE): Fix typo: missing comma
34426         in value for _FILE_OFFSET_BITS, which broke ports to HP-UX 10.20.
34427
34428 1999-08-05  Jim Meyering  <meyering@ascend.com>
34429
34430         * m4/getline.m4: Rename test file from conftestdata to conftest.data
34431         to avoid conflicts with `conftest' on 8+3 filesystems.
34432         Suggestion from Eli Zaretskii.
34433
34434 1999-08-04  Jim Meyering  <meyering@ascend.com>
34435
34436         * m4/jm-macros.m4: Move a 4-line block of code from the configure.in of
34437         fileutils and sh-utils (textutils's getline test was inadequate).
34438         (AM_FUNC_GETLINE): Run this test.
34439         (AC_CHECK_FUNCS): Check for getdelim.
34440         Reported by Bob Proulx.
34441
34442 1999-08-02  Jim Meyering  <meyering@ascend.com>
34443
34444         * m4/jm-macros.m4: Add a comment.
34445
34446 1999-08-01  Paul Eggert  <eggert@twinsun.com>
34447
34448         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check whether
34449         <inttypes.h> defines strtoumax as a macro (and not as a
34450         function).
34451
34452 1999-08-01  Paul Eggert  <eggert@twinsun.com>
34453
34454         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Make sure
34455         that we can shift, multiply and divide unsigned long long
34456         values; Ultrix cc can't do it.
34457
34458 1999-08-01  Paul Eggert  <eggert@twinsun.com>
34459
34460         * m4/mktime.m4: New file, which is a preview of what should appear
34461         in the next public autoconf release.
34462
34463 1999-08-01  Paul Eggert  <eggert@twinsun.com>
34464
34465         * m4/lfs.m4: Remove this file.
34466         * m4/largefile.m4: New file.  It contains the old contents of
34467         lfs.m4, except that all names with prefix AC_LFS have been
34468         changed to use the prefix AC_SYS_LARGEFILE instead, to be
34469         compatible with future autoconf versions.  Also, some minor m4
34470         quoting problems have been fixed.
34471
34472 1999-08-01  Paul Eggert  <eggert@twinsun.com>
34473
34474         * m4/gettext.m4 (AM_WITH_NLS): Remove unnecessary lines.
34475         Fix typo: $nls_cv_header_intl was misspelled as $nsl_cv_header_intl.
34476         (AM_GNU_GETTEXT): Fix problem with brackets and m4 quoting,
34477         and simplify the shell code.
34478
34479 1999-08-01  Jim Meyering  <meyering@ascend.com>
34480
34481         * m4/mktime.m4 (AC_FUNC_MKTIME): Undefine to avoid syntax errors from
34482         m4.
34483
34484 1999-07-20  Jim Meyering  <meyering@ascend.com>
34485
34486         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memmove.
34487
34488 1999-07-15  Jim Meyering  <meyering@ascend.com>
34489
34490         * m4/jm-macros.m4 (AC_CHECK_FUNCS): Check for getpagesize.
34491
34492 1999-05-22  Jim Meyering  <meyering@ascend.com>
34493
34494         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memchr.
34495
34496 1999-05-20  Jim Meyering  <meyering@ascend.com>
34497
34498         * m4/search-libs.m4 [AC_SEARCH_LIBS]: Quote name in undefine.
34499         Add a colon after each `then' in case $4 is empty.
34500
34501 1999-05-16  Jim Meyering  <meyering@ascend.com>
34502
34503         * m4/search-libs.m4: New file to override autoconf's AC_SEARCH_LIBS.
34504
34505 1999-05-10  Jim Meyering  <meyering@ascend.com>
34506
34507         * m4/jm-mktime.m4: Reflect renaming: AM_FUNC_MKTIME -> AC_FUNC_MKTIME.
34508
34509         * m4/jm-macros.m4: Require 2.14.1, since we use newly-renamed
34510         AC_FUNC_MKTIME.
34511
34512 1999-05-10  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>
34513
34514         * m4/jm-mktime.m4, putenv.m4: Fix typos in config.h comments.
34515
34516 1999-05-04  Paul Eggert  <eggert@twinsun.com>
34517
34518         * m4/lfs.m4 (AC_LFS): -n32, -o32, and -n64 should be in CFLAGS,
34519         not CPPFLAGS, so that linking works correctly in IRIX.
34520
34521 1999-04-30  Paul Eggert  <eggert@twinsun.com>
34522
34523         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add dup2.
34524
34525 1999-04-20  Paul Eggert  <eggert@twinsun.com>
34526
34527         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Move unsigned long
34528         long check into new jm_AC_TYPE_UNSIGNED_LONG_LONG macro.
34529         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require
34530         jm_AC_TYPE_UNSIGNED_LONG_LONG.
34531         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): New file/macro.
34532
34533         * m4/lfs.m4: Port to AIX and HP-UX.  Support cross-compilation.
34534
34535 1999-04-20  Jim Meyering  <meyering@ascend.com>
34536
34537         * m4/xstrtoumax.m4: Require jm_AC_TYPE_UNSIGNED_LONG_LONG.
34538         AC_REPLACE xstroull if necessary.  From Paul Eggert.
34539         (AC_CHECK_FUNCS): Remove strtoull, strtoumax, strtouq.
34540
34541 1999-04-18  Jim Meyering  <meyering@ascend.com>
34542
34543         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): New file/macro.
34544         * m4/jm-macros.m4: Use it.
34545
34546 1999-04-06  Jim Meyering  <meyering@ascend.com>
34547
34548         * m4/strftime.m4: Remove test for %f.
34549
34550 1999-03-29  Jim Meyering  <meyering@ascend.com>
34551
34552         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): New macro, contains the
34553         superset of the AC_TYPE_* checks in the textutils, fileutils,
34554         and sh-utils, plus AC_TYPE_PID_T.  Paul Eggert suggested adding
34555         AC_TYPE_PID_T.
34556
34557 1999-03-28  Jim Meyering  <meyering@ascend.com>
34558
34559         * m4/jm-macros.m4: Define GNU_PACKAGE here.
34560         Be sure to AC_SUBST it, once again, so that @GNU_PACKAGE@ is
34561         replaced e.g., in the *.sh files of the sh-utils.
34562
34563 1999-03-20  Jim Meyering  <meyering@ascend.com>
34564
34565         * m4/jm-macros.m4: s/jm_WITH_REGEX/jm_INCLUDED_REGEX/.
34566         * m4/regex.m4 (jm_INCLUDED_REGEX): Rename from jm_WITH_REGEX.
34567         Don't depend on AM_GLIBC.  Suggestions from Alain Magloire.
34568
34569 1999-03-19  Jim Meyering  <meyering@ascend.com>
34570
34571         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): New macro.
34572
34573 1999-03-12  Jim Meyering  <meyering@ascend.com>
34574
34575         * m4/jm-macros.m4: Use AC_FUNC_SETVBUF_REVERSED.
34576
34577 1999-03-07  Jim Meyering  <meyering@ascend.com>
34578
34579         * m4/jm-glibc-io.m4: Use only those *_unlocked macros that are
34580         declared.
34581
34582 1999-02-17  Jim Meyering  <meyering@ascend.com>
34583
34584         * m4/gettext.m4 (AM_GNU_GETTEXT): Do `changequote' around use of
34585         brackets in macro definition.  From Eli Zaretskii and Alain Magloire.
34586
34587 1999-02-07  Jim Meyering  <meyering@ascend.com>
34588
34589         * m4/group-member.m4: New file -- extracted from sh-utils'
34590         configure.in.
34591
34592         1999-02-05  Eli Zaretskii  <eliz@is.elta.co.il>
34593         * m4/gettext.m4: Support DOS-style d:/foo/bar absolute file names.
34594
34595 1999-02-06  Jim Meyering  <meyering@ascend.com>
34596
34597         * m4/chown.m4: Use `AC_SUBST(LIBOBJS)' since we set LIBOBJS.
34598         * m4/fnmatch.m4: Likewise.
34599         * m4/getgroups.m4: Likewise.
34600         * m4/lstat.m4: Likewise.
34601         * m4/malloc.m4: Likewise.
34602         * m4/putenv.m4: Likewise.
34603         * m4/realloc.m4: Likewise.
34604         * m4/regex.m4: Likewise.
34605         * m4/stat.m4: Likewise.
34606         * m4/strftime.m4: Likewise.
34607         Suggestion from Alain Magloire.
34608
34609         * m4/chown.m4: Use `.$ac_objext', not `.o'.
34610         * m4/fnmatch.m4: Likewise.
34611         * m4/getgroups.m4: Likewise.
34612         * m4/getline.m4: Likewise.
34613         * m4/lstat.m4: Likewise.
34614         * m4/malloc.m4: Likewise.
34615         * m4/memcmp.m4: Likewise.
34616         * m4/putenv.m4: Likewise.
34617         * m4/realloc.m4: Likewise.
34618         * m4/regex.m4: Likewise.
34619         * m4/stat.m4: Likewise.
34620         * m4/strftime.m4: Likewise.
34621         Suggestion from Alain Magloire.
34622
34623         * m4/jm-macros.m4: Actually invoke jm_WITH_REGEX now that it requires
34624         an argument.
34625
34626         * m4/regex.m4: Add a run-time Test for proper operation of
34627         re_compile_pattern.
34628
34629 1999-01-31  Jim Meyering  <meyering@ascend.com>
34630
34631         * m4/getloadavg.m4: Check for locale.h and the function, setlocale.
34632
34633 1999-01-30  Jim Meyering  <meyering@ascend.com>
34634
34635         * m4/check-type.m4: Use 3-arg form of AC_DEFINE.
34636
34637         * m4/jm-mktime.m4: Make this a wrapper around the official
34638         AM_FUNC_MKTIME rather than my private copy, now that the official one
34639         is up to date.
34640         * m4/mktime.m4: Remove file.
34641
34642         * m4/getloadavg.m4: Use 3-arg form of AC_DEFINE.
34643         * m4/uptime.m4: Likewise.
34644         * m4/uintmax_t.m4: Likewise.
34645
34646 1999-01-28  Jim Meyering  <meyering@ascend.com>
34647
34648         * m4/jm-macros.m4: Use jm_AFS.
34649         * m4/afs.m4: New file (from fileutils' configure.in).
34650
34651         * m4/assert.m4: Use the 3-argument forms of AC_DEFINE* macros.
34652         * m4/chown.m4: Likewise.
34653         * m4/d-ino.m4: Likewise.
34654         * m4/d-type.m4: Likewise.
34655         * m4/fnmatch.m4: Likewise.
34656         * m4/getgroups.m4: Likewise.
34657         * m4/gettext.m4: Likewise.
34658         * m4/jm-mktime.m4: Likewise.
34659         * m4/jm-winsz2.m4: Likewise.
34660         * m4/lcmessage.m4: Likewise.
34661         * m4/ls-mntd-fs.m4: Likewise.
34662         * m4/malloc.m4: Likewise.
34663         * m4/memcmp.m4: Likewise.
34664         * m4/putenv.m4: Likewise.
34665         * m4/realloc.m4: Likewise.
34666         * m4/st_mtim.m4: Likewise.
34667         * m4/strftime.m4: Likewise.
34668
34669 1999-01-16  Jim Meyering  <meyering@ascend.com>
34670
34671         * m4/jm-macros.m4 (ARGMATCH_DIE): Define.
34672         (ARGMATCH_DIE_DECL): Define.
34673
34674 1999-01-12  Jim Meyering  <meyering@ascend.com>
34675
34676         * m4/Makefile.am.in: Rewrite to avoid using fmt.
34677         Reported by Lars Hecking.
34678
34679 1999-01-10  Jim Meyering  <meyering@ascend.com>
34680
34681         * m4/fstypename.m4: Use the new 3-arg form of AC_DEFINE instead of my
34682         gross kludge.
34683         * m4/inttypes_h.m4: Likewise.
34684         * m4/lstat.m4: Likewise.
34685         * m4/malloc.m4: Likewise.
34686         * m4/readdir.m4: Likewise.
34687         * m4/realloc.m4: Likewise.
34688         * m4/st_dm_mode.m4: Likewise.
34689         * m4/stat.m4: Likewise.
34690         * m4/utimbuf.m4: Likewise.
34691         * m4/utimes.m4: Likewise.
34692
34693         * m4/check-decl.m4: Use the new 3-arg form of AC_DEFINE instead of the
34694         AC_CHECK_FUNCS hack.  Now, it's still a hack, but at least the
34695         comments in config.h.in are meaningful.
34696
34697         * m4/jm-macros.m4: Require autoconf-2.13 here.
34698
34699         * m4/regex.m4: By default, don't use the included regex.c on systems
34700         with glibc 2.  Suggestion from Uli Drepper.
34701
34702 1999-01-02  Jim Meyering  <meyering@ascend.com>
34703
34704         * m4/jm-macros.m4: Replace strcasecmp and strncasecmp.
34705
34706 1998-12-18  Jim Meyering  <meyering@ascend.com>
34707
34708         * m4/Makefile.am.in (Makefile.am): Simplify rule.
34709         Based on a suggestion from Lars Hecking.
34710
34711 1998-11-16  Paul Eggert  <eggert@twinsun.com>
34712
34713         * m4/lfs.m4 (AC_LFS): Add support for HP-UX 10.20 and HP-UX 11.
34714
34715 1998-11-16  Jim Meyering  <meyering@ascend.com>
34716
34717         * m4/lfs.m4: Double-quote the `uname...` expression.
34718
34719 1998-11-14  Jim Meyering  <meyering@ascend.com>
34720
34721         * m4/lstat.m4: Correct comment.  POSIX does not permit it to succeed.
34722         * m4/stat.m4: Likewise.
34723
34724 1998-11-03  Jim Meyering  <meyering@ascend.com>
34725
34726         * m4/stat.m4: Rewrite to set HAVE_STAT_EMPTY_STRING_BUG.
34727         * m4/lstat.m4: Rewrite to set HAVE_LSTAT_EMPTY_STRING_BUG.
34728
34729 1998-10-18  Jim Meyering  <meyering@ascend.com>
34730
34731         * m4/check-decl.m4 (jm_CHECK_DECL_LOCALTIME_R): Remove macro.
34732
34733 1998-10-17  Jim Meyering  <meyering@ascend.com>
34734
34735         * m4/decl.m4 (jm_CHECK_DECLARATION): Don't hard-code which headers to
34736         include, though we still hard-code the `require'-like AC_CHECK_HEADERS
34737         calls for those previously hard-coded headers.  Instead, take a new
34738         parameter.
34739         (jm_CHECK_DECLARATIONS): Reflect interface change.
34740         * m4/check-decl.m4 (jm_CHECK_DECLS): Likewise.
34741         (jm_CHECK_DECL_LOCALTIME_R): New macro.
34742
34743         * m4/mktime.m4: Test for spring-forward gap before long-running test.
34744
34745 1998-10-14  Jim Meyering  <meyering@ascend.com>
34746
34747         * m4/mktime.m4: Use the more portable "TZ=PST8PDT,M4.1.0,M10.5.0"
34748         instead of "TZ=America/Vancouver".  From Paul Eggert.
34749
34750 1998-10-11  Jim Meyering  <meyering@ascend.com>
34751
34752         * m4/mktime.m4 (jm_AM_FUNC_MKTIME): New file and macro.
34753         This adds a test for a recently added compatibility fix for mktime.c.
34754         * m4/jm-mktime.m4: Require jm_AM_FUNC_MKTIME, not AM_FUNC_MKTIME.
34755
34756 1998-09-27  Jim Meyering  <meyering@ascend.com>
34757
34758         * m4/jm-macros.m4 (jm_MACROS): Require jm_FUNC_FNMATCH.
34759
34760         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): New file/macro.  Extracted from
34761         ../configure.in, including a change from Gordon Matzigkeit to allow
34762         cross-compiling for the Hurd.
34763
34764         * m4/glibc.m4: New file/macro to test for the GNU C Library
34765         versions 1 and 2.  From Gordon Matzigkeit.
34766         Indent.
34767
34768 1998-09-21  Jim Meyering  <meyering@ascend.com>
34769
34770         * m4/chown.m4: Declare locals: before, after.  From Andries Brouwer.
34771
34772 1998-08-18  Paul Eggert  <eggert@twinsun.com>
34773
34774         Port nanosecond-resolution times to UnixWare 2.1.2 and
34775         pedantic Solaris 2.6.
34776
34777         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC): Renamed from
34778         AC_STRUCT_ST_MTIM.
34779         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC):
34780         Generate name of ns member, instead of just 1 or undef.
34781         Allow for UnixWare 2.1.2 and Solaris 2.6 if in pedantic mode.
34782
34783 1998-08-15  Jim Meyering  <meyering@ascend.com>
34784
34785         * m4/ssize_t.m4 (jm_TYPE_SSIZE_T): Remove file.
34786         * m4/check-type.m4: New file.  Replacement for AC_CHECK_TYPE.
34787         * m4/jm-macros.m4: Use the new AC_CHECK_TYPE(ssize_t, int)
34788         instead of jm_TYPE_SSIZE_T.
34789
34790 1998-08-12  Jim Meyering  <meyering@ascend.com>
34791
34792         * m4/st_dm_mode.m4: New file.  From Johan Danielsson.
34793
34794 1998-08-02  Jim Meyering  <meyering@ascend.com>
34795
34796         * m4/st_mtim.m4: Use hack to avoid having to put #undef HAVE_ST_MTIM
34797         in acconfig.h manually.
34798
34799 1998-07-31  Paul Eggert  <eggert@twinsun.com>
34800
34801         * m4/st_mtim.m4: New file.
34802
34803 1998-07-28  Jim Meyering  <meyering@ascend.com>
34804
34805         * m4/utimes.m4: Undef stat.
34806
34807 1998-07-25  Jim Meyering  <meyering@ascend.com>
34808
34809         * m4/utime.m4 (jm_FUNC_UTIME): New file and macro.
34810         * m4/utimes.m4 (jm_FUNC_UTIMES_NULL): New file and macro.
34811
34812 1998-07-09  Manfred Hollstein  <manfred@s-direktnet.de>
34813
34814         * m4/chown.m4 (jm_FUNC_CHOWN): Add a check to verify that the
34815         uid and gid actually remain unchanged.
34816
34817 1998-07-07  Jim Meyering  <meyering@ascend.com>
34818
34819         * m4/jm-glibc-io.m4: Remove fclose_unlocked.
34820
34821 1998-07-04  Jim Meyering  <meyering@ascend.com>
34822
34823         * m4/regex.m4: Use syscmd, ifelse, and sysval.  Mainly as an exercise
34824         to prove that this macro can be used in packages without regex.c.
34825
34826 1998-07-04  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
34827
34828         * m4/gettext.m4 (AM_WITH_NLS): Remove intl/libintl.h if <libintl.h>
34829         is to be used.
34830
34831 1998-07-03  Jim Meyering  <meyering@ascend.com>
34832
34833         * m4/gettext.m4: Add -lintl if it's found to be necessary.
34834
34835         * m4/gettext.m4: New file -- from gettext-0.10.35.
34836         * m4/lcmessage.m4: Likewise.
34837         * m4/progtest.m4: Likewise.
34838
34839         * m4/regex.m4 (jm_WITH_REGEX): New file and macro.
34840         * m4/jm-macros.m4: Require the new macro.
34841
34842 1998-06-29  Jim Meyering  <meyering@ascend.com>
34843
34844         * m4/fstypename.m4: Include sys/param.h.  NetBSD 1.3.1 requires this
34845         for the definition of NGROUPS (used in a system header included
34846         by sys/mount.h).
34847
34848 1998-06-28  Jim Meyering  <meyering@ascend.com>
34849
34850         * m4/ls-mntd-fs.m4: New file.
34851         * m4/fstypename.m4: New file.
34852
34853         * m4/jm-macros.m4: Require the new macro.
34854         * m4/jm-glibc-io.m4: New file.
34855
34856 1998-05-19  Jim Meyering  <meyering@ascend.com>
34857
34858         * m4/jm-macros.m4: Add jm_FUNC_LCHOWN.
34859         * m4/lchown.m4: New file.
34860
34861         * m4/Makefile.am.in: New file.
34862         * m4/Makefile.am (Makefile.am): Depend on Makefile.am.in.
34863
34864 1998-05-14  Jim Meyering  <meyering@ascend.com>
34865
34866         * m4/Makefile.am (EXTRA_DIST): Add them.
34867         * m4/jm-macros.m4: New file.
34868         * m4/utimbuf.m4: New file.
34869
34870 1998-05-12  Jim Meyering  <meyering@ascend.com>
34871
34872         * m4/Makefile.am (EXTRA_DIST): Add isc-posix.m4.
34873
34874 1998-05-11  Jim Meyering  <meyering@ascend.com>
34875
34876         * m4/isc-posix.m4: New file.
34877
34878 1998-05-10  Jim Meyering  <meyering@ascend.com>
34879
34880         * m4/jm-mktime.m4: Use AM_FUNC_MKTIME, now that it's up to date.
34881
34882 1998-05-09  Jim Meyering  <meyering@ascend.com>
34883
34884         * m4/Makefile.am (EXTRA_DIST): Add ssize_t.m4.
34885         (EXTRA_DIST): Remove mktime.m4, now that the new version is included
34886         with automake.
34887
34888         * m4/ssize_t.m4: New file.
34889         * m4/mktime.m4: Remove file -- the new automake has this now.
34890
34891 1998-04-26  Jim Meyering  <meyering@ascend.com>
34892
34893         * m4/assert.m4: New file.
34894         * m4/Makefile.am (EXTRA_DIST): Add assert.m4.
34895
34896 1998-04-05  Jim Meyering  <meyering@ascend.com>
34897
34898         * m4/prereq.m4 (jm_PREREQ_REGEX): New macro.
34899         (jm_PREREQ): Use it here.
34900
34901 1998-03-23  Jim Meyering  <meyering@eng.ascend.com>
34902
34903         * m4/inttypes_h.m4: Kludges so I don't have to add HAVE_INTTYPES_H
34904         in acconfig.h.
34905
34906 1998-03-15  Jim Meyering  <meyering@eng.ascend.com>
34907
34908         * m4/prereq.m4: New file.
34909         * m4/error.m4: New file.
34910         * m4/Makefile.am (EXTRA_DIST): Add error.m4 and prereq.m4.
34911
34912 1998-02-07  Jim Meyering  <meyering@eng.ascend.com>
34913
34914         * m4/getline.m4: Don't set am_cv_func_working_getline before the
34915         cache-check for the same variable -- that defeated the purpose of
34916         the test; the test program was never run.  This was a problem only
34917         on systems with losing getline functions -- HP-UX 10.20 is one.
34918         Reported by Bjorn Helgaas.
34919
34920 1998-02-06  Jim Meyering  <meyering@eng.ascend.com>
34921
34922         * m4/Makefile.am (EXTRA_DIST): Add perl.m4.
34923
34924 1998-01-10  Jim Meyering  <meyering@na-net.ornl.gov>
34925
34926         * m4/Makefile.am (EXTRA_DIST): Add const.m4.
34927
34928         * m4/const.m4: New file.  Use an initializer in this declaration
34929         typedef int charset[2]; const charset x;
34930         Reported by Bob Glickstein.
34931
34932 1997-12-21  Jim Meyering  <meyering@na-net.ornl.gov>
34933
34934         * m4/chown.m4: Fix reversed types on -1 args to chown.
34935         From Kaveh Ghazi.
34936
34937 1997-12-14  Jim Meyering  <meyering@na-net.ornl.gov>
34938
34939         * m4/check-decl.m4: s/DECLARATION_/DECL_/g.
34940         Add lseek and memchr.
34941
34942         * m4/decl.m4: s/HAVE_DECLARATION_/HAVE_DECL_/g.
34943         T.E.Dickey <dickey@clark.net> said that some older preprocessors
34944         have a 20-character limit on names.
34945
34946 1997-11-30  Jim Meyering  <meyering@na-net.ornl.gov>
34947
34948         * m4/inttypes_h.m4: New file.
34949         * m4/uintmax_t.m4: New file.
34950         * m4/Makefile.am (EXTRA_DIST): Add inttypes_h.m4 and uintmax_t.m4.
34951
34952 Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007
34953   Free Software Foundation, Inc.
34954 Copying and distribution of this file, with or without modification,
34955 are permitted provided the copyright notice and this notice are preserved.