9a18e1ebd988482593d2dcf902f94a3f51eb6136
[gnulib.git] / ChangeLog
1 2006-12-25  Bruno Haible  <bruno@clisp.org>
2
3         * modules/utf8-ucs4-safe: New file.
4         * lib/utf8-ucs4-safe.h: New file.
5         * lib/unistr/utf8-ucs4-safe.c: New file.
6
7 2007-01-08  Bruno Haible  <bruno@clisp.org>
8
9         * modules/utf8-ucs4 (Files, lib_SOURCES): Add unistr/utf8-ucs4.c.
10         (Depends-on): Add unitypes.
11         * lib/utf8-ucs4.h: Add double-inclusion guard. Include unitypes.h.
12         (u8_mbtouc_aux): Move out to separate file.
13         (u8_mbtouc): Use ucs4_t, uint8_t types.
14         * lib/unistr/utf8-ucs4.c: New file.
15
16         * modules/utf16-ucs4 (Files, lib_SOURCES): Add unistr/utf16-ucs4.c.
17         (Depends-on): Add unitypes.
18         * lib/utf16-ucs4.h: Add double-inclusion guard. Include unitypes.h.
19         (u16_mbtouc_aux): Move out to separate file.
20         (u16_mbtouc): Use ucs4_t, uint16_t types.
21         * lib/unistr/utf16-ucs4.c: New file.
22
23         * modules/ucs4-utf8 (Files, lib_SOURCES): Add unistr/ucs4-utf8.c.
24         (Depends-on): Add unitypes.
25         * lib/ucs4-utf8.h: Add double-inclusion guard. Include unitypes.h.
26         (u8_uctomb_aux): Move out to separate file.
27         (u8_uctomb): Use ucs4_t, uint8_t types.
28         * lib/unistr/ucs4-utf8.c: New file.
29
30         * modules/ucs4-utf16 (Files, lib_SOURCES): Add unistr/ucs4-utf16.c.
31         (Depends-on): Add unitypes.
32         * lib/ucs4-utf16.h: Add double-inclusion guard. Include unitypes.h.
33         (u16_uctomb_aux): Move out to separate file.
34         (u16_uctomb): Use ucs4_t, uint16_t types.
35         * lib/unistr/ucs4-utf16.c: New file.
36
37 2007-01-08  Bruno Haible  <bruno@clisp.org>
38
39         Avoid variable names that conflict with those from libtool.
40         * m4/lib-link.m4 (AC_LIB_RPATH, AC_LIB_LINKFLAGS_BODY,
41         AC_LIB_LINKFLAGS_FROM_LIBS): Rename libext to acl_libext,
42         shlibext to acl_shlibext, libname_spec to acl_libname_spec,
43         library_names_spec to acl_library_names_spec, hardcode_* to
44         acl_hardcode_*.
45         Reported by Ralf Wildenhues.
46
47 2007-01-08  Bruno Haible  <bruno@clisp.org>
48
49         * m4/gc-arcfour.m4 (gl_GC_ARCFOUR): Remove GC_USE_ARCFOUR macro
50         definition.
51         * m4/gc-arctwo.m4 (gl_GC_ARCTWO): Remove GC_USE_ARCTWO macro
52         definition.
53         * m4/gc-des.m4 (gl_GC_DES): Remove GC_USE_DES macro definition.
54         * m4/gc-hmac-md5.m4 (gl_GC_HMAC_MD5): Remove GC_USE_HMAC_MD5 macro
55         definition.
56         * m4/gc-hmac-sha1.m4 (gl_GC_HMAC_SHA1): Remove GC_USE_HMAC_SHA1 macro
57         definition.
58         * m4/gc-md2.m4 (gl_GC_MD2): Remove GC_USE_MD2 macro definition.
59         * m4/gc-md4.m4 (gl_GC_MD4): Remove GC_USE_MD4 macro definition.
60         * m4/gc-md5.m4 (gl_GC_MD5): Remove GC_USE_MD5 macro definition.
61         * m4/gc-random.m4 (gl_GC_RANDOM): Remove GC_USE_RANDOM macro
62         definition.
63         * m4/gc-rijndael.m4 (gl_GC_RIJNDAEL): Remove GC_USE_RIJNDAEL macro
64         definition.
65         * m4/gc-sha1.m4 (gl_GC_SHA1): Remove GC_USE_SHA1 macro definition.
66         * lib/gc-gnulib.c: Use GNULIB_GC_<algorithm> instead of
67         GC_USE_<algorithm>.
68         * lib/gc-libgcrypt.c: Likewise.
69         * modules/gc-arcfour (configure.ac): Use gl_MODULE_INDICATOR.
70         * modules/gc-arctwo (configure.ac): Likewise.
71         * modules/gc-des (configure.ac): Likewise.
72         * modules/gc-hmac-md5 (configure.ac): Likewise.
73         * modules/gc-hmac-sha1 (configure.ac): Likewise.
74         * modules/gc-md2 (configure.ac): Likewise.
75         * modules/gc-md4 (configure.ac): Likewise.
76         * modules/gc-md5 (configure.ac): Likewise.
77         * modules/gc-random (configure.ac): Likewise.
78         * modules/gc-rijndael (configure.ac): Likewise.
79         * modules/gc-sha1 (configure.ac): Likewise.
80
81 2007-01-08  Bruno Haible  <bruno@clisp.org>
82
83         * m4/close-stream.m4 (gl_CLOSE_STREAM): Remove GNULIB_CLOSE_STREAM
84         macro definition.
85         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Remove GNULIB_FCNTL_SAFER macro
86         definition.
87         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Remove GNULIB_FOPEN_SAFER macro
88         definition.
89         * modules/close-stream (configure.ac): Invoke gl_MODULE_INDICATOR.
90         * modules/fcntl-safer (configure.ac): Likewise.
91         * modules/fopen-safer (configure.ac): Likewise.
92         * modules/fwriteerror (configure.ac): Likewise. Remove explicit
93         GNULIB_FWRITEERROR macro definition.
94
95 2007-01-08  Bruno Haible  <bruno@clisp.org>
96
97         * m4/gnulib-common.m4: New file.
98         * gnulib-tool (func_get_autoconf_snippet): Undo last change.
99         (func_get_filelist): Add m4/gnulib-common.m4.
100
101 2007-01-08  Bruno Haible  <bruno@clisp.org>
102
103         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Simplify the sorting
104         command.
105
106 2007-01-08  Jim Meyering  <jim@meyering.net>
107
108         Use a more robust test for a "can't happen" condition.
109         * lib/fts.c (fts_read): Revert the change of 2006-11-22, since it
110         narrowed the st_size value.  Presuming the "can't happen" condition
111         is true, that narrowing could conceivably convert an invalid st_size
112         value into a valid one.  Instead, use a change based on Matthew
113         Woehlke's original patch.
114
115         Slight readability improvement: use an assert-like macro
116         in place of literal "abort ()" uses.
117         * lib/fts.c (fts_assert): Define.
118         (fts_set_stat_required, cwd_advance_fd, fts_read, fd_ring_check):
119         Use this macro instead of a bare 'abort'.
120
121 2007-01-05  Paul Eggert  <eggert@cs.ucla.edu>
122
123         Don't worry about using IRIX 5.3's wctype.h broken definitions;
124         simply work around them.
125         * lib/wctype_.h: Remove test for HAVE_WCTYPE_CTMP_BUG.
126         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph, iswlower):
127         (iswprint, iswpunct, iswspace, iswupper, iswxdigit): Undef before declaring.
128         Don't bother to define as macros, since the standard doesn't require it.
129         * m4/wctype.m4 (WCTYPE_H, ABSOLUTE_WCTYPE_H): Simplify, since we no
130         longer worry about IRIX 5.3.
131         (HAVE_WCTYPE_CTMP_BUG): Remove.
132
133 2007-01-04  Paul Eggert  <eggert@cs.ucla.edu>
134
135         * lib/wctype_.h (_ctmp_) [HAVE_WCTYPE_CTMP_BUG]: Now of type wchar_t,
136         not wint_t.  Also, include <ctype.h>, to fix another IRIX bug.
137         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
138         Problems reported by Georg Schwarz for IRIX 5.3.
139
140         * gnulib-tool (autoconf_minversion): Take the maximum version number
141         found, not the minimum.  Problem reported by James Youngman.
142
143 2007-01-03  Karl Berry  <karl@gnu.org>
144
145         * doc/error.texi: new file, explaining interaction with progname.
146         * doc/gnulib.texi: include it.  Update copyright.
147
148 2007-01-03  Simon Josefsson  <simon@josefsson.org>
149
150         * gnulib-tool (func_create_testdir): Run AC_CANONICAL_BUILD and
151         AC_CANONICAL_HOST, to improve autobuild outputs.
152
153 2007-01-03  Paolo Bonzini  <bonzini@gnu.org>
154             Yoann Vandoorselaere <yoann.v@prelude-ids.com>
155
156         * lib/poll.c (poll): Use recv on Mac OS X to distinguish connected
157         sockets, server sockets, and other file descriptors.  Count errors
158         to compute the return value.  Reorder the code a bit to be easier
159         to follow.  Don't set event bits that were not requested (except
160         POLLERR and POLLHUP).
161
162 2007-01-01  Bruno Haible  <bruno@clisp.org>
163
164         * modules/lchmod (Include): Require lchmod.h, not lchown.h.
165
166 2007-01-03  Jim Meyering  <jim@meyering.net>
167
168         * modules/fts-lgpl (Depends-on): Add i-ring.  Reported by Bruno Haible.
169
170 2007-01-02  Bruno Haible  <bruno@clisp.org>
171
172         * modules/settime (Include): Require timespec.h.
173         * modules/nanosleep (Include): Likewise.
174
175 2007-01-01  Bruno Haible  <bruno@clisp.org>
176
177         * gnulib-tool (func_emit_copyright_notice): Bump year.
178         (func_get_autoconf_snippet): Emit a GNULIB_<modulename> macro.
179
180 2007-01-01  Bruno Haible  <bruno@clisp.org>
181
182         Improve support for OpenBSD.
183         * build-aux/config.rpath (libname_spec): Export.
184         (library_names_spec): New variable. Export.
185         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Extract libname_spec and
186         library_names_spec from the config.rpath output. Locate shared library
187         through the name pattern in library_names_spec.
188
189 2007-01-01  Eric Blake  <ebb9@byu.net>
190
191         * lib/version-etc.c (COPYRIGHT_YEAR): Bump for new year.
192
193 2006-12-30  Paul Eggert  <eggert@cs.ucla.edu>
194
195         * gnulib-tool (SORT): Remove, since we no longer assume GNU sort.
196         Rewrite so as not to assume GNU sort or "tail -1".  Also, don't
197         assume the C locale, and avoid an "eval" that could cause trouble.
198         Problem with SORT reported by Bob Proulx.
199
200         * lib/getpagesize.h (getpagesize) [defined __amigaos4__]:
201         Define.  Trivial patch from Henning Nielsen Lund, originally
202         sent to bug-grep@gnu.org today.
203
204 2006-12-29  Paul Eggert  <eggert@cs.ucla.edu>
205
206         * lib/acl.h: Include sys/types.h and sys/stat.h, for mode_t and
207         struct stat.  Problem reported by Henning Nielsen Lund.
208         * lib/acl.c: Include acl.h first, to check interface.  Don't
209         bother to include sys/types.h and sys/stat.h again.
210
211 2006-12-28  Paul Eggert  <eggert@cs.ucla.edu>
212
213         Import the following change from libc; problem reported by
214         Sven Verdoolaege.
215
216         2005-10-13  Ulrich Drepper  <drepper@redhat.com>
217
218         [BZ #1373]
219         * lib/argp.h: Remove __NTH for __argp_usage inline function.
220
221 2006-12-28  Jim Meyering  <jim@meyering.net>
222
223         * build-aux/announce-gen: Do not assume that the package
224         builds any of tar.gz, tar.bz2, and .xdelta files.
225         Suggestion from Simon Josefsson.
226
227 2006-12-28  Simon Josefsson  <simon@josefsson.org>
228
229         * modules/announce-gen: New file.
230
231 2006-12-27  Paul Eggert  <eggert@cs.ucla.edu>
232
233         * lib/mbchar.h: Just include <wctype.h>; the wctype module
234         handles its gotchas now.
235         * lib/mbswidth.c: Likewise.
236         * lib/wcwidth.h: Likewise.
237         * m4/mbchar.m4 (gl_MBCHAR): Don't bother checking for wctype.h
238         and iswcntrl; the wctype module does this stuff now.
239         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
240         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
241         * modules/mbchar (Depends-on): Add wctype.
242         * modules/mbswidth (Depends-on): Likewise.
243         * modules/wcwidth (Depends-on): Likewise.
244
245 2006-12-27  Eric Blake  <ebb9@byu.net>
246
247         * lib/fnmatch.c: Reinstate inclusion of <wchar.h>, since this
248         module uses more than what <wctype.h> is required to provide.
249
250 2006-12-26  Eric Blake  <ebb9@byu.net>
251
252         * gnulib-tool (sed_extract_prog): Avoid space-tab.
253
254 2006-12-26  Eric Blake  <ebb9@byu.net>
255
256         * modules/absolute-header: New module.
257         * modules/fcntl (Depends-on): Depend on it.
258         * modules/inttypes (Depends-on): Likewise.
259         * modules/stdint (Depends-on): Likewise.
260         * modules/sys_stat (Depends-on): Likewise.
261         * modules/wctype (Depends-on): Likewise.
262         * MODULES.html.sh (Support for building libraries and
263         executables): Document it.
264
265 2006-12-25  Paul Eggert  <eggert@cs.ucla.edu>
266
267         * gnulib-tool (SED): Remove, undoing previous change.
268         The problem was that it broke coreutils on Solaris, because
269         "sed --posix" leaked into a makefile.
270         (sed): New alias, if 'alias' and GNU sed.
271
272 2006-12-24  Jim Meyering  <jim@meyering.net>
273
274         Work around an fchownat bug in glibc-2.4:
275         http://lists.ubuntu.com/archives/ubuntu-users/2006-September/093218.html
276         This bug would cause "chown -RP ... DIR" to follow symlinks in DIR,
277         in spite of the -P option.
278         * m4/openat.m4 (gl_FUNC_FCHOWNAT, gl_FUNC_FCHOWNAT_DEREF_BUG):
279         New macros.
280         (gl_PREREQ_OPENAT): Require gl_FUNC_FCHOWNAT.
281         * modules/openat (Files): Add lib/fchownat.c.
282         * lib/openat.c (fchownat): Don't define here.  Move to...
283         * lib/fchownat.c: ...this new file.
284
285 2006-12-23  Paul Eggert  <eggert@cs.ucla.edu>
286
287         Fix bug reported by Bruno Haible in
288         <http://lists.gnu.org/archive/html/bug-gnulib/2006-12/msg00228.html>
289         where quotearg.c didn't compile on Mac OS X 10.2 because it
290         lacks <wchar.h> and wint_t.
291         * lib/wctype_.h (__wctype_wint_t): New type.
292         Include <stdio.h>, <time.h>, <wchar.h> only if HAVE_WINT_T.
293         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph):
294         (iswlower, iswprint, iswpunct, iswspace, iswupper, ixwxdigit):
295         Arg is now of type __wctype_wint_t, not wint_t.
296         * m4/wctype.m4 (gl_WCTYPE_H): Require gt_TYPE_WINT_T, and
297         substitute HAVE_WINT_T.
298         * modules/wctype (Files): Add m4/wint_t.m4.
299         (wctype.h): Substitute HAVE_WINT_T.
300
301 2006-12-23  Bruno Haible  <bruno@clisp.org>
302
303         * lib/safe-read.h [C++]: Wrap declarations in extern "C".
304
305 2006-12-23  Bruno Haible  <bruno@clisp.org>
306
307         * lib/canonicalize-lgpl.c (__realpath): Test HAVE_READLINK instead of
308         S_ISLNK.
309         Needed because gnulib's sys/stat.h replacement defines S_ISLNK on
310         mingw.
311
312 2006-12-22  Bruno Haible  <bruno@clisp.org>
313
314         * lib/copy-file.c: Include acl.h.
315         (copy_file_preserving) [USE_ACL]: Use copy_acl instead of chmod.
316         Close the file descriptors only after being done with copy_acl.
317         * modules/copy-file (Depends-on): Add acl.
318
319 2006-12-22  Bruno Haible  <bruno@clisp.org>
320
321         * gnulib-tool (SED): New variable.
322         Use $SED instead of sed everywhere.
323
324 2006-12-22  Bruno Haible  <bruno@clisp.org>
325
326         * modules/no-c++: New file.
327         * m4/no-c++.m4: New file.
328         * MODULES.html.sh (Support for building libraries and executables):
329         Add no-c++.
330
331 2006-12-22  Paul Eggert  <eggert@cs.ucla.edu>
332
333         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
334         Include <limits.h>, and use its INT_MAX to rewrite the
335         j loop so that it does not overflow 'int'.  Problem reported by
336         Ralf Wildenhues in
337         <http://lists.gnu.org/archive/html/bug-gnulib/2006-12/msg00084.html>.
338         Play it safe by shifting left by 1 rather than multiplying by 2,
339         as GCC is less likely to optimize this away when the value
340         is signed (when it assumes overflow leads to undefined behavior).
341         Also, don't assume time_t uses two's complement.
342
343 2006-12-21  Paul Eggert  <eggert@cs.ucla.edu>
344
345         * MODULES.html.sh: New module wctype.
346         * lib/wctype_.h, m4/wctype.m4, modules/wctype: New files.
347         * lib/fnmatch.c: Don't bother to include <wchar.h> before
348         <wctype.h>, since the new wctype module should fix this.
349         * lib/quotearg.c: Include <wctype.h> unconditionally, since
350         the wctype module should arrange for it.
351         * lib/regex_internal.h: Likewise.
352         * m4/quotearg.m4 (gl_QUOTEARG): Don't check for wctype.h or iswprint,
353         since the wctype module should handle this now.
354         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for wctype.h.
355         * modules/fnmatch (Depends-on): Add wctype.
356         * modules/quotearg (Depends-on): Likewise.
357         * modules/regex (Depends-on): Likewise.
358
359 2006-12-19  Bruno Haible  <bruno@clisp.org>
360
361         * lib/strdup.h [C++]: Wrap definitions in extern "C".
362         Suggested by Lorenzo Bettini <bettini@dsi.unifi.it>.
363
364 2006-12-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
365
366         * modules/savewd (Depends-on): Fix dependency on fcntl.
367
368 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
369
370         * m4/stdint.m4 (gl_STDINT_H): Set STDINT_H to empty if stdint.h
371         conforms to C99, rather than relying on the user's environment
372         setting of STDINT_H.
373
374 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
375         and Eric Blake  <ebb9@byu.net>
376
377         * lib/dirname.h (DOUBLE_SLASH_IS_DISTINCT_ROOT): Default to 0, not 1.
378         This is more consistent with the other defines here.
379         * m4/double-slash-root.m4 (gl_DOUBLE_SLASH_ROOT):
380         Port to z/OS.  Problem reported by Paul Gilmartin.
381         Change local vars to use gl_ prefix rather than ac_.
382         Don't define DOUBLE_SLASH_IS_DISTINCT_ROOT to 0, for consistency
383         with other defines.
384         * modules/double-slash-root: New module.
385         * modules/dirname (Files): Remove m4/double-slash-root.m4.
386         (Depends-on): Add double-slash-root.
387         * MODULES.html.sh (File system functions): Mention new module.
388
389 2006-12-14  Paul Eggert  <eggert@cs.ucla.edu>
390
391         * lib/yesno.c [!ENABLE_NLS]: Don't include getline.h.
392         (yesno) [!ENABLE_NLS]: Don't invoke getline or rpmatch.
393         This is for the benefit of gzip, which doesn't do i18n.
394
395 2006-12-12  Jim Meyering  <jim@meyering.net>
396
397         * m4/acl.m4 (gl_ACL_GET_FILE): Fix logic error.
398         Reported by Andreas Schwab <schwab@suse.de>.
399
400 2006-12-12  Bruno Haible  <bruno@clisp.org>
401
402         Merge these changes.
403         2006-09-05  Bruno Haible  <bruno@clisp.org>
404         * lib/iconvme.c (iconv_string): No need to save and restore errno when
405         iconv_alloc succeeded.
406         (iconv_alloc): Don't assume that malloc() or realloc(), when failing,
407         sets errno to ENOMEM. (malloc on GNU/kFreeBSD doesn't.) No need to
408         test for " && dest " at the end - dest is always != NULL there. Call
409         iconv with 4xNULL arguments initially, to reset the state. Call iconv
410         with 2xNULL arguments, also to flush the state storage. Handle the
411         IRIX iconv behaviour. Realloc the final result, to throw away unused
412         memory.
413
414 2006-12-11  Paul Eggert  <eggert@cs.ucla.edu>
415
416         * m4/openat.m4 (gl_FUNC_OPENAT): Don't compile mkdirat
417         and fchmodat unconditionally, since glibc 2.4 has them.
418         Problem reported by Arkadiusz Miskiewicz.
419
420 2006-12-10  Bruno Haible  <bruno@clisp.org>
421
422         * gnulib-tool (func_import): Show the include files only for those
423         modules that are copied and specified.
424         Reported by Karl Berry.
425
426 2006-12-08  Jim Meyering  <jim@meyering.net>
427
428         * build-aux/announce-gen ($VERSION): Don't use of $Revision...$.
429         Instead, use Emacs' time-stamp write hook.  Note that the time is UTC.
430
431         * build-aux/announce-gen: Add two new options, both optional:
432         --bootstrap-tools=TOOL_LIST
433               a comma-separated list of tools, e.g.,
434               autoconf,automake,bison,gnulib
435         --gnulib-snapshot-date=DATE
436               if gnulib is in the bootstrap tool list,
437               then report this as the snapshot date.
438               If not specified, use the current date/time.
439               If you specify a date here, be sure it's UTC.
440
441 2006-12-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
442
443         * tests/test-argp-2.sh: Fix test to match actual output.
444         (func_compare): Fix sed script to be portable.
445
446 2006-12-05  Paul Eggert  <eggert@cs.ucla.edu>
447
448         * lib/utimens.c (futimens) [HAVE_BUGGY_NFS_TIME_STAMPS]: Add a
449         workaround for this case.  It is not autoconfigured now; offhand
450         it's hard to see how to autoconfigure it.
451
452 2006-12-03  Paul Eggert  <eggert@cs.ucla.edu>
453
454         * lib/mkdir-p.c (make_dir_parents): Fix race condition when making
455         a directory that is about to be chowned.  Such a directory's
456         initial file permissions should permit the owner only and this
457         should not be changed until after the chown, since the group and
458         other bits would be incorrect if they granted permission before
459         the chown.
460
461         Fix porting problem for iswctype reported by Georg Schwarz in:
462         http://lists.gnu.org/archive/html/bug-coreutils/2006-12/msg00017.html
463         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Require HAVE_ISWCTYPE, too.
464         * lib/regex_internal.h (RE_ENABLE_I18N): Likewise.
465         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for iswctype, too.
466         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
467
468 2006-12-03  Jim Meyering  <jim@meyering.net>
469
470         * lib/fts.c (fts_load): Don't set sp->fts_dev here, since
471         p->fts_statp may not yet be defined.
472         (fts_read): Instead, set it in the caller, once p->fts_statp is
473         sure to be defined, and corresponds to a top-level directory.
474         This bug made du -x fail.  Here's the coreutils test case:
475         http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commit;h=ba45154d8e9f
476         Reported by Mike Frysinger.
477
478 2006-12-01  Jim Meyering  <jim@meyering.net>
479
480         * modules/savewd (Depends-on): Add fcntl_h to avoid self-test
481         build failure due to missing definition of HAVE_WORKING_O_NOFOLLOW.
482         Reported by Simon Josefsson.
483
484 2006-11-30  Jim Meyering  <jim@meyering.net>
485
486         * m4/warning.m4: Use the all-permissive copyright notice
487         recommended by RMS (rather than LGPL).
488         * m4/vararrays.m4: Likewise.
489         * m4/flexmember.m4: Likewise.
490
491 2006-11-29  Bruno Haible  <bruno@clisp.org>
492
493         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
494         noinst_LIBRARIES. Augment noinst_LIBRARIES and noinst_LTLIBRARIES
495         using +=.
496         Reported by Simon Josefsson <simon@josefsson.org>.
497
498 2006-11-28  James Youngman <jay@gnu.org>
499
500         * README: Advise users that they might find the bug-gnulib@gnu.org
501         and autotools-announce@gnu.org mailing lists useful.
502
503 2006-11-28  Bruno Haible  <bruno@clisp.org>
504
505         * m4/ptrdiff_max.m4: Remove file.
506
507 2006-11-21  Bruno Haible  <bruno@clisp.org>
508
509         * m4/eoverflow.m4 (gl_EOVERFLOW): Use AC_COMPUTE_INT instead of
510         _AC_COMPUTE_INT.
511         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
512         * m4/ptrdiff_max.m4 (gl_PTRDIFF_MAX): Use AC_COMPUTE_INT instead of
513         _AC_COMPUTE_INT.
514         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
515         * m4/size_max.m4 (gl_SIZE_MAX): Use AC_COMPUTE_INT instead of
516         _AC_COMPUTE_INT.
517         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
518
519 2006-11-28  Jim Meyering  <jim@meyering.net>
520
521         * lib/regcomp.c (parse_branch): Rename local, exp->expr, to avoid
522         warning from "gcc -Wshadow" about shadowing the builtin.
523
524 2006-11-27  Bruno Haible  <bruno@clisp.org>
525
526         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): Use AC_COMPUTE_INT instead of
527         _AC_COMPUTE_INT.
528         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
529
530 2006-11-27  Bruno Haible  <bruno@clisp.org>
531             Paul Eggert  <eggert@cs.ucla.edu>
532
533         * lib/regex.h (__restrict_arr): Redo logic of #if, for clarity.
534
535 2006-11-26  Bruno Haible  <bruno@clisp.org>
536
537         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
538         noinst_LTLIBRARIES.
539
540 2006-11-27  Paul Eggert  <eggert@cs.ucla.edu>
541             Bruno Haible  <bruno@clisp.org>
542
543         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to 0
544         if compiling with "gcc -ansi".
545
546 2006-11-26  Paul Eggert  <eggert@cs.ucla.edu>
547
548         Fix some incompatibilities with gcc -ansi -pedantic.
549         * lib/regex.h (__restrict_arr): Don't use the [restrict] syntax
550         if compiling pedantically with GCC, unless it's C99 or later.
551         Don't trust sys/cdefs.h's definition of __restrict_arr, either, as
552         it mishandles gcc -ansi -pedantic as well.
553         * lib/regex_internal.h (re_token_t): Don't use enum bitfields
554         if gcc -pedantic.
555         * lib/regexec.c (check_node_accept_bytes): Don't use auto
556         initializers for struct if -pedantic, unless it's C99 or later.
557
558 2006-11-25  Nix  <nix@esperi.org.uk>  (tiny change)
559
560         * m4/fcntl_h.m4 (gl_FCNTL_H): Test the atime, not the mtime.
561         Don't close an fd more than once. Identical atimes indicate
562         success, not failure.
563
564 2006-11-22  Robinson Mittmann <bob@hoplon.com>  (tiny change)
565
566         * lib/sincosl.c (kernel_sinl): Fix typo in threshold.
567
568 2006-11-23  Jim Meyering  <jim@meyering.net>
569
570         * build-aux/announce-gen: New file.  From coreutils.
571
572 2006-11-22  Jim Meyering  <jim@meyering.net>
573
574         Work around a compile-time error from the HP-UX 11.00 /bin/cc.
575         * lib/fts.c (enum Fts_stat): Give this previously-anon enum a name.
576         (fts_read): Use a temporary to narrow the overused st_size member
577         before using it in a switch statement.  Reported by Matthew Woehlke.
578
579         * m4/clock_time.m4 (gl_CLOCK_TIME): Quote AC_SUBST argument.
580         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
581
582 2006-11-20  Bruno Haible  <bruno@clisp.org>
583
584         * gettext.m4 (AM_GNU_GETTEXT): Revert 2005-07-28 patch: Use
585         changequote instead of pairs of brackets.
586         Reported by Andreas Schwab <schwab@suse.de>.
587
588 2006-11-21  Jim Meyering  <jim@meyering.net>
589
590         * lib/fts.c (fts_safe_changedir): Move a declaration "up",
591         so as to remain compatible with older compilers.
592         Patch from Michael Deutschmann.
593
594 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
595
596         * MODULES.html.sh (File system functions): Add openat.
597
598         * lib/openat.h (rpl_fstatat): New macro, if
599         [HAVE_OPENAT && ! LSTAT_FOLLOWS_SLASHED_SYMLINK.
600         (fstatat): Define to rpl_fstatat under the same conditions,
601         unless COMPILING_FSTATAT.
602         * m4/openat.m4 (gl_FUNC_OPENAT): Compile fstatat.c too, if fstatat
603         seems to have the bug.
604         * lib/fstatat.c: New file.
605         * modules/openat (Files): Add it.
606
607 2006-11-20  Bruno Haible  <bruno@clisp.org>
608
609         * Makefile: New file.
610
611 2006-11-20  Jim Meyering  <jim@meyering.net>
612
613         The beginnings of syntax-related checks for gnulib.
614         * lib/Makefile: New file.
615         * lib/t-idcache: New script.  Ensure that the two halves of
616         idcache.c stay in sync.
617
618         * lib/idcache.c: Adjust comments in user- and group- portions to
619         be more accurate, and to be consistent with one another.
620
621 2006-11-20  Jim Meyering  <jim@meyering.net>
622
623         * lib/idcache.c: Restore most of the 2006-11-06 patch, so as to
624         continue using the flexible array member (thus, this module performs
625         half as many malloc calls), with the addition that...
626         (getgroup, getuser): Consistently record a non-match via an empty
627         "name" string, and map an empty string match to a NULL return value.
628         * modules/idcache (Depends-on): Re-add flexmember.
629
630         * lib/idcache.c (getuser): Remove all uses of the register keyword.
631         (getuidbyname, getgroup, getgidbyname): Likewise.
632
633         Use cleaner syntax: NULL rather than 0.
634         * lib/idcache.c (getuidbyname, getgidbyname): Return NULL, not 0.
635
636 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
637
638         * lib/idcache.c: Undo most recent patch, dated 2006-11-06.
639         It mishandled the case where the group was missing.
640         Problem reported by Greg Schafer.
641         * modules/idcache: Likewise.
642
643 2006-11-18  Jim Meyering  <jim@meyering.net>
644
645         * check-module (%exempt_header): Add exception for some
646         conditionally-included headers.
647
648         * modules/i-ring (Depends-on): Add verify.
649         (License): Change to LGPL.
650
651 2006-11-16  Paul Eggert  <eggert@cs.ucla.edu>
652
653         * modules/getaddinfo (Depends-on): Remove inttostr; add snprintf.
654         * lib/getaddrinfo.c: Include snprintf.h rather than intprops.h
655         and inttostr.h.  Use snprintf rather than uinttostr, so that
656         LGPLed code doesn't depend on GPLed.
657
658 2006-11-17  Paul Eggert  <eggert@cs.ucla.edu>
659
660         * modules/inline (License): Change from GPL to LGPL.
661
662 2006-11-17  Jim Meyering  <jim@meyering.net>
663
664         * modules/d-type (License): Switch to LGPL.
665
666 2006-11-15  Bruno Haible  <bruno@clisp.org>
667
668         * m4/alloca.m4 (gl_FUNC_ALLOCA): Fix the AC_CACHE_CHECK message.
669
670 2006-11-15  Eric Blake  <ebb9@byu.net>
671
672         * m4/allocsa.m4 (gl_ALLOCSA): Don't invoke macro already picked up by
673         the module dependency.
674
675 2006-11-15  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
676             Bruno Haible  <bruno@clisp.org>
677
678         * gnulib-tool (func_create_testdir): Add license consistency check.
679
680 2006-11-15  Eric Blake  <ebb9@byu.net>
681
682         * m4/alloca.m4 (gl_FUNC_ALLOCA): Use AC_CACHE_CHECK to avoid a
683         random "(cached)" in configure output.
684
685 2006-11-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
686
687         * m4/inttypes.m4 (gl_INTTYPES_H): Use AC_CACHE_CHECK so that the
688         test for conforming inttypes.h is both announced and cached.
689
690         * MODULES.html.sh (seen_modules, seen_files): New variables.
691         (func_module): Rewrite to use a few less gnulib-tool and sed
692         invocations.  Avoid a couple of quadratic algorithms for ...
693         (missed_modules, missed_files): ... these, with ...
694         (func_append, func_tmpdir): ... these new functions, from
695         gnulib-tool.  Analogously, install traps for cleanup.
696
697         * tests/test-gc.c (main): Remove unused variables.
698         * tests/test-read-file.c: Include stdlib.h, for 'free'.
699
700 2006-11-14  Paul Eggert  <eggert@cs.ucla.edu>
701
702         * modules/inttostr (License): Change to LGPL.
703
704 2006-11-14  Eric Blake  <ebb9@byu.net>
705
706         * modules/tempname (License): Change to LGPL.
707
708 2006-11-14  Eric Blake  <ebb9@byu.net>
709
710         * doc/functions.texi (Function Portability): *printf functions on
711         Cygwin now understand all POSIX size specifiers.
712
713 2006-11-14  Bruno Haible  <bruno@clisp.org>
714
715         * modules/c-ctype (License): Change to LGPL.
716
717 2006-11-12  Bruno Haible  <bruno@clisp.org>
718
719         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
720         AC_LIB_LINKFLAGS_BODY): Also set a LIB${NAME}_PREFIX variable. Needed
721         for GNOME libraries, for which the include files are installed in
722         subdirectories of $prefix/include.
723
724 2006-11-12  Bruno Haible  <bruno@clisp.org>
725
726         * m4/lib-link.m4: Require at least autoconf-2.54.
727         (AC_LIB_LINKFLAGS_BODY) [autoconf < 2.61]: Turn dots into the library
728         name to underscores for the --with option.
729
730 2006-11-13  Bruno Haible  <bruno@clisp.org>
731
732         * gnulib-tool (func_create_testdir): Set gl_source_base correctly in
733         the tests directory.
734         Reported by Ralf Wildenhues.
735
736 2006-11-13  Bruno Haible  <bruno@clisp.org>
737
738         * gnulib-tool (func_emit_initmacro_start): Also override AC_LIBSOURCES.
739         (func_emit_initmacro_end): Undo the override here.
740         (func_emit_initmacro_done): Emit a definition for gl_LIBSOURCES.
741         Works around the famous automake error in coreutils.
742
743 2006-11-13  Eric Blake  <ebb9@byu.net>
744
745         * lib/gl_anytree_oset.h (gl_tree_search_atleast): Return the
746         element, not its node.
747
748 2006-11-12  Bruno Haible  <bruno@clisp.org>
749
750         * gnulib-tool (func_emit_lib_Makefile_am): Replace occurrences of
751         '$(top_srcdir)/build-aux/', taking into account the real auxdir.
752
753 2006-11-12  Bruno Haible  <bruno@clisp.org>
754
755         * gnulib-tool: New option --local-symlink.
756         (func_usage): Document it.
757         (lsymbolic): New variable.
758         (func_import, func_create_testdir): If --symlink was not specified,
759         test whether --local-symlink was specified and the file comes from
760         the local_gnulib_dir.
761
762 2006-11-12  Bruno Haible  <bruno@clisp.org>
763
764         * gnulib-tool (func_ln): New function.
765         (func_ln_if_changed, func_create_testdir): Use it instead of "ln -s".
766
767 2006-11-12  Bruno Haible  <bruno@clisp.org>
768
769         Finish support for source files in subdirectories.
770         * gnulib-tool (func_emit_lib_Makefile_am): If some of the source files
771         are in subdirectories, set uses_subdirs and add 'subdir-objects' to
772         AUTOMAKE_OPTIONS.
773         (func_import, func_create_testdir): Invoke AM_PROG_CC_C_O in this case.
774
775 2006-11-12  Bruno Haible  <bruno@clisp.org>
776
777         * gnulib-tool (func_get_automake_snippet): Synthesize also an
778         EXTRA_lib_SOURCES augmentation.
779         (func_emit_lib_Makefile_am): Initialize EXTRA_lib..._SOURCES to empty.
780
781 2006-11-12  Jim Meyering  <jim@meyering.net>
782
783         Make fts (in FTS_CWDFD mode) more efficient by caching a few open
784         file descriptors.  This also averts a failure on systems with
785         native openat support when a traversed directory lacks "x" access.
786         * lib/fts_.h: Include "i-ring.h"
787         (struct FTS) [fts_fd_ring]: New member.
788         * lib/fts.c (RESTORE_INITIAL_CWD): Also call fd_ring_clear.
789         (FCHDIR): Add parentheses.
790         (fd_ring_check, fd_ring_print) [!FTS_DEBUG]: Define away.
791         (cwd_advance_fd): Add a 3rd parameter.  Adjust all callers.
792         When descending, rather than simply closing the previous
793         fts_cwd_fd value, push that file descriptor onto the ring.
794         (same_fd, fd_ring_print, fd_ring_check) [FTS_DEBUG]: New functions.
795         (fts_open): Initialize the new fd_ring member.
796         (fts_close): Clear the ring.
797         (fts_safe_changedir): When possible, use our new fd_ring to skip
798         the diropen and fstat and dev/ino comparison that would normally
799         accompany a virtual `chdir ("..")'.
800
801         * modules/fts (Depends-on): Add i-ring.
802         * modules/i-ring: New module.
803         * lib/i-ring.c, lib/i-ring.h, lib/i-ring-test.c: New files.
804         * m4/i-ring.m4: New file.
805
806 2006-11-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
807
808         * gnulib-tool (func_create_testdir): Fix replacement of
809         `build-aux' in configure.ac.  Run autotools in gltests
810         subdirectory.
811         (func_create_testdir, func_create_megatestdir, test): There is
812         no need for '--force' in most autotool invocations in a new
813         tree.  Actually fail the whole test if any of the tools, or the
814         configure or make stages fail.
815
816         Sync from Automake.
817         * build-aux/gnupload: Revert last change.  Add pointer to upload
818         instructions of the GNU Maintenance Instructions.
819         Suggestion by Karl Berry.
820
821 2006-11-10  Jim Meyering  <jim@meyering.net>
822
823         * lib/fts.c [FTS_DEBUG]: Don't try to print a pointer via %s.
824
825 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
826
827         * lib/gettext.h (dgettext, dcgettext, ngettext) [! ENABLE_NLS]:
828         (dngettext, dcngettext, bindtextdomain) [! ENABLE_NLS]:
829         (bind_textdomain_codeset) [! ENABLE_NLS]:
830         Evaluate all the arguments.  That way, callers get compatible behavior
831         if the arguments have side effects.  Also, it avoids some GCC
832         diagnostics in some cases; Joel E. Denny reported problems when Bison
833         was configured with --enable-gcc-warnigs.
834
835 2006-11-10  Jim Meyering  <jim@meyering.net>
836
837         * m4/inline.m4 (gl_INLINE): Check with the compiler, not cpp, so that
838         relevant options in CFLAGS (like -O, -fno-inline) are taken into
839         account.
840
841 2006-11-10  Jim Meyering  <jim@meyering.net>
842
843         * modules/inline: New file/module.
844         * modules/xalloc (Files): Remove m4/inline.m4.
845         (Depends-on): Add inline, instead.
846         * modules/oset: Likewise.
847         * modules/list: Likewise.
848
849 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
850
851         * lib/stdint_.h (uintmax_t): Fix typo: int64_t -> uint64_t.
852         Problem reported by Matthew Woehlke.
853
854 2006-11-09  Bruno Haible  <bruno@clisp.org>
855
856         * lib/tempname.c (gen_tempname): Remove variant that invokes
857         __gen_tempname.
858         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Don't test for
859         __gen_tempname.
860
861 2006-11-08  Bruno Haible  <bruno@clisp.org>
862
863         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Set ac_cv_type_long_long_int
864         to 'yes' instead of 'cross-compiling'.
865
866 2006-11-08  Paul Eggert  <eggert@cs.ucla.edu>
867
868         * lib/quotearg.h (quotearg_free): New decl.
869         * lib/quotearg.c (quotearg_free): New function.
870         (slot0, nslots, slotvec0, slotvec):
871         Now file-scope so that quotearg_free can get at them.
872
873 2006-11-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
874
875         Sync from Automake.
876         * build-aux/gnupload: Add missing 'gnu' to example URL.
877         Report by Karl Berry.
878
879 2006-11-08  Bruno Haible  <bruno@clisp.org>
880
881         * m4/inline.m4 (gl_INLINE): Also test __NO_INLINE__.
882         Suggested by Paul Eggert.
883
884 2006-11-08  Jim Meyering  <jim@meyering.net>
885
886         * lib/fts.c [!_LGPL_PACKAGE]: Don't include fcntl--.h twice.
887         It's already included if !_LIBC.
888         (fts_safe_changedir): Add a comment.
889
890 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
891
892         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Detect bug in
893         Tandem NonStop Kernel (OSS) cc -O circa 2004, reported by
894         Matthew Woehlke.
895
896         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Move
897         definitions up, to avoid colliding with change below.
898         (static_inline) [HAVE_INLINE]: New macro.
899         (xnmalloc, xnrealloc, x2nrealloc, xcharalloc):
900         Provide extern decls when !HAVE_INLINE.  Do not define unless
901         static_inline is defined, either by us or by xmalloc.c.  Use
902         static_inline rather than static inline.
903         (XCALLOC): Optimize sizeof(T) = 1 case.
904         * lib/xmalloc.c (static_inline) [!HAVE_INLINE]: New macro.
905
906 2006-11-07  Bruno Haible  <bruno@clisp.org>
907
908         * lib/xalloc.h (XNMALLOC): Restore optimization of sizeof(T) = 1 case.
909         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require gl_INLINE instead of
910         AC_C_INLINE.
911         * modules/xalloc (Files): Add m4/inline.m4.
912
913 2006-11-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
914
915         * README: Fix typo.
916         * doc/gnulib.texi (Miscellaneous Notes): Likewise, rename...
917         (Miscellanous Notes): ...from this.
918
919 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
920
921         * m4/flexmember.m4 (AC_C_FLEXIBLE_ARRAY_MEMBER):
922         Mention that offsetof should be used instead of sizeof.
923         From Bruno Haible.
924
925 2006-11-07  Bruno Haible  <bruno@clisp.org>
926
927         * lib/w32spawn.h (prepare_spawn): Use XNMALLOC instead of xmalloc.
928
929 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
930
931         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
932         * lib/gl_anyavltree_list2.h (create_subtree_with_contents):
933         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
934         (gl_tree_add_before, gl_tree_add_after):
935         Use XMALLOC instead of xmalloc, and XCALLOC instead of xzalloc.
936         * lib/gl_anyhash_list2.h (hash_resize): Likewise.
937         * lib/gl_anylinked_list2.h (gl_linked_create_empty, gl_linked_create):
938         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before):
939         (gl_linked_add_after, gl_linked_add_at): Likewise.
940         * lib/gl_anyrbtree_list2.h (create_subtree_with_contents):
941         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
942         (gl_tree_add_before, gl_tree_add_after): Likewise.
943         * lib/gl_anytree_list2.h (gl_tree_create_empty): Likewise.
944         * lib/gl_anytree_oset.h (gl_tree_create_empty): Likewise.
945         * lib/gl_anytreehash_list1.h (add_to_bucket): Likewise.
946
947 2006-11-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
948
949         * lib/gl_oset.h: Use C comment style, not C++ comment style.
950
951 2006-11-06  Bruno Haible  <bruno@clisp.org>
952
953         * m4/inline.m4: New file.
954         * m4/gl_list.m4 (gl_LIST): Require gl_INLINE.
955         * modules/list (Files): Add m4/inline.m4.
956         * modules/oset (Files): Likewise.
957
958 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
959
960         * lib/idcache.c: Include <stddef.h>, for offsetof.
961         (struct userid.name): Change from char * to a flexible array member.
962         All uses changed.
963         * modules/idcache (Depends-on): Add flexmember.
964
965         * MODULES.html.sh (Core language properties): New module flexmember.
966         * modules/flexmember, m4/flexmember.m4: New files.
967
968         * lib/xalloc.h (xnmalloc, xnrealloc, x2nrealloc): Now static
969         inline functions that are identical with the old xnmalloc_inline,
970         xnrealloc_inline, x2nrealloc_inline of lib/xmalloc.c.  This is so
971         that we can avoid some unnecessary integer multiplications and
972         divisions in the common case where the element size is known at
973         compile time.
974         (XNMALLOC) [HAVE_INLINE]: Remove special case, which is no longer
975         needed.
976         (xnboundedmalloc): Remove.
977         (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Use lower-case letters for
978         arguments, for consistency with rest of this header.
979         (xcharalloc): Rewrite using XNMALLOC.
980         * lib/xmalloc.c (xnmalloc_inline, xnmalloc, xnrealloc_inline):
981         (xnrealloc, x2nrealloc_inline, x2nrealloc): Remove.  The *_inline
982         versions have been moved to lib/xalloc.h and renamed to be the
983         non-*_inline versions.
984         (xmalloc, xrealloc): Implement without reference to the xnmalloc
985         and xnrealloc functions, since those functions are now inline and
986         now call us.
987         (x2realloc): Invoke x2realloc, not x2realloc_inline, to accommodate
988         renaming described above.
989         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Remove AC_C_INLINE since
990         xmalloc.c no longer uses inline directly.  gl_PREREQ_XALLOC now
991         captures the dependency in AC_C_INLINE.
992
993         New module canonicalize-lgpl, proposed by Charles Wilson in
994         <http://lists.gnu.org/archive/html/bug-gnulib/2006-11/msg00020.html>
995         with a few small changes afterwards.
996         * MODULES.html.sh (File system functions): New module
997         canonicalize-lgpl.
998         * lib/canonicalize.h: Add comments for canonicalize_filename_mode
999         and canonicalize_file_name.
1000         * lib/canonicalize-lgpl.c, m4/canonicalize-lgpl.m4:
1001         * modules/canonicalize-lgpl: New files.
1002
1003 2006-11-05  Bruno Haible  <bruno@clisp.org>
1004
1005         * gnulib-tool (func_import, func_create_testdir): Create directories
1006         also for files in subdirectories of lib/.
1007
1008 2006-11-05  Bruno Haible  <bruno@clisp.org>
1009
1010         * lib/gl_array_list.c (gl_array_iterator_next): Make pointer decrement
1011         ANSI C compliant.
1012
1013 2006-11-03  Bruno Haible  <bruno@clisp.org>
1014
1015         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
1016         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require AC_C_INLINE.
1017         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): New macros.
1018         (xnboundedmalloc): New inline function.
1019         * lib/classpath.c (new_classpath): Use XNMALLOC instead of xmalloc.
1020         * lib/clean-temp.c (create_temp_dir): Use XNMALLOC, XMALLOC instead of
1021         xmalloc.
1022         * lib/concatpath.c (concatenated_pathname): Use XNMALLOC instead of
1023         xmalloc.
1024         * lib/fatal-signal.c (at_fatal_signal): Use XNMALLOC instead of xmalloc.
1025         * lib/findprog.c (find_in_path): Use XNMALLOC instead of xmalloc.
1026         * lib/gl_array_list.c (gl_array_create_empty): Use XMALLOC instead of
1027         xmalloc.
1028         (gl_array_create): Use XNMALLOC, XMALLOC instead of xmalloc.
1029         * lib/gl_array_oset.c (gl_array_create_empty): Use XNMALLOC instead of
1030         xmalloc.
1031         * lib/gl_avltree_oset.c (gl_tree_add_first, gl_tree_add_before,
1032         gl_tree_add_after): Use XMALLOC instead of xmalloc.
1033         * lib/gl_carray_list.c (gl_carray_create_empty): Use XMALLOC instead of
1034         xmalloc.
1035         (gl_carray_create): Use XNMALLOC, XMALLOC instead of xmalloc.
1036         * lib/gl_rbtree_oset.c (gl_tree_add_first, gl_tree_add_before,
1037         gl_tree_add_after): Use XMALLOC instead of xmalloc.
1038         * lib/gl_sublist.c (gl_sublist_create): Use XMALLOC instead of xmalloc.
1039         * lib/pagealign_alloc.c (new_memnode): Use XMALLOC instead of xmalloc.
1040         * lib/sh-quote.c (shell_quote_argv): Use XNMALLOC instead of xmalloc.
1041         * lib/xvasprintf.c (xstrcat): Use XNMALLOC instead of xmalloc.
1042
1043 2006-11-03  Bruno Haible  <bruno@clisp.org>
1044
1045         * lib/c-ctype.h [C++]: Define functions without name mangling.
1046         * lib/fwriteerror.h [C++]: Likewise.
1047         * lib/gcd.h [C++]: Likewise.
1048         * lib/linebreak.h [C++]: Likewise.
1049
1050 2006-11-03  Paul Eggert  <eggert@cs.ucla.edu>
1051
1052         * lib/canonicalize.h: (canonicalize_mode_t, CAN_EXISTING):
1053         (CAN_ALL_BUT_LAST, CAN_MISSING, canonicalize_filename_mode):
1054         Define only if PROVIDE_CANONICALIZE_FILENAME_MODE is defined.
1055         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
1056         Check for functions and headers just once.
1057         Check for declaration of canonicalize_file_name.
1058         Define PROVIDE_CANONICALIZE_FILENAME_MODE.
1059
1060 2006-11-02  Charles Wilson  <cygwin@cwilson.fastmail.fm>
1061
1062         * gnulib-tool (func_import): Fix typo in actioncmd.
1063
1064 2006-11-02  Bruno Haible  <bruno@clisp.org>
1065
1066         * gnulib-tool (func_get_automake_snippet): Interpret a backslash-
1067         newline sequence in the Makefile.am snippet as a space, like "make"
1068         does.
1069         Reported by Roger Persson <perrog@gmail.com>.
1070
1071 2006-11-01  Bruno Haible  <bruno@clisp.org>
1072
1073         * m4/strcase.m4 (gl_FUNC_STRNCASECMP): Check whether strncasecmp is
1074         already declared in <string.h>.
1075         * lib/strcase.h (strncasecmp): Don't declare it if yes.
1076
1077 2006-11-01  Bruno Haible  <bruno@clisp.org>
1078
1079         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Don't define strcasecmp here.
1080         * lib/strcase.h: Include <string.h>.
1081         (strcasecmp): Define to rpl_strcasecmp here.
1082
1083 2006-11-01  Bruno Haible  <bruno@clisp.org>
1084
1085         * lib/printf-parse.c (PRINTF_PARSE): Cast malloc/realloc results.
1086
1087 2006-11-01  Eric Blake  <ebb9@byu.net>
1088
1089         * lib/mkstemp-safer.c (mkstemp_safer): Allow C++ compilation.
1090
1091         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Allow C++ configuration.
1092
1093 2006-10-29  Bruno Haible  <bruno@clisp.org>
1094
1095         Make it compile in C++ mode.
1096         * lib/full-write.c (full_rw): Add a cast.
1097
1098 2006-11-01  Bruno Haible  <bruno@clisp.org>
1099
1100         * gnulib-tool (func_get_automake_snippet): Change sed_combine_lines to
1101         be POSIX compliant.
1102         Reported by Roger Persson <perrog@gmail.com>.
1103
1104 2006-11-01  Eric Blake  <ebb9@byu.net>
1105
1106         * lib/getopt_.h: Fix comments.
1107
1108 2006-10-31  Eric Blake  <ebb9@byu.net>
1109
1110         * modules/tmpdir (Depends-on): Add sys_stat.
1111         * modules/mkdtemp (Depends-on): Add tempname, drop unistd.
1112         * lib/mkdtemp.c (gen_tempname): Remove; tempname covers this.
1113         * lib/tmpdir.c (S_ISDIR): Simplify, thanks to sys_stat.
1114         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Simplify, thanks to
1115         tempname.
1116
1117 2006-10-31  Paul Eggert  <eggert@cs.ucla.edu>
1118
1119         Avoid some C++ diagnostics reported by Bruno Haible.
1120         * lib/quotearg.c (clone_quoting_options): Use xmemdup rather than
1121         xmalloc.
1122         (quotearg_alloc): Use xcharalloc rather than xmalloc.
1123         (struct slotvec): Move to top level.
1124         (quotearg_n_options): Rewrite to avoid xmalloc.
1125         * lib/xalloc.h (xcharalloc): New function.
1126         * (xrealloc, xnrealloc, x2realloc, x2nrealloc, xmemdup):
1127         [defined __cplusplus]: Add function template that provides result
1128         type propagation.  This part of the change is from Bruno Haible.
1129
1130 2006-10-29  Bruno Haible  <bruno@clisp.org>
1131
1132         Make it compile in C++ mode.
1133         * lib/striconv.c (mem_cd_iconv): Cast malloc/realloc result.
1134         * lib/strnlen1.c (strnlen1): Cast memchr result.
1135         * lib/mbchar.h (mb_copy): Rename arguments to 'new_mbc', 'old_mbc'.
1136         * lib/clean-temp.c (string_equals, string_hash): Add casts.
1137         (create_temp_dir): Rename local variable 'template'.
1138         (compile_csharp_using_sscli): Add cast.
1139         * lib/fatal-signal.c (at_fatal_signal): Cast xmalloc result.
1140         * lib/findprog.c (find_in_path): Likewise.
1141         * lib/linebreak.c (mbs_width_linebreaks): Cast malloc result.
1142         * lib/wait-process.c (register_slave_subprocess): Likewise.
1143
1144 2006-10-22  Bruno Haible  <bruno@clisp.org>
1145
1146         * modules/tsearch: New file.
1147         * lib/tsearch.h: New file.
1148         * lib/tsearch.c: New file, from glibc-2.5 with small modifications.
1149         * m4/tsearch.m4: New file.
1150         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add tsearch.
1151
1152 2006-10-29  Eric Blake  <ebb9@byu.net>
1153
1154         * lib/arcfour.c: Assume config.h.
1155         * lib/arctwo.c: Likewise.
1156         * lib/base64.c: Likewise.
1157         * lib/check-version.c: Likewise.
1158         * lib/crc.c: Likewise.
1159         * lib/des.c: Likewise.
1160         * lib/gc-gnulib.c: Likewise.
1161         * lib/gc-libgcrypt.c: Likewise.
1162         * lib/gc-pbkdf2-sha1.c: Likewise.
1163         * lib/getaddrinfo.c: Likewise.
1164         * lib/getdelim.c: Likewise.
1165         * lib/getline.c: Likewise.
1166         * lib/hmac-md5.c: Likewise.
1167         * lib/hmac-sha1.c: Likewise.
1168         * lib/iconvme.c: Likewise.
1169         * lib/md2.c: Likewise.
1170         * lib/md4.c: Likewise.
1171         * lib/memxor.c: Likewise.
1172         * lib/read-file.c: Likewise.
1173         * lib/readline.c: Likewise.
1174         * lib/rijndael-alg-fst.c: Likewise.
1175         * lib/rijndael-api-fst.c: Likewise.
1176         * lib/xgetdomainname.c: Likewise.
1177
1178 2006-10-28  Eric Blake  <ebb9@byu.net>
1179
1180         * lib/xstrndup.c: Assume config.h.
1181
1182 2006-10-27  Paul Eggert  <eggert@cs.ucla.edu>
1183
1184         Move stat.h-substitute stuff from lib/stat-macros.h to lib/stat_.h.
1185         stat-macros.h is now for our own macros, whereas stat_h is for
1186         macros in the <sys/stat.h> name space.
1187         * lib/stat-macros.h: Remove copyright notice, as this file is now tiny.
1188         (STAT_MACROS_H): Remove.
1189         (S_IFMT, S_ISBLK, S_ISCHR, S_ISDIR, S_ISFIFO, S_ISLNK, S_ISNAM):
1190         (S_ISMPB, S_ISMPC, S_ISNWK, S_ISREG, S_ISSOCK, S_ISDOOR, S_ISPORT):
1191         (S_TYPEISMQ, S_TYPEISTMO, S_TYPEISSEM, S_TYPEISSHM, S_ISCTG, S_ISOFD):
1192         (S_ISOFL, S_ISWHT, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IRGRP):
1193         (S_IROTH, S_IWUSR, S_IWGRP, S_IWOTH, S_IXUSR, S_IXGRP, S_IXOTH):
1194         (S_IRWXU, S_IRWXG, S_IRWXO, S_IXUGO, S_IRWXUGO):
1195         Move these macros to ...
1196         * lib/stat_.h: here.  Don't include stat-macros.h.
1197         * lib/canonicalize.c: Don't include stat-macros.h.
1198         * lib/chown.c: Likewise.
1199         * lib/euidaccess.c: Likewise.
1200         * lib/file-type.c: Likewise.
1201         * lib/filemode.c: Likewise.
1202         * lib/glob.c: Likewise.
1203         * lib/isapipe.c: Likewise.
1204         * lib/lchown.c: Likewise.
1205         * lib/lstat.c: Likewise.
1206         * lib/mkdir-p.c: Likewise.
1207         * lib/rmdir.c: Likewise.
1208         * m4/lchown.m4 (gl_FUNC_LCHOWN): Don't require gl_STAT_MACROS.
1209         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Don't check for io.h
1210         unless mkdir isn't declared, to speed up 'configure'.
1211         Always create sys/stat.h, since it's unlikely any real sys/stat.h
1212         would define all the S_* symbols.
1213         * modules/canonicalize (Depends-on):
1214         Depend on sys_stat, not stat-macros.
1215         * modules/chown: Likewise.
1216         * modules/euidaccess: Likewise.
1217         * modules/filemode: Likewise.
1218         * modules/file-type: Likewise.
1219         * modules/glob: Likewise.
1220         * modules/isapipe: Likewise.
1221         * modules/lchown: Likewise.
1222         * modules/lstat: Likewise.
1223         * modules/mkancesdirs: Likewise.
1224         * modules/rmdir: Likewise.
1225         * modules/mkdir-p (Depends-on): Also depend on sys_stat.
1226         * modules/modechange: Likewise.
1227         * modules/stat-macros (Files): Remove m4/stat-macros.m4.
1228         (configure.ac): Remove gl_STAT_MACROS.
1229         * modules/sys_stat (Depends-on): Remove stat-macros.
1230
1231 2006-10-27  Bruno Haible  <bruno@clisp.org>
1232
1233         * m4/signed.m4: Remove file.
1234         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS_: Remove bh_C_SIGNED
1235         invocation.
1236         * modules/vasnprintf (Files): Remove m4/signed.m4.
1237
1238 2006-10-27  Bruno Haible  <bruno@clisp.org>
1239
1240         Update to GNU gettext 0.16.
1241         * modules/gettext (Files): Add m4/intl.m4, m4/intldir.m4. Remove
1242         m4/inttypes-h.m4, m4/signed.m4.
1243         * m4/gettext.m4: Update to GNU gettext 0.16.
1244         * m4/intl.m4: New file, from GNU gettext.
1245         * m4/intldir.m4: New file, from GNU gettext.
1246         * config/srclist.txt: Update
1247
1248 2006-10-27  Eric Blake  <ebb9@byu.net>
1249
1250         * MODULES.html.sh: Document tempname.
1251         * modules/mkstemp (Depends-on): Add tempname, and drop transitive
1252         dependencies.
1253         (Files): Move lib/tempname.c...
1254         * modules/tempname: ...to this new module.
1255         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Remove tempname checks.
1256         (gl_PREREQ_TEMPNAME): Move...
1257         * m4/tempname.m4: ...to this new file.
1258         * lib/mkstemp.c (includes) [!_LIBC]: Use tempname.h.
1259         * modules/sys_stat (Depends-on): Add stat-macros.
1260         * lib/stat_.h (includes): Pick up stat macros.
1261         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Replace <sys/stat.h>
1262         if stat macros are broken.
1263         * lib/tempname.c (includes): No need to include "stat-macros.h".
1264         (__gen_tempname) [!_LIBC]: Expose as gen_tempname.
1265         (direxists, __path_search) [!_LIBC]: Don't compile these in
1266         gnulib; the tmpdir module covers that.
1267         * lib/tempname.h: New file.
1268
1269 2006-10-26  Paul Eggert  <eggert@cs.ucla.edu>
1270
1271         * COPYING: Explain how gnulib-tool converts licence headers.
1272         Almost all wording by Eric Blake.
1273
1274 2006-10-25  Paul Eggert  <eggert@cs.ucla.edu>
1275
1276         * lib/mbchar.h (is_basic_table): Make read-only.
1277         * lib/mbchar.c (is_basic_table): Likewise.
1278         Reported by John Darrington.
1279
1280 2006-10-25  Bruno Haible  <bruno@clisp.org>
1281
1282         * lib/progname.h (set_program_name): Undefine before defining.
1283
1284 2006-10-25  Bruno Haible  <bruno@clisp.org>
1285
1286         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to
1287         false for non-gcc C++ compilers.
1288         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
1289
1290 2006-10-24  Bruno Haible  <bruno@clisp.org>
1291
1292         * lib/striconv.c (mem_cd_iconv, str_cd_iconv): Treat all non-GNU
1293         iconv implementations like Irix iconv.
1294
1295 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
1296
1297         * modules/vararrays: New file.
1298         * m4/vararrays.m4: New file, taken from diffutils.
1299         * MODULES.html.sh: New module vararrays.
1300
1301 2006-10-24  Karl Berry  <karl@gnu.org>
1302
1303         * doc/gnulib-intro.texi: --- instead of --; non-naive naive.
1304         Don't call GNU Unix.
1305
1306 2006-10-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
1307
1308         * users.txt: Add Libtool.
1309
1310         Sync from Libtool:
1311
1312         2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
1313
1314         * lib/argz.c: Remove check for HAVE_CONFIG_H, to conform
1315         to gnulib's policy of including config.h unconditionally.
1316
1317 2006-10-24  Bruno Haible  <bruno@clisp.org>
1318
1319         * modules/wcwidth (Files): Add m4/wint_t.m4.
1320         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Require gt_TYPE_WINT_T.
1321         * lib/wcwidth.h (iswprint): Use 'int' if 'wint_t' is not defined.
1322
1323 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
1324
1325         * lib/getdate.y (yyerror): Make the arguments pointer-to-const,
1326         to pacify GCC with some -W flags enabled.  Problem reported by
1327         Bruno Haible.
1328
1329 2006-10-24  Jim Meyering  <jim@meyering.net>
1330
1331         * MODULES.html.sh: Remove uinttostr.  It's not a module.
1332         Reported by Karl Berry.
1333
1334 2006-10-23  Bruno Haible  <bruno@clisp.org>
1335
1336         * lib/fts.c (fts_build): Move variable declaration, for C89 compliance.
1337
1338 2006-10-24  Bruno Haible  <bruno@clisp.org>
1339
1340         * lib/gl_list.h: Use C comment style, not C++ comment style.
1341
1342 2006-10-23  Eric Blake  <ebb9@byu.net>
1343
1344         * lib/getaddrinfo.c (includes): Add missing include.
1345
1346 2006-10-23  Bruno Haible  <bruno@clisp.org>
1347             Paul Eggert  <eggert@cs.ucla.edu>
1348
1349         Ability to rename obstack_free.
1350         * lib/obstack.h (__obstack_free): New macro. Declare instead of
1351         obstack_free.
1352         (obstack_free): Invoke the __obstack_free macro.
1353         * lib/obstack.c (obstack_free): Use __obstack_free macro.
1354
1355 2006-10-23  Bruno Haible  <bruno@clisp.org>
1356             Paul Eggert  <eggert@cs.ucla.edu>
1357
1358         * lib/argp.h (argp_parse, __argp_parse): Comment out the identifiers
1359         __argc, __argv from the declaration. (They are defined as macros on
1360         mingw.)
1361
1362 2006-10-22  Bruno Haible  <bruno@clisp.org>
1363
1364         * doc/gnulib-intro.texi: New file.
1365         * doc/gnulib.texi: Include it.
1366
1367 2006-10-21  Bruno Haible  <bruno@clisp.org>
1368
1369         * doc/gnulib.texi: Split the chapter "Gnulib" into 3 chapters
1370         "Introduction", "Miscellanous Notes", "Particular Modules".
1371
1372 2006-10-21  Bruno Haible  <bruno@clisp.org>
1373
1374         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
1375         Change mostlyclean-local rule to avoid sh syntax error from bash
1376         versions 2.00..2.05 when $(MOSTLYCLEANDIRS) is empty.
1377
1378 2006-10-23  Jim Meyering  <jim@meyering.net>
1379
1380         * lib/getaddrinfo.c (getnameinfo): Use new lightweight uinttostr,
1381         in place of snprintf.
1382
1383         * modules/inttostr (Files): Add lib/uinttostr.c.
1384         * lib/uinttostr.c (inttostr): New file/function.
1385         * lib/inttostr.h (uinttostr): Declare.
1386         * m4/inttostr.m4: Add AC_LIBOBJ([uinttostr]).
1387         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
1388         Add uinttostr.
1389         * modules/getaddrinfo (Depends-on): Remove snprintf.  Add inttostr.
1390
1391 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
1392
1393         * lib/canonicalize.c (ELOOP): Define if not already defined.
1394         Problem reported by Bruno Haible in
1395         <http://lists.gnu.org/archive/html/bug-gnulib/2006-10/msg00282.html>.
1396
1397 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
1398
1399         * lib/stdint_.h [defined _AIX]: Don't include <sys/types.h>.
1400         Problem reported by Perry Smith and Ville Laurikari.
1401
1402         * lib/getndelim2.c (SSIZE_MAX): Use same defn that getdelim.c
1403         uses.
1404
1405 2006-10-19  Bruno Haible  <bruno@clisp.org>
1406
1407         * lib/getndelim2.c (SSIZE_MAX): Provide fallback definition. Needed
1408         for mingw.
1409
1410 2006-10-19  Bruno Haible  <bruno@clisp.org>
1411
1412         * lib/openat-priv.h (EOPNOTSUPP): Provide fallback definition.
1413         Needed for mingw.
1414
1415 2006-10-19  Bruno Haible  <bruno@clisp.org>
1416
1417         * m4/size_max.m4 (gl_SIZE_MAX): Cache the result.
1418
1419 2006-10-19  Bruno Haible  <bruno@clisp.org>
1420
1421         * m4/allocsa.m4 (gl_ALLOCSA): Invoke gl_FUNC_ALLOCA, don't AC_REQUIRE
1422         it.
1423
1424 2006-10-19  Bruno Haible  <bruno@clisp.org>
1425
1426         * m4/alloca.m4 (gl_FUNC_ALLOCA): Cache the result of the AC_EGREP_CPP
1427         invocation.
1428
1429 2006-10-19  Bruno Haible  <bruno@clisp.org>
1430
1431         * gnulib-tool (func_create_testdir): Don't include ftruncate and
1432         mountlist by default.
1433
1434 2006-10-16  Bruno Haible  <bruno@clisp.org>
1435
1436         * lib/c-strstr.c: Include c-strstr.h.
1437
1438 2006-10-18  Charles Wilson  <cygwin@cwilson.fastmail.fm>
1439
1440         * gnulib-tool: Don't clobber $sourcebase when $local_gnulib_dir ends
1441         in a slash.
1442
1443 2006-10-18  Bruno Haible  <bruno@clisp.org>
1444
1445         * lib/lock.h [C++]: Wrap definitions in extern "C".
1446
1447 2006-10-18  Bruno Haible  <bruno@clisp.org>
1448
1449         * gnulib-tool (func_emit_initmacro_end): Remove duplicates from the
1450         gl_LIBOBJS list.
1451
1452 2006-10-18  Bruno Haible  <bruno@clisp.org>
1453
1454         * lib/findprog.c (find_in_path): Avoid "gcc -Wwrite-strings" warning.
1455
1456 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>
1457
1458         * lib/xstrtol.h: Include gettext.h.
1459         (_STRTOL_ERROR): Wrap English-language formats inside gettext.
1460         Problem reported by Eric Blake.
1461         * modules/xstrtol (Depends-on): Add gettext-h.
1462
1463 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>  (tiny change)
1464
1465         * lib/strftime.c (advance): New macro.
1466         (add): Use it to avoid adding 0 to a FILE *.  FILE can be an
1467         incomplete type, so you can't add 0 to it.  Problem and patch
1468         reported by Eelco Dolstra for dietlibc.
1469
1470 2006-10-18  Jim Meyering  <jim@meyering.net>
1471
1472         * lib/readutmp.c (desirable_utmp_entry): Use "bool" as the
1473         type for a local, and rename it: s/up/user_proc/.
1474
1475 2006-10-18  Sergey Poznyakoff  <gray@gnu.org.ua>
1476
1477         * lib/readutmp.c (desirable_utmp_entry): Implement new flag:
1478         READ_UTMP_USER_PROCESS.
1479         * lib/readutmp.h (READ_UTMP_USER_PROCESS): New flag
1480
1481 2006-10-17  Paul Eggert  <eggert@cs.ucla.edu>
1482
1483         * lib/localcharset.c: Do not check HAVE_SETLOCALE.
1484         * m4/localcharset.m4 (gl_LOCALCHARSET): Don't check for setlocale.
1485
1486 2006-10-17  Eric Blake  <ebb9@byu.net>
1487
1488         * lib/sigprocmask.c (sigprocmask): Fix typo.
1489
1490         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Fix typo.
1491
1492         * modules/clean-temp (Makefile.am): Don't add to make output...
1493         (configure.ac): ...instead define SIGNAL_SAFE_LIST inside
1494         config.h.
1495
1496 2006-10-17  Bruno Haible  <bruno@clisp.org>
1497
1498         * lib/gettext.h (gettext, ngettext, pgettext, npgettext): Define
1499         differently if DEFAULT_TEXT_DOMAIN is set.
1500
1501 2006-10-16  Bruno Haible  <bruno@clisp.org>
1502
1503         * lib/clean-temp.c: Include fwriteerror.h.
1504
1505 2006-10-16  Bruno Haible  <bruno@clisp.org>
1506
1507         * getndelim2.m4 (gl_GETNDELIM2): Remove 2003-10-23 hack.
1508
1509 2006-10-16  Bruno Haible  <bruno@clisp.org>
1510
1511         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Also test for sigset_t.
1512         * lib/sigprocmask.h: Include <sys/types.h>.
1513         (sigset_t): Use the system's definition if present.
1514
1515 2006-10-17  Eric Blake  <ebb9@byu.net>
1516
1517         * lib/xvasprintf.c (includes): Assume config.h.
1518         * lib/xasprintf.c (includes): Likewise.
1519
1520 2006-10-16  Paul Eggert  <eggert@cs.ucla.edu>
1521
1522         * lib/fsusage.c (PROPAGATE_ALL_ONES): Don't assume uintmax_t is
1523         at least as wide as intmax_t.
1524
1525 2006-10-16  Alexandre Duret-Lutz  <adl@gnu.org>
1526
1527         (Imported from Automake.)
1528         * build-aux/gnupload: Update to version 1.1 of directive file.
1529
1530 2006-10-16  Eric Blake  <ebb9@byu.net>
1531
1532         * modules/configmake (Makefile.am): Add pkglibexecdir support, to
1533         match Automake 1.10a.
1534
1535 2006-10-14  Bruno Haible  <bruno@clisp.org>
1536
1537         * modules/sigprocmask: New file.
1538         * lib/sigprocmask.h: New file.
1539         * lib/sigprocmask.c: New file.
1540         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Renamed from
1541         gt_SIGNALBLOCKING. When not defining HAVE_POSIX_SIGNALBLOCKING,
1542         request sigprocmask.o.
1543         (gl_PREREQ_SIGPROCMASK): New macro.
1544         * modules/fatal-signal (Files): Remove m4/signalblocking.m4.
1545         (Depends-on): Add sigprocmask.
1546         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Don't require
1547         gt_SIGNALBLOCKING. Test for 'raise' only once.
1548         * lib/fatal-signal.c: Include sigprocmask.h.
1549         (fatal_signal_set, init_fatal_signal_set, block_fatal_signals,
1550         unblock_fatal_signals): Define always.
1551         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
1552         sigprocmask.
1553
1554 2006-10-14  Paul Eggert  <eggert@cs.ucla.edu>
1555
1556         Sync from Automake.
1557         * build-aux/install-sh (posix_mkdir): Reject FreeBSD 6.1 mkdir -p -m,
1558         which incorrectly sets the mode of an existing destination
1559         directory.  In some cases the unpatched install-sh could do the
1560         equivalent of "chmod 777 /" or "chmod 0 /" on a buggy FreeBSD
1561         system.  We hope this is rare in practice, but it's clearly worth
1562         fixing.  Problem reported by Alex Unleashed in
1563         <http://lists.gnu.org/archive/html/bug-autoconf/2006-10/msg00012.html>.
1564         Also, don't bother to check for -m bugs unless we're using -m;
1565         suggested by Stepan Kasal.
1566
1567 2006-10-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
1568
1569         Sync from Automake.
1570         * build-aux/depcomp (gcc3): Put dependency extraction flags before the
1571         `-c' flag, so they appear at the same position as in %FASTDEP%
1572         mode in depend2.am.  Fixes build failure for FreeBSD's c89,
1573         which ignores unknown options only after the first non-option.
1574         Bug report against M4 by Nelson H. F. Beebe.
1575
1576 2006-10-13  Jim Meyering  <jim@meyering.net>
1577
1578         Fix a bug in yesterday's change.
1579         * lib/fts.c (fts_open): When using FTS_XDEV|FTS_NOSTAT,
1580         p->fts_statp->st_dev would be used uninitialized.
1581         Ensures that we always call fts_stat on the very first entry.
1582         Miklos Szeredi reported that find -xdev stopped working.
1583
1584 2006-10-12  Bruno Haible  <bruno@clisp.org>
1585
1586         * gnulib-tool (func_get_automake_snippet): Append an automatically
1587         computed EXTRA_DIST augmentation.
1588         * modules/acl (Makefile.am): Remove EXTRA_DIST augmentation.
1589         * modules/alloca-opt (Makefile.am): Likewise.
1590         * modules/allocsa (Makefile.am): Likewise.
1591         * modules/arcfour (Makefile.am): Likewise.
1592         * modules/arctwo (Makefile.am): Likewise.
1593         * modules/argmatch (Makefile.am): Likewise.
1594         * modules/argz (Makefile.am): Likewise.
1595         * modules/atexit (Makefile.am): Likewise.
1596         * modules/backupfile (Makefile.am): Likewise.
1597         * modules/byteswap (Makefile.am): Likewise.
1598         * modules/c-strtod (Makefile.am): Likewise.
1599         * modules/c-strtold (Makefile.am): Likewise.
1600         * modules/calloc (Makefile.am): Likewise.
1601         * modules/canon-host (Makefile.am): Likewise.
1602         * modules/canonicalize (Makefile.am): Likewise.
1603         * modules/chdir-long (Makefile.am): Likewise.
1604         * modules/chdir-safer (Makefile.am): Likewise.
1605         * modules/check-version (Makefile.am): Likewise.
1606         * modules/chown (Makefile.am): Likewise.
1607         * modules/cloexec (Makefile.am): Likewise.
1608         * modules/close-stream (Makefile.am): Likewise.
1609         * modules/closeout (Makefile.am): Likewise.
1610         * modules/crc (Makefile.am): Likewise.
1611         * modules/csharpexec (Makefile.am): Likewise.
1612         * modules/cycle-check (Makefile.am): Likewise.
1613         * modules/des (Makefile.am): Likewise.
1614         * modules/dev-ino (Makefile.am): Likewise.
1615         * modules/dirfd (Makefile.am): Likewise.
1616         * modules/dirname (Makefile.am): Likewise.
1617         * modules/dup2 (Makefile.am): Likewise.
1618         * modules/eealloc (Makefile.am): Likewise.
1619         * modules/error (Makefile.am): Likewise.
1620         * modules/euidaccess (Makefile.am): Likewise.
1621         * modules/exclude (Makefile.am): Likewise.
1622         * modules/exitfail (Makefile.am): Likewise.
1623         * modules/fcntl-safer (Makefile.am): Likewise.
1624         * modules/fcntl (Makefile.am): Likewise.
1625         * modules/file-type (Makefile.am): Likewise.
1626         * modules/fileblocks (Makefile.am): Likewise.
1627         * modules/filemode (Makefile.am): Likewise.
1628         * modules/filenamecat (Makefile.am): Likewise.
1629         * modules/fnmatch (Makefile.am): Likewise.
1630         * modules/fopen-safer (Makefile.am): Likewise.
1631         * modules/fpending (Makefile.am): Likewise.
1632         * modules/fprintftime (Makefile.am): Likewise.
1633         * modules/free (Makefile.am): Likewise.
1634         * modules/fsusage (Makefile.am): Likewise.
1635         * modules/ftruncate (Makefile.am): Likewise.
1636         * modules/fts (Makefile.am): Likewise.
1637         * modules/gc-arcfour (Makefile.am): Likewise.
1638         * modules/gc-des (Makefile.am): Likewise.
1639         * modules/gc-hmac-md5 (Makefile.am): Likewise.
1640         * modules/gc-hmac-sha1 (Makefile.am): Likewise.
1641         * modules/gc-md4 (Makefile.am): Likewise.
1642         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
1643         * modules/gc-sha1 (Makefile.am): Likewise.
1644         * modules/gc (Makefile.am): Likewise.
1645         * modules/getaddrinfo (Makefile.am): Likewise.
1646         * modules/getcwd (Makefile.am): Likewise.
1647         * modules/getdelim (Makefile.am): Likewise.
1648         * modules/getdomainname (Makefile.am): Likewise.
1649         * modules/getgroups (Makefile.am): Likewise.
1650         * modules/gethostname (Makefile.am): Likewise.
1651         * modules/gethrxtime (Makefile.am): Likewise.
1652         * modules/getline (Makefile.am): Likewise.
1653         * modules/getloadavg (Makefile.am): Likewise.
1654         * modules/getlogin_r (Makefile.am): Likewise.
1655         * modules/getndelim2 (Makefile.am): Likewise.
1656         * modules/getopt (Makefile.am): Likewise.
1657         * modules/getpagesize (Makefile.am): Likewise.
1658         * modules/getpass-gnu (Makefile.am): Likewise.
1659         * modules/getpass (Makefile.am): Likewise.
1660         * modules/getsubopt (Makefile.am): Likewise.
1661         * modules/gettime (Makefile.am): Likewise.
1662         * modules/gettimeofday (Makefile.am): Likewise.
1663         * modules/getugroups (Makefile.am): Likewise.
1664         * modules/getusershell (Makefile.am): Likewise.
1665         * modules/glob (Makefile.am): Likewise.
1666         * modules/group-member (Makefile.am): Likewise.
1667         * modules/hard-locale (Makefile.am): Likewise.
1668         * modules/hash (Makefile.am): Likewise.
1669         * modules/hmac-md5 (Makefile.am): Likewise.
1670         * modules/hmac-sha1 (Makefile.am): Likewise.
1671         * modules/human (Makefile.am): Likewise.
1672         * modules/idcache (Makefile.am): Likewise.
1673         * modules/imaxabs (Makefile.am): Likewise.
1674         * modules/imaxdiv (Makefile.am): Likewise.
1675         * modules/inet_ntop (Makefile.am): Likewise.
1676         * modules/inet_pton (Makefile.am): Likewise.
1677         * modules/intprops (Makefile.am): Likewise.
1678         * modules/inttostr (Makefile.am): Likewise.
1679         * modules/inttypes (Makefile.am): Likewise.
1680         * modules/isapipe (Makefile.am): Likewise.
1681         * modules/javaversion (Makefile.am): Likewise.
1682         * modules/lchmod (Makefile.am): Likewise.
1683         * modules/lchown (Makefile.am): Likewise.
1684         * modules/localcharset (Makefile.am): Likewise.
1685         * modules/long-options (Makefile.am): Likewise.
1686         * modules/lstat (Makefile.am): Likewise.
1687         * modules/malloc (Makefile.am): Likewise.
1688         * modules/mathl (Makefile.am): Likewise.
1689         * modules/mbchar (Makefile.am): Likewise.
1690         * modules/md2 (Makefile.am): Likewise.
1691         * modules/md4 (Makefile.am): Likewise.
1692         * modules/md5 (Makefile.am): Likewise.
1693         * modules/memcasecmp (Makefile.am): Likewise.
1694         * modules/memchr (Makefile.am): Likewise.
1695         * modules/memcmp (Makefile.am): Likewise.
1696         * modules/memcoll (Makefile.am): Likewise.
1697         * modules/memcpy (Makefile.am): Likewise.
1698         * modules/memmem (Makefile.am): Likewise.
1699         * modules/memmove (Makefile.am): Likewise.
1700         * modules/mempcpy (Makefile.am): Likewise.
1701         * modules/memrchr (Makefile.am): Likewise.
1702         * modules/memset (Makefile.am): Likewise.
1703         * modules/memxor (Makefile.am): Likewise.
1704         * modules/mkancesdirs (Makefile.am): Likewise.
1705         * modules/mkdir-p (Makefile.am): Likewise.
1706         * modules/mkdir (Makefile.am): Likewise.
1707         * modules/mkdtemp (Makefile.am): Likewise.
1708         * modules/mkstemp (Makefile.am): Likewise.
1709         * modules/mktime (Makefile.am): Likewise.
1710         * modules/modechange (Makefile.am): Likewise.
1711         * modules/mountlist (Makefile.am): Likewise.
1712         * modules/nanosleep (Makefile.am): Likewise.
1713         * modules/obstack (Makefile.am): Likewise.
1714         * modules/openat (Makefile.am): Likewise.
1715         * modules/pagealign_alloc (Makefile.am): Likewise.
1716         * modules/pathmax (Makefile.am): Likewise.
1717         * modules/physmem (Makefile.am): Likewise.
1718         * modules/poll (Makefile.am): Likewise.
1719         * modules/posixtm (Makefile.am): Likewise.
1720         * modules/posixver (Makefile.am): Likewise.
1721         * modules/putenv (Makefile.am): Likewise.
1722         * modules/quote (Makefile.am): Likewise.
1723         * modules/quotearg (Makefile.am): Likewise.
1724         * modules/raise (Makefile.am): Likewise.
1725         * modules/read-file (Makefile.am): Likewise.
1726         * modules/readline (Makefile.am): Likewise.
1727         * modules/readlink (Makefile.am): Likewise.
1728         * modules/readtokens (Makefile.am): Likewise.
1729         * modules/readutmp (Makefile.am): Likewise.
1730         * modules/realloc (Makefile.am): Likewise.
1731         * modules/regex (Makefile.am): Likewise.
1732         * modules/rename-dest-slash (Makefile.am): Likewise.
1733         * modules/rename (Makefile.am): Likewise.
1734         * modules/rijndael (Makefile.am): Likewise.
1735         * modules/rmdir (Makefile.am): Likewise.
1736         * modules/rpmatch (Makefile.am): Likewise.
1737         * modules/safe-read (Makefile.am): Likewise.
1738         * modules/safe-write (Makefile.am): Likewise.
1739         * modules/same-inode (Makefile.am): Likewise.
1740         * modules/same (Makefile.am): Likewise.
1741         * modules/save-cwd (Makefile.am): Likewise.
1742         * modules/savedir (Makefile.am): Likewise.
1743         * modules/setenv (Makefile.am): Likewise.
1744         * modules/settime (Makefile.am): Likewise.
1745         * modules/sha1 (Makefile.am): Likewise.
1746         * modules/sig2str (Makefile.am): Likewise.
1747         * modules/snprintf (Makefile.am): Likewise.
1748         * modules/stat-macros (Makefile.am): Likewise.
1749         * modules/stat-time (Makefile.am): Likewise.
1750         * modules/stdbool (Makefile.am): Likewise.
1751         * modules/stdint (Makefile.am): Likewise.
1752         * modules/stdlib-safer (Makefile.am): Likewise.
1753         * modules/stpcpy (Makefile.am): Likewise.
1754         * modules/stpncpy (Makefile.am): Likewise.
1755         * modules/strcase (Makefile.am): Likewise.
1756         * modules/strcasestr (Makefile.am): Likewise.
1757         * modules/strchrnul (Makefile.am): Likewise.
1758         * modules/strcspn (Makefile.am): Likewise.
1759         * modules/strdup (Makefile.am): Likewise.
1760         * modules/strerror (Makefile.am): Likewise.
1761         * modules/strftime (Makefile.am): Likewise.
1762         * modules/strndup (Makefile.am): Likewise.
1763         * modules/strnlen (Makefile.am): Likewise.
1764         * modules/strpbrk (Makefile.am): Likewise.
1765         * modules/strsep (Makefile.am): Likewise.
1766         * modules/strstr (Makefile.am): Likewise.
1767         * modules/strtod (Makefile.am): Likewise.
1768         * modules/strtoimax (Makefile.am): Likewise.
1769         * modules/strtok_r (Makefile.am): Likewise.
1770         * modules/strtol (Makefile.am): Likewise.
1771         * modules/strtoll (Makefile.am): Likewise.
1772         * modules/strtoul (Makefile.am): Likewise.
1773         * modules/strtoull (Makefile.am): Likewise.
1774         * modules/strtoumax (Makefile.am): Likewise.
1775         * modules/strverscmp (Makefile.am): Likewise.
1776         * modules/sys_socket (Makefile.am): Likewise.
1777         * modules/sys_stat (Makefile.am): Likewise.
1778         * modules/sysexits (Makefile.am): Likewise.
1779         * modules/time_r (Makefile.am): Likewise.
1780         * modules/timegm (Makefile.am): Likewise.
1781         * modules/timespec (Makefile.am): Likewise.
1782         * modules/tmpfile-safer (Makefile.am): Likewise.
1783         * modules/trim (Makefile.am): Likewise.
1784         * modules/unistd-safer (Makefile.am): Likewise.
1785         * modules/unlinkdir (Makefile.am): Likewise.
1786         * modules/unlocked-io (Makefile.am): Likewise.
1787         * modules/userspec (Makefile.am): Likewise.
1788         * modules/utime (Makefile.am): Likewise.
1789         * modules/utimecmp (Makefile.am): Likewise.
1790         * modules/utimens (Makefile.am): Likewise.
1791         * modules/vasnprintf (Makefile.am): Likewise.
1792         * modules/vasprintf (Makefile.am): Likewise.
1793         * modules/vsnprintf (Makefile.am): Likewise.
1794         * modules/xalloc (Makefile.am): Likewise.
1795         * modules/xgetcwd (Makefile.am): Likewise.
1796         * modules/xnanosleep (Makefile.am): Likewise.
1797         * modules/xreadlink (Makefile.am): Likewise.
1798         * modules/xstrtod (Makefile.am): Likewise.
1799         * modules/xstrtol (Makefile.am): Likewise.
1800         * modules/xstrtold (Makefile.am): Likewise.
1801         * modules/yesno (Makefile.am): Likewise.
1802         * modules/getdate (Makefile.am): Don't add getdate.h to EXTRA_DIST.
1803
1804 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
1805
1806         * modules/error (Makefile.am): Distribute files through
1807         EXTRA_DIST, not lib_SOURCES.
1808
1809 2006-10-12  Eric Blake  <ebb9@byu.net>
1810
1811         * modules/error (Makefile.am): Distribute files in /lib.
1812         * modules/obstack (Makefile.am): Likewise.
1813
1814 2006-10-12  Bruno Haible  <bruno@clisp.org>
1815
1816         * modules/acl (Makefile.am): Distribute all files in lib/ through
1817         EXTRA_DIST.
1818         * modules/arcfour (Makefile.am): Likewise.
1819         * modules/arctwo (Makefile.am): Likewise.
1820         * modules/argmatch (Makefile.am): Likewise.
1821         * modules/argz (Makefile.am): Likewise.
1822         * modules/atexit (Makefile.am): Likewise.
1823         * modules/backupfile (Makefile.am): Likewise.
1824         * modules/c-strtod (Makefile.am): Likewise.
1825         * modules/c-strtold (Makefile.am): Likewise.
1826         * modules/calloc (Makefile.am): Likewise.
1827         * modules/canon-host (Makefile.am): Likewise.
1828         * modules/canonicalize (Makefile.am): Likewise.
1829         * modules/chdir-long (Makefile.am): Likewise.
1830         * modules/chdir-safer (Makefile.am): Likewise.
1831         * modules/check-version (Makefile.am): Likewise.
1832         * modules/chown (Makefile.am): Likewise.
1833         * modules/cloexec (Makefile.am): Likewise.
1834         * modules/close-stream (Makefile.am): Likewise.
1835         * modules/closeout (Makefile.am): Likewise.
1836         * modules/crc (Makefile.am): Likewise.
1837         * modules/cycle-check (Makefile.am): Likewise.
1838         * modules/des (Makefile.am): Likewise.
1839         * modules/dirfd (Makefile.am): Likewise.
1840         * modules/dirname (Makefile.am): Likewise.
1841         * modules/dup2 (Makefile.am): Likewise.
1842         * modules/euidaccess (Makefile.am): Likewise.
1843         * modules/exclude (Makefile.am): Likewise.
1844         * modules/exitfail (Makefile.am): Likewise.
1845         * modules/fcntl-safer (Makefile.am): Likewise.
1846         * modules/file-type (Makefile.am): Likewise.
1847         * modules/fileblocks (Makefile.am): Likewise.
1848         * modules/filemode (Makefile.am): Likewise.
1849         * modules/filenamecat (Makefile.am): Likewise.
1850         * modules/fnmatch (Makefile.am): Likewise.
1851         * modules/fopen-safer (Makefile.am): Likewise.
1852         * modules/fpending (Makefile.am): Likewise.
1853         * modules/fprintftime (Makefile.am): Likewise.
1854         * modules/free (Makefile.am): Likewise.
1855         * modules/fsusage (Makefile.am): Likewise.
1856         * modules/ftruncate (Makefile.am): Likewise.
1857         * modules/fts (Makefile.am): Likewise.
1858         * modules/gc (Makefile.am): Likewise.
1859         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
1860         * modules/getaddrinfo (Makefile.am): Likewise.
1861         * modules/getcwd (Makefile.am): Likewise.
1862         * modules/getdelim (Makefile.am): Likewise.
1863         * modules/getdomainname (Makefile.am): Likewise.
1864         * modules/getgroups (Makefile.am): Likewise.
1865         * modules/gethostname (Makefile.am): Likewise.
1866         * modules/gethrxtime (Makefile.am): Likewise.
1867         * modules/getline (Makefile.am): Likewise.
1868         * modules/getloadavg (Makefile.am): Likewise.
1869         * modules/getlogin_r (Makefile.am): Likewise.
1870         * modules/getopt (Makefile.am): Likewise.
1871         * modules/getpass (Makefile.am): Likewise.
1872         * modules/getpass-gnu (Makefile.am): Likewise.
1873         * modules/getsubopt (Makefile.am): Likewise.
1874         * modules/gettime (Makefile.am): Likewise.
1875         * modules/gettimeofday (Makefile.am): Likewise.
1876         * modules/getugroups (Makefile.am): Likewise.
1877         * modules/getusershell (Makefile.am): Likewise.
1878         * modules/glob (Makefile.am): Likewise.
1879         * modules/group-member (Makefile.am): Likewise.
1880         * modules/hard-locale (Makefile.am): Likewise.
1881         * modules/hash (Makefile.am): Likewise.
1882         * modules/hmac-md5 (Makefile.am): Likewise.
1883         * modules/hmac-sha1 (Makefile.am): Likewise.
1884         * modules/human (Makefile.am): Likewise.
1885         * modules/idcache (Makefile.am): Likewise.
1886         * modules/imaxabs (Makefile.am): Likewise.
1887         * modules/imaxdiv (Makefile.am): Likewise.
1888         * modules/inet_ntop (Makefile.am): Likewise.
1889         * modules/inet_pton (Makefile.am): Likewise.
1890         * modules/inttostr (Makefile.am): Likewise.
1891         * modules/isapipe (Makefile.am): Likewise.
1892         * modules/lchown (Makefile.am): Likewise.
1893         * modules/long-options (Makefile.am): Likewise.
1894         * modules/lstat (Makefile.am): Likewise.
1895         * modules/malloc (Makefile.am): Likewise.
1896         * modules/mathl (Makefile.am): Likewise.
1897         * modules/mbchar (Makefile.am): Likewise.
1898         * modules/md2 (Makefile.am): Likewise.
1899         * modules/md4 (Makefile.am): Likewise.
1900         * modules/md5 (Makefile.am): Likewise.
1901         * modules/memcasecmp (Makefile.am): Likewise.
1902         * modules/memchr (Makefile.am): Likewise.
1903         * modules/memcmp (Makefile.am): Likewise.
1904         * modules/memcoll (Makefile.am): Likewise.
1905         * modules/memcpy (Makefile.am): Likewise.
1906         * modules/memmem (Makefile.am): Likewise.
1907         * modules/memmove (Makefile.am): Likewise.
1908         * modules/mempcpy (Makefile.am): Likewise.
1909         * modules/memrchr (Makefile.am): Likewise.
1910         * modules/memset (Makefile.am): Likewise.
1911         * modules/memxor (Makefile.am): Likewise.
1912         * modules/mkancesdirs (Makefile.am): Likewise.
1913         * modules/mkdir (Makefile.am): Likewise.
1914         * modules/mkdir-p (Makefile.am): Likewise.
1915         * modules/mkdtemp (Makefile.am): Likewise.
1916         * modules/mkstemp (Makefile.am): Likewise.
1917         * modules/mktime (Makefile.am): Likewise.
1918         * modules/modechange (Makefile.am): Likewise.
1919         * modules/mountlist (Makefile.am): Likewise.
1920         * modules/nanosleep (Makefile.am): Likewise.
1921         * modules/openat (Makefile.am): Likewise.
1922         * modules/pagealign_alloc (Makefile.am): Likewise.
1923         * modules/physmem (Makefile.am): Likewise.
1924         * modules/poll (Makefile.am): Likewise.
1925         * modules/posixtm (Makefile.am): Likewise.
1926         * modules/posixver (Makefile.am): Likewise.
1927         * modules/putenv (Makefile.am): Likewise.
1928         * modules/quote (Makefile.am): Likewise.
1929         * modules/quotearg (Makefile.am): Likewise.
1930         * modules/raise (Makefile.am): Likewise.
1931         * modules/read-file (Makefile.am): Likewise.
1932         * modules/readline (Makefile.am): Likewise.
1933         * modules/readlink (Makefile.am): Likewise.
1934         * modules/readtokens (Makefile.am): Likewise.
1935         * modules/readutmp (Makefile.am): Likewise.
1936         * modules/realloc (Makefile.am): Likewise.
1937         * modules/regex (Makefile.am): Likewise.
1938         * modules/rename (Makefile.am): Likewise.
1939         * modules/rename-dest-slash (Makefile.am): Likewise.
1940         * modules/rijndael (Makefile.am): Likewise.
1941         * modules/rmdir (Makefile.am): Likewise.
1942         * modules/rpmatch (Makefile.am): Likewise.
1943         * modules/safe-read (Makefile.am): Likewise.
1944         * modules/safe-write (Makefile.am): Likewise.
1945         * modules/same (Makefile.am): Likewise.
1946         * modules/save-cwd (Makefile.am): Likewise.
1947         * modules/savedir (Makefile.am): Likewise.
1948         * modules/setenv (Makefile.am): Likewise.
1949         * modules/settime (Makefile.am): Likewise.
1950         * modules/sha1 (Makefile.am): Likewise.
1951         * modules/sig2str (Makefile.am): Likewise.
1952         * modules/snprintf (Makefile.am): Likewise.
1953         * modules/stdlib-safer (Makefile.am): Likewise.
1954         * modules/stpcpy (Makefile.am): Likewise.
1955         * modules/stpncpy (Makefile.am): Likewise.
1956         * modules/strcase (Makefile.am): Likewise.
1957         * modules/strcasestr (Makefile.am): Likewise.
1958         * modules/strchrnul (Makefile.am): Likewise.
1959         * modules/strcspn (Makefile.am): Likewise.
1960         * modules/strdup (Makefile.am): Likewise.
1961         * modules/strerror (Makefile.am): Likewise.
1962         * modules/strftime (Makefile.am): Likewise.
1963         * modules/strndup (Makefile.am): Likewise.
1964         * modules/strnlen (Makefile.am): Likewise.
1965         * modules/strpbrk (Makefile.am): Likewise.
1966         * modules/strsep (Makefile.am): Likewise.
1967         * modules/strstr (Makefile.am): Likewise.
1968         * modules/strtod (Makefile.am): Likewise.
1969         * modules/strtoimax (Makefile.am): Likewise.
1970         * modules/strtok_r (Makefile.am): Likewise.
1971         * modules/strtol (Makefile.am): Likewise.
1972         * modules/strtoll (Makefile.am): Likewise.
1973         * modules/strtoul (Makefile.am): Likewise.
1974         * modules/strtoull (Makefile.am): Likewise.
1975         * modules/strtoumax (Makefile.am): Likewise.
1976         * modules/strverscmp (Makefile.am): Likewise.
1977         * modules/time_r (Makefile.am): Likewise.
1978         * modules/timegm (Makefile.am): Likewise.
1979         * modules/tmpfile-safer (Makefile.am): Likewise.
1980         * modules/unistd-safer (Makefile.am): Likewise.
1981         * modules/unlinkdir (Makefile.am): Likewise.
1982         * modules/userspec (Makefile.am): Likewise.
1983         * modules/utime (Makefile.am): Likewise.
1984         * modules/utimecmp (Makefile.am): Likewise.
1985         * modules/utimens (Makefile.am): Likewise.
1986         * modules/vasnprintf (Makefile.am): Likewise.
1987         * modules/vasprintf (Makefile.am): Likewise.
1988         * modules/vsnprintf (Makefile.am): Likewise.
1989         * modules/xalloc (Makefile.am): Likewise.
1990         * modules/xgetcwd (Makefile.am): Likewise.
1991         * modules/xnanosleep (Makefile.am): Likewise.
1992         * modules/xreadlink (Makefile.am): Likewise.
1993         * modules/xstrtod (Makefile.am): Likewise.
1994         * modules/xstrtol (Makefile.am): Likewise.
1995         * modules/xstrtold (Makefile.am): Likewise.
1996         * modules/yesno (Makefile.am): Likewise.
1997
1998 2006-10-12  Jim Meyering  <jim@meyering.net>
1999
2000         * m4/getloadavg.m4: Revert the change below.
2001
2002         * m4/getloadavg.m4 (gl_GETLOADAVG): Test for the existence of
2003         lib/getloadavg.c using "ls -L", not "test -f".  The latter would
2004         fail with a symlink, which is what coreutils' ./bootstrap now
2005         creates by default.
2006
2007 2006-10-12  Bruno Haible  <bruno@clisp.org>
2008
2009         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): Don't define for MSVC or
2010         mingw.
2011         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX): Handle
2012         MSVC and mingw explicitly.
2013
2014 2006-10-11  Simon Josefsson  <jas@extundo.com>
2015             Bruno Haible  <bruno@clisp.org>
2016
2017         Add support for multiple gnulib-tool invocations in the scope of a
2018         single configure.ac file.
2019         * gnulib-tool (func_emit_lib_Makefile_am): In the _LIBADD variable,
2020         use a private [LT]LIBOBJS variant. Define a _DEPENDENCIES variable
2021         with the same contents as the _LIBADD variable.
2022         (func_emit_initmacro_start, func_emit_initmacro_end,
2023         func_emit_initmacro_done): New functions.
2024         (func_import, func_create_testdir): Invoke them. Allow the identifiers
2025         gl_LIBOBJS and gl_LTLIBOBJS.
2026
2027 2006-10-11  Bruno Haible  <bruno@clisp.org>
2028
2029         * gnulib-tool (GETTEXTPATH, AUTOHEADER, AUTOPOINT): New variables.
2030         (func_create_testdir): Don't create po/Makefile.am, don't invoke
2031         autoreconf. Instead, invoke autopoint explicitly but move back the
2032         *.m4 files from gnulib.
2033
2034 2006-10-11  Bruno Haible  <bruno@clisp.org>
2035
2036         * gnulib-tool (func_usage): Make module names after --create-testdir
2037         optional.
2038         (func_create_testdir): If no module was specified, use nearly all
2039         modules.
2040
2041 2006-10-12  Jim Meyering  <jim@meyering.net>
2042
2043         Big performance improvement for fts-based tools that use FTS_NOSTAT.
2044         Avoid spurious inode-mismatch problems on non-POSIX file systems.
2045         Details: http://article.gmane.org/gmane.comp.lib.gnulib.bugs/7416
2046         * lib/fts_.h (FTS_DEFER_STAT): Define new flag.
2047         (FTS_OPTIONMASK): Extend the mask to reflect this addition.
2048         * lib/fts.c (DT_IS_KNOWN, DT_MUST_BE): Define.
2049         (FTS_NO_STAT_REQUIRED, FTS_STAT_REQUIRED): Define.
2050         (fts_set_stat_required): New function.
2051         (fts_open): Defer the calls to fts_stat, if possible or requested.
2052         Move the code that maps a command-line fts_info value FTS_DOT to FTS_D
2053         into fts_stat itself.
2054         (fts_read): Perform any required (deferred) fts_stat call.
2055         (fts_build): Likewise, for the directory we're about to open and read.
2056         In the readdir loop, carefully decide whether each entry will require
2057         an eventual call to fts_stat, using dirent.d_type info if available.
2058         (fts_stat): Move the test for whether to honor FTS_COMFOLLOW on
2059         a command line argument into this function.  Update all callers.
2060         Map a return value of FTS_DOT to FTS_D for a command line argument.
2061         * modules/fts (Depends-on): Add d-type.  Alphabetize.
2062         Thanks to Miklos Szeredi for his tenacity and for the initial
2063         bug report about "find" failing on a FUSE-based file system.
2064
2065         * lib/fts.c (fts_open): Use consistent indentation.
2066
2067 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
2068
2069         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Renamed from
2070         gl_USE_SYSTEM_EXTENSIONS, to fix a coreutils bootstrap failure
2071         reported by Jim Meyering.  All uses of cache variables renamed
2072         to match Autoconf's.
2073         (gl_USE_SYSTEM_EXTENSIONS): New macro, which simply requires
2074         the other one.
2075
2076         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH):
2077         Fix misspelling in diagnostic.
2078
2079 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
2080
2081         * lib/mkdir-p.c (HAVE_FCHMOD): Define to false if not already
2082         defined.  Problem reported by Matthew Woehlke.
2083
2084         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): New macro.
2085         Add support for Tandem NonStop R series.
2086         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX):
2087         Use new macro.
2088
2089         * lib/rename-dest-slash.c: Include stdbool.h but not string.h.
2090         (has_trailing_slash): Omit size arg; all callers changed.
2091         Omit 'inline', since it doesn't help performance and we'd
2092         need to configure it.
2093         Don't count //, ///, etc. as having a trailing slash.
2094         As a side effect, this removes a C99ism reported by Matthew Woehlke.
2095         (rpl_rename_dest_slash): On failure, use rename's errno rather
2096         than (in some cases) an incorrect or junk errno.
2097         Simplify code by removing need to compute length; this does
2098         cause it to make two passes instead of one over the file name,
2099         but it's worth it.
2100
2101         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Undo previous
2102         change, since Autoconf's version may no longer be appropriate now
2103         that we are using CVS Autoconf's version.  Add support for Tandem.
2104
2105 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
2106             Bruno Haible  <bruno@clisp.org>
2107
2108         * lib/allocsa.h (sa_alignment_longlong, sa_alignment_max): Test
2109         HAVE_LONG_LONG_INT instead of HAVE_LONG_LONG.
2110         * m4/allocsa.m4 (gl_ALLOCSA): Invoke AC_TYPE_LONG_LONG_INT instead of
2111         gl_AC_TYPE_LONG_LONG.
2112
2113         * lib/printf-args.h (arg_type, argument): Test HAVE_LONG_LONG_INT
2114         instead of HAVE_LONG_LONG.
2115         * lib/printf-args.c (printf_fetchargs): Likewise.
2116         * lib/printf-parse.c (PRINTF_PARSE): Likewise.
2117         * lib/vasnprintf.c (VASNPRINTF): Likewise.
2118         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS, gl_PREREQ_PRINTF_PARSE,
2119         gl_PREREQ_VASNPRINTF): Invoke AC_TYPE_LONG_LONG_INT instead of
2120         gl_AC_TYPE_LONG_LONG.
2121
2122 2006-10-11  Bruno Haible  <bruno@clisp.org>
2123
2124         * m4/longlong.m4: Add comments.
2125         * m4/ulonglong.m4: Likewise.
2126
2127 2006-10-10  Bruno Haible  <bruno@clisp.org>
2128
2129         Make it possible to #define stpcpy, strdup to aliases.
2130         * lib/stpcpy.c (stpcpy) [!_LIBC]: Don't undefine.
2131         * lib/strdup.c (strdup) [!_LIBC]: Don't undefine.
2132
2133 2006-10-10  Bruno Haible  <bruno@clisp.org>
2134
2135         Make it possible to #define gcd to an alias.
2136         * lib/gcd.c: Include config.h.
2137
2138 2006-10-10  Bruno Haible  <bruno@clisp.org>
2139
2140         Make it possible to #define c_isascii to an alias.
2141         * lib/c-ctype.h: Don't define the macros if NO_C_CTYPE_MACROS is
2142         defined. Undefine the macros before defining them, to avoid gcc
2143         warnings.
2144         * lib/c-ctype.c: Include config.h. Don't undefine the macros; instead,
2145         define NO_C_CTYPE_MACROS early.
2146
2147 2006-10-10  Bruno Haible  <bruno@clisp.org>
2148
2149         Make it possible to #define set_program_name to an alias.
2150         * lib/progname.c: Don't undefine set_program_name; instead, undefine
2151         ENABLE_RELOCATABLE early.
2152
2153 2006-10-10  Paul Eggert  <eggert@cs.ucla.edu>
2154
2155         Port to Tandem NSK OSS, which has 64-bit signed int but at most
2156         32-bit unsigned int.  Problem reported by Matthew Woehlke in:
2157         http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00062.html
2158         More generally, don't assume that 64-bit signed int is available
2159         if unsigned int is, and vice versa.
2160         * lib/inttypes_.h (_PRIu64_PREFIX, _SCNu64_PREFIX): Depend on
2161         unsigned symbols, not on their signed counterparts.
2162         * lib/stdint_.h (uint64_t, uint_least64_t, uint_fast64_t, uintmax_t):
2163         (UINT64_MAX, UINT_LEAST64_MAX, UINT_FAST64_MAX, UINTMAX_MAX):
2164         (UINT64_C, UINTMAX_C):
2165         Likewise.
2166         * lib/strtoimax.c (strtoll): Depend on signed symbols, not their
2167         unsigned counterparts.
2168         (Have_long_long, Unsigned): New macros.
2169         (Int): Renamed from INT.
2170         (strtoimax): Use the new macros.
2171         * m4/stdint.m4 (gl_STDINT_H): Require AC_TYPE_UNSIGNED_LONG_LONG_INT
2172         and substitute HAVE_UNSIGNED_LONG_LONG_INT.
2173         * modules/inttypes (inttypes.h): Substitute
2174         HAVE_UNSIGNED_LONG_LONG_INT.
2175         * modules/stdint (stdint.h): Likewise.
2176         (Files): Add m4/ulonglong.m4.
2177
2178 2006-10-10  Bruno Haible  <bruno@clisp.org>
2179
2180         Fix a gcc -Wshadow warning.
2181         * lib/gl_anyhash_list2.h (hash_resize): Rename local variable 'index'
2182         to 'bucket'.
2183         * lib/gl_anylinked_list2.h (gl_linked_search_from_to,
2184         gl_linked_indexof_from_to): Likewise.
2185         * lib/gl_linkedhash_list.c (add_to_bucket, remove_from_bucket):
2186         Likewise.
2187         * lib/gl_anytreehash_list1.h (add_to_bucket, remove_from_bucket):
2188         Likewise.
2189         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Likewise.
2190         Reported by Eric Blake.
2191
2192 2006-10-09  Paul Eggert  <eggert@cs.ucla.edu>
2193
2194         * lib/filemode.h [HAVE_DECL_STRMODE]: Include unistd.h too,
2195         for NetBSD.  Problem reported by Bruno Haible.
2196
2197 2006-10-09  Jim Meyering  <jim@meyering.net>
2198
2199         * lib/lchown.c: Include <sys/stat.h> before "stat-macros.h".
2200         Patch from Bruno Haible.
2201
2202 2006-10-09  Jim Meyering  <jim@meyering.net>
2203
2204         * lib/fts-cycle.c (leave_dir): When "leaving" a top level directory due
2205         to FTS_SKIP, don't copy the parent's uninitialized dev/ino values.
2206         Trigger with e.g., mkdir d && valgrind ./chmod u+rwx d d
2207
2208 2006-10-08  Paul Eggert  <eggert@cs.ucla.edu>
2209
2210         Don't include <config.h> twice; this doesn't work in some cases,
2211         e.g., when config.h has "#define intmax_t long long int" and
2212         we include <config.h>, <inttypes.h>, <config.h> in that order.
2213         Problem reported by Matthew Woehlke in:
2214         http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00073.html
2215         * lib/fprintftime.c: Don't include config.h or fprintftime.h.
2216         * lib/fts-cycle.c: Don't include config.h.
2217         * lib/strftime.c: Include fprintftime.h if FPRINTFTIME is defined.
2218         * lib/xstrtoimax.c: Remove copyright notice since it's short tnow.
2219         Don't include config.h or xstrtol.h.  Define STRTOL_T_MINIMUM
2220         and STRTOL_T_MAXIMUM unconditionally, since we now assume gnulib
2221         inttypes.h.
2222         * lib/xstrtoumax.c: Likewise.
2223         * lib/xstrtol.c: Include config.h and xstrtol.h after defining
2224         __strtol and the like, so that this module is more like its siblings.
2225         (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [! defined STRTOL_T_MINIMUM]:
2226         Remove; no longer needed now that we assume gnulib inttypes.h.
2227
2228 2006-10-08  Bruno Haible  <bruno@clisp.org>
2229
2230         * doc/gnulib-tool.texi: Emphasize the drawbacks of the --symlink
2231         option.
2232
2233 2006-10-07  Jim Meyering  <jim@meyering.net>
2234
2235         * modules/inttypes (inttypes.h): Revert what seems to have been
2236         an inadvertent part of today's change: use "|", not "/" in the
2237         substitution for the "/"-containing string, $(ABSOLUTE_INTTYPES_H).
2238
2239 2006-10-07  Bruno Haible  <bruno@clisp.org>
2240
2241         * modules/sublist: New file.
2242
2243 2006-10-07  Bruno Haible  <bruno@clisp.org>
2244
2245         * modules/alloca-opt (alloca.h): Add a "DO NOT EDIT" comment.
2246         * modules/argz (argz.h): Likewise.
2247         * modules/arpa_inet (arpa/inet.h): Likewise.
2248         * modules/byteswap (byteswap.h): Likewise.
2249         * modules/configmake (configmake.h): Likewise.
2250         * modules/fcntl (fcntl.h): Likewise.
2251         * modules/fnmatch (fnmatch.h): Likewise.
2252         * modules/getopt (getopt.h): Likewise.
2253         * modules/glob (glob.h): Likewise.
2254         * modules/inttypes (inttypes.h): Likewise.
2255         * modules/netinet_in (netinet/in.h): Likewise.
2256         * modules/poll (poll.h): Likewise.
2257         * modules/stdbool (stdbool.h): Likewise.
2258         * modules/stdint (stdint.h): Likewise.
2259         * modules/sys_select (sys/select.h): Likewise.
2260         * modules/sys_socket (sys/socket.h): Likewise.
2261         * modules/sys_stat (sys/stat.h): Likewise.
2262         * modules/sysexits (sysexits.h): Likewise.
2263         * modules/unistd (unistd.h): Likewise.
2264         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
2265         Add a "DO NOT EDIT" comment to the generated file.
2266         (func_import): Likewise for gnulib-comp.m4.
2267
2268 2006-10-07  Bruno Haible  <bruno@clisp.org>
2269
2270         * lib/gl_sublist.h: New file.
2271         * lib/gl_sublist.c: New file.
2272
2273 2006-10-06  Paul Eggert  <eggert@cs.ucla.edu>
2274
2275         * lib/mkancesdirs.c (mkancesdirs): Pass to MAKE_DIR both the full file
2276         name (relative to the original working directory) and the file
2277         name component (relative to the temporary working directory).  All
2278         callers changed.
2279         * lib/mkancesdirs.h (mkancesdirs): Adjust prototype to match.
2280         * lib/mkdir-p.c (make_dir_parents): Likewise.
2281         * lib/mkdir-p.h (make_dir_parents): Likewise.
2282
2283 2006-10-06  Eric Blake  <ebb9@byu.net>
2284
2285         Define several macros for use by the clean-temp module.
2286         * m4/close-stream.m4 (gl_CLOSE_STREAM): Define GNULIB_CLOSE_STREAM.
2287         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Define GNULIB_FCNTL_SAFER.
2288         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Define GNULIB_FOPEN_SAFER.
2289
2290         * lib/clean-temp.h (close_stream_temp): New declaration.
2291         * lib/clean-temp.c (includes): Pull in headers according to what
2292         other modules are in use.
2293         (close_stream_temp) [GNULIB_CLOSE_STREAM]: New function.
2294
2295 2006-10-06  Bruno Haible  <bruno@clisp.org>
2296
2297         * lib/javacomp.c (write_temp_file): Use fopen_temp, fwriteerror_temp
2298         instead of fopen, fwriteerror.
2299
2300 2006-10-06  Bruno Haible  <bruno@clisp.org>
2301
2302         * lib/clean-temp.h (cleanup_temp_file, cleanup_temp_subdir,
2303         cleanup_temp_dir_contents, cleanup_temp_dir): Change return type to
2304         int.
2305         * lib/clean-temp.c (do_unlink, do_rmdir, cleanup_temp_file,
2306         cleanup_temp_subdir, cleanup_temp_dir_contents, cleanup_temp_dir):
2307         Return an error indicator.
2308         Suggested by Eric Blake.
2309
2310 2006-10-06  Bruno Haible  <bruno@clisp.org>
2311
2312         * lib/clean-temp.c (PATH_MAX): Provide a fallback for GNU Hurd.
2313         Reported by Eric Blake.
2314
2315 2006-10-06  Bruno Haible  <bruno@clisp.org>
2316
2317         * modules/closeout (Description): Mention stderr too.
2318
2319 2006-10-06  Bruno Haible  <bruno@clisp.org>
2320         and Paul Eggert  <eggert@cs.ucla.edu>
2321
2322         * lib/closeout.c (close_stdout): Also close stderr.
2323         * lib/closeout.h: Update comment.
2324
2325 2006-10-05  Paul Eggert  <eggert@cs.ucla.edu>
2326
2327         Fix some Darwin-7.9.0 porting problems reported by Bruno Haible in
2328         <http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00063.html>.
2329         * lib/dirchownmod.c: Include lchown.h.
2330         * lib/lchown.c: Don't include files that lchown.h now includes.
2331         Don't declare chown, since lchown.h now does that.
2332         * lib/lchown.h: Include errno.h, sys/types.h, unistd.h.
2333         (lchown): Define to rpl_chown if lchown is declared but
2334         does not exist.  Declare using a prototype if lchown is not
2335         declared.  Add a copyright notice.
2336         * lib/mkstemp.h: Include <unistd.h>.
2337         * lib/openat.c: Include lchown.h.
2338
2339         * lib/fcntl_.h (O_NOFOLLOW): Don't depend on O_NOFOLLOW_IS_INEFFECTIVE;
2340         we now test for that separately.
2341         * lib/fts.c (fts_safe_changedir): Inspect HAVE_WORKING_O_NOFOLLOW
2342         rather than O_NOFOLLOW, when testing whether it's possible to
2343         avoid a race condition reliably.
2344         * lib/savewd.c (savewd_chdir): Likewise.
2345
2346         Remove macros that are no longer needed now that stdint.h is
2347         reliable.
2348         * lib/fsusage.c (UINTMAX_MAX): Remove.
2349         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Remove.
2350         * lib/utimecmp.c (SIZE_MAX): Remove.
2351
2352         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check whether lchown is declared.
2353
2354         * m4/fcntl_h.m4 (gl_FCNTL_H): Define HAVE_WORKING_O_NOFOLLOW instead
2355         of O_NOFOLLOW_IS_INEFFECTIVE.  Define HAVE_WORKING_O_NOATIME if
2356         O_NOATIME works.
2357
2358 2006-10-05  Bruno Haible  <bruno@clisp.org>
2359
2360         * lib/gl_list.h (gl_sortedlist_search_from_to,
2361         gl_sortedlist_indexof_from_to): New declarations.
2362         (gl_list_implementation): New fields sortedlist_search_from_to,
2363         sortedlist_indexof_from_to.
2364         (gl_sortedlist_search_from_to, gl_sortedlist_indexof_from_to): New
2365         inline functions.
2366         * lib/gl_list.c (gl_sortedlist_search_from_to,
2367         gl_sortedlist_indexof_from_to): New functions.
2368         * lib/gl_array_list.c (gl_array_sortedlist_indexof_from_to): New
2369         function.
2370         (gl_array_sortedlist_indexof, gl_array_sortedlist_search): Use it.
2371         (gl_array_sortedlist_search_from_to): New function.
2372         (gl_array_list_implementation): Update.
2373         * lib/gl_carray_list.c (gl_carray_sortedlist_indexof_from_to): New
2374         function.
2375         (gl_carray_sortedlist_indexof, gl_carray_sortedlist_search): Use it.
2376         (gl_carray_sortedlist_search_from_to): New function.
2377         (gl_carray_list_implementation): Update.
2378         * lib/gl_anylinked_list2.h (gl_linked_sortedlist_search_from_to,
2379         gl_linked_sortedlist_indexof_from_to): New functions.
2380         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
2381         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
2382         * lib/gl_anytree_list2.h (gl_tree_sortedlist_search_from_to,
2383         gl_tree_sortedlist_indexof_from_to): New functions.
2384         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
2385         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
2386         Update.
2387         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
2388         * lib/gl_rbtreehash_list.c (gl_avltreehash_list_implementation):
2389         Update.
2390
2391 2006-10-05  Bruno Haible  <bruno@clisp.org>
2392
2393         * lib/gl_list.h (gl_list_search_from, gl_list_search_from_to,
2394         gl_list_indexof_from, gl_list_indexof_from_to): New declarations.
2395         (struct gl_list_implementation): Add fields search_from_to,
2396         indexof_from_to. Remove fields search, indexof.
2397         (gl_list_search): Use the search_from_to method.
2398         (gl_list_search_from, gl_list_search_from_to): New functions.
2399         (gl_list_indexof): Use the indexof_from_to method.
2400         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
2401         * lib/gl_list.c (gl_list_search): Use the search_from_to method.
2402         (gl_list_search_from, gl_list_search_from_to): New functions.
2403         (gl_list_indexof): Use the indexof_from_to method.
2404         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
2405         * lib/gl_array_list.c (gl_array_indexof_from_to): Renamed from
2406         gl_array_indexof. Add start_index, end_index arguments.
2407         (gl_array_search_from_to): Renamed from gl_array_search. Add
2408         start_index, end_index arguments.
2409         (gl_array_remove, gl_array_list_implementation): Update.
2410         * lib/gl_carray_list.c (gl_carray_indexof_from_to): Renamed from
2411         gl_carray_indexof. Add start_index, end_index arguments.
2412         (gl_carray_search_from_to): Renamed from gl_carray_search. Add
2413         start_index, end_index arguments.
2414         (gl_carray_remove, gl_carray_list_implementation): Update.
2415         * lib/gl_anylinked_list2.h (gl_linked_search_from_to): Renamed from
2416         gl_linked_search. Add start_index, end_index arguments.
2417         (gl_linked_indexof_from_to): Renamed from gl_linked_indexof. Add
2418         start_index, end_index arguments.
2419         (gl_linked_remove): Update.
2420         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
2421         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
2422         * lib/gl_anytree_list1.h (iterstack_item_t): Change type of 'rightp'
2423         field to 'size_t'.
2424         * lib/gl_anytree_list2.h (gl_tree_search_from_to): Renamed from
2425         gl_tree_search. Add start_index, end_index arguments.
2426         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
2427         start_index, end_index arguments.
2428         (gl_tree_remove): Update.
2429         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
2430         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
2431         * lib/gl_anytreehash_list1.h (compare_position_threshold): New
2432         function.
2433         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Renamed from
2434         gl_tree_search. Add start_index, end_index arguments.
2435         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
2436         start_index, end_index arguments.
2437         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
2438         Update.
2439         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Update.
2440
2441 2006-10-05  Bruno Haible  <bruno@clisp.org>
2442
2443         * modules/fwriteerror (configure.ac): Define GNULIB_FWRITEERROR.
2444
2445         * lib/clean-temp.h (open_temp, fopen_temp, close_temp, fclose_temp,
2446         fwriteerror_temp): New declarations.
2447         * lib/clean-temp.c (uintptr_t): Provide fallback definition.
2448         (descriptors): New variable.
2449         (cleanup): First, close the descriptors.
2450         (register_fd, unregister_fd, open_temp, fopen_temp, close_temp,
2451         fclose_temp, fwriteerror_temp): New functions.
2452
2453 2006-10-04  Jim Meyering  <jim@meyering.net>
2454
2455         * lib/fts.c (fts_open): Tiny comment change.
2456
2457 2006-10-04  Bruno Haible  <bruno@clisp.org>
2458
2459         Make it possible to invoke AC_GNU_SOURCE after gl_LOCK_EARLY.
2460         * m4/lock.m4 (gl_LOCK_EARLY_BODY): New macro, extracted code from
2461         gl_LOCK_BODY.
2462         (gl_LOCK_EARLY): Require gl_LOCK_EARLY_BODY, not gl_LOCK_BODY.
2463         (gl_LOCK_BODY): Remove settings of CPPFLAGS, now done in
2464         gl_LOCK_EARLY_BODY.
2465         (gl_LOCK): Require gl_LOCK_BODY.
2466
2467 2006-10-04  Bruno Haible  <bruno@clisp.org>
2468
2469         * lib/gl_oset.h (gl_setelement_threshold_fn): New type.
2470         (gl_oset_search_atleast): New declaration.
2471         (struct gl_oset_implementation): Add field 'search_atleast'.
2472         (gl_oset_search_atleast): New inline function.
2473         * lib/gl_oset.c (gl_oset_search_atleast): New function.
2474         * lib/gl_array_oset.c (gl_array_search_atleast): New function.
2475         (gl_array_oset_implementation): Update.
2476         * lib/gl_anytree_oset.h (gl_tree_search_atleast): New function.
2477         * lib/gl_avltree_oset.c (gl_avltree_oset_implementation): Update.
2478         * lib/gl_rbtree_oset.c (gl_rbtree_oset_implementation): Update.
2479
2480 2006-10-04  Bruno Haible  <bruno@clisp.org>
2481
2482         * lib/fatal-signal.c (fatal_signals) [WOE32]: Add the SIGBREAK signal.
2483
2484 2006-10-03  Bruno Haible  <bruno@clisp.org>
2485
2486         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Renamed
2487         from gl_avltreehash_list_implementation.
2488
2489 2006-10-03  Bruno Haible  <bruno@clisp.org>
2490
2491         * lib/gl_oset.c (gl_oset_add): Fix return type.
2492
2493 2006-10-02  Paolo Bonzini  <bonzini@gnu.org>  (tiny change)
2494
2495         * lib/quotearg.c (mbstate_t) [!HAVE_MBRTOWC]: #define to int.
2496
2497 2006-10-02  Eric Blake  <ebb9@byu.net>
2498
2499         * modules/strnlen (Depends-on): Add extensions.
2500
2501 2006-10-02  Eric Blake  <ebb9@byu.net>
2502
2503         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use autoconf's
2504         definition in 2.60+.
2505
2506 2006-10-02  Dmitry V. Levin  <ldv@altlinux.org>
2507
2508         * lib/fts.c (fts_close, fts_build, fts_palloc): Remove redundant
2509         checks.
2510
2511 2006-10-02  Bruno Haible  <bruno@clisp.org>
2512
2513         * gnulib-tool (func_emit_lib_Makefile_am): Don't add no-dependencies
2514         to the AUTOMAKE_OPTIONS.
2515         Reported by Jim Meyering.
2516
2517 2006-09-29  Paul Eggert  <eggert@cs.ucla.edu>
2518
2519         Work around bug in Solaris 10 /proc file system:
2520         /proc/self/fd/NNN/.. isn't the parent directory of
2521         the directory whose file descriptor is NNN.  This needs to
2522         be worked around at run time, not compile time, since a
2523         program might be built on Solaris 8, where things work, and
2524         run on Solaris 10.
2525         * lib/openat-priv.h (BUILD_PROC_NAME): Remove.  All callers changed
2526         to use the following interface instead:
2527         (OPENAT_BUFFER_SIZE): New macro.
2528         (openat_proc_name): New function.
2529         * lib/at-func.c (AT_FUNC_NAME): Adjust to above changes.
2530         * lib/openat.c (openat_permissive, openat_needs_fchdir, fdopendir):
2531         Likewise.
2532         * lib/openat-proc.c: New file.
2533         * modules/openat (Files): Add lib/openat-proc.c.
2534         (Depends-on): Add same-inode, stdbool.
2535         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBOBJ(openat-proc).
2536
2537 2006-09-29  Bruno Haible  <bruno@clisp.org>
2538
2539         * lib/fwriteerror.h (fwriteerror_no_ebadf): New declaration.
2540         * lib/(do_fwriteerror): Renamed from fwriteerror. Add ignore_ebadf
2541         argument. Set stdout_closed before testing for ferror, not after.
2542         (fwriteerror, fwriteerror_no_ebadf): New functions.
2543
2544 2006-09-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
2545
2546         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Avoid unused variables warning.
2547
2548 2006-09-28  Paolo Bonzini  <bonzini@gnu.org>
2549
2550         * lib/poll.c (rpl_poll) [__APPLE__]: Use FIONREAD instead of MSG_PEEK.
2551         * m4/poll.m4: Look for sys/ioctl.h and sys/filio.h.
2552
2553 2006-09-28  Jim Meyering  <jim@meyering.net>
2554
2555         * lib/mkdir-p.c: Include "dirchownmod.h", not "dirchownmod.c".
2556         Include <unistd.h>.
2557
2558 2006-09-28  Bruno Haible  <bruno@clisp.org>
2559
2560         * modules/avltreehash-list (Depends-on): Add stdint, remove size_max.
2561         * modules/linkedhash-list (Depends-on): Likewise.
2562         * modules/rbtreehash-list (Depends-on): Likewise.
2563
2564 2006-09-28  Bruno Haible  <bruno@clisp.org>
2565
2566         * lib/strndup.h: Simplify the redefinition of strndup.
2567         (_GL_CONCAT, _GL_XCONCAT, __STRNDUP_ID): Remove macros.
2568         * m4/strndup.m4 (gl_FUNC_STRNDUP): Don't define __STRNDUP_PREFIX.
2569
2570 2006-09-28  Bruno Haible  <bruno@clisp.org>
2571
2572         * lib/gl_avltreehash_list.c: Include <stdint.h> instead of size_max.h.
2573         * lib/gl_linkedhash_list.c: Likewise.
2574         * lib/gl_rbtreehash_list.c: Likewise.
2575
2576 2006-09-27  Paul Eggert  <eggert@cs.ucla.edu>
2577
2578         * lib/canon-host.c (canon_host_r): Work around bug in Darwin 7.9.0
2579         getaddrinfo.
2580
2581         * lib/__fpending.h: Don't include <stdio_ext.h> unless
2582         HAVE_DECL___FPENDING.  This avoids a bug with lsbcc, where
2583         it causes <stdio_ext.h> to cause a compile-time error.
2584         Problem reported by Nelson H. F. Beebe.
2585         * lib/getpass.c: Likewise, except for HAVE_DECL___FSETLOCKING instead
2586         of HAVE_DECL___PENDING.
2587
2588         * m4/fpending.m4 (gl_FUNC_FPENDING): Check for stdio_ext at most once.
2589         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for __fsetlocking's
2590         declaration.
2591
2592 2006-09-27  Jim Meyering  <jim@meyering.net>
2593
2594         This file could end up with a definition for a function
2595         named __strndup, rather than rpl_strndup on a system with
2596         incomplete weak_alias support.
2597         * lib/strndup.c (strndup): Rename from __strndup.
2598         Remove #defines that used to map __strndup to strndup.
2599         Don't use K&R prototypes.
2600         Remove LIBC-related code, since this file is not sync'd with glibc.
2601         * lib/strndup.h: Revamp, accordingly.
2602         * m4/strndup.m4: Modernize.
2603
2604 2006-09-26  Paul Eggert  <eggert@cs.ucla.edu>
2605
2606         * modules/savewd (Depends-on): Add 'raise'.
2607         * lib/savewd.c: Include <signal.h>, for 'raise'.
2608
2609 2006-09-26  Jim Meyering  <jim@meyering.net>
2610
2611         * m4/acl.m4 (AC_FUNC_ACL): Disable ACL support altogether
2612         when we detect Darwin 8.7.0's acl_get_file bug.
2613         Rearrange to perform the new (below) run-test while $LIBS
2614         contains any acl-related library.  Set USE_ACL at the end.
2615         (gl_ACL_GET_FILE): New function.
2616
2617 2006-09-26  Eric Blake  <ebb9@byu.net>
2618
2619         * lib/verror.c: Include <config.h> unconditionally.
2620
2621 2006-09-25  Paul Eggert  <eggert@cs.ucla.edu>
2622
2623         * modules/clock-time (Maintainer): Add self.
2624         * modules/getlogin_r (Depends-on): Add extensions.
2625
2626 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
2627
2628         * modules/clock-time: New module.
2629         * modules/nanosleep (Depends-on): Add clock-time.
2630         * modules/gethrxtime (Depends-on): Likewise.
2631         * modules/gettime (Depends-on): Likewise.
2632         * modules/settime (Depends-on): Likewise.
2633
2634         * modules/fts-lgpl: Depend on openat.
2635         * modules/mkancesdirs: Depend on savewd.
2636         * modules/mkdir-p: Likewise.
2637
2638 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
2639
2640         * m4/host-os.m4 (gl_HOST_OS): Require AC_CANONICAL_HOST.
2641
2642         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Rename cache variable from
2643         `gl_have_arbitrary_file_name_length_limit' to
2644         `gl_cv_have_arbitrary_file_name_length_limit', so that caching
2645         actually works between configure runs.
2646
2647 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
2648             Bruno Haible  <bruno@clisp.org>
2649
2650         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Include <string.h>.
2651
2652 2006-09-25  Jim Meyering  <jim@meyering.net>
2653
2654         * m4/fcntl_h.m4 (gl_FCNTL_H): Fix typo in test for failed open.
2655         This typo caused coreutils/tests/dd/misc to fail on Darwin 8.7.0.
2656
2657 2006-09-25  Eric Blake  <ebb9@byu.net>
2658
2659         * gnulib-tool (func_import, func_create_testdir): Fix typos in
2660         exec's in 2006-09-18 patch when shuffling fds.
2661
2662 2006-09-25  Bruno Haible  <bruno@clisp.org>
2663
2664         * m4/getloadavg.m4 (gl_GETLOADAVG): Fix directory in error message.
2665         Reported by Jim Meyering.
2666
2667 2006-09-24  Jim Meyering  <jim@meyering.net>
2668
2669         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Don't use '>' to
2670         compare a pointer against a literal "0".  That caused failures with
2671         at least HP-UX's hpcc.
2672
2673 2006-09-22  Simon Josefsson  <jas@extundo.com>
2674
2675         * modules/gc-sha1:
2676         * modules/gc-md4:
2677         * modules/gc-hmac-sha1:
2678         * modules/gc-hmac-md5:
2679         * modules/gc-des:
2680         * modules/gc-arcfour: Distribute more files.
2681
2682 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
2683
2684         * lib/gl_anylinked_list2.h [lint] (gl_linked_iterator)
2685         (gl_linked_iterator_from_to): Initialize struct completely.
2686         * lib/gl_anytree_list2.h [lint] (gl_tree_iterator): Likewise.
2687         (gl_tree_iterator_from_to): Likewise
2688         * lib/gl_anytree_oset.h [lint] (gl_tree_iterator): Likewise.
2689         * lib/gl_array_list.c [lint] (gl_array_iterator)
2690         (gl_array_iterator_from_to): Likewise.
2691         * lib/gl_array_oset.c [lint] (gl_array_iterator): Likewise.
2692         * lib/gl_carray_list.c [lint] (gl_carray_iterator)
2693         (gl_carray_iterator_from_to): Likewise.
2694
2695         * lib/gc-gnulib.c [GC_USE_HMAC_SHA1]: include hmac.h for hmac_sha1.
2696         * lib/md4.c (md4_process_block): Remove unused variable.
2697         * lib/rijndael-api-fst.c (rijndaelBlockDecrypt): GCC suggests
2698         parentheses for clarity.
2699
2700 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
2701
2702         * modules/bison-i18n (Depends-on): Add gettext.
2703
2704 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
2705
2706         * m4/fsusage.m4 (gl_STATFS_TRUNCATES): Avoid unused variable.
2707         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Likewise.
2708         * m4/jm-winsz1.m4 (gl_HEADER_TIOCGWINSZ_IN_TERMIOS_H): Likewise;
2709         also add missing comma that caused broken test.
2710         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Include
2711         stdlib.h, for `abort'.
2712         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Avoid unused
2713         variables.
2714         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Check for and
2715         include unistd.h if present, for `rmdir'.
2716         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Avoid unused
2717         variables.
2718         * m4/putenv.m4 (gl_FUNC_PUTENV): Rewrite using AC_RUN_IFELSE, and
2719         in the process include standard headers for prototypes.
2720         * m4/readutmp.m4 (gl_READUTMP): Require AC_GNU_SOURCE, so utmpxname
2721         gets declared on GNU/Linux.
2722         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Check for and include
2723         unistd.h, for `rmdir'.
2724         * m4/time_r.m4 (gl_TIME_R): Avoid unused variables.
2725
2726         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Avoid expression that is
2727         always true.
2728         * m4/strndup.m4 (gl_FUNC_STRNDUP): include stdlib.h, for `free'.
2729
2730         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Avoid gcc -Wall warnings.
2731
2732 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
2733
2734         * gnulib-tool (func_version): Create output all at once.  This
2735         may help avoid triggering unnecessary SIGPIPEs, and at any
2736         rate it doesn't hurt.
2737
2738 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
2739             Bruno Haible  <bruno@clisp.org>
2740
2741         * m4/lock.m4 (gl_LOCK_BODY): Avoid unused variables warning.
2742         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
2743         * m4/signed.m4 (bh_C_SIGNED): Likewise.
2744
2745         * m4/vasprintf.m4 (gl_PREREQ_VASPRINTF_H): New macro.
2746         (gl_FUNC_VASPRINTF): Invoke it.
2747
2748 2006-09-22  Bruno Haible  <bruno@clisp.org>
2749
2750         * m4/getloadavg.m4 (gl_GETLOADAVG): Expect the directory of
2751         getloadavg.c as first argument.
2752
2753 2006-09-22  Bruno Haible  <bruno@clisp.org>
2754
2755         * gnulib-tool (func_import, func_create_testdir): Set gl_source_base
2756         at the beginning of the gl_INIT macro.
2757         * modules/getloadavg (configure.ac): Pass $gl_source_base to
2758         gl_GETLOADAVG.
2759
2760 2006-09-22  Bruno Haible  <bruno@clisp.org>
2761
2762         * gnulib-tool (func_create_megatestdir): Don't include the config-h
2763         module.
2764         Suggested by Ralf Wildenhues.
2765
2766 2006-09-20  Paul Eggert  <eggert@cs.ucla.edu>
2767
2768         Import this patch from libc:
2769
2770         2006-09-06  Jakub Jelinek  <jakub@redhat.com>
2771
2772         * lib/regex_internal.c (re_string_reconstruct): Handle
2773         offset < pstr->valid_raw_len && pstr->offsets_needed case.
2774         Ensure no bytes read before raw_mbs array.  Pass a saved copy of
2775         pstr->valid_len - 1 rather than pstr->valid_raw_len - 1 to
2776         re_string_context_at.
2777
2778         * m4/regex.m4 (gl_REGEX): Check for locale.h, since the test
2779         now requires it.
2780         (gl_PREREQ_REGEX): Don't check for locale.h any more, since
2781         gl_REGEX now does it for us.
2782         (gl_REGEX): Add test taken from
2783         http://sourceware.org/ml/libc-hacker/2006-09/msg00008.html.
2784
2785         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require AC_SYS_LARGEFILE.
2786         Check that large offsets work.  Modernize Autoconf usages.
2787         Prefer "yes" to mean a good thing rather than a bad.
2788         Don't put "#define mkstemp" in config.h, as this might interfere
2789         with standard system headers that "#define mkstemp mkstemp64".
2790
2791         * modules/mkstemp (Depends-on): Add extensions, so that
2792         mkstemp is visible on some platforms.
2793         (Makefile.am): Add mkstemp.h to EXTRA_DIST.
2794         (Include): Change to "mkstemp.h" from <stdlib.h>.
2795         (Files): Add mkstemp.h.
2796
2797         * lib/mkstemp.h: New file, since some standard headers
2798         #define mkstemp.
2799         * lib/mkstemp.c: Revamp to put the !_LIBC code together.
2800         Include "mkstemp.h".
2801         Make the _LIBC code resemble glibc original more,
2802         e.g., use K&R style.
2803         * lib/mkstemp-safer.c: Include "mkstemp.h" instead of <stdlib.h>.
2804         (mkstemp): Remove, since mkstemp.h does this for us.
2805         * lib/stdlib--.h: Include mkstemp.h.
2806
2807         Import this patch from libc:
2808
2809         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
2810
2811         * lib/tempname.c (__gen_tempname): Change attempts_min
2812         into a macro.  Use preprocessor to decide how to initialize
2813         attempts [Coverity CID 67].
2814
2815 2006-09-20  Bruno Haible  <bruno@clisp.org>
2816
2817         * lib/mkdtemp.c: Import from libc.
2818         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
2819                 * sysdeps/posix/tempname.c (__gen_tempname): Change
2820                 attempts_min into a macro.  Use preprocessor to decide how to
2821                 initialize attempts [Coverity CID 67].
2822         2001-11-27  Paul Eggert  <eggert@twinsun.com>
2823                 * sysdeps/posix/tempname.c (__gen_tempname): Try at least
2824                 ATTEMPTS_MIN or TMP_MAX times, whichever is greater.
2825
2826 2006-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
2827
2828         * gnulib-tool (func_exit): New function, to allow to pass the
2829         exit status portably through the trap.  Use everywhere.
2830         (--help, --version): Signal a write error.
2831         (trap): catch SIGPIPE, for write errors.
2832         Exit at the end of the trap, with the correct exit status.
2833
2834 2006-09-19  Karl Berry  <karl@gnu.org>
2835
2836         * doc/gnulib.texi: note about the license texinfo files.
2837
2838 2006-09-19  Eric Blake  <ebb9@byu.net>
2839
2840         * gnulib-tool: Avoid space-tab.
2841
2842 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
2843
2844         * lib/getaddrinfo.c (getaddrinfo) [defined HAVE_IPV6]: Fix typo
2845         that prevented coreutils 6.1 from building.  Problem reported
2846         by Petter Reinholdtsen.
2847
2848 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
2849
2850         * gnulib-tool (avoidlist): Fix typo that broke options like
2851         --avoid=lock that are used by coreutils bootstrap.
2852
2853 2006-09-18  Mark D. Baushke  <mdb@gnu.org>
2854
2855         * m4/inttypes.m4 (gl_INTTYPES_H): Quote "test" args
2856         more systematically.
2857
2858 2006-09-18  Jim Meyering  <jim@meyering.net>
2859
2860         * lib/savewd.c (savewd_restore): Don't shadow: s/status/child_status/.
2861
2862 2006-09-18  Bruno Haible  <bruno@clisp.org>
2863
2864         * modules/inttypes (Files): Remove m4/inttypes-h.m4.
2865
2866 2006-09-18  Bruno Haible  <bruno@clisp.org>
2867
2868         * m4/inttypes-h.m4 (gl_HEADER_INTTYPES_H): Remove macro.
2869         * m4/inttypes-pri.m4: Require autoconf >= 2.52.
2870         (gt_INTTYPES_PRI): Invoke AC_CHECK_HEADERS on inttypes.h. Test
2871         ac_cv_header_inttypes_h instead of gl_cv_header_inttypes_h.
2872         * m4/gettext.m4: Require autoconf >= 2.52.
2873         (gt_INTL_SUBDIR_CORE): Invoke AC_CHECK_HEADERS on inttypes.h.
2874         * m4/inttypes.m4 (gl_INTTYPES_H): Test ac_cv_header_inttypes_h instead
2875         of gl_cv_header_inttypes_h.
2876
2877 2006-09-18  Bruno Haible  <bruno@clisp.org>
2878
2879         * lib/javaversion.c: Include configmake.h.
2880
2881 2006-09-18  Bruno Haible  <bruno@clisp.org>
2882
2883         * gnulib-tool (func_import, func_create_testdir): Use exec tricks to
2884         avoid that the while loops be executed in a subshell.
2885
2886 2006-09-18  Bruno Haible  <bruno@clisp.org>
2887
2888         * MODULES.html.sh (func_module): Break long lines.
2889         Suggested by Bruce Korb <bkorb@gnu.org>.
2890
2891 2006-09-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
2892
2893         Speed up by a factor of 1.12.
2894         * gnulib-tool (nl): New variable.
2895         (func_import): Rewrite include directive extraction to only read each
2896         directive once.
2897
2898 2006-09-17  Bruno Haible  <bruno@clisp.org>
2899
2900         * modules/javaversion (Makefile.am): Remove DEFS setting.
2901         (Depends-on): Add configmake, for PKGDATADIR definition.
2902
2903 2006-09-17  Bruno Haible  <bruno@clisp.org>
2904
2905         * gnulib-tool (func_create_testdir): Rewrite all files at once.
2906
2907 2006-09-17  Bruno Haible  <bruno@clisp.org>
2908
2909         * gnulib-tool (func_append): New function, stolen from libtool.m4.
2910         (func_modules_transitive_closure, func_modules_add_dummy,
2911         func_modules_to_filelist, func_import, func_create_testdir,
2912         func_create_megatestdir, ...): Use it wherever possible.
2913         Suggested by Ralf Wildenhues.
2914
2915 2006-09-16  Karl Berry  <karl@gnu.org>
2916
2917         * doc/fdl.texi (ADDENDUM): switch to @heading from @appendixsubsec,
2918         to avoid sectioning errors.
2919         * doc/lgpl.texi, gpl.texi (Copying): downcase @unnumbered title.
2920         [ifinfo]: blank line after @center-ed titles.
2921         * doc/lgpl.texi (Library Copying): Rename main node to GNU LGPL.
2922         Spell FSF address consistently with others.
2923         (These changes approved by rms.)
2924
2925 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
2926
2927         Speed up by a factor of 1.61.
2928         * gnulib-tool (func_modules_transitive_closure): Rewrite to not check
2929         already checked module names again.
2930
2931 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
2932
2933         Speed up by a factor of 1.13.
2934         * gnulib-tool (func_import): Rewrite all old_files at once; likewise
2935         for new_files, and the input to func_add_or_update.
2936
2937 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
2938
2939         * gnulib-tool (func_all_modules, func_modules_to_filelist, func_import,
2940         func_create_testdir, ...): Change 'sort | uniq' to 'sort -u'.
2941
2942 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
2943
2944         * modules/mkancesdirs (Depends-on): Add fcntl.
2945         * modules/savewd: New file.
2946         * MODULES.html.sh (File system functions): Add savewd.
2947
2948         * modules/configmake (Makefile.am): Add support for the
2949         Automake-supplied PKGLIBDIR, PKGINCLUDEDIR, PKGDATADIR.
2950
2951 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
2952
2953         * m4/savewd.m4: New file.
2954
2955 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
2956
2957         * lib/dirchownmod.c: Don't include fcntl.h; no longer needed.
2958         (dirchownmod): New arg FD.  All callers changed.
2959         Use FD rather than opening the directory ourself, as opening is
2960         now the caller's responsibility.
2961         * lib/dirchownmod.h: Likewise.
2962         * lib/mkancesdirs.c: Include <sys/types.h>, for portability to older
2963         hosts that require <sys/types.h> before <sys/stat.h>.  Include
2964         fcntl.h, savewd.h, and unistd.h, not dirname.h and stat-macros.h.
2965         (test_dir): Remove.
2966         (mkancesdirs): Return length of prefix of FILE that has already
2967         been made, or -2 if there is a child doing the work.  Redo
2968         algorithm so that it is O(N) rather than O(N**2).  Optimize away
2969         ".", and treat ".." specially since it might stray back into
2970         already-created areas.  Use a subprocess if necessary.  New arg
2971         WD; all users changed.  MAKE_DIR function should now return 1
2972         if it creates a directory that is not readable.  Return -2 if
2973         a child process is spun off.
2974         * lib/mkancesdirs.h: Include <stddef.h>, for ptrdiff_t.
2975         Adjust signature to match code.
2976         * lib/mkdir-p.c: Include dirname.h, for IS_ABSOLUTE_FILE_NAME.
2977         (make_dir_parents): Use a subprocess if necessary.  New arg WD;
2978         all users changed.
2979         * lib/savewd.c, lib/savewd.h: New files.
2980
2981 2006-09-15  Jim Meyering  <jim@meyering.net>
2982
2983         * modules/rename-dest-slash: New module.
2984         * MODULES.html.sh (posix_compat): Add it here.
2985
2986         * modules/rename: Reflect vb_FUNC_RENAME -> gl_FUNC_RENAME change.
2987
2988 2006-09-15  Jim Meyering  <jim@meyering.net>
2989
2990         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH): New
2991         file.
2992
2993         * m4/rename.m4 (gl_FUNC_RENAME): Rename from vb_FUNC_RENAME.
2994
2995 2006-09-15  Jim Meyering  <jim@meyering.net>
2996
2997         * lib/rename-dest-slash.c (has_trailing_slash): Use
2998         FILE_SYSTEM_PREFIX_LEN, for non-POSIX systems.
2999         (rpl_rename_dest_slash): Perform the cheaper trailing slash
3000         test before testing whether SRC is a directory.
3001         Suggestions from Bruno Haible.
3002
3003         Avoid a warning about an unused variable.
3004         * lib/regex_internal.c (re_dfa_add_node): Move declaration of "type"
3005         into the #ifdef block where it's used.
3006
3007         * lib/rename-dest-slash.c: New file.
3008
3009 2006-09-14  Bruno Haible  <bruno@clisp.org>
3010
3011         * lib/allocsa.c: Include <config.h> unconditionally.
3012         * lib/asnprintf.c: Likewise.
3013         * lib/asprintf.c: Likewise.
3014         * lib/c-strcasecmp.c: Likewise.
3015         * lib/c-strcasestr.c: Likewise.
3016         * lib/c-strncasecmp.c: Likewise.
3017         * lib/c-strstr.c: Likewise.
3018         * lib/classpath.c: Likewise.
3019         * lib/clean-temp.c: Likewise.
3020         * lib/concatpath.c: Likewise.
3021         * lib/copy-file.c: Likewise.
3022         * lib/csharpcomp.c: Likewise.
3023         * lib/csharpexec.c: Likewise.
3024         * lib/execute.c: Likewise.
3025         * lib/fatal-signal.c: Likewise.
3026         * lib/findprog.c: Likewise.
3027         * lib/fwriteerror.c: Likewise.
3028         * lib/gl_array_list.c: Likewise.
3029         * lib/gl_array_oset.c: Likewise.
3030         * lib/gl_avltree_list.c: Likewise.
3031         * lib/gl_avltree_oset.c: Likewise.
3032         * lib/gl_avltreehash_list.c: Likewise.
3033         * lib/gl_carray_list.c: Likewise.
3034         * lib/gl_linked_list.c: Likewise.
3035         * lib/gl_linkedhash_list.c: Likewise.
3036         * lib/gl_list.c: Likewise.
3037         * lib/gl_oset.c: Likewise.
3038         * lib/gl_rbtree_list.c: Likewise.
3039         * lib/gl_rbtree_oset.c: Likewise.
3040         * lib/gl_rbtreehash_list.c: Likewise.
3041         * lib/imaxabs.c: Likewise.
3042         * lib/imaxdiv.c: Likewise.
3043         * lib/javacomp.c: Likewise.
3044         * lib/javaexec.c: Likewise.
3045         * lib/javaversion.c: Likewise.
3046         * lib/linebreak.c: Likewise.
3047         * lib/localcharset.c: Likewise.
3048         * lib/lock.c: Likewise.
3049         * lib/mbchar.c: Likewise.
3050         * lib/mbswidth.c: Likewise.
3051         * lib/mkdtemp.c: Likewise.
3052         * lib/pipe.c: Likewise.
3053         * lib/printf-args.c: Likewise.
3054         * lib/printf-parse.c: Likewise.
3055         * lib/progname.c: Likewise.
3056         * lib/progreloc.c: Likewise.
3057         * lib/readlink.c: Likewise.
3058         * lib/sh-quote.c: Likewise.
3059         * lib/stpcpy.c: Likewise.
3060         * lib/stpncpy.c: Likewise.
3061         * lib/strcasecmp.c: Likewise.
3062         * lib/strcasestr.c: Likewise.
3063         * lib/strcspn.c: Likewise.
3064         * lib/striconv.c: Likewise.
3065         * lib/strncasecmp.c: Likewise.
3066         * lib/strnlen1.c: Likewise.
3067         * lib/strstr.c: Likewise.
3068         * lib/strtok_r.c: Likewise.
3069         * lib/tls.c: Likewise.
3070         * lib/tmpdir.c: Likewise.
3071         * lib/unicodeio.c: Likewise.
3072         * lib/unsetenv.c: Likewise.
3073         * lib/vasnprintf.c: Likewise.
3074         * lib/vasprintf.c: Likewise.
3075         * lib/wait-process.c: Likewise.
3076         * lib/xallocsa.c: Likewise.
3077         * lib/xsetenv.c: Likewise.
3078         * lib/xstriconv.c: Likewise.
3079
3080 2006-09-13  Simon Josefsson  <jas@extundo.com>
3081
3082         * m4/getdate.m4: Don't AC_LIBOBJ([getdate]), automake takes care of
3083         that internally, suggested by Ralf Wildenhues
3084         <Ralf.Wildenhues@gmx.de>.
3085
3086 2006-09-13  Simon Josefsson  <jas@extundo.com>
3087
3088         * gnulib-tool (func_emit_lib_Makefile_am): Use $(LIBOBJS), not
3089         @LIBOBJS@.
3090         Suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
3091
3092 2006-09-13  Paul Eggert  <eggert@cs.ucla.edu>
3093
3094         * lib/_fpending.c: Include <config.h> unconditionally, since we no
3095         longer worry about uses that don't define HAVE_CONFIG_H.
3096         * lib/acl.c, lib/alloca.c, lib/argmatch.c, lib/atexit.c:
3097         * lib/backupfile.c, lib/basename.c, lib/c-stack.c, lib/c-strtod.c:
3098         * lib/calloc.c,lib/ canon-host.c, lib/canonicalize.c, lib/chdir-long.c:
3099         * lib/chdir-safer.c, lib/chown.c, lib/cloexec.c, lib/close-stream.c:
3100         * lib/closeout.c, lib/creat-safer.c, lib/cycle-check.c, lib/diacrit.c:
3101         * lib/dirchownmod.c, lib/dirfd.c, lib/dirname.c, lib/dup-safer.c:
3102         * lib/dup2.c, lib/error.c, lib/euidaccess.c, lib/exclude.c:
3103         * lib/exitfail.c, lib/fchmodat.c, lib/fchown-stub.c, lib/fd-safer.c:
3104         * lib/file-type.c, lib/fileblocks.c, lib/filemode.c, lib/filenamecat.c:
3105         * lib/fnmatch.c, lib/fopen-safer.c, lib/fprintftime.c, lib/free.c:
3106         * lib/fsusage.c, lib/ftruncate.c, lib/fts-cycle.c, lib/fts.c:
3107         * lib/full-write.c, lib/gai_strerror.c, lib/getcwd.c, lib/getdate.y:
3108         * lib/getdomainname.c, lib/getgroups.c, lib/gethostname.c:
3109         * lib/gethrxtime.c, lib/getloadavg.c, lib/getlogin_r.c:
3110         * lib/getndelim2.c, lib/getnline.c, lib/getopt.c, lib/getopt1.c:
3111         * lib/getpass.c, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c:
3112         * lib/getusershell.c, lib/glob.c, lib/group-member.c:
3113         * lib/hard-locale.c, lib/hash-pjw.c, lib/hash.c, lib/human.c:
3114         * lib/idcache.c, lib/inet_ntop.c, lib/inet_pton.c, lib/inttostr.c:
3115         * lib/isdir.c, lib/lchown.c, lib/linebuffer.c, lib/long-options.c:
3116         * lib/lstat.c, lib/malloc.c, lib/md5.c, lib/memcasecmp.c, lib/memchr.c:
3117         * lib/memcmp.c, lib/memcoll.c, lib/memcpy.c, lib/memmove.c:
3118         * lib/memrchr.c, lib/mkancesdirs.c, lib/mkdir-p.c, lib/mkdir.c:
3119         * lib/mkdirat.c, lib/mkstemp-safer.c, lib/mkstemp.c, lib/modechange.c:
3120         * lib/mountlist.c, lib/nanosleep.c, lib/obstack.c, lib/open-safer.c:
3121         * lib/openat-die.c, lib/openat.c, lib/pagealign_alloc.c, lib/physmem.c:
3122         * lib/pipe-safer.c, lib/posixtm.c, lib/posixver.c, lib/putenv.c:
3123         * lib/quote.c, lib/quotearg.c, lib/raise.c, lib/readtokens.c:
3124         * lib/readtokens0.c, lib/readutmp.c, lib/realloc.c, lib/regex.c:
3125         * lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c:
3126         * lib/same.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c:
3127         * lib/settime.c, lib/sha1.c, lib/sig2str.c, lib/snprintf.c:
3128         * lib/strdup.c, lib/strerror.c, lib/strftime.c, lib/stripslash.c:
3129         * lib/strndup.c, lib/strnlen.c, lib/strpbrk.c, lib/strtod.c:
3130         * lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c:
3131         * lib/time_r.c, lib/timegm.c, lib/tmpfile-safer.c, lib/unlinkdir.c:
3132         * lib/userspec.c, lib/utime.c, lib/utimecmp.c, lib/utimens.c:
3133         * lib/version-etc-fsf.c, lib/version-etc.c, lib/xalloc-die.c:
3134         * lib/xgetcwd.c, lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c:
3135         * lib/xnanosleep.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtoimax.c:
3136         * lib/xstrtol.c, lib/xstrtoumax.c, lib/yesno.c:
3137         Likewise.
3138
3139 2006-09-13  Eric Blake  <ebb9@byu.net>
3140
3141         * lib/getopt.c: Fix typo in last commit.
3142
3143 2006-09-12  Sergey Poznyakoff  <gray@gnu.org.ua>
3144
3145         * lib/argp-help.c (argp_doc): Make sure NULL is not passed to
3146         dgettext.
3147
3148 2006-09-12  Jim Meyering  <jim@meyering.net>
3149
3150         * lib/nanosleep.c: Include <sys/types.h> before sys/select.h, to avoid
3151         compilation failure (due to use of pid_t in latter) on NetBSD 1.6.
3152         Reported by Nelson H. F. Beebe.
3153
3154 2006-09-10  Sergey Poznyakoff  <gray@gnu.org.ua>
3155
3156         * lib/argp-parse.c (__argp_parse) [!_LIBC]: Make sure
3157         program_invocation_name and program_invocation_short_name are
3158         initialized.
3159         * lib/argp-namefrob.h: Move declarations of program_invocation_name
3160         and program_invocation_short_name to argp.h, so they are visible
3161         to user programs.
3162         * lib/argp.h: Likewise
3163
3164 2006-09-10  Bruno Haible  <bruno@clisp.org>
3165
3166         * modules/mkdtemp (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
3167         m4/inttypes_h.m4, m4/uintmax_t.m4.
3168
3169 2006-09-10  Bruno Haible  <bruno@clisp.org>
3170
3171         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Don't require
3172         gl_AC_TYPE_UINTMAX_T.
3173
3174 2006-09-10  Bruno Haible  <bruno@clisp.org>
3175
3176         * lib/mkdtemp.c: Include <stdint.h> always. Don't include <inttypes.h>.
3177
3178 2006-09-09  Sergey Poznyakoff  <gray@gnu.org.ua>
3179
3180         * lib/argp.h (struct argp): Document the N_("..") "\v" N_("..")
3181         convention.  Text proposed by Bruno Haible.
3182         (struct argp_option): Document the use of N_() wrappers.
3183
3184         * lib/argp-help.c (argp_doc): Split the untranslated doc string on
3185         '\v', and translate the two parts separately, instead of feeding
3186         the whole string to gettext.  This allows to exclude
3187         '\v' from the strings visible to the translator by writing doc
3188         strings as N_("..") "\v" N_("..").
3189
3190 2006-09-09  Paul Eggert  <eggert@cs.ucla.edu>
3191
3192         * config/srclist.txt: Undo latest change; the bug was fixed.
3193
3194 2006-09-09  Bruno Haible  <bruno@clisp.org>
3195
3196         * gnulib-tool (func_emit_lib_Makefile_am): Eliminate lib_LDFLAGS
3197         assignments if building a library without libtool.
3198         (func_emit_tests_Makefile_am): Likewise. Handle lib_* variables as
3199         in func_emit_lib_Makefile_am.
3200         (func_import): When building a static library libfoo.a, arrange to
3201         define variables LIBFOO_LIBDEPS and LIBFOO_LTLIBDEPS.
3202         (func_create_testdir): Likewise.
3203         * modules/gc (configure.ac, Makefile.am): If building statically,
3204         augment gl_libdeps and gl_ltlibdeps instead of lib_LDFLAGS.
3205         * modules/iconvme (configure.ac, Makefile.am): Likewise.
3206         * modules/striconv (configure.ac, Makefile.am): Likewise.
3207         Based on a suggestion by Ralf Wildenhues.
3208
3209 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
3210
3211         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
3212         Check for unistd.h too, since Autoconf doesn't assume POSIX.
3213         Also:
3214
3215         2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
3216         Add year_2050_test to catch glibc bug 2821
3217         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
3218
3219         2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
3220         Prefer #ifdef to #if.
3221
3222         2006-04-02  Paul Eggert  <eggert@cs.ucla.edu>
3223         Return from 'main' instead of calling 'exit'.
3224
3225 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
3226
3227         * lib/mktime.c (guess_time_tm): Fix bug where mktime
3228         returned the maximum time_t value rather than (time_t) -1.
3229         Problem originally reported by William Bardwell
3230         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
3231
3232         * lib/isapipe.h (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
3233         Moved to here ...
3234         * lib/isapipe.c (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
3235         ... from here.
3236
3237 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
3238
3239         * config/srclist.txt: Temporarily comment out mktime.c until glibc bug
3240         2821 is fixed.
3241
3242 2006-09-08  Jim Meyering  <jim@meyering.net>
3243
3244         Don't make generated files read-only.  That would bother too many
3245         people.  However, do retain the ability to work when targets are
3246         read-only: remove the destination and temporary files before writing
3247         them (when generated via sed or echo), or by using the -f option for
3248         both cp and mv commands.  Suggestion to use -f from Paul Eggert.
3249         * modules/alloca-opt, modules/argz, modules/arpa_inet:
3250         * modules/byteswap, modules/configmake, modules/fcntl:
3251         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
3252         * modules/localcharset, modules/netinet_in, modules/poll:
3253         * modules/stdbool, modules/stdint, modules/sys_select:
3254         * modules/sys_socket, modules/sys_stat, modules/sysexits:
3255
3256 2006-09-08  Jim Meyering  <jim@meyering.net>
3257
3258         Avoid new build failure on FreeBSD 6.0.
3259         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Include
3260         <sys/param.h> when testing whether getmntinfo uses statvfs.  Patch by
3261         Pavel Tsekov, in <http://savannah.gnu.org/bugs/?17643>.
3262
3263 2006-09-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
3264
3265         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't use plain echo.
3266
3267 2006-09-07  Jim Meyering  <jim@meyering.net>
3268
3269         Fix global typo in last change: use chmod u-w, not chmod u-x.
3270         Spotted by Paul Eggert and Bruce Korb.
3271         * modules/alloca-opt, modules/argz, modules/arpa_inet:
3272         * modules/byteswap, modules/configmake, modules/fcntl:
3273         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
3274         * modules/localcharset, modules/netinet_in, modules/poll:
3275         * modules/stdbool, modules/stdint, modules/sys_select:
3276         * modules/sys_socket, modules/sys_stat, modules/sysexits:
3277
3278 2006-09-06  Jim Meyering  <jim@meyering.net>
3279
3280         Make generated files be read-only.
3281         * modules/alloca-opt (Makefile.am): Work also when $@ is read-only.
3282         Ensure that each generated file is now read-only.
3283         * modules/argz: Likewise.
3284         * modules/arpa_inet: Likewise.
3285         * modules/byteswap: Likewise.
3286         * modules/configmake: Likewise.
3287         * modules/fcntl: Likewise.
3288         * modules/fnmatch: Likewise.
3289         * modules/getopt: Likewise.
3290         * modules/glob: Likewise.
3291         * modules/inttypes: Likewise.
3292         * modules/netinet_in: Likewise.
3293         * modules/poll: Likewise.
3294         * modules/stdbool: Likewise.
3295         * modules/stdint: Likewise.
3296         * modules/sys_select: Likewise.
3297         * modules/sys_socket: Likewise.
3298         * modules/sys_stat: Likewise.
3299         * modules/sysexits: Likewise.
3300         * modules/localcharset: Same as above, but continue using temporary
3301         file named "t-$@" (why different?) rather than the "$@-t" used
3302         everywhere else.
3303
3304         * modules/sysexits (Makefile.am): Replace literal occurrences
3305         of "sysexit.h" more readable, and more consistent, "$@".
3306
3307 2006-09-06  Bruno Haible  <bruno@clisp.org>
3308
3309         * modules/striconv: New file.
3310         * modules/xstriconv: New file.
3311         * MODULES.html.sh (Internationalization functions): Add striconv,
3312         xstriconv.
3313
3314 2006-09-06  Bruno Haible  <bruno@clisp.org>
3315
3316         * modules/gc (Makefile.am): Augment lib_LDFLAGS, not lib_LIBADD.
3317         * modules/iconvme (Makefile.am): Likewise. Also handle the case of
3318         not using libtool correctly.
3319
3320 2006-09-06  Bruno Haible  <bruno@clisp.org>
3321
3322         * lib/striconv.h: New file.
3323         * lib/striconv.c: New file, merging iconvme.c with GNU gettext's
3324         iconvstring.c.
3325         * lib/xstriconv.h: New file.
3326         * lib/xstriconv.c: New file.
3327
3328 2006-09-06  Bruno Haible  <bruno@clisp.org>
3329
3330         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
3331         lib_..._LDFLAGS.
3332
3333 2006-09-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
3334
3335         * lib/argz_.h: Sync from Libtool.
3336
3337         2006-09-04  George Bosilca <bosilca@cs.utk.edu>
3338                 and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
3339
3340         * lib/libltdl/argz_.h: It's __cplusplus, not _cplusplus.
3341
3342 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
3343
3344         * modules/trim: New file.
3345
3346 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
3347
3348         * lib/trim.h: New file.
3349         * lib/trim.c: New file.
3350
3351 2006-09-05  Bruno Haible  <bruno@clisp.org>
3352
3353         * MODULES.html.sh (String handling): Add trim.
3354
3355 2006-09-04  Karl Berry  <karl@gnu.org>
3356
3357         * config/srclist.txt (signed.m4, gettext.m4): changes not propagated
3358         until next release.
3359
3360 2006-09-03  Bruno Haible  <bruno@clisp.org>
3361
3362         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Locate mingw shared libraries
3363         correctly.
3364
3365 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
3366
3367         * m4/getloadavg.m4 (gl_GETLOADAVG): Use CONFIGURING_GETLOADAVG,
3368         not gl_GETLOADAVG.  Omit unneeded semicolons.
3369         Problems reported by Ralf Wildenhues in
3370         <http://lists.gnu.org/archive/html/bug-gnulib/2006-09/msg00000.html>.
3371         (gl_PREREQ_GETLOADAVG): Use AC_DEFUN, not m4_define.  Put
3372         at the end, which is the usual gnulib style.
3373
3374         * m4/fstypename.m4 (gl_FSTYPENAME): Use AC_CHECK_MEMBERS instead
3375         of doing all the work ourselves.
3376         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Don't check for
3377         sys/statvfs.h since the code doesn't use HAVE_SYS_STATVFS_H.
3378
3379 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
3380
3381         * lib/getloadavg.c: Use CONFIGURING_GETLOADAVG, not gl_GETLOADAVG.
3382         Problem reported by Ralf Wildenhues in
3383         <http://lists.gnu.org/archive/html/bug-gnulib/2006-09/msg00000.html>.
3384
3385         * lib/mountlist.c: All uses of HAVE_F_FSTYPENAME_IN_STATFS replaced by
3386         HAVE_STRUCT_STATFS_F_FSTYPENAME.
3387
3388 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
3389
3390         * gnulib-tool (func_emit_lib_Makefile_am): Fix typos in
3391         yesterday's patch by changing test -n to test -z.
3392
3393 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
3394
3395         * modules/getloadavg (Files): Add m4/getloadavg.m4.
3396         (configure.ac): AC_FUNC_GETLOADAVG -> gl_GETLOADAVG, as
3397         the former is now obsolescent.
3398
3399         * modules/chdir-long (Depends-on): Add fcntl.
3400
3401 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
3402
3403         * m4/fnmatch.m4: Add comment that Autoconf AC_FUNC_FNMATCH is
3404         obsolescent, and programs should use gnulib instead.
3405         * m4/getloadavg.m4: New file, with contents taken from Autoconf
3406         but with prefixes changed.
3407
3408 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
3409
3410         * lib/getloadavg.c [defined gl_GETLOADAVG]: Don't include config.h
3411         or stdbool.h, because they might not exist while configuring.
3412
3413         * lib/chdir-long.c: Include <fcntl.h>, for O_DIRECTORY.
3414         Don't include unistd.h or limits.h; not needed, since chdir-long.h
3415         does that for us.
3416         (O_DIRECTORY): Remove.
3417
3418 2006-08-31  Eric Blake  <ebb9@byu.net>
3419
3420         * gnulib-tool: Don't let emacs change spaces to TAB.
3421
3422 2006-08-31  Bruno Haible  <bruno@clisp.org>
3423
3424         * gnulib-tool: When calling func_import more than once, do it in a
3425         subshell.
3426         Reported by Eric Blake <ebb9@byu.net>.
3427
3428 2006-08-31  Bruno Haible  <bruno@clisp.org>
3429
3430         * gnulib-tool (nl): Remove variable.
3431         (sed_transform_lib_file): Use more robust test for config-h module.
3432         (func_import): Fix typo in 2006-08-25 patch.
3433
3434 2006-08-31  Bruno Haible  <bruno@clisp.org>
3435
3436         * gnulib-tool (func_emit_lib_Makefile_am): When --makefile-name was
3437         specified, augment Makefile.am variables instead of assigning them.
3438
3439 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
3440
3441         Work around a bug in both the Linux and SunOS 64-bit kernels:
3442         nanosleep mishandles sleeps for longer than 2**31 seconds.
3443         Problem reported by Frank v Waveren in
3444         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00298.html>.
3445         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require gl_CLOCK_TIME.
3446         Check for nanosleep bug.
3447         (LIB_NANOSLEEP): Append clock_gettime library if needed.
3448
3449 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
3450
3451         Work around a bug in both the Linux and SunOS 64-bit kernels:
3452         nanosleep mishandles sleeps for longer than 2**31 seconds.
3453         Problem reported by Frank v Waveren in
3454         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00298.html>.
3455         * lib/nanosleep.c (BILLION): New constant.
3456         (getnow) [HAVE_BUG_BIG_NANOSLEEP]: New functions.
3457         (rpl_nanosleep) [HAVE_BUG_BIG_NANOSLEEP]: Completely new
3458         implementation.
3459
3460 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
3461
3462         * modules/nanosleep (Depends-on): Add gettime.
3463
3464 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
3465         and Simon Josefsson  <jas@extundo.com>
3466         and Oskar Liljeblad  <oskar@osk.mine.nu>
3467
3468         * MODULES.html.sh (Support for building documentation): Add gpl, lgpl.
3469         * gnulib-tool (func_import): New license type 'unmodifiable license
3470         text'.
3471         * modules/fdl: Use it.  Longer description.
3472         * module/gpl, module/lgpl: New files.
3473
3474 2006-08-30  Jim Meyering  <jim@meyering.net>
3475
3476         * lib/isapipe.c (isapipe): Rename local s/fd/fd_pair/ to avoid
3477         shadowing the parameter.
3478
3479 2006-08-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
3480
3481         Sync from Libtool:
3482
3483         2006-08-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
3484
3485         * lib/libltdl/argz.c: Use `#ifdef HAVE_CONFIG_H', to facilitate code
3486         sharing with gnulib.  Report by Eric Blake.
3487
3488 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
3489
3490         * modules/isapipe: New file.
3491         * MODULES.html.sh (File descriptor based Input/Output): Add isapipe.
3492
3493 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
3494
3495         * modules/configmake (Makefile.am): Add a comment, and omit
3496         the CONFIGMAKE_ prefix from generated macro names.  Suggested
3497         by Bruno Haible.
3498
3499 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
3500
3501         * m4/isapipe.m4: New file.
3502
3503 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
3504
3505         * lib/isapipe.c, lib/isapipe.h: New files.
3506
3507 2006-08-29  Jim Meyering  <jim@meyering.net>
3508
3509         * modules/configmake (Makefile.am): Make configmake.h depend on
3510         Makefile.  Otherwise, a stale configmake.h could hang around.
3511
3512 2006-08-29  Eric Blake  <ebb9@byu.net>
3513
3514         * lib/error.c (error_at_line, print_errno_message): Match libc, after
3515         resolution of upstream bug 3044.
3516
3517 2006-08-29  Bruno Haible  <bruno@clisp.org>
3518
3519         * modules/localcharset (Depends-on): Add configmake.
3520         (Makefile.am): Remove setting of LIBDIR through DEFS.
3521
3522 2006-08-29  Bruno Haible  <bruno@clisp.org>
3523
3524         * lib/localcharset.c: Include configmake.h in order to get LIBDIR
3525         defined.
3526
3527 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
3528
3529         * modules/fcntl: New file.
3530         * modules/chdir-safer (Depends-on): Add fcntl.
3531         * modules/fts: Likewise.
3532         * modules/mkdir-p: Likewise.
3533
3534         * modules/stdint (Makefile.am): Do not substitute ABSOLUTE_INTTYPES_H.
3535         This undoes the most recent change, since we're now addressing the
3536         problem in a different way.
3537
3538         * gnulib-tool (emit_lib_Makefile_am): Don't put $makefile_name
3539         into output, since the output might be called Makefile.am even
3540         if $makefile_name is something different.
3541         (func_import): Use $makefile_am rather than
3542         ${makefile_name-Makefile.am}, to fix a bug where makefile_name was
3543         empty.
3544
3545         * modules/inttypes (Files): Add m4/inttypes-h.m4.
3546
3547 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
3548
3549         * m4/inttypes.m4 (gl_INTTYPES_H): Move ABSOLUTE_INTTYPES_H code here...
3550         * m4/stdint.m4 (gl_STDINT_H): ... from here.  This undoes the most
3551         recent change to stdint.m4, since we're now addressing the problem in a
3552         different way.
3553
3554 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
3555
3556         * m4/fcntl_h.m4: New file.
3557
3558 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
3559
3560         * lib/fcntl_.h: New file.
3561         * lib/chdir-safer.c (O_DIRECTORY, O_NOFOLLOW): Remove, now that we have
3562         the fcntl module.
3563         * lib/dirchownmod.c: Likewise.
3564         * lib/fts.c: Likewise.
3565
3566         * lib/inttypes_.h [defined _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H]:
3567         Include @ABSOLUTE_INTTYPES_H@ if available, but do nothing else.
3568         * lib/stdint_.h (_GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H): Define
3569         just before including <inttypes.h>, to avoid circular inclusion.
3570
3571 2006-08-28  Jim Meyering  <jim@meyering.net>
3572
3573         * doc/visibility.texi: Actually read and correct the grammar of the
3574         sentence affected by yesterday's change.
3575
3576 2006-08-28  Eric Blake  <ebb9@byu.net>
3577
3578         * modules/inttypes (Makefile.am): Fix sed error when inttypes.h
3579         needs wrapper.
3580
3581 2006-08-28  Eric Blake  <ebb9@byu.net>
3582
3583         * m4/inttypes.m4 (gl_INTTYPES_H): Fix missing #endif.
3584
3585 2006-08-28  Eric Blake  <ebb9@byu.net>
3586
3587         * m4/codeset.m4 (AM_LANGINFO_CODESET): Avoid compiler warning.
3588
3589 2006-08-28  Bruno Haible  <bruno@clisp.org>
3590
3591         * modules/c-strstr: New file, from GNU gettext.
3592         * MODULES.html.sh (String handling): Add c-strstr.
3593
3594 2006-08-28  Bruno Haible  <bruno@clisp.org>
3595
3596         * m4/inttypes.m4 (gl_INTTYPES_H): Don't test for the existence of SCNX*
3597         macros.
3598         Reported by Eric Blake.
3599
3600 2006-08-28  Bruno Haible  <bruno@clisp.org>
3601
3602         * lib/vasnprintf.c (EOVERFLOW): Remove definition.
3603         (VASNPRINTF): Return a string of length > INT_MAX without failing.
3604         * lib/vasprintf.c: Include errno.h, limits.h.
3605         (EOVERFLOW): New fallback definition.
3606         (vasprintf): Test here whether the string length is > INT_MAX.
3607         * lib/vsnprintf.c: Include errno.h, limits.h.
3608         (EOVERFLOW): New fallback definition.
3609         (vsnprintf): Fix bug when generated string was too long for the buffer.
3610         Test here whether the string length is > INT_MAX.
3611
3612 2006-08-28  Bruno Haible  <bruno@clisp.org>
3613
3614         * lib/inttypes_.h (SCNX*): Remove definitions.
3615         Reported by Eric Blake.
3616
3617 2006-08-28  Bruno Haible  <bruno@clisp.org>
3618
3619         * lib/c-strstr.h: New file, from GNU gettext.
3620         * lib/c-strstr.c: New file, from GNU gettext.
3621
3622 2006-08-28  Bruno Haible  <bruno@clisp.org>
3623
3624         * gnulib-tool: Reorder some statements.
3625
3626 2006-08-28  Bruno Haible  <bruno@clisp.org>
3627
3628         * gnulib-tool: New option --makefile-name.
3629         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Use
3630         $makefile_name.
3631         (func_import): Write $makefile_name to the cache file, and read it from
3632         there unless explicitly specified. Use $makefile_name as file name
3633         instead of Makefile.am. Adjust the recommendations accordingly.
3634
3635 2006-08-28  Bruno Haible  <bruno@clisp.org>
3636
3637         * gnulib-tool (func_verify_module): Check against misapplying patch.
3638
3639 2006-08-28  Bruno Haible  <bruno@clisp.org>
3640
3641         * gnulib-tool (func_relativize, func_relconcat): New functions.
3642         Give an error if --local-dir is given with --update.
3643         Remove trailing slashes from $local_gnulib_dir.
3644         (func_import): Store the relativized $local_gnulib_dir in
3645         gnulib-cache.m4, and read it from there if not specified explicitly.
3646
3647 2006-08-28  Bruno Haible  <bruno@clisp.org>
3648
3649         * gnulib-tool (func_get_tests_module): Don't assume that $gnulib_dir
3650         is the current directory. Respect also $local_gnulib_dir.
3651
3652 2006-08-28  Bruno Haible  <bruno@clisp.org>
3653             Simon Josefsson  <jas@extundo.com>
3654
3655         BeOS portability.
3656         * lib/getaddrinfo.c (PF_INET, PF_UNSPEC): New macros.
3657
3658 2006-08-27  Jim Meyering  <jim@meyering.net>
3659
3660         * doc/visibility.texi: Remove duplicate word: "pointer".
3661
3662 2006-08-26  Bruno Haible  <bruno@clisp.org>
3663
3664         * modules/inttypes (Files): Add lib/inttypes_.h, remove lib/inttypes.h.
3665         Add m4/inttypes.m4, remove m4/_inttypes_h.m4 and m4/include_next.m4.
3666         (Makefile.am): Create inttypes.h from inttypes_.h.
3667         * modules/stdint (Makefile.am): Substitute also ABSOLUTE_INTTYPES_H.
3668
3669         * modules/imaxabs: New file.
3670
3671         * modules/imaxdiv: New file.
3672
3673 2006-08-26  Bruno Haible  <bruno@clisp.org>
3674
3675         * m4/inttypes.m4: New file.
3676         * m4/_inttypes_h.m4: Remove file.
3677         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Also AC_SUBST
3678         PRI_MACROS_BROKEN.
3679         * m4/stdint.m4 (gl_STDINT_H): Define also ABSOLUTE_INTTYPES_H.
3680
3681         * m4/imaxabs.m4: New file.
3682
3683         * m4/imaxdiv.m4: New file.
3684
3685 2006-08-26  Bruno Haible  <bruno@clisp.org>
3686
3687         * lib/inttypes_.h: New file.
3688         * lib/inttypes.h: Remove file.
3689         * lib/stdint_.h: Include <inttypes.h> through its absolute filename.
3690
3691         * lib/imaxabs.c: New file.
3692
3693         * lib/imaxdiv.c: New file.
3694
3695 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
3696
3697         New config-h module, so that "make" output needn't be cluttered
3698         by -DHAVE_CONFIG_H.
3699         * MODULES.html.sh (Support for building libraries and executables):
3700         Add config-h.
3701         * modules/config-h: New file.
3702         * gnulib-tool (nl, sed_transform_lib_file): New vars.
3703         (func_import): Turn "#ifdef HAVE_CONFIG_H" to "#if 1" if
3704         the config-h module is used.
3705
3706         New configmake module, so that "make" output needn't be cluttered
3707         by fluff like '-DLIBDIR=\"/usr/local/lib\"'.
3708         * MODULES.html.sh (Support for building libraries and executables):
3709         Add configmake.
3710         * modules/configmake: New file.
3711
3712 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
3713
3714         * m4/config-h.m4: New file.
3715
3716 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
3717
3718         * config/srclist.txt: Add elisp-comp.
3719
3720 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
3721
3722         * MODULES.html.sh (Support for building libraries and executables):
3723         Add elisp-comp.
3724         * build-aux/elisp-comp: New file.
3725         * modules/elisp-comp: New file.
3726
3727 2006-08-24  Bruno Haible  <bruno@clisp.org>
3728
3729         * gnulib-tool (func_create_testdir): Use non-default values of
3730         sourcebase and m4base.
3731
3732 2006-08-24  Bruno Haible  <bruno@clisp.org>
3733
3734         * MODULES.html.sh (Compatibility checks for POSIX:2001 functions: Fix
3735         HTML structure.
3736
3737 2006-08-23  Paul Eggert  <eggert@cs.ucla.edu>
3738
3739         * modules/openat (Depends-on): Add lchown.
3740
3741 2006-08-23  Bruno Haible  <bruno@clisp.org>
3742
3743         * gnulib-tool (func_import, func_create_testdir): Emit an invocation
3744         of gl_LOCK_EARLY instead of gl_LOCK.
3745
3746 2006-08-23  Bruno Haible  <bruno@clisp.org>
3747
3748         * m4/lock.m4 (gl_LOCK_BODY): Change the default value of gl_use_threads
3749         on OSF/1 to no.
3750         Reported by Stephen Cartwright <sgcartwr@ucalgary.ca>.
3751
3752 2006-08-23  Bruno Haible  <bruno@clisp.org>
3753
3754         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't consider BeOS statvfs
3755         as unusable.
3756
3757         * m4/lock.m4 (gl_LOCK_EARLY): Renamed from gl_LOCK.
3758         (gl_LOCK_BODY): Remove gl_PREREQ_LOCK invocation.
3759         (gl_LOCK): New macro.
3760
3761 2006-08-22  Simon Josefsson  <jas@extundo.com>
3762
3763         * modules/gc-md5 (Makefile.am): Need to add md5.h, after changes
3764         to md5 module.
3765
3766 2006-08-22  Simon Josefsson  <jas@extundo.com>
3767
3768         * MODULES.html.sh: Add "Support for maintaining and release
3769         projects".
3770
3771         * build-aux/gnupload: New file, from coreutils.
3772
3773 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
3774
3775         Avoid the need for AC_LIBSOURCES in m4 macros.
3776         * modules/arcfour (EXTRA_DIST): Add arcfour.h.
3777         * modules/arctwo (EXTRA_DIST): Add arctwo.h.
3778         * modules/check-version (EXTRA_DIST): Add check-version.h.
3779         * modules/crc (EXTRA_DIST): Add crc.h.
3780         * modules/des (EXTRA_DIST): Add des.h.
3781         * modules/gc (EXTRA_DIST): Add gc.h.
3782         * modules/getdelim (EXTRA_DIST): Add getdelim.h.
3783         * modules/getline (EXTRA_DIST): Add getline.h.
3784         * modules/getlogin_r (EXTRA_DIST): Add getlogin_r.h.
3785         * modules/hmac-md5 (EXTRA_DIST): Add hmac.h.
3786         * modules/hmac-sha1 (EXTRA_DIST): Add hmac.h.
3787         * modules/md2 (EXTRA_DIST): Add md2.h.
3788         * modules/md4 (EXTRA_DIST): Add md4.h.
3789         * modules/pagealign_alloc (EXTRA_DIST): Add pagealign_alloc.h.
3790         * modules/read-file (EXTRA_DIST): Add read-file.h.
3791         * modules/readline (EXTRA_DIST): Add readline.h.
3792         * modules/rijndael (EXTRA_DIST): Add rijndael-alg-fst.h,
3793         rijndael-api-fst.h.
3794
3795 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
3796
3797         * m4/rijndael.m4 (gl_ARCFOUR):
3798         * m4/arctwo.m4 (gl_ARCTWO):
3799         * m4/check-version.m4 (gl_CHECK_VERSION):
3800         * m4/crc.m4 (gl_CRC):
3801         * m4/des.m4 (gl_DES):
3802         * m4/gc-pbkdf2-sha1.m4 (gl_GC_PBKDF2_SHA1):
3803         * m4/gc.m4 (gl_GC):
3804         * m4/getdelim.m4 (gl_FUNC_GETDELIM):
3805         * m4/getline.m4 (gl_FUNC_GETLINE):
3806         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE):
3807         * m4/hmac-md5.m4 (gl_HMAC_MD5):
3808         * m4/hmac-sha1.m4 (gl_HMAC_SHA1):
3809         * m4/md2.m4 (gl_MD2):
3810         * m4/md4.m4 (gl_MD4):
3811         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC):
3812         * m4/read-file.m4 (gl_FUNC_READ_FILE):
3813         * m4/readline.m4 (gl_FUNC_READLINE):
3814         * m4/rijndael.m4 (gl_RIJNDAEL):
3815         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
3816         to get the necessary .h files and whatnot.
3817
3818 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
3819
3820         * config/srclist.txt: Remove gnupload, since coreutils now syncs from
3821         gnulib rather than the other way around.
3822         * config/srclistvars.sh (COREUTILS): Remove.
3823
3824 2006-08-22  Jim Meyering  <jim@meyering.net>
3825
3826         * modules/mkdir-p (Makefile.am): Fix typo: s/lib+SOURCES/lib_SOURCES/.
3827
3828         * modules/getpass-gnu (Makefile.am): Add getpass.h to EXTRA_DIST.
3829
3830 2006-08-22  Eric Blake  <ebb9@byu.net>
3831
3832         * modules/regexprops-generic: New file.
3833         * MODULES.html.sh (Support for building documentation): List it.
3834
3835 2006-08-22  Eric Blake  <ebb9@byu.net>
3836
3837         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Avoid compiler warning.
3838         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
3839         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Likewise.
3840         * m4/intmax_t.m4 (gt_AC_TYPE_INTMAX_T): Likewise.
3841
3842 2006-08-22  Bruno Haible  <bruno@clisp.org>
3843
3844         * gnulib-tool (func_emit_lib_Makefile_am): Don't treat lib_LIBRARIES
3845         and lib_LTLIBRARIES like the other lib_* variables.
3846
3847 2006-08-22  Bruno Haible  <bruno@clisp.org>
3848
3849         * build-aux/x-to-1.in: New file, from GNU gettext.
3850
3851 2006-08-22  Bruno Haible  <bruno@clisp.org>
3852
3853         * m4/readutmp.m4 (gl_READUTMP): Compile readutmp.c only if <utmp.h> or
3854         <utmpx.h> exists.
3855
3856 2006-08-22  Bruno Haible  <bruno@clisp.org>
3857
3858         * lib/readutmp.h: Skip most definitions if neither <utmp.h> nor
3859         <utmpx.h> exists.
3860
3861 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
3862
3863         BeOS portability.
3864         * lib/dirchownmod.c (dirchownmod): Don't use fchmod if it doesn't
3865         exist.
3866         Problem reported by Bruno Haible.
3867
3868 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
3869
3870         Avoid the need for AC_LIBSOURCES in m4 macros.
3871         * modules/acl (EXTRA_DIST): Add acl.h.
3872         * modules/argmatch (Files): Add m4/argmatch.m4.
3873         (configure.ac): Add gl_ARGMATCH.
3874         (EXTRA_DIST): Renamed from lib_SOURCES, for
3875         consistency with the other modules.  Remove argmatch.c.
3876         * modules/backupfile (EXTRA_DIST): Add backupfile.h.
3877         * modules/c-strtod (EXTRA_DIST): Add c-strtod.h.
3878         * modules/c-strtold (EXTRA_DIST): Add c-strtod.c, c-strtod.h.
3879         * modules/canonhost (EXTRA_DIST): Add c-canonhost.h.
3880         * modules/canonicalize (EXTRA_DIST): Add canonicalize.h.
3881         * modules/chdir-long (EXTRA_DIST): Add chdir-long.h.
3882         * modules/chdir-safer (EXTRA_DIST): Add chdir-safer.h.
3883         * modules/cloexec (EXTRA_DIST): Add cloexec.h.
3884         * modules/close-stream (EXTRA_DIST): Add close-stream.h.
3885         * modules/closeout (EXTRA_DIST): Add closeout.h.
3886         * modules/cycle-check (EXTRA_DIST): Add cycle-check.h.
3887         * modules/dev-ino (EXTRA_DIST): Add dev-ino.h.
3888         * modules/dirfd (EXTRA_DIST): Add dirfd.h.
3889         * modules/dirname (EXTRA_DIST): Renamed from lib_SOURCES.  Add
3890         dirname.h; remove basename.c and stripslash.c.
3891         * modules/exclude (EXTRA_DIST): Add exclude.h.
3892         * modules/exitfail (EXTRA_DIST): Add exitfail.h.
3893         * modules/fcntl-safer (EXTRA_DIST): Add fcntl-safer.h fcntl--.h.
3894         * modules/file-type (EXTRA_DIST): Add file-type.h.
3895         * modules/filemode (EXTRA_DIST): Add filemode.h.
3896         * modules/filenamecat (EXTRA_DIST): Add filenamecat.h.
3897         * modules/fopen-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
3898         * modules/fpending (EXTRA_DIST): Add __fpending.h.
3899         * modules/fprintftime (EXTRA_DIST): Add fprintftime.h.
3900         * modules/fsusage (EXTRA_DIST): Add fsusage.h.
3901         * modules/fts (EXTRA_DIST): Add fts_.h fts-cycle.c.
3902         * modules/getcwd (EXTRA_DIST): Add getcwd.h.
3903         * modules/getdate (EXTRA_DIST): Add getdate.c.
3904         * modules/gethrxtime (EXTRA_DIST): Add gethrxtime.h xtime.h.
3905         * modules/getpagesize (EXTRA_DIST): Add getpagesize.h.
3906         * modules/getpass (EXTRA_DIST): Add getpass.h.
3907         * modules/glob (EXTRA_DIST): Add glob_.h glob-libc.h.
3908         * modules/group-member (EXTRA_DIST): Add group-member.h.
3909         * modules/hard-locale (EXTRA_DIST): Add hard-locale.h.
3910         * modules/hash (EXTRA_DIST): Add hash.h.
3911         * modules/human (EXTRA_DIST): Add human.h.
3912         * modules/inttypes (EXTRA_DIST): Add inttypes.h.
3913         * modules/lchmod (EXTRA_DIST): Add lchmod.h.
3914         * modules/lchown (EXTRA_DIST): Add lchown.h.
3915         * modules/long-options (EXTRA_DIST): Add long-options.h.
3916         * modules/lstat (EXTRA_DIST): Add lstat.h.
3917         * modules/md5 (EXTRA_DIST): Add memcasecmp.h.
3918         * modules/memcoll (EXTRA_DIST): Add memcoll.h.
3919         * modules/mempcpy (EXTRA_DIST): Add mempcpy.h.
3920         * modules/memrchr (EXTRA_DIST): Add memrchr.h.
3921         * modules/memxor (EXTRA_DIST): Add memxor.h.
3922         * modules/mkancesdirs (EXTRA_DIST): Add mkancesdirs.h.
3923         * modules/mkdir-p (EXTRA_DIST): Add modechange.h.
3924         * modules/mountlist (EXTRA_DIST): Add mountlist.h.
3925         * modules/openat (EXTRA_DIST): Add at-func.c openat.h openat-priv.h.
3926         * modules/pathmax (EXTRA_DIST): Add pathmax.h.
3927         * modules/physmem (EXTRA_DIST): Add physmem.h.
3928         * modules/posixtm (EXTRA_DIST): Add posixtm.h.
3929         * modules/posixver (EXTRA_DIST): Add posixver.h.
3930         * modules/quote (EXTRA_DIST): Add quote.h.
3931         * modules/quotearg (EXTRA_DIST): Add quotearg.h.
3932         * modules/readtokens (EXTRA_DIST): Add readtokens.h.
3933         * modules/readutmp (EXTRA_DIST): Add readutmp.h.
3934         * modules/regex (EXTRA_DIST): Add regcomp.c regex.h regex_internal.c
3935         regex_internal.h regexec.c.
3936         * modules/safe-read (EXTRA_DIST): Add safe-read.h.
3937         * modules/safe-write (EXTRA_DIST): Add safe-write.h.
3938         * modules/same (EXTRA_DIST): Add same.h.
3939         * modules/same-inode (EXTRA_DIST): Add same-inode.h.
3940         * modules/save-cwd (EXTRA_DIST): Add save-cwd.h.
3941         * modules/savedir (EXTRA_DIST): Add savedir.h.
3942         * modules/sha1 (EXTRA_DIST): Add sha1.h.
3943         * modules/sig2str (EXTRA_DIST): Add sig2str.h.
3944         * modules/stat-macros (EXTRA_DIST): Add stat-macros.h.
3945         * modules/stat-time (EXTRA_DIST): Add stat-time.h.
3946         * modules/stdlib-safer (EXTRA_DIST): Add stdlib-safer.h stdlib--.h.
3947         * modules/strdup (EXTRA_DIST): Add strdup.h.
3948         * modules/strftime (EXTRA_DIST): Add strftime.h.
3949         * modules/strndup (EXTRA_DIST): Add strndup.h.
3950         * modules/strnlen (EXTRA_DIST): Add strnlen.h.
3951         * modules/strverscmp (EXTRA_DIST): Add strverscmp.h.
3952         * modules/time_r (EXTRA_DIST): Add time_r.h.
3953         * modules/timespec (EXTRA_DIST): Add timespec.h.
3954         * modules/tmpfile-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
3955         * modules/unistd-safer (EXTRA_DIST): Add unistd-safer.h unistd--.h.
3956         * modules/unlinkdir (EXTRA_DIST): Add unlinkdir.h.
3957         * modules/unlocked-io (EXTRA_DIST): Add unlocked-io.h.
3958         * modules/userspec (EXTRA_DIST): Add userspec.h.
3959         * modules/utimecmp (EXTRA_DIST): Add utimecmp.h.
3960         * modules/utimens (EXTRA_DIST): Add utimens.h.
3961         * modules/xalloc (EXTRA_DIST): Add xalloc.h.
3962         * modules/xgetcwd (EXTRA_DIST): Add xgetcwd.h.
3963         * modules/xnanosleep (EXTRA_DIST): Add xnanosleep.h.
3964         * modules/xreadlink (EXTRA_DIST): Add xreadlink.h.
3965         * modules/xstrtod (EXTRA_DIST): Add xstrtod.h.
3966         * modules/xstrtol (EXTRA_DIST): Add xstrtol.h.
3967         * modules/xstrtold (EXTRA_DIST): Add xstrtod.c xstrtod.h.
3968         * modules/yesno (EXTRA_DIST): Add yesno.h.
3969
3970 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
3971
3972         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Check for fchmod.
3973
3974         * m4/argmatch.m4: New file, from coreutils with AC_LIBSOURCES removed.
3975         * m4/dev-ino.m4, same-inode.m4: Remove.
3976
3977         * m4/_inttypes_h.m4 (gl_INTTYPES_H):
3978         * m4/acl.m4 (AC_FUNC_ACL):
3979         * m4/backupfile.m4 (gl_BACKUPFILE):
3980         * m4/c-strtod.m4 (gl_C99_STRTOLD):
3981         * m4/canon-host.m4 (gl_CANON_HOST):
3982         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
3983         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG):
3984         * m4/chdir-safer.m4 (gl_CHDIR_SAFER):
3985         * m4/cloexec.m4 (gl_CLOEXEC):
3986         * m4/close-stream.m4 (gl_CLOSE_STREAM):
3987         * m4/closeout.m4 (gl_CLOSEOUT):
3988         * m4/dirfd.m4 (gl_FUNC_DIRFD):
3989         * m4/dirname.m4 (gl_DIRNAME):
3990         * m4/exclude.m4 (gl_EXCLUDE):
3991         * m4/exitfail.m4 (gl_EXITFAIL):
3992         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER):
3993         * m4/file-type.m4 (gl_FILE_TYPE):
3994         * m4/filemode.m4 (gl_FILEMODE):
3995         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT):
3996         * m4/fpending.m4 (gl_FUNC_FPENDING):
3997         * m4/fprintftime.m4 (gl_FPRINTFTIME):
3998         * m4/fts.m4 (gl_FUNC_FTS):
3999         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL):
4000         * m4/getdate.m4 (gl_GETDATE):
4001         * m4/gethrxtime.m4 (gl_GETHRXTIME):
4002         * m4/getpagesize.m4 (gl_GETPAGESIZE):
4003         * m4/getpass.m4 (gl_FUNC_GETPASS):
4004         * m4/gettime.m4 (gl_GETTIME):
4005         * m4/getugroups.m4 (gl_GETUGROUPS):
4006         * m4/glob.m4 (gl_GLOB_SUBSTITUTE):
4007         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER):
4008         * m4/hard-locale.m4 (gl_HARD_LOCALE):
4009         * m4/hash.m4 (gl_HASH):
4010         * m4/idcache.m4 (gl_IDCACHE):
4011         * m4/lchmod.m4 (gl_FUNC_LCHMOD):
4012         * m4/lchown.m4 (gl_FUNC_LCHOWN):
4013         * m4/long-options.m4 (gl_LONG_OPTIONS):
4014         * m4/lstat.m4 (gl_FUNC_LSTAT):
4015         * m4/md5.m4 (gl_MD5):
4016         * m4/memcasecmp.m4 (gl_MEMCASECMP):
4017         * m4/memcoll.m4 (gl_MEMCOLL):
4018         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY):
4019         * m4/memrchr.m4 (gl_FUNC_MEMRCHR):
4020         * m4/memxor.m4 (gl_MEMXOR):
4021         * m4/mkancesdirs.m4 (gl_MKANCESDIRS):
4022         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS):
4023         * m4/modechange.m4 (gl_MODECHANGE):
4024         * m4/mountlist.m4 (gl_MOUNTLIST):
4025         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
4026         * m4/openat.m4 (gl_FUNC_OPENAT):
4027         * m4/pathmax.m4 (gl_PATHMAX):
4028         * m4/physmem.m4 (gl_PHYSMEM):
4029         * m4/posixtm.m4 (gl_POSIXTM):
4030         * m4/posixver.m4 (gl_POSIXVER):
4031         * m4/quote.m4 (gl_QUOTE):
4032         * m4/quotearg.m4 (gl_QUOTEARG):
4033         * m4/readtokens.m4 (gl_READTOKENS):
4034         * m4/readutmp.m4 (gl_READUTMP):
4035         * m4/regex.m4 (gl_REGEX):
4036         * m4/safe-read.m4 (gl_SAFE_READ):
4037         * m4/safe-write.m4 (gl_SAFE_WRITE):
4038         * m4/same.m4 (gl_SAME):
4039         * m4/save-cwd.m4 (gl_SAVE_CWD):
4040         * m4/savedir.m4 (gl_SAVEDIR):
4041         * m4/settime.m4 (gl_SETTIME):
4042         * m4/sha1.m4 (gl_SHA1):
4043         * m4/sig2str.m4 (gl_FUNC_SIG2STR):
4044         * m4/stat-macros.m4 (gl_STAT_MACROS):
4045         * m4/stat-time.m4 (gl_STAT_TIME):
4046         * m4/stdio-safer.m4 (gl_FOPEN_SAFER):
4047         * m4/stdlib-safer.m4 (gl_STDLIB_SAFER):
4048         * m4/strdup.m4 (gl_FUNC_STRDUP):
4049         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME):
4050         * m4/strndup.m4 (gl_FUNC_STRNDUP):
4051         * m4/strnlen.m4 (gl_FUNC_STRNLEN):
4052         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP):
4053         * m4/time_r.m4 (gl_TIME_R):
4054         * m4/timespec.m4 (gl_TIMESPEC):
4055         * m4/unistd-safer.m4 (gl_UNISTD_SAFER):
4056         * m4/unlinkdir.m4 (gl_UNLINKDIR):
4057         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO):
4058         * m4/userspec.m4 (gl_USERSPEC):
4059         * m4/utimecmp.m4 (gl_UTIMECMP):
4060         * m4/utimens.m4 (gl_UTIMENS):
4061         * m4/xalloc.m4 (gl_XALLOC):
4062         * m4/xgetcwd.m4 (gl_XGETCWD):
4063         * m4/xnanosleep.m4 (gl_XNANOSLEEP):
4064         * m4/xreadlink.m4 (gl_XREADLINK):
4065         * m4/xstrtod.m4 (gl_XSTRTOD):
4066         * m4/yesno.m4 (gl_YESNO):
4067         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
4068         to get the necessary .h files and whatnot.
4069
4070 2006-08-21  Mark D. Baushke  <mdb@gnu.org>
4071             Bruno Haible  <bruno@clisp.org>
4072
4073         * gnulib-tool (func_verify_module): Work around Sun's non-POSIX 1003.2
4074         /bin/sh understanding of '!' conditional negation.
4075
4076 2006-08-21  Jim Meyering  <jim@meyering.net>
4077
4078         * modules/openat (Depends-on): Really alphabetize.
4079
4080         * modules/acl (Depends-on): Add error and quote.
4081
4082         * check-module (find_included_lib_files): Add at-func.c to the
4083         ok-to-include-more-than-once white list.
4084
4085         * modules/openat (Depends-on): Add lstat.  Alphabetize.
4086
4087 2006-08-21  Bruno Haible  <bruno@clisp.org>
4088
4089         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
4090         Emit a pkgdata_DATA variable only if some snippets add contents to it.
4091         Reported by Martin Lambers <marlam@marlam.de>.
4092
4093 2006-08-21  Bruno Haible  <bruno@clisp.org>
4094
4095         * gnulib-tool (func_emit_lib_Makefile_am): If the snippets already
4096         specify an installation location, don't emit a noinst_LIBRARIES or
4097         noinst_LTLIBRARIES assignment.
4098
4099 2006-08-21  Bruno Haible  <bruno@clisp.org>
4100
4101         BeOS portability.
4102         * modules/mbchar (Include): Don't test HAVE_WCTYPE_H any more, since
4103         BeOS has mbrtowc() but no <wctype.h>.
4104
4105 2006-08-21  Bruno Haible  <bruno@clisp.org>
4106
4107         BeOS portability.
4108         * m4/mbchar.m4 (gl_MBCHAR): Compile mbchar.c also if <wctype.h> doesn't
4109         exist.
4110
4111 2006-08-21  Bruno Haible  <bruno@clisp.org>
4112
4113         BeOS portability.
4114         * lib/mbchar.h: Include <wctype.h> only if it exists.
4115
4116 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
4117
4118         Remove files that are no longer needed by their respective modules.
4119         * m4/obstack.m4: Remove.
4120         * m4/strerror_r.m4: Remove.
4121         * m4/uint32_t.m4: Remove.
4122         * m4/uintptr_t.m4: Remove.
4123         * m4/ullong_max.m4: Remove.
4124         * m4/xstrtoimax.m4: Remove.
4125         * m4/xstrtoumax.m4: Remove.
4126
4127         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Do not require
4128         gl_AC_TYPE_UINTMAX_T, gl_STRUCT_DEV_INO, or gl_SAME_INODE, since gnulib
4129         dependencies now capture this.
4130
4131         * m4/cycle-check.m4 (gl_CYCLE_CHECK):
4132         Do not use AC_LIBSOURCES, since gnulib modules now do this.
4133         * m4/fsusage.m4 (gl_FSUSAGE): Likewise.
4134         * m4/human.m4 (gl_HUMAN): Likewise.
4135         * m4/inttostr.m4 (gl_INTTOSTR): Likewise.
4136         * m4/xstrtol.m4 (gl_XSTRTOL): Likewise.
4137
4138         * m4/filemode.m4 (gl_FILEMODE): Require AC_STRUCT_ST_DM_MODE.
4139
4140         * m4/filemode.m4 (gl_PREREQ_FSUSAGE_EXTRA): Do not require
4141         gl_AC_TYPE_INTMAX_T or gl_AC_TYPE_UINTMAX_T, since we now require
4142         stdint.
4143         * m4/human.m4 (gl_HUMAN): Likewise.
4144         * m4/inttostr.m4 (gl_PREREQ_INTTOSTR): Likewise.
4145         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Likewise.
4146         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
4147         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
4148         * m4/xstrtol (gl_XSTRTOL): Likewise.
4149
4150         * m4/gethrxtime.m4 (gl_XTIME): gl_AC_TYPE_LONG_LONG ->
4151         AC_TYPE_LONG_LONG_INT.
4152         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
4153         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Likewise.
4154         * m4/strtoull.m4 (gl_FUNC_STRTOULL): Likewise, for unsigned long.
4155         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
4156
4157         * m4/human.m4 (gl_HUMAN): Do not require AM_STDBOOL_H since we depend
4158         on stdbool.
4159
4160         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL_H, gl_PREREQ_XSTRTOL): Remove.
4161         (gl_PREREQ_XSTRTOUL): Remove.
4162
4163         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Check for hasmntopt.
4164
4165         * m4/posixver.m4: Fix comment since head -1 now works even in POSIX
4166         mode.
4167
4168 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
4169
4170         Add and change modules to make it easier for coreutils to use
4171         gnulib-tool.
4172         * modules/backupfile (Files): Remove m4/d-ino.m4.
4173         (Depends-on): Add d-ino.
4174         * modules/cycle-check (Depends-on): Add stdint.
4175         (lib_SOURCES): Add cycle-check.h.
4176         * modules/d-ino: New module.
4177         * modules/d-type: New module.
4178         * modules/error (Files): Remove m4/strerror_r.m4.
4179         * modules/filemode (Files): Add m4/st_dm_mode.m4.
4180         * modules/fsuage (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
4181         m4/inttypes_h.m4, m4/uintmax_t.m4.
4182         (Depends-on): Add stdint.
4183         (lib_SOURCES): Add fsusage.h.
4184         * modules/getcwd (Files): Remove d-ino.m4.
4185         (Depends-on): Add d-ino.
4186         * modules/getndelim2 (Depends-on): Add stdint.
4187         * modules/glob (Files): Remove m4/d-type.m4.
4188         (Depends-on): Add d-type.
4189         * modules/host-os: New module.
4190         * modules/human (Files):  Remove m4/ulonglong.m4, m4/stdint_h.m4,
4191         m4/inttypes_h.m4, m4/uintmax_t.m4.
4192         * Depends-on: Add stdint.
4193         (lib_SOURCES): Add human.h.
4194         * modules/inttostr (Files): Remove m4/intmax_t.m4,
4195         m4/inttostr.m4, m4/inttypes_h.m4, m4/longlong.m4, m4/stdint_h.m4,
4196         m4/uintmax_t.m4, m4/ulonglong.m4.
4197         (Depends-on): Add stdint.
4198         (EXTRA_DIST): Add inttostr.h.
4199         * modules/lchmod: New module.
4200         * modules/link-follow: New module.
4201         * modules/mkdir-p (Files): Remove lib/lchmod.h, m4/lchmod.m4.
4202         (Depends-on): Add lchmod.
4203         * modules/mkstemp (Files): Remove m4/ulonglong.m4,
4204         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4.
4205         (Depends-on): Add stdint.
4206         * modules/obstack (Files): Remove m4/inttypes_h.m4, m4/obstack.m4,
4207         m4/stdint_h.m4, m4/uintmax_t.m4, m4/ulonglong.m4.
4208         (Depends-on): Add stdint.
4209         (configure.ac): Change gl_OBSTACK to AC_FUNC_OBSTACK.
4210         * modules/perl: New module.
4211         * modules/regex (Depends-on): Add stdint.
4212         * modules/rmdir-errno: New module.
4213         * modules/strtoimax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
4214         m4/intmax_t.m4.
4215         (Depends-on): Add stdint.
4216         * modules/strtoumax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
4217         m4/uintmax_t.m4.
4218         (Depends-on): Add stdint.
4219         * modules/unlink-busy: New module.
4220         * modules/utimecmp (Depends-on): Add stdint.
4221         * modules/uptime: New module.
4222         * modules/winsz-ioctl: New module.
4223         * modules/winsz-termios: New module.
4224         * modules/xnanosleep (Depends-on): Add nanosleep.
4225         * modules/ullong_max: Remove.
4226         * modules/xstrtoimax (Files): Remove m4/xstrtoimax.m4.
4227         (configure.ac): Remove gl_XSTRTOIMAX; no action needed now.
4228         * modules/xstrtol (Files): Remove m4/ulonglong.m4, m4/longlong.m4,
4229         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4, m4/intmax_t.m4.
4230         (Depends-on): Add inttypes.
4231         (lib_SOURCES): Add xstrtol.h.
4232         * modules/xstrtoumax (Files): Remove m4/xstrtoumax.m4.
4233         (configure.ac): Remove gl_XSTRTOUMAX; no action needed now.
4234         * MODULES.html.sh: Move 'assert' into the assert section.
4235         Move 'dummy' into the linking section.
4236         Remove ullong_max.
4237         Add section for compatibility checks for POSIX:2001 functions,
4238         and put d-ino, d-type, link-follow, rmdir-errno, unlink-busy,
4239         winsz-ioctl, and winsz-termios into it.
4240         Add lchmod.
4241         Add top-level Misc section and put host-os, perl, and uptime
4242         into it.
4243
4244 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
4245
4246         * lib/cycle-check.h: Include <stdint.h> unconditionally, since we
4247         now assume the stdint module.  Do not include inttypes.h.
4248         * lib/fsusage.h: Likewise.
4249         * lib/getndelim2.c: Likewise.
4250         * lib/human.h: Likewise.
4251         * lib/inttostr.h: Likewise.
4252         * lib/obstack.c: Likewise.
4253         * lib/regex_internal.h: Likewise.
4254         * lib/tempname.c: Likewise.
4255         * lib/utimecmp.c: Likewise.
4256         * lib/xstrtol.h: Likewise.
4257
4258         * lib/stat_.h: Fix typo: HAVE_FUNC_LSTAT -> HAVE_LSTAT.
4259
4260         * lib/strtoimax.c: Adjust to macro name changes in Autoconf,
4261         e.g., HAVE_LONG_LONG -> HAVE_LONG_LONG_INT.
4262         * lib/xtime.h: Likewise.
4263
4264 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
4265
4266         * modules/openat (Files): Add lib/fchmodat.c.
4267         Fixes problem reported by Jay Youngman.
4268
4269 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
4270
4271         * lib/fchmodat.c: New file, from coreutils.  This was inadvertently
4272         omitted in the 2006-08-17 update.  Problem reported by Jay Youngman.
4273
4274 2006-08-18  Paul Eggert  <eggert@cs.ucla.edu>
4275             Bruno Haible  <bruno@clisp.org>
4276
4277         * m4/bison-i18n.m4 (BISON_I18N): Also handle the case where yacc exists
4278         and is a script that invokes bison. Tighten the code. Add comments.
4279
4280 2006-08-18  Jim Meyering  <jim@meyering.net>
4281
4282         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Also check for
4283         CLOCK_REALTIME, since gethrxtime may revert to using clock_gettime via
4284         gettime.c.  Gabor Z. Papp reported that gethrxtime-using programs
4285         failed to link due to unresolved clock_gettime on a linux-2.4.x system.
4286
4287 2006-08-18  Bruno Haible  <bruno@clisp.org>
4288
4289         * modules/bison-i18n: New file.
4290         * MODULES.html.sh (Internationalization functions): Add it.
4291
4292 2006-08-18  Bruno Haible  <bruno@clisp.org>
4293
4294         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Also check for
4295         sys/statvfs.h. When getmntinfo was found, check its declaration and
4296         set either MOUNTED_GETMNTINFO or MOUNTED_GETMNTINFO2 depending on it.
4297
4298 2006-08-18  Bruno Haible  <bruno@clisp.org>
4299
4300         * m4/bison-i18n.m4: New file, from bison.
4301
4302 2006-08-18  Bruno Haible  <bruno@clisp.org>
4303
4304         * lib/mountlist.c [MOUNTED_GETMNTINFO2]: Include sys/statvfs.h.
4305         (ME_DUMMY): Treat "kernfs" as a dummy.
4306         (read_file_system_list) [MOUNTED_GETMNTINFO2]: Implement.
4307
4308 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
4309
4310         Update from coreutils.
4311
4312         2006-08-15  Jim Meyering  <jim@meyering.net>
4313
4314         * m4/openat.m4 (gl_FUNC_OPENAT): Add at-func.c via AC_LIBSOURCES.
4315
4316         2006-01-17  Jim Meyering  <jim@meyering.net>
4317
4318         * m4/fts.m4 (gl_FUNC_FTS_CORE): Depend on gl_FUNC_OPENAT.
4319
4320         2006-01-11  Jim Meyering  <jim@meyering.net>
4321
4322         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile fchmodat.c.
4323         Check for the lchmod function.
4324
4325 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
4326
4327         Update from coreutils.
4328
4329         * lib/__fpending.h: Add copyright notice.
4330         * lib/fprintftime.h: Likewise.
4331         * lib/savedir.c: Use (C) in copyright notice.
4332         * lib/savedir.h: Likewise.
4333
4334         2006-08-15  Jim Meyering  <jim@meyering.net>
4335
4336         * lib/at-func.c: New file, with the logic of all emulated at-functions.
4337         * lib/openat-priv.h: Include <errno.h> and define ENOSYS,
4338         in support of the EXPECTED_ERRNO macro.
4339         * lib/openat.c (fstatat, unlinkat, fchownat): Remove function
4340         definitions.  Instead, define the appropriate symbols and include
4341         "at-func.c".
4342         * lib/mkdirat.c (mkdirat): Likewise.
4343         * lib/fchmodat.c (fchmodat): Likewise.
4344         (ENOSYS): Remove definition.
4345         * lib/openat.c: Don't include <errno.h>, now that "openat-priv.h" does
4346         it.  Don't include "unistd--.h" -- it wasn't ever used.
4347
4348         2006-01-17  Jim Meyering  <jim@meyering.net>
4349
4350         Rewrite fts.c not to change the current working directory,
4351         by using openat, fstatat, fdopendir, etc..
4352
4353         * lib/fts.c [! _LIBC]: Include "openat.h" and "unistd--.h".
4354         (HAVE_OPENAT_SUPPORT): Define.
4355         [_LIBC] (fchdir): Don't undef or define; no longer used.
4356         (FCHDIR): Define in terms of cwd_advance_fd rather than fchdir.
4357         Now, this `function' always succeeds, and consumes its file descriptor
4358         parameter -- so callers must not close such FDs.  Update callers.
4359         (diropen_fd, opendirat, cwd_advance_fd): New functions.
4360         (diropen): Add parameter, SP.  Adjust all callers.
4361         Implement using diropen_fd, rather than open.
4362         (fts_open): Initialize new member, fts_cwd_fd.
4363         Remove fts_rft-setting code.
4364         (fts_close): Close fts_cwd_fd, if necessary.
4365         (__opendir2): Define in terms of opendir or opendirat,
4366         depending on whether the FST_NOCHDIR flag is set.
4367         (fts_build): Since fts_safe_changedir consumes its FD, and since
4368         this code must do `closedir(dirp)', dup the dirfd(dirp) argument,
4369         and close the dup'd file descriptor upon failure.
4370         (fts_stat): Use fstatat(...AT_SYMLINK_NOFOLLOW) in place of lstat.
4371         (fts_safe_changedir): Tweak semantics to reflect that this function
4372         now calls cwd_advance_fd and hence consumes its FD argument.
4373         * lib/fts_.h [struct FTS] (fts_cwd_fd): New member.
4374         [struct FTS] (fts_rft): Remove now-unused member.
4375         [struct FTS] (fts_cycle.state): Improve comment.
4376
4377         * lib/openat.c (openat_needs_fchdir): New function.
4378         * lib/openat.h (openat_needs_fchdir): Declare it.
4379
4380 2006-08-16  Paul Eggert  <eggert@cs.ucla.edu>
4381
4382         * lib/memcoll.c (memcoll): Set errno = 0 in the shortcut case, too.
4383         Problem and fix reported by Pádraig Brady in
4384         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00099.html>.
4385
4386 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
4387
4388         * modules/cycle-check (configure.ac): Add gl_CYCLE_CHECK.
4389
4390 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
4391
4392         * lib/memcoll.c (memcoll): Optimize for the common case where the
4393         arguments are bytewise equal.
4394
4395 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
4396
4397         * doc/regexprops-generic.texi: Add a copyright notice.
4398
4399 2006-08-15  Bruno Haible  <bruno@clisp.org>
4400
4401         * modules/tmpdir (License): Change to LGPL.
4402
4403 2006-08-15  Bruno Haible  <bruno@clisp.org>
4404
4405         * gnulib-tool (func_all_modules, func_verify_module): COPYING is not a
4406         module.
4407
4408 2006-08-14  Simon Josefsson  <jas@extundo.com>
4409
4410         * config/srclist.txt: Add gnupload.
4411
4412 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
4413
4414         Change copyright notice from LGPL 2 to GPL 2, since that's the
4415         standard form used in the gnulib repository.
4416         * tests/test-lock.c: Likewise.
4417         * tests/test-stdint.c: Likewise.
4418         * tests/test-tls.c: Likewise.
4419
4420         * users.txt: Add bison, diffutils, libprelude, prelude-lml,
4421         prelude-manager.  User shorter URLs for GNU projects, without '?'.
4422         Add copyright notice.
4423
4424         * check-module: Add copyright notice.  Output a copyright
4425         notice if "--version" is specified.
4426         * modules/COPYING: New file.
4427         * tests/test-getaddrinfo.c: Add copyright notice.
4428         * tests/test-verify.c: Likewise.
4429
4430 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
4431
4432         Change copyright notice from LGPL 2 to GPL 2, since that's the
4433         standard form used in the gnulib repository.
4434         * lib/lock.c: LGPL -> GPL.
4435         * lib/lock.h: Likewise.
4436         * lib/strnlen1.c: Likewise.
4437         * lib/strnlen1.h: Likewise.
4438         * lib/tls.c: Likewise.
4439         * lib/tls.h: Likewise.
4440         * lib/tmpdir.c: Likewise.
4441
4442         * lib/TODO: Remove; this belongs only in coreutils.
4443
4444 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
4445
4446         Add copyright notices to long-enough files that lack them, since
4447         otherwise the files aren't clearly free.  Use the same notice that
4448         getdate.texi already uses.
4449         * doc/alloca-opt.texi: Add copyright notice.
4450         * doc/alloca.texi: Likewise.
4451         * doc/ctime.texi: Likewise.
4452         * doc/functions.texi: Likewise.
4453         * doc/gcd.texi: Likewise.
4454         * doc/gnulib-tool.texi: Likewise.
4455         * doc/inet_ntoa.texi: Likewise.
4456         * doc/visibility.texi: Likewise.
4457
4458         * doc/getdate.texi: Update FDL version from 1.1 to 1.2.
4459         * doc/quote.texi: Add copyright notice.
4460
4461         * doc/solaris-versions: Add SunOS 5.10, SunOS 1.x, SunOS 4.0, SunOS
4462         4.0.x, SunOS 4.1.1.1, SunOS 4.1.1_U1, SunOS 4.1.3B.  SunOS 4.1.3
4463         was Solaris 1.1A.  Remove space before B in Solaris 1.1.1B.
4464         Mention SunOS 5.11.  Mention that everything before SunOS 5.7
4465         is now obsolete, and give a pointer to the Sun list.
4466         Add copyright notice.
4467
4468 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
4469
4470         * config/srclistvars.sh: Add copyright notice.
4471
4472 2006-08-14  Eric Blake  <ebb9@byu.net>
4473
4474         Import the following change from libc:
4475
4476         2006-08-12  Ulrich Drepper  <drepper@redhat.com>
4477
4478         Upstream bug 2997.
4479         * lib/misc/error.c: Add space between program name and message if file
4480         name is missing.
4481
4482 2006-08-12  Karl Berry  <karl@gnu.org>
4483
4484         * config/srclist.txt (ssize_t.m4, sig_atomic_t.m4, signalblocking.m4):
4485         remove, these originate in gnulib now.
4486
4487 2006-08-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
4488
4489         * doc/Makefile (standards.info standards.html standards.dvi):
4490         Also depend on make-stds.texi.
4491
4492 2006-08-11  Paul Eggert  <eggert@cs.ucla.edu>
4493
4494         * lib/pipe-safer.c (pipe_safer): Fix misspelling: HAVE_FUNC_PIPE ->
4495         HAVE_PIPE.  Fix a file descriptor leak when fd_safer fails.
4496
4497         * lib/regex_internal.c (re_string_skip_chars): Don't assume WEOF fits
4498         in wchar_t.  Problem reported by Eric Blake.
4499
4500         * lib/snprintf.c (snprintf): memcpy LEN bytes, not SIZE - 1, when
4501         LEN is smaller than SIZE.  Suggested by Bruno Haible.
4502         Also, help the compiler to keep LEN in a register.
4503
4504 2006-08-11  Eric Blake  <ebb9@byu.net>
4505
4506         * users.txt: Sort.  Add tar.
4507
4508 2006-08-11  Bruno Haible  <bruno@clisp.org>
4509
4510         * users.txt: New file.
4511
4512 2006-08-11  Bruno Haible  <bruno@clisp.org>
4513
4514         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Include <stdio.h> and <time.h>
4515         before <wchar.h>. Needed for OSF/1 and BSD/OS.
4516
4517 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
4518
4519         * modules/snprintf (Depends-on): Remove minmax.
4520         (Maintainer): Add self and Bruno.
4521
4522 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
4523
4524         * lib/.cppi-disable: Add snprintf.h, socket_.h.
4525         * lib/snprintf.c: Include <errno.h> and <limits.h>.
4526         (EOVERFLOW): Define if the system does not.
4527         Do not include "minmax.h"; it wasn't used.
4528         (snprintf): Don't assume size_t promotes to an unsigned type.
4529         Fix bug when generated string was too long for the buffer: the
4530         buffer's contents are supposed to be the initial prefix of the
4531         output.  Don't assume vasnprintf returns EOVERFLOW if the size
4532         exceeds INT_MAX; do the check ourselves.
4533
4534         Import the following changes from libc:
4535
4536         2006-06-02  Jakub Jelinek  <jakub@redhat.com>
4537
4538         * lib/posix/regex_internal.c (re_string_skip_chars): If no character
4539         has been converted at all, set *last_wc to WEOF.  If mbrtowc failed,
4540         set wc to the byte which couldn't be converted.
4541         (re_string_reconstruct): Don't clear valid_raw_len before calling
4542         re_string_skip_chars.  If wc is WEOF after re_string_skip_chars, set
4543         tip_context using re_string_context_at.
4544
4545         2006-05-02  Ulrich Drepper  <drepper@redhat.com>
4546
4547         * lib/posix/regex.h: g++ still cannot handled [restrict].
4548
4549         2006-04-21  Ulrich Drepper  <drepper@redhat.com>
4550
4551         * lib/posix/regex.h: Remove special handling for VMS.
4552
4553 2006-08-10  Jim Meyering  <jim@meyering.net>
4554
4555         * modules/same-inode: New module.
4556         * modules/dev-ino: New module.
4557         * modules/cycle-check: Depend on these modules, rather than simply
4558         including their .h files.
4559         (Makefile.am): Don't list cycle-check.[ch] here, now that they're
4560         required via m4/cycle-check.m4.
4561         * modules/same: Depend on new same-inode module, rather than
4562         including same-inode.h.
4563         * modules/chdir-safer: New file.
4564
4565         * modules/chown (Depends-on): Add stat-macros.
4566
4567 2006-08-10  Jim Meyering  <jim@meyering.net>
4568
4569         * m4/cycle-check.m4: New file.
4570         Require gl_STRUCT_DEV_INO and gl_SAME_INODE.
4571         * m4/dev-ino.m4, m4/same-inode.m4: New files.
4572
4573 2006-08-10  Eric Blake  <ebb9@byu.net>
4574
4575         * modules/verror (Depends-on): Remove bogus gl_VERROR that snuck
4576         in from original proposal.
4577
4578 2006-08-10  Eric Blake  <ebb9@byu.net>
4579         and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
4580
4581         * gnulib-tool (func_import): Detect unexpanded macros in gnulib
4582         namespace.
4583
4584 2006-08-10  Bruno Haible  <bruno@clisp.org>
4585
4586         * gnulib-tool (func_create_testdir): Detect unexpanded macros here
4587         as well.
4588
4589 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
4590
4591         Sync from coreutils.
4592
4593         2006-07-19  Mike Frysinger  <vapier@gentoo.org>
4594
4595         * lib/mountlist.c [ME_REMOTE]: Filter out cifs.
4596         Reported by Toralf Förster in <http://bugs.gentoo.org/141012>.
4597
4598 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
4599
4600         * modules/restrict: Remove; no longer needed now that we assume
4601         Autoconf 2.59 or later.
4602         * MODULES.html.sh: Remove 'restrict'.
4603         * modules/argp (Depends-on): Remove 'restrict'.
4604         * modules/base64 (Depends-on): Likewise.
4605         * modules/gc (Depends-on): Likewise.
4606         * modules/getaddrinfo (Depends-on): Likewise.
4607         * modules/glob (Depends-on): Likewise.
4608         * modules/inet_ntop (Depends-on): Likewise.
4609         * modules/inet_pton (Depends-on): Likewise.
4610         * modules/memxor (Depends-on): Likewise.
4611         * modules/regex (Depends-on): Likewise.
4612         * modules/strtok_r (Depends-on): Likewise.
4613         * modules/time_r (Depends-on): Likewise.
4614
4615 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
4616
4617         * m4/argp.m4 (gl_ARGP): Require AC_C_RESTRICT.
4618         * m4/gc.m4 (gl_PREREQ_GC): Likewise.
4619         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
4620         * m4/inet_ntop.m4 (gl_PREREQ_INET_NTOP): Likewise.
4621         * m4/inet_pton.m4 (gl_PREREQ_INET_PTON): Likewise.
4622         * m4/memxor.m4 (gl_MEMXOR): Likewise.
4623         * m4/restrict.m4: Remove; no longer needed.  All remaining uses of
4624         gl_C_RESTRICT replaced by AC_C_RESTRICT.
4625
4626         Merge from coreutils.
4627         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_C_RESTRICT, not
4628         gl_C_RESTRICT, now that we assume Autoconf 2.59 or later.
4629         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
4630         * m4/time_r.m4 (gl_TIME_R): Likewise.
4631
4632 2006-08-09  Karl Berry  <karl@gnu.org>
4633
4634         * config/srclist.txt: no more gettext-tools, per Bruno.
4635
4636 2006-08-08  Eric Blake  <ebb9@byu.net>
4637
4638         * modules/verror: New module.
4639         * MODULES.html.sh: Document it.
4640
4641 2006-08-08  Eric Blake  <ebb9@byu.net>
4642
4643         * lib/verror.h, lib/verror.c: New files.
4644
4645 2006-08-08  Eric Blake  <ebb9@byu.net>
4646
4647         * lib/verror.c (verror_at_line): Work around glibc bug 2997, so that
4648         verror_at_line output complies with GNU Coding Standards even when
4649         file is NULL.
4650
4651 2006-08-07  Bruno Haible  <bruno@clisp.org>
4652
4653         * lib/allocsa.h (sa_alignof) [_AIX]: Also consider 'long long' in newer
4654         versions of AIX.
4655         Reported by Ralf Wildenhues.
4656
4657 2006-08-07  Bruno Haible  <bruno@clisp.org>
4658
4659         * gnulib-tool (func_create_testdir): Wrap the set of autoconf snippets
4660         in an AC_DEFUN. Needed so that the autoconf snippets can use
4661         AC_REQUIRE.
4662
4663 2006-08-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
4664
4665         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
4666         Initialize pkgdata_DATA.
4667         * modules/javaversion (Makefile.am): Add to pkgdata_DATA, rather than
4668         overriding it.
4669
4670 2006-08-06  Eric Blake  <ebb9@byu.net>
4671
4672         * lib/error.h: Fold in some upstream changes from glibc.
4673         * lib/error.c: Likewise.
4674
4675 2006-08-04  Bruno Haible  <bruno@clisp.org>
4676
4677         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
4678         Make the mostlyclean-local rule depend on mostlyclean-generic.
4679         Reported by Jim Meyering. Solution suggested by Ralf Wildenhues.
4680
4681 2006-07-31  Bruno Haible  <bruno@clisp.org>
4682
4683         * m4/localcharset.m4 (gl_LOCALCHARSET): Remove tests for <stddef.h>,
4684         <stdlib.h>, <string.h>.
4685
4686 2006-07-30  Bruno Haible  <bruno@clisp.org>
4687
4688         * modules/readlink (License): Change to LGPL.
4689
4690 2006-07-30  Bruno Haible  <bruno@clisp.org>
4691
4692         * modules/javaversion (Makefile.am): Distribute javaversion.java and
4693         javaversion.class. Also install javaversion.class in $(pkgdatadir) and
4694         set PKGDATADIR to point to it.
4695
4696 2006-07-30  Bruno Haible  <bruno@clisp.org>
4697
4698         * modules/csharpexec (configure.ac): Comment out macro invocation.
4699         * modules/javaexec (configure.ac): Likewise.
4700         * modules/javacomp-script (configure.ac): Likewise.
4701
4702         * modules/csharpcomp-script (configure.ac): Use AC_REQUIRE.
4703
4704 2006-07-30  Bruno Haible  <bruno@clisp.org>
4705
4706         * modules/clean-temp (Depends-on): Add linkedhash-list, remove
4707         linked-list.
4708
4709 2006-07-30  Bruno Haible  <bruno@clisp.org>
4710
4711         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Assume <string.h> exists.
4712
4713 2006-07-30  Bruno Haible  <bruno@clisp.org>
4714
4715         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
4716         Initialize MOSTLYCLEANFILES to core and *.stackdump, so that core dumps
4717         get removed.
4718
4719 2006-07-29  Bruno Haible  <bruno@clisp.org>
4720
4721         Make it possible for gnulib-tool to work with locally modified or
4722         augmented gnulib repositories.
4723         * gnulib-tool (func_usage): Document --local-dir option.
4724         (local_gnulib_dir): New variable.
4725         Handle --local-dir option.
4726         (func_lookup_file): New function.
4727         (func_all_modules, func_verify_module): Look also in $local_gnulib_dir.
4728         (func_get_description, func_get_filelist, func_get_description,
4729         func_get_filelist, func_get_dependencies, func_get_autoconf_snippet,
4730         func_get_automake_snippet, func_get_include_directive,
4731         func_get_license, func_get_maintainer): Use func_lookup_file.
4732         (func_import, func_create_testdir): Use func_lookup_file.
4733
4734 2006-07-29  Bruno Haible  <bruno@clisp.org>
4735
4736         * modules/setenv (Depends-on): Add unistd.
4737
4738 2006-07-29  Bruno Haible  <bruno@clisp.org>
4739
4740         * lib/setenv.c: Undo unintended modification done on 2006-02-27.
4741
4742 2006-07-29  Bruno Haible  <bruno@clisp.org>
4743
4744         * lib/localcharset.c: Assume <stddef.h>, <stdlib.h>, <string.h> exist.
4745
4746 2006-07-29  Bruno Haible  <bruno@clisp.org>
4747
4748         * gnulib-tool (import, update): If there is no Makefile.am, look at
4749         aclocal.m4, instead of bailing out.
4750
4751 2006-07-29  Bruno Haible  <bruno@clisp.org>
4752
4753         * gnulib-tool (func_usage): Revert most of the 2006-07-15 change.
4754         Categorize the options by when they are useful.
4755
4756 2006-07-29  Bruno Haible  <bruno@clisp.org>
4757
4758         * gnulib-tool (func_usage): Document option --no-libtool.
4759         Handle option --no-libtool.
4760         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Update
4761         for changed semantics of $libtool variable.
4762         (func_import): Likewise. If libtool is not used, show this through
4763         an option --no-libtool.
4764         (func_create_testdir): Update.
4765
4766 2006-07-29  Bruno Haible  <bruno@clisp.org>
4767
4768         * gnulib-tool (func_import): Extend error message about missing
4769         --doc-base.
4770
4771 2006-07-29  Bruno Haible  <bruno@clisp.org>
4772
4773         * gnulib-tool (func_import): Don't create the $docbase directory if
4774         there is no file to store there.
4775
4776 2006-07-29  Bruno Haible  <bruno@clisp.org>
4777
4778         * gnulib-tool (autoconf_minversion): If a --dir option is given and
4779         relevant, look for configure.ac there, not in the current directory.
4780         Also use a simple search for AC_PREREQ, not "autoconf --trace".
4781
4782 2006-07-29  Bruno Haible  <bruno@clisp.org>
4783
4784         * gnulib-tool (SORT): New variable.
4785         (func_usage): Undocument --assume-autoconf option.
4786         Remove --assume-autoconf option handling.
4787         (autoconf_minversion): Determine from the contents of configure.ac.
4788         (func_import): Remove autoconf_minversion handling.
4789         Suggested by Eric Blake.
4790
4791 2006-07-29  Bruno Haible  <bruno@clisp.org>
4792
4793         * doc/gnulib-tool.texi (gl_LIBTOOL): Mention --no-libtool option.
4794
4795 2006-07-29  Bruno Haible  <bruno@clisp.org>
4796
4797         * config/srclist.txt (*setenv.[ch]): Remove rules.
4798
4799 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
4800
4801         * m4/inet_pton.m4, inet_ntop.m4: Check for netinet/in.h too.
4802
4803 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
4804
4805         * lib/inet_ntop.h, inet_pton.h: Need to include netinet/in.h before
4806         arpa/inet.h.
4807
4808 2006-07-28  Simon Josefsson  <jas@extundo.com>
4809
4810         * modules/inet_ntop (Depends-on): Depend on arpa_inet.
4811         * modules/inet_pton (Depends-on): Likewise.
4812
4813 2006-07-28  Simon Josefsson  <jas@extundo.com>
4814
4815         * m4/netinet_in_h.m4: New file.
4816
4817 2006-07-28  Simon Josefsson  <jas@extundo.com>
4818
4819         * lib/inet_ntop.h, inet_pton.h: No need to guard netinet/in.h
4820         #include's.
4821
4822 2006-07-28  Simon Josefsson  <jas@extundo.com>
4823
4824         * lib/inet_ntop.h, inet_pton.h: No need to guard arpa/inet.h
4825         #include's.
4826
4827 2006-07-28  Paul Eggert  <eggert@cs.ucla.edu>
4828
4829         * lib/modechange.c (mode_compile): Numeric modes now affect setuid and
4830         setgid on directories only if they set these bits.
4831         * lib/modechange.h: Remove obsolete comment about masks.
4832
4833 2006-07-28  Eric Blake  <ebb9@byu.net>
4834
4835         * lib/regex_internal.h (struct re_dfa_t) [!_LIBC]: Avoid invalid C89
4836         macro expansion.
4837
4838 2006-07-28  Bruno Haible  <bruno@clisp.org>
4839
4840         * lib/inet_ntop.h, inet_pton.h: Use #if HAVE* instead of #ifdef HAVE*.
4841
4842 2006-07-28  Bruno Haible  <bruno@clisp.org>
4843
4844         * m4/mbchar.m4 (gl_MBCHAR): Also test for iswcntrl.
4845
4846 2006-07-28  Bruno Haible  <bruno@clisp.org>
4847
4848         * lib/mbchar.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
4849         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit):
4850         Define fallbacks.
4851         Avoids link error on FreeBSD 4.x.
4852         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
4853
4854         * lib/wcwidth.h (iswprint): Assume an ASCII compatible wide character
4855         encoding.
4856         * lib/mbswidth.c (iswcntrl): Likewise.
4857
4858 2006-07-27  Bruno Haible  <bruno@clisp.org>
4859
4860         * m4/stdint.m4 (gl_STDINT_H): Define __STDC_CONSTANT_MACROS during the
4861         test.
4862
4863 2006-07-27  Bruno Haible  <bruno@clisp.org>
4864
4865         * lib/stdint_.h (INT*_C, UINT*_C) [C++]: Define these if
4866         __STDC_CONSTANT_MACROS is defined, not if __STDC_LIMIT_MACROS is
4867         defined.
4868
4869 2006-07-26  Eric Blake  <ebb9@byu.net>
4870
4871         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Check for missing pipe.
4872
4873 2006-07-26  Eric Blake  <ebb9@byu.net>
4874
4875         * lib/mkstemp-safer.c [! HAVE_MKSTEMP]: Add prototype for platforms
4876         like mingw that lack mkstemp.
4877         * lib/pipe-safer.c (pipe_safer) [!HAVE_FUNC_PIPE]: Provide fallback to
4878         avoid compilation warning on mingw.
4879
4880 2006-07-26  Bruno Haible  <bruno@clisp.org>
4881
4882         * m4/stdint.m4 (gl_STDINT_H): Also verify the existence of the macros
4883         INT*_MIN, INT_LEAST*_MAX, INT_LEAST*_MIN, UINT_LEAST*_MAX,
4884         INT_FAST*_MIN, INTPTR_MIN.
4885
4886 2006-07-25  Bruno Haible  <bruno@clisp.org>
4887
4888         * modules/version-etc (Depends-on): Add stdarg.
4889
4890 2006-07-25  Bruno Haible  <bruno@clisp.org>
4891
4892         * m4/stdint.m4 (gl_INTEGER_TYPE_SUFFIX): Avoid 'eval' in front of
4893         complex commands.
4894
4895 2006-07-25  Bruno Haible  <bruno@clisp.org>
4896
4897         * lib/version-etc.c (version_etc_va): Use va_copy, assumed to be
4898         defined in <stdarg.h> or config.h.
4899
4900 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
4901
4902         * m4/stdio-safer.m4 (gl_FOPEN_SAFER, gl_TMPFILE_SAFER): New macros.
4903         (gl_STDIO_SAFER): Remove.
4904
4905 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
4906
4907         * MODULES.html.sh (File stream based Input/Output):
4908         Add fopen-safer, tmpfile-safer; remove stdio-safer.
4909         * modules/getusershell (Depends-on): Change stdio-safer to fopen-safer.
4910         * modules/fopen-safer, modules/tmpfile-safer: New files.
4911         * modules/stdio-safer: Remove.
4912
4913 2006-07-24  Bruno Haible  <bruno@clisp.org>
4914
4915         * modules/tmpdir: New file.
4916         * MODULES.html.sh (File system functions): Add it.
4917
4918 2006-07-24  Bruno Haible  <bruno@clisp.org>
4919
4920         * modules/javacomp (Depends-on): Add unistd, javaversion, binary-io,
4921         getline, pathname, fwriteerror, clean-temp, xvasprintf, strstr.
4922
4923 2006-07-24  Bruno Haible  <bruno@clisp.org>
4924
4925         * modules/clean-temp: New file.
4926
4927 2006-07-24  Bruno Haible  <bruno@clisp.org>
4928
4929         * m4/tmpdir.m4: New file, from GNU gettext.
4930
4931 2006-07-24  Bruno Haible  <bruno@clisp.org>
4932
4933         * lib/tmpdir.h: New file, from GNU gettext.
4934         * lib/tmpdir.c: New file, from GNU gettext.
4935
4936 2006-07-24  Bruno Haible  <bruno@clisp.org>
4937
4938         * lib/clean-temp.h: New file, from GNU gettext.
4939         * lib/clean-temp.c: New file, from GNU gettext.
4940
4941 2006-07-23  Eric Blake  <ebb9@byu.net>
4942
4943         * modules/stdio-safer (Files): Add tmpfile-safer.c.
4944         (Depends-on): Add binary-io.
4945
4946 2006-07-23  Eric Blake  <ebb9@byu.net>
4947
4948         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add tmpfile-safer.c.
4949
4950 2006-07-23  Eric Blake  <ebb9@byu.net>
4951
4952         * lib/tmpfile-safer.c: New file.
4953         * lib/stdio-safer.h (fopen_safer): Add prototype.
4954         * lib/stdio--.h (tmpfile): Make safer.
4955
4956 2006-07-23  Bruno Haible  <bruno@clisp.org>
4957
4958         * lib/gl_anylinked_list2.h (ASYNCSAFE): New macro.
4959         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before,
4960         gl_linked_add_after, gl_linked_add_at, gl_linked_remove_node,
4961         gl_linked_remove_at): Use it.
4962
4963 2006-07-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
4964         and Simon Josefsson <jas@extundo.com>
4965
4966         * lib/getaddrinfo.h (AI_PASSIVE): Make sure it is defined.
4967
4968         * lib/getaddrinfo.c (getaddrinfo): Support AI_PASSIVE.
4969
4970 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
4971
4972         * modules/close-stream: New file.
4973         * modules/closeout (Description): Make it clear that it exits
4974         with a diagnostic on error.
4975         (Depends-on): Add close-stream.  Remove fpending, stdbool.
4976         * MODULES.html.sh (File stream based Input/Output): Add close-stream.
4977
4978 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
4979
4980         * m4/close-stream.m4: New file.
4981
4982 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
4983
4984         * lib/close-stream.c, lib/close-stream.h: New files.
4985
4986 2006-07-22  Bruno Haible  <bruno@clisp.org>
4987
4988         Merge from GNU gettext 0.15.
4989
4990         2006-05-01  Bruno Haible  <bruno@clisp.org>
4991
4992                 * build-aux/javacomp.sh.in: Update for changed javacomp.m4.
4993
4994         2006-07-22  Bruno Haible  <bruno@clisp.org>
4995
4996                 * modules/javaversion: New file.
4997                 * MODULES.html.sh (Java): Add javaversion.
4998
4999         2006-03-12  Bruno Haible  <bruno@clisp.org>
5000
5001                 * build-aux/javaexec.sh.in: Update for changed javaexec.m4.
5002
5003         2005-12-04  Bruno Haible  <bruno@clisp.org>
5004
5005                 * build-aux/csharpexec.sh.in: Add support for 'clix' launcher
5006                 (untested).
5007
5008         2006-06-21  Bruno Haible  <bruno@clisp.org>
5009
5010                 Avoid warnings from recent versions of mcs.
5011                 * build-aux/csharpcomp.sh.in (options_mcs): Don't use options
5012                 -o, -L, -r any more. Use options documented since mcs-1.0
5013                 instead. Similarly for -g.
5014
5015         2005-12-04  Bruno Haible  <bruno@clisp.org>
5016
5017                 * build-aux/csharpcomp.sh.in: Suffix for resources is
5018                 .resources, not .resource.
5019
5020         2005-07-09  Bruno Haible  <bruno@clisp.org>
5021
5022                 * build-aux/csharpcomp.sh.in (options_csc): For -l option,
5023                 add a .dll suffix.
5024                 Reported by Mark Junker <mjscod@gmx.de>.
5025
5026         2006-07-22  Bruno Haible  <bruno@clisp.org>
5027
5028                 * modules/gettext: Upgrade to gettext-0.15.
5029                 (Files): Remove m4/isc-posix.m4. Add m4/lock.m4,
5030                 m4/visibility.m4.
5031                 Replace m4/inttypes.m4 with m4/inttypes-h.m4.
5032
5033 2006-07-22  Bruno Haible  <bruno@clisp.org>
5034
5035         Merge from GNU gettext 0.15.
5036
5037         2006-03-25  Bruno Haible  <bruno@clisp.org>
5038
5039                 * lib-link.m4 (AC_LIB_LINKFLAGS_FROM_LIBS): New macro.
5040
5041         2006-07-21  Bruno Haible  <bruno@clisp.org>
5042
5043                 * javacomp.m4 (gt_JAVACOMP): Convert target_version "null" to
5044                 "1.1".
5045
5046         2006-05-09  Bruno Haible  <bruno@clisp.org>
5047
5048                 * javacomp.m4 (gt_JAVACOMP): On Cygwin, set
5049                 CLASSPATH_SEPARATOR to a semicolon. Use CLASSPATH_SEPARATOR
5050                 for the conftestver execution.
5051
5052         2006-05-01  Bruno Haible  <bruno@clisp.org>
5053
5054                 * javacomp.m4 (gt_JAVACOMP): Accept a source-version and an
5055                 optional target-version argument. Verify that the compiler
5056                 groks source of the specified source-version, or add -source
5057                 option as necessary. Verify that the compiler produces
5058                 bytecode in the specified target-version, or add -target and
5059                 -source options as necessary. Make the result of the test
5060                 available as variable CONF_JAVAC. Also log error output in
5061                 config.log.
5062
5063         2006-03-11  Bruno Haible  <bruno@clisp.org>
5064
5065                 * javacomp.m4 (gt_JAVACOMP): Treat gcj-4.x like gcj-3.x.
5066
5067         2006-05-09  Bruno Haible  <bruno@clisp.org>
5068
5069                 * javaexec.m4 (gt_JAVAEXEC): On Cygwin, set
5070                 CLASSPATH_SEPARATOR to a semicolon.
5071
5072         2006-03-12  Bruno Haible  <bruno@clisp.org>
5073
5074                 * javaexec.m4 (gt_JAVAEXEC): Make the result of the test
5075                 available as variable CONF_JAVA, for subsequent autoconf
5076                 tests. Also log error output in config.log.
5077
5078         2006-07-19  Bruno Haible  <bruno@clisp.org>
5079
5080                 * getline.m4 (AM_FUNC_GETLINE): When cross-compiling, assume
5081                 that getline works on glibc2 systems. Needed to avoid trouble
5082                 in relocatable.c.
5083                 Reported by Nils Magnus Larsgard <nmlarsgaard@atmel.no>.
5084
5085         2005-12-04  Bruno Haible  <bruno@clisp.org>
5086
5087                 * csharpexec.m4 (gt_CSHARPEXEC): Add support for 'clix'
5088                 launcher (untested).
5089
5090         2005-12-04  Bruno Haible  <bruno@clisp.org>
5091
5092                 * csharpcomp.m4 (gt_CSHARPCOMP): Also set CSHARPCOMPFLAGS.
5093
5094         2006-07-22  Bruno Haible  <bruno@clisp.org>
5095
5096                 * gettext.m4: Update from GNU gettext-0.15.
5097                 * nls.m4: Likewise.
5098                 * po.m4: Likewise.
5099                 * inttypes-pri.m4: Likewise.
5100                 * inttypes-h.m4: Renamed from inttypes.m4.
5101                 (gl_HEADER_INTTYPES_H): Renamed from gt_HEADER_INTTYPES_H.
5102
5103 2006-07-22  Bruno Haible  <bruno@clisp.org>
5104
5105         Merge from GNU gettext 0.15.
5106
5107         2005-07-05  Bruno Haible  <bruno@clisp.org>
5108
5109                 * printf-args.c (printf_fetchargs): Work around broken
5110                 definition of wint_t on mingw.
5111
5112         2005-02-12  Bruno Haible  <bruno@clisp.org>
5113
5114                 * xallocsa.h: Add extern "C" for C++.
5115
5116         2006-05-17  Bruno Haible  <bruno@clisp.org>
5117
5118                 Cygwin portability.
5119                 * progreloc.c (WIN32_NATIVE): Renamed from WIN32.
5120
5121         2006-04-30  Bruno Haible  <bruno@clisp.org>
5122
5123                 * progreloc.c: Include <mach-o/dyld.h> if available.
5124                 (find_executable): Use _NSGetExecutablePath when possible.
5125
5126         2006-05-06  Charles Wilson  <cygwin@cwilson.fastmail.fm>
5127
5128                 * progreloc.c (maybe_executable) [CYGWIN]: Use the access()
5129                 function.
5130
5131         2005-12-29  Bruno Haible  <bruno@clisp.org>
5132
5133                 * progreloc.c (set_program_name_and_installdir): Fix
5134                 compilation error.
5135
5136         2005-12-04  Bruno Haible  <bruno@clisp.org>
5137
5138                 Cygwin portability.
5139                 * progreloc.c: Include <windows.h> also on Cygwin.
5140                 (find_executable): Add support for Cygwin.
5141                 (set_program_name_and_installdir): Handle also platforms with
5142                 nonempty EXEEXT.
5143
5144         2006-07-11  Bruno Haible  <bruno@clisp.org>
5145
5146                 * javacomp.c: Fix a comment.
5147                 Reported by Jim Meyering.
5148
5149         2006-04-30  Bruno Haible  <bruno@clisp.org>
5150
5151                 * javacomp.h (compile_java_class): Add source_version,
5152                 target_version arguments.
5153                 * javacomp.c: Rewritten to choose only a compiler that
5154                 respects the specified source_version and target_version.
5155
5156         2006-06-27  Bruno Haible  <bruno@clisp.org>
5157
5158                 Assume correct S_ISDIR macro.
5159                 * mkdtemp.c: Remove test of STAT_MACROS_BROKEN.
5160
5161         2006-07-22  Bruno Haible  <bruno@clisp.org>
5162
5163                 * javaversion.h: New file, from GNU gettext.
5164                 * javaversion.c: New file, from GNU gettext.
5165                 * javaversion.java: New file, from GNU gettext.
5166                 * javaversion.class: New file, from GNU gettext.
5167
5168         2006-05-17  Bruno Haible  <bruno@clisp.org>
5169
5170                 Cygwin portability.
5171                 * javaexec.c (execute_java_class): Test for jview program
5172                 also on Cygwin.
5173
5174         2006-04-09  Bruno Haible  <bruno@clisp.org>
5175
5176                 * fatal-signal.c: Don't include string.h.
5177                 (at_fatal_signal): Use a copying loop instead of memcpy.
5178
5179         2005-12-04  Bruno Haible  <bruno@clisp.org>
5180
5181                 * csharpexec.c: Add support for 'clix' launcher (untested).
5182                 (execute_csharp_using_sscli): New function.
5183                 (execute_csharp_program): Call it.
5184
5185         2006-06-21  Bruno Haible  <bruno@clisp.org>
5186
5187                 Avoid warnings from recent versions of mcs.
5188                 * csharpcomp.c (compile_csharp_using_mono): Don't use options
5189                 -o, -L, -r any more. Use options documented since mcs-1.0
5190                 instead. Similarly for -g.
5191
5192         2005-07-09  Bruno Haible  <bruno@clisp.org>
5193
5194                 * csharpcomp.c (compile_csharp_using_sscli): For -l option,
5195                 add a .dll suffix.
5196                 Reported by Mark Junker <mjscod@gmx.de>.
5197
5198         2006-06-17  Bruno Haible  <bruno@clisp.org>
5199
5200                 * config.charset: Update for NetBSD 3.0.
5201
5202         2006-05-17  Bruno Haible  <bruno@clisp.org>
5203
5204                 Cygwin portability.
5205                 * localcharset.c (WIN32_NATIVE): Renamed from WIN32.
5206
5207         2006-05-16  Bruno Haible  <bruno@clisp.org>
5208
5209                 * localcharset.c [CYGWIN]: Include <windows.h>.
5210                 (get_charset_aliases): For Cygwin, return the same CPxxx
5211                 aliases list as under WIN32.
5212                 (locale_charset) [CYGWIN]: Try to retrieve the encoding from
5213                 the environment variables. Fall back to GetACP().
5214
5215         2006-04-05  Bruno Haible  <bruno@clisp.org>
5216
5217                 * config.charset: Update Juan Manuel Guerrero's address.
5218
5219         2005-02-12  Bruno Haible  <bruno@clisp.org>
5220
5221                 * allocsa.h: Add extern "C" for C++.
5222
5223         2005-02-10  Bruno Haible  <bruno@clisp.org>
5224
5225                 * allocsa.h (sa_alignof): Define differently with AIX xlc, to
5226                 avoid a bug of this compiler on AIX 3.2.5 dealing with enums.
5227
5228         2006-07-22  Bruno Haible  <bruno@clisp.org>
5229
5230                 * gettext.h: Update to GNU gettext-0.15.
5231
5232 2006-07-22  Bruno Haible  <bruno@clisp.org>
5233
5234         * config/srclist.txt: Resync printf-args.c, vasnprintf.c,
5235         localcharset.c, mkdtemp.c, config.rpath, lib-ld.m4, lib-link.m4,
5236         lib-prefix.m4, longdouble.m4, ssize_t.m4.
5237
5238 2006-07-21  Eric Blake  <ebb9@byu.net>
5239
5240         * modules/stdlib-safer: New file.
5241         * MODULES.html.sh (File stream based Input/Output): Add
5242         stdlib-safer.
5243
5244 2006-07-21  Eric Blake  <ebb9@byu.net>
5245
5246         * lib/stdlib-safer.h: New file from coreutils, required by
5247         stdlib--.h.
5248
5249 2006-07-20  Paul Eggert  <eggert@cs.ucla.edu>
5250
5251         * gnulib-tool (func_usage): Document --assume-autoconf='latest-stable'.
5252
5253 2006-07-20  Bruno Haible  <bruno@clisp.org>
5254
5255         * gnulib-tool: Recognize new option --assume-autoconf.
5256         (autoconf_minversion): New variable.
5257         (func_get_filelist): Use it to decide whether to add onceonly_2_57.m4.
5258
5259 2006-07-20  Bruno Haible  <bruno@clisp.org>
5260
5261         * MODULES.html.sh (func_all_modules): Add a missing func_begin_table.
5262
5263 2006-07-19  Derek R. Price  <derek@ximbiot.com>
5264
5265         * lib/getaddrinfo.h: Don't define unimplemented AI_* flags.
5266         Reindent and repaginate.
5267
5268 2006-07-19  Derek Price  <derek@ximbiot.com>
5269
5270         * doc/gnulib.texi (Libtool and Windows):  Eliminate passive voice.
5271         Correct grammar.
5272
5273 2006-07-17  Bruno Haible  <bruno@clisp.org>
5274
5275         * modules/list: New file.
5276         * modules/array-list: New file.
5277         * modules/carray-list, modules/carray-list-tests: New files.
5278         * modules/linked-list, modules/linked-list-tests: New files.
5279         * modules/avltree-list, modules/avltree-list-tests: New files.
5280         * modules/rbtree-list, modules/rbtree-list-tests: New files.
5281         * modules/linkedhash-list, modules/linkedhash-list-tests: New files.
5282         * modules/avltreehash-list, modules/avltreehash-list-tests: New files.
5283         * modules/rbtreehash-list, modules/rbtreehash-list-tests: New files.
5284         * modules/oset: New file.
5285         * modules/array-oset: New file.
5286         * modules/avltree-oset, modules/avltree-oset-tests: New files.
5287         * modules/rbtree-oset, modules/rbtree-oset-tests: New files.
5288         * tests/test-carray_list.c: New file.
5289         * tests/test-linked_list.c: New file.
5290         * tests/test-avltree_list.c: New file.
5291         * tests/test-rbtree_list.c: New file.
5292         * tests/test-linkedhash_list.c: New file.
5293         * tests/test-avltreehash_list.c: New file.
5294         * tests/test-rbtreehash_list.c: New file.
5295         * tests/test-avltree_oset.c: New file.
5296         * tests/test-rbtree_oset.c: New file.
5297         * MODULES.html.sh (Container data structures): New section.
5298
5299 2006-07-17  Bruno Haible  <bruno@clisp.org>
5300
5301         * m4/gl_list.m4: New file.
5302
5303 2006-07-17  Bruno Haible  <bruno@clisp.org>
5304
5305         * lib/gl_list.h: New file.
5306         * lib/gl_list.c: New file.
5307         * lib/gl_array_list.h: New file.
5308         * lib/gl_array_list.c: New file.
5309         * lib/gl_carray_list.h: New file.
5310         * lib/gl_carray_list.c: New file.
5311         * lib/gl_linked_list.h: New file.
5312         * lib/gl_linked_list.c: New file.
5313         * lib/gl_anylinked_list1.h: New file.
5314         * lib/gl_anylinked_list2.h: New file.
5315         * lib/gl_avltree_list.h: New file.
5316         * lib/gl_avltree_list.c: New file.
5317         * lib/gl_anyavltree_list1.h: New file.
5318         * lib/gl_anyavltree_list2.h: New file.
5319         * lib/gl_rbtree_list.h: New file.
5320         * lib/gl_rbtree_list.c: New file.
5321         * lib/gl_anyrbtree_list1.h: New file.
5322         * lib/gl_anyrbtree_list2.h: New file.
5323         * lib/gl_anytree_list1.h: New file.
5324         * lib/gl_anytree_list2.h: New file.
5325         * lib/gl_linkedhash_list.h: New file.
5326         * lib/gl_linkedhash_list.c: New file.
5327         * lib/gl_anyhash_list1.h: New file.
5328         * lib/gl_anyhash_list2.h: New file.
5329         * lib/gl_avltreehash_list.h: New file.
5330         * lib/gl_avltreehash_list.c: New file.
5331         * lib/gl_rbtreehash_list.h: New file.
5332         * lib/gl_rbtreehash_list.c: New file.
5333         * lib/gl_anytreehash_list1.h: New file.
5334         * lib/gl_anytreehash_list2.h: New file.
5335
5336         * lib/gl_oset.h: New file.
5337         * lib/gl_oset.c: New file.
5338         * lib/gl_array_oset.h: New file.
5339         * lib/gl_array_oset.c: New file.
5340         * lib/gl_avltree_oset.h: New file.
5341         * lib/gl_avltree_oset.c: New file.
5342         * lib/gl_rbtree_oset.h: New file.
5343         * lib/gl_rbtree_oset.c: New file.
5344         * lib/gl_anytree_oset.h: New file.
5345
5346 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
5347
5348         * m4/mkancesdirs.m4: New file.
5349         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Mention dirchownmod.c,
5350         dirchownmod.h.  Don't require AC_FUNC_ALLOCA, gl_AFS, gl_CHDIR_SAFER;
5351         no longer needed.  Require gl_FUNC_LCHOWN, since dirchownmod.c needs
5352         it.
5353
5354 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
5355
5356         * lib/dirchownmod.c, lib/dirchownmod.h, lib/mkancesdirs.c:
5357         * lib/mkancesdirs.h: New files.
5358         * lib/mkdir-p.c: Don't include alloca.h, stdio.h, sys/types.h,
5359         unistd.h, string.h, chdir-safer.h, dirname.h, lchmod.h, lchown.h,
5360         save-cwd.h.  Instead, include dirchownmod.h and mkancesdirs.h.
5361         (make_dir_parents): New args MAKE_ANCESTOR, OPTIONS, ANNOUNCE,
5362         MODE_BITS.  Remove options VERBOSE_FMT_STRING, CWD_ERRNO.  All
5363         callers changed.  Revamp internals significantly, by not
5364         attempting to create directories that are temporarily more
5365         permissive than the final results.  Do not attempt to use
5366         save_cwd/restore_cwd; it isn't worth it for mkdir and install.
5367         This removes some race conditions, fixes some bugs, and simplifies
5368         things.  Use new dirchownmod function to do owner and mode changes.
5369         * lib/mkdir-p.h: Likewise.
5370         * lib/modechange.c (octal_to_mode): New function.
5371         (struct mode_change): New member mentioned.
5372         (make_node_op_equals): New arg mentioned.  All callers changed.
5373         (mode_compile): Keep track of which mode bits the user has explicitly
5374         mentioned.
5375         (mode_adjust): New arg DIR, so that we implement the X op correctly.
5376         New arg PMODE_BITS, to keep track of which mode bits the user
5377         mentioned; it treats S_ISUID and S_ISGID speciall.
5378         All callers changed.
5379         * lib/modechange.h: Likewise.
5380
5381 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
5382
5383         * MODULES.html.sh: Add mkancestors.
5384         * modules/mkancesdirs: New module.
5385         * modules/mkdir-p (Files): Remove lib/chdir-safer.c, lib/chdir-safer.h,
5386         lib/same-inode.h, m4/afs.m4, m4/chdir-safer.m4.
5387         The chdir-safer and afs files are now orphans; I'll remove them
5388         unless someone speaks up.
5389         Add lib/dirchownmod.c, lib/dirchownmod.h.
5390         (Depends-on): Remove alloca, chown, save-cwd, dirname.
5391         Add lchown, mkancesdirs.
5392         (Maintainer): Add self.
5393
5394 2006-07-15  Karl Berry  <karl@gnu.org>
5395
5396         * gnulib-tool: help message wording/arrangement.
5397
5398 2006-07-14  Simon Josefsson  <jas@extundo.com>
5399
5400         * doc/gnulib.texi (Libtool and Windows): New section.
5401
5402 2006-07-12  Simon Josefsson  <jas@extundo.com>
5403
5404         * modules/gendocs (License): Fix license, approved by Karl.
5405
5406 2006-07-12  Eric Blake  <ebb9@byu.net>
5407
5408         * MODULES.html.sh: Add gendocs.
5409
5410 2006-07-11  Eric Blake  <ebb9@byu.net>
5411
5412         * modules/fdl: New module, to install doc/fdl.texi.
5413         * MODULES.html.sh: Add new section for documentation modules.
5414         * gnulib-tool: Avoid space-tab.
5415         (--doc-base): New option, to manage files from doc.
5416
5417 2006-07-11  Eric Blake  <ebb9@byu.net>
5418
5419         * m4/absolute-header.m4: Fix comments to match recent change.
5420
5421 2006-07-11  Eric Blake  <ebb9@byu.net>
5422
5423         * gnulib-tool: List --doc-base before --tests-base.
5424
5425 2006-07-11  Derek R. Price  <derek@ximbiot.com>
5426
5427         * lib/glob.c: s/NAMLEN/_D_EXACT_NAMLEN/.
5428
5429 2006-07-11  Bruno Haible  <bruno@clisp.org>
5430
5431         * README: Mention where to put documentation.
5432
5433 2006-07-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
5434
5435         * doc/functions.texi, gnulib-tool.texi, gnulib.texi: Fix some typos.
5436
5437 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
5438
5439         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Like today's change
5440         to stdint.m4.
5441
5442 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
5443
5444         * m4/stdint.m4 (gl_STDINT_H): Like yesterday's change to
5445         absolute-header.m4.  Also, set ABSOLUTE_STDINT_H to a string
5446         "no/such/file/stdint.h" when there is no such file, so that
5447         the resulting C code can be parsed by dodgy compilers.
5448         Problems reported by Bob Proulx.
5449
5450 2006-07-10  Derek R. Price  <derek@ximbiot.com>
5451
5452         * lib/backupfile.c, dirfd.h, fts.c, getcwd.c, glob.c, glob_.h:
5453         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
5454         macros into the GNU _D_EXACT_NAMLEN.
5455         * lib/savedir.c:  Likewise.
5456         (savedirstream): Use _D_EXACT_NAMLEN in preference to strlen.
5457
5458 2006-07-10  Derek R. Price  <derek@ximbiot.com>
5459         and Paul Eggert  <eggert@cs.ucla.edu>
5460
5461         * m4/backupfile.m4, d-ino.m4, d-type.m4, dirfd.m4, fts.m4, getcwd.m4:
5462         * m4/savedir.m4:
5463         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
5464         macros into the GNU _D_EXACT_NAMLEN.
5465
5466 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
5467
5468         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Use "" rather than <>
5469         around the absolute name, to work around a problem with the HP-UX
5470         11.23 native C compiler, reported by Bob Proulx.
5471
5472 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
5473
5474         * doc/maintain.texi, make-stds.texi: Sync from
5475         <http://savannah.gnu.org/projects/gnustandards>.
5476
5477 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
5478
5479         * build-aux/depcomp, build-aux/install-sh: Sync from Automake.
5480
5481 2006-07-09  Jim Meyering  <jim@meyering.net>
5482
5483         * m4/glob.m4: Remove a doubled word in a comment.
5484
5485 2006-07-09  Jim Meyering  <jim@meyering.net>
5486
5487         * lib/argp-pv.c: Remove a doubled word in a comment.
5488         * lib/check-version.c (check_version): Likewise.
5489         * lib/javacomp.c (compile_java_class): Likewise.
5490
5491 2006-07-08  Paul Eggert  <eggert@cs.ucla.edu>
5492
5493         * gnulib-tool (func_get_filelist): Don't echo m4/onceonly_2_57.m4,
5494         for the benefit of people using Autoconf 2.60.  If you want to
5495         support older Autoconf versions you can copy m4/onceonly_2_57.m4
5496         (or m4/onceonly.m4, if pre-2.57) manually.
5497
5498 2006-07-08  Jim Meyering  <jim@meyering.net>
5499
5500         * m4/link-follow.m4: Remove one of two adjacent "whether"s in a
5501         comment.
5502         * m4/getopt.m4: Remove one of two adjacent "your"s in a comment.
5503         * m4/regex.m4 (gl_REGEX): Remove one of two adjacent "the"s in a
5504         comment.
5505
5506 2006-07-08  Jim Meyering  <jim@meyering.net>
5507
5508         * lib/getndelim2.h (getndelim2): Remove doubled "after" in comment.
5509
5510 2006-07-07  Simon Josefsson  <jas@extundo.com>
5511
5512         * tests/test-crc.c: Change expected crc value, the test vector
5513         were probably computed using the old broken crc.c?
5514
5515 2006-07-06  Simon Josefsson  <jas@extundo.com>
5516
5517         * modules/sys_socket (Files): Add m4/sockpfaf.m4 (this module is
5518         now the canonical place for the M4 file).
5519
5520         * modules/getaddrinfo (Files): Remove m4/sockpfaf.m4, we get it
5521         from the sys_socket dependency now.
5522
5523         * modules/inet_pton (Files): Ditto.
5524
5525         * modules/inet_ntop (Files): Ditto.
5526
5527 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
5528
5529         * modules/getusershell (configure.ac): Use gl_FUNC_GETUSERSHELL,
5530         not gl_PREREQ_GETUSERSHELL.
5531
5532 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
5533
5534         * m4/_inttypes_h.m4 (gl_INTTYPES_H): Use AC_CHECK_DECLS_ONCE
5535         with only one argument, for Autoconf 2.60.
5536         * m4/fileblocks.m4 (gl_PREREQ_FILEBLOCKS): AC_CHECK_DECLS_ONCE may
5537         expand to nothing, so add a shell command to avoid syntax error.
5538         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
5539
5540 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
5541
5542         * lib/strtod.c (strtod): cast the argument of tolower to unsigned char.
5543
5544 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
5545
5546         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't check for getenv decl;
5547         no longer needed.  Check for isblank decl.
5548         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Don't check for getenv decl.
5549         * m4/regex.m4 (gl_PREREQ_REGEX): Dheck for isblank decl instead
5550         of existence.
5551
5552 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
5553
5554         * lib/getloadavg.c: Use __VMS, not VMS.
5555         * lib/getopt.c: Likewise.
5556         * lib/getpagesize.h: Likewise.
5557         * lib/glob.c: Remove most VMS cruft; it hasn't been tested for a while
5558         and probably does not work.
5559
5560 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
5561
5562         * lib/.cppi-disable: Add wcwidth.
5563         * lib/fnmatch.c (ISBLANK): Remove.  All uses changed to isblank.
5564         (isblank) [! (defined isblank || HAVE_DECL_ISBLANK)]: New macro.
5565         (ISGRAPH): Remove.  All uses changed to isgraph.
5566         (FOLD) [!defined _LIBC]: Remove special case.
5567         * lib/getdate.y (lookup_word): Remove no-longer-needed call to islower.
5568         * lib/regex_internal.h (isblank): Depend on HAVE_DECL_ISBLANK, not
5569         HAVE_ISBLANK.
5570         * lib/strftime.c (TOLOWER, TOUPPER) [!defined _LIBC]: Remove special
5571         case.
5572
5573 2006-07-06  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
5574
5575         * lib/getaddrinfo.c: Changes to compile under MSVC6: changed
5576         '#if WIN32_NATIVE' to '#ifdef' & moved WSAAPI macro inside
5577         brackets.  Other minor changes to suppress some compiler
5578         warnings.
5579
5580 2006-07-06  Derek R. Price  <derek@ximbiot.com>
5581         and Paul Eggert  <eggert@cs.ucla.edu>
5582
5583         * m4/backupfile.m4 (gl_BACKUPFILE): Check for dirent.h, instead
5584         of invoking obsolescent AC_HEADER_DIRENT macro.
5585         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
5586         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Likewise.
5587         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
5588         * m4/fts.m4 (gl_FUNC_FTS_CORE): Likewise.
5589         * m4/getcwd.m4 (gl_PREREQ_GETCWD): Likewise.
5590         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
5591         * m4/savedir.m4 (gl_SAVEDIR): Likewise.
5592         * m4/readdir.m4: Remove; no longer needed.
5593
5594 2006-07-06  Derek R. Price  <derek@ximbiot.com>
5595         and Paul Eggert  <eggert@cs.ucla.edu>
5596
5597         * lib/backupfile.c [HAVE_DIRENT_H && ! HAVE_NDIR_H]:
5598         Don't worry about this obsolete case any more.
5599         (HAVE_DIR): Remove.  All uses removed; we now assume you can read
5600         directories.
5601         * lib/dirfd.h [HAVE_DIRENT_H && ! HAVE_NDIR_H]: Don't
5602         worry about this obsolete case any more.
5603         * lib/fts.c: Likewise.
5604         * lib/getcwd.c: Likewise.
5605         * lib/glob.h: Likewise.
5606         * lib/savedir.c: Likewise.
5607
5608 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
5609
5610         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Use AC_CHECK_DECLS_ONCE
5611         rather than AC_CHECK_DECLS for strtoimax and strtoumax.
5612         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Remove; no longer
5613         needed.
5614         All uses removed.
5615         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
5616         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
5617         * m4/exclude.m4 (gl_EXCLUDE): Don't check for isascii; no longer
5618         needed.
5619         * m4/getdate.m4 (gl_GETDATE): Likewise.
5620         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
5621         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
5622         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
5623         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
5624         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
5625         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
5626         * m4/exclude.m4 (gl_EXCLUDE): Don't require AC_C_INLINE; no longer
5627         needed.
5628
5629 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
5630
5631         * lib/memcasecmp.c: Include <limits.h>.
5632         (memcasecmp): Don't assume UCHAR_MAX <= INT_MAX.
5633         * lib/strtod.c (strtod): Don't assume isspace works on negative chars.
5634         Don't assume isdigit succeeds only on '0' through '9'.
5635
5636 2006-07-05  Eric Blake  <ebb9@byu.net>
5637
5638         * modules/getaddrinfo (Depends-on): Add snprintf.
5639
5640 2006-07-05  Eric Blake  <ebb9@byu.net>
5641
5642         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Use gl_HEADER_SYS_SOCKET
5643         to avoid 'header present but could not be compiled' on cygwin.
5644
5645 2006-07-05  Eric Blake  <ebb9@byu.net>
5646
5647         * lib/getaddrinfo.h (NI_NUMERICHOST, NI_NUMERICSERV): Define if
5648         missing from netdb.h.
5649         * lib/getaddrinfo.c (includes): Include inet_ntop and snprintf.
5650
5651 2006-07-05  Derek R. Price  <derek@ximbiot.com>
5652
5653         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Don't require AC_HEADER_STDC;
5654         no longer needed.
5655         * m4/exclude.m4 (gl_EXCLUDE): Likewise.
5656         * m4/getdate.m4 (gl_GETDATE): Likewise.
5657         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
5658         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
5659         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
5660         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
5661         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
5662
5663 2006-07-05  Derek R. Price  <derek@ximbiot.com>
5664
5665         * lib/exclude.c (IN_CTYPE_DOMAIN, is_space): Remove; no longer needed.
5666         All uses of is_space replaced by isspace.
5667         * lib/exit.h: Don't talk about STDC_HEADERS.
5668         * lib/fnmatch.c (ISASCII): Remove; no longer needed.  All uses removed.
5669         (ISPRINT, ISDIGIT, ISALNUM, ISALPHA, ISCNTRL, ISLOWER, ISPUNCT):
5670         (ISSPACE, ISUPPER, ISXDIGIT): Remove; no longer needed.  All uses
5671         replaced by isprint etc.
5672         * lib/getdate.y (IN_CTYPE_DOMAIN, ISSPACE, ISALPHA, ISLOWER): Likewise.
5673         * lib/getusershell.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
5674         * lib/memcasecmp.c (IN_CTYPE_DOMAIN, ISLOWER, TOUPPER): Likewise.
5675         * lib/strtod.c (IN_CTYPE_DOMAIN, ISSPACE, ISDIGIT, TOLOWER): Likewise.
5676         * lib/strtol.c (IN_CTYPE_DOMAIN): Likewise.
5677         * lib/xstrtol.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
5678
5679 2006-07-05  Bruno Haible  <bruno@clisp.org>
5680
5681         * m4/strndup.m4 (gl_FUNC_STRNDUP): When cross-compiling, check whether
5682         the function exists, before testing against AIX.
5683         Reported by Martin Lambers <marlam@marlam.de>.
5684
5685 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
5686
5687         * modules/cycle-check (lib_SOURCES): Add same-inode.h.
5688         From Mark D. Baushke.
5689
5690 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
5691
5692         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Prepend three slashes
5693         to the absolute name, not just one, to bypass Sun C 5.8's
5694         "warning: #include of /usr/include/... may be non-portable".
5695
5696 2006-07-04  Eric Blake  <ebb9@byu.net>
5697
5698         * modules/dirname-tests: New test module.
5699         * tests/test-dirname.c: New file, replacing dirname.c
5700         TEST_DIRNAME section that was recently deleted.
5701
5702 2006-07-04  Bruno Haible  <bruno@clisp.org>
5703
5704         Assume ANSI C header files and <ctype.h> functions.
5705         * lib/mbswidth.c (IN_CTYPE_DOMAIN, ISPRINT, ISCNTRL): Remove macros.
5706         (mbsnwidth): Use isprint, iscntrl instead.
5707
5708 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
5709
5710         Merge from coreutils.
5711         * MODULES.html.sh: Add xstrtold.
5712         * modules/xstrtold: New file.
5713         * modules/cycle-check (Files): Add lib/same-inode.h.
5714         * modules/dirname (Files): Add m4/double-slash-root.m4.
5715         * modules/getcwd (Files): Add m4/getcwd-abort-bug.m4.
5716         * modules/mkdir-p (Files): Add lib/same-inode.h.
5717         * modules/same (Files): Add lib/same-inode.h.
5718
5719 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
5720
5721         * m4/absolute-header.m4: Renamed from full-header-path.m4.
5722         This is to keep the terminology clean; POSIX talks about
5723         "absolute pathnames", not "full pathnames", but the GNU
5724         Coding Standards say to use "path" for something else;
5725         so use "absolute" to keep both sides happy.
5726         (gl_ABSOLUTE_HEADER): Renamed from gl_FULL_HEADER_PATH.
5727         Set gl_absolute_header, not gl_full_header_path.
5728         Set gl_cv_absolute_<header>, not gl_full_path_<header>.
5729         Define ABSOLUTE_<HEADER>, not FULL_PATH_<HEADER>.
5730         All uses changed.
5731
5732         Merge from coreutils.
5733
5734         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
5735
5736         * m4/c-strtod.m4 (gl_C_STRTOLD): Add c-strtod.c to LIBSOURCES.
5737         Require gl_USE_SYSTEM_EXTENSIONS, not gl_C_STRTOD, since we don't
5738         want to require the building of c-strtod.o.
5739         * m4/lib-check.m4 (cu_LIB_CHECK): Remove SEQ_LIBM, since seq no longer
5740         needs -lm directly.
5741         * m4/xstrtod.m4 (gl_XSTRTOLD): New macro.
5742
5743         2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
5744
5745         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Prefer binutils's
5746         --as-needed option if available.  Problem reported by Albert Chin in
5747         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00114.html>.
5748         However, use -Wl,--as-needed, not bare --as-needed, since HP-UX 11.11
5749         cc merely issues a bunch of annoying warnings for --as-needed
5750         (this problem was reported by Bob Proulx).  Also, try linking with
5751         -lm to detect a bug in binutils 2.16 (this problem was reported
5752         by Ralf Wildenhues).
5753
5754         2006-06-18  Jim Meyering  <jim@meyering.net>
5755
5756         Test for a bug that causes glibc's getcwd to suffer a failed assertion.
5757         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): New file and
5758         macro.
5759         * m4/getcwd.m4 (gl_FUNC_GETCWD): If we detect support for getcwd_null,
5760         also check for glibc-2.4's abort-inducing bug.
5761
5762         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Fix typo.
5763         Low-probability clean-up should be to use rmdir to get rid of
5764         the just-created directory, not unlink.
5765
5766         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): If ftruncate is missing, make
5767         configure fail, and request a bug report to inform us about it.
5768         Add a comment that, barring reports to the contrary, in 2007 we'll
5769         assume ftruncate is universally available.
5770
5771         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
5772
5773         * m4/filemode.m4 (gl_FILEMODE): Check for strmode declaration.
5774
5775         2006-03-12  Jim Meyering  <jim@meyering.net>
5776
5777         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Add same-inode.h to the list.
5778         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Likewise.
5779         * m4/same.m4 (gl_SAME): Likewise.
5780         * m4/root-dev-ino.m4 (gl_ROOT_DEV_INO): Likewise.
5781
5782         2006-03-11  Eric Blake  <ebb9@byu.net>
5783
5784         * m4/double-slash-root.m4: New file, provides gl_DOUBLE_SLASH_ROOT.
5785         * m4/dirname.m4 (gl_DIRNAME): Use gl_DOUBLE_SLASH_ROOT.
5786         * m4/dos.m4 (FILE_SYSTEM_PREFIX_LEN): Move from here to dirname.h.
5787         (FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE): New define.
5788
5789 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
5790
5791         * lib/stdint_.h: Include <sys/types.h> after @FULL_PATH_STDINT_H@, for
5792         MacOS X 10.4.6.  Don't mention <sys/int_types.h>.  Problems
5793         reported by Mark D. Baushke, one in
5794         <http://lists.gnu.org/archive/html/bug-gnulib/2006-07/msg00015.html>.
5795
5796         Merge from coreutils.
5797
5798         * lib/.cppi-disable: Add stdint_.h.
5799         * lib/.cvsignore: Add stdint.h.
5800
5801         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
5802
5803         * lib/xstrtod.c (XSTRTOD, DOUBLE): New macros, so that we can support
5804         both double and long double versions.
5805         (XSTRTOD): Renamed from xstrtod.  Use DOUBLE internally.
5806         * lib/xstrtold.c: New file.
5807         * lib/xstrtod.h (xstrtold): New decl.
5808
5809         2006-05-22  Paul Eggert  <eggert@cs.ucla.edu>
5810
5811         * lib/filemode.c (setst): Remove.
5812         (strmode): Rewrite to avoid setst.  This makes the code shorter,
5813         (arguably) clearer, and the generated code is a bit smaller on my
5814         Debian GNU/Linux stable x86 host.
5815
5816         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
5817
5818         * lib/filemode.c: Include "filemode.h" first, to test the interface.
5819         Assume that filemode.h includes sys/types.h and sys/stat.h.
5820         (HAVE_ST_DM_MODE): New macro, moved here from ls.c.
5821         (ftypelet): Reorder to put common cases first, for efficiency.
5822         Add 'P', 'w'.  Remove 'M', since it's now the caller's responsibility
5823         to do 'M'.
5824         (strmode): Renamed from mode_string, and now stores 12 bytes instead
5825         of 10, for compatibility with FreeBSD.  All callers changed.
5826         (filemodestring): Now stores 12 bytes instead of 10, and sets file
5827         types that can't be deduced solely from st_mode.  First arg is now a
5828         const pointer.
5829         * lib/filemode.h (HAVE_DECL_STRMODE): Include <string.h> for strmode.
5830         (strmode): Renamed from mode_string.
5831         (filemodestring): New decl.
5832         * lib/stat-macros.h: Don't undef S_ISDOOR, since it's never buggy.
5833         (S_ISDOOR): Don't bother with S_IFDOOR, since that code is never
5834         needed.
5835         (S_ISPORT, S_ISWHT): New macros, if not already defined.
5836
5837         2006-04-12  Paul Eggert  <eggert@cs.ucla.edu>
5838
5839         * lib/fsusage.c: Don't include <inttypes.h> or <stdint.h>, since
5840         fsusage.h now does that.  Include fsusage.h first, to test interface.
5841         Prefer statvfs if it works, since it's blessed by POSIX.  Attempt
5842         at most one method (the old code could have generated decls that
5843         didn't conform to C89, not that this was ever exercised).
5844         * lib/fsusage.h: Include <inttypes.h> and <stdint.h> if they exist.
5845
5846         2006-03-19  Jim Meyering  <jim@meyering.net>
5847
5848         Work even in a chroot where d_ino values for entries in "/"
5849         don't match the stat.st_ino values for the same names.
5850         * lib/getcwd.c (__getcwd): When no d_ino value matches the target inode
5851         number, iterate through all entries again, using lstat instead.
5852         Reported by Kenshi Muto in http://bugs.debian.org/355810, and by
5853         Zouhir Hafidi in https://bugzilla.redhat.com/bugzilla/190656.
5854
5855         * lib/getcwd.c (__getcwd): Clarify a comment.
5856         Use memcpy in place of a call to strcpy.
5857
5858         2006-03-12  Jim Meyering  <jim@meyering.net>
5859
5860         * lib/fts-cycle.c (leave_dir): If cycle-check's saved dev-ino pair
5861         matches that of the current directory (which we're about to chdir ".."
5862         out of), then save the dev-ino of the parent, instead.
5863
5864         * lib/same-inode.h (SAME_INODE): New file/macro.
5865         * lib/chdir-safer.c (SAME_INODE): Remove definition.
5866         Include "same-inode.h", instead.
5867         * lib/same.c: Likewise.
5868         * lib/cycle-check.h: Include "same-inode.h".
5869         (CYCLE_CHECK_REFLECT_CHDIR_UP): Define.
5870         * lib/cycle-check.c (SAME_INODE): Remove definition.
5871         * lib/root-dev-ino.h: Include "same-inode.h".
5872
5873         2006-03-11  Eric Blake  <ebb9@byu.net>
5874
5875         * lib/same.c (same_name): s/base_name/last_component/
5876         * lib/backupfile.c (check_extension, numbered_backup): Likewise.
5877         * lib/filenamecat.c (file_name_concat): Likewise.
5878
5879         2006-03-11  Eric Blake  <ebb9@byu.net>,
5880                     Paul Eggert  <eggert@cs.ucla.edu>
5881
5882         * lib/dirname.h (FILE_SYSTEM_PREFIX_LEN): Move here from dos.m4.
5883         [FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't treat 1: as a
5884         drive prefix.
5885         (IS_ABSOLUTE_FILE_NAME): Treat all drive letters as absolute on
5886         platforms like cygwin with FILE_SYSTEM_DRIVE_PREFIX_IS_ABSOLUTE.
5887         (last_component): New method.
5888         * lib/dirname.c (dir_len): Determine when drive letters need a
5889         subsequent slash.  Preserve // when it is special.
5890         (dir_name): Don't append dot when drive letter is absolute.
5891         [TEST_DIRNAME]: Move into a full-blown gnulib test.
5892         * lib/basename.c (base_name): New semantics - malloc the result.
5893         Preserve // when it is special.  Preserve relative files that look
5894         like drive letters.
5895         (base_len): Preserve // when it is special.
5896         (last_component): New method, similar to old base_name semantics.
5897         * lib/stripslash.c (strip_trailing_slashes): Use last_component, not
5898         base_name.  Strip redundant slashes from ///.
5899
5900 2006-07-03  Jim Meyering  <jim@meyering.net>
5901
5902         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Abort if this
5903         macro is used before the first cycle_check call.
5904
5905 2006-07-03  Eric Blake  <ebb9@byu.net>
5906
5907         * modules/dirname (Depends-on): Add xstrndup.
5908
5909 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
5910
5911         * m4/stdint.m4 (gl_STDINT_H): Use more-mnemonic identifiers for
5912         test cases, so that config.log is a bit easier to follow.
5913
5914 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
5915
5916         * lib/stdint_.h (intmax_t, uintmax_t): Prefer long to long long if
5917         both are 64 bits, since this seems to be the tradition, and this
5918         prevents gcc -Wformat from warning about usages with PRIuMAX.  If
5919         we ever run into a host that prefers long long to long in this
5920         case, we'll need another configure-time test.  Problem reported by
5921         Jim Meyering.
5922
5923 2006-07-02  Eric Blake  <ebb9@byu.net>
5924
5925         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Simplify by using AC_CHECK_DECLS.
5926
5927 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
5928
5929         * modules/inttypes (Depends-on): No longer depends on stdint.
5930         * modules/stdint (Description): Say more about assumptions.
5931         Say that the fast types might differ.  Say macros are used.
5932         (Files): Remove m4/size_max.m4, m4/wchar_t.m4.  Add m4/longlong.m4.
5933         (Makefile.am): Revise list of substituted symbols to match
5934         new stdint.m4.
5935         * modules/stdint-tests (Files): Add m4/wchar_t.m4, m4/wint_t.m4.
5936         (configure.ac): Add gt_TYPE_WCHAR_T, gt_TYPE_WINT_T.
5937         * tests/test-stdint.c (verify_same_types)
5938         [! (__GNUC__ >= 2 && DO_PEDANTIC)]: Put in a decl, so that
5939         the code conforms to C99/C89.
5940         Test for WCHAR_MIN and WCHAR_MAX only if HAVE_WCHAR_T.
5941         Test for WINT_MIN and WINT_MAX only if HAVE_WINT_T.
5942
5943 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
5944
5945         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Backport from Autoconf 2.60,
5946         but fix a bug, by requiring at least 64 bits.
5947         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise.
5948         * m4/longlong.m4 (gl_AC_TYPE_LONG_LONG): Now just call
5949         AC_TYPE_LONG_LONG_INT.  This macro is obsolete and will go soon.
5950         * m4/ulonglong.m4 (gl_AC_TYPE_UNSIGNED_LONG_LONG) Likewise.
5951
5952         * m4/stdint.m4 (gl_STDINT_H): Rewrite to accommodate stdint_.h
5953         changes.  Make 2.59 a prerequisite.  Check and substitute for
5954         HAVE_LONG_LONG_INT.  Rely on Autoconf to check for stdint.h and
5955         inttypes.h.  Do not use special include files; just use the
5956         defaults.  Check for sys/inttypes.h and sys/bitypes.h in the usual
5957         way now.  Remove no-longer-needed tests for HAVE_LONG_64BIT,
5958         HAVE_LONG_LONG_64BIT, int8_t, int16_t, int32_t, int64_t, uint8_t,
5959         uint16_t, uint32_t uint64_t, int_least8_t, int_least16_t,
5960         int_least32_t, int_least64_t, uint_least8_t, uint_least16_t,
5961         uint_least32_t, uint_least64_t, int_fast8_t, int_fast16_t,
5962         int_fast32_t, int_fast64_t, uint_fast8_t uint_fast16_t,
5963         uint_fast32_t, uint_fast64_t, intptr_t, uintptr_t, intmax_t,
5964         uintmax_t, INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX,
5965         UINT16_MAX, INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN,
5966         INT64_MAX, UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX,
5967         UINT_LEAST8_MAX, INT_LEAST16_MIN, INT_LEAST16_MAX,
5968         UINT_LEAST16_MAX, INT_LEAST32_MIN, INT_LEAST32_MAX,
5969         UINT_LEAST32_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX,
5970         UINT_LEAST64_MAX, INT_FAST8_MIN, INT_FAST8_MAX, UINT_FAST8_MAX,
5971         INT_FAST16_MIN, INT_FAST16_MAX, UINT_FAST16_MAX, INT_FAST32_MIN,
5972         INT_FAST32_MAX, UINT_FAST32_MAX, INT_FAST64_MIN, INT_FAST64_MAX,
5973         UINT_FAST64_MAX, INTPTR_MIN, INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN,
5974         INTMAX_MAX, UINTMAX_MAX, PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN,
5975         SIG_ATOMIC_MAX, SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN,
5976         WINT_MAX.  Check for C99 conformance more strictly, by detecting
5977         bugs in glibc 2.4, Solaris 10, and OpenBSD 3.9.  On the other hand do
5978         not check for things that C99 does not require, e.g., int8_t.  If
5979         a test isn't needed unless <stdint.h> isn't working, and is
5980         unlikely to be needed for any other reason, then don't do it
5981         unless <stdint.h> isn't working.  Do not check for ptrdiff_t or
5982         size_t, since we assume C89 freestanding at least.  Do not check
5983         for sig_atomic_t, wchar_t, or wint_t, since the code now does
5984         the right thing even if the types are not defined.  Instead use:
5985         (gl_STDINT_TYPE_PROPERTIES): New macro.
5986         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H): Remove.  Don't bother
5987         testing whether <sys/types.h> clashes, as Autoconf does this for
5988         us now.  All uses removed.
5989         (gl_STDINT_CHECK_TYPES, gl_STDINT_MISSING_BOUND):
5990         (gl_STDINT_MISSING_BOUNDS, gl_STDINT_MISSING_BOUNDS2):
5991         (gl_CHECK_TYPE_SAME):
5992         Remove; no longer needed.
5993         (gl_STDINT_BITSIZEOF): Don't bother to check whether the type
5994         exists, since we'll return 0 anyway in that case.
5995         (gl_INTEGER_TYPE_SUFFIX, gl_STDINT_INCLUDES): New macros.
5996
5997 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
5998
5999         * lib/stdint_.h (_GL_STDINT_H): Renamed from _STDINT_H, to avoid
6000         possible collision with system files.
6001         (<stdio.h>, <time.h>, <wchar.h>) [defined __cplusplus && ! defined
6002         __STDC_CONSTANT_MACROS)]: Do not include, since we don't need
6003         WCHAR_MIN and WCHAR_MAX in this case.
6004         (<stddef.h>): Do not include; no longer needed.
6005         (<sys/types.h>): Include if @HAVE_SYS_TYPES_H@, not if
6006         (defined(__OpenBSD__) || defined(__bsdi__) || defined(__sgi)).
6007         (<sys/inttypes.h>): Include if @HAVE_SYS_INTTYPES_H@ &&
6008         !@HAVE_INTTYPES_H@, not if (defined(__FreeBSD__)
6009         && (__FreeBSD__ >= 3) && (__FreeBSD__ <= 4)).
6010         (__STDINT_H__) [@HAVE_STDINT_H@ && defined __sgi && ! defined
6011         __c99]: Define, to work around IRIX <stdint.h> incompatibility.
6012         (@FULL_PATH_STDINT_H@) [!(defined(__sgi) && @HAVE_INTTYPES_H@ &&
6013         !defined(__c99))]: Include in this case too, since it's harmless
6014         now.
6015         (<inttypes.h>) [@HAVE_INTTYPES_H@]: Include, since it's no longer
6016         dangerous to do so.
6017         (@FULL_PATH_INTTYPES_H@) [(defined(__hpux) || defined(_AIX)) &&
6018         @HAVE_INTTYPES_H@]: Do not include, since we now include <inttypes.h>.
6019         (_STDINT_MIN, _STDINT_MAX): New macros.
6020         (int8_t, uint8_t, int16_t, uint16_t, int32_t, uint32_t, int64_t):
6021         (uint64_t, int_least8_t, uint_least8_t, int_least16_t):
6022         (uint_least16_t, int_least32_t, uint_least32_t, int_least64_t):
6023         (uint_least64_t, int_fast8_t, uint_fast8_t, int_fast16_t):
6024         (uint_fast16_t, int_fast32_t, uint_fast32_t, int_fast64_t):
6025         (uint_fast64_t, intptr_t, uintptr_t, intmax_t, uintmax_t): Now
6026         macros, not typedefs; this simplifies things quite a bit.
6027         Use long int for all types narrower than int64_t.
6028         (intmax_t, uintmax_t, INTMAX_C, UINTMAX_C):
6029         Define in terms of long long int or int64_t or long int,
6030         not int64_t or int32_t.  This saves some compile-time testing.
6031         (INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX, UINT16_MAX):
6032         (INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN, INT64_MAX):
6033         (UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX, UINT_LEAST8_MAX):
6034         (INT_LEAST16_MIN, INT_LEAST16_MAX, UINT_LEAST16_MAX):
6035         (INT_LEAST32_MIN, INT_LEAST32_MAX, UINT_LEAST32_MAX):
6036         (INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX, INT_FAST8_MIN):
6037         (INT_FAST8_MAX, UINT_FAST8_MAX, INT_FAST16_MIN, INT_FAST16_MAX):
6038         (UINT_FAST16_MAX, INT_FAST32_MIN, INT_FAST32_MAX, UINT_FAST32_MAX):
6039         (INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTPTR_MIN):
6040         (INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN, INTMAX_MAX, UINTMAX_MAX):
6041         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
6042         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
6043         undef any previous version and define our own version, for
6044         simplicity and consistency with the new macros for types.
6045         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
6046         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
6047         Simplify definitions by using _STDINT_MIN and _STDINT_MAX
6048         where appropriate.  Rely on new symbols @PTRDIFF_T_SUFFIX@,
6049         @SIG_ATOMIC_T_SUFFIX@, @SIZE_T_SUFFIX@, @WCHAR_T_SUFFIX@,
6050         @WINT_T_SUFFIX@ to keep things simple here.
6051         (UINT8_C, UINT16_C, UINT32_C, INT64_C, UINT64_C):
6052         Simplify by assuming typical 8/16/32/64 host, since we're
6053         already doing that elsewhere anyway.
6054         Use (LONG_MAX >> 31 >> 31 == 1) rather than @HAVE_LONG_64BIT@,
6055         and assume long long int is 64 bits if available.  This
6056         speeds up 'configure'.
6057
6058 2006-07-01  Eric Blake  <ebb9@byu.net>
6059
6060         * m4/stdarg.m4 (gl_STDARG_H): Use proper AH_VERBATIM.
6061         Reported by Andreas Buening.
6062
6063 2006-07-01  Eric Blake  <ebb9@byu.net>
6064
6065         * m4/stdarg.m4 (gl_STDARG_H): Properly parenthesize gl_va_copy.
6066
6067 2006-06-30  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
6068
6069         * lib/getaddrinfo.c: fixed typo
6070
6071 2006-06-29  Jim Meyering  <jim@meyering.net>
6072
6073         * modules/strftime (Maintainer): Add my name, since with the
6074         FPRINTFTIME changes strftime.c has forked from glibc.
6075
6076 2006-06-29  Eric Blake  <ebb9@byu.net>
6077
6078         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Use AC_C_INLINE.
6079
6080 2006-06-29  Eric Blake  <ebb9@byu.net>
6081
6082         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): New file.
6083
6084 2006-06-29  Eric Blake  <ebb9@byu.net>
6085
6086         * lib/stat_.h: New file.
6087
6088 2006-06-29  Eric Blake  <ebb9@byu.net>
6089
6090         * lib/stat_.h (rpl_mkdir): Declare inline, to avoid warnings about
6091         unused static function.
6092
6093 2006-06-29  Eric Blake  <ebb9@byu.net>
6094
6095         * doc/functions.texi (Function Portability): Document missing lstat
6096         on mingw.
6097
6098 2006-06-29  Eric Blake  <ebb9@byu.net>
6099
6100         * MODULES.html.sh: Add sys_stat.
6101         * modules/sys_stat: New module.
6102         * modules/mkstemp (Depends-on): Add sys_stat.
6103
6104 2006-06-29  Derek R. Price  <derek@ximbiot.com>
6105
6106         * m4/strftime.m4: Don't call AC_FUNC_STRFTIME.
6107
6108 2006-06-29  Derek R. Price  <derek@ximbiot.com>
6109
6110         * m4/c-bs-a.m4: Removed.
6111
6112 2006-06-29  Derek R. Price  <derek@ximbiot.com>
6113
6114         * lib/strftime.c: Assume strftime() exists.
6115
6116 2006-06-29  Derek Price  <derek@ximbiot.com>
6117
6118         * modules/c-bs-a: Removed - \a is C89.
6119         * MODULES.html.sh: Remove c-bs-a.
6120
6121 2006-06-29  Bruno Haible  <bruno@clisp.org>
6122
6123         * modules/wcwidth (License): Change to LGPL.
6124
6125 2006-06-28  Simon Josefsson  <jas@extundo.com>
6126
6127         * tests/test-getaddrinfo.c: Test getnameinfo too.  Call WSAStartup
6128         on _WIN32.
6129
6130         * modules/getaddrinfo (Depends-on): Add inet_ntop, needed by
6131         getnameinfo.
6132
6133 2006-06-28  Simon Josefsson  <jas@extundo.com>
6134
6135         * m4/getaddrinfo.m4: Look for getnameinfo prototypes too.
6136
6137 2006-06-28  Simon Josefsson  <jas@extundo.com>
6138
6139         * lib/getaddrinfo.c: Try to load ws2_32.dll on Windows, to find the
6140         functions there.  It will succeed on Windows XP, but on Windows
6141         2000 and (presumably) earlier, it will fail, and use the internal
6142         re-implementation.
6143         (use_win32_p): New function.
6144         (getaddrinfo): Use strtoul on servname, to support numeric ports.
6145         Support AI_NUMERICSERV to disable getservbyname.
6146         (getnameinfo): New function, only supports
6147         NI_NUMERICHOST|NI_NUMERICSERV for now.
6148
6149         * lib/getaddrinfo.h: Test and check for AI_* flags separately, MinGW
6150         only have some of them.  Add AI_NUMERICSERV.  Add prototype for
6151         getnameinfo.
6152
6153 2006-06-28  Eric Blake  <ebb9@byu.net>
6154
6155         * modules/wcwidth: New file.
6156         * modules/mbchar (Depends-on): Add wcwidth.
6157         * modules/mbswidth (Depends-on): Add wcwidth.
6158         * MODULES.html.sh: Add wcwidth.
6159
6160 2006-06-28  Eric Blake  <ebb9@byu.net>
6161
6162         * m4/mbswidth.m4 (gl_MBSDWIDTH): Move wcwidth from here...
6163         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): ...to this new file.
6164
6165 2006-06-28  Eric Blake  <ebb9@byu.net>
6166
6167         * lib/xvasprintf.h: Fix comments.
6168
6169 2006-06-28  Eric Blake  <ebb9@byu.net>
6170
6171         * lib/mbchar.h (wcwidth): Include wcwidth.h.
6172         * lib/mbswidth.c (wcwidth): Move from here...
6173         * lib/wcwidth.h: ...to this new file.
6174
6175 2006-06-28  Derek R. Price  <derek@ximbiot.com>
6176
6177         * m4/savedir.m4: Remove AC_FUNC_CLOSEDIR_VOID requirement.
6178
6179         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't require AC_C_CONST, since
6180         it's obsolete.
6181         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Likewise.
6182
6183 2006-06-28  Derek R. Price  <derek@ximbiot.com>
6184
6185         * lib/savedir.c (CLOSEDIR): Remove.  All uses changed to closedir.
6186         Autoconf 2.60 says this stuff was obsolete.
6187
6188 2006-06-28  Bruno Haible  <bruno@clisp.org>
6189
6190         * modules/wcwidth (Files): Add m4/wchar_t.m4.
6191
6192 2006-06-28  Bruno Haible  <bruno@clisp.org>
6193
6194         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Also require AC_C_INLINE and
6195         gt_TYPE_WCHAR_T.
6196
6197 2006-06-28  Bruno Haible  <bruno@clisp.org>
6198
6199         * lib/wcwidth.h: Declare nothing if !HAVE_WCHAR_T. Provide a fallback
6200         declaration for wcwidth.
6201         * lib/mbswidth.c: Restore the includes of <wchar.h> and <wctypes.h>.
6202
6203 2006-06-28  Bruno Haible  <bruno@clisp.org>
6204
6205         * lib/mkdtemp.c [MINGW]: Include <io.h>.
6206         (mkdir): Define using _mkdir.
6207
6208 2006-06-28  Bruno Haible  <bruno@clisp.org>
6209
6210         * lib/getaddrinfo.h: Fix POSIX URL.
6211         * lib/getaddrinfo.c (WIN32_NATIVE): New macro. Use it instead of
6212         _WIN32.
6213         (use_win32_p): Make static.
6214         (getaddrinfo): Reject service name if it is empty or does not consist
6215         solely of decimal digits, or if its value is > 65535.
6216         (getnameinfo): Remove useless casts.
6217
6218 2006-06-27  Simon Josefsson  <jas@extundo.com>
6219
6220         * modules/sys_select: New file, suggested by Bruno Haible, Paul
6221         Eggert and Martin Lambers.
6222
6223 2006-06-27  Simon Josefsson  <jas@extundo.com>
6224
6225         * m4/sys_select_h.m4: New file, suggested by Bruno Haible, Paul
6226         Eggert and Martin Lambers.
6227
6228 2006-06-27  Bruno Haible  <bruno@clisp.org>
6229
6230         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): For nonexistent types, set the
6231         result to 0, not to empty.
6232         Reported by Martin Neitzel <neitzel@sco.gaertner.de>.
6233
6234 2006-06-27  Bruno Haible  <bruno@clisp.org>
6235
6236         * lib/stdint_.h (intmax_t, uintmax_t): Undefine before typedef.
6237
6238 2006-06-26  Simon Josefsson  <jas@extundo.com>
6239
6240         * m4/inet_ntop.m4: Don't check for sys/types.h, we assume it is
6241         present.
6242
6243 2006-06-26  Paul Eggert  <eggert@cs.ucla.edu>
6244
6245         * lib/base64.c (B64): Use _ as the formal parameter, not x, to avoid
6246         bug in IBM C V6 for AIX.  Problem reported by Larry Jones in
6247         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00181.html>.
6248
6249 2006-06-26  Mark D. Baushke  <mdb@gnu.org>
6250
6251         * m4/stdint.m4 (gl_STDINT_H): Treat BSD/OS like OpenBSD.
6252
6253 2006-06-26  Bruno Haible  <bruno@clisp.org>
6254
6255         * modules/stdint (Makefile.am): Also substitute HAVE_WCHAR_H.
6256
6257 2006-06-26  Bruno Haible  <bruno@clisp.org>
6258
6259         * m4/stdint.m4 (gl_STDINT_H): Test also for <wchar.h>.
6260
6261 2006-06-26  Bruno Haible  <bruno@clisp.org>
6262
6263         * m4/stdint.m4 (gl_STDINT_H): Don't include <stdint.h> when using the
6264         SGI C compiler in pre-C99 mode.
6265         Suggested by Mark D. Baushke and Larry Jones.
6266
6267 2006-06-26  Bruno Haible  <bruno@clisp.org>
6268
6269         * lib/stdint_.h: Include <wchar.h> if necessary for WCHAR_MIN or
6270         WCHAR_MAX.
6271         Reported by Mark D. Baushke and Larry Jones.
6272
6273 2006-06-26  Bruno Haible  <bruno@clisp.org>
6274
6275         * lib/stdint_.h: Don't include <stdint.h> when using the SGI C compiler
6276         in pre-C99 mode.
6277         Suggested by Mark D. Baushke and Larry Jones.
6278
6279 2006-06-23  Simon Josefsson  <jas@extundo.com>
6280             Bruno Haible  <bruno@clisp.org>
6281
6282         * gnulib-tool (func_emit_lib_Makefile_am): Define MOSTLYCLEANDIRS.
6283         Emit mostlyclean-local rule.
6284         (func_emit_tests_Makefile_am): Likewise.
6285         * modules/sys_socket (Makefile.am): Use MOSTLYCLEANDIRS.
6286
6287 2006-06-23  Mark D. Baushke  <mdb@gnu.org>
6288
6289         * lib/stdint_.h: Treat BSD/OS like OpenBSD.
6290
6291 2006-06-23  Bruno Haible  <bruno@clisp.org>
6292
6293         * tests/test-stdint.c: Update to match ISO C 99 Technical
6294         Corrigendum 1.
6295
6296 2006-06-23  Bruno Haible  <bruno@clisp.org>
6297
6298         * m4/stdint.m4 (gl_STDINT_H): Treat IRIX like OpenBSD.
6299
6300 2006-06-23  Bruno Haible  <bruno@clisp.org>
6301
6302         * lib/stdint_.h: Treat IRIX like OpenBSD.
6303
6304 2006-06-23  Bruno Haible  <bruno@clisp.org>
6305
6306         * lib/stdint_.h (UINT8_C, UINT16_C, UINT32_C): Define according to
6307         ISO C 99 Technical Corrigendum 1.
6308
6309 2006-06-22  Simon Josefsson  <jas@extundo.com>
6310
6311         * m4/sockpfaf.m4: Include winsock2.h too, to make it work under
6312         MinGW.
6313
6314 2006-06-22  Paul Eggert  <eggert@cs.ucla.edu>
6315
6316         * lib/glob.c (collated_compare): Remove 'const' uses that weren't
6317         needed.  Some compiler complained about some of them.  Problem reported
6318         by Larry Jones in
6319         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00172.html>.
6320
6321 2006-06-21  Simon Josefsson  <jas@extundo.com>
6322
6323         * tests/test-getaddrinfo.c: New file.
6324
6325         * modules/getaddrinfo-tests: New file.
6326
6327         * MODULES.html.sh: Add inet_pton.
6328
6329         * modules/inet_pton: New file.
6330
6331 2006-06-21  Simon Josefsson  <jas@extundo.com>
6332
6333         * m4/getaddrinfo.m4: Don't define WINVER.  Look for gethostbyname in
6334         -lws2_32 too.  Fixes getaddrinfo on Windows 2000, with the price
6335         of using the (limited) gnulib implementation on Windows XP.
6336
6337         * m4/inet_pton.m4: New file.
6338
6339 2006-06-21  Simon Josefsson  <jas@extundo.com>
6340
6341         * lib/getaddrinfo.c (getaddrinfo): Set ai_family in the return
6342         variable.
6343
6344         * lib/socket_.h: Don't define WINVER.
6345
6346         * lib/inet_pton.h, inet_pton.c: New file, taken from glibc but
6347         slightly modified to work in gnulib.
6348
6349 2006-06-21  Simon Josefsson  <jas@extundo.com>
6350
6351         * doc/gnulib.texi (Windows sockets): Add.
6352
6353 2006-06-21  Paul Eggert  <eggert@cs.ucla.edu>
6354
6355         * lib/read-file.c (fread_file): Start with buffer allocation of
6356         0 bytes rather than 1 byte; this simplifies the code.
6357         Don't invoke feof; it's not needed.  Refactor to avoid duplicate
6358         code to free buffer and save/restore errno.
6359         (internal_read_file): Remove unused local.
6360
6361 2006-06-20  Paul Eggert  <eggert@cs.ucla.edu>
6362
6363         * lib/openat.c (openat): Use ?:, not if, to work around GCC bug 4210
6364         <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=4210>.
6365         Problem reported by Denis Excoffier in
6366         <http://lists.gnu.org/archive/html/bug-tar/2006-06/msg00023.html>.
6367
6368 2006-06-19  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
6369
6370         * modules/sys_socket, modules/socklen: Include sys/types since
6371         FreeBSD 4.x's sys/socket.h needs it.
6372
6373 2006-06-19  Simon Josefsson  <jas@extundo.com>
6374
6375         * lib/inet_ntop.c: Always build inet_ntop4, since inet_ntop6 calls it.
6376
6377 2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
6378
6379         * lib/alloca_.h (alloca) [defined alloca]: Don't define or declare.
6380
6381 2006-06-19  Bruno Haible  <bruno@clisp.org>
6382
6383         * m4/stdint.m4 (gl_STDINT_H): Enclose the values of FULL_PATH_STDINT_H
6384         and FULL_PATH_INTTYPES_H in angle brackets.
6385         Reported by Mark D. Baushke <mdb@gnu.org>.
6386
6387 2006-06-17  Eric Blake  <ebb9@byu.net>
6388
6389         * m4/rmdir-errno.m4 (gl_FUNC_FMDIR_NOTEMPTY): Assume errno.h declares
6390         errno.
6391
6392 2006-06-17  Bruno Haible  <bruno@clisp.org>
6393
6394         * m4/stdint.m4 (gl_STDINT_H) [FreeBSD >= 5]: Don't include
6395         <sys/inttypes.h>.
6396
6397 2006-06-17  Bruno Haible  <bruno@clisp.org>
6398
6399         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove test
6400         whether errno is declared. Assume <errno.h> declares errno.
6401
6402 2006-06-17  Bruno Haible  <bruno@clisp.org>
6403
6404         * lib/stdint_.h [FreeBSD >= 5]: Don't include <sys/inttypes.h>.
6405
6406 2006-06-17  Bruno Haible  <bruno@clisp.org>
6407
6408         * lib/stdint_.h (_UINT8_T, _UINT32_T, _UINT64_T): New macros. Fixes a
6409         problem on Solaris 2.5.1.
6410
6411 2006-06-16  Eric Blake  <ebb9@byu.net>
6412
6413         * lib/unsetenv.c [!defined errno]: Assume errno.h declares errno.
6414         * lib/unicodeio.c [!defined errno]: Likewise.
6415         * lib/strtol.c [!defined errno]: Likewise.
6416         * lib/strtod.c [!defined errno]: Likewise.
6417
6418 2006-06-15  Eric Blake  <ebb9@byu.net>
6419
6420         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Work in spite of -Werror.
6421
6422 2006-06-15  Eric Blake  <ebb9@byu.net>
6423
6424         * config/srclist.txt (ssize_t.m4): Lose sync.
6425
6426 2006-06-15  Bruno Haible  <bruno@clisp.org>
6427
6428         * modules/stdint (Files): Include m4/full-header-path.m4,
6429         m4/size_max.m4, m4/wchar_t.m4.
6430         (Makefile.am): Many more substitutions.
6431         * modules/stdint-tests: New file.
6432         * tests/test-stdint.c: New file.
6433
6434 2006-06-15  Bruno Haible  <bruno@clisp.org>
6435
6436         * m4/stdint.m4 (gl_STDINT_H): Rewritten to produce a complete stdint.h.
6437         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H, gl_STDINT_CHECK_TYPES,
6438         gl_STDINT_MISSING_BOUND, gl_STDINT_MISSING_BOUNDS,
6439         gl_STDINT_MISSING_BOUNDS2, gl_STDINT_BITSIZEOF, gl_CHECK_TYPES_SIGNED,
6440         gl_CHECK_TYPE_SAME): New macros.
6441
6442 2006-06-15  Bruno Haible  <bruno@clisp.org>
6443
6444         * m4/size_max.m4 (gl_SIZE_MAX): Make it work also when cross-compiling.
6445
6446 2006-06-15  Bruno Haible  <bruno@clisp.org>
6447
6448         * lib/stdint_.h: Rewritten to be fully auto-configured.
6449         Fixes bug on HP-UX/IA64.
6450
6451 2006-06-11  Paul Eggert  <eggert@cs.ucla.edu>
6452
6453         * lib/getdate.y (__attribute__): Don't define if already defined.
6454         Problem reported by Larry Jones.
6455         * lib/utimens.c (__attribute__): Likewise.
6456
6457 2006-06-04  Paul Eggert  <eggert@cs.ucla.edu>
6458
6459         * lib/regexec.c (group_nodes_into_DFAstates): Fix a buffer overrun
6460         reported by Andreas Schwab.
6461
6462 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
6463             Bruno Haible  <bruno@clisp.org>
6464
6465         * m4/strndup.m4 (gl_FUNC_STRNDUP): Replace the AC_REPLACE_FUNCS with a
6466         check for the declaration of strnlen and a run test that exposes the
6467         AIX 5.1 strnlen bug.  In the failure case, #define strndup to
6468         rpl_strndup.
6469
6470 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
6471             Bruno Haible  <bruno@clisp.org>
6472
6473         * lib/strndup.c (strndup) [!_LIBC]: Don't undefine macro definition.
6474
6475 2006-05-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
6476
6477         * m4/c-strtod.m4 (gl_C99_STRTOLD): Use a link test rather than a
6478         compile test, for Tru64 4.0D.
6479
6480 2006-05-28  Karl Berry  <karl@gnu.org>
6481
6482         * config/srclist.txt (printf-args.c): lose sync.
6483
6484 2006-05-26  Martin Lambers  <marlam@marlam.de>
6485
6486         * lib/getpass.c: Updates the test for the native W32 API, and adds
6487         missing includes, thus fixing compilation warnings.
6488
6489 2006-05-25  Sergey Poznyakoff  <gray@gnu.org.ua>
6490
6491         * lib/exclude.c (exclude_fnmatch): New function.
6492         (excluded_file_name): Call exclude_fnmatch.
6493         * lib/exclude.h (excluded_file_name): New prototype
6494
6495 2006-05-25  Paul Eggert  <eggert@cs.ucla.edu>
6496
6497         * lib/tempname.c (small_open, large_open): New macros.
6498         (__open, __open64) [!_LIBC]: Remove.
6499         (__gen_tempname): Use small_open and large_open instead of __open
6500         and __open64.  This fixes a portability bug on HP-UX 11.11i
6501         reported by Simon Wing-Tang in
6502         <http://lists.gnu.org/archive/html/bug-coreutils/2006-05/msg00114.html>.
6503
6504 2006-05-24  Bruno Haible  <bruno@clisp.org>
6505
6506         * lib/printf-args.c (printf_fetchargs): Turn NULL pointers for
6507         TYPE_STRING and TYPE_WIDE_STRING into a non-NULL replacement.
6508         Reported by Thorsten Maerz <torte@netztorte.de> via
6509         Aaron Stone <aaron@serendipity.cx>.
6510
6511 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
6512
6513         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Rename cache variables to use
6514         gl_ rather than jm_.  Link, don't run, so that cross-compiles are
6515         allowed.  Check that resulting type is arithmetic.  Move AC_REQUIRE
6516         and AC_CHECK_HEADERS_ONCE outside of AC_CACHE_CHECK, since they're
6517         not really conditional on the cache.
6518         (gl_PREREQ_NANOSLEEP): Check for sys/select.h.
6519
6520 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
6521
6522         * lib/nanosleep.c [HAVE_SYS_SELECT_H]: Include <sys/select.h>.
6523         Use the usual Autoconf way to include <time.h> and/or sys/time.h.
6524         (my_usleep): Don't mishandle maximum value.
6525
6526 2006-05-19  Jim Meyering  <jim@meyering.net>
6527
6528         * lib/getugroups.c: Correct an outdated comment.  From Bruno Haible.
6529
6530 2006-05-17  Bruno Haible  <bruno@clisp.org>
6531
6532         Cygwin portability.
6533         * lib/classpath.c (PATH_SEPARATOR) [CYGWIN]: Define as ':'.
6534
6535 2006-05-17  Bruno Haible  <bruno@clisp.org>
6536
6537         * lib/stdint_.h: Fix recognition of Cygwin.
6538
6539 2006-05-15  Bruno Haible  <bruno@clisp.org>
6540
6541         * build-aux/config.rpath: Improve support for Sun C 5.9 on Linux, based
6542         on libtool patch by Ralf Wildenhues.
6543
6544 2006-05-14  Paul Eggert  <eggert@cs.ucla.edu>
6545
6546         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Fix overly-picky
6547         test for C99 conformance; (bool) 0.5 is an integer constant
6548         expression, but (bool) -0.5 is not.  Problem reported by Fedor
6549         Sergeev in <http://forum.sun.com/jive/thread.jspa?threadID=96202>.
6550
6551 2006-05-11  Simon Josefsson  <jas@extundo.com>
6552
6553         * m4/xvasprintf.m4: Fix obvious typo.
6554
6555 2006-05-11  Jim Meyering  <jim@meyering.net>
6556
6557         * lib/sha1.c (sha1_buffer): Correct comment: s/MD5/SHA1/.  From
6558         James Lemley.
6559
6560 2006-05-10  Simon Josefsson  <jas@extundo.com>
6561
6562         * lib/md4.c: Typo fix, update copyright years.
6563         (K1, K2): Don't use L because it turn computations into 64-bit on
6564         64-bit platforms.
6565
6566 2006-05-10  Paul Eggert  <eggert@cs.ucla.edu>
6567
6568         * lib/crc.c (crc32_update): Remove unnecessary L suffix.
6569         * lib/md4.c (rol): Cast right-shift arg to uint32_t to prevent
6570         unwanted sign propagation, e.g., on hosts with 64-bit int.
6571         There still are some problems with reeelly weird theoretical hosts
6572         (e.g., 33-bit int) but it's not worth worrying about now.
6573         * lib/sha1.c (rol): Likewise.
6574         (K1, K2, K3, K4): Remove unnecessary L suffix.
6575
6576 2006-05-10  Bruno Haible  <bruno@clisp.org>
6577
6578         * lib/des.c: Cast to avoid warnings.
6579
6580 2006-05-09  Bruno Haible  <bruno@clisp.org>
6581
6582         * modules/xvasprintf (Files): Add m4/xvasprintf.m4.
6583         (Depends-on): Depend also on xsize, stdarg.
6584         (configure.ac): Add gl_XVASPRINTF.
6585
6586 2006-05-09  Bruno Haible  <bruno@clisp.org>
6587
6588         * m4/xvasprintf.m4: New file.
6589
6590 2006-05-09  Bruno Haible  <bruno@clisp.org>
6591
6592         * lib/xvasprintf.c: Include limits.h, string.h, xsize.h.
6593         (EOVERFLOW): Define fallback value.
6594         (xstrcat): New function.
6595         (xvasprintf): Recognize the special case of a string concatenation.
6596
6597 2006-05-08  Eric Blake  <ebb9@byu.net>
6598
6599         * gnulib-tool (func_version): Base copyright year on CVS date.
6600         (func_emit_copyright_notice): New function.
6601         (func_emit_lib_Makefile_am): Use it.
6602         (func_emit_tests_Makefile_am): Likewise.
6603         (func_import): Likewise.
6604
6605 2006-05-08  Bruno Haible  <bruno@clisp.org>
6606
6607         * modules/stdarg: New file.
6608         * MODULES.html.sh (func_all_modules): Add section for <stdarg.h>.
6609
6610 2006-05-08  Bruno Haible  <bruno@clisp.org>
6611
6612         * m4/stdarg.m4: New file, from GNU gettext.
6613
6614 2006-05-08  Bruno Haible  <bruno@clisp.org>
6615
6616         * config/srclist.txt (build-aux/config.rpath): different from latest
6617         release.
6618
6619 2006-05-08  Bruno Haible  <bruno@clisp.org>
6620
6621         * build-aux/config.rpath: Add support for Sun C 5.9 on Linux.
6622
6623 2006-05-05  Jim Meyering  <jim@meyering.net>
6624
6625         * m4/warning.m4: New file, derived from bison's file by the same name.
6626
6627 2006-05-03  Bruno Haible  <bruno@clisp.org>
6628
6629         * lib/stdint_.h: Shorter URL.
6630         * lib/inttypes.h: Likewise.
6631
6632 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
6633
6634         * modules/inttypes (Maintainer): Change from Derek Price to 'all'.
6635
6636 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
6637
6638         * lib/verify.h: Document the internals better.  Most of this change
6639         was written by Bruno Haible.
6640
6641 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
6642
6643         * doc/verify.texi: New file, partly based on a proposal by
6644         Bruno Haible.
6645
6646 2006-05-02  Bruno Haible  <bruno@clisp.org>
6647
6648         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Move the include_next
6649         test from here...
6650         * m4/_inttypes_h.m4 (gl_INTTYPES_H): ... to here.
6651
6652 2006-04-29  Bruno Haible  <bruno@clisp.org>
6653
6654         * lib/gcd.c: Use WORD_T and GCD instead of unsigned long and gcd.
6655         Suggested by Oskar Liljeblad <oskar@osk.mine.nu>.
6656
6657 2006-04-29  Bruno Haible  <bruno@clisp.org>
6658
6659         * gnulib-tool: Make --update option actually work.
6660
6661 2006-04-29  Bruno Haible  <bruno@clisp.org>
6662
6663         * doc/gcd.texi: New file.
6664         * doc/gnulib.texi: Include it.
6665
6666 2006-04-25  Paul Eggert  <eggert@cs.ucla.edu>
6667
6668         * lib/getdate.y (get_date): When adding relative date, start with the
6669         initial time, not with the result of the first mktime call.
6670
6671 2006-04-25  Bruno Haible  <bruno@clisp.org>
6672
6673         * gnulib-tool (func_import): Output the include directives in three
6674         blocks, sorted separately.
6675         Reported by Ben Pfaff <blp@cs.stanford.edu>.
6676
6677 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
6678
6679         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use prototype
6680         to define main with arguments, for C++.  Reported by Eric Blake.
6681         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC):
6682         Prefer 'int main ()' to 'int main (void)', for C++.
6683         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
6684         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Specify a return type
6685         for 'main', for C99 and C++.
6686
6687 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
6688
6689         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Use return, not exit.
6690         Don't assume that exit status -1 is valid.
6691         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
6692         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
6693         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
6694         * m4/readdir.m4 (GL_FUNC_READDIR): Include <stdlib.h>.
6695         * m4/rename.m4 (vb_FUNC_RENAME): Likewise.
6696         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use AC_RUN_IFELSE,
6697         not AC_TRY_RUN.  Use return, not exit.  Don't assume that
6698         functions can be used without declaring them, or that you can
6699         exit with status -1.
6700         * m4/utimes-null.m4 (gl_FUNC_UTIMES_NULL): Likewise.
6701
6702 2006-04-24  Karl Berry  <karl@gnu.org>
6703
6704         * config/srclist.txt (longdouble.m4): sync lost.
6705
6706 2006-04-24  Eric Blake  <ebb9@byu.net>
6707
6708         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Avoid unused variable warning.
6709
6710 2006-04-24  Bruno Haible  <bruno@clisp.org>
6711
6712         * m4/poll.m4 (gl_FUNC_POLL): When cross-compiling, reject also the
6713         poll() implementation in AIX.
6714         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
6715
6716 2006-04-24  Bruno Haible  <bruno@clisp.org>
6717
6718         * m4/poll.m4 (gl_FUNC_POLL): Rearrange code, so that POLL_H gets
6719         assigned exactly once.
6720
6721 2006-04-23  Claudio Fontana  <claudio@gnu.org>
6722             Bruno Haible  <bruno@clisp.org>
6723
6724         * modules/gettext (Makefile.am): Add a -I flag for <libintl.h>.
6725         * gnulib-tool (func_emit_lib_Makefile_am): Emit empty default value
6726         for AM_CPPFLAGS.
6727
6728 2006-04-23  Bruno Haible  <bruno@clisp.org>
6729
6730         * modules/copy-file: Depend on unistd.
6731         * modules/execute: Likewise.
6732         * modules/fatal-signal: Likewise.
6733         * modules/findprog: Likewise.
6734         * modules/mkdtemp : Likewise.
6735         * modules/pipe: Likewise.
6736         * modules/wait-process: Likewise.
6737
6738 2006-04-23  Bruno Haible  <bruno@clisp.org>
6739
6740         * lib/fwriteerror.c (fwriteerror): Call fclose also when an error
6741         condition was already detected.
6742         Reported by Ben Pfaff <blp@cs.stanford.edu>.
6743
6744 2006-04-23  Bruno Haible  <bruno@clisp.org>
6745
6746         * lib/copy-file.c: Include <unistd.h> unconditionally.
6747         * lib/execute.c: Likewise.
6748         * lib/fatal-signal.c: Likewise.
6749         * lib/findprog.c: Likewise.
6750         * lib/mkdtemp.c: Likewise.
6751         * lib/pipe.h: Likewise.
6752         * lib/pipe.c: Likewise.
6753         * lib/wait-process.h: Likewise.
6754
6755 2006-04-23  Bruno Haible  <bruno@clisp.org>
6756
6757         * gnulib-tool (func_usage): Fix --import description. Document
6758         --update.
6759         (func_import): Create temporary file in a temporary directory, if
6760         --dry-run is specified. Silence errors from 'grep' when there are no
6761         m4 files in $m4dir.
6762         (func_create_testdir): Silence errors from 'grep' when there are no
6763         m4 files in $m4dir.
6764         Reported by Karl Berry <karl@freefriends.org>.
6765
6766 2006-04-20  Bruno Haible  <bruno@clisp.org>
6767
6768         * m4/argp.m4 (gl_ARGP): Don't call AC_CHECK_DECLS_ONCE with more than
6769         one argument, so that the code will be portable to Autoconf 2.60.
6770         * m4/getlogin_r.m4 (gl_PREREQ_GETLOGIN_R): Likewise.
6771         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
6772         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO): Likewise.
6773
6774 2006-04-19  Derek Price  <derek@ximbiot.com>
6775             Eric Blake  <ebb9@byu.net>
6776
6777         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Use </full/path.h>
6778         rather than "/full/path.h".  Update comment to match.  Shorten &
6779         generalize m4_translit call via AS_TR_CPP.
6780
6781 2006-04-19  Derek Price  <derek@ximbiot.com>
6782             Eric Blake  <ebb9@byu.net>
6783
6784         * lib/inttypes.h: Correct grammar in comment.
6785
6786 2006-04-18  Derek Price  <derek@ximbiot.com>
6787             Paul Eggert  <eggert@cs.ucla.edu>
6788
6789         * modules/inttypes: New file.
6790         * modules/strtoimax, modules/strtoumax: Depend on inttypes.
6791
6792 2006-04-18  Derek Price  <derek@ximbiot.com>
6793             Paul Eggert  <eggert@cs.ucla.edu>
6794
6795         * m4/_inttypes_h.m4, m4/full-header-path.m4, m4/include_next.m4:
6796         New files.
6797
6798 2006-04-18  Derek Price  <derek@ximbiot.com>
6799             Paul Eggert  <eggert@cs.ucla.edu>
6800
6801         * lib/inttypes.h: New file.
6802         * lib/strtoimax.c: Assume <inttypes.h>.
6803
6804 2006-04-15  Paul Eggert  <eggert@cs.ucla.edu>
6805
6806         * lib/utimens.c (futimens): glibc futimesat messes up if /proc
6807         isn't mounted.  Problem reported by Kir Kolyshkin.
6808
6809 2006-04-13  Paul Eggert  <eggert@cs.ucla.edu>
6810
6811         * lib/regcomp.c (init_dfa): Don't use wchar_t or wctype_t if
6812         RE_ENABLE_I18N is not defined.  Problem reported by Mark D. Baushke via
6813         Derek R. Price.
6814         * lib/regex.h (RE_DUP_MAX): Update comment to match current
6815         implementation.
6816
6817 2006-04-12  Eric Blake  <ebb9@byu.net>
6818
6819         * modules/time_r (Makefile.am): Remove lib_SOURCES line, as this
6820         is now done automatically by the corresponding Autoconf macro.
6821
6822 2006-04-11  Paul Eggert  <eggert@cs.ucla.edu>
6823
6824         * m4/time_r.m4 (gl_TIME_R): Add AC_LIBSOURCES for time_r.c and
6825         time_r.h.
6826
6827 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
6828
6829         Merge regex changes from libc, removing some of our
6830         POSIX-conformance changes that were rejected and redoing them in a
6831         less-intrusive way.
6832
6833         * lib/regcomp.c (re_compile_internal, init_dfa):
6834         Length arg is now size_t, not Idx.  All uses changed.
6835         (peek_token): Forward decl now says internal_function.
6836         (__re_error_msgid, __re_error_msgid_idx):
6837         Now static rather than extern with attribute_hidden.
6838         (re_compile_pattern) [!defined _LIBC]: Use K&R-style defn.
6839         For some reason libc prefers K&R style defns for external functions.
6840         (regerror) [!defined _LIBC]: Likewise.
6841         (re_set_syntax, re_compile_fastmap, regcomp, regfree, re_comp):
6842         (seek_collating_symbol_entry, lookup_collation_sequence_value):
6843         (build_range_exp, build_collating_symbol):
6844         Use K&R-style defn.
6845         (re_compile_fastmap): Use '\0' to memset, not 0.
6846         (utf8_sb_map): Make the calculations more obvious.
6847         (init_dfa, parse_bracket_exp, build_charclass_op):
6848         Call calloc and cast result, as glibc does.
6849         (init_word_char, fetch_token, peek_token, peek_token_bracket):
6850         (build_range_exp, build_collating_symbol):
6851         Now internal functions.
6852
6853         * lib/regex.c [!defined _LIBC]: Allow compiling with C++ compilers.
6854
6855         * lib/regex.h (__USE_GNU_REGEX): New macro.  Don't depend on
6856         _REGEX_SOURCE any more; depend on _GNU_SOURCE instead.
6857         Don't depend on VMS; depend on __VMS instead, for POSIX
6858         namespace cleanness.
6859         (regoff_t): Define to ssize_t, not long int.
6860
6861         Remove the REG_ macros named below.  Instead, make the old names
6862         (e.g., RE_BACKSLASH_ESCAPE_IN_LISTS) visible only if
6863         __USE_GNU_REGEX.
6864         (REG_BACKSLASH_ESCAPE_IN_LISTS):
6865         (REG_BK_PLUS_QM, REG_CHAR_CLASSES, REG_CONTEXT_INDEP_ANCHORS):
6866         (REG_CONTEXT_INDEP_OPS, REG_CONTEXT_INVALID_OPS):
6867         (REG_DOT_NEWLINE, REG_DOT_NOT_NULL, REG_HAT_LISTS_NOT_NEWLINE):
6868         (REG_INTERVALS, REG_LIMITED_OPS, REG_NEWLINE_ALT):
6869         (REG_NO_BK_BRACES, REG_NO_BK_PARENS, REG_NO_BK_REFS):
6870         (REG_NO_BK_VBAR, REG_NO_EMPTY_RANGES):
6871         (REG_UNMATCHED_RIGHT_PAREN_ORD, REG_NO_POSIX_BACKTRACKING):
6872         (REG_NO_GNU_OPS, REG_DEBUG, REG_INVALID_INTERVAL_ORD):
6873         (REG_IGNORE_CASE, REG_CARET_ANCHORS_HERE):
6874         (REG_CONTEXT_INVALID_DUP, REG_NO_SUB, REG_SYNTAX_EMACS):
6875         (REG_SYNTAX_AWK, REG_SYNTAX_GNU_AWK, REG_SYNTAX_POSIX_AWK):
6876         (REG_SYNTAX_GREP, REG_SYNTAX_EGREP, REG_SYNTAX_POSIX_EGREP):
6877         (REG_SYNTAX_ED, REG_SYNTAX_SED, _REG_SYNTAX_POSIX_COMMON):
6878         (REG_SYNTAX_POSIX_BASIC, REG_SYNTAX_POSIX_MINIMAL_BASIC):
6879         (REG_SYNTAX_POSIX_EXTENDED, REG_SYNTAX_POSIX_MINIMAL_EXTENDED):
6880         (REG_DUP_MAX, REG_UNALLOCATED, REG_REALLOCATE, REG_FIXED):
6881         (REG_NREGS):
6882         Remove.  All uses replaced by the old RE_* names.
6883         (RE_BACKSLASH_ESCAPE_IN_LISTS):
6884         (RE_BK_PLUS_QM, RE_CHAR_CLASSES, RE_CONTEXT_INDEP_ANCHORS):
6885         (RE_CONTEXT_INDEP_OPS, RE_CONTEXT_INVALID_OPS):
6886         (RE_DOT_NEWLINE, RE_DOT_NOT_NULL, RE_HAT_LISTS_NOT_NEWLINE):
6887         (RE_INTERVALS, RE_LIMITED_OPS, RE_NEWLINE_ALT):
6888         (RE_NO_BK_BRACES, RE_NO_BK_PARENS, RE_NO_BK_REFS):
6889         (RE_NO_BK_VBAR, RE_NO_EMPTY_RANGES):
6890         (RE_UNMATCHED_RIGHT_PAREN_ORD, RE_NO_POSIX_BACKTRACKING):
6891         (RE_NO_GNU_OPS, RE_DEBUG, RE_INVALID_INTERVAL_ORD):
6892         (RE_IGNORE_CASE, RE_CARET_ANCHORS_HERE):
6893         (RE_CONTEXT_INVALID_DUP, RE_NO_SUB):
6894         Don't bother having these macros be independent of each others'
6895         values, since they no longer exist in the POSIX name space.
6896
6897         Rename the following member names back to their old names,
6898         unless !__USE_GNU_REGEX.  All uses changed back.
6899         (buffer): Renamed from re_buffer.
6900         (allocated): Renamed from re_allocated.
6901         (used): Renamed from re_used.
6902         (syntax): Renamed from re_syntax.
6903         (fastmap): Renamed from re_fastmap.
6904         (translate): Renamed from re_translate.
6905         (can_be_null): Renamed from re_can_be_null.
6906         (regs_allocated): Renamed from re_regs_allocated.
6907         (fastmap_accurate): Renamed from re_fastmap_accurate.
6908         (no_sub): Renamed from re_no_sub.
6909         (not_bol): Renamed from re_not_bol.
6910         (not_eol): Renamed from re_not_eol.
6911         (newline_anchor): Renamed from re_newline_anchor.
6912         (num_regs): Renamed from rm_num_regs.
6913         (start): Renamed from rm_start.
6914         (end): Renamed from rm_end.
6915
6916         (free_state): Move up a bit.
6917
6918         * lib/regex_internal.h (inline) [__GNUC__ < 3 && defined _LIBC]:
6919         #define to be empty.
6920         (ASCII_CHARS): New macro, replacing all uses of 0x80 and/or SBC_MAX / 2
6921         when that is what is intended.
6922         (SBC_MAX): Define to UCHAR_MAX + 1, not 256.
6923         (__re_error_msgid, __re_error_msgid_idx): Remove decls; not needed.
6924         (MAX): New macro.
6925         (re_xmalloc, re_calloc, re_xrealloc, re_x2realloc): Remove.
6926         All uses changed back to re_malloc, etc.  It's now the caller's
6927         responsibility to check for overflow; all callers changed.
6928         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc, re_xnrealloc):
6929         (re_x2nrealloc): Remove.
6930         (free_state): Remove decl.
6931
6932         * lib/regexc.c (regexec, re_match, re_search, re_match_2, re_search_2):
6933         (re_set_registers, re_exec):
6934         Use K&R-style defn.
6935
6936         2006-01-31  Roland McGrath  <roland@redhat.com>
6937
6938         * lib/regcomp.c (calc_eclosure_iter): Remove dead variables.
6939         Reported by Mike Frysinger <vapier@gentoo.org>.
6940
6941         2006-01-15  Andreas Jaeger  <aj@suse.de>
6942
6943         [BZ #1950]
6944         * lib/regex_internal.c (re_string_reconstruct): Adjust for
6945         build_wcs_upper_buffer change.
6946         (build_wcs_upper_buffer): Change return type.
6947
6948         2005-12-10  Ulrich Drepper  <drepper@redhat.com>
6949
6950         * lib/regex_internal.h: Include <stdint.h> if available.
6951
6952         2005-12-06  Paolo Bonzini  <bonzini@gnu.org>
6953
6954         * lib/regex_internal.h (SIZE_MAX): Provide a default definition.
6955
6956         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
6957
6958         * lib/regcomp.c: Adjust for changed secondary hash function.
6959
6960         2005-09-30  Ulrich Drepper  <drepper@redhat.com>
6961
6962         * lib/regex.h: Pretty printing.
6963         Clean up namespace a bit.
6964
6965         2005-09-30  Jakub Jelinek  <jakub@redhat.com>
6966
6967         * lib/regexec.c (update_cur_sifted_state, check_arrival,
6968         check_arrival_add_next_nodes): Avoid using uninitialized variable.
6969
6970         2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
6971                     Ulrich Drepper  <drepper@redhat.com>
6972
6973         [BZ #1302]
6974         * lib/regex_internal.h (bitset_t): Renamed from bitset.  All uses
6975         changed.
6976         (bitset_word_t): Renamed from bitset_word.  All uses changed.
6977
6978         2005-09-22  Ulrich Drepper  <drepper@redhat.com>
6979
6980         [BZ #281]
6981         * lib/regex.h: Define RE_TRANSLATE_TYPE as unsigned char *.
6982         * lib/regcomp.c: Remove unnecessary uses of
6983         unsigned RE_TRANSLATE_TYPE.
6984         * lib/regex_internal.h: Likewise.
6985         * lib/regex_internal.c: Likewise.
6986         * lib/regexec.c: Likewise.
6987         Based on a patch by Stepan Kasal <kasal@ucw.cz>.
6988
6989         2005-09-07  Ulrich Drepper  <drepper@redhat.com>
6990
6991         * lib/regexec.c (find_recover_state): Remove unnecessary
6992         initialization.
6993         (transit_state_bkref): Make DFA a const pointer.
6994         (get_subexp): Likewise.
6995         (check_arrival): Likewise.
6996         (update_cur_sifted_state): Likewise.
6997         (re_search_internal): Likewise.
6998         (prune_impossible_nodes): Likewise.
6999         (acquire_init_state_context): Likewise.
7000         (proceed_next_node): Likewise.
7001         (set_regs): Likewise.
7002         (free_fail_stack_return): Likewise.
7003         (check_arrival_expand_ecl): Mark DFA parameter as const.
7004         (check_arrival_expand_ecl_sub): Likewise.
7005         (check_subexp_limits): Likewise.
7006         (sub_epsilon_src_nodes):  Likewise.
7007         (add_epsilon_src_nodes):  Likewise.
7008         (merge_state_array): Likewise.
7009         (update_regs): Likewise.
7010         (build_trtable): Likewise.
7011         (sift_states_backward): Mark MCTX parameter as const.
7012         (build_sifted_states): Likewise.
7013         (update_cur_sifted_state): Likewise.
7014         (sift_states_mkref): Likewise.
7015         (check_arrival_expand_ecl): Mark eclosure as const.
7016         (check_dst_limits_calc_pos_1): Likewise.
7017         * lib/regex_internal.h (re_match_context_t): Make dfa a const
7018         pointer.
7019
7020         2005-09-06  Ulrich Drepper  <drepper@redhat.com>
7021
7022         * lib/regexec.c (merge_state_with_log): Define dfa as const pointer.
7023         (transit_state_sb): Likewise.
7024         (transit_state_mb): Likewise.
7025         (sift_states_iter_mb): Likewise.
7026         (check_arrival_add_next_nodes): Likewise.
7027         (check_node_accept_bytes): Change first parameter to pointer-to-const.
7028         [_LIBC] (re_search_2_stub): Use mempcpy.
7029
7030         * lib/regex_internal.c (re_string_reconstruct): Avoid calling
7031         mbrtowc for very simple UTF-8 case.
7032
7033         * lib/regex_internal.c (re_acquire_state): Make DFA pointer arg
7034         a pointer-to-const.
7035         (re_acquire_state_context): Likewise.
7036         * lib/regex_internal.h: Adjust prototypes.
7037
7038         * lib/regex.c: Prevent using C++ compilers.
7039
7040         * lib/regex_internal.c (re_acquire_state): Minor code rearrangement.
7041         (re_acquire_state_context): Likewise.
7042
7043 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
7044
7045         * modules/regex (Depends-on): Add ssize_t.
7046
7047 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
7048
7049         * m4/regex.m4 (gl_REGEX): Check for new glibc interface to
7050         translation table.
7051
7052 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
7053
7054         * doc/gnulib-tool.texi (Modified imports): pathname -> file name.
7055
7056 2006-03-29  Mark D. Baushke  <mdb@gnu.org>
7057             Bruno Haible  <bruno@clisp.org>
7058
7059         * lib/stdint_.h: On OpenBSD, don't redefine types already included in
7060         <sys/types.h> and <inttypes.h>.
7061
7062 2006-03-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
7063
7064         * m4/argz.m4 (gl_FUNC_ARGZ): If we define `error_t', also define
7065         `__error_t_defined', so argp.h will not typedef the former.
7066
7067 2006-03-25  Paul Eggert  <eggert@cs.ucla.edu>
7068
7069         * m4/regex.m4 (gl_REGEX): Don't insist on REG_SYNTAX_POSIX_EGREP,
7070         REG_SYNTAX_EMACS, and REG_IGNORE_CASE.  Settle for the traditional
7071         glibc names.  Even if glibc is changed to conform to POSIX, the
7072         traditional names will be available anyway, since regex depends on
7073         the extensions module.  Also, fix a longstanding typo in the
7074         implementation of Spencer ERE test #75 from grep 2.3.  Problems
7075         reported by Emanuele Giaquinta.  Also, change sense of cached
7076         variable, so that the message makes sense.
7077
7078 2006-03-24  Simon Josefsson  <jas@extundo.com>
7079
7080         * lib/base64.c: Fix problems reported by Eric Blake <ebb9@byu.net>,
7081         including some doc fixes.
7082         (base64_encode_alloc): Fix +1 bug on allocation failures.
7083
7084 2006-03-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
7085
7086         * lib/base64.c (base64_encode): Do not read past end of array with
7087         unsanitized input on systems with CHAR_BIT > 8.
7088
7089 2006-03-24  Eric Blake  <ebb9@byu.net>
7090
7091         * lib/time_r.c (copy_string_result): Remove, as it is no longer used.
7092
7093 2006-03-22  Karl Berry  <karl@gnu.org>
7094
7095         * config/srclist.txt (*setenv.[ch]): get from coreutils.
7096         * config/srclistvars.sh (COREUTILS): new var.
7097
7098 2006-03-17  Jim Meyering  <jim@meyering.net>
7099
7100         * m4/regex.m4 (gl_REGEX): Fix typo in last change:
7101         s/_REGEX_WIDE_OFFSETS/_REGEX_LARGE_OFFSETS/.
7102
7103 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
7104
7105         * m4/regex.m4 (gl_REGEX): Don't check for off_t, since the code
7106         no longer needs it.  Instead, check that regoff_t is as least
7107         as wide as ptrdiff_t.
7108
7109         Don't define _REGEX_WIDE_OFFSETS unless using the included regex,
7110         so that our regex.h stays compatible with the installed regex.
7111         This is helpful for installers who configure --without-included-regex.
7112         Problem reported by Emanuele Giaquinta.
7113
7114 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
7115
7116         * lib/regex.h (regoff_t) [defined _REGEX_LARGE_OFFSETS]:
7117         Typedef to long int, not to off_, as POSIX will likely change
7118         in that direction.
7119
7120 2006-03-15  Eric Blake  <ebb9@byu.net>
7121
7122         * m4/dirfd.m4 (gl_FUNC_DIRFD): Use AC_REQUIRE for AC_HEADER_DIRENT.
7123
7124 2006-03-13  Sergey Poznyakoff  <gray@gnu.org.ua>
7125
7126         * lib/argp-help.c (validate_uparams): Fix typo
7127         * lib/argp-parse.c (argp_default_options): Consistently begin help
7128         messages with a lowercase letter.
7129
7130 2006-03-11  Paul Eggert  <eggert@cs.ucla.edu>
7131
7132         * lib/time_r.h (asctime_r, ctime_r): Remove.  These functions can
7133         overrun buffers and shouldn't be used (much as gets shouldn't be
7134         used).
7135         * lib/time_r.c (asctime_r, ctime_r): Likewise.
7136
7137 2006-03-08  Simon Josefsson  <jas@extundo.com>
7138
7139         * m4/gc-random.m4: Permit 'no' as variable values and fix warnings,
7140         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
7141
7142 2006-03-08  Simon Josefsson  <jas@extundo.com>
7143
7144         * m4/gc-random.m4: Call AC_CANONICAL_HOST and use $host_os instead of
7145         $target, suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
7146
7147 2006-03-08  Simon Josefsson  <jas@extundo.com>
7148
7149         * lib/gc-gnulib.c (randomize): Don't open files called 'no', they
7150         signal that configure disabled the device.
7151
7152 2006-03-08  Simon Josefsson  <jas@extundo.com>
7153
7154         * build-aux/maint.mk: Fix refresh-po, to handle no translated
7155         languages.
7156
7157 2006-03-07  Simon Josefsson  <jas@extundo.com>
7158
7159         * modules/getopt (Depends-on): Add unistd.
7160
7161         * modules/unistd: New file.
7162
7163 2006-03-07  Simon Josefsson  <jas@extundo.com>
7164
7165         * modules/gc-random: New file.
7166
7167 2006-03-07  Simon Josefsson  <jas@extundo.com>
7168
7169         * m4/unistd_h.m4: New file.
7170
7171 2006-03-07  Simon Josefsson  <jas@extundo.com>
7172
7173         * m4/readline.m4 (gl_FUNC_READLINE): Rewrite the cached part of the
7174         test to be side-effect free by storing the result in the cache
7175         variable gl_cv_lib_readline, and moving the assignment of
7176         LIBREADLINE and LTLIBREADLINE outside the COMMANDS-TO-SET-IT.
7177         From Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
7178
7179 2006-03-07  Simon Josefsson  <jas@extundo.com>
7180
7181         * m4/gc-random.m4: New file, mostly from gc.m4.  Warn instead of
7182         error on missing devices (the functions will return an error).
7183
7184         * m4/gc.m4: Move random stuff to gc-random.m4
7185
7186 2006-03-07  Simon Josefsson  <jas@extundo.com>
7187
7188         * lib/unistd_.h: New file.
7189
7190 2006-03-07  Simon Josefsson  <jas@extundo.com>
7191
7192         * lib/gc-libgcrypt.c, gc-gnulib.c: Use GC_USE_RANDOM.
7193
7194 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
7195
7196         * m4/unistd_h.m4 (gl_HEADER_UNISTD): Rename, to match modules file.
7197         Problem reported by Juan Manuel Guerrero.
7198
7199 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
7200
7201         * lib/c-stack.c: Include unistd.h unconditionally, since we now assume
7202         the unistd module.
7203         * lib/getlogin_r.c: Likewise.
7204         * lib/getlogin_r.h: Likewise.
7205         * lib/glob.c: Likewise.
7206         * lib/pagealign_alloc.c: Likewise.
7207         * lib/unistd_.h: Remove; no longer needed.
7208
7209 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
7210
7211         * MODULES.html.sh (Support for systems lacking POSIX:2001):
7212         Add unistd.
7213         * modules/c-stack (Depends-on): Add unistd.
7214         * modules/getlogin_r: Likewise.
7215         * modules/glob: Likewise.
7216         * modules/pagealign_alloc: Likewise.
7217         * modules/unistd (Files): Remove lib/unistd_.h.
7218         (EXTRA_DIST): Remove.
7219         (unistd.h): Create using 'echo' rather than 'cp', so that we don't
7220         need unistd_.h.
7221         (MOSTLYCLEANFILES): Remove unistd.h-t.
7222
7223 2006-03-03  Simon Josefsson  <jas@extundo.com>
7224
7225         * build-aux/maint.mk: Add several syntax checks from CoreUtils.
7226
7227 2006-03-03  Simon Josefsson  <jas@extundo.com>
7228
7229         * build-aux/maint.mk: Add refresh-po rule, based on ideas from
7230         libidn and bison.
7231
7232 2006-03-03  Simon Josefsson  <jas@extundo.com>
7233
7234         * build-aux/maint.mk: Add indent target.
7235
7236 2006-03-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de> (tiny change)
7237
7238         * m4/poll.m4 (gl_FUNC_POLL): If we deem poll(2) unacceptable, use
7239         our replacement poll.h in any case, to avoid a differing
7240         declaration from a system header.  Seen on AIX.
7241
7242 2006-03-01  Simon Josefsson  <jas@extundo.com>
7243
7244         * lib/readline.c: Fix typo, tiny patch from Stepan Kasal
7245         <kasal@ucw.cz>.
7246
7247 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
7248
7249         * modules/gettime (Depends-on): Add extensions module.
7250         * modules/nanosleep (Depends-on): Likewise.
7251         * modules/settime (Depends-on): Likewise.
7252
7253 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
7254
7255         * m4/clock_time.m4 (gl_CLOCK_TIME): Require gl_USE_SYSTEM_EXTENSIONS,
7256         not merely AC_GNU_SOURCE, for the benefit of Solaris 10 when compiled
7257         pedantically.
7258         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
7259         * m4/timespec.m4 (gl_TIMESPEC): Likewise.
7260
7261         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use "=" with "test",
7262         not "==".  Reported by Ralf Wildenhues.
7263
7264 2006-03-01  Karl Berry  <karl@gnu.org>
7265
7266         * doc/Copyright/request-*: new files, synced from gnuorg.
7267
7268 2006-03-01  Karl Berry  <karl@gnu.org>
7269
7270         * config/srclist.txt (Copyright/*): new entries.
7271
7272 2006-02-28  Simon Josefsson  <jas@extundo.com>
7273
7274         * lib/getopt.c: Protect #include of unistd.h, for MSVS.
7275
7276 2006-02-27  Simon Josefsson  <jas@extundo.com>
7277
7278         * lib/base64.h: Indent #define's.  From Jim Meyering
7279         <jim@meyering.net>.
7280
7281 2006-02-27  Jim Meyering  <jim@meyering.net>
7282
7283         Revert the change of 2006-02-24, so these files can continue
7284         to be sync'd from gettext.
7285         * lib/mkdtemp.c, setenv.c, unsetenv.c: *Un*-normalize inclusion
7286         of `config.h'.
7287
7288 2006-02-26  Paul Eggert  <eggert@cs.ucla.edu>
7289
7290         * modules/intprops: New file.
7291         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
7292         Add intprops.
7293         * modules/getloadavg (Files): Remove lib/intprops.h.
7294         (Depends-on): Add intprops.
7295         * modules/human: Likewise.
7296         * modules/inttostr: Likewise.
7297         * modules/openat: Likewise.
7298         * modules/sig2str: Likewise.
7299         * modules/userspec: Likewise.
7300         * modules/utimecmp: Likewise.
7301         * modules/xnanosleep: Likewise.
7302         * modules/xstrtol: Likewise.
7303
7304 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny changes)
7305
7306         * modules/xstrtod: Omit xstrtod.h, xstrtod.c; they're in LIB_SOURCES.
7307         * modules/lock-tests (TESTS): Use $(EXEEXT).
7308         * modules/tls-tests: Likewise.
7309         * modules/argp-tests: Likewise.
7310         (check_PROGRAMS): New var, replacing...
7311         (noinst_PROGRAMS, test_argp_SOURCES): Remove.
7312
7313 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
7314
7315         * lib/mkdtemp.c, lib/setenv.c, lib/unsetenv.c: Normalize inclusion of
7316         `config.h'.
7317
7318 2006-02-24  Paul Eggert  <eggert@cs.ucla.edu>
7319
7320         * lib/glob.c: Say "invalid" rather than "illegal" in comments.
7321
7322 2006-02-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
7323
7324         Sync from coreutils.
7325         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Require gl_FUNC_LCHMOD and
7326         gl_CHDIR_SAFER.
7327
7328 2006-02-22  Jim Meyering  <jim@meyering.net>
7329
7330         Sync from coreutils.
7331         * m4/chdir-safer.m4: New file.
7332
7333 2006-02-20  Paul Eggert  <eggert@cs.ucla.edu>
7334
7335         * lib/getcwd.c (AT_FDCWD): Work around a bug in Solaris 9 and 10, where
7336         AT_FDCWD exceeds INT_MAX.
7337         * lib/openat.h (AT_FDCWD): Likewise.
7338
7339 2006-02-17  Eric Blake  <address@hidden>
7340
7341         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix caching error.
7342
7343 2006-02-16  Simon Josefsson  <jas@extundo.com>
7344
7345         * modules/getaddrinfo (Depends-on): Add sys_socket.
7346
7347 2006-02-15  Simon Josefsson  <jas@extundo.com>
7348
7349         * build-aux/maint.mk: Add dsyntax-check rule.
7350
7351 2006-02-15  Eric Blake  <ebb9@byu.net>
7352
7353         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Don't attempt using
7354         winsock2.h or ws2tcpip.h when sys/socket.h is present. Fixes
7355         'present but cannot compile' warnings on cygwin.
7356         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Use gl_HEADER_SYS_SOCKET.  Don't
7357         use ws2tcpip.h if sys/socket.h works.
7358         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Use gl_HEADER_SYS_SOCKET.
7359         (gl_GETADDRINFO): Don't use ws2tcpip.h when sys/socket.h is present.
7360
7361 2006-02-14  Simon Josefsson  <jas@extundo.com>
7362
7363         * modules/maintainer-makefile (Files): Rename.
7364
7365         * build-aux/GNUmakefile: Rename Makefile.maint to maint.mk
7366         and (the local) Makefile.cfg to maint-cfg.mk.
7367
7368         * build-aux/Makefile.maint, build-aux/maint.mk: Renamed the former
7369         to the latter.
7370
7371         * modules/maintainer-makefile: New module.
7372
7373         * build-aux/Makefile.maint: New file, from GNU CoreUtils, although
7374         severaly stripped to make it possible to build it up from scratch
7375         with reliable tests.
7376
7377         * build-aux/GNUmakefile: New file, from GNU CoreUtils with some
7378         fixes to permit overriding the default actions when configure and
7379         makefile are not available.
7380
7381 2006-02-14  Paul Eggert  <eggert@cs.ucla.edu>
7382
7383         Sync from coreutils.
7384         * modules/lstat (Depends-on): Don't depend on xalloc.
7385         (License): Change from GPL to LGPL, since this is now simply a
7386         replacement for a libc function.
7387
7388 2006-02-14  Jim Meyering  <jim@meyering.net>
7389
7390         Sync from coreutils.
7391
7392         Eliminate the unwelcome (albeit unlikely) possibility of xmalloc
7393         failure on deficient systems, and simplify gnulib lgpl dependencies.
7394         * lib/lstat.c (rpl_lstat): Rewrite to use stat() in place of the
7395         xmalloc/lstat combination.  Based on a patch from Bruno Haible.
7396
7397         * lib/xalloc-die.c: Remove unused definition of N_.
7398
7399 2006-02-14  Jim Meyering  <jim@meyering.net>
7400
7401         Sync from coreutils.
7402         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Invoke
7403         AC_CHECK_FUNCS(getmntent) unconditionally so that tests of
7404         $ac_cv_func_getmntent (e.g., in gl_LIST_MOUNTED_FILE_SYSTEMS) need not
7405         double-quote uses of that variable, to accommodate the rare case in
7406         which getmntent is available in none of the libraries checked.  This
7407         happens at least on FreeBSD 5.0.
7408
7409 2006-02-13  Simon Josefsson  <jas@extundo.com>
7410
7411         * gnulib-tool (Usage): Fix --import, from
7412         karl@freefriends.org (Karl Berry).
7413
7414 2006-02-13  Sergey Poznyakoff  <gray@gnu.org.ua>
7415
7416         * lib/argp-fmtstream.c: Restore another bugfix lost on 2005-12-12
7417
7418 2006-02-07  Sergey Poznyakoff  <gray@gnu.org.ua>
7419
7420         * lib/argp-namefrob.h: Restore changes accidentally lost during the
7421         "autoupdate" on 2005-12-12.
7422
7423 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
7424
7425         * modules/closeout (Depends-on): Remove atexit.
7426
7427 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
7428
7429         * lib/closeout.c (close_stdout): Don't assume 'bool' converts nonzero
7430         ints to 0 or 1, as this isn't true for the stdbool.h substitute.
7431
7432 2006-02-05  Paul Eggert  <eggert@cs.ucla.edu>
7433
7434         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Don't #define
7435         __EXTENSIONS__ if this causes compilation to fail.  Problem
7436         reported by Nelson H. F. Beebe with Solaris 10 and Sun C 5.7
7437         c89 -D_XOPEN_SOURCE -D_XOPEN_SOURCE_EXTENDED.
7438
7439 2006-01-27  Paul Eggert  <eggert@cs.ucla.edu>
7440
7441         * lib/fnmatch.c (L_): Renamed from L, to work around a bug in
7442         Mac OS X 10.3.9 with GCC 3 reported by Claudio Fontana in
7443         <http://lists.gnu.org/archive/html/bug-gnulib/2006-01/msg00074.html>.
7444         All uses changed.
7445
7446 2006-01-26  Simon Josefsson  <jas@extundo.com>
7447
7448         * lib/socket_.h: Set WINVER to 0x0501, to make sure getaddrinfo
7449         prototype is visible on mingw32.
7450
7451         * lib/getaddrinfo.h: Define EAI_ADDRFAMILY and EAI_SYSTEM if not set,
7452         for mingw32.
7453
7454         * lib/gai_strerror.c, getaddrinfo.h: Protect netdb.h #include (for
7455         mingw32).
7456
7457 2006-01-26  Paul Eggert  <eggert@cs.ucla.edu>
7458
7459         * lib/fts.c (diropen): Open with O_NOCTTY | O_NONBLOCK too.  Don't
7460         attempt to open for write; this always fails, at least on POSIX
7461         hosts.  This reinstates the 2006-01-09 change, which was
7462         inadvertently removed.
7463
7464 2006-01-26  Bruno Haible  <bruno@clisp.org>
7465
7466         * gnulib-tool (func_import): Use "trap 'exit $?' instead of "trap :".
7467         Reported by Paul Eggert.
7468
7469 2006-01-26  Bruno Haible  <bruno@clisp.org>
7470             Paul Eggert  <eggert@cs.ucla.edu>
7471
7472         * lib/stdbool_.h (_Bool)
7473         [(! (defined __cplusplus || defined __BEOS__)
7474           && !defined __GNUC__
7475           && !(defined __HP_cc || defined __xlc__
7476                || (defined __SUNPRO_C && (__SUNPRO_C < 0x550 || __STDC__ == 1))
7477                || defined __sgi))]:
7478         #define to signed char in these cases too; this simplifies
7479         the code (so that we don't have to worry about HP-UX, AIX, SunPRO,
7480         etc., separately) and makes it more conservative.
7481
7482 2006-01-25  Simon Josefsson  <jas@extundo.com>
7483
7484         * m4/getaddrinfo.m4: Look for getaddrinfo inside ws2tcip.h and
7485         -lws2_32.  Protect sys/socket.h and netdb.h #include's.  Include
7486         ws2tcpip.h with WINVER=0x0501.  All for mingw32.
7487
7488 2006-01-25  Sergey Poznyakoff  <gray@gnu.org.ua>
7489
7490         * lib/argp-namefrob.h: Bugfix. Remove stray #
7491
7492 2006-01-25  Paul Eggert  <eggert@cs.ucla.edu>
7493
7494         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for xlc bug if __GCC__ too,
7495         so that we test the test.
7496         Check for yet another HP-UX cc bug involving *bool |= bool.
7497
7498 2006-01-25  Karl Berry  <karl@gnu.org>
7499
7500         * config/srclist.txt (vasnprintf.c): sync lost.
7501
7502 2006-01-25  Jim Meyering  <jim@meyering.net>
7503
7504         Sync from the stable (b5) branch of coreutils:
7505
7506         * lib/fts.c (fts_children): Don't let close() clobber errno from
7507         failed fchdir().
7508
7509         * lib/fts.c (fts_stat): When following a symlink-to-directory,
7510         don't necessarily interpret stat-fails+lstat-succeeds as indicating
7511         a dangling symlink.  That can also happen at least for ELOOP.
7512         The fix: return FTS_SLNONE only when the stat errno is ENOENT.
7513         FYI, this bug predates the inclusion of fts.c in coreutils.
7514
7515         * lib/fts.c (fts_open): Put new maxarglen declaration and uses
7516         in their own block, so pre-c99 compilers don't object.
7517
7518         Avoid the double-free (first in fts_read, second in fts_close) that
7519         would occur when an `active' directory is made inaccessible (e.g.,
7520         via chmod a-x) during a traversal.
7521         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
7522         before returning.  Reproduce this failure by
7523         mkdir -p a/b; cd a; chmod a-x . b
7524         Reported by Stavros Passas.
7525
7526 2006-01-25  Jim Meyering  <jim@meyering.net>
7527
7528         * lib/fileblocks.c: Remove more useless parentheses.
7529         * lib/readutmp.h: Likewise.
7530
7531 2006-01-25  Bruno Haible  <bruno@clisp.org>
7532
7533         * lib/stdbool_.h (_Bool) [IRIX cc]: Define as 'signed char', to avoid
7534         warnings.
7535         Reported by Paul Eggert.
7536
7537 2006-01-25  Bruno Haible  <bruno@clisp.org>
7538
7539         * gnulib-tool (func_import): Use "trap :" instead of "trap -" to get
7540         rid of a trap command. For Solaris sh.
7541         Reported by Mark D. Baushke <mdb@gnu.org>.
7542
7543 2006-01-24  Simon Josefsson  <jas@extundo.com>
7544
7545         * lib/socket_.h (SHUT_WR, SHUT_RDWR): Don't hardcode, suggested by
7546         Bruno.
7547
7548 2006-01-24  Karl Berry  <karl@gnu.org>
7549
7550         * config/srclist.txt (argp-namefrob.h): sync lost.
7551
7552 2006-01-24  Jim Meyering  <jim@meyering.net>
7553
7554         * modules/openat (Files): Add lib/intprops.h.
7555         From Mark D. Baushke.
7556
7557 2006-01-24  Jim Meyering  <jim@meyering.net>
7558
7559         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBSOURCES([intprops.h]).
7560         Reported by Mark D. Baushke.
7561
7562 2006-01-24  Jim Meyering  <jim@meyering.net>
7563
7564         * lib/socket_.h: Remove useless parentheses in uses of cpp `defined'.
7565
7566 2006-01-24  Bruno Haible  <bruno@clisp.org>
7567
7568         * modules/strnlen (Maintainer): Change from glibc to all.
7569
7570 2006-01-24  Bruno Haible  <bruno@clisp.org>
7571
7572         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for IBM and HP-UX bugs.
7573         Patch by Paul Eggert.
7574
7575 2006-01-24  Bruno Haible  <bruno@clisp.org>
7576
7577         * lib/stdbool_.h (_Bool) [__cplusplus]: Don't define if the compiler
7578         already has it.
7579         Report and patch by Albert Chin-A-Young  <china@thewrittenword.com> on
7580         2005-11-26.
7581
7582         * lib/stdbool_.h (_Bool) [HP-UX cc, AIX cc,xlc]: Define as
7583         'signed char' to avoid problems with the built-in _Bool type.
7584         Reported by Paul Eggert on 2005-11-26.
7585
7586 2006-01-24  Bruno Haible  <bruno@clisp.org>
7587
7588         * gnulib-tool (func_import): Avoid constructing complicated sed
7589         expressions inside backquote.
7590         Report and solution by Mark D. Baushke <mdb@gnu.org>.
7591
7592 2006-01-23  Ulrich Drepper  <drepper@redhat.com>
7593
7594         These changes imported from libc.
7595         * lib/getopt.c: Use __fxprintf instead of inline stream orientation
7596         test and two separate function calls.
7597         * lib/strndup.c (__strndup): Add libc_hidden_def.
7598
7599 2006-01-23  Simon Josefsson  <jas@extundo.com>
7600
7601         * modules/lock-tests: Use check_PROGRAMS instead of noinst_PROGRAMS.
7602         Remove the test_*_SOURCES variable: automake infers it by default.
7603         * modules/tls-tests: Likewise.
7604
7605 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
7606
7607         Work around porting bugs reported by Dieter in
7608         <http://lists.gnu.org/archive/html/bug-bison/2006-01/msg00049.html>.
7609         * lib/getopt.c (_NOPROTO): Remove; no longer needed.
7610         Include <stdlib.h> and <unistd.h> in all environments; it's safe now.
7611         Include "getopt.h" first, to check interface.
7612         (getenv): Declare only if defined HAVE_DECL_GETENV &&
7613         !HAVE_DECL_GETENV.
7614         * lib/strndup.c [!_LIBC]: Include "strndup.h" to get prototype.
7615         (__strndup): Revert to K&R-style function dfns, the glibc style.
7616         * lib/strnlen.c: Don't claim it's taken from glibc; it's not.
7617         (strnlen, __strnlen): Remove #defines and #undefs; not needed.
7618         Include strnlen.h first, to get prototype properly.
7619         (strnlen): Renamed from __strnlen.
7620         Remove weak alias.
7621
7622 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
7623
7624         * m4/getopt.m4 (gl_PREREQ_GETOPT): Check for getenv decl.
7625
7626 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
7627
7628         * config/srclist.txt: Adjust to reflect glibc reorganization.
7629         This affects only comments.
7630
7631 2006-01-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
7632
7633          * gnulib-tool, build-aux/csharpcomp.sh.in: Do not pass `-q' to mktemp.
7634          Reported by Bruce Korb <bkorb@gnu.org>.
7635
7636 2006-01-22  Paul Eggert  <eggert@cs.ucla.edu>
7637
7638         * lib/quotearg.c (quotearg_buffer_restyled): Add "default: break;"
7639         to pacify gcc -Wswitch-default.
7640
7641 2006-01-22  Bruno Haible  <bruno@clisp.org>
7642
7643         * lib/vasnprintf.c (VASNPRINTF): In the computation of the size of the
7644         temporary buffer for sprintf, take into account the precision also
7645         for 'd', 'i', 'u', 'o', 'x', 'X'.
7646
7647 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
7648
7649         * modules/argp-tests: New module
7650         * tests/test-argp.c: New file
7651         * tests/test-argp-2.sh: New file
7652
7653 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
7654
7655         * lib/argp-help.c (usage_long_opt): Do not print DOC options.
7656         (__argp_base_name): Removed
7657         * lib/argp-namefrob.h (__argp_basename): Removed definition. Was a
7658         typo.
7659         (__argp_base_name): Provide macro definition or extern declaration
7660         depending on the configuration
7661
7662 2006-01-20  Simon Josefsson  <jas@extundo.com>
7663
7664         * modules/inet_ntop (Depends-on): Depend on sys_socket.
7665
7666 2006-01-20  Simon Josefsson  <jas@extundo.com>
7667
7668         * lib/inet_ntop.h: Unconditionally include sys/socket.h.
7669
7670 2006-01-20  Paul Eggert  <eggert@cs.ucla.edu>
7671
7672         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Use -Wl,-z,ignore
7673         rather than -Xlinker -z -Xlinker ignore, as it's more portable.
7674         Suggested by Bruno Haible.
7675
7676 2006-01-20  Karl Berry  <karl@gnu.org>
7677
7678         * config/srclist.txt (argp-fmtstream.h, localcharset.c): comment out
7679         until changes propagate, I guess.
7680
7681 2006-01-19  Simon Josefsson  <jas@extundo.com>
7682
7683         * m4/socklen.m4: Look in ws2tcpip.h too, for mingw32.
7684
7685 2006-01-19  Simon Josefsson  <jas@extundo.com>
7686
7687         * lib/socket_.h: Map SHUT_RD, SHUT_WR, SHUT_RDWR correctly.
7688
7689 2006-01-19  Simon Josefsson  <jas@extundo.com>
7690
7691         * gnulib-tool: Set check_PROGRAMS.
7692
7693         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
7694         modules/des-tests, modules/gc-arcfour-tests,
7695         modules/gc-arctwo-tests, modules/gc-des-tests,
7696         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
7697         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
7698         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
7699         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
7700         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
7701         modules/md5-tests, modules/readline, modules/rijndael-tests: Use
7702         check_PROGRAMS instead of noinst_PROGRAMS to be able to remove
7703         test_*_SOURCES.
7704
7705 2006-01-18  Simon Josefsson  <jas@extundo.com>
7706
7707         * modules/socklen (Depends-on): Depend on sys_socket.
7708
7709 2006-01-18  Simon Josefsson  <jas@extundo.com>
7710
7711         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
7712         modules/des-tests, modules/gc-arcfour-tests,
7713         modules/gc-arctwo-tests, modules/gc-des-tests,
7714         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
7715         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
7716         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
7717         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
7718         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
7719         modules/md5-tests, modules/readline, modules/rijndael-tests: Add
7720         $(EXEEXT) to automake TESTS variable, for mingw32.
7721
7722 2006-01-17  Simon Josefsson  <jas@extundo.com>
7723
7724         * modules/socklen (Include): Need sys/socket.h.
7725
7726 2006-01-17  Bruno Haible  <bruno@clisp.org>
7727
7728         * modules/ssize_t (Include): Add <sys/types.h>.
7729
7730 2006-01-16  Paul Eggert  <eggert@cs.ucla.edu>
7731
7732         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Don't use ldd, as
7733         it's not portable and it doesn't work with cross-compiles.
7734         Problem reported by Bruno Haible.  Fix missing-$ typo in
7735         'test "gl_cv_ignore_unused_libraries" ...' that prevented
7736         -zignore from being used with Sun's C compiler.
7737
7738 2006-01-12  Simon Josefsson  <jas@extundo.com>
7739
7740         * lib/base64.c: Fix warning, reported by Bruno Haible
7741         <bruno@clisp.org> and patch by Paul Eggert <eggert@CS.UCLA.EDU>.
7742
7743 2006-01-12  Bruno Haible  <bruno@clisp.org>
7744
7745         * modules/ldd: New file.
7746         * build-aux/ldd.sh.in: New file.
7747         * MODULES.html.sh (Support for building libraries and executables): Add
7748         ldd.
7749
7750 2006-01-12  Bruno Haible  <bruno@clisp.org>
7751
7752         * m4/ldd.m4: New file.
7753
7754 2006-01-12  Bruno Haible  <bruno@clisp.org>
7755
7756         * gnulib-tool (func_import, func_create_testdir): Don't go into an
7757         endless loop while replacing $auxdir with build-aux.
7758
7759 2006-01-11  Simon Josefsson  <jas@extundo.com>
7760
7761         * lib/stdint_.h (SIZE_MAX): Add missing (.
7762
7763 2006-01-11  Paul Eggert  <eggert@cs.ucla.edu>
7764
7765         Sync from coreutils.
7766         * lib/md5.c: Fix commentary typos.
7767         (alignof, UNALIGNED_P): No need for a GCC-specific version.
7768         * lib/md5.h (__attribute__): Remove; unused.
7769         * lib/sha1.c: Fix commentary to match md5 better.
7770         * lib/sha1.h (struct sha1_ctx): Use a word buffer, not a byte buffer,
7771         so that we don't need to worry about alignment.  All uses changed.
7772         This merges the 2005-10-28 md5 change into sha1.
7773
7774 2006-01-11  Jim Meyering  <jim@meyering.net>
7775
7776         Sync from coreutils.
7777         * lib/md5.c (OP): Fix spacing.
7778
7779 2006-01-11  Bruno Haible  <bruno@clisp.org>
7780
7781         Ensure automatic ordering between gl_LOCK and gl_ARGP.
7782         * m4/lock.m4 (gl_LOCK_BODY): Renamed from gl_LOCK.
7783         (gl_LOCK): New macro, requiring gl_LOCK_BODY.
7784
7785 2006-01-11  Bruno Haible  <bruno@clisp.org>
7786
7787         Ensure automatic ordering between gl_LOCK and gl_ARGP.
7788         * gnulib-tool (func_import, func_create_testdir): Put gl_LOCK into
7789         the "early" section as well.
7790
7791 2006-01-11  Bruno Haible  <bruno@clisp.org>
7792
7793         Avoid "ar: no archive members specified" error on MacOS X.
7794         * gnulib-tool (func_modules_add_dummy): New function.
7795         (func_import, func_create_testdir): Invoke it.
7796
7797 2006-01-11  Bruno Haible  <bruno@clisp.org>
7798
7799         * gnulib-tool (func_import, func_create_testdir): Replace build-aux
7800         with $auxdir in AC_CONFIG_FILES statements.
7801
7802 2006-01-11  Bruno Haible  <bruno@clisp.org>
7803
7804         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
7805         Initialize also noinst_HEADERS to empty.
7806
7807 2006-01-11  Bruno Haible  <bruno@clisp.org>
7808
7809         * gnulib-tool (AUTOMAKEPATH, AUTOCONF, ACLOCAL, AUTOMAKE): New
7810         variables.
7811         (func_create_megatestdir): Call aclocal, autoconf, automake here, not
7812         autoreconf.
7813
7814 2006-01-11  Bruno Haible  <bruno@clisp.org>
7815
7816         * gnulib-tool (AUTOCONF, ACLOCAL, AUTOMAKE, AUTORECONF): Make
7817         overridable by the user.
7818         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
7819
7820 2006-01-10  Simon Josefsson  <jas@extundo.com>
7821
7822         * modules/sys_socket: New file.
7823
7824 2006-01-10  Simon Josefsson  <jas@extundo.com>
7825
7826         * m4/sys_socket_h.m4: New file.
7827
7828 2006-01-10  Simon Josefsson  <jas@extundo.com>
7829
7830         * lib/socket_.h: New file.
7831
7832 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
7833
7834         * modules/readutmp (Maintainer): Add myself.
7835
7836 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
7837
7838         * m4/memcoll.m4 (gl_MEMCOLL): Don't require AC_FUNC_MEMCMP, undoing
7839         the 2002-12-31 change.  Problem and fix reported by Bruno Haible.
7840         People who are still concerned with buggy memcmp implementations
7841         can invoke gl_FUNC_MEMCMP themselves.
7842
7843 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
7844
7845         * lib/regex_internal.h (BITSET_WORD_BITS):
7846         Work around a bug in 64-bit PGC (before version 6.1-2), where the
7847         preprocessor mishandles large unsigned values as if they were signed.
7848         Problem reported by Claudio Fontana in
7849         <http://lists.gnu.org/archive/html/bug-gnulib/2005-12/msg00061.html>.
7850
7851 2006-01-10  Jim Meyering  <jim@meyering.net>
7852
7853         Avoid the double-free (first in fts_read, second in fts_close) that
7854         would occur when an `active' directory is made inaccessible (e.g.,
7855         via chmod a-x) during a traversal.
7856         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
7857         before returning.  Reproduce this failure by
7858         mkdir -p a/b; cd a; chmod a-x . b
7859         Reported by Stavros Passas.
7860
7861         Sync from coreutils.
7862         * lib/sha1.c: Tweak grammar in a comment.
7863
7864 2006-01-10  Jim Meyering  <jim@meyering.net>
7865
7866         * m4/fpending.m4: Also include <stdio.h>, for Dragonfly.
7867         Patch by Joerg Sonnenberger.
7868
7869 2006-01-10  Bruno Haible  <bruno@clisp.org>
7870
7871         * modules/readutmp: Depend on module free.
7872         * modules/strtok_r: Depend on module restrict.
7873
7874 2006-01-10  Bruno Haible  <bruno@clisp.org>
7875
7876         * modules/gettext (configure.ac): Add an invocation of
7877         AM_GNU_GETTEXT_VERSION. Needed since autoreconf is used by gnulib-tool.
7878
7879 2006-01-10  Bruno Haible  <bruno@clisp.org>
7880
7881         * m4/localcharset.m4 (gl_LOCALCHARSET): Also test for getc_unlocked.
7882         Reported by Werner Lemberg <wl@gnu.org>.
7883
7884 2006-01-10  Bruno Haible  <bruno@clisp.org>
7885
7886         * lib/localcharset.c: Update from GNU gettext.
7887
7888 2006-01-10  Bruno Haible  <bruno@clisp.org>
7889
7890         * lib/argp.h (__const): Remove macro. Use const instead.
7891         * lib/argp-fmtstream.h (__const): Likewise.
7892         * lib/glob_.h (__const): Remove macro.
7893         * lib/glob-libc.h: Use const instead of __const.
7894
7895 2006-01-10  Bruno Haible  <bruno@clisp.org>
7896
7897         * gnulib-tool (func_emit_tests_Makefile_am): Emit an empty SUBDIR
7898         variable.
7899         Needed to avoid an automake error regarding the 'gettext' module.
7900
7901 2006-01-09  Simon Josefsson  <jas@extundo.com>
7902
7903         * modules/inet_ntop (Depends-on): Add restrict.
7904
7905 2006-01-09  Simon Josefsson  <jas@extundo.com>
7906
7907         * modules/gc-rijndael-tests (License): Put under LGPL.
7908
7909         * modules/gc-des-tests (License): Likewise.
7910
7911         * modules/gc-arcfour-tests (License): Likewise.
7912
7913         * modules/gc-arctwo-tests (License): Likewise.
7914
7915         * modules/gc-pbkdf2-sha1-tests (License): Likewise.
7916
7917         * modules/gc-hmac-sha1-tests (Files): Likewise.
7918
7919         * modules/gc-hmac-md5-tests (License): Likewise.
7920
7921         * modules/gc-sha1-tests (License): Likewise.
7922
7923         * modules/gc-md5-tests (License): Likewise.
7924
7925         * modules/gc-md4-tests (License): Likewise.
7926
7927         * modules/gc-md2-tests (License): Likewise.
7928
7929         * modules/gc-tests (License): Likewise.
7930
7931         * modules/des-tests (License): Likewise.
7932
7933         * modules/md4-tests (License): Likewise.
7934
7935         * modules/md2-tests (License): Likewise.
7936
7937 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
7938
7939         Sync from coreutils:
7940
7941         * MODULES.html.sh (build_lib): New section, with new lib-ignore module.
7942         * modules/lib-ignore: New file.
7943         * modules/mkdir-p (Files): Add chdir-safer.c, chdir-safer.h, lchmod.h,
7944         chdir-safer.m4, lchmod.m4.
7945         * modules/openat: Add mkdirat.c, openat-priv.h.
7946
7947 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
7948
7949         Sync from coreutils.
7950         * m4/lib-ignore.m4: New file.
7951         * m4/lchmod.m4: New file.
7952
7953 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
7954
7955         Sync from coreutils.
7956         * lib/chdir-long.c (cdb_free): Don't bother trying to open directory
7957         for write access: POSIX says that must fail.
7958         * lib/fts.c (diropen): Likewise.
7959         * lib/save-cwd.c (save_cwd): Likewise.
7960         * lib/chdir-long.c (cdb_free): Open with O_NOCTTY | O_NONBLOCK as
7961         well, for minor improvements on hosts that lack O_DIRECTORY.
7962         * lib/chown.c (rpl_chown) [CHOWN_MODIFIES_SYMLINK]:
7963         Don't try O_WRONLY unless O_RDONLY failed wth EACCES.
7964         Fall back on chown if open failed with EACCES.
7965
7966         * lib/gettime.c (gettime) [!defined OK_TO_USE_1S_CLOCK]:
7967         Report an error at compile-time if only a 1-second nominal clock
7968         resolution is found.
7969
7970         * lib/lchmod.h: New file.
7971         * lib/mkdir-p.c: Include lchmod.h, lchown.h.
7972         (make_dir_parents): Use lchown rather than chown, and
7973         lchmod rather than chmod.
7974
7975         * lib/mountlist.c (ME_DUMMY): "none" and "proc" file systems are
7976         dummies too.  Problem with "none" reported by Bob Proulx.  Problem with
7977         "proc" reported by n0dalus.
7978
7979         * lib/mountlist.c: Include <limits.h>.
7980         (dev_from_mount_options)
7981         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]:
7982         New function.  It no longer assumes "dev=" has the System V meaning
7983         on Linux (since it doesn't).  It also parses "dev=" more carefully.
7984         (read_file_system_list)
7985         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]: Use it.
7986         MOUNTED_GETMNTENT2 is new here; the code didn't used to look for
7987         dev= in that case.
7988
7989         * lib/posixtm.h (PDS_PRE_2000): New macro.
7990         * lib/posixtm.c (year): Arg is now syntax_bits rather than
7991         allow_century.  All usages changed.  Reject dates outside the range
7992         1969-1999 if PDS_PRE_2000 is used.
7993
7994 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
7995
7996         Sync from coreutils.
7997         * doc/getdate.texi (General date syntax): Invalid dates are rejected.
7998         (Time of day items): Mention the possibility of leap seconds.
7999         Problem reported by Dr. David Alan Gilbert.
8000
8001 2006-01-09  Jim Meyering  <jim@meyering.net>
8002
8003         Sync from coreutils.
8004
8005         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2006.
8006
8007         * lib/chdir-safer.h, lib/chdir-safer.c: New files.
8008
8009         * lib/modechange.c (mode_compile): Reject an invalid mode string
8010         that starts with an octal digit.  From Andreas Gruenbacher.
8011
8012         * lib/openat.c: Include "fcntl--.h" and "unistd--.h", to map open
8013         and dup to open_safer and dup_safer, respectively.
8014         (openat_permissive): Fix typo in comment.
8015
8016         * lib/openat.c: Don't include <stdlib.h>, <unistd.h>, <fcntl.h>,
8017         "gettext.h"; either no longer needed or are guaranteed by openat.h.
8018         (_): Remove; no longer needed.
8019         (openat): Renamed from rpl_openat; no need for rpl_openat
8020         since openat.h renames openat for us.
8021         Replace most of the body with a call to openat_permissive,
8022         to avoid duplicate code.
8023         Port to (probably hypothetical) environments were mode_t is
8024         wider than int.
8025         (openat_permissive): Require mode arg, so that we can check
8026         types better.  Put it just after flags.  Change cwd failure
8027         indicator from pointer-to-bool to pointer-to-errno-value.
8028         All callers changed.
8029         Invoke openat_save_fail and/or openat_restore_fail if
8030         cwd_errno is null, so that openat can call us.
8031         (openat_permissive, fdopendir, fstatat, unlinkat):
8032         Simplify errno handling to avoid some duplicate code,
8033         as it's OK to set errno on success.
8034         * lib/openat.h: Revamp code so that function macros depend on
8035         __OPENAT_PREFIX only, not also on AT_FDCWD.
8036         (openat_ro): Remove.  Caller changed to use openat_permissive.
8037         (openat_permissive): Now a macro, if not a function.
8038         (openat_restore_fail, openat_save_fail): Now always functions,
8039         since mkdirat needs them even if __OPENAT_PREFIX is defined.
8040
8041         * lib/openat-priv.h: New file, defining macros used by mkdirat.c
8042         and openat.c.
8043         * lib/mkdirat.c: Include openat-priv.h.
8044         Remove definitions of macros defined therein.
8045         * lib/openat.c: Likewise.
8046
8047         * lib/mkdirat.c (mkdirat): New file and function.
8048         * lib/openat.h (mkdirat): Declare.
8049
8050         * lib/openat.c (fdopendir): Don't change errno when returning non-NULL.
8051
8052         * lib/openat.h (openat_permissive): Declare.
8053         (openat_ro): Define.
8054
8055         * lib/openat.c (EXPECTED_ERRNO): New macro.
8056         (openat_permissive): New function -- used in remove.c rewrite.
8057         (all functions): Set errno just before returning, only if there
8058         was an actual failure.
8059         Use EXPECTED_ERRNO rather than comparing against only ENOTDIR.
8060
8061         Emulate openat-family functions using Linux's procfs, if possible.
8062         Idea and some code based on Ulrich Drepper's glibc changes.
8063
8064         * lib/openat.c: (BUILD_PROC_NAME): New macro.
8065         Include <stdio.h>, <string.h>, "alloca.h" and "intprops.h".
8066         (rpl_openat): Emulate by trying to open /proc/self/fd/%d/%s,
8067         before falling back on save_cwd and restore_cwd.
8068         (fdopendir, fstatat, unlinkat): Likewise.
8069
8070         * lib/openat.c (fstatat, unlinkat): Perform the syscall directly,
8071         skipping the save_cwd...restore_cwd overhead, if FILE is absolute.
8072
8073         * lib/openat.c (rpl_openat): Use the promoted type (int), not mode_t,
8074         as second argument to va_arg.  Otherwise, some versions of gcc
8075         warn that `if this code is reached, the program will abort'.
8076
8077 2006-01-09  Jim Meyering  <jim@meyering.net>
8078
8079         Sync from coreutils.
8080         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile mkdirat.c.
8081         Require openat-priv.h.
8082
8083 2006-01-09  Bruno Haible  <bruno@clisp.org>
8084
8085         * modules/strnlen (Include): Use strnlen.h.
8086
8087 2006-01-09  Bruno Haible  <bruno@clisp.org>
8088
8089         * m4/stdint.m4 (gl_STDINT_H): Also test for <sys/bitypes.h>.
8090
8091 2006-01-09  Bruno Haible  <bruno@clisp.org>
8092
8093         * lib/sysexit_.h (EX_OK): New macro.
8094         Suggested by Martin Lambers <marlam@marlam.de>.
8095
8096 2006-01-09  Bruno Haible  <bruno@clisp.org>
8097
8098         * lib/stdint_.h: On Linux libc4 and libc5, include <sys/bitypes.h> and
8099         don't define _STDINT_H_NEED_SIGNED_INT_TYPES.
8100
8101 2006-01-09  Bruno Haible  <bruno@clisp.org>
8102
8103         * lib/stdint_.h (SIZE_MAX): Write the value without involving negative
8104         numbers.
8105
8106 2006-01-09  Bruno Haible  <bruno@clisp.org>
8107
8108         * lib/javacomp.sh.in: Move to ../build-aux/javacomp.sh.in.
8109         * lib/javaexec.sh.in: Move to ../build-aux/javaexec.sh.in.
8110         * lib/csharpcomp.sh.in: Move to ../build-aux/csharpcomp.sh.in.
8111         * lib/csharpexec.sh.in: Move to ../build-aux/csharpexec.sh.in.
8112
8113 2006-01-09  Bruno Haible  <bruno@clisp.org>
8114
8115         * build-aux/javacomp.sh.in: New file, moved from lib/.
8116         * modules/javacomp-script (Files): Update.
8117         (configure.ac): Add AC_CONFIG_FILES invocation.
8118         (EXTRA_DIST): Remove variable.
8119
8120         * build-aux/javaexec.sh.in: New file, moved from lib/.
8121         * modules/javaexec (Files): Update.
8122         (configure.ac): Add AC_CONFIG_FILES invocation.
8123         (EXTRA_DIST): Remove javaexec.sh.in.
8124
8125         * build-aux/csharpcomp.sh.in: New file, moved from lib/.
8126         * modules/csharpcomp-script (Files): Update.
8127         (configure.ac): Add AC_CONFIG_FILES invocation.
8128         (EXTRA_DIST): Remove variable.
8129
8130         * build-aux/csharpexec.sh.in: New file, moved from lib/.
8131         * modules/csharpexec (Files): Update.
8132         (configure.ac): Add AC_CONFIG_FILES invocation.
8133         (EXTRA_DIST): Remove csharpexec.sh.in.
8134
8135 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
8136
8137         Sync from coreutils.
8138
8139         Add POSIX ACL support
8140         * lib/acl.h (copy_acl, set_acl): Add declarations.
8141         * lib/acl.c (acl_entries): Add fallback implementation for POSIX ACL
8142         systems other than Linux.
8143         (chmod_or_fchmod): New function: use fchmod when possible,
8144         and chmod otherwise.
8145         (file_has_acl): Add a POSIX ACL implementation, with a
8146         Linux-specific subcase.
8147         (copy_acl): Add: copy an acl and S_ISUID, S_ISGID, and
8148         S_ISVTX from one file to another.  Fall back to fchmod/chmod when
8149         acls are unsupported.
8150         (set_acl): Add: set a file's acl and S_ISUID, S_ISGID, and
8151         S_ISVTX to a defined value.  Fall back to fchmod/chmod when acls
8152         are unsupported.
8153
8154 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
8155
8156         Sync from coreutils.
8157         * m4/acl.m4 (AC_FUNC_ACL): Add POSIX ACL and Linux-specific acl tests.
8158
8159 2006-01-07  Bruno Haible  <bruno@clisp.org>
8160
8161         * gnulib-tool (func_import): Add an AC_PROG_RANLIB dependency to
8162         gl_EARLY.
8163
8164 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
8165
8166         * lib/strftime.c (tzname): Don't declare if it is already #defined.
8167         Problem reported for Mingw by Mark Junker.
8168
8169 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
8170
8171         * README: Gnulib normally doesn't generate a tarball.
8172
8173 2006-01-03  Paul Eggert  <eggert@cs.ucla.edu>
8174
8175         * lib/xtime.h (xtime_make, xtime_nonnegative_nsec, xtime_nsec): Use
8176         long int, not int, for nanosecond counts, so that people who are
8177         used to POSIX struct timespec won't be surprised.  Reported by Jim
8178         Meyering.
8179
8180 2005-12-28  Bruno Haible  <bruno@clisp.org>
8181
8182         * build-aux/config.rpath: Update from GNU gettext.
8183
8184 2005-12-16  Jim Meyering  <jim@meyering.net>
8185
8186         * modules/fprintftime: New module.
8187         * MODULES.html.sh (Date and time <time.h>): Add fprintftime.
8188
8189 2005-12-16  Jim Meyering  <jim@meyering.net>
8190
8191         * m4/fprintftime.m4: New file.
8192
8193 2005-12-16  Jim Meyering  <jim@meyering.net>
8194
8195         * lib/fprintftime.c, lib/fprintftime.h: New files.
8196
8197 2005-12-15  Simon Josefsson  <jas@extundo.com>
8198
8199         * modules/socklen (configure.ac): Fix M4 macro name, to align with
8200         new m4/socklen.m4.
8201
8202 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
8203
8204         * m4/argp.m4: Define HAVE_DECL_PROGRAM_INVOCATION_NAME and
8205         HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME
8206
8207 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
8208
8209         * lib/argp-fmtstream.c (__argp_fmtstream_update): Fix coredump
8210         * lib/argp-help.c (fill_in_uparams): Check if the constructed
8211         struct uparams is valid. Fall back to the default values if it is
8212         not.
8213
8214 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
8215
8216         * modules/argp (Files): Add argp-pin.c
8217         (Depends-on): dirname
8218         (lib_SOURCES): Add argp-pin.c
8219
8220 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
8221
8222         * m4/argp.m4:  Check if program_invocation_name and
8223         program_invocation_short_name are declared and define appropriate
8224         macros if they are not.
8225
8226 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
8227
8228         * lib/argp-help.c (__argp_base_name): New function
8229         (__argp_short_program_name): Rewrite using __argp_base_name
8230         * lib/argp-namefrob.h: Define program_invocation_name and
8231         program_invocation_short_name if requested
8232         (__argp_base_name): Add prototype
8233         * lib/argp-parse.c (argp_def): Use gettext wrappers
8234         (argp_default_parser): Use __argp_base_name
8235         * lib/argp-pin.c: New file. Defines program_invocation_name and
8236         program_invocation_short_name on systems that lack them.
8237
8238 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
8239
8240         * m4/stat-time.m4 (gl_STAT_TIME): Add check for
8241         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
8242         porting problem reported by Georg Schwarz in
8243         <http://lists.gnu.org/archive/html/bug-coreutils/2005-12/msg00083.html>.
8244
8245 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
8246
8247         * lib/stat-time.h (STATE_TIMESPEC, STAT_TIMESPEC_NS): Add check for
8248         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
8249         porting problem reported by Georg Schwarz in
8250         <http://lists.gnu.org/archive/html/bug-coreutils/2005-12/msg00083.html>.
8251
8252 2005-12-05  Bruno Haible  <bruno@clisp.org>
8253
8254         * lib/csharpcomp.sh.in (options_csc): For -l option, add a .dll suffix.
8255         * lib/csharpcomp.c (compile_csharp_using_sscli): Likewise.
8256         Reported by Mark Junker <mjscod@gmx.de>.
8257
8258 2005-12-02  Paul Eggert  <eggert@cs.ucla.edu>
8259
8260         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Renamed from gl_SOCKLEN_T.
8261         Use implementation from Albert Chin, with some
8262         comments/corrections by Stepan Kasal and myself.
8263
8264 2005-12-02  Bruno Haible  <bruno@clisp.org>
8265
8266         * gnulib-tool (func_import): Accept GPLed build tool modules when
8267         --lgpl is given.
8268         * modules/csharpcomp-script: New file.
8269         * modules/csharpcomp: Depend on it.
8270         * modules/javacomp-script: New file.
8271         * modules/javacomp: Depend on it.
8272         Suggested by Simon Josefsson.
8273
8274 2005-12-01  Paul Eggert  <eggert@cs.ucla.edu>
8275
8276         * m4/regex.m4 (gl_REGEX): Check whether off_t can be used in a switch
8277         statement, to work around an HP-UX 10.20 compiler bug reported by
8278         Peter O'Gorman.
8279
8280 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
8281
8282         * modules/savedir (Depends-on): Add openat.
8283
8284 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
8285
8286         * lib/stdint_.h (intmax_t) [defined intmax_t]: Do not declare.
8287         (uintmax_t) [defined uintmax_t]: Do not declare.
8288         (SIZE_MAX) [defined SIZE_MAX]: Do not define.
8289         This works around a problem if intmax_t.m4 and/or uintmax_t.m4
8290         and/or size_max.m4 are also used.  Problem reported by Mark D. Baushke.
8291         (SIZE_MAX): Define to ((size_t) -1), not (~(size_t)0), for the
8292         sake of portability to weird hosts that C allows (though we don't
8293         know of any practical examples).
8294
8295         * lib/savedir.h (fdsavedir): New decl.
8296         * lib/savedir.c (fdsavedir, savedirstream): New functions; the latter
8297         contains most of the former guts of savedir.
8298         (savedir): Use savedirstream.
8299         Include "openat.h".
8300
8301 2005-11-25  Paul Eggert  <eggert@cs.ucla.edu>
8302
8303         * modules/obstack (Files): Add m4/ulonglong.m4.
8304         Problem reported by Davide Angelocola.
8305
8306 2005-11-15  Paul Eggert  <eggert@cs.ucla.edu>
8307
8308         * lib/xstrtod.c: Don't bother with #pragma STDC FENV_ACCESS ON, as
8309         coreutils no longer futzes with rounding modes.
8310
8311 2005-11-14  Jim Meyering  <jim@meyering.net>
8312
8313         * lib/mkstemp-safer.c: Include <config.h>, required for possible
8314         replacement of mkstemp.
8315
8316 2005-11-10  Simon Josefsson  <jas@extundo.com>
8317
8318         * lib/readline.c: Remove EOL.
8319
8320 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
8321
8322         * modules/gethrxtime (Depends-on): Add gettime.
8323
8324 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
8325
8326         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Don't require AC_HEADER_TIME
8327         or gettimeofday; no longer needed.
8328
8329 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
8330
8331         * lib/gethrxtime.c: Include "timespec.h" rather than the sys/time /
8332         time business.
8333         (gethrxtime) [! (HAVE_NANOUPTIME
8334         || (defined CLOCK_MONOTONIC && HAVE_CLOCK_GETTIME)
8335         || HAVE_MICROUPTIME)]: Fall back on gettime rather than rolling
8336         our own approximation.
8337
8338 2005-11-08  Eric Blake  <ebb9@byu.net>
8339
8340         * lib/inet_ntop.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
8341
8342 2005-11-08  Eric Blake  <ebb9@byu.net>
8343
8344         * lib/getaddrinfo.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
8345
8346 2005-11-04  Bruno Haible  <bruno@clisp.org>
8347
8348         * gnulib-tool: Implement --update mode.
8349
8350 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
8351
8352         Fix porting problem reported by Theodoros V. Kalamatianos.
8353         * lib/utimens.c (futimens) [HAVE_WORKING_UTIMES && HAVE_FUTIMES]:
8354         Don't assume that futimes failing means we must fail.
8355
8356 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
8357
8358         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Revamp wording and local
8359         variables to suggest the intended function of the PATH_MAX check.
8360
8361 2005-10-30  Kean Johnston  <jkj@sco.com>
8362
8363         Trivial changes to support SCO systems.
8364         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Check for MAXPATHLEN as well
8365         as PATH_MAX.
8366         * m4/fpending.m4 (gl_FUNC_FPENDING): Correct check for SCO systems,
8367         where __ptr is null when no I/O is pending.
8368
8369 2005-10-29  Paul Eggert  <eggert@cs.ucla.edu>
8370
8371         * lib/getcwd.c (__getcwd): Don't assume that system calls after readdir
8372         leave errno alone.  Problem reported by Dmitry V. Levin.
8373
8374 2005-10-28  Simon Josefsson  <jas@extundo.com>
8375
8376         * tests/test-gc-md4.c, tests/test-gc-md5.c, tests/test-gc-sha1.c:
8377         Test more.
8378
8379         * tests/test-gc-md2.c, tests/test-md2.c: New files.
8380
8381         * modules/md2, modules/md2-tests: New files.
8382
8383 2005-10-28  Simon Josefsson  <jas@extundo.com>
8384
8385         * m4/inet_ntop.m4: More tests.
8386
8387         * m4/gc-md2.m4, md2.m4: New file.
8388
8389 2005-10-28  Simon Josefsson  <jas@extundo.com>
8390
8391         * lib/inet_ntop.h, inet_ntop.c: Make it work under mingw32: Add
8392         "restrict" keywords, as per POSIX.  Protect the function
8393         declaration around HAVE_DECL_INET_NTOP rather than HAVE_INET_NTOP.
8394         Don't use K&R prototypes.  Check the sprintf return values.
8395         Re-define EAFNOSUPPORT if not present.  Indent.
8396
8397         * lib/md5.h, md5.c: Simplify buffer handling visavi alignment,
8398         suggested by Bruno Haible <bruno@clisp.org>.
8399
8400         * lib/gc-gnulib.c, gc-libgcrypt.c: Check calloc return value.
8401
8402         * lib/gc.h: Add MD2 and RMD160 length defines.  Add prototypes.
8403
8404         * lib/gc-libgcrypt.c: Add MD2 (which is not available through
8405         libgcrypt).
8406
8407         * lib/gc-gnulib.c: Add MD2.  Implement gc_hash_* API.
8408
8409         * lib/md2.h, lib/md2.c: New files.
8410
8411 2005-10-28  Paul Eggert  <eggert@cs.ucla.edu>
8412
8413         * lib/savedir.c (savedir): Don't assume that xrealloc etc. leave
8414         errno alone.  Problem reported by Frederic Jolliton.
8415
8416 2005-10-27  Paul Eggert  <eggert@cs.ucla.edu>
8417
8418         * modules/verify (License): Change from GPL to LGPL.  This is a
8419         tiny module and there are apparently near-equivalents that are
8420         under the BSD license.
8421
8422 2005-10-24  Simon Josefsson  <jas@extundo.com>
8423
8424         * modules/sha1: Relicense to LGPL.
8425
8426 2005-10-24  Simon Josefsson  <jas@extundo.com>
8427
8428         * lib/md4.h: Shrink buffer size, now that we changed the type.
8429
8430 2005-10-23  Simon Josefsson  <jas@extundo.com>
8431
8432         * gnulib-tool (func_import): Fix --tests-base.
8433
8434 2005-10-22  Simon Josefsson  <jas@extundo.com>
8435
8436         * modules/arcfour (Depends-on): Need stdint.
8437
8438 2005-10-22  Simon Josefsson  <jas@extundo.com>
8439
8440         * m4/gc.m4: Don't be fooled by --disable-*random-device parameters,
8441         suggested by Bruno Haible <bruno@clisp.org>.  Fix error messages.
8442
8443 2005-10-22  Simon Josefsson  <jas@extundo.com>
8444
8445         * lib/md4.h, md4.c: Simplify buffer handling visavi alignment,
8446         suggested by Bruno Haible <bruno@clisp.org>.
8447
8448 2005-10-22  Simon Josefsson  <jas@extundo.com>
8449
8450         * lib/crc.h: Include stddef.h, for size_t.
8451
8452 2005-10-22  Simon Josefsson  <jas@extundo.com>
8453
8454         * lib/arcfour.h, arcfour.c: Use fixed size indices in the
8455         arcfour_context struct (simplify test vector testing in GNU
8456         Shishi).
8457
8458 2005-10-21  Simon Josefsson  <jas@extundo.com>
8459
8460         * modules/des, modules/des-tests: New files.
8461
8462         * modules/gc-des, modules/gc-des-tests: New files.
8463
8464         * tests/test-des.c, tests/test-gc-des.c: New file.
8465
8466 2005-10-21  Simon Josefsson  <jas@extundo.com>
8467
8468         * modules/arctwo, modules/arctwo-tests: New files.
8469
8470         * tests/test-arctwo.c: New file.
8471
8472         * modules/gc-arctwo, modules/gc-arctwo-tests: New files.
8473
8474         * tests/test-gc-arctwo.c: New file.
8475
8476 2005-10-21  Simon Josefsson  <jas@extundo.com>
8477
8478         * m4/gc.m4: Don't use libgcrypt if gcrypt.h isn't found, suggested by
8479         Bruno Haible <bruno@clisp.org>.
8480
8481         * m4/gc-des.m4: New file.
8482
8483 2005-10-21  Simon Josefsson  <jas@extundo.com>
8484
8485         * m4/arctwo.m4: New file.
8486
8487         * m4/gc-arctwo.m4: New file.
8488
8489 2005-10-21  Simon Josefsson  <jas@extundo.com>
8490
8491         * lib/rijndael-api-fst.c: Fix bugs in CBC mode for more than one
8492         block.
8493
8494 2005-10-21  Simon Josefsson  <jas@extundo.com>
8495
8496         * lib/hmac-md5.c (hmac_md5): Add comments, suggested by Bruno Haible
8497         <bruno@clisp.org>.
8498
8499         * lib/hmac-sha1.c (hmac_sha1): Likewise.
8500
8501         * lib/crc.c (crc32_update): Actually use crc parameter, suggested by
8502         Bruno Haible <bruno@clisp.org>.
8503
8504         * lib/crc.h: Include stdint.h directly, suggested by Bruno Haible
8505         <bruno@clisp.org>.
8506
8507 2005-10-21  Simon Josefsson  <jas@extundo.com>
8508
8509         * lib/gc-libgcrypt.c (gc_cipher_open): Handle ECB.
8510
8511 2005-10-21  Simon Josefsson  <jas@extundo.com>
8512
8513         * lib/gc-gnulib.c: Support ARCTWO in CBC mode.
8514
8515 2005-10-21  Simon Josefsson  <jas@extundo.com>
8516
8517         * lib/des.h, lib/des.c: New files.
8518
8519         * lib/gc-gnulib.c: Support DES.c
8520
8521 2005-10-21  Simon Josefsson  <jas@extundo.com>
8522
8523         * lib/arctwo.h, lib/arctwo.c: New files.
8524
8525         * lib/gc-gnulib.c: Support ARCTWO.
8526
8527 2005-10-21  Simon Josefsson  <jas@extundo.com>
8528
8529         * lib/arctwo.h (arctwo_setkey): Protect variable in CPP macro,
8530         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
8531
8532 2005-10-21  Simon Josefsson  <jas@extundo.com>
8533
8534         * gnulib-tool (func_import, func_create_testdir): Define automake
8535         conditional GL_COND_LIBTOOL if libtool is used (to be used by modules
8536         Makefile.am snippet),
8537         suggested by Bruno Haible <bruno@clisp.org>.
8538
8539         * modules/gc (Makefile.am): Use it.
8540
8541 2005-10-21  Bruno Haible  <bruno@clisp.org>
8542
8543         * gnulib-tool (func_import, func_create_testdir): Add quoting to last
8544         patch.
8545
8546 2005-10-19  Simon Josefsson  <jas@extundo.com>
8547
8548         * tests/test-gc-rijndael.c: New file.
8549
8550         * modules/gc-rijndael, modules/gc-rijndael-test: New files.
8551
8552 2005-10-19  Simon Josefsson  <jas@extundo.com>
8553
8554         * tests/test-gc-md4.c, tests/test-gc-md5.c: Test gc_hash_buffer
8555         interface too.
8556
8557 2005-10-19  Simon Josefsson  <jas@extundo.com>
8558
8559         * tests/test-gc-arcfour.c: New file.
8560
8561         * modules/gc-arcfour, modules/gc-arcfour-tests: New files.
8562
8563 2005-10-19  Simon Josefsson  <jas@extundo.com>
8564
8565         * modules/gc-md4, modules/gc-md4-tests: New file.
8566
8567         * tests/test-gc-md4.c: New file.
8568
8569 2005-10-19  Simon Josefsson  <jas@extundo.com>
8570
8571         * m4/gc-md4.m4: New file.
8572
8573 2005-10-19  Simon Josefsson  <jas@extundo.com>
8574
8575         * m4/gc-hmac-md5.m4, gc-hmac-sha1.m4, gc-md4.m4,
8576         gc-md5.m4, gc-sha1.m4: Fix typo, suggested by Stepan Kasal
8577         <kasal@ucw.cz>.
8578
8579 2005-10-19  Simon Josefsson  <jas@extundo.com>
8580
8581         * m4/gc-arcfour.m4: New file.
8582
8583         * m4/gc-rijndael.m4: New file.
8584
8585 2005-10-19  Simon Josefsson  <jas@extundo.com>
8586
8587         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support MD4.
8588
8589 2005-10-19  Simon Josefsson  <jas@extundo.com>
8590
8591         * lib/gc-gnulib.c: Support ARCFOUR.
8592
8593 2005-10-19  Simon Josefsson  <jas@extundo.com>
8594
8595         * lib/gc-gnulib.c: Implement gc_cipher_* API, currently only with AES
8596         support.
8597
8598         * lib/gc.h: Add ECB enum type.
8599
8600         * lib/hmac-md5.c, hmac-sha1.c: Include memxor.h.
8601
8602 2005-10-18  Simon Josefsson  <jas@extundo.com>
8603
8604         * tests/test-md5.c: New file.
8605
8606         * modules/md5-tests: New file.
8607
8608 2005-10-18  Simon Josefsson  <jas@extundo.com>
8609
8610         * tests/test-md4.c: New file.
8611
8612         * modules/md4, modules/md4-tests: New files.
8613
8614 2005-10-18  Simon Josefsson  <jas@extundo.com>
8615
8616         * m4/md4.m4: New file.
8617
8618 2005-10-18  Simon Josefsson  <jas@extundo.com>
8619
8620         * lib/md4.h, lib/md4.c: New files, based on md5.?.
8621
8622 2005-10-17  Stepan Kasal  <kasal@ucw.cz>
8623
8624         * gnulib-tool (func_create_testdir): Omit the second check whether
8625         BUILT_SOURCES in nonempty.
8626
8627 2005-10-17  Simon Josefsson  <jas@extundo.com>
8628
8629         * tests/test-rijndael.c: New file.
8630
8631 2005-10-17  Simon Josefsson  <jas@extundo.com>
8632
8633         * modules/sha1: Depend on stdint instead of md5.
8634
8635         * modules/md5: Depend on stdint, remove uint32_t.
8636
8637 2005-10-17  Simon Josefsson  <jas@extundo.com>
8638
8639         * modules/gc-sha1-tests: New file.
8640
8641         * tests/test-gc-sha1.c: New file.
8642
8643 2005-10-17  Simon Josefsson  <jas@extundo.com>
8644
8645         * m4/md5.m4: Remove call to uint32_t.m4.
8646
8647 2005-10-17  Simon Josefsson  <jas@extundo.com>
8648
8649         * lib/sha1.c: Use uint32_t instead of md5_uint32.t
8650
8651         * lib/sha1.h: Use stdint.h and uint32_t instead of md5_uint32 from
8652         md5.h.
8653
8654         * lib/md5.c: Use uin32_t.  Fix non-gcc UNALIGNED_P macro.
8655
8656         * lib/md5.h: Use stdint.h and uint32_t.  Doc fix.
8657
8658 2005-10-17  Simon Josefsson  <jas@extundo.com>
8659
8660         * lib/gc.h, gc-libgcrypt.c: Add more hash types/functions.
8661
8662 2005-10-17  Simon Josefsson  <jas@extundo.com>
8663
8664         * lib/gc.h, gc-libgcrypt.c: Add ciphers.
8665
8666 2005-10-17  Simon Josefsson  <jas@extundo.com>
8667
8668         * lib/gc-libgcrypt.c (gc_hmac_sha1): Fix assert.
8669
8670         * lib/gc.h (gc_nonce, gc_pseudo_random, gc_random): Add prototypes.
8671
8672 2005-10-17  Bruno Haible  <bruno@clisp.org>
8673
8674         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Change the return statement so
8675         that it can also be used in a test.
8676
8677 2005-10-16  Bruno Haible  <bruno@clisp.org>
8678
8679         * gnulib-tool (func_emit_tests_Makefile_am): Also define
8680         TESTS_ENVIRONMENT, so that individual tests can augment it.
8681
8682         * gnulib-tool (func_create_testdir): Use an intermediate target for
8683         building $(BUILT_SOURCES). Needed because BUILT_SOURCES can contain
8684         macros, like $(ALLOCA_H), which cannot be passed through the command
8685         line.
8686
8687 2005-10-15  Simon Josefsson  <jas@extundo.com>
8688
8689         * modules/rijndael-tests: New file.
8690
8691         * modules/rijndael: New file.
8692
8693 2005-10-15  Simon Josefsson  <jas@extundo.com>
8694
8695         * m4/rijndael.m4: New file.
8696
8697 2005-10-15  Simon Josefsson  <jas@extundo.com>
8698
8699         * lib/rijndael-api-fst.h, lib/rijndael-api-fst.c: New files.
8700
8701         * lib/rijndael-alg-fst.h, lib/rijndael-alg-fst.c: New files.
8702
8703 2005-10-14  Simon Josefsson  <jas@extundo.com>
8704
8705         * tests/test-arcfour.c: New file.
8706
8707         * modules/arcfour, modules/arcfour-tests: New files.
8708
8709 2005-10-14  Simon Josefsson  <jas@extundo.com>
8710
8711         * m4/arcfour.m4: New file.
8712
8713 2005-10-14  Simon Josefsson  <jas@extundo.com>
8714
8715         * lib/arcfour.h, lib/arcfour.c: New files.
8716
8717 2005-10-14  Roland McGrath  <roland@redhat.com>
8718
8719         Import from libc.  [BZ #1331]
8720         * lib/obstack.h [!__STDC__] (obstack_int_grow_fast): Fix misnamed
8721         macro argument.
8722         Reported by Matej Vela <vela@debian.org>.
8723
8724 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
8725
8726         * lib/obstack.c [defined _LIBC && defined USE_IN_LIBIO]: Don't
8727         include <wchar.h>; no longer needed.
8728
8729 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
8730
8731         * config/srclist.txt: Add glibc bug 321 for obstack.c, obstack.h.
8732
8733 2005-10-14  Jakub Jelinek  <jakub@redhat.com>
8734         and  Ulrich Drepper  <drepper@redhat.com>
8735
8736         Import from libc.
8737         * lib/obstack.c (print_and_abort) [defined _LIBC]: Use __fxprintf
8738         instead of inline stream orientation test and two separate
8739         function calls.  Pay no attention to USE_IN_LIBIO.
8740
8741 2005-10-13  Simon Josefsson  <jas@extundo.com>
8742
8743         * modules/gc-hmac-md5-tests: New file.
8744
8745         * tests/test-gc-hmac-sha1.c: New file.
8746
8747         * tests/test-gc.c (main): Remove MD5 and HMAC-MD5 tests.
8748
8749         * modules/gc-hmac-md5-tests: New file.
8750
8751         * tests/test-gc-md5.c: New file.
8752
8753         * modules/gc-md5-tests: New file.
8754
8755 2005-10-13  Simon Josefsson  <jas@extundo.com>
8756
8757         * lib/gc-pbkdf2-sha1.c (gc_pbkdf2_sha1): Optimize CEIL computation.
8758         Move memory allocation outside of loop.
8759
8760 2005-10-13  Paul Eggert  <eggert@cs.ucla.edu>
8761
8762         * lib/mkdir-p.c (make_dir_parents): Don't report an error if an
8763         intermediate directory is in a read-only file system.  Problem
8764         reported by Eric Blake.
8765
8766 2005-10-13  Oskar Liljeblad  <oskar@osk.mine.nu>
8767
8768         * modules/human (Depends-on): Depend on xstrtoumax, not xstrtol.
8769
8770 2005-10-12  Simon Josefsson  <jas@extundo.com>
8771
8772         * tests/test-hmac-sha1.c: New file.
8773
8774         * modules/hmac-sha1-tests: New file.
8775
8776         * modules/hmac-sha1: New file.
8777
8778 2005-10-12  Simon Josefsson  <jas@extundo.com>
8779
8780         * modules/gc-sha1: New file.
8781
8782 2005-10-12  Simon Josefsson  <jas@extundo.com>
8783
8784         * modules/gc-pbkdf2-sha1, modules/gc-pbkdf2-sha1-tests: New files.
8785
8786         * tests/test-gc-pbkdf2-sha1.c: New file.
8787
8788 2005-10-12  Simon Josefsson  <jas@extundo.com>
8789
8790         * modules/gc-md5, modules/gc-hmac-md5: New files.
8791
8792         * modules/gc (Files): Remove md5, memxor and hmac files.
8793
8794 2005-10-12  Simon Josefsson  <jas@extundo.com>
8795
8796         * m4/gc-pbkdf2-sha1.m4: New file.
8797
8798         * m4/gc-hmac-sha1.m4: New file.
8799
8800         * m4/gc-sha1: New file.
8801
8802         * m4/hmac-sha1.m4: New file.
8803
8804 2005-10-12  Simon Josefsson  <jas@extundo.com>
8805
8806         * m4/gc-md5.m4, m4/gc-hmac-md5.m4: New files.
8807
8808         * m4/gc.m4: Don't call gl_MD5, gl_MEMXOR or gl_HMAC_MD5.
8809
8810 2005-10-12  Simon Josefsson  <jas@extundo.com>
8811
8812         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Use Gc_rc for return types,
8813         suggested by Bruno Haible <bruno@clisp.org>.
8814
8815 2005-10-12  Simon Josefsson  <jas@extundo.com>
8816
8817         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support SHA-1.
8818
8819 2005-10-12  Simon Josefsson  <jas@extundo.com>
8820
8821         * lib/gc-pbkdf2-sha1.c: New file.
8822
8823         * lib/gc.h: Add gc_pbkdf2_sha1 prototype.
8824
8825 2005-10-12  Simon Josefsson  <jas@extundo.com>
8826
8827         * lib/gc-libgcrypt.c (gc_hmac_sha1): New function.
8828
8829         * lib/gc-gnulib.c (gc_hmac_sha1): New function.
8830
8831 2005-10-12  Simon Josefsson  <jas@extundo.com>
8832
8833         * lib/gc-gnulib.c: Condition MD5 and HMAC-MD5 use on GC_USE_MD5 and
8834         GC_USE_HMAC_MD5, respectively.
8835
8836         * lib/gc-libgcrypt.c (gc_md5): Fix assert call.
8837         (gc_md5): Fix typo.
8838
8839         * lib/gc.h (gc_hash_buffer): Use gc_hash in prototype.
8840
8841         * lib/gc-libgcrypt.c (gc_hash_buffer): Ditto.
8842
8843         * lib/gc-gnulib.c (gc_hash_buffer): Ditto.
8844
8845 2005-10-12  Bruno Haible  <bruno@clisp.org>
8846
8847         * m4/stdbool.m4 (gl_STDBOOL_H): Define as an alias of AM_STDBOOL_H.
8848         Reported by Stepan Kasal <kasal@ucw.cz>.
8849
8850 2005-10-11  Simon Josefsson  <jas@extundo.com>
8851
8852         * tests/test-crc.c: New file.
8853
8854         * modules/crc, modules/crc-tests: New files.
8855
8856 2005-10-11  Simon Josefsson  <jas@extundo.com>
8857
8858         * m4/crc.m4: New file.
8859
8860 2005-10-11  Simon Josefsson  <jas@extundo.com>
8861
8862         * lib/gc.h: Add gc_hash and gc_hash_buffer.
8863
8864         * lib/gc-gnulib.c (gc_hash_buffer): Add.  Reorder #include's.
8865
8866         * lib/gc-libgcrypt.c (gc_hash_buffer): Add.
8867
8868 2005-10-11  Simon Josefsson  <jas@extundo.com>
8869
8870         * lib/crc.h, lib/crc.c: New files.
8871
8872         * lib/gc.h (gc_hash_buffer): Add doc.
8873
8874 2005-10-11  Bruno Haible  <bruno@clisp.org>
8875
8876         * modules/c-strcasestr: New file.
8877         * MODULES.html.sh (String handling <string.h>): Add c-strcasestr.
8878
8879 2005-10-11  Bruno Haible  <bruno@clisp.org>
8880
8881         * modules/c-strcase: New file.
8882         * MODULES.html.sh (String handling <string.h>): Add c-strcase.
8883
8884 2005-10-11  Bruno Haible  <bruno@clisp.org>
8885
8886         * lib/strcasecmp.c: Include limits.h.
8887         (strcasecmp): Avoid integer overflow on exotic platforms.
8888         * lib/strncasecmp.c: Include limits.h.
8889         (strncasecmp): Avoid integer overflow on exotic platforms.
8890         Reported by Paul Eggert.
8891
8892 2005-10-11  Bruno Haible  <bruno@clisp.org>
8893
8894         * lib/c-strcasestr.h: New file, from GNU gettext.
8895         * lib/c-strcasestr.c: New file, from GNU gettext.
8896
8897 2005-10-11  Bruno Haible  <bruno@clisp.org>
8898
8899         * lib/c-strcase.h: New file, from GNU gettext.
8900         * lib/c-strcasecmp.c: New file, from GNU gettext.
8901         * lib/c-strncasecmp.c: New file, from GNU gettext.
8902
8903 2005-10-10  Paul Eggert  <eggert@cs.ucla.edu>
8904
8905         * modules/mempcpy (License): GPL -> LGPL.
8906         * modules/strchrnul (License): Likewise.
8907         * modules/sysexits (License): Likewise.
8908
8909 2005-10-08  Simon Josefsson  <jas@extundo.com>
8910
8911         * config/srclist.txt: Bug 1423 is closed, but 1439 remains.
8912
8913 2005-10-07  Simon Josefsson  <jas@extundo.com>
8914
8915         * m4/memxor.m4: Remove gl_C_RESTRICT call.
8916
8917 2005-10-06  Simon Josefsson  <jas@extundo.com>
8918
8919         * tests/test-hmac-md5.c: New file.
8920
8921         * modules/hmac-md5-tests: New file.
8922
8923         * modules/hmac-md5: New file.
8924
8925 2005-10-06  Simon Josefsson  <jas@extundo.com>
8926
8927         * m4/hmac-md5.m4: New file.
8928
8929         * m4/memxor.m4: Require gl_C_RESTRICT.
8930
8931 2005-10-06  Simon Josefsson  <jas@extundo.com>
8932
8933         * lib/memxor.c (memxor): Avoid casts and warnings.
8934
8935 2005-10-06  Simon Josefsson  <jas@extundo.com>
8936
8937         * lib/hmac-md5.c: New file.
8938
8939         * lib/hmac.h: New file.
8940
8941 2005-10-06  Paul Eggert  <eggert@cs.ucla.edu>
8942
8943         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check that bool
8944         promotes to int, not unsigned int, to catch the AIX 5.3
8945         compiler bug.
8946
8947 2005-10-05  Simon Josefsson  <jas@extundo.com>
8948
8949         * modules/memxor: New file.
8950
8951         * modules/iconv (Files): Move config.rpath to havelib, it is used
8952         there.
8953
8954         * modules/havelib (Files): Add config.rpath.
8955
8956 2005-10-05  Simon Josefsson  <jas@extundo.com>
8957
8958         * m4/memxor.m4: New file.
8959
8960 2005-10-05  Simon Josefsson  <jas@extundo.com>
8961
8962         * lib/memxor.c (memxor): Fix compiler error.
8963
8964         * lib/md5.h (MD5_DIGEST_SIZE, MD5_BLOCK_SIZE): Add, see also
8965         <http://sourceware.org/bugzilla/show_bug.cgi?id=1423>.
8966
8967         * lib/memxor.h, lib/memxor.c: New files.
8968
8969         * lib/getaddrinfo.h: Don't protect sys/types.h with HAVE_SYS_TYPES_H,
8970         we assume all systems have it, suggested by Jim Meyering
8971         <jim@meyering.net>.  Remove HAVE_SYS_SOCKET_H test too, to see if
8972         any systems lack sys/socket.h; mingw32 is known to lack it, but we
8973         don't support it yet anyway.  Also remove HAVE_NETDB_H test, for
8974         same reasons.
8975
8976 2005-10-05  Simon Josefsson  <jas@extundo.com>
8977
8978         * config/srclist.txt: Add glibc bug 1423 for md5.h.
8979
8980 2005-10-05  Paul Eggert  <eggert@cs.ucla.edu>
8981
8982         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Don't check for
8983         sys/socket.h, netdb.h, sys/types.h; the checks areno longer
8984         needed, since the source code now assumes these .h files.
8985
8986 2005-10-05  Derek Price  <derek@ximbiot.com>
8987
8988         * lib/getdelim.c (SIZE_MAX): New macro, if not already defined.
8989
8990 2005-10-05  Bruno Haible  <bruno@clisp.org>
8991
8992         * modules/stdint (License): Change to LGPL.
8993
8994 2005-10-04  Simon Josefsson  <jas@extundo.com>
8995
8996         * lib/getaddrinfo.h: Move sys/types.h include first, reported by "Mark
8997         D. Baushke" <mdb@gnu.org>.
8998
8999 2005-10-04  Bruno Haible  <bruno@clisp.org>
9000
9001         * lib/verify.h (verify_true): Provide alternative definition for C++.
9002
9003 2005-10-03  Paul Eggert  <eggert@cs.ucla.edu>
9004
9005         * lib/getdelim.c: Include getdelim.h first.  Include <limits.h>.
9006         (SSIZE_MAX): New macro, if not already defined.
9007         (getdelim): Fix buffer overrun on 64-bit hosts with lines longer
9008         than 2 GiB.
9009
9010 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
9011
9012         Sync from coreutils.
9013         * m4/openat.m4 (gl_FUNC_OPENAT): Check for fdopendir.
9014         * m4/ullong_max.m4 (gl_ULLONG_MAX): Simplify so that it merely
9015         defines ULONG_MAX_LT_ULLONG_MAX.  Thomas M.Ott reports that
9016         ULLONG_MAX doesn't work with 2.7.2.1.
9017
9018 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
9019
9020         * modules/xreadlink (Makefile.am): Remove lib_SOURCES.
9021         From Ben Pfaff.
9022
9023         * modules/exclude (Depends-on): Depend on verify.
9024         * modules/strtoimax (Depends-on): Likewise.
9025         * modules/utimecmp (Depends-on): Likewise.
9026
9027 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
9028
9029         * lib/exclude.c: Include verify.h.
9030         (verify): Remove.  All callers changed to use verify.h's version.
9031         * lib/strtoimax.c: Likewise.
9032         * lib/utimecmp.c: Likewis.e
9033
9034         Sync from coreutils.
9035         * lib/.cppi-disable: Add getaddrinfo.h, getdelim.h, getline.h,
9036         getpass.c, mbchar.h, mbuiter.h, strcase.h, strnlen.h, strnlen1.h.
9037         * lib/.cvsignore: Add fts.h, search.h, t-fpending.
9038         * lib/settime.c (settime): Fix { typo in previous patch.  Also, don't
9039         bother returning ENOSYS if settimeofday or stime fails; just let
9040         them return whatever errno they want to return.
9041         * lib/utimens.c: Include unistd.h, for dup2.
9042         (futimens): Fix typo: HAVE_FUTIMESAT was misspelled in an #if.
9043         (futimens) [! HAVE_FUTIMESAT]: If !file, set errno before returning -1.
9044
9045 2005-10-02  Jim Meyering  <jim@meyering.net>
9046
9047         Sync from coreutils.
9048         * m4/utimes.m4 (gl_FUNC_UTIMES): Detect the version of utimes
9049         from glibc-2.2.5 that fails for read-only files.
9050
9051 2005-10-02  Jim Meyering  <jim@meyering.net>
9052
9053         Sync from coreutils.
9054         * lib/fts-cycle.c [HAVE_CONFIG_H]: Include <config.h>.
9055         * lib/openat-die.c: Use `#ifdef HAVE_CONFIG_H', not
9056         `#if HAVE_CONFIG_H'.
9057         * lib/openat.c (fdopendir): Do not define if HAVE_FDOPENDIR.
9058         Remove AT_FDCWD test.
9059         Do not consume the fd unless successful.
9060         * lib/openat.h (fdopendir): Do not define if HAVE_FDOPENDIR.
9061         * lib/settime.c (settime): Move the HAVE_STIME block `up' into an #elif
9062         block, so that we don't even try to compile it if settimeofday is
9063         available.  This works around a compilation failure on OSF1 V5.1,
9064         due to stime requiring a `long int*' while tv_sec is `int'.
9065
9066 2005-10-02  Alfred M. Szmidt  <ams@gnu.org>
9067
9068         Sync from coreutils.
9069         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Compare $gl_have_path...
9070         against `yes', rather than just testing for nonempty.
9071
9072 2005-10-01  Simon Josefsson  <jas@extundo.com>
9073
9074         * m4/getaddrinfo.m4: Include sys/types.h for sys/socket.h, on FreeBSD
9075         and Darwin.
9076
9077         * m4/getaddrinfo.m4: Use AC_GNU_SOURCE, GNU only declare getaddrinfo
9078         as an (POSIX) extension.  Check for sys/types.h, sys/socket.h, and
9079         netdb.h too, needed by getaddrinfo.h.  Check if getaddrinfo,
9080         freeaddrinfo and gai_strerror are declared by the POSIX headers.
9081         Check if struct addrinfo is declared.
9082
9083 2005-10-01  Simon Josefsson  <jas@extundo.com>
9084
9085         * lib/getaddrinfo.h: Protect #include's of sys/socket.h and netdb.h.
9086         Only define struct addrinfo if !HAVE_STRUCT_ADDRINFO.  Protect
9087         AI_* and EAI_* definitions.  Protect function declarations.
9088
9089 2005-10-01  Jim Meyering  <jim@meyering.net>
9090
9091         Sync from coreutils.
9092
9093         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Look for getservbyname in these
9094         libraries [inet nsl socket xnet].  Nelson Beebe reported that with
9095         native cc on Solaris 7, getaddrinfo.c requires -lsocket.
9096         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
9097         in the inet and nsl libraries.  Required on Solaris 5.7.
9098
9099 2005-10-01  Jim Meyering  <jim@meyering.net>
9100
9101         Sync from coreutils.
9102         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
9103         in the inet and nsl libraries.  Required on Solaris 5.7.
9104
9105 2005-10-01  Eric Blake  <ebb9@byu.net>  (tiny change)
9106
9107         * lib/getdelim.c (getdelim): Remove unused variables.
9108
9109 2005-09-29  Paul Eggert  <eggert@cs.ucla.edu>
9110
9111         * lib/xtime.h (XTIME_PRECISION): Now of type int, not long long int,
9112         so that the code works even with ancient cpp.  Portability problem
9113         with GCC 2.7.2.1 reported by Thomas M.Ott.
9114
9115 2005-09-27  Paul Eggert  <eggert@cs.ucla.edu>
9116
9117         * modules/regex (Depends-on): Add strcase.
9118
9119         * modules/gethostname (Licence): Change from GPL to LGPL, since
9120         gethostname.c is a trivial implementation of a standard library
9121         function.
9122         * modules/poll (License): Change from GPL to LGPL, since it's
9123         derived from LGPL code.
9124
9125 2005-09-27  Jim Meyering  <jim@meyering.net>
9126
9127         * lib/getcwd.c: Change #ifdef<TAB>HAVE_CONFIG_H to #ifdef
9128         HAVE_CONFIG_H.
9129
9130         * lib/intprops.h (signed_type_or_expr__): Define.
9131         (INT_STRLEN_BOUND) [__GNUC__]: Use a slightly tighter bound
9132         for unsigned types.
9133
9134 2005-09-26  Paul Eggert  <eggert@cs.ucla.edu>
9135
9136         * lib/verify.h (verify_expr): Remove, replacing with:
9137         (verify_true): New macro that returns true instead of void.
9138         (verify_type__): Remove.
9139         (verify): Use verify_true rather than verify_type__.
9140
9141 2005-09-26  Bruno Haible  <bruno@clisp.org>
9142
9143         * modules/mbchar (Include): Mention that HAVE_WCHAR_H && HAVE_WCTYPE_H
9144         is necessary.
9145         (lib_SOURCES): Remove mbchar.c.
9146         * modules/mbfile (Include): Mention that HAVE_MBRTOWC is necessary.
9147         (Files): Add m4/mbrtowc.m4.
9148         * modules/mbiter: Likewise.
9149         * modules/mbuiter: Likewise.
9150
9151 2005-09-26  Bruno Haible  <bruno@clisp.org>
9152
9153         * m4/mbchar.m4 (gl_MBCHAR): Check for wchar.h and wctype.h. Don't
9154         compile mbchar.c if they are not both present.
9155         * m4/mbfile.m4 (gl_MBFILE): Require gl_FUNC_MBRTOWC.
9156         * m4/mbiter.m4 (gl_MBITER): Likewise.
9157         * m4/strstr.m4 (gl_PREREQ_STRSTR): Use AC_REQUIRE.
9158         * m4/strcasestr.m4 (gl_PREREQ_STRCASESTR): Likewise.
9159         * m4/strcase.m4 (gl_PREREQ_STRCASECMP): Likewise.
9160
9161 2005-09-25  Jim Meyering  <jim@meyering.net>
9162
9163         * modules/inet_ntop (Depends-on): Add socklen, since inet_ntop.c
9164         also uses socklen_t.
9165
9166 2005-09-24  Paul Eggert  <eggert@cs.ucla.edu>
9167
9168         * lib/utimens.c (ENOSYS): Define if not already defined.
9169         (futimens): Support having a null PATH if the file descriptor
9170         is nonnegative.
9171
9172         * lib/regex_internal.h (__GNUC_PREREQ, always_inline, inline, pure):
9173         Remove.
9174         (__attribute): Define to empty unless GCC 3.1 or later.
9175         This works around a core dump on OpenBSD 3.4, which has GCC
9176         2.95.3, which dumps core when given __attribute__(()).  It also
9177         simplifies other tests, since we really don't want to bother with
9178         worrying about which ancient version of GCC supported what.
9179         Original problem reported by Yoann Vandoorselaere, with part of
9180         the fix suggested by Derek Price.
9181
9182 2005-09-24  Jim Meyering  <jim@meyering.net>
9183
9184         * lib/verify.h (verify_type__): Use `unsigned int' as the bitfield type
9185         so we can once again use a positive bitfield width of 1 -- now we
9186         don't have to explain why we were using a bitfield width of 2.
9187
9188 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
9189
9190         * m4/regex.m4 (gl_REGEX): If replacing, define regcomp to rpl_regcomp,
9191         and similarly for the other external symbols.  Problem reported
9192         by James Gallager.
9193
9194         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Catch Sun Studio 10u1 on Linux
9195         bug reported by Jim Meyering.
9196
9197         * m4/utimens.m4 (gl_UTIMENS): Check for futimesat.
9198         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Undo previous change;
9199         not needed, since socklen is a prerequisite module.
9200
9201 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
9202
9203         * lib/getaddrinfo.c [HAVE_NETINET_IN_H]: Include <netinet/in.h>.
9204         Problem reported by Eric Blake.
9205         (getaddrinfo): Initialize se so that it's not garbage.
9206         Redo internal storage allocation so that it doesn't make unportable
9207         assumptions about alignment.
9208         Fix a memory leak.
9209
9210         * lib/utimens.c (futimens): Use futimesat if available.
9211         Prefer it to futimes since it doesn't have the futimes bug.
9212
9213         * lib/verify.h (GL_CONCAT0, GL_CONCAT): Remove.
9214         (verify): Don't use the __LINE__ trick, as it doesn't work in general.
9215         Instead, declare a function that returns a pointer to an array,
9216         and use verify_type__ to declare the size of the array.
9217         Problem and germ of a solution reported by Bruno Haible.
9218         (verify_type__): Use 2, not 1, for bitfield size, to avoid
9219         a warning with Irix 6.5 cc.  Problem reported by Bruno Haible.
9220
9221 2005-09-23  Jim Meyering  <jim@meyering.net>
9222
9223         Sync from coreutils.
9224         Correct build failure (socklen_t not defined) on at least
9225         mips-sgi-irix6.5 and alphaev67-dec-osf5.1.
9226         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Require gl_SOCKLEN_T.
9227
9228 2005-09-23  Jim Meyering  <jim@meyering.net>
9229
9230         * modules/getaddrinfo (Depends-on): Add socklen.
9231
9232 2005-09-23  Bruno Haible  <bruno@clisp.org>
9233
9234         * tests/test-verify.c: New file.
9235
9236 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
9237
9238         Sync from coreutils.
9239
9240         * modules/argmatch (Depends-on): Add verify.
9241         * modules/getloadavg (Depends-on): Depend on fcntl-safer, not
9242         unistd-safer.
9243         * modules/save-cwd (Depends-on): Likewise.
9244
9245         * modules/openat (Files): Add lib/openat-die.c.
9246         (Depends-on): Remove error, exitfail.
9247         Add dirname.
9248
9249         * modules/verify: New file.
9250         * MODULES.html.sh (Diagnostics <assert.h>): New section,
9251         with "verify" module.
9252
9253 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
9254
9255         Sync from coreutils.
9256
9257         * m4/backupfile.m4, calloc.m4, chown.m4, cloexec.m4, dup2.m4:
9258         * m4/fileblocks.m4, free.m4, ftruncate.m4, getcwd.m4, getpagesize.m4:
9259         * m4/getugroups.m4, group-member.m4, idcache.m4, link-follow.m4:
9260         * m4/mkstemp.m4, mktime.m4, mountlist.m4, nanosleep.m4, pathmax.m4:
9261         * m4/physmem.m4, posixver.m4, putenv.m4, safe-read.m4, same.m4:
9262         * m4/save-cwd.m4, stdio-safer.m4, unistd-safer.m4, unlinkdir.m4:
9263         * m4/userspec.m4, xgetcwd.m4, xreadlink.m4:
9264         Don't bother checking for string.h, stdlib.h, unistd.h.
9265         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't require
9266         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK; that's now the lstat
9267         module's job.
9268         * m4/jm-macros.m4 (gl_MACROS): Likewise.
9269         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_LSTAT.
9270
9271         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): New macro.
9272         (gl_GETDATE): Use it.
9273
9274         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Don't bother checking for unistd.h.
9275
9276 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
9277
9278         Sync from coreutils.
9279
9280         * lib/.cppi-disable: Add regcomp.c, regex_internal.c, regex_internal.h,
9281         stat-time.h.
9282         * lib/argmatch.h: Include verify.h
9283         (ARGMATCH_VERIFY): Use verify rather than rolling our own.
9284         (ARGMATCH_ASSERT): Remove; unused.
9285         * lib/canonicalize.c: Assume STDC_HEADERS.
9286         * lib/exclude.c: Include "strcase.h".
9287         * lib/regex_internal.h [!defined _LIBC]: Likewise.
9288         * lib/getusershell.c: Include stdio--.h rather than stdio.h
9289         and stdio-safer.h.
9290         (getusershell): Call fopen, not fopen_safer.
9291         * lib/save-cwd.c: Include fcntl--.h rather than fcntl.h.
9292         Do not include unistd-safer.h.
9293         (save_cwd): Don't call fd_safer; no longer needed
9294         now that we include fcntl--.h.
9295
9296         * lib/getdate.y (relative_time): New type.
9297         (RELATIVE_TIME_0): New constant.
9298         (parser_control): Use relative_time instead of doing it ourselves.
9299         (%union): Add new relative_time rel member.
9300         (tYEAR_UNIT, tMONTH_UNIT, tHOUR_UNIT, tMINUTE_UNIT, tSEC_UNIT):
9301         Now typeless.
9302         (relunit, relunit_snumber): Now of type rel.
9303         (zone, rel, relunit, get_date): Adjust to above changes.
9304
9305         * lib/getloadavg.c: Include fcntl--.h rather than fcntl.h.
9306         Do not include unistd-safer.h.
9307         (getloadavg): Don't call fd_safer; no longer needed
9308         now that we include fcntl--.h.
9309
9310         * lib/mkdir-p.c (ENOSYS): Define to EEXIST if not defined.
9311         (make_dir_parents): Treat ENOSYS like EEXIST.
9312
9313         Improve quality of diagnostics on restore_cwd failure.
9314         * lib/mkdir-p.h (make_dir): Remove.  All uses replaced by mkdir.
9315         (make_dir_parents): Last arg is now int * (for errno), not bool *.
9316         * lib/mkdir-p.c (make_dir, make_dir_parents): Likewise.
9317         Rewrite "mkdir -p" algorithm to avoid the need for "stat"
9318         each time through the loop.  Do not diagnose restore_cwd failure;
9319         that is the caller's job (and perhaps the caller does not care).
9320
9321         * lib/mkdir-p.c (CLEANUP_CWD, CLEANUP): Remove.
9322         (make_dir_parents): Revamp to avoid need for CLEANUP_CWD, CLEANUP.
9323         If the file already exists but is not a directory, don't bother
9324         to try to make its parents.
9325         Close potential file descriptor leak if we can't chdir("/") (!).
9326         Don't always return true if chdir($PWD) fails; return true only
9327         if the requested action was done successfully (except for the
9328         chdir($PWD)).
9329         Don't log final directory unless we actually made it.
9330         Refactor to avoid duplicate code to fix up permissions.
9331         Don't attempt to fix up parent permissions if chdir($PWD) fails.
9332
9333         * lib/strftime.c (my_strftime): Rewrite the previous change slightly,
9334         to make it a bit faster and (I hope) clearer.
9335         * lib/strftime.c (my_strftime): Add support for %:z, %::z, %:::z.
9336         Fix bug in formats like %2N.
9337
9338         * lib/verify.h: New file.
9339
9340 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
9341
9342         Sync from coreutils.
9343         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Check for netinet/in.h.
9344
9345 2005-09-22  Jim Meyering  <jim@meyering.net>
9346
9347         Sync from coreutils.
9348
9349         * m4/lstat.m4 (gl_FUNC_LSTAT):
9350         Use AC_LIBSOURCES to require lstat.c and lstat.h.
9351         Remove obsolete comment.
9352         * m4/xreadlink.m4: Use AC_LIBSOURCES and AC_LIBOBJ.
9353         * m4/xstrtod.m4: Likewise.
9354
9355         * m4/openat.m4 (gl_FUNC_OPENAT): Add openat-die.c.
9356
9357 2005-09-22  Jim Meyering  <jim@meyering.net>
9358
9359         Sync from coreutils.
9360
9361         * lib/backupfile.c: Use ARGMATCH_VERIFY, just in case.
9362
9363         * lib/posixtm.c (posixtime) [lint]: Initialize *all* of tm0, not just
9364         the .tm_year member, since otherwise gcc-4.0 would now warn about
9365         tm_zone, tm_gmtoff, tm_isdst, tm_yday, tm_wday.
9366
9367         * lib/quotearg.c (quotearg_n_options): Change code to be suboptimal, in
9368         order to avoid an unsuppressible warning from gcc on 64-bit systems.
9369
9370         * lib/getdate.y (get_date): Undo part of the 2005-04-04 change, so that
9371         the command "date -d'2005-03-27 +1 day'" succeeds once again, even
9372         when run in a time zone for which daylight savings time is in effect
9373         for the starting date.
9374
9375         * lib/mkdir-p.c (make_dir_parents): Don't let a failed chdir($PWD)
9376         stop us from restricting permissions of just-created absolute-named
9377         directories.
9378         * lib/mkdir-p.c (CLEANUP_CWD): Return *true*, not false when failing
9379         to restore initial working directory.
9380         * lib/mkdir-p.c (make_dir_parents): New parameter:
9381         different_working_dir, to tell caller if/when we change the working
9382         directory and are unable to return to the initial one.
9383         * lib/mkdir-p.h (make_dir_parents): Update prototype.
9384         * lib/mkdir-p.c (CLEANUP_CWD): Change one more `return 1' to
9385         `return false'.  This fixes a bug introduced on 2004-07-30.
9386
9387         * lib/openat.c (fdopendir): Be sure to close the supplied
9388         file descriptor before returning.  This makes our replacement
9389         implementation a little closer to Solaris's, where fdopendir
9390         ties the file descriptor to the returned DIR* pointer.
9391         * lib/openat.c (unlinkat): New function.
9392         * lib/openat.h (unlinkat): Add prototype.
9393         * lib/openat-die.c (openat_save_fail): Rename from openat_save_die.
9394         (openat_restore_fail): Rename from openat_restore_die.
9395         * lib/openat.c, openat.h: Reflect s/_die/_fail/ renaming.
9396
9397         Provide an alternative to exiting immediately upon save_cwd or
9398         restore_cwd failure.  Now, an application can arrange e.g.,
9399         to perform a longjump in that case.
9400         * lib/openat.c: Include dirname.h.
9401         Use IS_ABSOLUTE_FILE_NAME rather than testing for leading slash.
9402         (rpl_openat, fdopendir, fstatat): Call openat_save_die
9403         and openat_restore_die rather than calling error directly.
9404         Don't include "error.h" or "exitfail.h"; they're no longer needed.
9405
9406         * lib/openat-die.c (openat_save_die, openat_restore_die): New file.
9407         * lib/openat.h (openat_save_die, openat_restore_die): Declare and
9408         define.
9409
9410         * lib/strftime.c [FPRINTFTIME] (fprintftime): Provide a new interface:
9411         size_t fprintftime (FILE *fp, char const *fmt, struct tm const *tm,
9412                             int utc, int nanoseconds);
9413         Background:
9414         date should not have to allocate a megabyte of virtual memory to
9415         handle a format argument like +%1048575T.  When implemented with
9416         strftime, it must allocate such a buffer, use strftime to fill it
9417         in, print it, then free it.
9418         With fprintftime, it simply prints everything and exits.
9419         With no need for memory allocation, that's one fewer way to fail.
9420         * lib/strftime.c (my_strftime): Parse the colons of %:::z *after* the
9421         optional field width, not before, so we accept %9:z, not %:9z.
9422         (my_strftime): Be sure to use L_('x') for literals.
9423
9424         * lib/backupfile.c, lib/canon-host.c, lib/canonicalize.c, lib/chown.c:
9425         * lib/cloexec.c, lib/dup-safer.c, lib/dup2.c, lib/euidaccess.c:
9426         * lib/fd-safer.c, lib/fileblocks.c, lib/fopen-safer.c, lib/fsusage.c:
9427         * lib/ftruncate.c, lib/getcwd.c, lib/getcwd.h, lib/getloadavg.c:
9428         * lib/getopt_.h, lib/getpagesize.h, lib/getugroups.c:
9429         * lib/group-member.c, lib/human.h, lib/idcache.c, lib/mkdir-p.c:
9430         * lib/mountlist.c, lib/nanosleep.c, lib/pathmax.h, lib/physmem.c:
9431         * lib/posixver.c, lib/putenv.c, lib/raise.c, lib/safe-read.c:
9432         * lib/same.c, lib/save-cwd.c, lib/setenv.c, lib/settime.c:
9433         * lib/tempname.c, lib/unlinkdir.c, lib/unsetenv.c, lib/userspec.c:
9434         * lib/xgethostname.c, lib/xreadlink.c:
9435         Assume HAVE_UNISTD_H, i.e., include <unistd.h> unconditionally.
9436
9437         * lib/chown.c, lib/cloexec.c, lib/dup-safer.c, lib/dup2.c:
9438         * lib/fsusage.c, lib/getcwd.c, lib/getloadavg.c, lib/mountlist.c:
9439         * lib/openat.h, lib/save-cwd.c, lib/tempname.c:
9440         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
9441         and don't include <sys/file.h>).
9442
9443 2005-09-22  Eric Blake  <ebb9@byu.net>  (tiny change)
9444
9445         Sync from coreutils.
9446
9447         * lib/getloadavg.c (getloadavg) [__CYGWIN__]: Port to cygwin.
9448         [__linux__]: Allocate a big enough buffer for /proc/loadavg.
9449         [!LDAV_DONE]: Avoid unused variable warning.
9450
9451 2005-09-21  Bruno Haible  <bruno@clisp.org>
9452
9453         * lib/unicodeio.h (unicode_to_mb): New declaration.
9454
9455 2005-09-20  Derek Price  <derek@ximbiot.com>
9456
9457         * lib/getaddrinfo.c: Don't include <netdb.h> included from
9458         getaddrinfo.h.
9459
9460 2005-09-20  Bruno Haible  <bruno@clisp.org>
9461
9462         * gnulib-tool: Remove trailing slashes from the values specified for
9463         --source-base, --m4-base, --tests-base, --aux-dir.
9464         Suggested by Simon Josefsson <jas@extundo.com>.
9465
9466 2005-09-20  Bruno Haible  <bruno@clisp.org>
9467
9468         * gnulib-tool (func_all_modules, func_modules_transitive_closure,
9469         func_modules_to_filelist, func_import, func_create_testdir): Make all
9470         sorting results locale-independent, so that gnulib-cache.m4 doesn't
9471         change when gnulib-tool is invoked in a different locale.
9472
9473 2005-09-19  Simon Josefsson  <jas@extundo.com>
9474
9475         * m4/socklen.m4: Fix typo.
9476
9477 2005-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
9478
9479         Use a consistent style for including <config.h>.
9480         * lib/__fpending.c, lib/acl.c, lib/argmatch.c, lib/argp-help.c,
9481         lib/argp-parse.c, lib/argp-pvh.c, lib/backupfile.c, lib/basename.c,
9482         lib/c-stack.c, lib/calloc.c, lib/check-version.c, lib/cloexec.c,
9483         lib/closeout.c, lib/copy-file.c, lib/creat-safer.c, lib/cycle-check.c,
9484         lib/dirfd.c, lib/dirname.c, lib/dup-safer.c, lib/dup2.c,
9485         lib/euidaccess.c, lib/exclude.c, lib/exitfail.c, lib/fatal-signal.c,
9486         lib/fd-safer.c, lib/file-type.c, lib/fileblocks.c, lib/filemode.c,
9487         lib/filenamecat.c, lib/findprog.c, lib/fnmatch.c, lib/fopen-safer.c,
9488         lib/free.c, lib/fsusage.c, lib/ftruncate.c, lib/full-write.c,
9489         lib/fwriteerror.c, lib/getaddrinfo.c, lib/getcwd.c, lib/getdelim.c,
9490         lib/getline.c, lib/getlogin_r.c, lib/getndelim2.c, lib/getnline.c,
9491         lib/getopt1.c, lib/getpass.c, lib/group-member.c, lib/hard-locale.c,
9492         lib/hash-pjw.c, lib/hash.c, lib/human.c, lib/idcache.c,
9493         lib/inet_ntop.c, lib/isdir.c, lib/long-options.c, lib/malloc.c,
9494         lib/memcasecmp.c, lib/memcmp.c, lib/memcoll.c, lib/memcpy.c,
9495         lib/memmove.c, lib/mkdir-p.c, lib/modechange.c, lib/mountlist.c,
9496         lib/open-safer.c, lib/physmem.c, lib/pipe-safer.c, lib/pipe.c,
9497         lib/poll.c, lib/posixver.c, lib/progname.c, lib/progreloc.c,
9498         lib/putenv.c, lib/quote.c, lib/quotearg.c, lib/readline.c,
9499         lib/readlink.c, lib/realloc.c, lib/regex.c, lib/rename.c, lib/rmdir.c,
9500         lib/rpmatch.c, lib/safe-read.c, lib/same.c, lib/save-cwd.c,
9501         lib/savedir.c, lib/sig2str.c, lib/strcspn.c, lib/strerror.c,
9502         lib/stripslash.c, lib/strncasecmp.c, lib/strndup.c, lib/strnlen.c,
9503         lib/strnlen1.c, lib/strsep.c, lib/strstr.c, lib/strtod.c,
9504         lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c,
9505         lib/time_r.c, lib/userspec.c, lib/utimecmp.c, lib/version-etc-fsf.c,
9506         lib/version-etc.c, lib/wait-process.c, lib/xalloc-die.c, lib/xgetcwd.c,
9507         lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c, lib/xreadlink.c,
9508         lib/xsetenv.c, lib/xstrndup.c, lib/xstrtoimax.c, lib/xstrtol.c,
9509         lib/xstrtoumax.c, lib/yesno.c:
9510         Standardize inclusion of config.h.
9511         * lib/__fpending.h, lib/dirfd.h, lib/getdate.h, lib/human.h,
9512         lib/inttostr.h:  Removed inclusion of config.h from header files.
9513         * lib/inttostr.c:  Adjusted in-tree users.
9514         * lib/timespec.h: Remove superfluous warning to include config.h.
9515         * lib/atexit.c, lib/chdir-long.c, lib/chown.c, lib/fchown-stub.c,
9516         lib/getgroups.c, lib/gettimeofday.c, lib/lchown.c, lib/lstat.c,
9517         lib/mkdir.c, lib/mkstemp.c, lib/nanosleep.c, lib/openat.c, lib/raise.c,
9518         lib/readtokens0.c, lib/readutmp.c, lib/unlinkdir.c: Guard inclusion of
9519         config.h with HAVE_CONFIG_H.
9520
9521 2005-09-19  Jim Meyering  <jim@meyering.net>
9522
9523         * modules/pathmax (License): Change to LGPL.
9524
9525 2005-09-19  Derek Price  <derek@ximbiot.com>
9526
9527         * config/srclist.txt: glibc's glob.h is now in lib/glob-libc.h.
9528
9529 2005-09-19  Bruno Haible  <bruno@clisp.org>
9530
9531         * gnulib-tool (import): Provide default for --tests-base.
9532
9533 2005-09-19  Bruno Haible  <bruno@clisp.org>
9534
9535         * doc/quote.texi: New file, extracted from gnulib.texi.
9536         * doc/ctime.texi: New file, extracted from gnulib.texi.
9537         * doc/inet_ntoa.texi: New file, extracted from gnulib.texi.
9538         * doc/gnulib-tool.texi: New file, extracted from gnulib.texi.
9539         * doc/gnulib.texi: Include them.
9540
9541 2005-09-18  Bruno Haible  <bruno@clisp.org>
9542
9543         Portability fix.
9544         * gnulib-tool (func_readlink): New function.
9545         (func_ln_if_changed): Use it.
9546
9547 2005-09-18  Bruno Haible  <bruno@clisp.org>
9548
9549         * gnulib-tool: Support --with-tests also with --import.
9550         (func_emit_tests_Makefile_am): Use variables $m4base and $testsbase.
9551         (func_import): Use variables $testsbase and $inctests. Emit a
9552         gl_TESTS_BASE form into gnulib-cache.m4. Create $testsbase/Makefile.am.
9553         Remind the user to add AC_CONFIG_FILES($testsdir/Makefile) and
9554         SUBDIRS += $testsdir.
9555         (func_create_testdir): Update.
9556
9557 2005-09-18  Bruno Haible  <bruno@clisp.org>
9558
9559         * gnulib-tool: Revise --dry-run implementation. Use variable $doit
9560         instead of $dry_run.
9561         (func_cp_if_changed, func_mv_if_changed): Remove functions.
9562         (func_ln_if_changed): Don't handle dry-run here.
9563         (func_import): In dry-run mode, detect more precisely which actions
9564         would be performed, and don't use "...ing" verbs.
9565
9566 2005-09-18  Bruno Haible  <bruno@clisp.org>
9567
9568         * gnulib-tool (func_tmpdir): New function, taken from GNU gettextize.
9569         (func_import): Use join on two temporary files instead of three nested
9570         loops, in order to determine which files are new or old.
9571
9572 2005-09-18  Bruno Haible  <bruno@clisp.org>
9573
9574         * gnulib-tool (func_import): Comment out code that spits out the
9575         new files with --dry-run.
9576
9577 2005-09-18  Bruno Haible  <bruno@clisp.org>
9578
9579         * doc/gnulib.texi (Invoking gnulib-tool): 50% rewritten.
9580
9581 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
9582
9583         * lib/stat-time.h: New file.
9584         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP, ATIME_CMP, CTIME_CMP):
9585         (MTIME_CMP, TIMESPEC_NS): Remove.  Now done by stat-time.h,
9586         in a different way.
9587         (timespec_cmp): New function.
9588         * lib/utimecmp.c: Include stat-time.h.
9589         (SYSCALL_RESOLUTION): Depend on whether various struct stat
9590         members exist, not on the obsolescent ST_MTIM_NSEC.
9591         (utimecmp): Use the new stat-time functions rater than TIMESPEC_NS.
9592
9593 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
9594
9595         * config/srclist.txt: Remove glibc bug 1033 and uncomment mktime.c.
9596
9597 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
9598
9599         * MODULES.html.sh (File system functions): Add stat-time.
9600         * modules/stat-time: New file.
9601         * modules/timespec (Files): Remove m4/st_mtim.m4; this
9602         is now done in a different way, by the stat-time module.
9603         * modules/utimecmp (Depends-on): Add stat-time.
9604
9605 2005-09-15  Paul Eggert  <eggert@cs.ucla.edu>
9606
9607         * m4/st_mtim.m4: Remove.  Superseded by...
9608         * m4/stat-time.m4: New file.
9609         * m4/timespec.m4 (gl_TIMESPEC): Require AC_C_INLINE.
9610         Do not invoke AC_STRUCT_ST_MTIM_NSEC; no longer needed.
9611
9612 2005-09-15  Derek Price  <derek@ximbiot.com>
9613
9614         * m4/strstr.m4 (gl_FUNC_STRSTR): Don't define strstr here.
9615
9616 2005-09-15  Derek Price  <derek@ximbiot.com>
9617
9618         * lib/regex_internal.h: Blank `pure' for GNUC < 3.
9619         * lib/regex_internal.c: Ditto, using this...
9620         (__GNUC_PREREQ): ...new macro.
9621         * lib/regcomp.c, regexec.c: Blank `always_inline' for GNUC < 3.1
9622         using...
9623         (__GNUC_PREREQ): ...this new macro.
9624
9625         * lib/strstr.h: Include string.h. Define strstr as a macro here.
9626
9627 2005-09-15  Derek Price  <derek@ximbiot.com>
9628             Paul Eggert  <eggert@cs.ucla.edu>
9629
9630         * lib/regcomp.c, regexec.c, regex_internal.c: Back out previous
9631         changes, consolidating in...
9632         * lib/regex_internal.h: ...this file.
9633
9634 2005-09-13  Jim Meyering  <jim@meyering.net>
9635
9636         * lib/canon-host.c: Filter through gnu indent and reword comments
9637         slightly.
9638         * lib/canon-host.h (ch_strerror_r): Tweak cpp indentation and spacing.
9639
9640 2005-09-13  Derek Price  <derek@ximbiot.com>
9641
9642         * lib/canon-host.c (canon_host_r): Set *cherror on memory allocation
9643         failure.
9644         Reported by Jim Meyering  <jim@meyering.net>.
9645
9646 2005-09-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
9647
9648         * lib/base64.c: Typo.
9649         (base64_encode): Put b64str in initialized data section.
9650
9651 2005-09-12  Paul Eggert  <eggert@cs.ucla.edu>
9652
9653         Merge glibc and coreutils changes into gnulib, plus a few
9654         extra fixes.
9655         * lib/md5.c: Use #error rather than a string.
9656         (CYCLIC): New macro, from glibc source.  Use it instead of rol.
9657         * lib/md5.h (__GNUC_PREREQ, __THROW): Define if not defined already.
9658         (__attribute__): Define to empty for non recent-GCC.
9659         (__md5_buffer, __md5_finish_ctx, __md5_init_ctx, __md5_process_block):
9660         (__md5_process_bytes, __md5_read_ctx, __md5_stream):
9661         Renamed from their non-__ counterparts, with new macros replacing
9662         them if not _LIBC.  Add __THROW attribute.
9663         (rol): Remove.
9664         (struct md5_ctx): Align buffer if using GCC.
9665         * lib/sha1.h (struct sha1_ctx): Likewise.
9666         * lib/sha1.c (SWAP): Renamed from the NOTSWAP.  All uses changed.
9667         The old name was backwards.
9668         (NOTSWAP): Remove; not used.
9669         (rol): New macro, moved here from md5.h.
9670         (sha1_process_block): Remove a FIXME that doesn't make sense.
9671
9672 2005-09-12  Derek Price  <derek@ximbiot.com>
9673
9674         Return usable errors from canon-host.
9675         * lib/canon-host.h: New file.
9676         * lib/canon-host.c (canon_host): Wrap...
9677         (canon_host_r): ...this new function, which now relies exclusively on
9678         getaddrinfo.
9679         (ch_strerror): New function.
9680         (last_cherror): New global.
9681         * lib/getaddrinfo.c: Move include of getaddrinfo.h first to test
9682         interface.
9683         (getaddrinfo): Add AI_CANONNAME functionality.  Don't do arithmetic on
9684         void *.
9685         (freeaddrinfo): Free ai->ai_canonname when set.
9686
9687 2005-09-12  Derek Price  <derek@ximbiot.com>
9688
9689         Make canon-host require getaddrinfo.
9690         * m4/canon-host.m4 (gl_CANON_HOST): Remove most dependencies.
9691         AC_LIBSOURCE canon-host.h.  Call...
9692         (gl_PREREQ_CANON_HOST): ...this new function, which requires
9693         gl_GETADDRINFO.
9694         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Compile gai_strerror when needed.
9695
9696 2005-09-12  Derek Price  <derek@ximbiot.com>
9697
9698         * modules/canon-host: Add canon-host.h.  Depend on getaddrinfo.  Make
9699         LGPL.
9700         * modules/getaddrinfo: Add link to opengroup spec.  Depend on strdup.
9701
9702 2005-09-12  Derek Price  <derek@ximbiot.com>
9703
9704         * lib/gai_strerror.c: Include config.h when available.  Include
9705         getaddrinfo.h before other headers to test interface.
9706         Reported by Larry Jones <lawrence.jones@ugs.com>.
9707
9708 2005-09-12  Derek Price  <derek@ximbiot.com>
9709             Paul Eggert  <eggert@cs.ucla.edu>
9710
9711         * modules/glob (Files): Add glob-libc.h.
9712
9713 2005-09-12  Derek Price  <derek@ximbiot.com>
9714             Paul Eggert  <eggert@cs.ucla.edu>
9715
9716         * m4/glob.m4 (gl_GLOB_SUBSTITUTE): AC_LIBSOURCES for glob.c,
9717         glob_.h, glob-libc.h.
9718         (gl_PREREQ_GLOB): Remove _SYS_CDEFS_H hack; no longer needed.
9719
9720 2005-09-12  Derek Price  <derek@ximbiot.com>
9721             Paul Eggert  <eggert@cs.ucla.edu>
9722
9723         * lib/glob-libc.h: Renamed from glob_.h.  The new version is
9724         taken from libc's glob.h, except with '#ifdef __GLOB_GNULIB'
9725         protecting things that should be done only in gnulib contexts.
9726         * lib/glob_.h: New file, containing only the glob things needed for
9727         gnulib.
9728         (GLOB_PREFIX): Remove.  All uses changed to look for __GLOB_GNULIB.
9729         (__GLOB_CONCAT, __GLOB_XCONCAT, __GLOB_ID): Remove; no longer needed.
9730         (glob, globfree, glob_pattern_p): Now defined simply in terms of
9731         rpl_glob, rpl_globfree, rpl_glob_pattern_p.
9732         (__GLOB_GNULIB): New macro, to keep the glob.h changes clearer
9733         and to respect the namespace rules better.
9734
9735 2005-09-08  Simon Josefsson  <jas@extundo.com>
9736
9737         * modules/socklen: New file.
9738
9739 2005-09-08  Simon Josefsson  <jas@extundo.com>
9740
9741         * m4/socklen.m4: New file.
9742
9743 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
9744
9745         * modules/utimens (Files): Add m4/utimbuf.m4, since
9746         m4/utimens.m4 requires gl_CHECK_TYPE_STRUCT_UTIMBUF.
9747         Reported by Sergey Poznyakoff.
9748
9749 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
9750
9751         * lib/glob.c (glob, globfree, __glob_pattern_p): Use old-style function
9752         definitions, since that's the preferred style in glibc.
9753         Fix a minor spacing issue, and update copyright notice to match
9754         glibc's.
9755
9756 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
9757
9758         * config/srclist.txt: Remove glibc bug 1061; it's been fixed.
9759
9760 2005-09-06  Simon Josefsson  <jas@extundo.com>
9761
9762         * lib/getpass.c (getpass): Fix typo, test for HAVE_TCSETATTR and not
9763         TCSETATTR.  Reported by Derek Price <derek@ximbiot.com>.
9764
9765 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
9766
9767         * lib/regex_internal.h (bitset_not): Add parens to avoid gcc -Wall
9768         warning.
9769
9770 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
9771
9772         * config/srclist.txt: Add glibc bug 1302.
9773
9774 2005-09-05  Paul Eggert  <eggert@cs.ucla.edu>
9775
9776         Change bitset word type from unsigned int to unsigned long int,
9777         as this has better performance on typical 64-bit hosts.
9778         Port bitset code to hosts with unusual word sizes.
9779         * lib/regcomp.c (build_equiv_class, build_charclass, build_range_exp):
9780         (build_collating_symbol):
9781         Prefer bitset to re_bitset_ptr_t in prototypes, when the actual
9782         argument is a bitset.  This is merely a style issue, but it makes
9783         it clearer that an entire array is expected.
9784         (re_compile_fastmap_iter, init_dfa, init_word_char, optimize_subexps):
9785         * lib/regcomp.c (lower_subexp, parse_bracket_exp, built_charclass_op):
9786         Port to the case where bitset_word is not the same as unsigned int.
9787         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
9788         (bitset_not, bitset_merge, bitset_set_all, bitset_mask):
9789         Likewise.
9790         * lib/regexec.c (check_dst_limits_calc_pos_1,
9791         check_subexp_matching_top):
9792         (build_trtable, group_nodes_into_DFAstates):
9793         Likewise.
9794         * lib/regcomp.c (re_compile_fastmap_iter, utf8_sb_map, optimize_utf8):
9795         Don't assume that SBC_MAX is a multiple of BITSET_WORD_BITS.
9796         * lib/regex_internal.h (bitset_set_all, bitset_not): Likewise.
9797         * lib/regexec.c (group_nodes_into_DFAstates): Likewise.
9798         * lib/regcomp.c (utf8_sb_map): Don't assume UINT_MAX == 0xffffffff.
9799         * lib/regcomp.c (optimize_subexps, lower_subexp):
9800         Work even if bitset_word has holes in its bitwise representation.
9801         * lib/regex_internal.h (BITSET_WORD_BITS): Likewise.
9802         * lib/regexec.c (check_dst_limits_calc_pos_1,
9803         check_subexp_matching_top):
9804         Likewise.
9805         * lib/regex_internal.c (re_string_reconstruct):
9806         Don't assume UCHAR_MAX == 255.
9807         * lib/regex_internal.h (bitset_set_all): Likewise.
9808         * lib/regex_internal.h (BITSET_WORD_BITS): Renamed from UINT_BITS.
9809         All uses changed.
9810         (BITSET_WORDS): Renamed from BITSET_UINTS.  All uses changed.
9811         (bitset_word): New type, replacing 'unsigned int' for bitset uses.
9812         All uses changed.
9813         (BITSET_WORD_MAX): New macro.
9814         (bitset_set, bitset_clear, bitset_contain, bitset_empty):
9815         (bitset_set_all, bitset_copy):  Now inline functions, not macros.
9816         (bitset_empty, bitset_copy):
9817         Prefer sizeof (bitset) to multiplying it out ourselves.
9818         (bitset_not_merge): Remove; unused.
9819         (bitset_contain): Return bool, not unsigned int with one bit on.
9820         All callers changed.
9821         * lib/regexec.c (build_trtable): Don't assume bitset has no stricter
9822         alignment than re_node_set; do this by defining a new internal
9823         type struct dests_alloc and using it to allocate memory.
9824
9825 2005-09-05  Bruno Haible  <bruno@clisp.org>
9826
9827         * gnulib-tool (func_import): Fix comparison in handling of symbolic
9828         links.
9829
9830 2005-09-04  Martin Lambers  <marlam@marlam.de>  (tiny change)
9831
9832         * modules/size_max (Makefile.am): Add size_max.h
9833
9834 2005-09-04  Derek Price  <derek@ximbiot.com>
9835
9836         * gnulib-tool (func_import): Fix reversed $symbolic logic.
9837
9838 2005-09-03  Simon Josefsson  <jas@extundo.com>
9839
9840         * gnulib-tool: Fix typo.
9841
9842 2005-09-03  Simon Josefsson  <jas@extundo.com>
9843
9844         * config/srclist.txt: Add glibc bug 1293.
9845
9846 2005-09-03  Derek Price  <derek@ximbiot.com>
9847
9848         * m4/getlogin_r (gl_GETLOGIN_R): Fix cut & paste error.
9849         From Larry Jones <lawrence.jones@ugs.com>.
9850
9851 2005-09-02  Simon Josefsson  <jas@extundo.com>
9852
9853         * modules/socklen: New file.
9854
9855 2005-09-02  Simon Josefsson  <jas@extundo.com>
9856
9857         * modules/havelib: New module.
9858
9859         * modules/gettext, modules/iconv, modules/lock, modules/readline:
9860         Use havelib.
9861
9862 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
9863
9864         Check for arithmetic overflow when calculating sizes, to prevent
9865         some buffer-overflow issues.  These patches are conservative, in the
9866         sense that when I couldn't determine whether an overflow was possible,
9867         I inserted a run-time check.
9868         * lib/regex_internal.h (re_xmalloc, re_xrealloc, re_x2realloc): New
9869         macros.
9870         (SIZE_MAX) [!defined SIZE_MAX]: New macro.
9871         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc):
9872         (re_xnrealloc, re_x2nrealloc): New inline functions.
9873         * lib/regcomp.c (init_dfa, analyze, build_range_exp,
9874         parse_bracket_exp):
9875         (build_equiv_class, build_charclass): Check for arithmetic overflow
9876         in size expression calculations.
9877         * lib/regex_internal.c (re_string_realloc_buffers):
9878         (build_wcs_upper_buffer, re_node_set_add_intersect):
9879         (re_node_set_init_union, re_node_set_insert, re_node_set_insert_last):
9880         (re_dfa_add_node, register_state): Likewise.
9881         * lib/regexec.c (re_search_stub, re_copy_regs, re_search_internal):
9882         (prune_impossible_nodes, push_fail_stack, set_regs, check_arrival):
9883         (build_trtable, extend_buffers, match_ctx_init, match_ctx_add_entry):
9884         (match_ctx_add_subtop, match_ctx_add_sublast): Likewise.
9885
9886 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
9887
9888         * modules/inttostr (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
9889         m4/ulonglong.m4.  Problem reported by Martin Lambers.
9890
9891 2005-09-02  Bruno Haible  <bruno@clisp.org>
9892
9893         Support for lib vs. lib64 distinction on biarch platforms.
9894         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): New macro.
9895         (AC_LIB_PREFIX): Require it. Use $acl_libdirstem instead of 'lib'.
9896         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Likewise.
9897
9898 2005-09-02  Bruno Haible  <bruno@clisp.org>
9899
9900         * gnulib-tool (import): In the other first-use case, provide defaults
9901         as well.
9902
9903 2005-09-02  Bruno Haible  <bruno@clisp.org>
9904
9905         * config/srclist.txt: lib-link.m4 and lib-prefix.m4 currently have
9906         patches not yet found in the latest gettext release.
9907
9908 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
9909
9910         * lib/glob.c (GET_LOGIN_NAME_MAX): Renamed from LOGIN_NAME_MAX,
9911         to avoid a collision with bits/local_lim.h in glibc.
9912         All uses changed.  Problem reported by Dmitry V. Levin in
9913         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=1060>.
9914
9915         * lib/regex_internal.c (build_wcs_upper_buffer): Fix portability
9916         bugs in int versus size_t comparisons.
9917         (re_string_context_at): Fix bug where the code assumed that
9918         Idx is signed.
9919
9920         Use bool where appropriate.
9921         * lib/regcomp.c (re_set_fastmap): ICASE arg is bool, not int.
9922         All callers changed.
9923         (calc_eclosure_iter): Likewise, for ROOT arg.
9924         (parse_bracket_element): Likewise, for ACCEPT_HYPHEN arg.
9925         (build_charclass_op): Likewise, for NON_MATCH arg.
9926         * lib/regex_internal.c (re_string_allocate, re_string_construct):
9927         (re_string_construct_common): Likewise, for ICASE arg.
9928         * lib/regexec.c (re_search_2_stub, re_search_stub):
9929         Likewise, for RET_LEN arg.
9930         (check_matching): Likewise, for FL_LONGEST_MATCH arg.
9931         (set_regs): Likewise, for FL_BACKTRACK arg.
9932         * lib/regcomp.c (re_compile_fastmap_iter, optimize_utf8):
9933         (duplicate_node_closure, calc_inveclosure, calc_eclosure):
9934         (calc_eclosure_iter, parse_bracket_exp):
9935         Use bool for internal variables that are booleans.
9936         * lib/regexec.c (re_search_internal, check_matching,
9937         proceed_next_node):
9938         (set_regs, build_sifted_states, sift_states_bkref):
9939         (check_arrival_add_next_nodes, check_arrival_expand_ecl_sub):
9940         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
9941         (find_collation_sequence_value):
9942         Likewise.
9943         * lib/regex_internal.c (re_node_set_insert, re_node_set_insert_last):
9944         (re_node_set_compare):
9945         Return bool, not int. All callers changed.
9946         * lib/regexec.c (check_halt_node_context, check_dst_limits):
9947         (build_trtable, check_node_accept): Likewise.
9948         * lib/regex_internal.h: Include stdbool.h.
9949
9950         Fix bugs uncovered when converting to bool.
9951         * lib/regcomp.c (calc_eclosure_iter): Check for storage allocation
9952         failure instead of charging ahead blindly.
9953         * lib/regex_internal.c (register_state): Likewise.
9954         * lib/regexec.c (re_search_2_stub): Use simpler method than boolean
9955         for freeing internal storage.
9956         (group_nodes_into_DFA_states): Use unsigned int, not int, for
9957         bitset pieces used as boolean, to avoid undefined behavior
9958         on hosts that do int overflow checking.
9959
9960 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
9961
9962         * config/srclist.txt: Add glibc bugs 1285-1287.
9963
9964 2005-09-01  Jim Meyering  <jim@meyering.net>
9965
9966         * m4/lchown.m4: Require gl_FUNC_CHOWN, for the definition of
9967         CHOWN_MODIFIES_SYMLINK, which is used by lchown.c.
9968         Require gl_STAT_MACROS, too.
9969
9970 2005-09-01  Bruno Haible  <bruno@clisp.org>
9971
9972         * gnulib-tool (import): In the first-use case, provide defaults.
9973
9974 2005-09-01  Bruno Haible  <bruno@clisp.org>
9975
9976         * gnulib-tool (func_import): Remove the .tmp files.
9977
9978 2005-09-01  Bruno Haible  <bruno@clisp.org>
9979
9980         * gnulib-tool (func_import): Fix handling of symbolic links.
9981
9982 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
9983
9984         On 64-bit hosts (where size_t is 64 bits and int is 32 bits), the
9985         old glibc regex code mishandles strings longer than 2**31 bytes.
9986         This patch fixes this when the regex code is used in gnulib
9987         (i.e., outside glibc).
9988
9989         This patch should not affect the use of the regex code inside
9990         glibc.  No doubt this problem also needs to be handled for glibc
9991         as well, but the result will be an incompatible change to the
9992         glibc ABI, and the old ABI will have to be supported too.  That
9993         can be the the subject for another patch.
9994
9995         * lib/regex.h (_REGEX_LARGE_OFFSETS): New feature-test macro,
9996         governing whether the rest of this patch is active.  By default,
9997         the macro is disabled and the patch has no effect.
9998         (regoff_t) [defined _REGEX_LARGE_OFFSETS]: Define to off_t, not int.
9999         (__re_idx_t, __re_size_t, __re_long_size_t): New types.
10000         (struct re_pattern_buffer, re_search, re_search_2, re_match):
10001         (re_match_2, re_set_registers): Use the new types.
10002         * lib/regex_internal.h (Idx, re_hashval_t): New types.
10003         (REG_MISSING, REG_ERROR, REG_VALID_INDEX, REG_VALID_NONZERO_INDEX):
10004         New macros.
10005         (re_node_set, re_charset_t, re_token_t, re_string_realloc_buffers):
10006         (re_string_context_at, bin_tree_t, re_dfastate_t):
10007         (struct re_state_table_entry, state_array_t, re_sub_match_last_t):
10008         (re_sub_match_top_t, re_match_context_t, re_sift_context_t):
10009         (struct re_fail_stack_ent_t, struct re_fail_stack_t, struct re_dfa_t):
10010         (re_string_char_size_at, re_string_wchar_at):
10011         (re_string_elem_size_at):
10012         Use the new types and macros to port to 64-bit hosts.
10013         Use unsigned types for internal values, so that the code
10014         mostly works even for arrays larger than SSIZE_MAX.
10015         * lib/regcomp.c (re_compile_internal, init_dfa, duplicate_node):
10016         (search_duplicated_node, calc_eclosure_iter, fetch_number):
10017         (parse_reg_exp, parse_branch, parse_expression, parse_sub_exp):
10018         (build_equiv_class, build_charclass, re_compile_fastmap_iter):
10019         (free_dfa_content, create_initial_state, optimize_utf8, analyze):
10020         (optimize_subexps, calc_first, link_nfa_nodes, duplicate_node_closure):
10021         (calc_inveclosure, parse_dup_op, build_range_exp):
10022         (build_collating_symbol, parse_bracket_exp, build_charclass_op):
10023         (fetch_number, create_token_tree, mark_opt_subexp):
10024         Likewise.
10025         * lib/regex_internal.c (re_string_construct_common,
10026         create_ci_newstate):
10027         (create_cd_newstate, re_string_allocate, re_string_construct):
10028         (re_string_realloc_buffers, build_wcs_upper_buffer):
10029         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
10030         (re_string_reconstruct, re_string_peek_byte_case):
10031         (re_string_fetch_byte_case, re_string_context_at):
10032         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
10033         (re_node_set_init_copy, re_node_set_add_intersect):
10034         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
10035         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
10036         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
10037         (re_acquire_state, re_acquire_state_context, register_state):
10038         Likewise.
10039         * lib/regex.c (match_ctx_init, match_ctx_add_entry,
10040         search_cur_bkref_entry):
10041         (match_ctx_add_subtop, match_ctx_add_sublast, sift_ctx_init):
10042         (re_search_internal, re_search_2_stub, re_search_stub)
10043         (re_copy_regs, check_matching, check_halt_state_context, update_regs):
10044         (push_fail_stack, sift_states_iter_mb, build_sifted_states):
10045         (update_cur_sifted_state, check_dst_limits):
10046         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
10047         (check_subexp_limits, sift_states_bkref, merge_state_array):
10048         (check_subexp_matching_top, get_subexp, get_subexp_sub):
10049         (find_subexp_node, check_arrival, check_arrival_add_next_nodes):
10050         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
10051         (expand_bkref_cache, check_node_accept_bytes):
10052         (group_nodes_into_DFAstates, check_node_accept, regexec, re_match):
10053         (re_search, re_match_2, re_search_2, prune_impossible_nodes):
10054         (acquire_init_state_context, check_halt_node_context):
10055         (proceed_next_node, pop_fail_stack, set_regs, free_fail_stack_return):
10056         (sift_states_backward, clean_state_log_if_needed):
10057         (sub_epsilon_src_nodes, add_epsilone_src_nodes, merge_state_with_log):
10058         (find_recover_state, transit_state_sb, transit_state_mb):
10059         (transit_state_bkref, build_trtable, match_ctx_clean):
10060         Likewise.
10061         * lib/regcomp.c (parse_dup_op): Add an extra test if Idx is unsigned,
10062         to work around an assumption that REG_MISSING is negative.
10063
10064         * lib/regcomp.c (re_comp) [defined _REGEX_RE_COMP || defined _LIBC]:
10065         (seek_collating_symbol_entry) [defined _LIBC]:
10066         (lookup_collation_sequence_value) [defined _LIBC]:
10067         (build_range_exp, build_collating_symbol) [defined _LIBC]:
10068         Use prototypes rather than old-style function definitions.
10069         * lib/regexec.c (re_exec) [defined _REGEX_RE_COMP || defined _LIBC]:
10070         (transit_state_sb) [0]:
10071         (find_collation_sequence_value) [defined _LIBC]: Likewise.
10072
10073         * lib/regexec.c (re_search_internal): Simplify update of rm_so and
10074         rm_eo.
10075
10076         * lib/regcomp.c (re_compile_fastmap_iter, init_dfa, init_word_char):
10077         (optimize_subexps, lower_subexp):
10078         Don't assume 1<<31 has defined behavior on hosts with 32-bit int,
10079         since the signed shift might overflow.  Use 1u<<31 instead.
10080         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
10081         Likewise.
10082         * lib/regexec.c (check_dst_limits_calc_pos_1,
10083         check_subexp_matching_top): Likewise.
10084
10085         * lib/regcomp.c (optimize_subexps, lower_subexp):
10086         Use CHAR_BIT rather than 8, for clarity.
10087         * lib/regexec.c (check_dst_limits_calc_pos_1):
10088         (check_subexp_matching_top): Likewise.
10089         * lib/regcomp.c (init_dfa): Make table_size unsigned, so that we don't
10090         have to worry about portability issues when shifting it left.
10091         Remove no-longer-needed test for table_size > 0.
10092         * lib/regcomp.c (parse_sub_exp): Do not shift more bits than there are
10093         in a word, as the resulting behavior is undefined.
10094         * lib/regexec.c (check_dst_limits_calc_pos_1): Likewise;
10095         in one case, a <= should have been an <, and in another case the
10096         whole test was missing.
10097         * lib/regex_internal.h (BYTE_BITS): Remove.  All uses changed to
10098         the standard name CHAR_BIT.
10099         * lib/regexec.c (match_ctx_add_entry): Don't assume that ~0 == -1;
10100         this is not true on one's complement and signed-magnitude hosts.
10101
10102         * lib/regex_internal.h (re_sub_match_top_t): Remove unused member
10103         next_last_offset.
10104         (struct re_dfa_t): Remove unused member states_alloc.
10105         * lib/regcomp.c (init_dfa): Don't initialize unused members.
10106
10107 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
10108
10109         * m4/regex.m4 (gl_REGEX): Require AC_SYS_LARGEFILE, Define
10110         _REGEX_LARGE_OFFSETS).  Test for regoff_t/off_t bug in 64-bit
10111         and large-file glibc and in 32-bit large-file Solaris.
10112
10113 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
10114
10115         * lib/regex_internal.c (re_string_reconstruct): Don't assume buffer
10116         lengths fit in regoff_t; this isn't true if regoff_t is the same
10117         width as size_t.
10118         * lib/regex.c (re_search_internal): 5th arg is LAST_START
10119         (= START + RANGE) instead of RANGE.  This avoids overflow
10120         problems when regoff_t is the same width as size_t.
10121         All callers changed.
10122         (re_search_2_stub): Check for overflow when adding the
10123         sizes of the two strings.
10124         (re_search_stub): Check for overflow when adding START
10125         to RANGE; if it occurs, substitute the extreme value.
10126
10127 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
10128
10129         * config/srclist.txt: Add glibc bugs 1273, 1278-1282, 1284.
10130
10131 2005-08-31  Jim Meyering  <jim@meyering.net>
10132
10133         * lib/regcomp.c (search_duplicated_node): Make first pointer arg
10134         a pointer-to-const.
10135         * lib/regex_internal.c (create_ci_newstate, create_cd_newstate):
10136         (register_state): Likewise.
10137         * lib/regexec.c (search_cur_bkref_entry, check_dst_limits):
10138         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
10139         (group_nodes_into_DFAstates): Likewise.
10140
10141 2005-08-31  Jim Meyering  <jim@meyering.net>
10142
10143         * check-module: Add a FIXME comment.
10144
10145 2005-08-31  Eric Blake  <ebb9@byu.net>
10146
10147         * modules/unistd-safer (Files): Add unistd--.h.
10148         * modules/stdio-safer (Files): Add stdio--.h.
10149
10150 2005-08-31  Derek Price  <derek@ximbiot.com>
10151
10152         * lib/getdelim.c (getdelim): Return EOF on EOF.
10153         Reported by Larry Jones <lawrence.jones@ugs.com>.
10154
10155 2005-08-31  Bruno Haible  <bruno@clisp.org>
10156
10157         Avoid unnecessary diffs in the generated lib/Makefile.am.
10158         * gnulib-tool (func_emit_lib_Makefile_am): Don't write the cmd into
10159         the generated files.
10160         (func_import): Don't set cmd.
10161
10162 2005-08-31  Bruno Haible  <bruno@clisp.org>
10163
10164         * lib/strstr.c: Include <stddef.h>, for NULL.
10165         * lib/strcasestr.c: Likewise.
10166         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
10167
10168 2005-08-31  Bruno Haible  <bruno@clisp.org>
10169
10170         * gnulib-tool: New option --macro-prefix.
10171         (func_import): Use macro_prefix.
10172         (import): Handle option --macro-prefix.
10173
10174 2005-08-31  Bruno Haible  <bruno@clisp.org>
10175
10176         * gnulib-tool (import): Rename most ac_* variables to cached_*.
10177         Also use new variables cached_lgpl, cached_libtool.
10178
10179 2005-08-31  Bruno Haible  <bruno@clisp.org>
10180
10181         * gnulib-tool (func_import): Require AC_GNU_SOURCE etc. instead of
10182         always instantiating them.
10183
10184 2005-08-31  Bruno Haible  <bruno@clisp.org>
10185
10186         * gnulib-tool (func_import): Read the previous cached settings
10187         from gnulib-cache.m4 and gnulib-comp.m4. Remove files that were
10188         earlier added by gnulib but are now dropped. Warn when a gnulib file
10189         overwrites a non-gnulib file.
10190
10191 2005-08-31  Bruno Haible  <bruno@clisp.org>
10192
10193         * gnulib-tool (func_import): Generate two files gnulib-cache.m4 and
10194         gnulib-comp.m4 instead of a single gnulib.m4, to make it easy for
10195         projects that don't keep autogenerated files in CVS. Put into
10196         actioncmd only the specified modules, not the transitive closure.
10197
10198 2005-08-31  Bruno Haible  <bruno@clisp.org>
10199
10200         * gnulib-tool (func_import): Fix defaulting of $libname and $libtool.
10201         Create directories that shall be filled.
10202         (import): Don't look for gl_* macros in configure.ac. Recurse across
10203         all directories containing a gnulib-cache.m4 files, if meaningful.
10204
10205 2005-08-31  Bruno Haible  <bruno@clisp.org>
10206
10207         * gnulib-tool (func_import): Emit also a stub for gl_LIBTOOL.
10208         (import): Set seen_libtool when we see gl_LIBTOOL.
10209
10210 2005-08-31  Bruno Haible  <bruno@clisp.org>
10211
10212         * gnulib-tool (func_import): Also copy m4/gnulib-tool.m4. Omit
10213         declaration macro definitions from generated gnulib.m4.
10214
10215 2005-08-30  "Oskar Liljeblad"  <oskar@osk.mine.nu>
10216
10217         * lib/iconvme.h: Add prototype for iconv_alloc.
10218
10219 2005-08-29  Simon Josefsson  <jas@extundo.com>
10220
10221         * lib/iconvme.c: Fix errno.
10222
10223 2005-08-29  Bruno Haible  <bruno@clisp.org>
10224
10225         * gnulib-tool: Enclose all occurrences of $destdir in "...", so
10226         that it works when the directory contains spaces.
10227
10228 2005-08-29  Bruno Haible  <bruno@clisp.org>
10229
10230         * gnulib-tool (import): Avoid unnecessary spaces in $avoidlist.
10231
10232 2005-08-29  Bruno Haible  <bruno@clisp.org>
10233
10234         * gnulib-tool (func_import): Emit more comments into gnulib.m4.
10235         Emit more advice.
10236
10237 2005-08-29  Bruno Haible  <bruno@clisp.org>
10238         and Stepan Kasal  <kasal@ucw.cz>
10239
10240         * check-module: If more parameters are given, check each of them
10241         separately; add more exceptions, as noted by Jim Meyering.
10242         (check_module): New procedure.
10243         (%exempt_header): Now contains all exceptions.
10244
10245 2005-08-29  Ben Pfaff  <blp@cs.stanford.edu>
10246
10247         * modules/byteswap (Makefile.am): Fix rule to not assume GNU make.
10248
10249 2005-08-29  "Oskar Liljeblad"  <oskar@osk.mine.nu>
10250
10251         * lib/iconvme.c: Split iconv_string into iconv_alloc.
10252
10253 2005-08-28  Bruno Haible  <bruno@clisp.org>
10254
10255         * m4/gnulib-tool.m4: New file.
10256
10257 2005-08-27  Jim Meyering  <jim@meyering.net>
10258
10259         * modules/unistd-safer (Files): Add pipe-safer.c.
10260         * modules/fcntl-safer (Files): Add creat-safer.c.
10261
10262 2005-08-27  Jim Meyering  <jim@meyering.net>
10263
10264         * m4/stdlib-safer.m4: New file.  From coreutils.
10265         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add stdio--.h.
10266         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Add creat-safer.c to the
10267         AC_LIBSOURCES list and arrange to compile it via AC_LIBOBJ.
10268         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise, add pipe-safer.c.
10269         Add pipe-safer.c and unistd--.h to the AC_LIBSOURCES list.
10270
10271 2005-08-27  Jim Meyering  <jim@meyering.net>
10272
10273         * lib/fopen-safer.c: Merge minor changes from coreutils.
10274         * lib/dup-safer.c: Likewise.
10275         * lib/fd-safer.c: Likewise.
10276
10277         Merge from coreutils.
10278         * lib/stdio--.h: New file.
10279         * lib/stdlib--.h: New file.
10280         * lib/mkstemp-safer.c: New file.
10281
10282         GNU tar needs these.
10283         * lib/pipe-safer.c: New file.
10284         * lib/creat-safer.c: New file.
10285         * lib/fcntl--.h (creat): Define to creat_safer.
10286         * lib/fcntl-safer.h: Include <sys/types.h> and declare creat_safer.
10287         * lib/unistd--.h (pipe): Define to pipe_safer.
10288         * lib/unistd-safer.h: Declare pipe_safer.
10289
10290 2005-08-26  Simon Josefsson  <jas@extundo.com>
10291
10292         * lib/getpass.c: Use _WIN32 instead of WIN32, suggested by Bruno
10293         Haible <bruno@clisp.org>.
10294
10295 2005-08-26  Paul Eggert  <eggert@cs.ucla.edu>
10296
10297         * lib/regex_internal.h: Remove all references to
10298         RE_NO_INTERNAL_PROTOTYPES; no longer neeeded now that we assume C89
10299         or better.
10300         (bitset_not, bitset_merge, bitset_not_merge):
10301         (bitset_mask, re_string_allocate, re_string_construct):
10302         (re_string_reconstruct, re_string_destruct, re_string_elem_size_at):
10303         (re_string_char_size_at, re_string_wchar_at, re_string_peek_byte_case):
10304         (re_string_fetch_byte_case, re_node_set_alloc, re_node_set_init_1):
10305         (re_node_set_init_2, re_node_set_init_copy, re_node_set_add_intersect):
10306         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
10307         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
10308         (re_node_set_remove_at, re_dfa_add_node, re_acquire_state):
10309         (re_acquire_state_context):
10310         Remove unnecessary forward decls.
10311         (re_string_char_size_at, re_string_wchar_at, re_string_elem_size_at):
10312         Put __attribute at function definition,
10313         now that the function decl has been removed.
10314         * lib/regex_internal.c (re_string_peek_byte_case):
10315         (re_string_fetch_byte_case, re_node_set_compare, re_node_set_contains):
10316         Likewise.
10317
10318 2005-08-25  Stepan Kasal  <kasal@ucw.cz>
10319
10320         * m4/regex.m4: Add AC_PREREQ(2.50).
10321         (gl_REGEX): If --with-included-regex was given, skip the autodetection.
10322
10323 2005-08-25  Simon Josefsson  <jas@extundo.com>
10324
10325         * m4/getpass.m4: Check for termios.h, tcgetattr, tcsetattr, and
10326         __fsetlocking.
10327
10328 2005-08-25  Simon Josefsson  <jas@extundo.com>
10329
10330         * lib/getpass.c: Add WIN32 implementation.  Conditionalize use of
10331         termios.h, tcgetattr, tcsetattr and __fsetlocking.  Remove some
10332         GLIBC specific code.
10333
10334 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
10335
10336         Make regex safe for g++.  This fixes one real bug (an "err"
10337         that should have been "*err").  g++ problem reported by
10338         Sam Steingold.
10339         * lib/regex_internal.h (re_calloc): New macro, consistent with
10340         re_malloc etc.  All callers of calloc changed to use re_calloc.
10341         * lib/regex_internal.c (build_wcs_upper_buffer): Return reg_errcode_t,
10342         not int.  All callers changed.
10343         * lib/regcomp.c (re_compile_fastmap_iter): Don't use
10344         alloca (mb_cur_max); just use an array of size MB_LEN_MAX.
10345         * lib/regexec.c (push_fail_stack): Use re_realloc, not realloc.
10346         (find_recover_state): Change "err" to "*err"; this fixes what
10347         appears to be a real bug.
10348         (check_arrival_expand_ecl_sub): Be consistent about reg_errcode_t
10349         versus int.
10350
10351 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
10352
10353         * modules/regex (Depends-on): Add malloc, since the code
10354         assumes that !malloc(0) means failure.
10355
10356 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
10357
10358         * lib/regexec.c (set_regs): Don't alloca with an unbounded size.
10359
10360         alloca modernization/simplification for regex.
10361         * lib/regex.c: Remove portability cruft for alloca.  This no longer
10362         needs to be at the start of the file, and can be moved into
10363         regex_internal.h and simplified.
10364         * lib/regex_internal.h: Include <alloca.h>.
10365         (__libc_use_alloca) [!defined _LIBC]: New macro.
10366         * lib/regexec.c (build_trtable): Remove "#ifdef _LIBC", since the code
10367         now works outside glibc.
10368
10369 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
10370
10371         * config/srclist.txt: Add glibc bugs 1241, 1245.
10372
10373 2005-08-25  Jim Meyering  <jim@meyering.net>
10374
10375         * lib/open-safer.c: Include <config.h>.
10376         Otherwise, we'd lose LARGEFILE support in any file using
10377         e.g. "fcntl--.h"
10378
10379 2005-08-25  Bruno Haible  <bruno@clisp.org>
10380
10381         * m4/minmax.m4: Require autoconf 2.52.
10382         (gl_MINMAX_IN_HEADER): Add comments. Use m4_pushdef/m4_popdef instead
10383         of define/undefine. Use AS_TR_SH and AS_TR_CPP as more robust
10384         alternatives of translit over the alphabet.
10385         Based on a patch from Stepan Kasal <kasal@ucw.cz>.
10386
10387 2005-08-24  Simon Josefsson  <jas@extundo.com>
10388
10389         * tests/test-getpass.c: New file.
10390
10391 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
10392
10393         * m4/regex.m4 (gl_REGEX): Use POSIX-compliant spellings when testing
10394         for GNU regex features.
10395
10396 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
10397
10398         * lib/regcomp.c (regerror): 2nd arg is 'restrict', as per POSIX.
10399         * lib/regex.h (regerror): Likewise.
10400
10401         * lib/regex.c: Do not include <sys/types.h>, as POSIX no longer
10402         requires this.  (The code never needed it.)
10403
10404         * lib/regcomp.c, regex_internal.c, regex_internal.h, regexec.c:
10405         All uses of recently-renamed identifiers changed to use the new,
10406         POSIX-compliant names.  The code will build and run just fine
10407         without these changes, but it's better to eat our own dog food
10408         and use the standard-conforming names.
10409
10410         * lib/regex.h: Fix a multitude of POSIX name space violations.
10411         These changes have an effect only for programs that define
10412         _POSIX_C_SOURCE, _POSIX_SOURCE, or _XOPEN_SOURCE; they
10413         do not change anything for programs compiled in the normal way.
10414         Also, there is no effect on the ABI.
10415
10416         (_REGEX_SOURCE): New macro.
10417         Do not include <stddef.h> if _XOPEN_SOURCE and VMS are both
10418         defined and _GNU_SOURCE is not; this fixes a name space violation.
10419
10420         Rename the following macros to obey POSIX requirements.
10421         The old names are still visible as macros if _REGEX_SOURCE is defined.
10422         (REG_BACKSLASH_ESCAPE_IN_LISTS): renamed from
10423         RE_BACKSLASH_ESCAPE_IN_LISTS.
10424         (REG_BK_PLUS_QM): renamed from RE_BK_PLUS_QM.
10425         (REG_CHAR_CLASSES): renamed from RE_CHAR_CLASSES.
10426         (REG_CONTEXT_INDEP_ANCHORS): renamed from RE_CONTEXT_INDEP_ANCHORS.
10427         (REG_CONTEXT_INDEP_OPS): renamed from RE_CONTEXT_INDEP_OPS.
10428         (REG_CONTEXT_INVALID_OPS): renamed from RE_CONTEXT_INVALID_OPS.
10429         (REG_DOT_NEWLINE): renamed from RE_DOT_NEWLINE.
10430         (REG_DOT_NOT_NULL): renamed from RE_DOT_NOT_NULL.
10431         (REG_HAT_LISTS_NOT_NEWLINE): renamed from RE_HAT_LISTS_NOT_NEWLINE.
10432         (REG_INTERVALS): renamed from RE_INTERVALS.
10433         (REG_LIMITED_OPS): renamed from RE_LIMITED_OPS.
10434         (REG_NEWLINE_ALT): renamed from RE_NEWLINE_ALT.
10435         (REG_NO_BK_BRACES): renamed from RE_NO_BK_BRACES.
10436         (REG_NO_BK_PARENS): renamed from RE_NO_BK_PARENS.
10437         (REG_NO_BK_REFS): renamed from RE_NO_BK_REFS.
10438         (REG_NO_BK_VBAR): renamed from RE_NO_BK_VBAR.
10439         (REG_NO_EMPTY_RANGES): renamed from RE_NO_EMPTY_RANGES.
10440         (REG_UNMATCHED_RIGHT_PAREN_ORD): renamed from
10441         RE_UNMATCHED_RIGHT_PAREN_ORD.
10442         (REG_NO_POSIX_BACKTRACKING): renamed from RE_NO_POSIX_BACKTRACKING.
10443         (REG_NO_GNU_OPS): renamed from RE_NO_GNU_OPS.
10444         (REG_DEBUG): renamed from RE_DEBUG.
10445         (REG_INVALID_INTERVAL_ORD): renamed from RE_INVALID_INTERVAL_ORD.
10446         (REG_IGNORE_CASE): renamed from RE_ICASE.  This renaming is a bit
10447         unusual, since we can't clash with the POSIX REG_ICASE.
10448         (REG_CARET_ANCHORS_HERE): renamed from RE_CARET_ANCHORS_HERE.
10449         (REG_CONTEXT_INVALID_DUP): renamed from RE_CONTEXT_INVALID_DUP.
10450         (REG_NO_SUB): renamed from RE_NO_SUB.
10451         (REG_SYNTAX_EMACS): renamed from RE_SYNTAX_EMACS.
10452         (REG_SYNTAX_AWK): renamed from RE_SYNTAX_AWK.
10453         (REG_SYNTAX_GNU_AWK): renamed from RE_SYNTAX_GNU_AWK.
10454         (REG_SYNTAX_POSIX_AWK): renamed from RE_SYNTAX_POSIX_AWK.
10455         (REG_SYNTAX_GREP): renamed from RE_SYNTAX_GREP.
10456         (REG_SYNTAX_EGREP): renamed from RE_SYNTAX_EGREP.
10457         (REG_SYNTAX_POSIX_EGREP): renamed from RE_SYNTAX_POSIX_EGREP.
10458         (REG_SYNTAX_ED): renamed from RE_SYNTAX_ED.
10459         (REG_SYNTAX_SED): renamed from RE_SYNTAX_SED.
10460         (_REG_SYNTAX_POSIX_COMMON): renamed from _RE_SYNTAX_POSIX_COMMON.
10461         (REG_SYNTAX_POSIX_BASIC): renamed from RE_SYNTAX_POSIX_BASIC.
10462         (REG_SYNTAX_POSIX_MINIMAL_BASIC): renamed from
10463         RE_SYNTAX_POSIX_MINIMAL_BASIC.
10464         (REG_SYNTAX_POSIX_EXTENDED): renamed from RE_SYNTAX_POSIX_EXTENDED.
10465         (REG_SYNTAX_POSIX_MINIMAL_EXTENDED): renamed from
10466         RE_SYNTAX_POSIX_MINIMAL_EXTENDED.
10467         (REG_DUP_MAX): renamed from RE_DUP_MAX.  No need to undef it.
10468         (REG_UNALLOCATED): Renamed from REGS_UNALLOCATED.
10469         (REG_REALLOCATE): Renamed from REGS_REALLOCATE.
10470         (REG_FIXED): Renamed from REGS_FIXED.
10471         (REG_NREGS): Renamed from RE_NREGS.
10472
10473         (REG_ICASE, REG_NEWLINE, REG_NOSUB): Do not depend on the values
10474         of other REG_* macros, since POSIX says the user is allowed to
10475         #undef these macros selectively.
10476
10477         (reg_errcode_t): Update comment stating what other tables need
10478         to be consistent.
10479
10480         Rename the following enum values to obey POSIX requirements.
10481         The old names are still visible as macros.
10482         (_REG_ENOSYS): Renamed from REG_ENOSYS.  Define even if _XOPEN_SOURCE
10483         is not defined, since GNU is supposed to be a superset of POSIX as
10484         much as possible, and since we want reg_errcode_t to be a signed
10485         type for implementation consistency.
10486         (_REG_NOERROR): Renamed from REG_NOERROR.
10487         (_REG_NOMATCH): Renamed from REG_NOMATCH.
10488         (_REG_BADPAT): Renamed from REG_BADPAT.
10489         (_REG_ECOLLATE): Renamed from REG_ECOLLATE.
10490         (_REG_ECTYPE): Renamed from REG_ECTYPE.
10491         (_REG_EESCAPE): Renamed from REG_EESCAPE.
10492         (_REG_ESUBREG): Renamed from REG_ESUBREG.
10493         (_REG_EBRACK): Renamed from REG_EBRACK.
10494         (_REG_EPAREN): Renamed from REG_EPAREN.
10495         (_REG_EBRACE): Renamed from REG_EBRACE.
10496         (_REG_BADBR): Renamed from REG_BADBR.
10497         (_REG_ERANGE): Renamed from REG_ERANGE.
10498         (_REG_ESPACE): Renamed from REG_ESPACE.
10499         (_REG_BADRPT): Renamed from REG_BADRPT.
10500         (_REG_EEND): Renamed from REG_EEND.
10501         (_REG_ESIZE): Renamed from REG_ESIZE.
10502         (_REG_ERPAREN): Renamed from REG_ERPAREN.
10503         (REG_ENOSYS, REG_NOERROR, REG_NOMATCH, REG_BADPAT, REG_ECOLLATE):
10504         (REG_ECTYPE, REG_EESCAPE, REG_ESUBREG, REG_EBRACK, REG_EPAREN):
10505         (REG_EBRACE, REG_BADBR, REG_ERANGE, REG_ESPACE, REG_BADRPT, REG_EEND):
10506         (REG_ESIZE, REG_ERPAREN): Now macros, not enum constants.
10507
10508         (_REG_RE_NAME, _REG_RM_NAME): New macros.
10509         (REG_TRANSLATE_TYPE): Renamed from RE_TRANSLATE_TYPE.  All uses
10510         changed.  But support the old name if the new one is not defined
10511         and if _REGEX_SOURCE.
10512
10513         Change the following member names in struct re_pattern_buffer.
10514         The old names are still supported if !_REGEX_SOURCE.
10515         The new names are always supported, regardless of _REGEX_SOURCE.
10516         (re_buffer): Renamed from buffer.
10517         (re_allocated): Renamed from allocated.
10518         (re_used): Renamed from used.
10519         (re_syntax): Renamed from syntax.
10520         (re_fastmap): Renamed from fastmap.
10521         (re_translate): Renamed from translate.
10522         (re_can_be_null): Renamed from can_be_null.
10523         (re_regs_allocated): Renamed from regs_allocated.
10524         (re_fastmap_accurate): Renamed from fastmap_accurate.
10525         (re_no_sub): Renamed from no_sub.
10526         (re_not_bol): Renamed from not_bol.
10527         (re_not_eol): Renamed from not_eol.
10528         (re_newline_anchor): Renamed from newline_anchor.
10529
10530         Change the following member names in struct re_registers.
10531         The old names are still supported if !_REGEX_SOURCE.
10532         The new names are always supported, regardless of _REGEX_SOURCE.
10533         (rm_num_regs): Renamed from num_regs.
10534         (rm_start): Renamed from start.
10535         (rm_end): Renamed from end.
10536
10537         (re_set_syntax, re_compile_pattern, re_compile_fastmap):
10538         (re_search, re_search_2, re_match, re_match_2, re_set_registers):
10539         Prepend __ to parameter names.
10540
10541         Undo yesterday's changes.
10542
10543 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
10544
10545         * config/srclist.txt: Remove glibc bug 1233 and add 1236, which
10546         supersedes it. Add glibc bugs 1237, 1238, 1240.  Comment out
10547         lib/regex.c.
10548
10549 2005-08-24  Jim Meyering  <jim@meyering.net>
10550
10551         Sync from coreutils.
10552         * m4/fcntl-safer.m4: New file.
10553
10554         * m4/xgetcwd.m4: Use AC_LIBSOURCES and AC_LIBOBJ to indicate source
10555         and object files for this module.
10556
10557 2005-08-24  Jim Meyering  <jim@meyering.net>
10558
10559         Sync from coreutils.
10560         * lib/fcntl--.h, lib/fcntl-safer.h, lib/open-safer.c: New files.
10561
10562 2005-08-24  Jim Meyering  <jim@meyering.net>
10563
10564         * modules/xgetcwd (Makefile.am): Remove `lib_SOURCES += ...' line,
10565         now that xgetcwd.m4 requires xgetcwd.c and xgetcwd.h.
10566
10567 2005-08-24  Jim Meyering  <jim@meyering.net>
10568
10569         * modules/fcntl-safer: New module.
10570         * modules/fts (Depends-on): Add fcntl-safer.
10571         * MODULES.html.sh (File descriptor based Input/Output):
10572         Add fcntl-safer.
10573
10574 2005-08-24  Bruno Haible  <bruno@clisp.org>
10575
10576         Support for unit test modules.
10577         * modules/README: Mention tests modules.
10578         * modules/TEMPLATE-TESTS: New file.
10579         * gnulib-tool: New options --extract-tests-module, --with-tests and
10580         --tests-base (unused for the moment).
10581         (testsbase, inctests): New variables.
10582         (func_all_modules): Exclude TEMPLATE-TESTS and *-tests.
10583         (func_verify_module): Exclude TEMPLATE-TESTS.
10584         (func_verify_nontests_module, func_verify_tests_module): New functions.
10585         (func_get_dependencies): Add implicit dependency for tests modules.
10586         (func_get_tests_module): New function.
10587         (func_modules_transitive_closure): When --with-tests was specified,
10588         include the unit tests as well, unless explicitly avoided.
10589         (func_emit_lib_Makefile_am): Ignore the tests modules here.
10590         (func_emit_tests_Makefile_am): New function.
10591         (func_create_testdir): When --with-tests was specified, emit a
10592         tests/ directory.
10593         * MODULES.html.sh (Future developments): Update.
10594
10595 2005-08-24  Bruno Haible  <bruno@clisp.org>
10596
10597         * modules/tls-tests: New file.
10598         * tests/test-tls.c: New file, from GNU gettext.
10599
10600 2005-08-24  Bruno Haible  <bruno@clisp.org>
10601
10602         * modules/lock-tests: New file.
10603         * tests/test-lock.c: New file, from GNU gettext.
10604
10605 2005-08-24  Bruno Haible  <bruno@clisp.org>
10606
10607         * lib/lock.h: Add multiple inclusion guard.
10608         * lib/tls.h: Add multiple inclusion guard.
10609
10610 2005-08-24  Bruno Haible  <bruno@clisp.org>
10611
10612         * gnulib-tool: Add support for the --aux-dir option to
10613         --create-testdir, --create-megatestdir, --test, --megatest.
10614         (func_create_testdir, func_create_megatestdir): Optionally emit a
10615         AC_CONFIG_AUX_DIR directive.
10616         (create-testdir, create-megatestdir, test, megatest): Provide a
10617         default value for $auxdir.
10618
10619 2005-08-24  Bruno Haible  <bruno@clisp.org>
10620
10621         * gnulib-tool (import): Use compound statement instead of subshell
10622         where possible.
10623
10624 2005-08-24  Bruno Haible  <bruno@clisp.org>
10625
10626         * gnulib-tool (import): Change --aux-dir default to "build-aux".
10627
10628 2005-08-24  Bruno Haible  <bruno@clisp.org>
10629
10630         * gnulib-tool (func_version): Update.
10631
10632 2005-08-24  Bruno Haible  <bruno@clisp.org>
10633
10634         * gnulib-tool (func_import, func_create_testdir,
10635         func_create_megatestdir): Quote all autoconf macro arguments.
10636
10637 2005-08-24  Bruno Haible  <bruno@clisp.org>
10638
10639         * gnulib-tool (func_create_megatestdir): Call autoreconf without the
10640         option --force, because --force causes the aclocal.m4 of each
10641         subdirectory to be newer than the corresponding config.h.in.
10642
10643 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
10644
10645         * m4/regex.m4 (gl_INCLUDED_REGEX): Remove; no longer used.
10646         All contents moved to gl_REGEX.
10647         (gl_REGEX): Don't bother checking whether lib/regex.c exists;
10648         assume that it does.
10649
10650 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
10651
10652         * lib/regex.h (REG_NOSYS)
10653         [!defined _XOPEN_SOURCE && 200112L <= _POSIX_C_SOURCE]:
10654         Define, since POSIX requires it as of 2001.
10655         (_REG_ENOSYS)
10656         [! (defined _XOPEN_SOURCE || 200112L <= _POSIX_C_SOURCE)]:
10657         New private symbol, used to keep the enum signed in all cases.
10658         * lib/regex.h (RE_NO_EMPTY_RANGES): Fix doc bug reported by James
10659         Youngman in
10660         <http://lists.gnu.org/archive/html/bug-gnulib/2005-07/msg00132.html>.
10661
10662         * lib/regex_internal.c (re_string_skip_chars, register_state):
10663         (calc_state_hash):
10664         Remove forward decls; no longer needed now that we use prototypes.
10665         * lib/regexec.c (acquire_init_state_context, check_halt_node_context):
10666         (proceed_next_node, pop_fail_stack, sub_epsilon_src_nodes):
10667         (clean_state_log_if_needed): Likewise.
10668
10669 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
10670
10671         * config/srclist.txt: Add glibc bugs 1231-1233.
10672
10673 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
10674
10675         Fix problems reported by Sam Steingold in
10676         <http://lists.gnu.org/archive/html/bug-gnulib/2005-08/msg00007.html>.
10677         * lib/regexec.c (sift_states_bkref): Fix portability bug: the code
10678         assumed that reg_errcode_t is a signed type, which is not
10679         necessarily true if _XOPEN_SOURCE is not defined.
10680         * lib/regex_internal.c (calc_state_hash): Put 'inline' before type,
10681         since some compilers warn about it otherwise.
10682
10683 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
10684
10685         * lib/regcomp.c (create_initial_state): Remove duplicate decl.
10686         (init_word_char, create_initial_state, duplicate_node_closure):
10687         (fetch_token, peek_token_bracket, build_range_exp):
10688         (build_collating_symbol): Remove forward decls; no longer needed
10689         now that we use prototypes.
10690
10691         * lib/regcomp.c:
10692         (re_compile_pattern, re_set_syntax, re_compile_fastmap):
10693         (re_compile_fastmap_iter, regcomp, regerror, regfree):
10694         (re_compile_internal, init_dfa, init_word_char, free_workarea_compile):
10695         (create_initial_state, optimize_utf8, analyze, postorder, preorder):
10696         (optimize_subexps, lower_subexps, lower_subexp, calc_first, calc_next):
10697         (link_nfa_nodes, duplicate_node_closure, search_duplicated_node):
10698         (duplicate_node, calc_inveclosure, calc_eclosure, calc_eclosure_iter):
10699         (fetch_token, peek_token, peek_token_bracket, parse, parse_reg_exp):
10700         (parse_branch, parse_expression, parse_sub_exp, parse_dup_op):
10701         (build_range_exp, build_collating_symbol, parse_bracket_exp):
10702         (parse_bracket_element, parse_bracket_symbol, build_equiv_class):
10703         (build_charclass, build_charclass_op, fetch_number, create_tree):
10704         (create_token_tree, mark_opt_subexp, duplicate_tree):
10705         Use prototypes rather than old-style definitions.
10706
10707         * lib/regex_internal.c:
10708         (re_string_allocate, re_string_construct, re_string_realloc_buffers):
10709         (re_string_construct_common, build_wcs_buffer, build_wcs_upper_buffer):
10710         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
10711         (re_string_reconstruct, re_string_peek_byte_case):
10712         (re_string_fetch_byte_case, re_string_destruct, re_string_context_at):
10713         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
10714         (re_node_set_init_copy, re_node_set_add_intersect):
10715         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
10716         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
10717         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
10718         (re_acquire_state, re_acquire_state_context, register_state):
10719         (create_ci_newstate, create_cd_newstate, free_state):
10720         Likewise.
10721         * lib/regexec.c (regexec, re_match, re_search, re_match_2,
10722         re_search_2):
10723         (re_search_2_stub, re_search_stub, re_copy_regs, re_set_registers):
10724         (re_search_internal, prune_impossible_nodes):
10725         (acquire_init_state_context, check_matching, static):
10726         (check_halt_node_context, check_halt_state_context, proceed_next_node):
10727         (push_fail_stack, pop_fail_stack, set_regs, free_fail_stack_return):
10728         (update_regs, sift_states_backward, build_sifted_states):
10729         (clean_state_log_if_needed, merge_state_array):
10730         (update_cur_sifted_state, add_epsilon_src_nodes):
10731         (sub_epsilon_src_nodes, check_dst_limits, check_dst_limits_calc_pos_1):
10732         (check_dst_limits_calc_pos, check_subexp_limits, sift_states_bkref):
10733         (sift_states_iter_mb, transit_state, merge_state_with_log, static):
10734         (find_recover_state, check_subexp_matching_top, transit_state_mb):
10735         (transit_state_bkref, get_subexp, get_subexp_sub, find_subexp_node):
10736         (check_arrival, check_arrival_add_next_nodes):
10737         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
10738         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
10739         (check_node_accept_bytes, check_node_accept, extend_buffers):
10740         (match_ctx_init, match_ctx_clean, match_ctx_free, match_ctx_add_entry):
10741         (search_cur_bkref_entry, match_ctx_add_subtop, match_ctx_add_sublast):
10742         (sift_ctx_init):
10743         Likewise.
10744
10745         * lib/regex_internal.h:
10746         (re_string_allocate, re_string_construct, re_string_reconstruct):
10747         (re_string_realloc_buffers, build_wcs_buffer, build_wcs_upper_buffer):
10748         (build_upper_buffer, re_string_translate_buffer, re_string_destruct):
10749         (re_string_elem_size_at, re_string_char_size_at, re_string_wchar_at):
10750         (re_string_context_at, re_string_peek_byte_case):
10751         (re_string_fetch_byte_case): Declare even if RE_NO_INTERNAL_PROTOTYPES
10752         is defined, since we now use prototypes always.
10753
10754         * lib/regex.h (_RE_ARGS): Remove.  No longer needed, since we assume
10755         C89 or better.  All uses removed.
10756
10757 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
10758
10759         * config/srclist.txt: Add glibc bugs 1220-1227.
10760
10761 2005-08-20  Jim Meyering  <jim@meyering.net>
10762
10763         * lib/regexec.c (regexec, re_search_stub) [!_LIBC]: Omit declaration
10764         of unused local, dfa.
10765
10766 2005-08-20  Bruno Haible  <bruno@clisp.org>
10767
10768         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_GNU_SOURCE.
10769
10770 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
10771
10772         * lib/regex_internal.c (re_string_realloc_buffers, re_node_set_insert):
10773         (re_node_set_insert_last, re_dfa_add_node):
10774         Rename local variables to avoid GCC shadowing warnings.
10775
10776 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
10777
10778         * lib/regex_internal.c (re_acquire_state, re_acquire_state_context)
10779         [defined lint]: Suppress bogus uninitialized-variable warnings.
10780
10781         * lib/regcomp.c (duplicate_node): Return new index, not an error code,
10782         and let the caller return REG_ESPACE if out of space.  This
10783         removes an uninitialied-variable warning with GCC 4.0.1, and also
10784         avoids taking the address of a local variable.  All callers
10785         changed.
10786
10787 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
10788
10789         * config/srclist.txt: Comment out $LIBCSRC/posix/regex_internal.c,
10790         $LIBCSRC/posix/regexec.c.
10791         Add glibc bug 1217 for regcomp.c.
10792
10793 2005-08-19  Jim Meyering  <jim@meyering.net>
10794
10795         * lib/regexec.c (proceed_next_node): Redo local variables to
10796         avoid GCC shadowing warnings.
10797
10798 2005-08-18  Bruno Haible  <bruno@clisp.org>
10799
10800         * lib/strstr.c (strstr): Fix return value in multibyte case.
10801         * lib/strcasestr.c (strcasestr): Likewise.
10802
10803 2005-08-17  Paul Eggert  <eggert@cs.ucla.edu>
10804
10805         * lib/regex.h: Remove useless space-before-tab.  From coreutils.
10806
10807 2005-08-17  Jim Meyering  <jim@meyering.net>
10808
10809         Make the %s format (seconds since the epoch) work for a negative
10810         number and when used with a zero-padded field width, e.g. %015s.
10811
10812         * lib/strftime.c (my_strftime): Move the `do_number_sign_and_padding'
10813         label so that it precedes the code to set `digits'.  Otherwise,
10814         %0Ns wouldn't work.  Before this change, `date -d @-22 +%05s' would
10815         print `00-22'.  Now, it prints `-0022', as it should.
10816
10817 2005-08-17  Bruno Haible  <bruno@clisp.org>
10818
10819         * modules/strstr (Files): Add m4/mbrtowc.m4.
10820         (Depends-on): Add mbuiter.
10821
10822 2005-08-17  Bruno Haible  <bruno@clisp.org>
10823
10824         * modules/strcasestr: New file.
10825         * MODULES.html.sh (String handling, based on ANSI C 89): Add
10826         strcasestr.
10827
10828 2005-08-17  Bruno Haible  <bruno@clisp.org>
10829
10830         * modules/strcase (Depends-on): Add mbuiter. Remove strnlen1, mbchar.
10831
10832 2005-08-17  Bruno Haible  <bruno@clisp.org>
10833
10834         * modules/mbuiter: New file.
10835         * MODULES.html.sh (Extended multibyte and wide character utilities):
10836         Add mbuiter.
10837
10838 2005-08-17  Bruno Haible  <bruno@clisp.org>
10839
10840         * m4/strstr.m4 (gl_FUNC_STRSTR): Use the replacement function always.
10841         (gl_PREREQ_STRSTR): Use gl_FUNC_MBRTOWC.
10842
10843 2005-08-17  Bruno Haible  <bruno@clisp.org>
10844
10845         * m4/strcasestr.m4: New file.
10846
10847 2005-08-17  Bruno Haible  <bruno@clisp.org>
10848
10849         * lib/strstr.h: Ignore HAVE_STRSTR, always declare the gnulib function.
10850         * lib/strstr.c: Completely rewritten, with multibyte locale support.
10851
10852 2005-08-17  Bruno Haible  <bruno@clisp.org>
10853
10854         * lib/strcasestr.h: New file.
10855         * lib/strcasestr.c: New file.
10856
10857 2005-08-17  Bruno Haible  <bruno@clisp.org>
10858
10859         * lib/strcasecmp.c: Use mbuiter.h.
10860
10861 2005-08-17  Bruno Haible  <bruno@clisp.org>
10862
10863         * lib/mbuiter.h: New file.
10864
10865 2005-08-16  Paul Eggert  <eggert@cs.ucla.edu>
10866
10867         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Do not override the results
10868         of gl_GETOPT_SUBSTITUTE.  That way, if both gl_GETOPT_SUBSTITUTE
10869         and gl_GETOPT are both invoked via different paths (as happens
10870         with GNU tar CVS because it uses both argp and getopt), the former
10871         wins.
10872
10873 2005-08-16  Bruno Haible  <bruno@clisp.org>
10874
10875         * modules/tls: New file.
10876         * MODULES.html.sh (Multithreading): Add tls.
10877
10878 2005-08-16  Bruno Haible  <bruno@clisp.org>
10879
10880         * modules/strnlen1: New file.
10881         * MODULES.html.sh (String handling): Add strnlen1.
10882
10883 2005-08-16  Bruno Haible  <bruno@clisp.org>
10884
10885         * modules/strcase (Files): Add m4/mbrtowc.m4.
10886         (Depends-on): Add strnlen1, mbchar.
10887
10888 2005-08-16  Bruno Haible  <bruno@clisp.org>
10889
10890         * modules/mbiter: New file.
10891         * MODULES.html.sh (Extended multibyte and wide character utilities):
10892         Add mbiter.
10893
10894 2005-08-16  Bruno Haible  <bruno@clisp.org>
10895
10896         * modules/mbfile: New file.
10897         * MODULES.html.sh (Extended multibyte and wide character utilities):
10898         Add mbfile.
10899
10900 2005-08-16  Bruno Haible  <bruno@clisp.org>
10901
10902         * modules/mbchar: New file.
10903         * MODULES.html.sh (Extended multibyte and wide character utilities):
10904         New section.
10905
10906 2005-08-16  Bruno Haible  <bruno@clisp.org>
10907
10908         * m4/tls.m4: New file, from GNU gettext.
10909
10910 2005-08-16  Bruno Haible  <bruno@clisp.org>
10911
10912         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Use the replacement function
10913         always.
10914         (gl_PREREQ_STRCASECMP): Use gl_FUNC_MBRTOWC.
10915
10916 2005-08-16  Bruno Haible  <bruno@clisp.org>
10917
10918         * m4/mbiter.m4: New file.
10919
10920 2005-08-16  Bruno Haible  <bruno@clisp.org>
10921
10922         * m4/mbfile.m4: New file.
10923
10924 2005-08-16  Bruno Haible  <bruno@clisp.org>
10925
10926         * m4/mbchar.m4: New file.
10927
10928 2005-08-16  Bruno Haible  <bruno@clisp.org>
10929
10930         * lib/tls.h: New file, from GNU gettext.
10931         * lib/tls.c: New file, from GNU gettext.
10932
10933 2005-08-16  Bruno Haible  <bruno@clisp.org>
10934
10935         * lib/strnlen1.h: New file.
10936         * lib/strnlen1.c: New file.
10937
10938 2005-08-16  Bruno Haible  <bruno@clisp.org>
10939
10940         * lib/strcasecmp.c (struct mbiter_multi): Remove at_end field.
10941         (mbi_init): Update.
10942         (mbi_avail, mbi_advance): Let the iteration end before the terminating
10943         NUL byte, not after it.
10944
10945 2005-08-16  Bruno Haible  <bruno@clisp.org>
10946
10947         * lib/strcase.h (strcasecmp): Add note in comments.
10948         * lib/strncasecmp.c: Use code from strcasecmp.c.
10949         * lib/strcasecmp.c: Use mbchar module. Define private mbiter variant.
10950         (strcasecmp): Work correctly in multibyte locales.
10951
10952 2005-08-16  Bruno Haible  <bruno@clisp.org>
10953
10954         * lib/mbiter.h: New file.
10955
10956 2005-08-16  Bruno Haible  <bruno@clisp.org>
10957
10958         * lib/mbfile.h: New file.
10959
10960 2005-08-16  Bruno Haible  <bruno@clisp.org>
10961
10962         * lib/mbchar.h: New file.
10963         * lib/mbchar.c: New file.
10964
10965 2005-08-16  Bruno Haible  <bruno@clisp.org>
10966
10967         * lib/mbchar.h (mb_cmp, mb_casecmp): Order the invalid characters after
10968         the valid ones. Makes the comparison operations transitive:
10969         cmp (a, b) < 0 && cmp (b, c) < 0 ==> cmp (a, c) < 0.
10970         * lib/strcasecmp.c (strcasecmp): Use mb_casecmp.
10971
10972 2005-08-15  Simon Josefsson  <jas@extundo.com>
10973
10974         * modules/ssize_t (License): Change to 'unlimited'.
10975
10976         * gnulib-tool (sed_extract_prog): Recognize 'unlimited' license.
10977
10978 2005-08-15  Paul Eggert  <eggert@cs.ucla.edu>
10979
10980         * config/srclist.txt: Comment out $LIBCSRC/posix/regex.h.
10981         Add comments for each pending glibc patch.
10982
10983 2005-08-15  Bruno Haible  <bruno@clisp.org>
10984
10985         * lib/regex.h (__restrict_arr): Don't define to __restrict if
10986         __cplusplus is defined.
10987
10988 2005-08-14  Jim Meyering  <jim@meyering.net>
10989
10990         Sync from coreutils.
10991
10992         * lib/fts-cycle.c (setup_dir, enter_dir, leave_dir, free_dir):
10993         Use the hash-table-based cycle-detection code not just when
10994         FTS_TIGHT_CYCLE_CHECK if specified, but also with FTS_LOGICAL.
10995         Reported by James Youngman in
10996         <http://lists.gnu.org/archive/html/bug-gnulib/2005-08/msg00011.html>.
10997         * lib/fts_.h: Mention that with FTS_LOGICAL, we use
10998         FTS_TIGHT_CYCLE_CHECK.
10999         * lib/fts.c (fts_cross_check) [FTS_DEBUG]:
11000         s/active_dir_ht/fts_cycle.ht/. This lets us compile with -DFTS_DEBUG,
11001         once again.
11002         * lib/fts.c [! _LIBC]: Include "lstat.h" rather than rolling our own.
11003         * lib/fts.c (fd_safer): Remove decl.
11004         Include fcntl--.h rather than unistd-safer.h
11005         (fts_safe_changedir): Don't call fd_safer; no longer needed
11006         now that we include fcntl--.h.
11007
11008 2005-08-12  Simon Josefsson  <jas@extundo.com>
11009
11010         * modules/getndelim2: Use ssize_t module.
11011         * modules/getnline: Likewise.
11012         * modules/safe-read: Likewise.
11013         * modules/xreadlink: Likewise.
11014
11015         * modules/ssize_t: New file.
11016
11017 2005-08-12  Simon Josefsson  <jas@extundo.com>
11018
11019         * m4/readline.m4: Look for termcap, curses or ncurses if required.
11020
11021 2005-08-12  Simon Josefsson  <jas@extundo.com>
11022
11023         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
11024         ssize_t.
11025
11026 2005-08-12  Simon Josefsson  <jas@extundo.com>
11027
11028         * MODULES.html.sh (Extra functions based on ANSI C 89: Misc): Add
11029         readline, getdelim and check_version.
11030         (Support for systems lacking ISO C 99: Sizes of integer types):
11031         Add size_max.
11032
11033 2005-08-12  Bruno Haible  <bruno@clisp.org>
11034
11035         * m4/readline.m4 (gl_FUNC_READLINE): Look for ncurses first.
11036
11037 2005-08-11  Simon Josefsson  <jas@extundo.com>
11038
11039         * modules/readline: New file.
11040
11041         * modules/strnlen (Files): Add strnlen.h.
11042
11043 2005-08-11  Simon Josefsson  <jas@extundo.com>
11044
11045         * m4/readline.m4: New file.
11046
11047 2005-08-11  Simon Josefsson  <jas@extundo.com>
11048
11049         * lib/readline.h, readline.c: New file.
11050
11051 2005-08-11  Simon Josefsson  <jas@extundo.com>
11052
11053         * doc/gnulib.texi (Initial import, Finishing touches): Mention
11054         gl_AVOID.
11055
11056 2005-08-11  Bruno Haible  <bruno@clisp.org>
11057
11058         * lib/strnlen.h (strnlen): Change parameter name to match comment.
11059
11060 2005-08-10  Stepan Kasal  <kasal@ucw.cz>
11061
11062         * m4/onceonly_2_57.m4: Really require Autoconf 2.57.
11063
11064 2005-08-10  Simon Josefsson  <jas@extundo.com>
11065
11066         * tests/test-iconvme.c: New file.
11067
11068 2005-08-10  Simon Josefsson  <jas@extundo.com>
11069
11070         * m4/strnlen.m4: New file.
11071
11072         * m4/strndup.m4: Don't check for strnlen declaration, done in
11073         strnlen.m4.
11074
11075 2005-08-10  Simon Josefsson  <jas@extundo.com>
11076
11077         * lib/strndup.c: Use strnlen.h.
11078
11079         * lib/strnlen.h: New file.
11080
11081 2005-08-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
11082
11083         * README: Typos.
11084
11085 2005-08-02  Simon Josefsson  <jas@extundo.com>
11086
11087         * modules/readline: New file.
11088
11089 2005-08-02  Simon Josefsson  <jas@extundo.com>
11090
11091         * modules/getdelim: New file.
11092
11093         * modules/getline: Rewrite, don't use getndelim2.
11094
11095 2005-08-02  Simon Josefsson  <jas@extundo.com>
11096
11097         * m4/getline.m4: Separate out getdelim stuff into separate module.
11098
11099         * m4/getdelim.m4: New file.
11100
11101 2005-08-02  Simon Josefsson  <jas@extundo.com>
11102
11103         * lib/getline.h, getline.c: Rewrite.
11104
11105         * lib/getdelim.h, lib/getdelim.c: New files, ported from glibc.
11106
11107 2005-07-31  Bruno Haible  <bruno@clisp.org>
11108
11109         * lib/lock.h (gl_lock_initializer): New macro.
11110         (gl_lock_define_initialized): Use it.
11111         (gl_rwlock_initializer): New macro.
11112         (gl_rwlock_define_initialized): Use it.
11113         (gl_recursive_lock_initializer): New macro.
11114         (gl_recursive_lock_define_initialized): Use it.
11115
11116 2005-07-30  Karl Berry  <karl@gnu.org>
11117
11118         * doc/gnulib.texi (Initial import): mention -I$(top_builddir)/lib.
11119         Report from Ben Pfaff, regarding getopt.
11120
11121 2005-07-26  Paul Eggert  <eggert@cs.ucla.edu>
11122
11123         Add support to getopt for Emacs, which doesn't use LIBOBJS in the
11124         normal way.
11125         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE_HEADER): New macro.
11126         (gl_GETOPT_SUBSTITUTE): Use it.  Invoke gl_PREREQ_GETOPT.
11127         (gl_GETOPT_IFELSE, gl_GETOPT_CHECK_HEADERS): New macros.
11128         (gl_GETOPT): Use the new macros.  Most of the implementation
11129         is moved to the new macros.  This is for programs like Emacs
11130         that don't want all the functionality of gl_GETOPT.
11131
11132 2005-07-26  Bruno Haible  <bruno@clisp.org>
11133
11134         * m4/lock.m4: Update from GNU gettext.
11135
11136 2005-07-26  Bruno Haible  <bruno@clisp.org>
11137
11138         * lib/lock.h: Update from GNU gettext.
11139         * lib/lock.c: Update from GNU gettext.
11140
11141 2005-07-25  Paul Eggert  <eggert@cs.ucla.edu>
11142
11143         * m4/regex.m4 (gl_INCLUDED_REGEX): Use AC_RUN_IFELSE instead of the
11144         obsolescent AC_TRY_RUN.  Include the default includes files, for
11145         'exit'.
11146
11147 2005-07-24  Bruno Haible  <bruno@clisp.org>
11148
11149         * modules/visibility: New file.
11150         * MODULES.html.sh (Misc): Add visibility.
11151
11152 2005-07-24  Bruno Haible  <bruno@clisp.org>
11153
11154         * m4/visibility.m4: New file.
11155
11156 2005-07-24  Bruno Haible  <bruno@clisp.org>
11157
11158         * doc/visibility.texi: New file.
11159
11160 2005-07-22  Bruno Haible  <bruno@clisp.org>
11161
11162         * modules/alloca-opt (Makefile.am): Remove explicit dependency on
11163         $(ALLOCA_H), redundant through BUILT_SOURCES.
11164         * modules/argz (Makefile.am): Remove explicit dependency on $(ARGZ_H),
11165         redundant through BUILT_SOURCES.
11166         * modules/byteswap (Makefile.am): Remove explicit dependency on
11167         $(BYTESWAP_H), redundant through BUILT_SOURCES.
11168         * modules/fnmatch (Makefile.am): Remove explicit dependency on
11169         $(FNMATCH_H), redundant through BUILT_SOURCES.
11170         * modules/getopt (Makefile.am): Remove explicit dependency on
11171         $(GETOPT_H), redundant through BUILT_SOURCES.
11172         * modules/glob (Makefile.am): Remove explicit dependency on $(GLOB_H),
11173         redundant through BUILT_SOURCES.
11174         * modules/poll (Makefile.am): Remove explicit dependency on $(POLL_H),
11175         redundant through BUILT_SOURCES.
11176         * modules/stdbool (Makefile.am): Remove explicit dependency on
11177         $(STDBOOL_H), redundant through BUILT_SOURCES.
11178         * modules/stdint (Makefile.am): Remove explicit dependency on
11179         $(STDINT_H), redundant through BUILT_SOURCES.
11180         * modules/sysexits (Makefile.am): Add $(SYSEXITS_H) to BUILT_SOURCES.
11181         Remove explicit dependency on $(SYSEXITS_H).
11182         Reported by Alexandre Duret-Lutz <adl@src.lip6.fr>.
11183
11184 2005-07-18  Simon Josefsson  <jas@extundo.com>
11185
11186         * lib/check-version.c (check_version): Accept identical versions too.
11187
11188 2005-07-18  Bruno Haible  <bruno@clisp.org>
11189
11190         * modules/lock: New file.
11191         * MODULES.html.sh (Multithreading): New section.
11192
11193 2005-07-18  Bruno Haible  <bruno@clisp.org>
11194
11195         * m4/lock.m4: New file, from GNU gettext.
11196
11197 2005-07-18  Bruno Haible  <bruno@clisp.org>
11198
11199         * lib/lock.h: New file, from GNU gettext.
11200         * lib/lock.c: New file, from GNU gettext.
11201
11202 2005-07-18  Bruno Haible  <bruno@clisp.org>
11203
11204         * lib/lock.h (gl_once_t): New type.
11205         (gl_once_define, gl_once): New macros.
11206         * lib/lock.c (fresh_once): New variable.
11207         (glthread_once, glthread_once_call, glthread_once_singlethreaded): New
11208         functions.
11209
11210 2005-07-16  Simon Josefsson  <jas@extundo.com>
11211
11212         * doc/gnulib.texi (Library version handling): Add ELF symbol collision
11213         workaround, suggested by Bruno.
11214
11215 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
11216
11217         * modules/xalloc (Depends-on): Add xalloc-die.
11218         * modules/xvasprintf (Depends-on): Add xalloc-die.
11219
11220 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
11221
11222         * lib/quotearg.c: Add translator comment suggested by Bruno Haible,
11223         with a minor change.
11224
11225 2005-07-15  Bruno Haible  <bruno@clisp.org>
11226
11227         * m4/poll.m4 (gl_FUNC_POLL): Check against MacOS X 10.4 poll() bug.
11228         When using lib/poll.c, define poll as rpl_poll.
11229
11230 2005-07-14  Paul Eggert  <eggert@cs.ucla.edu>
11231
11232         * modules/argp (Depends-on): Remove unlocked-io.
11233
11234 2005-07-14  Derek Price  <derek@ximbiot.com>
11235
11236         * m4/glob.m4 (gl_GLOB): Cache glob interface check result.  Add check
11237         for glob symlink bug.
11238
11239 2005-07-14  Bruno Haible  <bruno@clisp.org>
11240
11241         * m4/argp.m4 (gl_ARGP): Remove invocation of gl_FUNC_GLIBC_UNLOCKED_IO.
11242         Instead, test for *_unlocked function declarations directly.
11243
11244 2005-07-11  Simon Josefsson  <jas@extundo.com>
11245
11246         * modules/size_max: New file.
11247
11248         * modules/xsize: Depend on size_max module for size_max.m4.
11249
11250 2005-07-11  Simon Josefsson  <jas@extundo.com>
11251
11252         * lib/size_max.h: New file.
11253
11254 2005-07-11  Paul Eggert  <eggert@cs.ucla.edu>
11255
11256         * lib/version-etc-fsf.c (version_etc_copyright): Parameterize the
11257         copyright symbol and the year.
11258         * lib/version-etc.c (COPYRIGHT_YEAR): New constant.
11259         (version_etc_va): Use parameterized copyright notice.
11260         Reword to conform to the current GNU coding standards.
11261
11262 2005-07-11  Karl Berry  <karl@gnu.org>
11263
11264         * doc/gnulib.texi (Quoting): new node.
11265         (Initial import): more info, from Patrice.
11266
11267 2005-07-11  Bruno Haible  <bruno@clisp.org>
11268
11269         * gnulib-tool (func_usage): Document option --avoid.
11270         (Command line options): Handle --avoid.
11271         (func_acceptable): New function.
11272         (func_modules_transitive_closure): Use it.
11273
11274 2005-07-11  Bruno Haible  <bruno@clisp.org>
11275
11276         * MODULES.html.sh: Use shortcut URLs to the www.opengroup.org site.
11277         Reported by Jim Meyering.
11278
11279 2005-07-10  Bruno Haible  <bruno@clisp.org>
11280
11281         * m4/size_max.m4 (gl_SIZE_MAX): Cast ~(size_t)0 back to size_t.
11282         Needed when size_t is smaller than 'unsigned int'.
11283         Reported by Paul Eggert.
11284
11285 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
11286
11287         * modules/argp (Depends-on): Add unlocked-io
11288
11289 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
11290
11291         * lib/argp-namefrob.h: Include unlocked-io.h. Removed unnecessary
11292         block of defines.
11293
11294 2005-07-08  Paul Eggert  <eggert@cs.ucla.edu>
11295
11296         * config/srclist.txt: Comment out regcomp.c, since we have a porting
11297         fix now.
11298
11299 2005-07-08  Eric Blake  <ebb9@byu.net>  (tiny change)
11300         and Paul Eggert  <eggert@cs.ucla.edu>
11301
11302         * lib/regcomp.c (init_dfa, build_range_exp): Store __btowc value
11303         in wint_t, not wchar_t.  Remove now-unnecessary cast.
11304
11305 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
11306
11307         * modules/regex (Files): Add lib/regex_internal.c,
11308         lib/regex_internal.h, lib/regexec.c, lib/regcomp.c, m4/codeset.m4.
11309         (Depends-on): Add extensions.
11310         (Makefile.am): Remove lib_SOURCES; now done by m4 code.
11311
11312 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
11313
11314         * m4/backupfile.m4 (gl_BACKUPFILE): Use AC_CHECK_FUNCS_ONCE on
11315         pathconf.
11316         * m4/same.m4 (gl_SAME): Likewise.
11317         Require AC_SYS_LONG_FILE_NAMES; bug reported by Gerrit P. Haase.
11318
11319         * m4/regex.m4: Adjust to new libc regex implementation.
11320         (gl_INCLUDED_REGEX): Add AC_LIBSOURCES for
11321         all the .c and .h parts of (the new) regex.
11322         Quote the m4 stuff better.
11323         Check for RE_ICASE bug of old gnulib.
11324         Check for REG_STARTEND of recent libc.
11325         Rename local variables from jm_* to gl_*.
11326         Quote operand of "test -f".
11327         Say "recent enough" version of libc, not "version 2".
11328         (gl_PREREQ_REGEX): Remove AC_FUNC_ALLOCA, since alloca is a
11329         prerequisite module.  Remove AC_HEADER_STDC; no longer needed.
11330         Check for locale.h, isblank, mbrtowc, wcrtomb, wcscoll.
11331         Remove check for btowc, isascii.
11332         Require AM_LANGINFO_CODESET.
11333
11334 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
11335
11336         * lib/regex.c, regex.h: Sync from libc.
11337         * lib/regcomp.c, lib/regexec_internal.c, lib/regex_internal.h:
11338         * lib/regexec.c:
11339         New files, synced from libc, except that regex_internal.h
11340         currently has a small porting fix.
11341
11342 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
11343
11344         * config/srclist.txt: Add regcomp.c, regex.c, regex.h,
11345         regex_internal.c, regexec.c.
11346         Add regex_internal.h too, but as a comment, since the libc version
11347         is currently broken in gnulib mode.
11348
11349 2005-07-06  Paul Eggert  <eggert@cs.ucla.edu>
11350
11351         Support programs like Emacs that use gnulib but not gettext.
11352         * MODULES.html.sh (Internationalization functions): Add gettext-h.
11353         * modules/gettext-h: New file.
11354         * modules/gettext (Files): Remove lib/gettext.h.
11355         (Depends-on): Add gettext-h.
11356         (Makefile.am): Remove lib_SOURCES.
11357         * modules/argmatch, modules/c-stack, modules/closeout:
11358         * modules/copy-file, modules/csharpcomp, modules/csharpexec:
11359         * modules/execute, modules/file-type, modules/getaddrinfo:
11360         * modules/getopt, modules/human, modules/javacomp:
11361         * modules/javaexec, modules/mkdir-p, modules/obstack:
11362         * modules/openat, modules/pagealign_alloc, modules/pipe:
11363         * modules/quotearg, modules/regex, modules/rpmatch:
11364         * modules/unicodeio, modules/userspec, modules/version-etc:
11365         * modules/wait-process, modules/xalloc-die, modules/xmemcoll:
11366         * modules/xsetenv:
11367         Depend on gettext-h, not gettext.
11368
11369 2005-07-05  Paul Eggert  <eggert@cs.ucla.edu>
11370
11371         * gnulib-tool (func_import): Add support for 'public domain' license.
11372         * modules/alloca, modules/atexit, modules/memmove:
11373         Now public domain, not GPL.
11374         * modules/dup2, modules/getpagesize, modules/malloc, modules/memset:
11375         * modules/realloc, modules/strerror, modules/strtod:
11376         Now LGPL, not GPL.
11377
11378 2005-07-05  Bruno Haible  <bruno@clisp.org>
11379
11380         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): Upgrade to version from current
11381         autoconf CVS. Needed for mingw.
11382
11383 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
11384
11385         Remove the dependency of the strftime module on the tzset module.
11386         * modules/strftime (Depends-on): Remove dependency on tzset.
11387
11388 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
11389
11390         Remove the dependency of the strftime module on the tzset module.
11391         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't require
11392         gl_FUNC_TZSET_CLOBBER.
11393
11394 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
11395
11396         Remove the dependency of the strftime module on the tzset module.
11397         * lib/strftime.c (my_strftime)
11398         [! defined _LIBC && ! HAVE_RUN_TZSET_TEST]:
11399         Copy the input structure, to work around some of the bug with
11400         Solaris 2.5.1 and Solaris 2.6.  If you still care about these old
11401         Solaris releases, you should also use the tzset module, but we won't
11402         require it as a dependency any more since we don't want LGPLed code
11403         to depend on GPLed code.
11404
11405 2005-07-02  Jim Meyering  <jim@meyering.net>
11406
11407         * m4/chown.m4, cloexec.m4, dup2.m4, fsusage.m4:
11408         * m4/getcwd-path-max.m4, getcwd.m4, mkstemp.m4, mountlist.m4:
11409         * m4/pagealign_alloc.m4, save-cwd.m4, unistd-safer.m4:
11410         Don't check for fcntl.h, and don't test for HAVE_FCNTL_H.
11411
11412 2005-07-02  Jim Meyering  <jim@meyering.net>
11413
11414         * lib/backupfile.c (backup_args): Change a `0' to NULL.
11415
11416 2005-07-01  Paul Eggert  <eggert@cs.ucla.edu>
11417
11418         * lib/xnanosleep.c: Include timespec.h, since OpenBSD 3.4 <time.h>
11419         declares only 'struct timespec;' (!).
11420
11421 2005-07-01  Jim Meyering  <jim@meyering.net>
11422
11423         * lib/chown.c, cloexec.c, dup-safer.c, dup2.c, fsusage.c, getcwd.c:
11424         * lib/getloadavg.c, mountlist.c, openat.h, pagealign_alloc.c:
11425         * lib/save-cwd.c, tempname.c:
11426         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
11427         and don't include <sys/file.h>).
11428
11429 2005-06-29  Jim Meyering  <jim@meyering.net>
11430
11431         * lib/mkdir-p.c (make_dir_parents): Don't apply sizeof to a hard-coded
11432         type name.  Use the variable name instead.
11433         * lib/idcache.c (getuser, getuidbyname, getgroup, getgidbyname):
11434         Likewise.
11435
11436 2005-06-28  Simon Josefsson  <jas@extundo.com>
11437
11438         * modules/check-version (Files): Add check-version.m4.
11439
11440 2005-06-28  Simon Josefsson  <jas@extundo.com>
11441
11442         * m4/check-version.m4: New file, suggested by Jim Meyering
11443         <jim@meyering.net>.
11444
11445 2005-06-28  Simon Josefsson  <jas@extundo.com>
11446
11447         * lib/check-version.h, lib/check-version.c: New files.
11448
11449 2005-06-28  Simon Josefsson  <jas@extundo.com>
11450
11451         * lib/base64.c (base64_encode): Indent.  Rename 'b64' to avoid
11452         collision with global variable.  Better indentation.  Don't
11453         increment buffer pointer beyond buffer end.  Based on comments
11454         from Paul Eggert <eggert@cs.ucla.edu>.
11455
11456         * lib/base64.h: Indent.
11457
11458 2005-06-28  Simon Josefsson  <jas@extundo.com>
11459
11460         * doc/gnulib.texi (Library version handling): New section.
11461
11462 2005-06-28  Jim Meyering  <jim@meyering.net>
11463
11464         * check-module (find_included_lib_files): Hard-code another
11465         pair of exceptions: fts.c includes fts-cycle.c and unistd-safer.h
11466         but modules/fts-lgpl (correctly) does not list those files.
11467
11468         * modules/canonicalize (Files): Add lib/pathmax.h.
11469
11470 2005-06-25  Simon Josefsson  <jas@extundo.com>
11471
11472         * modules/check-version: New file.
11473
11474 2005-06-24  Paul Eggert  <eggert@cs.ucla.edu>
11475
11476         * lib/canon-host.c (canon-host): Append trailing "," to 0 in
11477         initializer of struct addrinfo, as an indication that we don't
11478         care how many members the structure has.
11479
11480 2005-06-24  Derek Price  <derek@ximbiot.com>
11481         and Bruno Haible  <bruno@clisp.org>
11482
11483         Remove stat module & update lstat.
11484         * m4/lstat.m4 (gl_FUNC_LSTAT): Drop AC_FUNC_LSTAT in favor of
11485         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
11486         * m4/stat.m4: Remove this file.
11487
11488 2005-06-24  Derek Price  <derek@ximbiot.com>
11489         and Bruno Haible  <bruno@clisp.org>
11490
11491         Remove stat module & update lstat.
11492         * lib/stat.c: Remove this file...
11493         (slash_aware_lstat): ...moving this content and its support...
11494         * lib/lstat.c (rpl_lstat): ...into here.
11495         * lib/lstat.h: New file.
11496
11497 2005-06-24  Derek Price  <derek@ximbiot.com>
11498         and Bruno Haible  <bruno@clisp.org>
11499
11500         Remove stat module & update lstat.
11501         * config/srclist.txt (libc sources): Remove stat.
11502
11503 2005-06-24  Derek Price  <derek@ximbiot.com>
11504         and Bruno Haible  <bruno@clisp.org>
11505
11506         Remove stat module & update lstat.
11507         * MODULES.html.sh (stat): Remove.
11508         * MODULES.html: Regenerated.
11509         * modules/lstat (Description): Correct function name.
11510         (Files): Add "lstat.h".
11511         (Depends-on): Remove stat, add xalloc, stat-macros.
11512         * modules/stat: Remove this file.
11513         (Include): Add "lstat.h", remove <sys/stat.h>.
11514
11515 2005-06-23  Paul Eggert  <eggert@cs.ucla.edu>
11516
11517         * lib/mktime.c: Include <string.h> even if !DEBUG.  (From glibc.)
11518         (ranged_convert): Don't save conversion in a temporary struct.
11519         This causes a warning with GCC 4.0.0, and anyway in the typical
11520         case it's not worth the extra 100 bytes or so of code.
11521         (ranged_convert, __mktime_internal): When calling a function via a
11522         pointer P, use P () rather than (*P) (), as we now assume C89 or
11523         better.
11524
11525 2005-06-22  Paul Eggert  <eggert@cs.ucla.edu>
11526
11527         * lib/readutmp.c (desirable_utmp_entry): Fix bug where "who -b" and
11528         "who -r" failed to give output.  Problem reported by Tim Waugh.
11529
11530         * lib/xmalloc.c (HAVE_GNU_CALLOC): New constant.
11531         (xcalloc): Use it to avoid needless tests.
11532         Problem reported by Jim Meyering.
11533
11534 2005-06-20  Derek Price  <derek@ximbiot.com>
11535
11536         * m4/bison.m4: Note that precious decls of YACC & YFLAGS will be
11537         unnecessary for Autoconfs > 2.59c.
11538
11539 2005-06-16  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
11540
11541         * lib/argp.h (__option_is_short): Check upper limit of
11542         __key. Isprint() requires its argument to have the value
11543         of an unsigned char or EOF.
11544
11545 2005-06-16  Jim Meyering  <jim@meyering.net>
11546
11547         * lib/calloc.c (rpl_calloc): Allocate a 1-byte buffer (not 1xS or Nx1)
11548         when either N or S is zero.
11549
11550 2005-06-16  Derek Price  <derek@ximbiot.com>
11551
11552         * m4/bison.m4: Declare YACC & YFLAGS precious.
11553
11554 2005-06-10  Paul Eggert  <eggert@cs.ucla.edu>
11555
11556         * lib/fnmatch.c (fnmatch): If there is an encoding error in a
11557         multibyte string or pattern, fall back on unibyte matching.
11558         Problem reported by James Youngman.
11559
11560 2005-06-08  Bruno Haible  <bruno@clisp.org>
11561
11562         * modules/csharpcomp: New file.
11563         * MODULES.html.sh (C#): Add csharpcomp.
11564
11565 2005-06-08  Bruno Haible  <bruno@clisp.org>
11566
11567         * m4/csharpcomp.m4: New file, from GNU gettext.
11568
11569 2005-06-08  Bruno Haible  <bruno@clisp.org>
11570
11571         * lib/csharpcomp.h: New file, from GNU gettext.
11572         * lib/csharpcomp.c: New file, from GNU gettext.
11573         * lib/csharpcomp.sh.in: New file, from GNU gettext.
11574
11575 2005-06-08  Bruno Haible  <bruno@clisp.org>
11576
11577         * lib/binary-io.h (fileno): Undefine before defining it. Avoids a gcc
11578         warning on mingw.
11579
11580 2005-06-07  Derek Price  <derek@ximbiot.com>
11581
11582         Sync from CVS.
11583         * lib/glob_.h: Indent nested #ifdef.
11584
11585 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
11586
11587         Sync from coreutils.
11588         Use "file name" when talking about file names, instead of "filename"
11589         or "path", as per the GNU coding standards.
11590         * lib/mkdir-p.c: Renamed from makepath.c.
11591         (make_dir_parents): Renamed from make_path.  All callers changed.
11592         * lib/mkdir-p.h: Likewise.  All includers changed.
11593         * lib/filenamecat.c: Renamed from path-concat.c.
11594         (file_name_concat): Renamed from path_concat.  All callers changed.
11595         [TEST_FILE_NAME_CONCAT]: Renamed from TEST_PATH_CONCAT.
11596         * lib/filenamecat.h: Likewise.  All includers changed.
11597         * lib/acl.c: Don't use "path" or "filename" to mean "file name"
11598         in comments or local variable names.
11599         * lib/basename.c: Likewise.
11600         * lib/canonicalize.c, canonicalize.h: Likewise.
11601         * lib/dirname.c, dirname.h: Likewise.
11602         * lib/euidaccess.c: Likewise.
11603         * lib/exclude.c: Likewise
11604         * lib/fnmatch_.h, fnmatch_loop.c: Likewise.
11605         * lib/fsusage.c, fsuage.h: Likewise.
11606         * lib/fts.c, fts_.h: Likewise.
11607         * lib/getcwd.c: Likewise.
11608         * lib/getloadavg.c: Likewise.
11609         * lib/mkstemp.c: Likewise.
11610         * lib/mountlist.c, mountlist.h: Likewise.
11611         * lib/openat.c, openat.h: Likewise.
11612         * lib/readlink-stub.c: Likewise.
11613         * lib/readutmp.c, readutmp.h: Likewise.
11614         * lib/rename.c: Likewise.
11615         * lib/rmdir.c: Likewise.
11616         * lib/same.c: Likewise.
11617         * lib/savedir.c: Likewise.
11618         * lib/stripslash.c: Likewise.
11619         * lib/tempname.c: Likewise.
11620         * lib/xreadlink.c: Likewise.
11621         * lib/exclude.c (excluded_file_name): Renamed from excluded_filename.
11622         All uses changed.
11623         * lib/exclude.h: Likewise.
11624
11625         * lib/euidaccess.c (getuid, getgid, getuid, getegid)
11626         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
11627         * lib/idcache.c (getpwuid, getpwnam, getgrgid, getgrnam)
11628         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
11629         * lib/pathmax.h: Include <limits.h> unconditionally, since other
11630         files have been getting away with it for years (MORE/BSD 4.3
11631         is extinct now).
11632         * lib/userspec.c (getpwnam, getgrnam, getgrgid)
11633         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
11634
11635         * lib/pathmax.h (_POSIX_PATH_MAX) [!defined _POSIX_PATH_MAX]:
11636         Define to 256, not 255, as per modern POSIX.
11637
11638 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
11639
11640         Sync from coreutils.
11641         Use "file name" when talking about file names, instead of "filename"
11642         or "path", as per the GNU coding standards.
11643         * MODULES.html.sh: mkdir-p renamed from makepath.
11644         filenamecat renamed from path-concat.
11645         * modules/filenamecat: Renamed from modules/path-concat.
11646         (Files): filenamecat.h and filenamecat.c renamed from
11647         path-concat.h and path-concat.c.
11648         (configure.ac): gl_FILE_NAME_CONCAT, not gl_PATH_CONCAT.
11649         (Include): filenamecat.h, not path-concat.h.
11650         * modules/mkdir-p: Renamed from modules/makepath.
11651         (Files): mkdir-p.h and mkdir-p.c renamed from makepath.h and
11652         makepath.c.
11653         (configure.ac): gl_MKDIR_PARENTS, not gl_MAKEPATH.
11654         (Include): mkdir-p.h, not makepath.h.
11655
11656 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
11657
11658         Sync from coreutils.
11659         * m4/mkdir-p.m4: Renamed from makepath.m4.
11660         (gl_MKDIR_PARENTS): Renamed from gl_MAKEPATH.  All uses changed.
11661         Rename files from makepath.c to mkdir-p.c, and from
11662         makepath.h to mkdir-p.h.
11663         * m4/filenamecat.m4: Renamed from path-concat.m4.
11664         (gl_FILE_NAME_CONCAT): Renamed from gl_PATH_CONCAT.  All uses changed.
11665         Rename files from path-concat.c to filenamecat.c,
11666         and from path-concat.h to filenamecat.h.
11667         * m4/getcwd-path-max.m4: Don't use "path" or "filename" to mean
11668         "file name" in local variables or comments.
11669         * m4/rename.m4: Likewise.
11670
11671 2005-06-01  Bruno Haible  <bruno@clisp.org>
11672
11673         * modules/csharpexec: New file.
11674         * MODULES.html.sh (C#): New section.
11675
11676 2005-06-01  Bruno Haible  <bruno@clisp.org>
11677
11678         * m4/csharp.m4: New file, from GNU gettext.
11679         * m4/csharpexec.m4: New file, from GNU gettext.
11680
11681 2005-06-01  Bruno Haible  <bruno@clisp.org>
11682
11683         * lib/csharpexec.h: New file, from GNU gettext.
11684         * lib/csharpexec.c: New file, from GNU gettext.
11685         * lib/csharpexec.sh.in: New file, from GNU gettext.
11686
11687 2005-05-31  Derek Price  <derek@ximbiot.com>
11688             Paul Eggert  <eggert@cs.ucla.edu>
11689
11690         Sync from cvs.
11691         * m4/glob.m4: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
11692
11693 2005-05-31  Derek Price  <derek@ximbiot.com>
11694             Paul Eggert  <eggert@cs.ucla.edu>
11695
11696         Sync from cvs.
11697         * lib/glob_.h: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
11698
11699 2005-05-29  Derek Price  <derek@ximbiot.com>
11700
11701         * config/srclist.txt (glob_.h, glob.c): Add these files.
11702
11703 2005-05-29  Derek Price  <derek@ximbiot.com>
11704
11705         * MODULES.html.sh: Add glob to Enhanced POSIX.2001 section.
11706         * modules/glob: New file.
11707         * modules/getlogin_r: Add link to POSIX spec in description.
11708
11709 2005-05-29  Derek Price  <derek@ximbiot.com>
11710             Paul Eggert  <eggert@cs.ucla.edu>
11711
11712         * m4/glob.m4: New file.
11713
11714 2005-05-29  Derek Price  <derek@ximbiot.com>
11715             Paul Eggert  <eggert@cs.ucla.edu>
11716
11717         * lib/glob_.h, lib/glob.c: New files.
11718
11719 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
11720
11721         * modules/fts (Files): Remove m4/inttypes-pri.m4.
11722         * modules/fts-lgpl (Depends-on): Remove gettext.
11723
11724 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
11725
11726         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't check for inttypes.h or stdint.h,
11727         and don't require gt_INTTYPES_PRI.
11728
11729 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
11730
11731         * lib/getlogin_r.c (getlogin_r): Don't set errno to 0 on return.
11732
11733         * lib/fts.c: Don't worry about debugging on pre-C99-compatible hosts;
11734         the configuration hassle isn't worth it.
11735         Include inttypes.h and stdint.h unconditionally if FTS_DEBUG.
11736         (LONGEST_MODIFIER, PRIuMAX): Remove.
11737
11738 2005-05-27  Bruno Haible  <bruno@clisp.org>
11739
11740         * lib/getlogin_r.h: Remove second include of <stddef.h>.
11741
11742 2005-05-26  Paul Eggert  <eggert@cs.ucla.edu>
11743
11744         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Define
11745         _POSIX_PTHREAD_SEMANTICS for Solaris.
11746
11747 2005-05-25  Derek Price  <derek@ximbiot.com>
11748
11749         * MODULES.html.sh: Add getlogin_r to POSIX.2001 support section.
11750
11751 2005-05-25  Derek Price  <derek@ximbiot.com>
11752             Paul Eggert  <eggert@cs.ucla.edu>
11753
11754         * modules/getlogin_r, m4/getlogin_r.m4: New files.
11755         * lib/getlogin_r.c, getlogin_r.h: New files.
11756
11757 2005-05-25  Bruno Haible  <bruno@clisp.org>
11758             Derek Price  <derek@ximbiot.com>
11759
11760         * lib/getlogin_r.h: Simplify API documentation.
11761
11762 2005-05-23  Derek Price  <derek@ximbiot.com>
11763
11764         * modules/minmax (Files): Add m4/minmax.m4.
11765         (configure.ac): Add gl_MINMAX.
11766
11767 2005-05-22  Paul Eggert  <eggert@cs.ucla.edu>
11768
11769         * lib/fts.c (fd_safer) [_LGPL_PACKAGE]: New static function,
11770         so that unistd-safer.h (GPL'ed code) need not be included.
11771
11772 2005-05-22  Bruno Haible  <bruno@clisp.org>
11773
11774         * m4/minmax.m4: New file.
11775         Based on a patch by Derek Price <derek@ximbiot.com>.
11776
11777 2005-05-22  Bruno Haible  <bruno@clisp.org>
11778
11779         * lib/stdint_.h (_STDINT_H_HAVE_INT64): New macro. Use it in #ifdefs.
11780         (INT64_MIN): Fix definition.
11781         Suggested by Paul Eggert <eggert@cs.ucla.edu>.
11782
11783         * lib/stdint_.h (_STDINT_H_NEED_SIGNED_INT_TYPES): Renamed from
11784         NEED_SIGNED_INT_TYPES.
11785
11786         * lib/stdint_.h (_STDINT_H_HAVE_SYSTEM_INTTYPES): Renamed from
11787         HAVE_SYSTEM_INTTYPES.
11788
11789 2005-05-22  Bruno Haible  <bruno@clisp.org>
11790
11791         * lib/minmax.h: Include <limits.h> only when it defines MIN, MAX.
11792         Also include <sys/param.h> if it defines MIN, MAX.
11793         Based on a patch by Derek Price <derek@ximbiot.com>.
11794
11795 2005-05-21  Jim Meyering  <jim@meyering.net>
11796
11797         * modules/fts (Files): Add m4/inttypes-pri.m4.
11798         (Depends-on): Add lstat and remove gettext.  Alphabetize.
11799
11800 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
11801
11802         New fts module.
11803         * lib/fts.c: Don't include "cycle-check.h" or "hash.h".
11804         (setup_dir, free_dir): New functions.
11805         (enter_dir, leave_dir): Define trivial
11806         alternatives of _LGPL_PACKAGE.  Move to fts-cycle.c if !_LGPL_PACKAGE.
11807         (HT_INITIAL_SIZE, ENTER_DIR): Remove.  All uses removed.
11808         (LEAVE_DIR): Fix typo: pass Fts and Ent to leave_dir.
11809         (struct Active_dir, AD_compare, AD_hash, enter_dir, leave_dir):
11810         Move to fts-cycle.c.
11811         (fts_open): Use setup_dir.
11812         (fts_close): Use free_dir.
11813         (fts_read): Have just one copy of the ENTER_DIR code rather than three.
11814         This adds a label and some gotos, but the alternatives were messier.
11815         Check for memory allocation failure when entering a dir.
11816         (fts_stat) [_LGPL_PACKAGE]: Bring back glibc cycle detection code.
11817         * lib/fts_.h (_LGPL_PACKAGE) [defined _LIBC]: New macro.
11818         (FTS): New member fts_cycle, that is a union that contains the
11819         old active_dir_ht and cycle_state.  All uses changed to mention
11820         fts_cycle.ht and fts_cycle.state.
11821         * lib/fts-cycle.c: New file, containing GPL'ed code migrated out of
11822         fts.c, with the following changes:
11823         (setup_dir, free_dir): New functions.
11824         (enter_dir): Now returns bool.  Return true if successful, false
11825         if memory exhausted.  All callers changed.
11826         Do not bother partly cleaning up on
11827         memory allocation failure; that is free_dir's job.
11828         However, free ad if hash_insert fails, to avoid memory leak.
11829         (enter_dir, leave_dir): Accommodate change to FTS by inspecting
11830         fts->fts_options to see which union member to use.
11831
11832 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
11833
11834         * m4/fts.m4 (gl_FUNC_FTS_CORE): Renamed from gl_FUNC_FTS.
11835         (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): New macros.
11836
11837 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
11838
11839         * MODULES.html.sh (File system functions): Add fts, fts-lgpl.
11840
11841 2005-05-20  Jim Meyering  <jim@meyering.net>
11842
11843         * lib/unlinkdir.h (cannot_unlink_dir) [UNLINK_CANNOT_UNLINK_DIR]:
11844         Now a macro, to pacify GCC.
11845
11846 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
11847
11848         * m4/chown.m4 (gl_FUNC_CHOWN): Correct sense of test for honoring IDs
11849         of -1.
11850
11851 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
11852
11853         * lib/chown.c (rpl_chown): Return -1 on failure.
11854
11855 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
11856
11857         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME]):
11858         Don't check for stddef.h.
11859         * m4/fts.m4 (gl_FUNC_FTS): Don't require AC_HEADER_STDC, as we
11860         don't use its results.
11861         Don't check for fcntl.h, stddef.h, stdlib.h, string.h, unistd.h,
11862         since we include them unconditionally.  Don't require
11863         AM_STDBOOL_H, since stdbool is a prerequisite.
11864         Don't require AC_C_CONST, AC_TYPE_SIZE_T or check for ptrdiff_t
11865         since we assume C89 or better.
11866         Don't require AC_FUNC_CLOSEDIR_VOID, AC_FUNC_LSTAT, or AC_FUNC_STAT,
11867         as we don't use their results.
11868         Don't check for fchdir, memmove, memset, strrchr, as we use
11869         them unconditionally.
11870         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't define
11871         GETTIMEOFDAY_CLOBBERS_LOCALTIME_BUFFER, since nobody uses it.
11872
11873 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
11874
11875         * lib/canonicalize.c: Include canonicalize.h first, to test interface.
11876         Include <stddef.h> unconditionally, since we assume C89 now.
11877         All uses of PTR_INT_TYPE replaced by ptrdiff_t.
11878         * lib/fts.c: Include fts_.h first, to check interface.
11879         Do not include intprops.h; no longer needed.
11880         Include cycle-check.h and hash.h, since fts_.h no longer does.
11881         Remove unnecessary casts of closedir to void.
11882         (fts_build): Use a simpler method (not involving TYPE_SIGNED) to
11883         decide whether to decrement nlinks.
11884         * lib/fts_.h: Do not include hash.h or cycle-check.h; no longer needed.
11885         (FTS): Use struct hash_table * instead of Hash_table, so that
11886         we no longer need to include hash.h here.
11887
11888 2005-05-18  Jim Meyering  <jim@meyering.net>
11889
11890         * modules/dirfd (License): Change to LGPL.  Most of the code
11891         is already in the public domain.
11892
11893 2005-05-18  Jim Meyering  <jim@meyering.net>
11894
11895         * m4/fts.m4 (AC_LIBSOURCES): Add intprops.h to the list.
11896         Reported by Yoann Vandoorselaere.
11897
11898 2005-05-17  Jim Meyering  <jim@meyering.net>
11899
11900         * m4/fts.m4: New file, from coreutils.
11901
11902 2005-05-17  Jim Meyering  <jim@meyering.net>
11903
11904         * lib/fts.c, lib/fts_.h: New files, from coreutils.
11905
11906 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
11907
11908         Sync from coreutils.
11909         * m4/unlinkdir.m4: New file.
11910
11911 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
11912
11913         Sync from coreutils.
11914         * lib/unlinkdir.c, lib/unlinkdir.h: New files.
11915         * lib/gethrxtime.c, lib/gethrxtime.h, lib/getpass.h, lib/mountlist.h,
11916         lib/path-concat.c, lib/regex.h, lib/unlocked-io.h, lib/xtime.h:
11917         White space changes only.
11918         * lib/makepath.c (make_path): Port to hosts where leading "//" is
11919         special.
11920         * lib/yesno.c: Include getline.h, not ctype.h.
11921         (yesno): Don't remove leading white space; POSIX doesn't allow it.
11922         Use getline to remove arbitrary restriction on response length.
11923
11924 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
11925
11926         * config/srclist-update: Spell out "Street" in FSF postal
11927         mail address; this is the style the FSF seems to prefer.
11928
11929         * build-aux/depcomp, build-aux/install-sh, build-aux/mdate-sh,
11930         build-aux/missing, build-aux/mkinstalldirs: Sync from Automake;
11931         this updates FSF postal mail address.
11932
11933         Sync from coreutils.
11934         * modules/unlinkdir: New file.
11935         * modules/yesno (Depends-on): Add getline.
11936         * MODULES.html.sh (File system functions): Add unlinkdir.
11937
11938 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
11939
11940         * lib/byteswap_.h, lib/getsubopt.h, lib/iconvme.h, lib/strsep.c,
11941         lib/strsep.h:
11942         Change the initial comment to refer to GPL, not LGPL.
11943         gnulib-tool will change it to LGPL as needed.
11944
11945         * lib/__fpending.c, lib/acl.c, lib/acl.h, lib/alloca_.h, lib/allocsa.c,
11946         lib/allocsa.h, lib/argmatch.c, lib/argmatch.h, lib/argp-ba.c,
11947         lib/argp-eexst.c, lib/argp-fmtstream.c, lib/argp-fmtstream.h,
11948         lib/argp-fs-xinl.c, lib/argp-help.c, lib/argp-namefrob.h,
11949         lib/argp-parse.c, lib/argp-pv.c, lib/argp-pvh.c, lib/argp-xinl.c,
11950         lib/argp.h, lib/argz.c, lib/argz_.h, lib/asnprintf.c, lib/asprintf.c,
11951         lib/atanl.c, lib/backupfile.c, lib/backupfile.h, lib/base64.c,
11952         lib/base64.h, lib/basename.c, lib/binary-io.h, lib/byteswap_.h,
11953         lib/c-ctype.c, lib/c-ctype.h, lib/c-stack.c, lib/c-stack.h,
11954         lib/c-strtod.c, lib/calloc.c, lib/canon-host.c, lib/canonicalize.c,
11955         lib/canonicalize.h, lib/ceill.c, lib/chdir-long.c, lib/chdir-long.h,
11956         lib/chown.c, lib/classpath.c, lib/classpath.h, lib/cloexec.c,
11957         lib/closeout.c, lib/closeout.h, lib/concatpath.c, lib/config.charset,
11958         lib/copy-file.c, lib/copy-file.h, lib/cycle-check.c, lib/cycle-check.h,
11959         lib/diacrit.c, lib/diacrit.h, lib/dirfd.c, lib/dirfd.h, lib/dirname.c,
11960         lib/dirname.h, lib/dummy.c, lib/dup-safer.c, lib/dup2.c, lib/eealloc.h,
11961         lib/error.c, lib/error.h, lib/euidaccess.c, lib/exclude.c,
11962         lib/exclude.h, lib/execute.c, lib/execute.h, lib/exit.h,
11963         lib/exitfail.c, lib/exitfail.h, lib/expl.c, lib/fatal-signal.c,
11964         lib/fatal-signal.h, lib/fd-safer.c, lib/file-type.c, lib/file-type.h,
11965         lib/fileblocks.c, lib/filemode.c, lib/filemode.h, lib/findprog.c,
11966         lib/findprog.h, lib/floorl.c, lib/fnmatch.c, lib/fnmatch_.h,
11967         lib/fnmatch_loop.c, lib/fopen-safer.c, lib/free.c, lib/frexpl.c,
11968         lib/fsusage.c, lib/fsusage.h, lib/full-read.c, lib/full-read.h,
11969         lib/full-write.c, lib/full-write.h, lib/fwriteerror.c,
11970         lib/fwriteerror.h, lib/gai_strerror.c, lib/gcd.c, lib/gcd.h,
11971         lib/getaddrinfo.c, lib/getaddrinfo.h, lib/getcwd.c, lib/getcwd.h,
11972         lib/getdate.h, lib/getdate.y, lib/getdomainname.c, lib/getdomainname.h,
11973         lib/getgroups.c, lib/gethostname.c, lib/gethrxtime.c, lib/gethrxtime.h,
11974         lib/getline.c, lib/getline.h, lib/getloadavg.c, lib/getndelim2.c,
11975         lib/getndelim2.h, lib/getnline.c, lib/getnline.h, lib/getopt.c,
11976         lib/getopt1.c, lib/getopt_.h, lib/getopt_int.h, lib/getpagesize.h,
11977         lib/getpass.c, lib/getpass.h, lib/getsubopt.c, lib/getsubopt.h,
11978         lib/gettext.h, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c,
11979         lib/getusershell.c, lib/group-member.c, lib/group-member.h,
11980         lib/hard-locale.c, lib/hard-locale.h, lib/hash-pjw.c, lib/hash-pjw.h,
11981         lib/hash.c, lib/hash.h, lib/human.c, lib/human.h, lib/iconvme.c,
11982         lib/iconvme.h, lib/idcache.c, lib/inet_ntop.h, lib/intprops.h,
11983         lib/inttostr.c, lib/inttostr.h, lib/isdir.c, lib/javacomp.c,
11984         lib/javacomp.h, lib/javacomp.sh.in, lib/javaexec.c, lib/javaexec.h,
11985         lib/javaexec.sh.in, lib/lbrkprop.h, lib/lchown.c, lib/ldexpl.c,
11986         lib/linebreak.c, lib/linebreak.h, lib/linebuffer.c, lib/linebuffer.h,
11987         lib/localcharset.c, lib/localcharset.h, lib/logl.c, lib/long-options.c,
11988         lib/long-options.h, lib/lstat.c, lib/makepath.c, lib/makepath.h,
11989         lib/malloc.c, lib/mathl.h, lib/mbswidth.c, lib/mbswidth.h, lib/md5.c,
11990         lib/md5.h, lib/memcasecmp.c, lib/memcasecmp.h, lib/memchr.c,
11991         lib/memcmp.c, lib/memcoll.c, lib/memcoll.h, lib/memcpy.c, lib/memmem.c,
11992         lib/memmem.h, lib/mempcpy.c, lib/mempcpy.h, lib/memrchr.c,
11993         lib/memrchr.h, lib/memset.c, lib/minmax.h, lib/mkdir.c, lib/mkdtemp.c,
11994         lib/mkdtemp.h, lib/mkstemp.c, lib/mktime.c, lib/modechange.c,
11995         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
11996         lib/obstack.c, lib/obstack.h, lib/openat.c, lib/openat.h,
11997         lib/pagealign_alloc.c, lib/pagealign_alloc.h, lib/path-concat.c,
11998         lib/path-concat.h, lib/pathmax.h, lib/pathname.h, lib/physmem.c,
11999         lib/physmem.h, lib/pipe.c, lib/pipe.h, lib/poll.c, lib/poll_.h,
12000         lib/posixtm.c, lib/posixtm.h, lib/posixver.c, lib/printf-args.c,
12001         lib/printf-args.h, lib/printf-parse.c, lib/printf-parse.h,
12002         lib/progname.c, lib/progname.h, lib/progreloc.c, lib/putenv.c,
12003         lib/quote.c, lib/quote.h, lib/quotearg.c, lib/quotearg.h, lib/raise.c,
12004         lib/readlink.c, lib/readtokens.c, lib/readtokens.h, lib/readtokens0.c,
12005         lib/readtokens0.h, lib/readutmp.c, lib/readutmp.h, lib/realloc.c,
12006         lib/ref-add.sin, lib/ref-del.sin, lib/regex.c, lib/regex.h,
12007         lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c,
12008         lib/safe-read.h, lib/safe-write.c, lib/safe-write.h, lib/same.c,
12009         lib/same.h, lib/save-cwd.c, lib/save-cwd.h, lib/savedir.c,
12010         lib/savedir.h, lib/setenv.c, lib/setenv.h, lib/settime.c,
12011         lib/sh-quote.c, lib/sh-quote.h, lib/sha1.c, lib/sha1.h, lib/sig2str.c,
12012         lib/sig2str.h, lib/sincosl.c, lib/snprintf.c, lib/snprintf.h,
12013         lib/sqrtl.c, lib/stat-macros.h, lib/stat.c, lib/stdbool_.h,
12014         lib/stdint_.h, lib/stdio-safer.h, lib/stpcpy.c, lib/stpcpy.h,
12015         lib/stpncpy.c, lib/stpncpy.h, lib/strcase.h, lib/strcasecmp.c,
12016         lib/strchrnul.c, lib/strchrnul.h, lib/strcspn.c, lib/strdup.c,
12017         lib/strdup.h, lib/strerror.c, lib/strftime.c, lib/strftime.h,
12018         lib/stripslash.c, lib/strndup.c, lib/strndup.h, lib/strnlen.c,
12019         lib/strpbrk.c, lib/strpbrk.h, lib/strsep.c, lib/strsep.h, lib/strstr.c,
12020         lib/strstr.h, lib/strtod.c, lib/strtoimax.c, lib/strtok_r.c,
12021         lib/strtok_r.h, lib/strtol.c, lib/strtoll.c, lib/strtoul.c,
12022         lib/strtoull.c, lib/strverscmp.c, lib/strverscmp.h, lib/sysexit_.h,
12023         lib/tempname.c, lib/time_r.c, lib/time_r.h, lib/timegm.c, lib/timegm.h,
12024         lib/timespec.h, lib/trigl.c, lib/trigl.h, lib/ucs4-utf16.h,
12025         lib/ucs4-utf8.h, lib/unicodeio.c, lib/unicodeio.h, lib/unistd-safer.h,
12026         lib/unlocked-io.h, lib/unsetenv.c, lib/userspec.c, lib/utf16-ucs4.h,
12027         lib/utf8-ucs4.h, lib/utime.c, lib/utimecmp.c, lib/utimecmp.h,
12028         lib/utimens.c, lib/vasnprintf.c, lib/vasnprintf.h, lib/vasprintf.c,
12029         lib/vasprintf.h, lib/version-etc-fsf.c, lib/version-etc.c,
12030         lib/version-etc.h, lib/vsnprintf.c, lib/vsnprintf.h, lib/w32spawn.h,
12031         lib/wait-process.c, lib/wait-process.h, lib/xalloc-die.c, lib/xalloc.h,
12032         lib/xallocsa.c, lib/xallocsa.h, lib/xasprintf.c, lib/xgetcwd.c,
12033         lib/xgetcwd.h, lib/xgetdomainname.c, lib/xgetdomainname.h,
12034         lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c,
12035         lib/xreadlink.c, lib/xreadlink.h, lib/xsetenv.c, lib/xsetenv.h,
12036         lib/xsize.h, lib/xstrndup.c, lib/xstrndup.h, lib/xstrtod.c,
12037         lib/xstrtod.h, lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h,
12038         lib/xstrtoumax.c, lib/xtime.h, lib/xvasprintf.c, lib/xvasprintf.h,
12039         lib/yesno.c, lib/yesno.h:
12040         Update FSF postal mail address.
12041
12042 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
12043
12044         * MODULES.html.sh, README, gnulib-tool, tests/test-base64.c,
12045         tests/test-memmem.c, tests/test-stpncpy.c:
12046         Update FSF postal mail address.
12047
12048 2005-05-13  Bruno Haible  <bruno@clisp.org>
12049
12050         * lib/stdint_.h (int64_t, uint64_t, int_least64_t, uint_least64_t,
12051         int_fast64_t, uint_fast64_t, intmax_t, uintmax_t, INT64_MIN, INT64_MAX,
12052         UINT64_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX,
12053         INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTMAX_MIN,
12054         INTMAX_MAX, UINTMAX_MAX, INT64_C, UINT64_C, INTMAX_C, UINTMAX_C):
12055         Add support for 64-bit integers in the MSVC compiler.
12056
12057 2005-05-12  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
12058
12059         * modules/getdate (Makefile.am): Add getdate.c to EXTRA_DIST
12060
12061 2005-05-12  Eric Blake  <ebb9@byu.net>  (tiny change)
12062
12063         * gnulib-tool (func_import): Sort and uniquify recommended includes.
12064
12065 2005-05-11  Paul Eggert  <eggert@cs.ucla.edu>
12066
12067         * doc/getdate.texi (General date syntax): Don't say that date
12068         date --iso-8601=ns generates acceptable dates; it doesn't yet.
12069         Problem reported by Nic Ferrier.
12070
12071 2005-05-10  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
12072
12073         * lib/getaddrinfo.c: Don't fail when SOCK_STREAM or SOCK_DGRAM are
12074         specified in ai_socktype. Fix invalid ai_protocol
12075         check. ai_protocol is usually set to 0 or depending on
12076         ai_family/ai_socktype to IPPROTO_TCP / IPPROTO_UDP.  Checking for
12077         SOCK_STREAM / SOCK_DGRAM in ai_protocol was invalid.  Set
12078         ai_socktype / ai_protocol in the returned addrinfo structure.
12079
12080 2005-05-10  Simon Josefsson  <jas@extundo.com>
12081
12082         * m4/getaddrinfo.m4: Look in libnsl/libsocket for getaddrinfo, from
12083         Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
12084
12085 2005-05-10  Karl Berry  <karl@gnu.org>
12086
12087         * doc/fdl.texi, gpl.texi, lgpl.texi, COPYING: update FSF address
12088         (from http://www.gnu.org/licenses).
12089         * doc/COPYING.LIB: also rename to COPYING.LESSER.
12090         * doc/COPYING.DOC: remove; per rms, only needed in doc files, so
12091         fdl.texi suffices.
12092
12093 2005-05-10  Karl Berry  <karl@gnu.org>
12094
12095         * config/srclist.txt (COPYING.LESSER): rename from COPYING.LIB.
12096         (COPYING.DOC): remove.
12097
12098         * config/srclist-update: new FSF address.
12099
12100 2005-05-10  Derek Price  <derek@ximbiot.com>
12101
12102         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 bug, not decl, when
12103         possible.
12104
12105 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
12106             Bruno Haible  <bruno@clisp.org>
12107
12108         * modules/inet_ntop: New file.
12109         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
12110         inet_ntop.
12111
12112 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
12113             Bruno Haible  <bruno@clisp.org>
12114
12115         * m4/inet_ntop.m4: New file.
12116
12117 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
12118             Bruno Haible  <bruno@clisp.org>
12119
12120         * lib/inet_ntop.h: New file.
12121         * lib/inet_ntop.c: New file, from glibc with modifications.
12122
12123 2005-05-09  Paul Eggert  <eggert@cs.ucla.edu>
12124
12125         * modules/time_r (License): Change to LGPL.
12126         * modules/extensions (License): Change to LGPL.  Actually,
12127         the license is more permissive than that, but currently gnulib-tool
12128         doesn't know how to handle more-permissive licenses.
12129
12130         * modules/stat-macros (Depends-on): Don't depend on stat-macros (!).
12131         Problem reported by Dave Love.
12132
12133 2005-05-08  Jim Meyering  <jim@meyering.net>
12134
12135         * lib/classpath.c (PATH_SEPARATOR): Remove insignificant trailing
12136         blank.
12137
12138 2005-05-06  Paul Eggert  <eggert@cs.ucla.edu>
12139
12140         * modules/argmatch (Depends-on): Add stdbool.
12141         * modules/backupfile (Depends-on): Likewise.
12142         * modules/chdir-long (Depends-on): Likewise.
12143         * modules/closeout (Depends-on): Likewise.
12144         * modules/cycle-check (Depends-on): Likewise.
12145         * modules/dirname (Depends-on): Likewise.
12146         * modules/fnmatch (Depends-on): Likewise.
12147         * modules/fsusage (Depends-on): Likewise.
12148         * modules/fwriteerror (Depends-on): Likewise.
12149         * modules/getcwd (Depends-on): Likewise.
12150         * modules/getloadavg (Depends-on): Likewise.
12151         * modules/hard-locale (Depends-on): Likewise.
12152         * modules/makepath (Depends-on): Likewise.
12153         * modules/mountlist (Depends-on): Likewise.
12154         * modules/nanosleep (Depends-on): Likewise.
12155         * modules/posixtm (Depends-on): Likewise.
12156         * modules/quotearg (Depends-on): Likewise.
12157         * modules/readtokens (Depends-on): Likewise.
12158         * modules/readtokens0 (Depends-on): Likewise.
12159         * modules/readutmp (Depends-on): Likewise.
12160         * modules/save-cwd (Depends-on): Likewise.
12161         * modules/strftime (Depends-on): Likewise.
12162         * modules/userspec (Depends-on): Likewise.
12163         * modules/utimecmp (Depends-on): Likewise.
12164         * modules/xgetcwd (Depends-on): Likewise.
12165         * modules/xnanosleep (Depends-on): Likewise.
12166         * modules/xstrtod (Depends-on): Likewise.
12167         * modules/yesno (Depends-on): Likewise.
12168
12169 2005-05-05  Paul Eggert  <eggert@cs.ucla.edu>
12170
12171         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 getopt, and avoid
12172         needless checks.
12173
12174 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
12175
12176         Merge from coreutils.  Among other things,
12177         add bulletproofing for cases where stdin, stdout, or stderr are closed.
12178         * lib/fd-safer.c: New file.
12179         * lib/fcntl-safer.h, open-safer.c: Remove.
12180         * lib/chdir-long.c: Fix comment "fetish" -> "coreutils".
12181         * lib/dup-safer.c: Include unistd-safer.h first.
12182         Don't include errno.h.
12183         (dup_safer) [!defined F_DUPFD]: Let fd_safer do the real work.
12184         * lib/file-type.h: Don't assume invoker included sys/stat.h first.
12185         * lib/file-type.c: Rely on file-type.h change.
12186         * lib/getloadavg.c: Include unistd-safer.h.
12187         (getloadavg): Use safer open.
12188         * lib/getusershell.c: Include "stdio-safer.h".
12189         (getusershell): Use safer fopen.
12190         * lib/long-options.c (long_options): Use NULL rather than 0.
12191         * lib/modechange.h (mode_free): Remove; all callers changed to invoke
12192         'free'.
12193         * lib/modechange.c: Likewise.
12194         xstrtol.h, stdbool.h, stddef.h: Don't include; no longer needed.
12195         (MODE_DONE): New constant.
12196         (struct mode_change): Remove 'next' member.
12197         (make_node_op_equals): New function; like the old one of the
12198         same name, except it allocates an array.
12199         (mode_compile, mode_create_from_ref): Use it.
12200         (mode_compile): Allocate result as an array, not a linked list.
12201         Parse octal string ourself, so that we catch mistakes like "+0".
12202         (mode_adjust): Arg is an array, not a linked list.
12203         * lib/modechange.c: Include stat-macros.h, xalloc.h.
12204         (S_ISDIR, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR):
12205         (S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH, S_IRXWU):
12206         (S_IRWXG, S_IRWXO, CHMOD_MODE_BITS):
12207         Remove.  This is now stat-macros.h's job.
12208         (talloc): Remove.  All callers replaced by xalloc, so that
12209         our invokers don't have to worry about reporting memory failures.
12210         (make_node_op_equals): Remove.
12211         (MODE_ORDINARY_CHAGE, MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
12212         New constants.
12213         (struct mode_change): Moved here from modechange.h.
12214         (mode_append_entry): Remove.
12215         (mode_compile): Remove MASKED_OPS arg, since it encouraged
12216         apps to have incorrect behavior.  Use simpler algorithm for head
12217         and tail.  Don't futz with umask; that's now the job of mode_adjust.
12218         Detect more invalid usages rather than having somewhat-random behavior.
12219         Don't insert an "a=" action, as that leads to incorrect behavior.
12220         (mode_compile, mode_create_from_ref): Return NULL on error instead
12221         of an enum, since now there's only one way to have an error.  All
12222         callers changed.
12223         (mode_adjust): Accept new arg UMASK_VALUE, and interpret it
12224         at the correct time.  Simplify calculation of "+u" and its ilk.
12225         Don't mishandle "+X".
12226         (mode_free): Remove "register" and localize decls.
12227         * lib/modechange.h (MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
12228         (struct mode_change): Move to modechange.c; callers don't
12229         need to see this stuff.
12230         (MODE_MASK_EQUALS, MODE_MASK_PLUS, MODE_MASK_MINUS, MODE_MASK_ALL):
12231         (MODE_INVALID, MODE_MEMORY_EXHAUSTED, MODE_BAD_REFERENCE): Remove.
12232         (mode_change, mode_adjust): Reflect the new signatures noted above.
12233         * lib/nanosleep.c (rpl_nanosleep): Include "timespec.h" before macros
12234         that might redefine system include files.
12235         (siginterrupt) [!HAVE_SIGINTERRUPT]: New macro.
12236         (my_usleep): Use NULL rather than (void *) 0.
12237         (rpl_nanosleep) [!defined SA_NOCLDSTOP]:
12238         Use siginterrupt to specify that system calls should be interrupted.
12239         (rpl_nanosleep): Move initialization of suspended closer to call of
12240         my_usleep.
12241         * lib/readutmp.h (read_utmp): New arg OPTIONS.  All uses changed.
12242         * lib/readutmp.c: Likewise.  Include signal.h, stdbool.h.
12243         (desirable_utmp_entry): New function.
12244         (read_utmp) [defined UTMP_NAME_FUNCTION]: Redo memory allocation
12245         using x2nrealloc, to simplify logic.
12246         (read_utmp) [!defined UTMP_NAME_FUNCTION]: Check for overflow in
12247         size calculation.  Do not assume utmp file is a regular file.
12248         * lib/readutmp.h (UT_PID): Moved here from ../src/who.c.
12249         (READ_UTMP_CHECK_PIDS): New constant.
12250         * lib/save-cwd.c: Include unistd-safer.h.
12251         (save_cwd): Use fd_safer.
12252         * lib/tempname.c (S_ISDIR, S_IRUSR, S_IRUSR, S_IWUSR, S_IXUSR): Remove.
12253         [!_LIBC] Include "stat-macros.h" instead.
12254         * lib/unistd-safer.h (fd_safer): New decl.
12255
12256 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
12257
12258         * modules/getloadavg (Depends-on): Add unistd-safer.
12259         * modules/getusershell (Depends-on): Add stdio-safer.
12260         * modules/lstat (Depends-on): Remove xalloc.
12261         * modules/mkstemp (Depends-on): Add stat-macros.
12262         * modules/modechange (Depends-on): Remove xstrtol.
12263         Add stat-macros, xalloc.
12264         * modules/save-cwd (Depends-on): Add unistd-safer.
12265         * modules/stdio-safer (Makefile.am): Remove lib_SOURCES.
12266         * modules/unistd-safer (Files): Add lib/fd-safer.c
12267         (Makefile.am): Remove lib_SOURCES.
12268
12269         * MODULES.html.sh (Enhancements for POSIX:2001 functions):
12270         Remove fcntl-safer; unistd-safer supersedes it.
12271
12272 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
12273
12274         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Don't require
12275         AC_HEADER_STAT.
12276         * m4/lchown.m4 (gl_FUNC_CHOWN): Likewise.
12277         (gl_PREREQ_CHOWN): Remove.
12278         * m4/lstat.m4 (gl_FUNC_LSTAT): Require AC_FUNC_LSTAT instead of calling
12279         it.  Don't require AC_HEADER_STAT.
12280         (gl_PREREQ_LSTAT): Remove.
12281         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Check stdint.h only once.
12282         Don't require AC_HEADER_STAT.
12283         * m4/rmdir.m4 (gl_FUNC_RMDIR): Don't require AC_HEADER_STAT.
12284         (gl_PREREQ_RMDIR): Remove.
12285         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Don't
12286         mention stat-macros.h or AC_HEADER_STAT, since we'll make
12287         the stat-macros module a prerequisite.
12288         * m4/file-type.m4 (gl_FILE_TYPE): Likewise.
12289         * m4/filemode.m4 (gl_FILEMODE): Likewise.
12290         * m4/makepath.m4 (gl_MAKEPATH): Likewise.
12291         * m4/modechange.m4 (gl_MODECHANGE): Likewise.
12292         * m4/clock_time.m4 (gl_CLOCK_TIME): Use gl_ rather than fetish_ for
12293         variable names.
12294         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Renamed from
12295         fetish_FUNC_RMDIR_NOTEMPTY.  All uses changed.  Use gl_ for
12296         variable prefixes.
12297         * m4/fcntl-safer.m4: Remove.
12298         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Use AC_LIBSOURCES and AC_LIBOBJ.
12299         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise.
12300         Invoke gl_PREREQ_FD_SAFER.
12301         (gl_PREREQ_FD_SAFER): New macro.
12302         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Check for siginterrupt.
12303         * m4/readutmp.m4 (gl_READUTMP): Require AC_C_INLINE.
12304         Use AC_CHECK_HEADERS_ONCE and AC_CHECK_FUNCS_ONCE when possible.
12305         Remove duplicate call to AC_LIBOBJ(readutmp).
12306         (gl_PREREQ_READUTMP): Remove.  All uses inlined.
12307
12308         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Check for message, not for
12309         MAP_ANON.  Problem reported by Moriyoshi Koizumi to bug-cvs.
12310
12311 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
12312
12313         * MODULES.html.sh (Misc): Add byteswap.
12314
12315 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
12316
12317         * modules/getcwd (Depends-on): Add extensions.
12318         * modules/openat (Depends-on): Likewise.
12319
12320 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
12321
12322         * modules/byteswap: New file.
12323
12324 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
12325
12326         * m4/byteswap.m4: New file.
12327
12328 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
12329
12330         * lib/byteswap_.h: New file.
12331
12332 2005-04-25  Karl Berry  <karl@gnu.org>
12333
12334         * m4/gettext.m4: Update from GNU gettext 0.14.4.
12335
12336 2005-04-25  Albert Chin  <china@thewrittenword.com>
12337
12338         * lib/regex.c: Include <stdio.h>, as a workaround to a Compaq Desktop
12339         Toolkit C bug.
12340
12341 2005-04-21  Oskar Liljeblad  <oskar@osk.mine.nu>
12342
12343         * gnulib-tool (Options): Add -s for --symlink/--symbolic.
12344         (func_ln_if_changed) Remove forcibly for no error message
12345         in case file does not exist.
12346
12347 2005-04-19  Simon Josefsson  <jas@extundo.com>
12348
12349         * gnulib-tool (Options): Make --symlink mean --symbolic.
12350
12351 2005-04-18  Oskar Liljeblad  <oskar@osk.mine.nu>
12352
12353         * doc/gnulib.texi (Initial import): Fix.  Mention --aux-dir.
12354
12355 2005-04-16  Simon Josefsson  <jas@extundo.com>
12356
12357         * modules/getpass-gnu (Makefile.am): Don't mention getpass.h.
12358
12359 2005-04-15  Simon Josefsson  <jas@extundo.com>
12360
12361         * m4/getpass.m4 (gl_FUNC_GETPASS): Use AC_LIBSOURCES.
12362
12363 2005-04-15  Simon Josefsson  <jas@extundo.com>
12364
12365         * gnulib-tool: Rename --symlink to --symbolic.
12366
12367 2005-04-15  Oskar Liljeblad  <oskar@osk.mine.nu>
12368
12369         * gnulib-tool: Add -s, --symlink option to gnulib-tool to make
12370         symbolic links to files instead of copying/moving.  Add --aux-dir,
12371         specifying directory relative --dir where auxiliary build tools
12372         are placed.
12373
12374 2005-04-14  Bruno Haible  <bruno@clisp.org>
12375
12376         * modules/allocsa (License): Change to LGPL.
12377         Requested by Yoann Vandoorselaere <yoann@prelude-ids.org>.
12378
12379 2005-04-13  Paul Eggert  <eggert@cs.ucla.edu>
12380
12381         * lib/getdate.y (zone): Allow relunit_snumber after tZONE, so
12382         that "UTC +1 second" continues to work.  Problem reported
12383         by Dmitry V. Levin.
12384         (relunit_snumber): New rule.
12385         (relunit): Use it.
12386
12387 2005-04-12  Paul Eggert  <eggert@cs.ucla.edu>
12388
12389         * lib/getdate.y (universal_time_zone_table): New constant.
12390         (time_zone_table): Remove GMT, UT, UTC entries; they're now in
12391         universal_time_zone_table.
12392         (lookup_zone): Prefer universal_time_zone_table to
12393         local_time_zone_table, so that "GMT" time stamps are allowed in
12394         London during the summer.  Problem reported by Ian Abbott.
12395
12396 2005-04-12  Jim Meyering  <jim@meyering.net>
12397
12398         * lib/human.c (humblock): Set *options even when returning due to
12399         xstrtoumax conversion failure.  Thanks to a used-uninitialized
12400         warning from gcc-4.
12401
12402 2005-04-09  Jim Meyering  <jim@meyering.net>
12403
12404         * lib/posixtm.c (posixtime) [lint]: Avoid spurious warning from gcc-4's
12405         -Wuninitialized: initialize tm0.tm_year.
12406
12407 2005-04-04  Paul Eggert  <eggert@cs.ucla.edu>
12408
12409         * lib/getdate.y (parser_control): rels_seen is now a boolean, not a
12410         count, since there's no maximum.  All uses changed.
12411         Add member dsts_seen.
12412         (local_zone): Accumulate dsts_seen rather than relying on tm_isdst
12413         not being INT_MAX.
12414         (get_date): Initialize dsts_seen, and check that it doesn't go over 1.
12415         Use pc_rels_seen to decide whther a date is absolute.
12416
12417         * lib/getdate.y (number): Don't overwrite year.
12418         (get_date): Initialize pc.year.digits to 0, not 4, to enable above
12419         check.
12420
12421 2005-04-02  Simon Josefsson  <jas@extundo.com>
12422
12423         * lib/getaddrinfo.h: Fix OpenBSD compilation failure, inspired by tiny
12424         patch from Yoann Vandoorselaere <yoann@prelude-ids.org>.
12425
12426 2005-03-28  Eric Blake  <ebb9@byu.net>  (tiny change)
12427
12428         * m4/getcwd-path-max.m4: Return success on systems such as Cygwin
12429         where no absolute path name can be longer than PATH_MAX.
12430
12431 2005-03-27  Jim Meyering  <jim@meyering.net>
12432
12433         * lib/argmatch.c: Clarify comment: null-terminated -> NULL-terminated.
12434
12435 2005-03-26  Paul Eggert  <eggert@cs.ucla.edu>
12436
12437         * lib/intprops.h (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND):
12438         "one's complement" -> "ones' complement" in comment, as per Knuth.
12439         "value of type" -> "type or expression" in comment.
12440         * lib/mktime.c, strftime.c: Propagate intprops.h comment nits.
12441
12442 2005-03-26  Jim Meyering  <jim@meyering.net>
12443
12444         Comment nits.
12445         * lib/intprops.h: Add the apostrophe in `(one|two)'s complement'.
12446         Correct typos: s/or/of/.
12447
12448 2005-03-26  Jim Meyering  <jim@meyering.net>
12449
12450         * modules/check-include-files: Move to ../ and rename to...
12451         * check-module: ...this.
12452
12453 2005-03-25  Jim Meyering  <jim@meyering.net>
12454
12455         * modules/xvasprintf (Files): Add xalloc.h.
12456
12457 2005-03-23  Paul Eggert  <eggert@cs.ucla.edu>
12458
12459         * modules/gettext (Files): config/config.rpath ->
12460         build-aux/config.rpath
12461         * modules/iconv (Files): Likewise.
12462         Problem reported by Oskar Liljeblad.
12463
12464 2005-03-23  Jim Meyering  <jim@meyering.net>
12465
12466         * modules/check-include-files: New script to check for
12467         missing dependencies, multiple includes, etc.
12468
12469         * modules/c-strtold (Depends-on): Add xalloc.
12470         * modules/c-strtod (Depends-on): Add xalloc.
12471         * modules/hash (Depends-on): Add xalloc.
12472         (Files): Remove lib/xalloc.h.
12473
12474         * modules/gethrxtime (Files): Add lib/gethrxtime.h.
12475         * modules/userspec (Files): Add lib/inttostr.h.
12476
12477 2005-03-23  Jim Meyering  <jim@meyering.net>
12478
12479         * lib/canonicalize.c: Remove duplicate `#include "stat-macros.h"'.
12480
12481 2005-03-22  Jim Meyering  <jim@meyering.net>
12482
12483         * modules/stat-macros: New module.
12484         * modules/canonicalize, modules/euidaccess, modules/file-type,
12485         * modules/filemode, modules/lchown, modules/makepath,
12486         * modules/rmdir, modules/stat: Depend on new stat-macros module
12487         rather than listing lib/stat-macros.h manually.
12488         Don't add stat-macros.h to lib_SOURCES or list it in Files: section.
12489
12490 2005-03-22  Jim Meyering  <jim@meyering.net>
12491
12492         * m4/stat-macros.m4 (gl_STAT_MACROS): New file/macro.
12493
12494 2005-03-22  Bruno Haible  <bruno@clisp.org>
12495
12496         * config/srclist.txt: Replace target directory 'config' with
12497         'build-aux'.
12498         * config/config.guess, config.sub, config.rpath, depcomp, install-sh:
12499         * config/mdate-sh, missing, mkinstalldirs, texinfo.tex: Move to
12500         ../build-aux/.
12501
12502 2005-03-21  Paul Eggert  <eggert@cs.ucla.edu>
12503
12504         * modules/chdir-long (Depends-on): Add mempcpy.
12505
12506         * modules/acl, modules/backupfile, modules/c-strtod,
12507         modules/c-strtold, modules/canon-host, modules/canonicalize,
12508         modules/cloexec, modules/closeout, modules/dirfd, modules/dirname,
12509         modules/exclude, modules/exitfail, modules/file-type,
12510         modules/filemode, modules/fpending, modules/fsusage, modules/getcwd,
12511         modules/getdate, modules/getline, modules/getpagesize,
12512         modules/getpass, modules/getugroups, modules/group-member,
12513         modules/hard-locale, modules/hash, modules/human, modules/idcache,
12514         modules/inttostr, modules/long-options, modules/makepath,
12515         modules/md5, modules/memcasecmp, modules/memcoll,
12516         modules/modechange, modules/mountlist, modules/path-concat,
12517         modules/pathmax, modules/physmem, modules/posixtm, modules/posixver,
12518         modules/quote, modules/quotearg, modules/readtokens, modules/readutmp,
12519         modules/safe-read, modules/safe-write, modules/same, modules/savedir,
12520         modules/settime, modules/sha1, modules/sig2str, modules/strdup,
12521         modules/strftime, modules/strndup, modules/strverscmp,
12522         modules/timespec, modules/unlocked-io, modules/userspec,
12523         modules/utimecmp, modules/utimens, modules/xalloc, modules/xstrtol,
12524         modules/yesno:
12525         Remove lib_SOURCES line from Makefile.am section, as this is now
12526         done automatically by the corresponding Autoconf macro.
12527
12528 2005-03-21  Jim Meyering  <jim@meyering.net>
12529
12530         Changes imported from coreutils.
12531
12532         * lib/cycle-check.c: Don't include xalloc.h.
12533
12534         * lib/path-concat.c: Don't include assert.h.
12535         (path_concat): Remove assertion that would have triggered
12536         for ABASE starting with more than one slash.
12537         Reported by Andreas Schwab.
12538
12539         * lib/path-concat.c (path_concat): Set *BASE_IN_RESULT
12540         properly when ABASE is an absolute file name.
12541         Correct the description of this function.
12542         Include <assert.h>.
12543         Add an assertion and a test driver.
12544         This fixes a bug introduced on 2004-07-02.
12545         Andreas Schwab reported the resulting failure of cp --parents:
12546         http://lists.gnu.org/archive/html/bug-coreutils/2005-01/msg00130.html
12547
12548 2005-03-21  Jim Meyering  <jim@meyering.net>
12549
12550         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Invoke gl_FUNC_MEMRCHR.
12551         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Check for memrchr decl.
12552
12553 2005-03-21  Jim Meyering  <jim@meyering.net>
12554         and  Paul Eggert  <eggert@cs.ucla.edu>
12555
12556         * m4/acl.m4, m4/backupfile.m4, m4/c-strtod.m4, m4/canon-host.m4,
12557         m4/canonicalize.m4, m4/cloexec.m4, m4/closeout.m4, m4/dirfd.m4,
12558         m4/dirname.m4, m4/exclude.m4, m4/exitfail.m4, m4/file-type.m4,
12559         m4/filemode.m4, m4/fpending.m4, m4/fsusage.m4, m4/getcwd.m4,
12560         m4/getdate.m4, m4/getline.m4, m4/getpagesize.m4, m4/getpass.m4,
12561         m4/getugroups.m4, m4/group-member.m4, m4/hard-locale.m4, m4/hash.m4,
12562         m4/human.m4, m4/idcache.m4, m4/inttostr.m4, m4/long-options.m4,
12563         m4/makepath.m4, m4/md5.m4, m4/memcasecmp.m4, m4/memcoll.m4,
12564         m4/modechange.m4, m4/mountlist.m4, m4/nanosleep.m4, m4/path-concat.m4,
12565         m4/pathmax.m4, m4/physmem.m4, m4/posixtm.m4, m4/posixver.m4,
12566         m4/quote.m4, m4/quotearg.m4, m4/readtokens.m4, m4/readutmp.m4,
12567         m4/safe-read.m4, m4/safe-write.m4, m4/same.m4, m4/savedir.m4,
12568         m4/settime.m4, m4/sha1.m4, m4/sig2str.m4, m4/strdup.m4, m4/strftime.m4,
12569         m4/strndup.m4, m4/strverscmp.m4, m4/timespec.m4, m4/unlocked-io.m4,
12570         m4/userspec.m4, m4/utimecmp.m4, m4/utimens.m4, m4/xalloc.m4,
12571         m4/xnanosleep.m4, m4/xstrtol.m4, m4/yesno.m4:
12572         Use AC_LIBSOURCES and AC_LIBOBJ to indicate source and object files
12573         for these modules.
12574
12575 2005-03-18  Paul Eggert  <eggert@cs.ucla.edu>
12576
12577         * lib/strftime.c (my_strftime): If the underlying strftime returns 0
12578         (which shouldn't happen), generate nothing instead of returning 0
12579         immediately, so that nstrftime (NULL, ...) doesn't return 0.
12580
12581 2005-03-16  Bruno Haible  <bruno@clisp.org>
12582
12583         * modules/stdint (Makefile.am): Use HAVE_LONG_LONG_64BIT instead of
12584         HAVE_LONGLONG_64BIT.
12585
12586 2005-03-16  Bruno Haible  <bruno@clisp.org>
12587
12588         * m4/stdint.m4 (gl_STDINT_H): Define HAVE_LONG_LONG_64BIT instead of
12589         HAVE_LONGLONG_64BIT.
12590
12591 2005-03-16  Bruno Haible  <bruno@clisp.org>
12592
12593         * lib/stdint_.h: Use HAVE_LONG_LONG_64BIT instead of
12594         HAVE_LONGLONG_64BIT.
12595
12596 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
12597
12598         * lib/strftime.c (my_strftime): Prepend space to format so that we can
12599         reliably distinguish strftime failure from empty output on POSIX
12600         hosts.
12601
12602 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
12603
12604         * lib/iconvme.c (SIZE_MAX): New macro, if not already defined.
12605         (iconv_string): Don't guess a size-zero buffer, as that might cause
12606         buffer overrun.  Instead, avoid multiplying by MB_LEN_MAX if the
12607         result would be 'too large', where 'too large' is (heuristically)
12608         the square root of SIZE_MAX, divided by MB_LEN_MAX to allay
12609         overflow concerns.  This will prevent some unwanted malloc failures
12610         when the inputs are very large.
12611
12612 2005-03-15  Karl Berry  <karl@gnu.org>
12613
12614         * config/srclist.txt (config.rpath): from gettext.
12615         * config/config.rpath: update.
12616
12617 2005-03-15  Bruno Haible  <bruno@clisp.org>
12618
12619         * lib/regex.c (byte_re_match_2_internal): Rename local variable 'not'
12620         to 'negate'.
12621
12622         * lib/regex.c (byte_re_match_2_internal): Reduce scope of same_str_p
12623         variable.
12624
12625         * lib/regex.c (EXTEND_BUFFER, regcomp): Cast the realloc/malloc
12626         results.
12627
12628 2005-03-14  Simon Josefsson  <jas@extundo.com>
12629
12630         * lib/timegm.h: Use proper prototype CPP guards, reported by Dave Love
12631         <fx@gnu.org>.
12632
12633 2005-03-14  Paul Eggert  <eggert@cs.ucla.edu>
12634
12635         * lib/mktime.c (TYPE_TWOS_COMPLEMENT, TYPE_ONES_COMPLEMENT,
12636         TYPE_SIGNED_MAGNITUDE, TYPE_MINIMUM, TYPE_MAXIMUM): Sync from
12637         intprops.h.
12638         * lib/strtol.c: Likewise.
12639
12640 2005-03-14  Jim Meyering  <jim@meyering.net>
12641
12642         * lib/strftime.c (my_strftime) [HAVE_STRFTIME && ! (_NL_CURRENT
12643         && HAVE_STRUCT_ERA_ENTRY)]: Initialize the first byte of ubuf[]
12644         to be nonzero so that we (and caller) can detect the difference
12645         between a valid zero-length expansion and an error return, even
12646         when the underlying strftime fails before writing anything into
12647         that location.
12648
12649 2005-03-14  Bruno Haible  <bruno@clisp.org>
12650
12651         * m4/lib-link.m4, gettext.m4, nls.m4, po.m4:
12652         Update from GNU gettext 0.14.3.
12653
12654 2005-03-10  Jim Meyering  <jim@meyering.net>
12655
12656         * m4/save-cwd.m4 (gl_SAVE_CWD): Check for fchdir.
12657
12658 2005-03-10  Jim Meyering  <jim@meyering.net>
12659
12660         * lib/save-cwd.c [!HAVE_FCHDIR]: Define open, fchdir, and chdir_long
12661         so that this module works on systems without fchdir.
12662
12663 2005-03-09  Paul Eggert  <eggert@cs.ucla.edu>
12664
12665         Factor int-properties macros into a single file, except for
12666         glibc-related files.
12667         * lib/intprops.h: New file.
12668         * lib/getloadavg.c: Include it instead of limits.h.
12669         (INT_STRLEN_BOUND): Remove.
12670         * lib/human.c: Include intprops.h.
12671         (group_number): Use INT_STRLEN_BOUND instead of rolling it ourself.
12672         * lib/human.h (LONGEST_HUMAN_READABLE): Use 146/485 rather than
12673         302/1000.
12674         * lib/inttostr.h: Include intprops.h instead of limits.h.
12675         (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND): Remove.
12676         * lib/mktime.c (TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT): New macros,
12677         for consistency with intprops.h.
12678         (time_t_is_integer, twos_complement_arithmetic): Use them.
12679         * lib/sig2str.h: Include <signal.h>, intprops.h.
12680         (INT_STRLEN_BOUND): Remove.
12681         * lib/strftime.c (TYPE_SIGNED): Remove.
12682         (INT_STRLEN_BOUND): Switch to same implementation as intprops.h.
12683         * lib/strtol.c: Adjust comments to match intprops.h.
12684         * lib/userspec.c: Include intprops.h.
12685         (TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Remove.
12686         * lib/utimecmp.c, xnanosleep.c, xstrtol.c: Likewise.
12687         * lib/utimecmp.c (utimecmp): Use TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT
12688         instead of rolling our own expressions.
12689         * lib/xstrtol.c: Include xstrtol.h first, to test interface.
12690
12691         * lib/strftime.c: Include <stdbool.h>.  Use bool where appropriate,
12692         instead of int.
12693         (my_strftime): Do not mishandle years close to INT_MAX, by doing
12694         the right thing even if adding 1900 would overflow.  Similarly
12695         for tm_mon + 1 and tm_yday + 1.
12696         Make %Y always equivalent to %C%y, and similarly for %G and %g.
12697         (DO_NUMBER, DO_NUMBER_SPACEPAD): Set digits to d, not a conditional.
12698         (DO_SIGNED_NUMBER): New macro.
12699         (my_strftime) [HAVE_TZNAME]: Don't dump core if tp->tm_dst > 1.
12700
12701 2005-03-07  Bruno Haible  <bruno@clisp.org>
12702
12703         * m4/mmap-anon.m4 (MAP_FILE, MAP_FAILED): Remove definitions.
12704
12705 2005-03-07  Bruno Haible  <bruno@clisp.org>
12706
12707         * lib/pagealign_alloc.c (MAP_FILE, MAP_FAILED): Define fallbacks.
12708
12709 2005-03-04  Derek R. Price  <derek@ximbiot.com>
12710
12711         * gnulib-tool (func_cp_if_changed, func_mv_if_changed): New functions.
12712         (func_import): Only replace files via --import when they have actually
12713         changed.
12714
12715 2005-03-03  Derek R. Price  <derek@ximbiot.com>
12716
12717         * m4/mmap-anon.m4: New file.
12718         * m4/pagealign_alloc.m4: New file.
12719
12720 2005-03-03  Derek R. Price  <derek@ximbiot.com>
12721             Bruno Haible  <bruno@clisp.org>
12722
12723         * modules/pagealign_alloc: New file.
12724         * MODULES.html.sh (Memory management functions): Add pagealign_alloc.
12725
12726 2005-03-03  Derek R. Price  <derek@ximbiot.com>
12727             Bruno Haible  <bruno@clisp.org>
12728
12729         * lib/pagealign_alloc.h: New file.
12730         * lib/pagealign_alloc.c: New file.
12731
12732 2005-03-03  Bruno Haible  <bruno@clisp.org>
12733
12734         * m4/inttypes.m4, isc-posix.m4, once-only.m4:
12735         Use an all-permissive copyright notice, recommended by RMS.
12736
12737 2005-03-02  Bruno Haible  <bruno@clisp.org>
12738
12739         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Undo the replacement here. Because
12740         of AIX, the replacement has to be done only after <string.h> is
12741         included, therefore not in config.h. stpncpy.h does the replacement,
12742         and stpncpy.c uses it.
12743
12744 2005-03-02  Bruno Haible  <bruno@clisp.org>
12745
12746         * lib/stpncpy.h (stpncpy): Define as a macro without arguments, so that
12747         stpncpy.c uses it.
12748
12749 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
12750
12751         Remove workaround for bug in Linux kernel 2.6.8 or thereabouts.
12752         The workaround isn't strictly needed for POSIX conformance, and
12753         it's too much of a pain to configure and maintain.  We'll ask
12754         people to fix their kernels instead.
12755         * lib/xnanosleep.c: Don't include gethrxtime.h or xtime.h.
12756         (NANOSLEEP_BUG_WORKAROUND): Remove.
12757         (xnanosleep): Remove the workaround.
12758
12759 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
12760
12761         * modules/gettime (Makefile.am): Remove lib_SOURCES line.
12762         Reported by Derek Price.
12763         (Include): Add "timespec.h".
12764
12765         * modules/xnanosleep (Depends-on): Remove gethrxtime.
12766
12767 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
12768
12769         * m4/xnanosleep.m4 (gl_XNANOSLEEP): Remove configuration attempting
12770         to detect nanosleep bug.
12771
12772 2005-03-01  Bruno Haible  <bruno@clisp.org>
12773
12774         * lib/vasnprintf.c (EOVERFLOW): Define to a fallback if needed.
12775
12776 2005-02-26  Paul Eggert  <eggert@cs.ucla.edu>
12777
12778         * modules/gethrxtime: New file.
12779         * modules/xnanosleep (Files): Add m4/xnanosleep.m4.
12780         (Depends-on): Add gethrxtime.
12781         (configure.ac): Add gl_XNANOSLEEP.
12782         (Makefile.am): Remove lib_SOURCES line.
12783
12784 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
12785
12786         * m4/gethrxtime.m4, m4/xnanosleep.m4: New files.
12787         * m4/gettime.m4 (gl_GETTIME): Check for nanotime.
12788
12789 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
12790
12791         * lib/gethrxtime.h, lib/gethrxtime.c, lib/xtime.h: New files.
12792         * lib/timespec.h (gettime): Return void, since it always
12793         succeeds now.  All uses changed.
12794         * lib/gettime.c (gettime) Likewise.
12795         [HAVE_NANOTIME]: Prefer nanotime.
12796         Assume gettimeofday succeeds, as POSIX requires.
12797         Assime time () succeeds, since other code already does.
12798         * lib/xnanosleep.c: Include xtime.h and gethrxtime.h, not xalloc.h.
12799         (timespec_subtract): Remove.
12800         (NANOSLEEP_BUG_WORKAROUND): New constant.
12801         (xnanosleep): Use gethrxtime rather than gettime; this simplifies
12802         things considerably.  Use it only on GNU/Linux hosts, since the
12803         workaround shouldn't be needed elsewhere.
12804
12805 2005-02-24  Bruno Haible  <bruno@clisp.org>
12806
12807         * modules/gettext (Files): Add m4/glibc2.m4.
12808
12809 2005-02-24  Bruno Haible  <bruno@clisp.org>
12810
12811         * m4/gettext.m4, intdiv0.m4, intmax.m4, inttypes-pri.m4, lcmessage.m4:
12812         * m4/lib-link.m4, lib-prefix.m4, nls.m4, po.m4, printf-posix.m4:
12813         * m4/progtest.m4:
12814         Update from GNU gettext 0.14.2.
12815         * m4/glibc2.m4: New file, from GNU gettext 0.14.2.
12816
12817 2005-02-24  Bruno Haible  <bruno@clisp.org>
12818
12819         * lib/localcharset.c: Update from GNU gettext 0.14.2.
12820         * lib/config.charset: Update from GNU gettext 0.14.2.
12821
12822 2005-02-24  Bruno Haible  <bruno@clisp.org>
12823
12824         * lib/gettext.h: Update from GNU gettext 0.14.2.
12825
12826 2005-02-23  Simon Josefsson  <jas@extundo.com>
12827
12828         * m4/iconvme.m4: New file.
12829
12830 2005-02-23  Jim Meyering  <jim@meyering.net>
12831
12832         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Revert yesteday's
12833         change.
12834         Thanks to Bruno Haible for catching it.
12835
12836 2005-02-22  Simon Josefsson  <jas@extundo.com>
12837
12838         * modules/iconvme: New file.
12839
12840         * MODULES.html.sh: Add iconvme.
12841
12842 2005-02-22  Simon Josefsson  <jas@extundo.com>
12843
12844         * lib/iconvme.h, lib/iconvme.c: New files, from libc.
12845
12846 2005-02-22  Simon Josefsson  <jas@extundo.com>
12847
12848         * config/srclist.txt: Sync iconvme.h, iconvme.c from libc.
12849
12850 2005-02-22  Jim Meyering  <jim@meyering.net>
12851
12852         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Fix typo:
12853         s/ifndef/ifdef/.
12854
12855 2005-02-20  Neil Conway  <neilc@samurai.com>
12856
12857         * lib/xgethostname.c (xgethostname): Check for ENOMEM, which is
12858         returned by OSX/Darwin if the specified buffer is not large
12859         enough for the hostname.
12860
12861 2005-02-03  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
12862
12863         * lib/argp-help.c (__argp_help): Create a fake struct argp_state and
12864         pass it to _help, otherwise the latter coredumps trying to
12865         dereference state.root_argp.
12866
12867 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
12868
12869         * modules/chdir-long (Depends-on): Add memrchr.
12870         * modules/memrchr (Files): Add lib/memrchr.h.
12871         (Include): "memrchr.h".
12872
12873 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
12874
12875         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Add AC_LIBSOURCES, for memrchr.h.
12876
12877 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
12878
12879         * lib/memrchr.h: New file.
12880         * lib/chdir-long.c: Include it.
12881         * lib/memrchr.c [!defined _LIBC]: Include it rather than <string.h>
12882         Don't bother including stddef.h.
12883
12884 2005-02-01  Paul Eggert  <eggert@cs.ucla.edu>
12885
12886         * lib/mountlist.h (MOUNTLIST_H_): New macro, to protect against double
12887         inclusion.
12888         Include <sys/types.h>, for dev_t.
12889         (ME_DUMMY, ME_REMOTE): Move from here....
12890         * lib/mountlist.c (ME_DUMMY, ME_REMOTE): To here.
12891         (ME_DUMMY): Count "subfs" as a dummy.  Problem reported by
12892         Dmitry V. Levin.
12893         Include mountlist.h first, to test the interface.
12894
12895 2005-01-29  Bruno Haible  <bruno@clisp.org>
12896
12897         * lib/progname.c (program_name): Initialize.
12898         Needed when linking statically on MacOS X.
12899
12900 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
12901
12902         Sync from coreutils.
12903         * modules/getloadavg (Files): Remove m4/getloadavg.m4.
12904         (Depends-on): Add c-strtod.
12905         (configure.ac): Replace gl_FUNC_GETLOADAVG with AC_FUNC_GETLOADAVG.
12906
12907 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
12908
12909         Sync from coreutils.
12910         * m4/getloadavg.m4, glibc.m4, search-libs.m4: Remove.
12911
12912         Remove files that are specific to coreutils.
12913         * m4/check-decl.m4, jm-macros.m4, lib-check.m4, prereq.m4: Remove.
12914
12915 2005-01-28  Bruno Haible  <bruno@clisp.org>
12916
12917         * modules/javacomp: New file.
12918         * MODULES.html.sh (Java): Add javacomp.
12919
12920 2005-01-28  Bruno Haible  <bruno@clisp.org>
12921
12922         * m4/javacomp.m4: New file, from GNU gettext.
12923
12924 2005-01-28  Bruno Haible  <bruno@clisp.org>
12925
12926         * lib/javacomp.sh.in: New file, from GNU gettext.
12927         * lib/javacomp.h: New file, from GNU gettext.
12928         * lib/javacomp.c: New file, from GNU gettext.
12929
12930 2005-01-26  Simon Josefsson  <jas@extundo.com>
12931
12932         * lib/gai_strerror.c: Use GPL in header.
12933
12934 2005-01-26  Bruno Haible  <bruno@clisp.org>
12935
12936         * modules/javaexec: New file.
12937         * MODULES.html.sh (Java): Add javaexec.
12938
12939 2005-01-26  Bruno Haible  <bruno@clisp.org>
12940
12941         * m4/javaexec.m4: New file, from GNU gettext.
12942
12943 2005-01-26  Bruno Haible  <bruno@clisp.org>
12944
12945         * lib/javaexec.sh.in: New file, from GNU gettext.
12946         * lib/javaexec.h: New file, from GNU gettext.
12947         * lib/javaexec.c: New file, from GNU gettext.
12948
12949 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
12950
12951         * modules/lchown (Depends-on): Remove lchown.h
12952
12953 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
12954
12955         * m4/sysexits.m4 (gl_SYSEXITS): Reverted logic. SYSEXITS_H
12956         must be defined if the header file was not found, in order
12957         to provide a replacement. Reported by Todd Vierling <tv@duh.org>
12958
12959 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
12960
12961         * lib/argp-help.c (hol_entry_help): Avoid using non-constant
12962         initializers for struct pentry_state.
12963         (__argp_error): Check return value of __asprintf
12964         (__argp_failure): Translate error message
12965
12966         * lib/argp-parse.c: Removed braces around the expansion of N_()
12967
12968 2005-01-23  Paul Eggert  <eggert@cs.ucla.edu>
12969
12970         * m4/acl.m4, afs.m4, alloca.m4, argp.m4, assert.m4, atexit.m4,
12971         backupfile.m4, base64.m4, bison.m4, c-bs-a.m4, c-stack.m4,
12972         c-strtod.m4, calloc.m4, canon-host.m4, canonicalize.m4,
12973         clock_time.m4, cloexec.m4, closeout.m4, d-ino.m4, d-type.m4,
12974         dirfd.m4, dirname.m4, dos.m4, dup2.m4, error.m4, euidaccess.m4,
12975         exclude.m4, exitfail.m4, extensions.m4, fcntl-safer.m4,
12976         file-type.m4, fileblocks.m4, filemode.m4, fnmatch.m4, fpending.m4,
12977         free.m4, fstypename.m4, fsusage.m4, ftruncate.m4, getaddrinfo.m4,
12978         getcwd-path-max.m4, getcwd.m4, getdate.m4, getdomainname.m4,
12979         getgroups.m4, gethostname.m4, getline.m4, getndelim2.m4,
12980         getnline.m4, getopt.m4, getpagesize.m4, getpass.m4, getsubopt.m4,
12981         gettime.m4, gettimeofday.m4, getugroups.m4, getusershell.m4,
12982         group-member.m4, hard-locale.m4, hash.m4, host-os.m4, human.m4,
12983         idcache.m4, inttostr.m4, isdir.m4, jm-winsz1.m4, jm-winsz2.m4,
12984         link-follow.m4, long-options.m4, ls-mntd-fs.m4, lstat.m4,
12985         makepath.m4, mathl.m4, md5.m4, memcasecmp.m4, memchr.m4,
12986         memcmp.m4, memcoll.m4, memcpy.m4, memmem.m4, memmove.m4,
12987         memrchr.m4, memset.m4, mkdir-slash.m4, mkstemp.m4, mktime.m4,
12988         modechange.m4, mountlist.m4, nanosleep.m4, obstack.m4,
12989         path-concat.m4, pathmax.m4, perl.m4, physmem.m4, poll.m4,
12990         posixtm.m4, posixver.m4, putenv.m4, quote.m4, quotearg.m4,
12991         readdir.m4, readtokens.m4, readutmp.m4, regex.m4, rename.m4,
12992         restrict.m4, rmdir-errno.m4, rmdir.m4, rpmatch.m4, same.m4,
12993         savedir.m4, settime.m4, sha1.m4, sig2str.m4, snprintf.m4,
12994         sockpfaf.m4, st_dm_mode.m4, st_mtim.m4, stat.m4, stdint.m4,
12995         stdio-safer.m4, strchrnul.m4, strdup.m4, strerror.m4,
12996         strerror_r.m4, strftime.m4, strndup.m4, strnlen.m4, strsep.m4,
12997         strtod.m4, strtoimax.m4, strtok_r.m4, strtol.m4, strtoll.m4,
12998         strtoul.m4, strtoull.m4, strtoumax.m4, strverscmp.m4, sysexits.m4,
12999         time_r.m4, timegm.m4, timespec.m4, tm_gmtoff.m4, tzset.m4,
13000         uint32_t.m4, uintptr_t.m4, unistd-safer.m4, unlink-busy.m4,
13001         unlocked-io.m4, uptime.m4, userspec.m4, utimbuf.m4, utime.m4,
13002         utimecmp.m4, utimens.m4, utimes-null.m4, vsnprintf.m4, xalloc.m4,
13003         xgetcwd.m4, xreadlink.m4, xstrndup.m4, xstrtod.m4, xstrtoimax.m4,
13004         xstrtol.m4, xstrtoumax.m4, yesno.m4:
13005         Use an all-permissive copyright notice, recommended by RMS.
13006
13007 2005-01-21  Paul Eggert  <eggert@cs.ucla.edu>
13008
13009         * modules/chdir-long (Depends-on): Remove mempcpy.
13010
13011 2005-01-21  Jim Meyering  <jim@meyering.net>
13012
13013         * lib/openat.h (AT_SYMLINK_NOFOLLOW): Define to 4096, so it's the
13014         same value as for Solaris 9.
13015
13016         * lib/chdir-long.c (chdir_long): Rewrite to remove limitation on
13017         component length.  This included changing the parameter to be
13018         of type `char *' rather than `char const *'.
13019         * lib/chdir-long.h (chdir_long): Update prototype.
13020
13021         * lib/openat.c (fdopendir, fstatat): New functions.
13022         * lib/openat.h: Include headers required for use of DIR and struct
13023         stat.
13024         [AT_SYMLINK_NOFOLLOW]: Define.
13025         (fdopendir, fstatat): Add prototypes.
13026
13027 2005-01-21  Bruno Haible  <bruno@clisp.org>
13028
13029         * modules/classpath: New file.
13030         * MODULES.html.sh (Java): Add classpath.
13031
13032 2005-01-21  Bruno Haible  <bruno@clisp.org>
13033
13034         * lib/classpath.h: New file, from GNU gettext.
13035         * lib/classpath.c: New file, from GNU gettext.
13036
13037 2005-01-20  Simon Josefsson  <jas@extundo.com>
13038
13039         * modules/version-etc-fsf: New file.
13040
13041 2005-01-20  Simon Josefsson  <jas@extundo.com>
13042
13043         * lib/version-etc-fsf.c: New file, with version_etc_copyright.
13044         * lib/version-etc.c: Remove version_etc_copyright.
13045         * lib/version-etc.h (version_etc_copyright): Use [] instead of * in
13046         prototype, suggested by Paul Eggert <eggert@CS.UCLA.EDU>.
13047
13048 2005-01-20  Simon Josefsson  <jas@extundo.com>
13049
13050         * lib/base64.h (isbase64): Add.
13051
13052         * lib/base64.c (isb64): Rename to isbase64, use to_uchar instead of
13053         using a unsigned prototype, don't inline.
13054         (base64_decode): Use it.
13055
13056 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
13057
13058         * m4/save-cwd.m4 (gl_SAVE_CWD): Remove check for fcntl; we now assume
13059         it.
13060
13061 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
13062
13063         * lib/save-cwd.c (save_cwd): Remove code to support the case
13064         where fchdir is missing or flaky.
13065
13066 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
13067
13068         * MODULES.html.sh (Command-line arguments): Add version-etc-fsf.
13069
13070 2005-01-19  Paul Eggert  <eggert@cs.ucla.edu>
13071
13072         * modules/mempcpy (Makefile.am): Remove mention of mempcpy.h;
13073         AC_LIBSOURCES now does this.
13074         * MODULES.html.sh (Sizes of integer types <limits.h>): New element,
13075         with new ullong_max module.
13076
13077 2005-01-19  Bruno Haible  <bruno@clisp.org>
13078
13079         * modules/sh-quote: New file.
13080         * MODULES.html.sh (Executing programs): Add sh-quote.
13081
13082 2005-01-19  Bruno Haible  <bruno@clisp.org>
13083
13084         * lib/sh-quote.h: New file, from GNU gettext.
13085         * lib/sh-quote.c: New file, from GNU gettext.
13086
13087 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
13088
13089         Merge from coreutils.
13090         * m4/ullong_max.m4: New file.
13091         * m4/jm-macros.m4 (gl_MACROS): Require gl_ULLONG_MAX.
13092         (gl_MACROS): Assume localeconv exists.
13093
13094 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
13095
13096         Merge changes from coreutils, as described below in several
13097         changelogs dated today.
13098
13099         * lib/save-cwd.c: Include "save-cwd.h" before other include files.
13100         (O_DIRECTORY): Remove; not needed here, since "." must be
13101         a directory.  All uses removed.
13102         (save_cwd): Use __sgi || __sun, not sun || __sun.  __sun is
13103         universal on Suns, and we also need to test for IRIX.
13104         Revamp code to use 'if' rather than '#if'.
13105         Avoid unnecessary comparison of cwd->desc to 0.
13106
13107         * lib/utimens.c (futimens): Robustify the previous patch, by checking
13108         for known valid error numbers rather than observed invalid ones.
13109
13110 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
13111
13112         * modules/ullong_max: New file.
13113
13114         * modules/chdir-long, modules/openat: New files.
13115         * modules/save-cwd (Depends-on): Depend on chdir-long.
13116         (Makefile.am): Remove lib_SOURCES; now handled by AC_LIBSOURCES.
13117
13118 2005-01-18  Jim Meyering  <jim@meyering.net>
13119
13120         Merge from coreutils.
13121         * m4/chdir-long.m4, m4/openat.m4: New files.
13122         * m4/save-cwd.m4 (gl_SAVE_CWD): Add AC_LIBSOURCES for save-cwd.c,
13123         save-cwd.h.  Add AC_LIBOBJ for save-cwd.
13124         * m4/chown.m4 (gl_FUNC_CHOWN): When cross-compiling, assume that chown
13125         is sane and DOES follow symlinks.  Besides, testing 20 different
13126         systems found no broken chown implementations.
13127         Prompted by a change in rsync's copy of this macro.
13128         * m4/jm-macros.m4 (gl_MACROS): Require gl_FUNC_CHDIR_LONG.
13129
13130         * m4/lchown.m4 (gl_FUNC_LCHOWN): Use AC_LIBSOURCES.
13131
13132         * m4/utimes.m4: Work around tests/touch/empty-file failure on a system
13133         (sparc64, Linux-2.4.28, glibc-2.3.3) that didn't honor utimes'
13134         NULL-means-set-to-current-time semantics.
13135         Remove temporary file immediately, rather than waiting
13136         for configure's at-exit trap code to do it.
13137
13138 2005-01-18  Jim Meyering  <jim@meyering.net>
13139
13140         * lib/version-etc.c (version_etc_copyright): Update copyright date.
13141
13142         * lib/utimens.c (futimens): Account for the fact that futimes
13143         can also fail with errno == ENOSYS or errno == ENOENT.
13144         Patch from Dmitry V. Levin.
13145
13146         Change the name of the robust chdir function from chdir to chdir_long.
13147         * lib/save-cwd.c: Include chdir-long.h rather than chdir.h.
13148         (restore_cwd): Use chdir_long, not chdir.
13149         * lib/chdir-long.c: Renamed from chdir.c.
13150         * lib/chdir-long.h: Renamed from chdir.h.
13151         [!defined PATH_MAX]: Define chdir_long to chdir on systems like the
13152         Hurd.
13153
13154 2005-01-18  Bruno Haible  <bruno@clisp.org>
13155
13156         * m4/allocsa.m4, m4/codeset.m4, m4/copy-file.m4, m4/eaccess.m4:
13157         * m4/eealloc.m4, m4/eoverflow.m4, m4/execute.m4, m4/fatal-signal.m4:
13158         * m4/findprog.m4, m4/glibc21.m4, m4/iconv.m4, m4/intmax_t.m4:
13159         * m4/inttypes_h.m4, m4/lib-ld.m4, m4/lib-link.m4, m4/lib-prefix.m4:
13160         * m4/linebreak.m4, m4/localcharset.m4, m4/longdouble.m4:
13161         * m4/longlong.m4, m4/mbrtowc.m4, m4/mbstate_t.m4, m4/mbswidth.m4:
13162         * m4/mkdtemp.m4, m4/pipe.m4, m4/readlink.m4, m4/safe-read.m4:
13163         * m4/safe-write.m4, m4/setenv.m4, m4/sig_atomic_t.m4:
13164         * m4/signalblocking.m4, m4/signed.m4, m4/size_max.m4, m4/ssize_t.m4:
13165         * m4/stdbool.m4, m4/stdint_h.m4, m4/stpcpy.m4, m4/stpncpy.m4:
13166         * m4/strcase.m4, m4/strcspn.m4, m4/strpbrk.m4, m4/strstr.m4:
13167         * m4/ucs4-utf.m4, m4/uintmax_t.m4, m4/ulonglong.m4, m4/unicodeio.m4:
13168         * m4/utf-ucs4.m4, m4/vasnprintf.m4, m4/vasprintf.m4:
13169         * m4/wait-process.m4, m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4:
13170         Use an all-permissive copyright notice, recommended by RMS.
13171
13172 2005-01-18  Bob Proulx  <bob@proulx.com>
13173
13174         * lib/obstack.c [DEFAULT_ALIGNMENT]: Use an intermediate type to
13175         simplify offsetof() macro construct to avoid compile failure with
13176         native HP-UX 11.0 ANSI C compiler.
13177
13178 2005-01-17  Bruno Haible  <bruno@clisp.org>
13179
13180         * lib/stpncpy.c: Remove HAVE_STPNCPY and gnu_stpncpy renaming,
13181         redundant because stpncpy.m4 takes care of it.
13182
13183 2005-01-17  Bruno Haible  <bruno@clisp.org>
13184
13185         * lib/progreloc.c: Include xalloc.h instead of xmalloc.h.
13186
13187 2005-01-17  Bruno Haible  <bruno@clisp.org>
13188
13189         * lib/progreloc.c (xstrdup): Define as strdup if no xmalloc should be
13190         used.
13191
13192 2005-01-17  Bruno Haible  <bruno@clisp.org>
13193
13194         * lib/fwriteerror.h (fwriteerror): Change specification to include
13195         fclose.
13196         * lib/fwriteerror.c: Include <stdbool.h>.
13197         (fwriteerror): At the end, close the file stream. Record whether
13198         stdout was already closed.
13199
13200 2005-01-17  Bruno Haible  <bruno@clisp.org>
13201
13202         * lib/execute.c (environ): Declare if needed.
13203         * lib/pipe.c (environ): Likewise.
13204         Reported by Michael Schloh von Bennewitz <michael.schloh@cw.com>.
13205
13206 2005-01-11  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
13207
13208         * modules/argp: Depend on vsnprintf
13209
13210 2005-01-10  Jim Meyering  <jim@meyering.net>
13211
13212         * modules/closeout (Depends-on): Add atexit.
13213
13214 2005-01-06  Bruno Haible  <bruno@clisp.org>
13215
13216         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Rename stpncpy to gnu_stpncpy here.
13217
13218 2005-01-04  Paul Eggert  <eggert@cs.ucla.edu>
13219
13220         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Move these conditional
13221         definitions to be after all include files, to avoid collisions.
13222         Problem reported by Bob Proulx.
13223
13224 2005-01-04  Jim Meyering  <jim@meyering.net>
13225
13226         Changes imported from coreutils.
13227         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Rather than using "conftestXXXXXX"
13228         as the mkstemp template, use a temporary directory and an
13229         8.3-friendly template to avoid trouble on systems like DJGPP.
13230         Reported by Juan M. Guerrero via Stepan Kasal.
13231         * m4/(gl_FUNC_MKSTEMP): Include <unistd.h> for the declaration of
13232         close. Remove the temporary directory right away, rather than waiting
13233         for configure's at-exit trap code to do it.
13234         Suggestion from Stepan Kasal.
13235
13236 2005-01-01  Simon Josefsson  <jas@extundo.com>
13237
13238         * gnulib-tool: Print #include directives when --import'ing.
13239
13240 2004-12-28  Simon Josefsson  <jas@extundo.com>
13241
13242         * tests/test-base64.c: Include required header files.  Remove
13243         unused variables.
13244
13245 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
13246
13247         * modules/error (Depends-on): Remove gettext.
13248
13249 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
13250
13251         * lib/error.c [!_LIBC && !ENABLE_NLS]: Do not include "gettext.h";
13252         not needed.  This removes a dependency on the gettext module.
13253         [defined _LIBC]: Do not include <libintl.h>; not needed.
13254
13255 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
13256
13257         * m4/c-strtod.m4 (gl_C99_STRTOLD): New macro.
13258         (gl_C_STRTOD): Use it instead of AC_CHECK_DECLS_ONCE(strtold).
13259
13260 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
13261
13262         * lib/c-strtod.c (STRTOD): Depend on HAVE_C99_STRTOLD, not
13263         HAVE_DECL_STRTOLD.
13264
13265 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
13266
13267         * modules/getdate (Depends-on): Remove alloca-opt.
13268
13269 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
13270
13271         * m4/getdate.m4 (gl_GETDATE): Remove AC_FUNC_ALLOCA.
13272
13273 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
13274
13275         * lib/argp-parse.c: Include <stddef.h>.
13276         (alignof, alignto): New macros.
13277         (parser_init): Don't assume that void * is aligned sufficiently
13278         for struct option.
13279
13280         * lib/getdate.y (YYSTACK_USE_ALLOCA): Define to 0, since there's no
13281         need to extend the stack.
13282         (YYINITDEPTH): New macro, so that the initial stack isn't overly
13283         large.
13284
13285 2004-12-22  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
13286
13287         * lib/argp-parse.c (parser_init): Avoid arithmetics on void pointers.
13288
13289 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
13290
13291         * modules/regex (lib_SOURCES): Remove regex.c, undoing previous
13292         (2004-10-24) change.  Apparently this was a false alarm.
13293
13294         * modules/getdate: Depend on alloca-opt, not alloca.
13295
13296 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
13297
13298         * lib/alloca_.h: Conditionalize on _GNULIB_ALLOCA_H, not _ALLOCA_H.
13299         Remove now-obsolete comment about AIX.
13300         * lib/getdate.y: Include <alloca.h> only if HAVE_ALLOCA.
13301         (YYSTACK_USE_ALLOCA): Define to 0 if !HAVE_ALLOCA.
13302         (YYMAXDEPTH): New macro.
13303
13304 2004-12-18  Simon Josefsson  <jas@extundo.com>
13305
13306         * modules/alloca: Depend on alloca-opt, instead of duplicating it.
13307
13308 2004-12-18  Bruno Haible  <bruno@clisp.org>
13309
13310         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Also test for sigaction.
13311
13312 2004-12-18  Bruno Haible  <bruno@clisp.org>
13313
13314         * lib/fatal-signal.c (fatal_signals): Make non-const.
13315         (init_fatal_signals): New function.
13316         (uninstall_handlers, install_handlers): Ignore signals that were set to
13317         SIG_IGN.
13318         (at_fatal_signal): Call init_fatal_signals.
13319         (init_fatal_signal_set): Likewise. Ignore signals that were set to
13320         SIG_IGN.
13321         Reported by Paul Eggert.
13322
13323 2004-12-18  Bruno Haible  <bruno@clisp.org>
13324
13325         * doc/alloca.texi: New file.
13326         * doc/alloca-opt.texi: New file.
13327
13328 2004-12-17  Jim Meyering  <jim@meyering.net>
13329
13330         * config/install-sh: Use `(exit N); exit N', not `(exit N); exit'.
13331         Otherwise, install-sh could exit with improper exit status when
13332         exiting via a trapped interrupt.  Thanks to a report from Bob Proulx.
13333
13334 2004-12-16  Simon Josefsson  <jas@extundo.com>
13335
13336         * tests/test-base64.c: Add license.
13337
13338 2004-12-15  Stepan Kasal  <address@hidden>
13339
13340         * gnulib-tool (func_emit_lib_Makefile_am): Shorten a long sed command.
13341
13342 2004-12-12  Paul Eggert  <eggert@cs.ucla.edu>
13343
13344         * modules/getcwd (Files): Add m4/d-ino.m4.
13345         Suggested by Mark D. Baushke.
13346
13347 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
13348
13349         * lib/getdate.y (textint): New member "negative".
13350         (time_zone_hhmm): New function.
13351         Expect 14 shift-reduce conflicts, not 13.
13352         (o_colon_minutes): New rule.
13353         (time, zone): Use it to add support for +HH:MM, UTC+HH:MM.
13354         (yylex): Set the "negative" member of signed numbers.
13355
13356 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
13357
13358         * doc/getdate.texi (Time of day items, Time zone items):
13359         Describe new formats +00:00, UTC+00:00.
13360
13361 2004-12-07  Paul Eggert  <eggert@cs.ucla.edu>
13362
13363         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Fix typo in previous change:
13364         spurious "-l"s.  Problem reported by Stepan Kasal.
13365
13366 2004-12-06  Paul Eggert  <eggert@cs.ucla.edu>
13367
13368         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): New macro, to work around bug
13369         in Autoconf 2.59.  Problem reported by Mark D. Baushke.
13370
13371 2004-12-04  Simon Josefsson  <jas@extundo.com>
13372
13373         * modules/getaddrinfo (License): Add LGPL, reported by Yoann
13374         Vandoorselaere <yoann@prelude-ids.org>.
13375
13376 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
13377
13378         Changes imported from coreutils.
13379         * m4/hard-locale.m4 (gl_HARD_LOCALE): Assume locale.h and setlocale
13380         exist.
13381         * m4/human.m4 (gl_HUMAN): Assume locale.h and localeconv exist.
13382
13383 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
13384
13385         Changes imported from coreutils.
13386         * lib/hard-locale.c: Assume <locale.h> exists.
13387         Include "strdup.h".
13388         (GLIBC_VERSION): New macro.
13389         (hard_locale): Assume setlocale exists.
13390         Rewrite to avoid #ifdef.
13391         Use strdup rather than malloc + strcpy.
13392         * lib/human.c: Assume <locale.h> exists.
13393         (human_readable): Assume localeconv exists.
13394
13395 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
13396
13397         * modules/hard-locale (Depends-on): Add strdup.
13398
13399 2004-12-01  Jakub Jelinek  <jakub@redhat.com>
13400
13401         * lib/mktime.c (__mktime_internal): If SEC_REQUESTED != SEC,
13402         convert T2, not T.  (Imported from libc.)
13403
13404 2004-11-30  Simon Josefsson  <jas@extundo.com>
13405
13406         * modules/restrict (License): Change to LGPL.
13407
13408 2004-11-30  Simon Josefsson  <jas@extundo.com>
13409
13410         * m4/restrict.m4: Add copyright and copying conditions.
13411
13412 2004-11-30  Simon Josefsson  <jas@extundo.com>
13413
13414         * m4/base64.m4: New file.
13415
13416 2004-11-30  Simon Josefsson  <jas@extundo.com>
13417
13418         * MODULES.html.sh (Extra functions based on ANSI C 89): Add
13419         base64.
13420
13421         * tests/test-base64.c: New file.
13422
13423         * modules/base64: New file.
13424
13425 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
13426
13427         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX):
13428         Define HAVE_PARTLY_WORKING_GETCWD if getcwd is partly working.
13429
13430         * m4/readutmp.m4 (gl_READUTMP): Don't check for sys/param.h.
13431
13432 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
13433
13434         * lib/getcwd.c (is_ENAMETOOLONG): New macro.
13435         (__getcwd.c): Don't restore errno; glibc doesn't.
13436         [HAVE_PARTLY_WORKING_GETCWD && !defined AT_FDCWD]: Try system getcwd
13437         first, falling back to our code only if its results look suspicious.
13438         Ensure that the resulting buffer is only as large as necessary.
13439
13440         * lib/readutmp.c: Include readutmp.h first.
13441         Include <errno.h>, since readutmp.h no longer does that.
13442         * lib/readutmp.h: Don't include <errno.h>,
13443         <sys/param.h>, <time.h>; not needed to establish interface.
13444         (errno): Remove decl.
13445         (HAVE_STRUCT_XTMP_UT_TYPE): Remove; no longer needed.
13446         (UT_TYPE_EQ, UT_TYPE_NOT_DEFINED, UT_TYPE_BOOT_TIME,
13447         UT_TYPE_USER_PROCESS, IS_USER_PROCESS): New macros.
13448
13449 2004-11-28  Simon Josefsson  <jas@extundo.com>
13450
13451         * lib/base64.h, base64.c: New file.
13452
13453 2004-11-27  Paul Eggert  <eggert@cs.ucla.edu>
13454
13455         * lib/getcwd.h: New file, which I forgot to check in on 2004-11-25.
13456
13457 2004-11-26  Paul Eggert  <eggert@cs.ucla.edu>
13458
13459         * modules/getcwd (Files): Add lib/getcwd.h, m4/getcwd.m4.
13460         (Depends-on): Remove pathmax, same.  Add mempcpy.
13461         (configure.ac): GL_FUNC_GETCWD_PATH_MAX -> gl_FUNC_GETCWD.
13462         (Makefile.am): Append getcwd.h to lib_SOURCES.
13463         (Include): Add getcwd.h.
13464         (Maintainer): Change from Jim Meyering to "all, glibc",
13465         since getdate now uses intended-for-glibc code.
13466         * modules/xgetcwd (Files): Remove m4/getcwd.m4.
13467         (Depends-on): Depend on getcwd.  Do not depend on pathmax.
13468
13469 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
13470
13471         Fix problems reported by Scott S. Tinsley for HP-UX 11.11 using
13472         HP's ANSI C compiler.
13473         * lib/fsusage.c (statvfs) [HAVE_SYS_STATVFS_H]: Remove decl.
13474         Declaring int functions causes warnings on some modern systems and
13475         shouldn't be needed to compile on ancient ones.
13476         * lib/same.c (MIN) [defined MIN]: Don't define, since it's already
13477         defined.
13478
13479         * lib/getcwd.c: Replace by a copy of glibc/sysdeps/posix/getcwd.c, but
13480         with the following changes.
13481         (__set_errno): Parenthesize properly.
13482         Include <stdbool.h>.
13483         (MIN, MAX, MATCHING_INO): New macros.
13484         (__getcwd): Define with prototype, not K&R form.
13485         Use heuristics to allocate default buffer on stack if possible.
13486         If AT_FDCWD is defined, use openat and fstatat to avoid O(N**2)
13487         behavior, and to avoid the PATH_MAX limit when computing
13488         ../../../../...
13489         Use MATCHING_INO to compare inode number to file.
13490         Check for arithmetic overflow in size calculations.
13491         Fix bug in reallocation of dot array that caused getcwd to fail
13492         on directories nested deeper than 75.
13493         Be more careful about saving errno on error.
13494         Do not use realloc; use only free+malloc, as this is a bit
13495         more flexible and avoids a needless copy operation.
13496         Do not inspect st_dev and st_ino for symbolic links; POSIX
13497         doesn't specify the latter.
13498         Check for closedir errors.
13499         Avoid needless casts.
13500         Use "#ifdef weak_alias" around weak_alias, to be like other
13501         glibc code.
13502         The following changes to getcwd.c have effect only when used in
13503         gnulib; they have no effect inside glibc proper.
13504         (#pragma alloca) [defined _AIX && !defined __GNUC__]: Remove,
13505         as alloca isn't used.
13506         (alloca, __alloca): Likewise.
13507         [!_LIBC]: Include "getcwd.h", "mempcpy.h".
13508         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
13509         unconditionally, as gnulib assumes C89 or better.
13510         Do not include <sys/param.h>.
13511         (errno) [!defined __GNU_LIBRARY__ && !defined STDC_HEADERS]: Remove
13512         no-longer-necessary 'extern int errno' decl; gnulib assumes C89 or
13513         better.
13514         (NULL) [!defined NULL]: Remove; we assume C89 or better.
13515         Include <dirent.h> in a way that is compatible with modern Autoconf.
13516         (_D_ALLOC_NAMELEN, _D_EXACT_NAMLEN):
13517         New macros, if not already defined.
13518         Include <unistd.h> if _LIBC, not if __GNU_LIBRARY__.
13519         Use "_LIBC", not "defined _LIBC", for consistency.
13520         (HAVE_MEMPCPY): Remove; no longer needed now that gnulib has
13521         a mempcpy module.
13522         (__lstat, __closedir, __opendir, __readdir) [!_LIBC]: New macros.
13523         (GETCWD_RETURN_TYPE): Remove.  All uses replaced by char *.
13524         * lib/xgetcwd.c: David MacKenzie's old code was removed, so give
13525         credit only to Jim Meyering and adjust the copyright dates.
13526         Do not include <limits.h>, <stdio.h>, <sys/types.h>,
13527         <stdlib.h>, <unistd.h>, "pathmax.h".
13528         Instead, include "xgetcwd.h" (first) and "getcwd.h".
13529         (INITIAL_BUFFER_SIZE): Remove.
13530         (xgetcwd): Rely on getcwd, since we now depend on a reliable one.
13531
13532 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
13533
13534         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Renamed from
13535         GL_FUNC_GETCWD_PATH_MAX for consistency.  All uses changed.
13536         Use the _ONCE methods, for efficiency.
13537         Check for fcntl.h.  In test program, include <errno.h>
13538         and <fcntl.h> if available.  Remove old K&R cruft from
13539         test program.  Check for common errors in GNU/Linux,
13540         OpenBSD, and Solaris.  Just set gl_cv_func_getcwd_path_max;
13541         don't do AC_LIBOBJ, as that's getcwd.m4's job.
13542         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Renamed from
13543         AC_FUNC_GETCWD_NULL.  All used changed.  Change cache variable
13544         name accordingly.
13545         (gl_FUNC_GETCWD, gl_PREREQ_GETCWD): New macros.  Revamp to
13546         accommodate new getcwd.c.
13547         * m4/jm-macros.m4 (gl_MACROS): Don't require GL_FUNC_GETCWD_PATH_MAX.
13548         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_MEMPCPY.
13549         * m4/xgetcwd.m4 (gl_XGETCWD): Replace with gl_FUNC_GETCWD, since
13550         that's all we need now.
13551
13552 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
13553
13554         * m4/argp.m4 (gl_ARGP): Require gl_GETOPT_SUBSTITUTE unconditionally:
13555         argp-parse.c depends on getopt internals, that means we should
13556         always use our getopt, to be on the safe side.
13557         * m4/getopt.m4 (gl_GETOPT): Check if GETOPT_H is already set, in
13558         order not to spoil the result of an eventual previous invocation
13559         of gl_GETOPT_SUBSTITUTE.
13560
13561 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
13562
13563         * lib/getopt_.h: Re-addition of __getopt_argv_const caused
13564         redefinition warnings. To avoid them, include the defines
13565         in `#if !defined __need_getopt ... #endif'. The only place
13566         where __getopt_argv_const is used is in definitions
13567         of getopt_long and getopt_long_only below, which are as well
13568         protected by `#ifndef __need_getopt'.
13569         [defined __GETOPT_PREFIX && !defined __need_getopt]: Undef
13570         __need_getopt after including <stdio.h> and <unistd.h> These
13571         headers might have defined it.
13572
13573 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
13574
13575         * m4/utimens.m4 (gl_UTIMENS): Check for futimes function.
13576
13577 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
13578
13579         * lib/utimens.c (__attribute__, ATTRIBUTE_UNUSED): New macros.
13580         (futimens): New function, which uses futimes if available.
13581         (futimens, utimens): Support timespec==NULL, with same semantics
13582         as utime and utimens.
13583         * lib/utimens.h (futimens): New decl.
13584
13585 2004-11-23  Jim Meyering  <jim@meyering.net>
13586
13587         * lib/getopt_.h: Remove trailing blanks.
13588
13589 2004-11-23  Jim Meyering  <jim@meyering.net>
13590
13591         * lib/__fpending.c: Add comment.
13592
13593 2004-11-22  Paul Eggert  <eggert@cs.ucla.edu>
13594
13595         * modules/canonicalize (Depends-on): Add xreadlink.
13596         Problem reported by James Youngman.
13597
13598 2004-11-20  Paul Eggert  <eggert@cs.ucla.edu>
13599
13600         * lib/getopt_.h (__GETOPT_CONCAT, __GETOPT_XCONCAT, __GETOPT_ID):
13601         New macros.
13602         (getopt, getopt_long, getopt_long_only, optarg, opterr, optind,
13603         optopt): Use them instead of invoking ## directly; otherwise, the
13604         symbols will be __GETOPT_PREFIXgetopt rather than rpl_getopt.
13605
13606 2004-11-19  Bruno Haible  <bruno@clisp.org>
13607
13608         * lib/strtok_r.c: Move comments from here...
13609         * lib/strtok_r.h: ... to here.
13610
13611 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
13612
13613         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Check for buggy calloc
13614         implementations that mishandle size_t overflow.
13615
13616 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
13617
13618         * lib/realloc.c (rpl_realloc): Call 'free' if n==0, since realloc
13619         might fail.  Problem reported by Yoann Vandoorselaere.
13620         * lib/calloc.c (rpl_calloc): Defend against buggy calloc
13621         implementations that mishandle size_t overflow.
13622
13623 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
13624
13625         * modules/canon-host (Depends-on): Add strdup.
13626
13627 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
13628
13629         * m4/canon-host.m4 (gl_CANON_HOST): Check for getaddrinfo.
13630
13631 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
13632
13633         * lib/canon-host.c: Include "strdup.h".
13634         (canon_host): Use getaddrinfo if available, so that IPv6 works.
13635         Use strdup instead of malloc/strcpy to duplicate strings.
13636
13637         * lib/human.h (LONGEST_HUMAN_READABLE): Add 1 for space before unit.
13638         (human_space_before_unit): New constant.
13639         * lib/human.c (human_readable): Support it.
13640
13641         * lib/xgetcwd.c: Include <limits.h>, for PATH_MAX.
13642         (xgetcwd): Set errno correctly when failing.
13643         Work around Solaris 9 bug: getcwd sets errno==ERANGE even though
13644         the failure is actually due to a PATH_MAX problem.
13645
13646         Further getopt changes to make it more likely that glibc will
13647         buy the changes back.
13648         * lib/getopt.c (POSIXLY_CORRECT): New constant.
13649         (getopt): Use it, so to preserve glibc semantic
13650         * lib/getopt1.c (getopt_long, getopt_long_only): Arg is char * const *
13651         when compiling for libc.
13652         * lib/getopt_.h (__getopt_argv_const): Bring it back.
13653         (getopt_long, getopt_long_only): Use it.
13654
13655         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
13656         _getopt_internal): New arg POSIXLY_CORRECT.  All callers changed.
13657         (getopt): Argv is now char * const *, as per standard.
13658         (_getopt_internal_r, _getopt_internal): Argv is now char **,
13659         not char *__getopt_argv_const *.
13660         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
13661         _getopt_long_only_r): Likewise.
13662         * lib/getopt_.h (getopt, getopt_long, geopt_long_only): Likewise.
13663         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
13664         _getopt_long_r, _getopt_long_only_r): Likewise.
13665         * lib/getopt_.h (__getopt_argv_const): Remove.
13666         (getopt): Argv is now char * const *, as per standard.
13667
13668         * lib/getdate.y (tORDINAL): New token.
13669         (day, relunit): Allow it for relative times.
13670         (relative_time_table): Use tORDINAL for ordinals.
13671
13672 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
13673
13674         * doc/getdate.texi (General date syntax): "next" is 1, not 2.
13675         Document that "second" isn't allowed as an ordinal number.
13676
13677 2004-11-16  Jim Meyering  <jim@meyering.net>
13678
13679         * modules/closeout (Depends-on): Add fpending.
13680
13681 2004-11-15  Jim Meyering  <jim@meyering.net>
13682
13683         * lib/closeout.c: Include "__fpending.h" once again.
13684         Include <stdbool.h>.
13685         (close_stdout): Don't fail just because stdout was closed initially,
13686         since some programs don't write to stdout in the normal course of
13687         operation (other than --version and --help), and we don't want this
13688         function to make e.g. `touch file >&-' fail.
13689         But do fail if it was closed and someone has tried to write to it.
13690         E.g., `printf foo >&-' must fail.
13691
13692 2004-11-13  Jim Meyering  <jim@meyering.net>
13693
13694         * m4/jm-macros.m4: Do require gl_FUNC_FPENDING.
13695
13696 2004-11-12  Simon Josefsson  <jas@extundo.com>
13697
13698         * config/srclist.txt: Add strtok_r.c, glibc bought our changes, but a
13699         small doc fix is still pending.
13700
13701 2004-11-11  Simon Josefsson  <jas@extundo.com>
13702
13703         * modules/strtok_r: New file.
13704
13705         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
13706         strtok_r.
13707
13708 2004-11-11  Simon Josefsson  <jas@extundo.com>
13709
13710         * m4/strtok_r.m4: New file.
13711
13712         * m4/getopt.m4: Replace opterr.
13713
13714 2004-11-11  Simon Josefsson  <jas@extundo.com>
13715
13716         * lib/strtok_r.h, strtok_r.c: New file.
13717
13718 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
13719
13720         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): Define __GETOPT_PREFIX instead
13721         of replacing opterr, getopt, etc.  This should handle the
13722         powerpc-apple-darwin5.5 problem recently noted by Simon Josefsson.
13723
13724 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
13725
13726         * lib/getopt_.h (__getopt_argv_const): New macro, to be used so that
13727         we can stop lying to compilers about the constness of argv when we
13728         are compiled outside glibc.
13729         (getopt, getopt_long, getopt_long_only): Use it.
13730         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
13731         _getopt_internal, getopt): Likewise.
13732         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
13733         _getopt_long_only_r): Likewise.
13734         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
13735         _getopt_long_r, _getopt_long_only_r): Likewise.
13736
13737         * lib/getopt_.h [defined __GETOPT_PREFIX && !defined __need_getopt]:
13738         Include <stdlib.h> and <stdio.h>, and <unistd.h> if available.
13739         Then rename getopt to __GETOPT_PREFIX##getopt, and so forth for
13740         the other external symbols.
13741         (getopt) [!defined __GNU_LIBRARY]: Use prototype, not old-style
13742         declaration, since the above renaming now works around collisions.
13743
13744 2004-11-11  Jim Meyering  <jim@meyering.net>
13745
13746         * lib/linebreak.c: Remove trailing blanks.
13747         * lib/alloca_.h: Likewise.
13748         * lib/acosl.c: Likewise.
13749         * lib/euidaccess.c: Likewise.
13750         * lib/allocsa.h: Likewise.
13751
13752 2004-11-10  Simon Josefsson  <jas@extundo.com>
13753
13754         * m4/getaddrinfo.m4: New file.
13755
13756 2004-11-10  Simon Josefsson  <jas@extundo.com>
13757
13758         * lib/getaddrinfo.h, lib/getaddrinfo.c: New files.
13759
13760 2004-11-10  Simon Josefsson  <jas@extundo.com>
13761
13762         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
13763         getaddrinfo.
13764
13765         * modules/getaddrinfo: New file.
13766
13767 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
13768
13769         * m4/prereq.m4 (gl_PREREQ): Require gt_FUNC_SETENV.
13770
13771 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
13772
13773         * lib/mktime.c (SHR): New macro, which is a portable
13774         substitute for >> that should work even on Crays.
13775         (TIME_T_MIDPOINT, ydhms_diff, __mktime_internal): Use it.
13776         Problem reported by Mark D. Baushke in
13777         <http://lists.gnu.org/archive/html/bug-gnulib/2004-11/msg00071.html>.
13778         * lib/getdate.y (SHR): Likewise.
13779         (tm_diff): Use it.
13780         * lib/strftime.c (SHR): Likewise.
13781         (tm_diff): Use it.
13782         * lib/quotearg.c (struct quoting_options): Use unsigned int for
13783         quote_these_too, so that right shifts are well defined.  All uses
13784         changed.
13785
13786 2004-11-10  Jim Meyering  <jim@meyering.net>
13787
13788         Ensure that no close failure goes unreported.
13789         * lib/closeout.c (close_stdout): Always close stdout.  I.e., don't
13790         return early when it seems there's nothing to flush.
13791         Don't include __fpending.h.
13792
13793 2004-11-10  Jim Meyering  <jim@meyering.net>
13794
13795         * modules/closeout (Depends-on): Remove fpending.
13796
13797 2004-11-10  Jim Meyering  <jim@meyering.net>
13798
13799         * m4/jm-macros.m4 (gl_MACROS): Don't require gl_FUNC_FPENDING.
13800
13801 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
13802
13803         * m4/strftime.m4 (_gl_STRFTIME_PREREQS): Remove.  Move its body to
13804         gl_FUNC_STRFTIME.
13805         (gl_FUNC_STRFTIME): Use AC_CHECK_FUNCS_ONCE and AC_CHECK_HEADERS_ONCE
13806         and AC_REQUIRE when possible, to avoid duplicate checks.
13807         Check for <wchar.h>.
13808
13809 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
13810
13811         * lib/strftime.c (DO_MULTIBYTE): Check for wchar.h, too.
13812
13813 2004-11-09  Bruno Haible  <bruno@clisp.org>
13814
13815         * m4/sockpfaf.m4: New file.
13816
13817 2004-11-05  Bruno Haible  <bruno@clisp.org>
13818
13819         * lib/readlink.c: Include stddef.h, needed for size_t on Woe32.
13820         Reported by Mark D. Baushke <mdb@cvshome.org>.
13821
13822 2004-11-04  Bruno Haible  <bruno@clisp.org>
13823
13824         2004-09-11  Bruno Haible  <bruno@clisp.org>
13825                 * allocsa.valgrind: New file.
13826         2004-02-06  Bruno Haible  <bruno@clisp.org>
13827                 * allocsa.h (sa_alignof): Define differently with HP-UX cc, to
13828                 avoid a bug of this cc on HP-UX 10.20 dealing with enums.
13829                 Reported by Christopher Seip <chris.seip@hp.com>.
13830
13831 2004-11-04  Bruno Haible  <bruno@clisp.org>
13832
13833         * modules/allocsa (Files): Add lib/allocsa.valgrind.
13834         (Makefile.am): Distribute it.
13835
13836 2004-11-03  Paul Eggert  <eggert@cs.ucla.edu>
13837
13838         * lib/xreadlink.c (xreadlink): AIX and HP-UX readlink return -1
13839         with errno == ERANGE if the buffer is too small.
13840         Problem reported by Mark D. Baushke.
13841
13842 2004-11-03  Albert Chin  <china@thewrittenword.com>
13843             Paul Eggert  <eggert@cs.ucla.edu>
13844
13845         * m4/uint32_t.m4 (gl_AC_TYPE_UINT32_T): When determining uint32_t
13846         equivalent, substitute $ac_type for equivalent type rather than
13847         blindly using uint32_t *always* which won't work if uint32_t is not
13848         available.  Define _UINT32_T to work around typedef of uint32_t if
13849         <sys/sched.h>, <pthread.h>, or <semaphore.h> used on Solaris
13850         2.5.1.
13851
13852 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
13853
13854         * m4/jm-macros.m4: Sync from coreutils.
13855         (gl_MACROS): Check for mbrlen, for pathchk.
13856         (gl_CHECK_ALL_TYPES): Require AC_TYPE_MBSTATE_T, for pathchk.
13857
13858 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
13859
13860         * lib/xreadlink.c (MAXSIZE): New macro.
13861         (xreadlink): Use it instead of SSIZE_MAX.  Ensure initial buffer
13862         size does not exceed MAXSIZE.  Avoid cast.
13863         As suggested by Mark D. Baushke in
13864         <http://lists.gnu.org/archive/html/bug-gnulib/2004-11/msg00009.html>,
13865         if readlink fails with buffer size just under MAXSIZE, try again
13866         with MAXSIZE.
13867
13868 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
13869
13870         * config/srclist.txt: Add mktime.c; glibc bought all our changes.
13871
13872 2004-11-02  Derek R. Price  <derek@ximbiot.com>
13873         and  Paul Eggert  <eggert@cs.ucla.edu>
13874
13875         * lib/getdate.y [!TEST]: Include <stdio.h>, since we use sprintf now.
13876         (get_date): Overparenthesize to avoid GCC warning.
13877
13878 2004-11-02  Bruno Haible  <bruno@clisp.org>
13879
13880         * m4/setenv.m4 (gt_FUNC_SETENV): Define VOID_UNSETENV if unsetenv()
13881         returns void.
13882
13883 2004-11-02  Bruno Haible  <bruno@clisp.org>
13884
13885         * lib/setenv.h (unsetenv): Define as a macro if the system's unsetenv()
13886         function returns void.
13887
13888 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
13889
13890         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for declarations of
13891         fflush_unlocked, flockfile, funlockfile, funlockfile,
13892         fputs_unlocked, putc_unlocked.
13893
13894 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
13895
13896         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
13897         (funlockfile, fputs_unlocked, putc_unlocked): Don't define if
13898         already declared.
13899
13900 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
13901
13902         * modules/getdate (Files): Add doc/getdate.texi.
13903         (Depends-on): Add setenv, xalloc.
13904
13905 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
13906
13907         * lib/getdate.y: Add support for TZ="foo" within a date string.
13908         Fix some bugs near time_t boundaries.  Reject dates with
13909         out-of-range components, e.g., "Sept 31".
13910         Include <stdlib.h>, "setenv.h", "xalloc.h".
13911         (ISDIGIT_LOCALE): Remove; unused.
13912         Note that the TZ and time functions used here are not reentrant.
13913         (mktime_ok, get_tz): New functions.
13914         (TZBUFSIZE): New constant.
13915         (get_date): Parse leading TZ="foo".  Reject out-of-range components;.
13916         This requires that we sometimes generate our own TZ="XXX..." setting.
13917
13918 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
13919
13920         * doc/getdate.texi: New file, from coreutils with modifications for
13921         the new TZ parsing.
13922
13923 2004-10-27  Derek R. Price  <derek@ximbiot.com>
13924
13925         * lib/mktime.c (not_equal_tm): Remove redundant check.
13926
13927 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
13928
13929         * modules/regex (lib_SOURCES): Add regex.c.
13930         Reported by James Youngman in
13931         <http://lists.gnu.org/archive/html/bug-gnulib/2004-10/msg00199.html>.
13932
13933 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
13934
13935         * lib/getdate.y: Use Bison 1.875 features, and some minor
13936         code cleanups.  This change does not affect semantics.
13937         Don't include <stdlib.h>; no longer needed.
13938         Don't include unlocked-io.h; only the "#if TEST" code uses
13939         stdio, and performance isn't crucial there.
13940         (PC, YYLEX_PARAM, YYPARSE_PARAM): Remove; replaced by
13941         Bison 1.875 features as described below.
13942         All uses of "PC." replaced by "pc->".
13943         (YYSTYPE): Add a forward declaration.
13944         (yylex, yyerror): Use full prototypes in forward decls.
13945         Use "%pure-parser" rather than obsolescent "%pure_parser".
13946         Use %parse-param and %lex-param instead of obsolescent
13947         YYPARSE_PARAM and YYLEX_PARAM.
13948         (meridian_table, month_and_day_table, time_units_table,
13949         relative_time_table, time_zone_table, military_table,
13950         lookup_zone, lookup_word, get_date):
13951         Use NULL instead of 0 where appropriate.
13952         (to_hour): Avoid abort (), to avoid a dependency on
13953         stdlib.h.
13954         (yyerror, yylex): Now accepts parser_control * arg.
13955         (main) [TEST]: Use '\0' rather than 0 for char.
13956
13957 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
13958
13959         * m4/getpagesize.m4 (gl_GETPAGESIZE): Check for <sys/param.h>.
13960
13961 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
13962
13963         * lib/getpagesize.c (getpagesize): Don't assume <sys/param.h> exists.
13964         It's now the caller's responsibility to handle the case where
13965         !HAVE_GETPAGESIZE && !defined getpagesize.
13966
13967         * lib/mktime.c (leapyear): Arg is long int, not int.
13968
13969 2004-10-18  Paul Eggert  <eggert@cs.ucla.edu>
13970
13971         * lib/argp-fs-xinl.c, argp-xinl.c: Update from glibc.
13972
13973 2004-10-17  Paul Eggert  <eggert@cs.ucla.edu>
13974
13975         * gnulib-tool (func_emit_lib_Makefile_am): Fix typo: a $ was
13976         missing.  Problem reported by James Youngman.
13977
13978 2004-10-16  Simon Josefsson  <jas@extundo.com>
13979
13980         * gnulib-tool: Fix comments.  Fix parse problem.
13981         (func_emit_lib_Makefile_am): Don't hard code a in libgl_a_SOURCES.
13982
13983 2004-10-15  Paul Eggert  <eggert@cs.ucla.edu>
13984
13985         * m4/getopt.m4 (gl_GETOPT): Detect and reject the incompatible BSD
13986         implementation of getopt_long.  Problem reported by Alexander Taler in:
13987         http://lists.gnu.org/archive/html/bug-gnulib/2004-10/msg00103.html
13988
13989 2004-10-15  Bruno Haible  <bruno@clisp.org>
13990
13991         * gnulib-tool: Untabify. Initialize supplied_libname.
13992         (func_usage): More homogenous output.
13993         (func_modules_transitive_closure, func_modules_to_filelist,
13994         func_emit_lib_Makefile_am): New functions.
13995         (func_import): New function, extracted from big case statement. Use
13996         func_get_license, func_modules_transitive_closure,
13997         func_modules_to_filelist, func_emit_lib_Makefile_am. Initialize
13998         opt_lgpl. Don't use test -a, as it's not portable.
13999         (func_create_testdir): Use func_modules_transitive_closure,
14000         func_modules_to_filelist, func_emit_lib_Makefile_am.
14001
14002 2004-10-15  Bruno Haible  <bruno@clisp.org>
14003
14004         * gnulib-tool (func_import): Let gl_INIT define LTALLOCA when needed.
14005
14006 2004-10-15  Bruno Haible  <bruno@clisp.org>
14007
14008         * gnulib-tool (func_emit_lib_Makefile_am): Add markers to separate
14009         the portions belonging to each module.
14010         Suggested by Derek Robert Price <derek@ximbiot.com>.
14011
14012 2004-10-12  Simon Josefsson  <jas@extundo.com>
14013
14014         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
14015         (fputs_unlocked, putc_unlocked) [!_LIBCS && !USE_UNLOCKED_IO]: Map
14016         to real functions.
14017
14018 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
14019
14020         * modules/vsnprintf: New file.
14021
14022 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
14023
14024         * m4/vsnprintf.m4: New file.
14025
14026 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
14027
14028         * lib/vsnprintf.h: New file.
14029         * lib/vsnprintf.c: New file.
14030
14031 2004-10-11  Bruno Haible  <bruno@clisp.org>
14032
14033         * MODULES.html.sh (Support for systems lacking ISO C 99): Add
14034         vsnprintf.
14035
14036 2004-10-10  Paul Eggert  <eggert@cs.ucla.edu>
14037
14038         * config/srclistvars.sh: Add GNUSTANDARDS (for eggert only).
14039
14040 2004-10-07  Bruno Haible  <bruno@clisp.org>
14041
14042         * lib/snprintf.c (snprintf): Avoid a memory allocation if the result
14043         fits into the provided buffer.
14044
14045 2004-10-06  Paul Eggert  <eggert@cs.ucla.edu>
14046
14047         * lib/diacrit.c, diacrit.h: Add GPL notice.
14048
14049         * lib/atanl.c, logl.c: Add GPL notice, to match glibc's added LGPL
14050         notice.
14051         * lib/atanl.c (atanl): Keep the code as similar to glibc as possible.
14052         * lib/logl.c (logl): Keep the code as similar to glibc as possible.
14053         This avoids a potential constant-folding bug.
14054
14055 2004-10-05  Bruno Haible  <bruno@clisp.org>
14056
14057         * m4/strsep.m4 (gl_FUNC_STRSEP): Require AC_GNU_SOURCE. Don't check
14058         for the declaration of strsep.
14059
14060 2004-10-05  Bruno Haible  <bruno@clisp.org>
14061
14062         * lib/strsep.h: Don't declare strsep() if HAVE_STRSEP.
14063
14064 2004-10-04  Simon Josefsson  <jas@extundo.com>
14065
14066         * modules/memmem: New file.
14067         * tests/test-memmem.c: New file.
14068         * MODULES.html.sh (Extra functions based on ANSI C 89): Add memmem.
14069
14070 2004-10-04  Simon Josefsson  <jas@extundo.com>
14071
14072         * m4/memmem.m4: New file.
14073
14074 2004-10-04  Simon Josefsson  <jas@extundo.com>
14075
14076         * lib/memmem.h: New file.
14077         * lib/memmem.c: New file, taken from glibc.
14078
14079 2004-10-04  Simon Josefsson  <jas@extundo.com>
14080
14081         * lib/error.c, md5.c, regex.c: Use '#if USE_UNLOCKED_IO' instead of
14082         '#ifdef USE_UNLOCKED_IO'.
14083
14084 2004-10-04  Simon Josefsson  <jas@extundo.com>
14085
14086         * config/srclist.txt: Add memmem from glibc.
14087
14088 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
14089
14090         * modules/xalloc (Files, Makefile.am): Remove xstrdup.c.
14091
14092         * modules/argmatch, modules/argp, modules/closeout, modules/error,
14093         modules/exclude, modules/getdate, modules/getline,
14094         modules/getndelim2, modules/getpass, modules/getpass-gnu,
14095         modules/getusershell, modules/linebuffer, modules/md5,
14096         modules/mountlist, modules/posixtm, modules/readtokens,
14097         modules/readutmp, modules/regex, modules/sha1,
14098         modules/version-etc, modules/yesno:
14099         Remove dependency on unlocked-io.
14100
14101 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
14102
14103         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Remove.  All uses removed.
14104
14105         * m4/unlocked-io.m4: Add copyright notice.
14106         (gl_FUNC_GLIBC_UNLOCKED_IO): Define USE_UNLOCKED_IO.
14107
14108 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
14109
14110         * lib/xalloc.h (xmemdup): Renamed from xclone.  All uses changed.
14111         * lib/xmalloc.c (xmemdup): Likewise.
14112         * lib/xalloc.h (CCLONE, CLONE, NEW, XCALLOC, XMALLOC, XREALLOC,
14113         XFREE): Remove these long-obsolescent macros.
14114         * lib/xmalloc.c (xstrdup): Implementation moved here from xstrdup.c
14115         * lib/xstrdup.c: Remove.
14116
14117         * lib/regex.c (re_comp): Cast gettext return value to char *,
14118         Problem reported by Martin Neitzel via Mark D. Baushke.
14119
14120 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
14121
14122         * lib/argmatch.c, closeout.c, error.c, exclude.c, getdate.y,
14123         getndelim2.c, getpass.c, getusershell.c, linebuffer.c,
14124         md5.c, mountlist.c, posixtm.c, readtokens.c, readutmp.c,
14125         regex.c, sha1.c, version-etc.c, yesno.c:
14126         Include "unlocked-io.h" only if USE_UNLOCKED_IO.
14127         * lib/unlocked-io.h: Don't worry about USE_UNLOCKED_IO; that's now
14128         the includer's responsibility.
14129
14130         Sync from coreutils.
14131
14132         * lib/modechange.c (mode_compile): Don't decrement a pointer that
14133         points to the start of a string, as the C Standard says the
14134         resulting behavior is undefined.
14135
14136         * lib/backupfile.h (enum backuptype): Rename none -> no_backups,
14137         simple -> simple_backups, numbered_existing ->
14138         numbered_existing_backups, numbered -> numbered_backups
14139         to avoid shadowing problems.  All uses changed.
14140         * lib/argmatch.c (enum backuptype) [defined TEST]: Likewise.
14141         * lib/backupfile.c (check_extension, numbered_backup):
14142         Rename locals to avoid shadowing 'basename'.
14143         * lib/backupfile.h (VALID_BACKUP_TYPE): Don't evaluate arg more than
14144         once.
14145
14146         * lib/.cppi-disable: Add getopt_.h, getopt_int.h.
14147         * lib/.cvsignore: Add getopt.h.
14148
14149 2004-10-04  Bruno Haible  <bruno@clisp.org>
14150
14151         * modules/README: New file.
14152         * gnulib-tool (func_all_modules, func_verify_module): modules/README is
14153         not a module.
14154
14155 2004-10-02  Jim Meyering  <jim@meyering.net>
14156
14157         * lib/dirfd.h, getpagesize.h: Add copyright notice.
14158
14159 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
14160
14161         * modules/strsep: New file.
14162
14163 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
14164
14165         * m4/strsep.m4: New file.
14166
14167 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
14168
14169         * lib/strsep.h: New file.
14170         * lib/strsep.c: New file.
14171
14172 2004-10-01  Simon Josefsson  <jas@extundo.com>
14173
14174         * lib/snprintf.c (snprintf): Handle size==0.
14175
14176 2004-10-01  Simon Josefsson  <jas@extundo.com>
14177             Bruno Haible  <bruno@clisp.org>
14178
14179         * lib/snprintf.c: Include <stdarg.h>, <stdlib.h>, <string.h>.
14180         (snprintf): Declare 'args'.
14181
14182 2004-10-01  Paul Eggert  <eggert@cs.ucla.edu>
14183
14184         * lib/snprintf.c: Remove comments as to why each header is needed.
14185
14186 2004-10-01  Bruno Haible  <bruno@clisp.org>
14187
14188         * MODULES.html.sh: Add strsep.
14189
14190 2004-09-30  Simon Josefsson  <jas@extundo.com>
14191
14192         * modules/snprintf: New file.
14193
14194 2004-09-30  Simon Josefsson  <jas@extundo.com>
14195
14196         * m4/snprintf.m4: New file.
14197
14198 2004-09-30  Simon Josefsson  <jas@extundo.com>
14199
14200         * lib/snprintf.h, lib/snprintf.c: New files.
14201
14202 2004-09-30  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
14203
14204         * lib/argp-help.c (canon_doc_option): Fixed coredump if *name==NULL
14205         (hol_entry_help): Never translate an empty string.
14206         Do not translate option tag (opt->name) if OPTION_NO_TRANS is set
14207         * lib/argp.h (OPTION_NO_TRANS): New option.
14208
14209 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
14210
14211         * modules/argp (Maintainer): Replace Simon Josefsson
14212         by Sergey Poznyakoff.
14213
14214 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
14215
14216         * config/srclist.txt: Comment-out argp/argp.h, until we get the argp
14217         changes merged back into glibc.
14218
14219 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
14220
14221         * MODULES.html.sh (Support for systems lacking ISO C 99): Add snprintf.
14222
14223 2004-09-29  Oskar Liljeblad  <oskar@osk.mine.nu>
14224
14225         * lib/xvasprintf.c: Include xalloc.h.
14226         (xvasprintf): Use xalloc_die, not xmalloc_die.
14227
14228 2004-09-29  Bruno Haible  <bruno@clisp.org>
14229
14230         * modules/alloca-opt: New file, derived from modules/alloca.
14231         * modules/allocsa: Depend on alloca-opt instead of alloca.
14232         * modules/setenv: Likewise.
14233         * modules/vasnprintf: Likewise.
14234         * MODULES.html.sh: Add alloca-opt.
14235
14236 2004-09-28  Simon Josefsson  <jas@extundo.com>
14237
14238         * gnulib-tool: New parameter --lgpl, to asseert that modules are
14239         LGPL, and to replace license template from GPL to LGPL.
14240
14241 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
14242
14243         * modules/dummy: Change license to LGPL.
14244
14245 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
14246
14247         * lib/dummy.c: Change copyright notice to FSF, and license to GPL.
14248
14249 2004-09-24  Simon Josefsson  <jas@extundo.com>
14250
14251         * modules/minmax (License): Change from GPL to LGPL.
14252
14253 2004-09-23  Simon Josefsson  <jas@extundo.com>
14254
14255         * gnulib-tool (--import): Typo.
14256
14257 2004-09-23  Simon Josefsson  <jas@extundo.com>
14258
14259         * gnulib-tool (--import): Make sure *.m4 end up in m4/ by default.
14260
14261 2004-09-22  Bruno Haible  <bruno@clisp.org>
14262
14263         * modules/*: Add 'License' field.
14264         * gnulib-tool: Accept --extract-license option.
14265         (func_get_license): New function.
14266
14267 2004-09-21  Bruno Haible  <bruno@clisp.org>
14268
14269         * modules/vasnprintf (Files): Add m4/stdint_h.m4, m4/inttypes_h.m4.
14270         Reported by Simon Josefsson.
14271
14272 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
14273
14274         * modules/inttostr (Files): Add m4/longlong.m4, since it uses
14275         gl_AC_TYPE_LONG_LONG.
14276
14277 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
14278
14279         * config/srclist.txt: Add getsubopt.c, since libc bought our changes.
14280
14281 2004-09-18  Simon Josefsson  <jas@extundo.com>
14282         and  Paul Eggert  <eggert@cs.ucla.edu>
14283
14284         * gnulib-tool: Replace various ad-hoc automake/autoconf/aclocal
14285         calls with autoreconf.  Define GL_LIB.
14286
14287 2004-09-14  Karl Berry  <karl@gnu.org>
14288
14289         * config/srclist.txt: unsync setenv.c, sigh.
14290
14291 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
14292
14293         * lib/argp-pvh.c (argp_program_version_hook): Provide initial value.
14294         Problem reported by Bruno Haible in:
14295         http://lists.gnu.org/archive/html/bug-tar/2004-09/msg00023.html
14296
14297 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
14298
14299         * config/srclist.txt: Comment out argp-pvh.c.
14300
14301 2004-09-11  Paul Eggert  <eggert@cs.ucla.edu>
14302
14303         * lib/mempcpy.h: Wrap the entire include file inside #ifndef mempcpy,
14304         in case some system header has #define'd it.  Problem reported by
14305         Soeren D. Schulze in
14306         <http://lists.gnu.org/archive/html/bug-gnulib/2004-09/msg00017.html>.
14307
14308 2004-09-09  Karl Berry  <karl@gnu.org>
14309
14310         * regex.[ch]: delete from the root.  These were supposed to be
14311                 synced with emacs cvs, but this has not happened for about
14312                 a year, and anyway nothing else uses emacs regex.[ch].
14313                 bug-gnulib mail from Jeff Bailey, 9 Sep 2004 15:49:24 -0700.
14314                 lib/regex[.ch] is untouched.
14315
14316 2004-09-09  Bruno Haible  <bruno@clisp.org>
14317
14318         * modules/vasnprintf (Files): Add m4/eoverflow.m4.
14319
14320 2004-09-09  Bruno Haible  <bruno@clisp.org>
14321
14322         * m4/eoverflow.m4: New file, taken from GNU libiconv eilseq.m4 with
14323         modifications.
14324         * m4/vasnprintf.m4 (gl_FUNC_VASNPRINTF): Require gl_EOVERFLOW.
14325
14326 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
14327
14328         * modules/xvasprintf: New file.
14329         * MODULES.html.sh (Extra functions based on ANSI C 89): Add vasprintf.
14330
14331 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
14332
14333         * lib/xvasprintf.h: New file.
14334         * lib/xvasprintf.c: New file.
14335         * lib/xasprintf.c: New file.
14336
14337 2004-09-08  Bruno Haible  <bruno@clisp.org>
14338
14339         * m4/stdint.m4: New file, taken from GNU clisp with modifications.
14340
14341 2004-09-08  Bruno Haible  <bruno@clisp.org>
14342
14343         * lib/vasnprintf.c (VASNPRINTF): Signal EOVERFLOW if the resulting
14344         length is > INT_MAX.
14345         * lib/vasprintf.c (vasprintf): Don't test for length > INT_MAX any
14346         more.
14347
14348 2004-09-08  Bruno Haible  <bruno@clisp.org>
14349
14350         * lib/stdint_.h: New file, taken from GNU clisp.
14351
14352 2004-09-08  Bruno Haible  <bruno@clisp.org>
14353             Oskar Liljeblad  <oskar@osk.mine.nu>
14354
14355         * modules/stdint: New file.
14356         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdint.
14357
14358 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
14359
14360         Import from coreutils.
14361         * lib/userspec.c: Don't use <alloca.h>, so that we don't use alloca on
14362         strings on unbounded length.  alloca's performance benefits aren't
14363         that important here.
14364         (V_STRDUP): Remove.
14365         (parse_with_separator): New function, with most of the internals
14366         of the old parse_user_spec.  Allow user to omit both user and group,
14367         for compatibility with FreeBSD.
14368         Clone only the user name, not the entire spec.
14369         Do not set *uid, *gid unless entirely successful.
14370         Avoid memory leak in some failing cases.
14371         Fix regression for USER.GROUP reported by Dmitry V. Levin in
14372         <http://lists.gnu.org/archive/html/bug-coreutils/2004-08/msg00102.html>
14373         (parse_user_spec): Rewrite to use parse_with_separator.
14374
14375 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
14376
14377         * modules/userspec: Don't depend on alloca.
14378
14379 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
14380
14381         * m4/userspec.m4 (gl_USERSPEC): Don't require AC_FUNC_ALLOCA.
14382
14383 2004-08-17  Paul Eggert  <eggert@cs.ucla.edu>
14384
14385         * MODULES.html.sh: Add xalloc-die, c-strtod, c-strtold, raise,
14386         readtokens0, getcwd, fcntl-safer, canonicalize, cycle-check,
14387         utimecmp, utimens, xnanosleep.  Rename sha to sha1.
14388
14389 2004-08-16  Simon Josefsson  <jas@extundo.com>
14390
14391         * gnulib-tool: Use sed instead of autoconf --trace, inspired by
14392         libtoolize behaviour by "Gary V. Vaughan" <gary@gnu.org>.
14393         Add --dry-run for --import.
14394         Let user provided command line parameters override configure.ac
14395         settings.
14396
14397 2004-08-12  Simon Josefsson  <jas@extundo.com>
14398
14399         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): New macro,
14400         as discussed with Paul Eggert in threads rooted at
14401         <http://lists.gnu.org/archive/html/bug-gnulib/2004-06/msg00039.html>
14402         and
14403         <http://lists.gnu.org/archive/html/bug-gnulib/2004-07/msg00001.html>.
14404         Before, the test was empty, and relied on ELIDE_CODE in source
14405         code.)
14406         (gl_PREREQ_GETOPT): New macro.
14407         (gl_GETOPT): Use them.
14408
14409 2004-08-12  Simon Josefsson  <jas@extundo.com>
14410
14411         * lib/getopt.c, getopt1.c: Remove ELIDE_CODE hack.
14412         * lib/getopt_.h: Renamed from getopt.h.
14413
14414 2004-08-12  Simon Josefsson  <jas@extundo.com>
14415
14416         * gnulib-tool: Add --source-base, --m4-base, --libtool options.
14417         Change default library name from libfoo to libgnu.
14418         Now, if you have a configure.ac that says:
14419                 gl_SOURCE_BASE(gl)
14420                 gl_M4_BASE(gl/m4)
14421                 gl_MODULES(error getopt etcetera)
14422                 gl_INIT
14423         you can import all you need by running:
14424                 ../gnulib/gnulib-tool --import
14425
14426         * modules/getopt (Files): Rename getopt.h to getopt_.h.
14427         (Makefile.am): Rewrite, use logic from argz.
14428         (Include): Use <getopt.h> instead of "getopt.h".
14429
14430 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
14431
14432         * modules/argp (Files): Add m4/unlocked-io.m4.
14433         (Depends-on): Add extensions.
14434
14435 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
14436
14437         * m4/argp.m4 (gl_ARGP): Do not check for argp.h or argp_parse; nobody
14438         uses HAVE_ARGP_H or HAVE_ARGP_PARSE.
14439         Require gl_FUNC_GLIBC_UNLOCKED_IO, gl_USE_SYSTEM_EXTENSIONS.
14440         Check for program_invocation_name, program_invocation_short_name,
14441         flockfile, funlockfile, features.h, _getopt_long_only_r.
14442
14443 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
14444
14445         * lib/argp-help.c, argp-parse.c: Use "gettext.h" instead of
14446         its complicated substitute.
14447         * lib/argp-help.c: Include <errno.h>, for program_invocation_short_name
14448         and program_invocation_name.
14449         (__argp_basename) [!_LIBC]: Remove; the only use was
14450         replaced by its body.
14451         (__argp_short_program_name): Change condition from
14452         !defined __argp_short_program_name to
14453         ! (defined _LIBC || HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME),
14454         to match argp-namefrob.h.
14455         (__argp_failure): Don't assume strerror_r returns char *.
14456         * lib/argp-parse.c (N_): Define unconditionally.
14457         (argp_default_options): Fill out initializers with 0 to avoid
14458         gcc warnings.
14459
14460 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
14461
14462         * config/srclist.txt: Remove getopt.c, getopt.h (renamed to getopt_.h),
14463         getopt1.c.
14464
14465 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
14466
14467         Merge from coreutils.
14468
14469         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for wmemchr and wmemcpy.
14470
14471         * m4/obstack.m4 (gl_PREREQ_OBSTACK): Require
14472         gl_AC_HEADER_INTTYPES_H, gl_AC_HEADER_STDINT_H, gl_AC_TYPE_UINTMAX_T.
14473
14474 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
14475
14476         Merge from coreutils.
14477
14478         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Don't set to 1 if missing
14479         wmemchr or wmemcpy.  Problem reported by Robert Dahlem
14480         for Reliant Unix 5.43.
14481
14482         * lib/obstack.c: Include <inttypes.h> and <stdint.h> if available.
14483         (union fooround): Use uintmax_t, not long int.
14484         The rest is a merge from libc:
14485         [defined _LIBC]: Include <shlib-compat.h>.
14486         (_obstack) [defined _LIBC]: Remove after 2.3.4.
14487
14488         * lib/settime.c (settime): Recode to avoid warning with
14489         Sun Forte C 6U2.
14490
14491         * lib/strverscmp.c: Convert to UTF-8.
14492
14493 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
14494
14495         * modules/obstack (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
14496         m4/uintmax_t.m4.
14497
14498 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
14499
14500         * modules/xalloc-die: New file.
14501         * modules/xalloc: Remove dependencies on error, gettext, exitfail.
14502
14503         * modules/md5 (Files): Add m4/uint32_t.m4.
14504         * modules/sha1: Renamed from modules/sha.
14505         (Files):
14506         Rename lib/sha.h to lib/sha1.h.
14507         Rename lib/sha.c to lib/sha1.c.
14508         Rename m4/sha.m4 to m4/sha1.m4.
14509         (lib_SOURCES): Likewise.
14510         (configure.ac): Rename gl_SHA to gl_SHA1.
14511         (Include): sha.h -> sha1.h.
14512
14513 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
14514
14515         * m4/uint32_t.m4, m4/uintptr_t.m4: New files.
14516         * m4/sha1.m4: Renamed from sha.m4.
14517         (gl_SHA1): Renamed from gl_SHA.  All uses changed.
14518
14519 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
14520
14521         * lib/obstack.h (obstack_empty_p):
14522         Don't assume that chunk->contents is suitably aligned.
14523         * lib/obstack.c (_obstack_begin, _obstack_begin_1, _obstack_newchunk):
14524         Likewise. Problem reported by Benno in
14525         <http://sources.redhat.com/ml/libc-alpha/2004-08/msg00055.html>.
14526
14527         * lib/chown.c (rpl_chown): Work even if the file is writeable but not
14528         readable.  This could be improved further but it'd take some work.
14529
14530 2004-08-08  Simon Josefsson  <jas@extundo.com>
14531
14532         * modules/xgethostname (Depends-on): Remove exit and error (not
14533         used).
14534
14535         * modules/getpass-gnu: Add getpass.h.
14536         (Depends-on): Add stdbool.
14537         * modules/getpass: Add getpass.h.
14538
14539 2004-08-08  Simon Josefsson  <jas@extundo.com>
14540
14541         * m4/getpass.m4 (gl_FUNC_GETPASS, gl_FUNC_GETPASS_GNU):
14542         Check getpass declaration.
14543
14544 2004-08-08  Simon Josefsson  <jas@extundo.com>
14545
14546         * lib/xgethostname.c: Don't include error.h (not used).
14547
14548         * lib/getpass.h: Add.
14549         * lib/getpass.c: Include getpass.h first.
14550
14551 2004-08-08  Paul Eggert  <eggert@cs.ucla.edu>
14552
14553         * lib/xalloc-die.c: New file.
14554         * lib/xalloc.h (xalloc_fail_func, xalloc_msg_memory_exhausted): Remove.
14555         All uses removed.
14556         * lib/xmalloc.c (xalloc_fail_func, xalloc_msg_memory_exhausted):
14557         Likewise. Move inclusions of gettext.h, error.h, exitfail.h to
14558         xalloc-die.c.
14559         (_, N_, xalloc_die): Move to xalloc-die.c.
14560         * lib/userspec.c (parse_user_spaec): Use xstrdup rather than strdup,
14561         so that we needn't mess with xalloc_msg_memory_exhausted.
14562
14563         * lib/sha1.h: Renamed from sha.h.
14564         (SHA1_H): Renamed from _SHA_H.
14565         (sha1_ctx): Renamed from sha_ctx.
14566         (sha1_init_ctx): Renamed from sha_init_ctx.
14567         (sha1_process_block): Renamed from sha_process_block.
14568         (sha1_process_bytes): Renamed from sha_process_bytes.
14569         (sha1_finish_ctx): Renamed from sha_finish_ctx.
14570         (sha1_read_ctx): Renamed from sha_read_ctx.
14571         (sha1_stream): Renamed from sha_stream.
14572         (sha1_buffer): Renamed from sha_buffer.
14573         * lib/sha1.c: Likewise; renamed from sha.c.
14574         Do not include <sys/types.h>.
14575         Include <stddef.h> rather than <stdlib.h>.
14576
14577 2004-08-08  Bruno Haible  <bruno@clisp.org>
14578
14579         * lib/pathname.h (FILE_SYSTEM_PREFIX_LEN): Renamed from
14580         FILESYSTEM_PREFIX_LEN.
14581         * lib/progreloc.c: Likewise.
14582         * lib/concatpath.c (concatenated_pathname): Use FILE_SYSTEM_PREFIX_LEN.
14583
14584 2004-08-06  Simon Josefsson  <jas@extundo.com>
14585
14586         * modules/progname (Depends-on): Don't depend on stdbool.
14587
14588 2004-08-06  Simon Josefsson  <jas@extundo.com>
14589
14590         * modules/getsubopt: New file.
14591         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
14592         getsubopt.
14593
14594 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
14595
14596         More merge from coreutils.
14597
14598         * m4/utimens.m4, m4/utimecmp.m4: New files.
14599         * m4/backupfile.m4, euidacces.m4, acl.m4, afs.m4, calloc.m4, dirfd.m4,
14600         fsusage.m4, jm-macros.m4, ls-mntd-fs.m4, md5.m4, mountlist.m4,
14601         prereq.m4, sha.m4: Import changes from coreutils.
14602
14603 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
14604
14605         More merge from coreutils.
14606         * modules/raise, modules/readtokens0, modules/utimens:
14607         * modules/utimecmp, module/xnanosleep: New files.
14608         * modules/strftime: Add lib/strftime.h.
14609         Change include from <time.h> to "strftime.h".
14610         * modules/yesno: Add lib/yesno.h.
14611         * modules/backupfile: Remove lib/addext.c.
14612         * modules/euidaccess: Add stat-macros.h.
14613         * modules/canonicalize, modules/euidaccess,
14614         modules/filemode, modules/lchown, modules/makepath,
14615         modules/rmdir, modules/stat: Likewise.
14616
14617 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
14618
14619         Merge from tar.
14620         * lib/argp-help.c (make_hol, hol_append): Don't assume that
14621         SIZE_MAX is a valid preprocessor constant.
14622         (__argp_basename): Change from "#ifndef _LIBC"
14623         to "#ifndef __argp_short_program_name", so that
14624         we don't compile these functions for tar.
14625
14626         More merges from coreutils.
14627         * lib/raise.c, lib/readtokens0.h, lib/readtokens0.c, lib/strftime.h:
14628         * lib/utimens.h, lib/utimens.c, lib/utimecmp.h, lib/utimecmp.c:
14629         * lib/xnanosleep.h, lib/xnanosleep.c, lib/yesno.h: New files.
14630         * lib/addext.c: Remove; no longer needed.
14631         * lib/yesno.c, lib/argmatch.h, lib/argmatch.c, lib/backupfile.h,
14632         lib/backupfile.c, lib/euidaccess.c, lib/filemode.c, lib/closeout.c,
14633         lib/dup2.c, lib/exclude.c, lib/fileblocks.c, lib/filemode.c,
14634         lib/fnmatch.c, lib/fnmtahc_loop.c, lib/fopen-safer.c, lib/fsusage.c,
14635         lib/fsusage.h, lib/ftruncate.c, lib/full-write.c, lib/getdate.y,
14636         lib/getloadavg.c, lib/getugroups.c, lib/hard-locale.c,
14637         lib/hard-locale.h, lib/hash.c, lib/human.c, lib/human.h, lib/lchown.c,
14638         lib/lchown.h, lib/makepath.c, lib/makepath.h, lib/md5.c, lib/md5.h,
14639         lib/memchr.c, lib/memcoll.c, lib/memrchr.c, lib/modechange.c,
14640         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
14641         lib/posixtm.c, lib/putenv.c, quotearg.c, lib/quotearg.h,
14642         lib/readtokens.c, lib/readutmp.c, lib/readutmp.h, lib/rmdir.c,
14643         lib/safe-read.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c,
14644         lib/sig2str.c, lib/stat.c, lib/strtoimax.c, lib/strverscmp.c,
14645         lib/userspec.c, lib/utime.c, lib/version-etc.c., lib/xgethostname.c,
14646         lib/xmemcoll.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtod.h,
14647         lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h, lib/xstrtoumax.c:
14648         Import changes from coreutils.
14649
14650 2004-08-05  Simon Josefsson  <jas@extundo.com>
14651
14652         * m4/strdup.m4: Always run gl_PREREQ_STRDUP, since strdup.h need it.
14653
14654 2004-08-05  Simon Josefsson  <jas@extundo.com>
14655
14656         * m4/getsubopt.m4: New file.
14657
14658 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
14659
14660         Merge from coreutils.
14661
14662         * m4/c-strtod.m4, m4/canonicalize.m4, m4/fcntl-safer.m4:
14663         * m4/getcwd-path-max.m4: New files.
14664
14665         * m4/dos.m4 (gl_AC_DOS): filesystem -> file system renaming.
14666         FILESYSTEM_PREFIX_LEN ->
14667         FILE_SYSTEM_PREFIX_LEN.
14668         FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX ->
14669         FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX.
14670         FILESYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR ->
14671         FILE_SYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR.
14672
14673         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't require gl_AC_DOS, the
14674         prerequisite modules now handle the DOS stuff.
14675         Don't check for unistd.h.
14676
14677 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
14678
14679         Merge from coreutils.
14680
14681         * lib/.gdb-history: Remove; this doesn't belong here.
14682
14683         * lib/c-strtod.c, lib/c-strtod.h, lib/c-strtold.c, lib/cycle-check.c:
14684         * lib/cycle-check.h, lib/dev-ino.h, lib/canonicalize.h:
14685         * lib/canonicalize.c, lib/fcntl-safer.h, lib/fcntl-safer.c:
14686         * lib/getcwd.c: New files.
14687
14688         * lib/dirname.h: Include <stdbool.h>.
14689         (FILE_SYSTEM_PREFIX_LEN): Renamed from FILESYSTEM_PREFIX_LEN,
14690         for consistency with POSIX terminology.  All uses changed.
14691         (IS_ABSOLUTE_FILE_NAME, IS_RELATIVE_FILE_NAME): New macros.
14692         (strip_trailing_slashes): Use bool for booleans.
14693         * lib/stripslash.c (strip_trailing_slashes): Likewise.
14694
14695         * lib/error.c: Work around bug in OpenBSD 3.4 sterror_r: it
14696         sometimes returns a positive errno value even when it succeeds.
14697         (print_errno_message) [!LIBC]: Fall back on strerror if
14698         __strerror_r fails.
14699
14700         * lib/path-concat.c (mempcpy): Don't define if a system header defines
14701         it. Don't include stdio.h, stdlib.h, unistd.h, strdup.h.
14702         (longest_relative_suffix): New function.
14703         (path_concat): Use it.  Assume first argument is not NULL.
14704         Port to DOS.  Omit redundant separators.
14705         Report an error instead of returning NULL.
14706         Use mempcpy instead of memcpy.
14707         (xpath_concat): Remove: not declared or used.
14708
14709         * lib/same.h: Include <stdbool.h>
14710         (same_name): Return bool, not int.
14711         * lib/same.c (same_name): Likewise.
14712         (errno): Don't declare; we assume C89 or better now.
14713
14714         * lib/stat-macros (S_ISCTG, S_ISOFD, S_ISOFL): New macros,
14715         if not already defined.
14716
14717         * lib/xgetcwd.c (errno): Don't declare; we assume C89 or better now.
14718         * lib/dup-safer.c (errno): Likewise.
14719
14720 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
14721
14722         Merge from coreutils.
14723         * modules/c-strtod, modules/c-strtold, modules/canonicalize:
14724         * modules/cycle-check, modules/fcntl-safer, modules/getcwd: New files.
14725         * modules/path-concat: Don't depend on strdup.
14726
14727 2004-08-03  Simon Josefsson  <jas@extundo.com>
14728
14729         * lib/strdup.h: Only use HAVE_DECL_STRDUP if defined.
14730         * lib/progname.h: Don't include stdbool.h.
14731
14732 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
14733
14734         * modules/fatal: Remove, as the "fatal" module wasn't used or working.
14735         * MODULES.html.sh (func_all_modules): Remove fatal.
14736
14737 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
14738
14739         * m4/fatal.m4: Remove, as the "fatal" module wasn't used or working.
14740
14741 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
14742
14743         * lib/fatal.c, fatal.h: Remove as the "fatal" module wasn't used or
14744         working.
14745
14746 2004-08-02  Simon Josefsson  <jas@extundo.com>
14747
14748         * lib/getsubopt.h: New file, with comments from Bruno Haible.
14749         * lib/getsubopt.c: New file, from glibc, but slightly modified based on
14750         suggestions from Paul Eggert <eggert@cs.ucla.edu>.
14751
14752 2004-08-01  Simon Josefsson  <jas@extundo.com>
14753
14754         * lib/xgetdomainname.c: Include stdlib.h, for free().
14755
14756 2004-07-19  Bruno Haible  <bruno@clisp.org>
14757
14758         * MODULES.html.sh (func_all_modules): Add dummy.
14759
14760 2004-07-16  Simon Josefsson  <jas@extundo.com>
14761
14762         * modules/dummy: New file.
14763
14764 2004-07-16  Simon Josefsson  <jas@extundo.com>
14765
14766         * lib/dummy.c: New file.
14767
14768 2004-07-16  Bruno Haible  <bruno@clisp.org>
14769
14770         * lib/backupfile.h: Add extern "C" for C++.
14771         * lib/closeout.h: Likewise.
14772         * lib/copy-file.h: Likewise.
14773         * lib/findprog.h: Likewise.
14774         * lib/full-write.h: Likewise.
14775         * lib/pathname.h: Likewise.
14776         * lib/progname.h: Likewise.
14777         * lib/stpcpy.h: Likewise.
14778         * lib/stpncpy.h: Likewise.
14779         * lib/strcase.h: Likewise.
14780         * lib/strstr.h: Likewise.
14781         * lib/xalloc.h: Likewise.
14782
14783         * lib/mbswidth.h: Add extern "C" for C++.
14784         Reported by Albert Chin-A-Young <china@thewrittenword.com>.
14785
14786 2004-07-13  Robert Millan  <robertmh@gnu.org>
14787
14788         * m4/host-os.m4: s/KNetBSD/kNetBSD/g and s/KFreeBSD/kFreeBSD/g.
14789
14790 2004-07-09  Simon Josefsson  <jas@extundo.com>
14791
14792         * lib/getndelim2.c: Include stddef.h, for ptrdiff_t.  (FreeBSD 4.9
14793         failed without this.)
14794
14795 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
14796
14797         * modules/chown (Files): Add lib/fchown-stub.c, since
14798         gl_PREREQ_CHOWN invokes AC_LIBOBJ(fchown-stub).
14799
14800 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
14801
14802         * lib/fchown-stub.c: New file.
14803
14804 2004-06-24  Jim Meyering  <jim@meyering.net>
14805
14806         * lib/obstack.h (obstack_base): Cast to (void *), per documentation.
14807
14808 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
14809
14810         * modules/argz: Omit "#include".
14811
14812         * MODULES.html.sh (func_all_modules): Add calloc, to match
14813         2004-06-01 addition of calloc module.
14814
14815 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
14816
14817         * m4/argz.m4: New file, which is autoupdated from libtool.
14818
14819 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
14820
14821         * lib/argz.c, lib/argz_.h: New files, which are autoupdated from
14822         libtool.
14823
14824 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
14825
14826         * config/srclist-update: Don't insist on "USA." before the
14827         close-comment, as libtool omits the period and puts the */ on a
14828         separate line.
14829         * config/srclist.txt: Add argz.c, argz_.h, argz.m4.
14830         * config/srclistvars.sh: Add LIBTOOL (for eggert only).
14831
14832 2004-06-22  Gary V. Vaughan  <gary@gnu.org>
14833
14834         * modules/argz: New file.
14835         * MODULES.html.sh (func_all_modules): Add argz.
14836
14837 2004-06-12  Jim Meyering  <jim@meyering.net>
14838         and  Paul Eggert  <eggert@cs.ucla.edu>
14839
14840         * modules/hash (Files): Add lib/xalloc.h.
14841         * modules/pipe (Depends-on): Add wait-process.
14842         * modules/stat (Depends-on): Add xalloc.
14843         * modules/userspec (Files): Add lib/userspec.h.
14844         * modules/xstrto
14845
14846         Upgrade from gettext-0.13.
14847         * modules/gettext (Files): Add m4/intmax.m4, m4/longdouble.m4,
14848         m4/longlong.m4, m4/printf-posix.m4, m4/signed.m4, m4/size_max.m4,
14849         m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4.
14850
14851 2004-06-10  Jim Meyering  <jim@meyering.net>
14852
14853         * lib/calloc.c: New file.
14854
14855 2004-06-06  Paul Eggert  <eggert@cs.ucla.edu>
14856
14857         * lib/getdate.y (yylex): Allow space between sign and number.
14858         Problem reported by Dan Jacobson.
14859
14860 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
14861
14862         Merge from coreutils CVS.
14863
14864         * m4/backupfile.m4, dirname.m4, human.m4, inttypes.m4, longlong.m4,
14865         makepath.m4, memchr.m4, memcmp.m4, mountlist.m4, path-concat.m4,
14866         putenv.m4, quotearg.m4, readutmp.m4, strtoimax.m4, strtoll.m4,
14867         strtoull.m4, strtoumax.m4, ulonglong.m4, vasnprintf.m4,
14868         xstrtol.m4: Fix copyright date and/or serial number.
14869
14870         * m4/chown.m4 (gl_PREREQ_CHOWN): Check for fcntl.h.
14871         See if we need an fchown replacement.
14872         (gl_FUNC_CHOWN_FOLLOWS_SYMLINK): New macro.
14873         (gl_FUNC_CHOWN): Require gl_FUNC_CHOWN_FOLLOWS_SYMLINK,
14874         and use the replacement function if we detect either defect.
14875
14876         * m4/prereq.m4 (gl_PREREQ): Add gl_ALLOCSA, gl_CLOEXEC, gl_INTTOSTR,
14877         gl_UTIMECMP.
14878
14879 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
14880         and  Jim Meyering  <jim@meyering.net>
14881
14882         Merge from coreutils CVS.
14883
14884         * lib/stat-macros.h: New file, with contents from file-type.h
14885         and coreutils' system.h.
14886         * lib/file-type.c: Include "stat-macros.h".
14887         * lib/file-type.h (file_type): Move all macro definitions to new file,
14888         stat-macros.h.
14889
14890         * lib/chown.c (rpl_chown) [CHOWN_FAILS_TO_HONOR_ID_OF_NEGATIVE_ONE]:
14891         Wrap old code with this conditional.
14892         [CHOWN_MODIFIES_SYMLINK]: Try to work around a chown
14893         function that does not dereference symlinks.
14894         * lib/lchown.c (lchown) [CHOWN_MODIFIES_SYMLINK]: Just call chown.
14895
14896         * lib/xreadlink.c: Include xreadlink.h first, to catch .h file
14897         dependency problems.
14898         (xreadlink): Accept new arg SIZE, for efficiency.
14899         All decls and uses changed.
14900         * lib/xreadlink.h: Include <stddef.h>, for size_t.
14901
14902         * lib/.cppi-disable: Add alloca_.h, allocsa.h, exit.h, getndelim2.h,
14903         gettext.h, localcharset.h, strdup.h, strndup.h, strtoul.c, time_r.h.
14904
14905         * lib/.cvsignore: Add alloca.h, fnmatch.h, poll.h, stdbool.h,
14906         sysexits.h.
14907
14908 2004-06-01  Jim Meyering  <jim@meyering.net>
14909
14910         * m4/calloc.m4: New file.
14911
14912 2004-05-31  Paul Eggert  <eggert@cs.ucla.edu>
14913
14914         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Detect _Bool bug in HP aC++/ANSI
14915         C B3910B A.05.55 [Dec 04 2003].  Problem reported by Jim Meyering.
14916         Also, fix a typo in a diagnostic.
14917
14918 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
14919
14920         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Do not require AC_FUNC_MALLOC
14921         or AC_FUNC_REALLOC.
14922
14923 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
14924
14925         * lib/xmalloc.c (HAVE_MALLOC, HAVE_REALLOC): Do not require these
14926         macros to be defined.
14927         (xnmalloc_inline, xnrealloc_inline, xcalloc): Do not die if
14928         the allocator returns NULL because the requested size is zero.
14929
14930 2004-05-20  Paul Eggert  <eggert@cs.ucla.edu>
14931
14932         * lib/malloc/obstack.c (_obstack) [defined _LIBC]: Bring back this
14933         var.  Add comment explaining why libc still defines it.  This
14934         merges the following patch from glibc:
14935         http://sources.redhat.com/ml/libc-alpha/2004-05/msg00157.html
14936
14937 2004-05-20  Andreas Schwab  <schwab@suse.de>
14938
14939         * m4/free.m4: Replace free if it not known to work, not the other
14940         way round.
14941
14942 2004-05-19  Paul Eggert  <eggert@cs.ucla.edu>
14943
14944         * lib/obstack.c (_obstack): Remove unused variable.  It hasn't been
14945         present in glibc since revision 1.1 of this file.
14946         * lib/obstack.h (_obstack_free, obstack_1grow, obstack_1grow_fast,
14947         obstack_alignment_mask, obstack_alloc, obstack_base,
14948         obstack_blank, obstack_blank_fast, obstack_chunk_size,
14949         obstack_copy, obstack_copy0, obstack_finish, obstack_grow,
14950         obstack_grow0, obstack_init, obstack_int_grow,
14951         obstack_int_grow_fast, obstack_make_room, obstack_memory_used,
14952         obstack_next_free, obstack_object_size, obstack_ptr_grow,
14953         obstack_ptr_grow_fast, obstack_room): Remove declarations of
14954         nonexistent functions.
14955
14956 2004-05-18  Karl Berry  <karl@gnu.org>
14957
14958         * config/srclist.txt: break link for vasnprintf.c.
14959
14960 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
14961
14962         Port obstack to the AS/400, where pointers are 16 bytes wide and
14963         you cannot cast an integer to a valid pointer.  This patch is
14964         currently waiting to be integrated into glibc; see
14965         <http://sources.redhat.com/ml/libc-alpha/2004-05/msg00073.html>.
14966
14967         * lib/obstack.h (__PTR_TO_INT, __INT_TO_PTR): Remove.
14968         All uses of __INT_TO_PTR (PTR_TO_INT ...) replaced by __PTR_ALIGN.
14969         (__BPTR_ALIGN, __PTR_ALIGN): New macros.
14970         (struct obstack): temp member is now a union of a pointer and
14971         an integer, instead of an integer.  All integer uses changed.
14972         This does not affect the physical layout of struct obstack,
14973         except on hosts (like the AS/400) where the size or alignment of
14974         void * is greater than that of ptrdiff_t.
14975         (obstack_finish) [! (defined __GNUC__ && defined __STDC__ &&
14976         __STDC__)]: Store temporary in pointer member of union, not
14977         integer member.
14978         * lib/obstack.c: Include <stddef.h>, for offsetof.
14979         (struct fooalign): Remove; it doesn't need a name.
14980         (union fooround): Change double to long double, and add void *.
14981         (DEFAULT_ALIGNMENT): Use offsetof to compute.
14982         (DEFAULT_ALIGNMENT, DEFAULT_ROUNDING): Now an enum constant,
14983         not a macro.  Hence the values are always int; so remove all
14984         casts-to-int in uses.
14985
14986 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
14987
14988         * config/srclist.txt: Break link for argp-help.c and argp-parse.c until
14989         we can get this patch merged into glibc.
14990
14991 2004-05-17  Derek R. Price  <derek@ximbiot.com>
14992             Paul Eggert  <eggert@cs.ucla.edu>
14993
14994         * m4/argp: Depend on alloca.
14995
14996 2004-05-17  Derek R. Price  <derek@ximbiot.com>
14997             Paul Eggert  <eggert@cs.ucla.edu>
14998
14999         * lib/argp-help.c, argp-parse.c: Assume <alloca.h> rather than
15000         freecoding.
15001
15002 2004-05-17  Bruno Haible  <bruno@clisp.org>
15003
15004         * lib/vasnprintf.c (VASNPRINTF): Correctly handle the case of a
15005         precision that consists of a '.' followed by an empty digit string.
15006         Patch by Tor Lillqvist <tml@iki.fi>.
15007
15008 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
15009
15010         * m4/alloca.m4 (gl_FUNC_ALLOCA): Define HAVE_ALLOCA_H always,
15011         for backward compatibility with older code.  We need our own
15012         alloca.h if _AIX is defined.  Define HAVE_ALLOCA if we discover
15013         it under some other name, and our alloca.h will define it.
15014
15015 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
15016             Derek Price  <derek@ximbiot.com>
15017
15018         * lib/alloca.c: Include <alloca.h>, to get our interface.
15019         * lib/alloca_.h: Use __alloca on AIX, so that we don't have to
15020         include <alloca.h> first.  Use C89 prototype for alloca; this
15021         requires including <stddef.h> for size_t.  Use extern "C" if C++.
15022         Use #elif for simplicity, since we can assume C89 now.
15023         Don't try to source the system alloca.h since it will not be found
15024         and to prevent recursively including its replacement.
15025         * lib/fnmatch.c: Include <alloca.h> instead of opencoding.
15026         * lib/regex.c: Likewise.
15027
15028 2004-05-16  Derek Price  <derek@ximbiot.com>
15029             Paul Eggert  <eggert@cs.ucla.edu>
15030
15031         getline cleanup.  This changes the getndelim2 API: both order of
15032         arguments, and meaning of delim2 (now uses EOF, not 0, to indicate
15033         no delimiter).
15034
15035         * lib/getline.c: Don't include stddef.h or stdio.h, since our
15036         interface does that.
15037         (getline): Always use getdelim, so that we don't have two
15038         copies of this code.
15039         * lib/getndelim2.c: Include <limits.h>, <inttypes.h>, <stdint.h>
15040         if available.
15041         (PTRDIFF_MAX, SIZE_MAX, SSIZE_MAX): Define if not defined.
15042         (GETNDELIM2_MAXIMUM): New macro.
15043         (getndelim2): Reorder arguments.  delim==EOF now means no delimiter,
15044         instead of the old practice of delim2==0.  All callers changed.
15045         Return -1 on overflow, instead of returning junk.
15046         Do not set *linesize unless allocation succeeds.
15047         * lib/getndelim2.h: Do not include stddef.h; no longer needed, now
15048         that we include sys/types.h.
15049         * lib/getnline.h: Likewise.
15050         * lib/getndelim2.h (GETNLINE_NO_LIMIT): New macro.
15051         (getndelim2): Reorder arguments.
15052         * lib/getnline.c (getnline, getndelim):
15053         Don't discard the NMAX argument.
15054         (getnline): Invoke getndelim, to avoid code duplication.
15055         * lib/getnline.h (GETNLINE_NO_LIMIT): New macro, used instead
15056         of (size_t) -1 by callers of the getnline family.
15057
15058 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
15059
15060         * m4/gettime.m4 (gl_GETTIME): Require gl_TIMESPEC.
15061         Check for gettimeofday.
15062         * m4/settime.m4 (gl_SETTIME): Require gl_TIMESPEC.
15063         Check for settimeofday, stime.
15064
15065 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
15066
15067         * lib/nanosleep.c (suspended): Change its type from int to
15068         sig_atomic_t volatile.
15069         (first_call): Make it private to rpl_nanosleep, and have it
15070         be zero initially as that's a bit faster.
15071         (my_usleep): Round up fractional times instead of truncating them,
15072         as this is the usual meaning for 'sleep'.
15073
15074         * lib/gettime.c (gettime): Fall back on `time' if `gettimeofday'
15075         doesn't work.
15076         * lib/settime.c: Include <unistd.h>, for stime (on Solaris 8, anyway).
15077         (ENOSYS): Define if not defined.
15078         (settime): Fall back on stime if it exists and settimeofday fails.
15079         But don't bother with fallbacks if a method fails with errno == EPERM.
15080
15081 2004-05-11  Jim Meyering  <jim@meyering.net>
15082
15083         Prior to this change, the save_cwd caller required read access to the
15084         current directory on most systems (ones with the fchdir function).
15085
15086         * lib/save-cwd.c (save_cwd) [HAVE_FCHDIR]: If opening `.' read-only
15087         fails, try write-only, and finally, resort to using xgetcwd.
15088
15089 2004-05-06  Paul Eggert  <eggert@cs.ucla.edu>
15090
15091         * lib/obstack.c, obstack.h: Import changes from libc.
15092
15093 2004-04-28  Bruno Haible  <bruno@clisp.org>
15094
15095         * lib/findprog.c (find_in_path): Treat Cygwin like Windows, since it
15096         also implicitly appends .exe to executables.
15097         * lib/localcharset.c (ISSLASH): Treat Cygwin like Windows, since it now
15098         accepts Windows pathnames.
15099         * lib/pathname.h (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
15100         Treat Cygwin like Windows, since it now accepts Windows pathnames.
15101         * lib/progreloc.c (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
15102         Treat Cygwin like Windows, since it now accepts Windows pathnames.
15103         Reported by Derek Robert Price <derek@ximbiot.com>.
15104
15105 2004-04-21  Karl Berry  <karl@gnu.org>
15106
15107         * config/srclist.txt (localcharset.c): break sync.
15108
15109 2004-04-20  Paul Eggert  <eggert@twinsun.com>
15110
15111         * m4/host-os.m4: Add a copyright notice.
15112
15113 2004-04-20  Jim Meyering  <jim@meyering.net>
15114
15115         Change UTILS_ to gl_ in AC_DEFINE'd names.
15116         Change utils_- and jm_-prefixed variables, too.
15117         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Renamed from
15118         UTILS_FUNC_MKDIR_TRAILING_SLASH.
15119         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Renamed from UTILS_FUNC_MKSTEP.
15120
15121         * m4/dirfd.m4 (gl_FUNC_DIRFD): Rename from UTILS_FUNC_DIRFD.
15122         Don't emit trailing blanks.
15123         Also rename jm_-prefixed variables to have gl_ prefix.
15124
15125         * m4/host-os.m4 (gl_HOST_OS): Rename from UTILS_HOST_OS.
15126         Also rename jm_-prefixed variables to have gl_ prefix.
15127
15128         * m4/jm-macros.m4: Reflect the renamings.
15129         * m4/prereq.m4: Likewise.
15130
15131 2004-04-20  Jim Meyering  <jim@meyering.net>
15132
15133         * lib/getndelim2.c (getndelim2): Upon realloc failure, don't leak
15134         memory.
15135
15136 2004-04-20  Jim Meyering  <jim@meyering.net>
15137             Bruno Haible  <bruno@clisp.org>
15138
15139         * lib/localcharset.c (get_charset_aliases) [!VMS && !WIN32]: Don't leak
15140         memory when realloc fails.
15141
15142 2004-04-19  Jim Meyering  <jim@meyering.net>
15143
15144         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Require gl_FUNC_FREE,
15145         now that readutmp.c may call `free (0)'.
15146
15147 2004-04-19  Bruno Haible  <bruno@clisp.org>
15148
15149         * m4/mbrtowc.m4: Change jm_ to gl_ in cache variables as well.
15150         * m4/inttypes_h.m4: Likewise.
15151         * m4/stdint_h.m4: Likewise.
15152         * m4/intmax_t.m4: Likewise.
15153         * m4/uintmax_t.m4: Likewise.
15154
15155 2004-04-18  Jim Meyering  <jim@meyering.net>
15156
15157         * m4/prereq.m4: Don't forbid jm_ prefix.
15158
15159         * m4/afs.m4, m4/allocsa.m4, m4/assert.m4, m4/backupfile.m4:
15160         * m4/bison.m4, m4/check-decl.m4, m4/chown.m4, m4/d-ino.m4:
15161         * m4/d-type.m4, m4/dirname.m4, m4/dos.m4, m4/error.m4, m4/fpending.m4:
15162         * m4/fstypename.m4, m4/fsusage.m4, m4/ftruncate.m4, m4/getdate.m4:
15163         * m4/getgroups.m4, m4/gettext.m4, m4/glibc21.m4, m4/group-member.m4:
15164         * m4/human.m4, m4/intmax.m4, m4/intmax_t.m4, m4/inttostr.m4:
15165         * m4/inttypes.m4, m4/inttypes_h.m4, m4/jm-macros.m4, m4/jm-winsz1.m4:
15166         * m4/jm-winsz2.m4, m4/lchown.m4, m4/lib-check.m4, m4/link-follow.m4:
15167         * m4/localcharset.m4, m4/longlong.m4, m4/ls-mntd-fs.m4, m4/lstat.m4:
15168         * m4/makepath.m4, m4/mbrtowc.m4, m4/mbswidth.m4, m4/memchr.m4:
15169         * m4/memcmp.m4, m4/mkdtemp.m4, m4/mkstemp.m4, m4/mountlist.m4:
15170         * m4/nanosleep.m4, m4/path-concat.m4, m4/perl.m4, m4/prereq.m4:
15171         * m4/putenv.m4, m4/quotearg.m4, m4/regex.m4, m4/stat.m4:
15172         * m4/stdint_h.m4, m4/strftime.m4, m4/strtoimax.m4, m4/strtoll.m4:
15173         * m4/strtoull.m4, m4/strtoumax.m4, m4/timespec.m4, m4/uintmax_t.m4:
15174         * m4/ulonglong.m4, m4/unlink-busy.m4, m4/unlocked-io.m4, m4/uptime.m4,
15175         * m4/utimbuf.m4, m4/utime.m4, m4/utimes-null.m4, m4/vasnprintf.m4:
15176         * m4/xstrtoimax.m4, m4/xstrtol.m4, m4/xstrtoumax.m4:
15177         Change jm_ to gl_ in AC_DEFINE'd names. Update all uses.
15178
15179 2004-04-18  Jim Meyering  <jim@meyering.net>
15180
15181         * lib/readutmp.c (read_utmp) [UTMP_NAME_FUNCTION]: Upon realloc
15182         failure, don't leak memory and do call END_UTMP_ENT.
15183
15184 2004-04-16  Jim Meyering  <jim@meyering.net>
15185
15186         * m4/prereq.m4 (jm_PREREQ_STAT): Remove macro.  It is specific to
15187         coreutils' stat program.
15188         (gl_PREREQ): Don't require jm_PREREQ_STAT.
15189
15190 2004-04-11  Paul Eggert  <eggert@twinsun.com>
15191
15192         * lib/inttostr.h: Include <limits.h> unconditionally, since we assume
15193         C89.
15194         (CHAR_BIT): Remove, since we assume C89.
15195         Include <stdint.h> if available, as per current Autoconf CVS advice.
15196
15197 2004-03-31  Jim Meyering  <jim@meyering.net>
15198
15199         * m4/prereq.m4: Require AC_FUNC_MALLOC, not jm_FUNC_MALLOC.
15200         Require AC_FUNC_REALLOC, not jm_FUNC_REALLOC.
15201         * m4/xalloc.m4: Likewise.
15202
15203 2004-03-30  Paul Eggert  <eggert@twinsun.com>
15204
15205         Merge from coreutils.
15206
15207         * m4/inttostr.m4: New file.
15208         * m4/getdate.m4 (gl_GETDATE): Remove time-related stuff.
15209         Require AM_STDBOOL_H and gl_TIMESPEC instead.
15210         Require gl_CLOCK_TIME.
15211         * m4/clock_time.m4 (gl_CLOCK_TIME): Require AC_GNU_SOURCE.
15212
15213 2004-03-30  Paul Eggert  <eggert@twinsun.com>
15214
15215         * lib/cloexec.h, cloexec.c (set_cloexec_flag): Return int
15216         not bool, to be more consistent with Unix conventions.
15217         Suggested by Bruno Haible.
15218
15219         Merge from coreutils.
15220
15221         * lib/imaxtostr.c, lib/inttostr.c, lib/inttostr.h, lib/offtostr.c:
15222         * lib/umaxtostr.c: New files.
15223
15224         * lib/getdate.h: Include stdbool.h, and timespec.h instead of
15225         the usual <time.h> dance.
15226         (get_date): Change signature to support fractional time stamps.
15227         All callers changed.
15228         * lib/getdate.y: Include "getdate.h" first, as we can now
15229         assume C89 and don't need to worry about 'const'.
15230         Similarly, include "unlocked-io.h" near start, not in middle.
15231         Include <limits.h>.
15232         (textint.value): Use long int rather than int.
15233         (textint.digits): Use size_t rather than int.
15234         (BILLION, LOG10_BILLION): New constants.
15235         (parser_control): New member rel_ns.  Members day_ordinal,
15236         time_zone, month, day, hour, minutes, rel_year, rel_month,
15237         rel_day, rel_hour, rel_minutes, rel_seconds
15238         are now long int, not int.  Member seconds is now struct timespec,
15239         not int.  New member timespec_seen.  Members dates_seen, days_seen,
15240         local_zones_seen, rels_seen, times_seen, zones_seen are now size_t,
15241         not int.
15242         (%union.intval): Now long int, not int.
15243         New member timespec.
15244         (tSDECIMAL_NUMBER, tUDECIMAL_NUMBER): New tokens.
15245         (seconds, signed_seconds, unsigned_seconds): New nonterminals.
15246         (spec): Now is a timespec or an item list.
15247         (timespec, items): New nonterminals.
15248         (time, rel, relunit, number, get_date):
15249         Add support for fractional seconds.
15250         (time): Fix bug: seconds weren't cleared in "00:00 +0000" syntax.
15251         (gmtime, localtime, mktime): Remove decls; not needed with C89.
15252         (to_hour): First arg is now long int, not int.
15253         (to_year): Returns long int, not int.
15254         Don't treat year -70 like 70.
15255         (tm_diff): Returns long int, not int.
15256         (lookup_word): Use bool instead of int when appropriate.
15257         (yylex): Use size_t for count, not int.
15258         Detect overflow when parsing large integer constants.
15259         Add support for fractions.
15260         (get_date): Make pointers 'const' if possible.
15261         Use more-portable code to detect integer overflow.
15262         (main) [TEST]: Adjust to above changes.  Test for localtime failure.
15263         Don't use ctime; it's not reliable if the year has >4 digits.
15264
15265         * lib/human.c (humblock): Inspect BLOCKSIZE if BLOCK_SIZE isn't set.
15266         This is for compatibility with BSD.
15267
15268         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP): Define.
15269         (ATIME_CMP, CTIME_CMP, MTIME_CMP, TIMESPEC_NS): Likewise.
15270         From coreutils' system.h.
15271
15272         * lib/userspec.c: Don't include "posixver.h".
15273         (parse_user_spec): Fall back on USER.GROUP parsing, regardless
15274         of POSIX version, as POSIX 1003.1-2001 allows that behavior as a
15275         compatible extension.  Simplify code by removing a boolean int
15276         that was always nonzero if a string was nonnull.
15277
15278 2004-03-30  Jim Meyering  <jim@meyering.net>
15279
15280         Merge from coreutils.
15281
15282         Avoid a configure-time warning about sys/ucred.h on OSF V4.0.
15283         * m4/ls-mntd-fs.m4: Test for sys/ucred.h separately, since
15284         on some systems one must include <grp.h> before it.
15285         Reported by Christian Krackowizer.
15286
15287 2004-03-30  Jim Meyering  <jim@meyering.net>
15288
15289         Merge from coreutils.
15290
15291         * lib/mountlist.c [HAVE_SYS_UCRED_H]: Include grp.h before sys/ucred.h.
15292
15293         * lib/readtokens.c (readtoken): Don't leak 64 bytes when reading
15294         an empty input stream.
15295
15296         * lib/readtokens.c: Include <stdbool.h>.
15297         (readtoken): Use `size_t' rather than int/long.
15298         All callers adjusted.
15299         Use `bool' rather than `int' where appropriate.
15300         Use memset rather than an explicit loop.
15301         Use x2nrealloc rather than xrealloc.
15302         Allow the use of `\0' as a delimiter.
15303         (readtokens): Likewise.
15304         * lib/readtokens.h (readtoken, readtokens): Update prototypes.
15305
15306 2004-03-30  Jim Meyering  <jim@meyering.net>
15307
15308         * m4/realloc.m4: Remove file, since now it does no more than
15309         AC_REQUIRE([AC_FUNC_REALLOC]), and that can be done via
15310         the `configure.ac' section of module/realloc.
15311         * m4/malloc.m4: Likewise, but for AC_FUNC_MALLOC.
15312
15313 2004-03-30  Bruno Haible  <bruno@clisp.org>
15314
15315         * lib/getloadavg.c (getloadavg): Don't assume setlocale returns
15316         nonnull.
15317
15318 2004-03-29  Paul Eggert  <eggert@twinsun.com>
15319
15320         Merge changes to getloadavg.c from coreutils and Emacs.
15321
15322         * lib/getloadavg.c [!defined HAVE_SETLOCALE] (setlocale):
15323         Define to an expression, not to the empty string.
15324         Include cloexec.h and xalloc.h.
15325         (getloadavg): Restore LC_NUMERIC locale after setting it temporarily.
15326         Use set_cloexec_flag rather than rolling our own.
15327         * lib/cloexec.c, lib/cloexec.h: New files.
15328
15329 2004-03-29  Paul Eggert  <eggert@twinsun.com>
15330
15331         * m4/cloexec.m4: New file.
15332
15333 2004-03-18  Paul Eggert  <eggert@twinsun.com>
15334
15335         * lib/getopt.h: Sync with libc CVS.
15336
15337 2004-03-18  Paul Eggert  <eggert@twinsun.com>
15338             Bruno Haible  <bruno@clisp.org>
15339
15340         * m4/mbswidth.m4 (gl_MBSWIDTH): Also test whether <wchar.h> declares
15341         mbswidth.
15342
15343 2004-03-18  Paul Eggert  <eggert@twinsun.com>
15344             Bruno Haible  <bruno@clisp.org>
15345
15346         * lib/mbswidth.h: Include <wchar.h> only if
15347         HAVE_DECL_MBSWIDTH_IN_WCHAR_H, not on all platforms that have
15348         <wchar.h>.
15349         * lib/mbswidth.c: Include <stdio.h> and <time.h> before <wchar.h>.
15350
15351 2004-03-09  Paul Eggert  <eggert@twinsun.com>
15352
15353         * lib/argp-parse.c, getopt.c, getopt.h, getopt1.c:
15354         Sync with libc CVS.
15355         * lib/getopt_int.h: New file, also synced from libc.
15356
15357 2004-03-09  Paul Eggert  <eggert@twinsun.com>
15358
15359         * config/srclistvars.sh: Add GNUWWWLICENSES for eggert.
15360         * config/srclist.txt: Sync getopt with libc.  Add getopt_int.h.
15361         Bring back getopt.c, getopt.h, getopt1.c.
15362
15363 2004-03-07  Paul Eggert  <eggert@twinsun.com>
15364
15365         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Renamed from jm_PREREQ_C_STACK.
15366         All uses changed.  Check for sa_sigaction member; this fixes
15367         a bug first reported by Jason Andrade in
15368         <http://mail.gnu.org/archive/html/bug-textutils/2003-03/msg00027.html>.
15369
15370 2004-03-07  Paul Eggert  <eggert@twinsun.com>
15371
15372         * lib/c-stack.c (SIGACTION_WORKS): New macro.  Use it instead of long
15373         '#if' expressions.  Unlike the code it replaces, it does not
15374         depend on (defined _SC_PAGESIZE).  However, it does depend on
15375         HAVE_STRUCT_SIGACTION_SA_SIGACTION; this last change fixes a bug
15376         first reported by Jason Andrade in
15377         <http://mail.gnu.org/archive/html/bug-textutils/2003-03/msg00027.html>.
15378
15379 2004-02-25  Simon Josefsson  <jas@extundo.com>
15380
15381         * m4/strdup.m4 (gl_PREREQ_STRDUP): Check whether strdup is declared.
15382
15383 2004-02-25  Simon Josefsson  <jas@extundo.com>
15384
15385         * lib/strdup.h: New file.
15386         * lib/strdup.c: Include it.
15387         * lib/path-concat.c: Include strdup.h. Drop strdup declaration.
15388         * lib/userspec.c: Include strdup.h. Drop strdup declaration.
15389
15390 2004-02-23  Karl Berry  <karl@gnu.org>
15391
15392         * doc/maintain.texi, doc/standards.texi, doc/make-stds.texi: new files
15393         (from fencepost.gnu.org:/gd/gnuorg).
15394
15395 2004-02-23  Karl Berry  <karl@gnu.org>
15396
15397         * config/srclistvars.sh (GNUORG) [karl]: redefine.
15398         * config/srclist.txt: add maintain/standards documents.
15399
15400 2004-02-18  Bruno Haible  <bruno@clisp.org>
15401
15402         * m4/xsize.m4 (gl_XSIZE): Require AC_C_INLINE.
15403         Reported by Derek Robert Price <derek@ximbiot.com>.
15404
15405 2004-02-16  Karl Berry  <karl@gnu.org>
15406
15407         * config/mkinstalldirs, install-sh: update from automake.
15408
15409 2004-02-06  Karl Berry  <karl@gnu.org>
15410
15411         * m4/po.m4: update from gettext 0.14.1.
15412
15413 2004-02-06  Karl Berry  <karl@gnu.org>
15414
15415         * lib/config.charset: update from gettext 0.14.1.
15416
15417 2004-02-05  Paul Eggert  <eggert@twinsun.com>
15418
15419         Add comments and code, prompted by suggestions from Bruno Haible
15420         for sh-quote.
15421         * lib/quotearg.h (quotearg_alloc): New decl.  Improve the comments
15422         describing the enum quoting_style values.
15423         * lib/quotearg.c (quotearg_alloc): New function.
15424         (quotearg_buffer_restyled): Treat lone { and } as special.
15425         Treat = as special.  Work around bug with older shells
15426         that "see" a '\' that is really the 2nd byte of a multibyte char.
15427         Quote empty string with shell_quoting_style.
15428
15429 2004-02-03  Bruno Haible  <bruno@clisp.org>
15430
15431         * m4/pipe.m4: New file, from GNU gettext.
15432
15433 2004-02-03  Bruno Haible  <bruno@clisp.org>
15434
15435         * lib/pipe.h: New file, from GNU gettext.
15436         * lib/pipe.c: New file, from GNU gettext.
15437
15438 2004-01-27  Bruno Haible  <bruno@clisp.org>
15439
15440         * m4/execute.m4: New file, from GNU gettext.
15441
15442 2004-01-27  Bruno Haible  <bruno@clisp.org>
15443
15444         * lib/execute.h: New file, from GNU gettext.
15445         * lib/execute.c: New file, from GNU gettext.
15446         * lib/w32spawn.h: New file, from GNU gettext.
15447
15448 2004-01-24  Paul Eggert  <eggert@twinsun.com>
15449
15450         Merge from diffutils.
15451
15452         * lib/file-type.c (file_type): Add typed memory objects.
15453         * lib/file-type.h (S_TYPEISTMO): New macro.
15454
15455         * lib/c-stack.h (c_stack_action): Remove argv argument.
15456         * lib/c-stack.c (c_stack_action): Likewise.  All uses changed.
15457         (die): Don't calculate message unless segv_action returns.
15458         (get_stack_location, min_address_from_argv, max_address_from_argv,
15459         volatile stack_base, volatile_stack_size): Remove.
15460         (segv_handler): If ! HAVE_XSI_STACK_OVERFLOW_HEURISTIC, assume
15461         that every segmentation violation is a stack overflow.  (Ouch!)
15462         See Debian bug 136249 (still outstanding) for more info about why
15463         HAVE_XSI_STACK_OVERFLOW_HEURISTIC fails on Linux kernels.
15464
15465 2004-01-24  Paul Eggert  <eggert@twinsun.com>
15466
15467         Exit-status fix from coreutils.
15468
15469         Use exit_failure consistently in place of EXIT_FAILURE,
15470         so that program exit statuses are consistent on failure.
15471
15472         * lib/argmatch.c (ARGMATCH_DIE) [! defined ARGMATCH_DIE]:
15473         Include "exitfail.h", and use exit_failure rather than EXIT_FAILURE.
15474         * lib/argmatch.h: Comment fix to match the above.
15475         * lib/obstack.c (obstack_exit_failure) [!defined _LIBC]:
15476         Now a macro referring to exit_failure, instead of a separate
15477         variable.  Include "exitfail.h" to get it.
15478         * lib/xstrtol.h: Include "exitfail.h".
15479         (STRTOL_FATAL_ERROR): Exit with status exit_failure, not 2.
15480
15481         * lib/long-options.c (parse_long_options): Use prototype
15482         for usage function arg.  Pass it EXIT_SUCCESS rather than 0,
15483         for clarity.
15484
15485 2004-01-21  Jim Meyering  <jim@meyering.net>
15486
15487         * lib/mktime.c (__mktime_internal) [!_LIBC]: Define to mktime_internal
15488         so as not to conflict with a different-sized __mktime_internal
15489         function in GNU libc.
15490         * lib/timegm.c (__mktime_internal) [!_LIBC]: Likewise.
15491         Problem building statically-linked `ls' reported by Michael Brunnbauer.
15492
15493 2004-01-20  Karl Berry  <karl@gnu.org>
15494
15495         * config/config.guess: update from config.
15496
15497         * config/srclistvars.sh: GNUWWWLICENSES for karl.
15498
15499 2004-01-20  Bruno Haible  <bruno@clisp.org>
15500
15501         Safer stack allocation.
15502         * lib/setenv.c: Include allocsa.h.
15503         (alloca): Remove fallback definition.
15504         (freea): Remove macro.
15505         (__add_to_environ) [!_LIBC]: Use allocsa instead of alloca. Use freesa
15506         instead of freea.
15507
15508 2004-01-20  Bruno Haible  <bruno@clisp.org>
15509
15510         * m4/eealloc.m4: New file, from GNU gettext.
15511
15512 2004-01-20  Bruno Haible  <bruno@clisp.org>
15513
15514         * m4/allocsa.m4: New file, from GNU gettext.
15515
15516 2004-01-20  Bruno Haible  <bruno@clisp.org>
15517
15518         * lib/xallocsa.h: New file, from GNU gettext.
15519         * lib/xallocsa.c: New file, from GNU gettext.
15520
15521 2004-01-20  Bruno Haible  <bruno@clisp.org>
15522
15523         * lib/wait-process.c: On Windows, include windows.h. Needed on mingw.
15524
15525 2004-01-20  Bruno Haible  <bruno@clisp.org>
15526
15527         * lib/wait-process.c (wait_subprocess): Add ignore_sigpipe argument.
15528         * lib/wait-process.c (wait_subprocess): Likewise. Handle SIGPIPE
15529         specially.
15530
15531 2004-01-20  Bruno Haible  <bruno@clisp.org>
15532
15533         * lib/wait-process.c (wait_process): Disable the 2003-10-31 waitid()
15534         patch.
15535
15536 2004-01-20  Bruno Haible  <bruno@clisp.org>
15537
15538         * lib/wait-process.c (cleanup_slaves): Use ANSI C declaration.
15539
15540 2004-01-20  Bruno Haible  <bruno@clisp.org>
15541
15542         * lib/eealloc.h: New file.
15543
15544 2004-01-20  Bruno Haible  <bruno@clisp.org>
15545
15546         * lib/binary-io.h: Avoid warnings on Cygwin.
15547
15548 2004-01-20  Bruno Haible  <bruno@clisp.org>
15549
15550         * lib/allocsa.h: New file, from GNU gettext.
15551         * lib/allocsa.c: New file, from GNU gettext.
15552
15553 2004-01-18  Karl Berry  <karl@gnu.org>
15554
15555         * doc/gpl.texi, doc/lgpl.texi: new files.
15556
15557 2004-01-18  Karl Berry  <karl@gnu.org>
15558
15559         * config/srclistvars.sh (GNUWWWLICENSES): new variable.
15560         * config/srclist.txt ({fdl,gpl,lgpl}.text): get from there.
15561
15562 2004-01-15  Paul Eggert  <eggert@twinsun.com>
15563
15564         Merge from coreutils.
15565
15566         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for uintptr_t.
15567         * m4/posixver.m4 (gl_POSIXVER): Require gl_DEFAULT_POSIX2_VERSION.
15568         (gl_DEFAULT_POSIX2_VERSION): Move
15569         the documentation from 'configure' into 'config.hin',
15570         so that 'configure --help' isn't burdened by it and
15571         we don't have to worry about its formatting there.
15572         Reword the documentation so that it's more succinct
15573         and can be run together into a single paragraph.
15574         * m4/same.m4 (gl_SAME): Check for pathconf.
15575
15576 2004-01-15  Paul Eggert  <eggert@twinsun.com>
15577
15578         Merge from coreutils.
15579
15580         * lib/posixver.c: Include posixver.h.
15581
15582         * lib/same.c: Include <stdbool.h>, <limits.h>.
15583         (_POSIX_NAME_MAX): Define if not defined.
15584         (MIN): New macro.
15585         (same_name): If file names are silently truncated, report
15586         that the file names are the same if they are the same after
15587         the silent truncation.
15588
15589         * lib/xstrtod.h (xstrtod): Accept an extra arg, specifying the
15590         conversion function.
15591         * lib/xstrtod.c (xstrtod): Likewise.  All callers changed to
15592         include c-strtod.h and use c_strtod.  Don't include stdlib.h; no
15593         longer needed.
15594
15595 2004-01-15  Jim Meyering  <jim@meyering.net>
15596
15597         Merge from coreutils.
15598
15599         * m4/clock_time.m4 (gl_CLOCK_TIME): Don't set LIB_CLOCK_GETTIME
15600         if no library is required.
15601         * m4/jm-macros.m4: Don't require UTILS_SYS_OPEN_MAX.
15602         * m4/jm-macros.m4 (jm_MACROS): Require gl_FUNC_FREE.
15603         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.58.
15604         (AC_LANG_SOURCE): Remove definition, now that we require autoconf-2.58.
15605         * m4/jm-macros.m4 (jm_MACROS): Don't require AC_FUNC_FTW.
15606         * m4/lib-check.m4 (jm_LIB_CHECK): Do not set LIB_CRYPT to the
15607         value, $ac_cv_search_crypt, if it's "none required".
15608         * m4/posixver.m4 (gl_DEFAULT_POSIX2_VERSION): New macro.
15609         * m4/prereq.m4 (jm_PREREQ): Require AC_FUNC_GETLOADAVG,
15610         not gl_FUNC_GETLOADAVG.
15611         * m4/prereq.m4 (jm_PREREQ): Require gl_READTOKENS, gl_MD5, gl_MAKEPATH,
15612         gl_LONG_OPTIONS, and gl_IDCACHE, gl_GETUGROUPS.
15613
15614 2004-01-15  Jim Meyering  <jim@meyering.net>
15615
15616         Merge from coreutils.
15617
15618         * lib/md5.h (rol) [__GNUC__ && __i386__]: Don't use `asm' code.  These
15619         days, gcc-3.x does better all by itself.  Patch from Dean Gaudet:
15620         http://mail.gnu.org/archive/html/bug-coreutils/2003-11/msg00144.html
15621
15622         * lib/posixver.c (DEFAULT_POSIX2_VERSION): Use definition of new,
15623         optional configure-time default.
15624
15625         * lib/version-etc.c (version_etc_copyright): Update copyright date.
15626
15627         * lib/xreadlink.c (xreadlink): Correct outdated comment.
15628
15629 2004-01-15  Alexandre Duret-Lutz  <adl@gnu.org>
15630
15631         Merge from coreutils.
15632
15633         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Do not set LIB_NANOSLEEP to the
15634         value, $ac_cv_search_nanosleep, if it's "none required".
15635
15636 2004-01-14  Paul Eggert  <eggert@twinsun.com>
15637
15638         * lib/fnmatch_loop.c (ALLOCA_LIMIT): Remove macro, which collided
15639         with like-named macro in fnmatch.c.
15640         (EXT): Use an internal constant instead.
15641
15642         Merge fnmatch patches from glibc.
15643         * lib/fnmatch.c (mbsinit): Remove define.
15644         Add libc_hidden_ver (__fnmatch, fnmatch).
15645         * lib/fnmatch_loop.c (FCT): Cast to int32_t and UCHAR when appropriate.
15646         Adjust to renaming of collseq_table_lookup to __collseq_table_lookup.
15647
15648 2004-01-14  Karl Berry  <karl@gnu.org>
15649
15650         * config/install-sh: update from automake.
15651
15652 2004-01-13  Karl Berry  <karl@gnu.org>
15653
15654         * config/install-sh: update from automake.
15655
15656 2004-01-09  Karl Berry  <karl@gnu.org>
15657
15658         * config/install-sh: update from automake.
15659
15660 2004-01-05  Karl Berry  <karl@gnu.org>
15661
15662         * config/config.{sub,guess}: update from config.
15663
15664 2003-12-31  Karl Berry  <karl@gnu.org>
15665
15666         * config/depcomp: update from automake.
15667
15668 2003-12-14  Karl Berry  <karl@gnu.org>
15669
15670         * lib/config.charset: update from gettext-runtime.
15671
15672 2003-12-03  Paul Eggert  <eggert@twinsun.com>
15673
15674         * lib/getgroups.c (getgroups): xmalloc takes one argument, not two.
15675         Bug reported by Alfred M. Szmidt.
15676
15677 2003-12-03  Bruno Haible  <bruno@clisp.org>
15678
15679         * m4/gettext.m4: Upgrade from gettext-0.13.
15680         * m4/po.m4: Upgrade from gettext-0.13.
15681         * m4/size_max.m4 (gl_SIZE_MAX): Don't use the _ONCE macros here.
15682         * m4/intmax.m4: New file, from gettext-0.13.
15683         * m4/printf-posix.m4: New file, from gettext-0.13.
15684
15685 2003-11-29  Karl Berry  <karl@gnu.org>
15686
15687         * lib/argp-{help.c,parse.c,namefrob.h}, argp.h: update from libc.
15688
15689 2003-11-25  Paul Eggert  <eggert@twinsun.com>
15690             Bruno Haible  <bruno@clisp.org>
15691
15692         * lib/printf-parse.h: Don't include sys/types.h.
15693         (ARG_NONE): New macro.
15694         (char_directive): Change type of *arg_index fields to size_t.
15695         * lib/printf-parse.c: Don't include sys/types.h.
15696         (SSIZE_MAX): Remove macro.
15697         (PRINTF_PARSE): Change the type of the arg_index variables to size_t.
15698         Remove unnecessary overflow check.
15699         * lib/vasnprintf.c (VASNPRINTF): Update for type change of *arg_index
15700         fields.
15701
15702 2003-11-25  Bruno Haible  <bruno@clisp.org>
15703
15704         * modules/vasnprintf (Files): Remove m4/ssize_t.m4.
15705
15706 2003-11-25  Bruno Haible  <bruno@clisp.org>
15707
15708         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Don't require
15709         gt_TYPE_SSIZE_T.
15710
15711 2003-11-24  Paul Eggert  <eggert@twinsun.com>
15712
15713         * modules/alloca: Remove dependency on xalloc.
15714
15715 2003-11-24  Paul Eggert  <eggert@twinsun.com>
15716
15717         * lib/alloca.c: Remove dependency on xalloc module.
15718         (xalloc_die): Remove.
15719         (memory_full) [!defined emacs]: New macro.
15720         [!defined emacs]: Don't include xalloc.h.
15721         (alloca): Invoke memory_full, not xalloc_die, if malloc fails or
15722         address arithmetic overflows.  Change datatypes a bit to avoid
15723         unnecessary casts.
15724
15725 2003-11-22  Jim Meyering  <jim@meyering.net>
15726
15727         * lib/xmalloc.c (x2nrealloc_inline): Fix typos in comments:
15728         s/size/size_t/.
15729
15730 2003-11-21  Karl Berry  <karl@gnu.org>
15731
15732         * config/config.{sub,guess}: update from config.
15733
15734 2003-11-18  Karl Berry  <karl@gnu.org>
15735
15736         * config/config.{sub,guess}: update from config.
15737
15738         * config/(printf-{parse,args}.[ch]): sync broken, sigh.
15739
15740 2003-11-17  Paul Eggert  <eggert@twinsun.com>
15741
15742         * README: Mention that S+T cannot overflow if S is the size of
15743         an existing object and T is sufficiently small.
15744
15745 2003-11-17  Jim Meyering  <jim@meyering.net>
15746
15747         On systems without utime and without a utimes function capable of
15748         dealing with a NULL struct utimbuf* argument, this utime replacement
15749         could -- in unusual circumstances -- leak a file descriptor.
15750         * lib/utime.c: Include <unistd.h> and <errno.h>.
15751         (utime_null): Be sure to close `fd' and to preserve errno.
15752         Reported by Geoff Collyer via Arnold Robbins.
15753
15754 2003-11-17  Bruno Haible  <bruno@clisp.org>
15755
15756         * modules/vasnprintf (Files): Add m4/ssize_t.m4.
15757         (Depends-on): Add xsize.
15758
15759 2003-11-17  Bruno Haible  <bruno@clisp.org>
15760
15761         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Require gt_TYPE_SSIZE_T.
15762
15763 2003-11-17  Bruno Haible  <bruno@clisp.org>
15764
15765         * lib/vasnprintf.c (alloca): Remove fallback definition.
15766         (freea): Remove definition.
15767         (VASNPRINTF): Use alloca only for small sizes, say <= 4000 bytes.
15768         Reported by Paul Eggert.
15769
15770 2003-11-16  Paul Eggert  <eggert@twinsun.com>
15771             Bruno Haible  <bruno@clisp.org>
15772
15773         Protect against address arithmetic overflow.
15774         * lib/printf-args.h: Include stddef.h.
15775         (arguments): Change type of field 'count' to size_t.
15776         * lib/printf-args.c (printf_fetchargs): Use size_t instead of
15777         'unsigned int' where appropriate.
15778         * lib/printf-parse.h: Include sys/types.h.
15779         (char_directive): Change type of *arg_index fields to ssize_t.
15780         (char_directives): Change type of fields 'count', max_*_length to
15781         size_t.
15782         * lib/printf-parse.c: Include sys/types.h and xsize.h.
15783         (SSIZE_MAX): Define fallback value.
15784         (PRINTF_PARSE): Use size_t instead of 'unsigned int' and ssize_t
15785         instead of 'int' where appropriate. Check a_allocated, d_allocated
15786         against overflow. Reject %m$ argument numbers > SSIZE_MAX + 1.
15787         * lib/vasnprintf.c: Include xsize.h.
15788         (VASNPRINTF): Use size_t instead of 'unsigned int' where appropriate.
15789         Check alloca, malloc, realloc, ENSURE_ALLOCATION arguments against
15790         overflow. Avoid wraparound when converting a width or precision from
15791         decimal to binary.
15792
15793 2003-11-16  Bruno Haible  <bruno@clisp.org>
15794
15795         Update from GNU gettext.
15796         * lib/printf-parse.c: Generalize to it can be compiled for wide
15797         strings.
15798         (PRINTF_PARSE, CHAR_T, DIRECTIVE, DIRECTIVES): New macros.
15799         * lib/vasnprintf.c: Generalize to it can be compiled for wide strings.
15800         (VASNPRINTF, CHAR_T, DIRECTIVE, DIRECTIVES, PRINTF_PARSE, USE_SNPRINTF,
15801         SNPRINTF): New macros.
15802         Don't include <alloca.h> if the file is used inside libintl.
15803         (local_wcslen): New function, for Solaris 2.5.1.
15804         (VASNPRINTF): Use it instead of wcslen.
15805
15806 2003-11-16  Bruno Haible  <bruno@clisp.org>
15807
15808         * lib/xsize.h (xmax): New function.
15809         (xsum, xsum3, xsum4): Declare as "pure" functions.
15810
15811 2003-11-12  Paul Eggert  <eggert@twinsun.com>
15812
15813         * modules/xalloc (Files): Undo latest change, since xalloc.h
15814         no longer needs SIZE_MAX or PTRDIFF_MAX.
15815
15816 2003-11-12  Paul Eggert  <eggert@twinsun.com>
15817
15818         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Do not require gl_SIZE_MAX or
15819         gl_PTRDIFF_MAX.
15820
15821 2003-11-12  Paul Eggert  <eggert@twinsun.com>
15822
15823         * lib/xstrtol.c (__xstrtol): Remove "break" immediately after
15824         "return", to pacify some unknown compiler.  Problem reported
15825         by Joerg Schilling.
15826
15827 2003-11-12  Paul Eggert  <eggert@twinsun.com>
15828
15829         * lib/xalloc.h: Do not include <limits.h> or <stdint.h>.
15830         (xalloc_oversized): Use sizeof (ptrdiff_t) and sizeof (size_t) for
15831         the heuristic, rather than PTRDIFF_MAX and SIZE_MAX.  This
15832         heuristic is just as accurate as far as we know, and it removes a
15833         dependency on size_max.m4 and ptrdiff_max.m4.
15834
15835 2003-11-11  Bruno Haible  <bruno@clisp.org>
15836
15837         * modules/xsize (Files): Add m4/size_max.m4.
15838         * modules/xalloc (Files): Add m4/size_max.m4, m4/ptrdiff_max.m4.
15839
15840 2003-11-11  Bruno Haible  <bruno@clisp.org>
15841
15842         * m4/size_max.m4: New file.
15843         * m4/ptrdiff_max.m4: New file.
15844         * m4/xsize,m4 (gl_XSIZE): Require gl_SIZE_MAX.
15845         * m4/xalloc.m4 (gl_PREREQ_XALLOC): New macro.
15846         (gl_XALLOC): Invoke it.
15847
15848 2003-11-11  Bruno Haible  <bruno@clisp.org>
15849
15850         * lib/xsize.h (SIZE_MAX): Remove fallback definition.
15851         * lib/xalloc.h: Include limits.h. Assume SIZE_MAX and PTRDIFF_MAX are
15852         defined.
15853
15854 2003-11-10  Paul Eggert  <eggert@twinsun.com>
15855
15856         * lib/xalloc.h (xalloc_oversized): [! (defined PTRDIFF_MAX &&
15857         PTRDIFF_MAX < SIZE_MAX)]: Fix off-by-one error that would have
15858         rejected some allocations of exactly SIZE_MAX - 2 bytes.
15859         From Bruno Haible.
15860         [defined PTRDIFF_MAX && PTRDIFF_MAX < SIZE_MAX]: Use SIZE_MAX,
15861         not (size_t) -1, since it's defined here.
15862
15863 2003-11-09  Karl Berry  <karl@gnu.org>
15864
15865         * config/mkinstalldirs, depcomp, mdate-sh: update from automake.
15866
15867 2003-11-06  Paul Eggert  <eggert@twinsun.com>
15868
15869         * lib/xalloc.h [HAVE_STDINT_H]: Include <stdint.h>.
15870         (xalloc_oversized) [! (PTRDIFF_MAX < SIZE_MAX)]:
15871         Reject sizes of exactly SIZE_MAX bytes.
15872         * lib/xreadlink.c: Include "xalloc.h" before checking whether SIZE_MAX
15873         is defined, since "xalloc.h" now defines SIZE_MAX on modern hosts.
15874
15875 2003-11-05  Bruno Haible  <bruno@clisp.org>
15876
15877         * lib/xsize.h: Include limits.h, to avoid a possible collision with
15878         SIZE_MAX defined in <limits.h> on Solaris.
15879
15880 2003-11-04  Jim Meyering  <jim@meyering.net>
15881
15882         * modules/sysexits: Use the `$(VAR)' notation for AC_SUBST'd
15883         variable names, rather than @VAR@.
15884         * modules/poll: Likewise.
15885
15886 2003-11-04  Bruno Haible  <bruno@clisp.org>
15887
15888         * modules/xsize: New file.
15889         * modules/linebreak: Depend on xsize.
15890         * MODULES.html.sh (func_all_modules): Add xsize.
15891
15892 2003-11-04  Bruno Haible  <bruno@clisp.org>
15893
15894         * m4/xsize.m4: New file.
15895
15896 2003-11-04  Bruno Haible  <bruno@clisp.org>
15897
15898         * lib/xsize.h: New file.
15899         * lib/linebreak.c: Include xsize.h.
15900         (mbs_possible_linebreaks, mbs_width_linebreaks): Check malloc()
15901         argument for overflow.
15902         Suggested by Paul Eggert.
15903
15904 2003-11-03  Karl Berry  <karl@gnu.org>
15905
15906         * config/config.{guess,sub}: update from config.
15907
15908 2003-11-03  Jim Meyering  <jim@meyering.net>
15909
15910         * modules/userspec (lib_SOURCES): Add userspec.h.
15911         (Include): Add "userspec.h".
15912         Improve description.
15913
15914 2003-11-03  Jim Meyering  <jim@meyering.net>
15915
15916         * lib/userspec.c: Include "userspec.h".
15917         * lib/userspec.h: New file.
15918
15919 2003-11-03  Bruno Haible  <bruno@clisp.org>
15920
15921         * m4/wait-process.m4 (gl_WAIT_PROCESS): Also check for waitid.
15922
15923 2003-11-03  Bruno Haible  <bruno@clisp.org>
15924
15925         * lib/wait-process.c (wait_process): Use waitid with WNOWAIT if
15926         available, to avoid (extremely rare) race condition.
15927         Suggested by Paul Eggert.
15928
15929 2003-11-02  Karl Berry  <karl@gnu.org>
15930
15931         * config/srclist.txt (vasprintf.c): sync broken, sigh.
15932
15933 2003-10-31  Paul Eggert  <eggert@twinsun.com>
15934
15935         * lib/mountlist.h (struct mount_entry.me_type_malloced): New member.
15936         * lib/mountlist.c (SIZE_MAX): Define if not defined already.
15937         (read_filesystem_list): Set and use me_type_malloced.
15938         Use "sizeof *me" rather than "sizeof (struct mount_entry)" (or
15939         whatever the type happens to be), for brevity and consistency.
15940         Check for size calculation overflow on Alphas running OSF/1.
15941
15942 2003-10-31  Jim Meyering  <jim@meyering.net>
15943
15944         * lib/hash.c: Include "xalloc.h" for use of xalloc_oversized.
15945
15946         * lib/linebuffer.c: Include <string.h> for declaration of memset.
15947
15948 2003-10-30  Paul Eggert  <eggert@twinsun.com>
15949             Bruno Haible  <bruno@clisp.org>
15950
15951         * lib/vasprintf.c: Include <limits.h>, <stdlib.h>.
15952         (vasprintf): Fail if the resulting length doesn't fit in an 'int'.
15953
15954 2003-10-30  Paul Eggert  <eggert@cs.ucla.edu>
15955
15956         * m4/host-os.m4 (UTILS_HOST_OS): Change netbsd*-gnu pattern back to
15957         netbsd*-gnu*.  Suggested by Robert Millan.
15958
15959 2003-10-29  Paul Eggert  <eggert@twinsun.com>
15960
15961         * modules/group-member: Depend on stdbool.
15962
15963 2003-10-29  Paul Eggert  <eggert@twinsun.com>
15964
15965         * m4/xalloc.m4 (gl_XALLOC): Undo previous change.
15966
15967 2003-10-29  Paul Eggert  <eggert@twinsun.com>
15968
15969         * m4/host-os.m4 (UTILS_HOST_OS): Resurrect netbsd*-gnu.  Add comments
15970         to it, and to knetbsd*-gnu and kfreebsd*-gnu.  Remove the '*' from
15971         after the 'gnu' in these cases.  This fixes some bugs in the
15972         previous change, and is based on suggestions by Robert Millan.
15973
15974 2003-10-29  Paul Eggert  <eggert@twinsun.com>
15975
15976         * lib/xalloc.h (xalloc_oversized): Now a macro, not a function,
15977         so that it works even if SIZE_MAX < N.  Do not include <stdbool.h>;
15978         no longer needed.
15979         * lib/quotearg.c (quotearg_n_options): Use it.
15980         * lib/group-member.c: Include <stdbool.h>.
15981         (free_group_info): Arg is now const *; don't free arg.
15982         (get_group_info): Now returns bool and accepts struct group_info *,
15983         rather than returning a malloc'ed struct group_info *.
15984         All uses changed.  Check for overflow in internal size calculation.
15985
15986         * lib/getusershell.c (readname): Simplify the code by using x2nrealloc
15987         rather than xmalloc/xrealloc.
15988         * lib/linebuffer.c (initbuffer, readlinebuffer): Simplify the code by
15989         using x2realloc rather than xmalloc/xrealloc.  Also, fix a C
15990         conformance bug: the old code used a pointer after freeing the
15991         storage that it addressed.
15992         * lib/hash.c (hash_initialize): Simplify the code by using
15993         xalloc_oversized rather than doing it by hand.
15994         * lib/getgroups.c (getgroups): Don't use xrealloc, since we don't need
15995         the buffer preserved.  Use free and xmalloc instead.
15996         * lib/quotearg.c (quotearg_n_options): Likewise.
15997         Use a simpler test for size overflow.  Don't use xalloc_oversized
15998         because unsigned int might be wider than size_t (!); this suggests
15999         that we should switch from unsigned int to size_t for slot numbers.
16000
16001 2003-10-28  Paul Eggert  <eggert@twinsun.com>
16002
16003         * m4/host-os.m4 (UTILS_HOST_OS): Identify GNU/KFreeBSD and
16004         GNU/KNetBSD.  These implementations use glibc atop the FreeBSD and
16005         NetBSD kernels.  Requested by Richard Stallman.
16006
16007 2003-10-27  Paul Eggert  <eggert@twinsun.com>
16008
16009         * lib/exclude.c (new_exclude): Use xzalloc rather than xmalloc
16010         to allocate the returned structure.  Do not allocate a subarray,
16011         as x2nrealloc will do that.
16012         (add_exclude): Use x2nrealloc to reallocate ex->exclude,
16013         instead of xnrealloc.
16014         (add_exclude_file): Use x2realloc instead of malloc + xnrealloc.
16015
16016 2003-10-27  Bruno Haible  <bruno@clisp.org>
16017
16018         * lib/stdbool_.h: Better support for BeOS.
16019
16020 2003-10-26  Paul Eggert  <eggert@twinsun.com>
16021
16022         * m4/xalloc.m4 (gl_XALLOC): Requore AC_C_INLINE, since xalloc.h
16023         now uses inline.
16024
16025 2003-10-26  Paul Eggert  <eggert@twinsun.com>
16026
16027         * lib/xalloc.h (xalloc_oversized): New static inline function, for
16028         callers that want to do their own size-overflow checking.  Include
16029         <stdbool.h>, since xalloc_oversized returns bool.
16030         * lib/xalloc.c (array_size_overflow): Remove.  All callers changed
16031         to use xalloc_oversized.
16032
16033         Add two functions x2realloc, x2nrealloc, for programs that grow
16034         arrays dynamically by doubling their sizes.
16035         * lib/xalloc.h (x2realloc, x2nrealloc): New decls.
16036         * lib/xmalloc.c (x2nrealloc_inline, x2nrealloc, x2realloc):
16037         New functions.
16038
16039         Port to C99 semantics for 'inline' of external functions.
16040         Bug reported by Bruno Haible.
16041         * lib/xmalloc.c (xnmalloc_inline): New static inline function,
16042         with the old contents of xnmalloc.
16043         (xnmalloc, xmalloc): Use it.
16044         (xnrealloc_inline): New static inline function,
16045         with the old contents of xnrealloc.
16046         (xnrealloc, xrealloc): Use it.
16047
16048         * lib/alloc.c (alloca): xmalloc cannot return NULL, so don't test for
16049         that.
16050
16051 2003-10-26  Karl Berry  <karl@gnu.org>
16052
16053         * config/srclist.txt (COPYING.DOC): no longer available from
16054         /gd/gnuorg; don't know where the ultimate source is.
16055
16056 2003-10-25  Paul Eggert  <eggert@twinsun.com>
16057
16058         Fix several address-calculation bugs in the hash modules,
16059         plus some minor code cleanup.
16060
16061         * lib/hash.h: Include <stdbool.h>, for bool.
16062         * lib/hash.c: Don't include <stdbool.h>, since hash.h does it now.
16063         * lib/hash.h (Hash_hasher, hash_get_n_buckets, hash_get_n_buckets_used,
16064         hash_get_n_entries, hash_get_max_bucket_length,
16065         hash_get_entries, hash_do_for_each, hash_string, hash_initialize,
16066         hash_rehash): Use size_t rather than unsigned.
16067         * lib/hash.c (struct hash_table, hash_get_n_buckets,
16068         hash_get_n_buckets_used, hash_get_n_entries,
16069         hash_get_max_bucket_length, hash_table_ok, hash_print_statistics,
16070         hash_get_entries, hash_do_for_each, hash_string, is_prime,
16071         next_prime, hash_initialize, hash_rehash, hash_delete, hash_print):
16072         Likewise.
16073         (SIZE_MAX): Define if not defined.
16074         (hash_get_max_bucket_length, hash_table_ok, hash_lookup,
16075         hash_get_first, hash_get_next, hash_get_entries, hash_do_for_each,
16076         hash_print):
16077         Use const * when possible.
16078         (hash_string): Use (unsigned char) *P rather than *(unsigned char *) P.
16079         (check_tuning): Fix bug: if tuning parameters were very close to
16080         0 or 1, rounding errors could have caused subscript violations.
16081         (hash_initialize, allocate_entry, hash_print): Remove unnecessary cast.
16082         (hash_initialize): Add 'fail:' label
16083         to free table and return NULL, and use it to simplify code.
16084         Use calloc rather than clearing the storage ourself.
16085         (hash_initialize, hash_rehash): Check for arithmetic overflow in
16086         buffer size calculations.
16087         * lib/hash-pjw.h (hash_pjw): Use size_t, not unsigned.
16088         Include <stddef.h>, for size_t.
16089         * lib/hash-pjw.c (hash_pjw): Likewise.
16090         Switch to method described by Bruno Haible.
16091         Include <limits.h>, for CHAR_BIT.
16092         (SIZE_BITS): New macro.
16093
16094 2003-10-23  Paul Eggert  <eggert@twinsun.com>
16095
16096         * m4/getline.m4 (AM_FUNC_GETLINE):
16097         Don't include getndelim2.o twice into LIBOBJS; this breaks on some
16098         hosts.  Problem reported by Derek Robert Price in
16099         <http://mail.gnu.org/archive/html/bug-gnulib/2003-10/msg00092.html>.
16100         This patch can be withdrawn after Autoconf 2.58 is required for gnulib.
16101         * m4/getndelim2.m4 (gl_GETNDELIM2): Likewise.
16102
16103 2003-10-21  Paul Eggert  <eggert@twinsun.com>
16104
16105         * lib/getndelim2.c (getndelim2): When size calculation overflows,
16106         ceiling the allocation at NMAX bytes rather than silently
16107         discarding input bytes before NMAX is reached.  This makes
16108         a difference only if NMAX exceeds SIZE_MAX / 2.
16109
16110         * lib/obstack.c: Merge from glibc.
16111         [defined _LIBC]: Include <obstack.h>, not "obstack.h".
16112         Add libc_hidden_def (_obstack_newchunk).
16113         (_obstack_free) [! defined _LIBC]: Remove.
16114         [defined _LIBC]: Make a strong alias from obstack_free, rather than
16115         a clone of the function body.
16116         (fputs) [defined _LIBC && defined USE_IN_LIBIO]: Remove.
16117         [defined _LIBC && !defined USE_IN_LIBIO]: Include <libio/iolibio.h>.
16118
16119         * lib/obstack.h: Indenting cleanup, to make it easier to merge with
16120         glibc.
16121         (obstack_grow, obstack_grow0): Remove unnecessary parentheses around
16122         arg to memcpy.
16123
16124         * lib/obstack.h (obstack_1grow_fast): Properly parenthesize arg.
16125         (obstack_ptr_grow_fast, obstack_int_grow_fast):
16126         Don't use lvalue casts, as GCC plans to remove support for them
16127         in GCC 3.5.  Reported by Joseph S. Myers.  This bug
16128         was also present in the non-GCC version, indicating that this
16129         code had always been buggy and had never been widely used.
16130         (obstack_1grow, obstack_ptr_grow, obstack_int_grow, obstack_blank):
16131         Use the fast variant of each macro, rather than copying the
16132         definiens of the fast variant; that way, we'll be more likely to
16133         catch future bugs in the fast variants.
16134
16135 2003-10-20  Bruno Haible  <bruno@clisp.org>
16136
16137         * modules/wait-process: New file.
16138         * MODULES.html.sh (func_all_modules): Add wait-process.
16139
16140 2003-10-20  Bruno Haible  <bruno@clisp.org>
16141
16142         * m4/wait-process.m4: New file.
16143
16144 2003-10-20  Bruno Haible  <bruno@clisp.org>
16145
16146         * lib/wait-process.h: New file, from GNU gettext.
16147         * lib/wait-process.c: New file, from GNU gettext.
16148
16149 2003-10-19  Jim Meyering  <jim@meyering.net>
16150
16151         * lib/vasnprintf.c (vasnprintf): Work around losing snprintf on
16152         HPUX 10.20.
16153
16154 2003-10-18  Karl Berry  <karl@gnu.org>
16155
16156         * config/config.guess: update from config.
16157
16158 2003-10-16  Paul Eggert  <eggert@twinsun.com>
16159
16160         * lib/getgroups.c: Include <errno.h>, <stdlib.h>.
16161         (getgroups): First arg is int, not size_t.
16162         Don't let 'free' mangle errno.
16163
16164 2003-10-16  Paul Eggert  <eggert@twinsun.com>
16165
16166         * README: Mention that gnulib assumes that (foo *) NULL + 0 == NULL.
16167
16168 2003-10-16  Karl Berry  <karl@gnu.org>
16169
16170         * config/config.{guess,sub}: update from config.
16171
16172 2003-10-16  Jim Meyering  <jim@meyering.net>
16173
16174         * lib/xmalloc.c: Include <string.h>, for declarations of memset and
16175         memcpy.
16176
16177 2003-10-15  Paul Eggert  <eggert@twinsun.com>
16178
16179         * lib/exclude.c: Do not include <inttypes.h> or <stdint.h>.
16180         (SIZE_MAX): Remove.
16181         (new_exclude, add_exclude_file): Initial size no longer needs to
16182         be a power of 2.
16183         (add_exclude, add_exclude_file): Use xnrealloc instead of rolling
16184         our own address arithmetic overflow checking.
16185
16186         * lib/fnmatch.c (SIZE_MAX): Define if standard headers don't.
16187         (fnmatch): Do not alloca more than 2000 wide characters;
16188         instead, use malloc for large buffers.
16189         Check for address arithmetic overflow, and return -1
16190         with errno set to ENOMEM in that case.
16191         * lib/fnmatch_loop.c (ALLOCA_LIMIT): New macro.
16192         (NEW_PATTERN): Do not alloca more than 8000 bytes;
16193         instead, return -1.  Check for address arithmetic overflow.
16194
16195 2003-10-14  Paul Eggert  <eggert@twinsun.com>
16196
16197         Handle invalid suffixes and overflow independently, so that
16198         callers can treat them independently as needed.  Fix some bugs in
16199         suffix handling, e.g., "100k@" was not diagnosed as an invalid
16200         suffix for a human-readable blocksize.  The major caller-visible
16201         change is the addition of a new
16202         LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW enum value, indicating
16203         that both overflow and suffix chars were found.
16204
16205         * lib/human.c (humblock): Don't check separately for invalid suffix
16206         char; that is xstrtoumax's job (now that its bug is fixed).
16207         * lib/xstrtoimax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [defined
16208         INTMAX_MAX]: New macros.
16209         * lib/xstrtol.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM, TYPE_MINIMUM,
16210         TYPE_MAXIMUM): New macros.
16211         (bkm_scale, bkm_scale_by_power): Return strtol_error, not int.
16212         (bkm_scale, bkm_scale_by_power, __xstrtol): Return maximal values
16213         if overflow occurs, as it's what __strtol does and it's more useful
16214         in practice.
16215         (__xstrtol): If __strtol reports some error other than ERANGE,
16216         reflect it to the caller as LONGINT_INVALID.  If it reports
16217         ERANGE, continue the rest of parsing, and report LONGINT_OVERFLOW
16218         | LONGINT_INVALID_SUFFIX_CHAR if both errors occur.
16219         * lib/xstrtol.h (LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW): New enum
16220         value.
16221         (_STRTOL_ERROR): Handle it.  Abort when given unknown error codes.
16222         * lib/xstrtoul.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM): New macros.
16223         * lib/xstrtoumax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM)
16224         [defined UINTMAX_MAX]: New macros.
16225
16226 2003-10-14  Bruno Haible  <bruno@clisp.org>
16227
16228         * modules/fatal-signal: Add m4/sig_atomic_t.m4 to file list.
16229
16230 2003-10-14  Bruno Haible  <bruno@clisp.org>
16231
16232         * m4/sig_atomic_t: New file, from GNU gettext.
16233         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Require gt_TYPE_SIG_ATOMIC_T.
16234
16235 2003-10-14  Bruno Haible  <bruno@clisp.org>
16236
16237         * lib/fatal-signal.h: Improved comments. Suggested by Paul Eggert.
16238         * lib/fatal-signal.c: Use sig_atomic_t. Suggested by Paul Eggert.
16239         Also use volatile where needed.
16240
16241 2003-10-12  Paul Eggert  <eggert@twinsun.com>
16242
16243         * modules/xalloc: Do not depend on 'exit'.  Depend on 'stdbool'.
16244         Change maintainer from Bruno Haible to 'all'.
16245
16246 2003-10-12  Paul Eggert  <eggert@twinsun.com>
16247
16248         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Require AC_C_INLINE.
16249
16250 2003-10-12  Paul Eggert  <eggert@twinsun.com>
16251
16252         * lib/xalloc.h (xnmalloc, xzalloc, xnrealloc, xclone): New decls.
16253         (XMALLOC, XCALLOC, XREALLOC, XFREE, CCLONE, CLONE): Deprecate,
16254         and define in terms of the other primitives.
16255         * lib/xmalloc.c: Include stdbool.h; do not include exit.h.
16256         (SIZE_MAX): Define if not already defined.
16257         (array_size_overflow): New function.
16258         (xalloc_die): Abort instead of exiting if 'error' returns.
16259         (xnmalloc, xnrealloc, xzalloc, xclone): New functions.
16260         (xmalloc, xrealloc): Use them.
16261         (xcalloc): Check for address arithmetic overflow.
16262         * lib/xstrdup.c (xstrdup): Use xclone, since memcpy should be
16263         a bit faster than strcpy.
16264
16265 2003-10-10  Simon Josefsson  <jas@extundo.com>
16266
16267         * modules/argp (Depends-on): Add restrict and strcase.
16268
16269 2003-10-10  Simon Josefsson  <jas@extundo.com>
16270
16271         * m4/argp.m4: Add AC_C_INLINE.
16272
16273 2003-10-08  Paul Eggert  <eggert@twinsun.com>
16274
16275         Merge getpass from libc, plus a few fixes.
16276
16277         * lib/getpass.c (HAVE_STDIO_EXT) [_LIBC]: Define to 1.
16278         Include <stdbool.h>.
16279         Include <stdio_ext.h> if HAVE_STDIO_H, otherwise define
16280         __fsetlocking to empty.
16281         [_LIBC]: Do not include "getline.h" or "unlocked-io.h", but
16282         do include <bits/libc-lock.h>.
16283         Do not include <fcntl.h>; not needed.
16284         [_LIBC]: Include <wchar.h>.
16285         (NOTCANCEL_MODE): New macro.
16286         (flockfile, funlockfile) [_LIBC]: New macros.
16287         (__libc_cleanup_push, __libc_cleanup_pop, __getline, __tcgetattr)
16288         [!_LIBC]: New macros.
16289         (call_fclose): New function.
16290         (getpass): Use it.  Save tty stream separately; this simplifies the
16291         code and makes it more reliable if stdin happens to equal stdout.
16292         Invoke __fsetlocking on tty.
16293         Handle thread cancellation if needed.
16294         Namespace cleanup (use __tcgetattr, __getline).
16295         Use bool for Booleans.
16296         [USE_IN_LIBIO]: Handle wide streams.
16297         [!_LIBC]: Unconditionally do the fseek, since we don't know what
16298         stream might go where.
16299
16300         * lib/unlocked-io.h: Include <stdio.h>, so that the caller
16301         doesn't have to include <stdio.h> before us.
16302         (clearerr_unlocked, feof_unlocked, ferror_unlocked,
16303         fflush_unlocked, fgets_unlocked, fputc_unlocked, fputs_unlocked,
16304         fread_unlocked, fwrite_unlocked, getc_unlocked, getchar_unlocked,
16305         putc_unlocked, putchar_unlocked): Define to the unlocked counterpart
16306         if not declared, so that we can use getpass.c code from libc without
16307         rewriting it.
16308         (flockfile, ftrylockfile, funlockfile): New macros.
16309
16310 2003-10-08  Paul Eggert  <eggert@twinsun.com>
16311
16312         * modules/getpass: Depend on stdbool.
16313
16314 2003-10-08  Paul Eggert  <eggert@twinsun.com>
16315
16316         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for stdio_ext.h.
16317
16318 2003-10-07  Karl Berry  <karl@gnu.org>
16319
16320         * config/config.{guess,sub}: update from config.
16321
16322 2003-10-06  Jim Meyering  <jim@meyering.net>
16323             Bruno Haible  <bruno@clisp.org>
16324
16325         This lets translators provide better translations for the
16326         "Written by ..." part of --version output.
16327         * lib/version-etc.h: Include stdarg.h.
16328         (version_etc_copyright): Declare as readonly.
16329         (version_etc): Make this function variadic with a NULL-terminated list
16330         of author name strings.
16331         (version_etc_va): New declaration.
16332         * lib/version-etc.c: Include stdarg.h, stdlib.h.
16333         (version_etc_copyright): Declare as readonly.
16334         (version_etc_va): New function. Provide a different translatable string
16335         for each possible number of authors < 10. Abbreviate when there are 10
16336         authors or more.
16337         (version_etc): Make this function variadic. Call version_etc_va.
16338         Suggestion from Gary V. Vaughan.
16339
16340         * lib/long-options.h (parse_long_options): Change prototype: the
16341         authors string is moved to the end and becomes variadic.
16342         * lib/long-options.c: Include stdarg.h.
16343         (parse_long_options): Make this function variadic, too.
16344         Call version_etc_va, not version_etc.
16345
16346 2003-10-06  Bruno Haible  <bruno@clisp.org>
16347
16348         * modules/version-etc-2: Remove file.
16349         * MODULES.html.sh (func_all_modules): Remove version-etc-2.
16350
16351 2003-10-06  Bruno Haible  <bruno@clisp.org>
16352
16353         * modules/fatal-signal: New file.
16354         * MODULES.html.sh (func_all_modules): Add fatal-signal.
16355
16356 2003-10-06  Bruno Haible  <bruno@clisp.org>
16357
16358         * m4/fatal-signal.m4: New file.
16359         * m4/signalblocking.m4: New file, from GNU gettext.
16360
16361 2003-10-06  Bruno Haible  <bruno@clisp.org>
16362
16363         * lib/version-etc-2.h: Remove file.
16364         * lib/version-etc-2.c: Remove file.
16365
16366 2003-10-06  Bruno Haible  <bruno@clisp.org>
16367
16368         * lib/fatal-signal.h: New file, from GNU gettext.
16369         * lib/fatal-signal.c: New file, from GNU gettext.
16370
16371 2003-10-05  Paul Eggert  <eggert@twinsun.com>
16372
16373         * README: Rework advice for preventing empty .o files.
16374         Don't recommend ELIDE constructs.  Recommend <stddef.h>,
16375         not <sys/types.h>.
16376
16377 2003-10-04  Karl Berry  <karl@gnu.org>
16378
16379         * lib/argp*: update from libc.
16380
16381 2003-10-04  Karl Berry  <karl@gnu.org>
16382
16383         * config/config.{guess,sub}: update from config.
16384
16385 2003-10-02  Bruno Haible  <bruno@clisp.org>
16386
16387         * modules/lchown (Include): Add lchown.h.
16388         * modules/time_r (Include): Use "..." syntax.
16389         * modules/xgetdomainname (Include): Add xgetdomainname.h.
16390
16391 2003-10-01  Simon Josefsson  <jas@extundo.com>
16392
16393         * MODULES.html.sh (func_all_modules): Move gethostname from section
16394         'based on' to section 'lacking' POSIX:2001.
16395
16396 2003-10-01  Larry Jones  <lawrence.jones@eds.com>
16397
16398         * lib/getpass.c (getpass): Use a no-op fseek when switching from input
16399         to output mode on the same stream.
16400
16401 2003-09-29  Paul Eggert  <eggert@twinsun.com>
16402
16403         * lib/strftime.c (tm_diff) [! HAVE_TM_GMTOFF]:
16404         Fix arg typo in previous patch.
16405
16406 2003-09-28  Jim Meyering  <jim@meyering.net>
16407
16408         * lib/error.c: Correct cpp indentation.
16409
16410 2003-09-27  Paul Eggert  <eggert@twinsun.com>
16411
16412         * modules/free: New file.
16413
16414 2003-09-27  Paul Eggert  <eggert@twinsun.com>
16415
16416         * m4/free.m4: New file.
16417
16418 2003-09-27  Paul Eggert  <eggert@twinsun.com>
16419
16420         * lib/minmax.h (MIN, MAX)
16421         [__STDC__ && defined __GNUC__ && __GNUC__ >= 2]:
16422         Omit the special code that used __typeof__, since we worry that
16423         it could be more trouble than it's worth.  See:
16424         http://mail.gnu.org/archive/html/bug-gnulib/2003-01/msg00090.html
16425         http://mail.gnu.org/archive/html/bug-gnulib/2003-01/msg00095.html
16426
16427         * lib/free.c: New file.
16428
16429 2003-09-27  Oskar Liljeblad  <oskar@osk.mine.nu>
16430
16431         Trivial fixes to Makefile.am parts of module listings.
16432         * modules/strstr: Append strstr.h to lib_SOURCES.
16433         * modules/strcase: Likewise, for strcase.h.
16434
16435 2003-09-27  Karl Berry  <karl@gnu.org>
16436
16437         * config/mkinstalldirs: update from automake.
16438
16439 2003-09-26  Paul Eggert  <eggert@twinsun.com>
16440
16441         * lib/error.c (SIZE_MAX) [!defined SIZE_MAX]: Define.
16442         (error_tail): Do not loop, reallocating temporary buffer, since
16443         the output cannot contain more wide characters than the input
16444         contains bytes, the size must be big enough already.  This avoids
16445         one potential size overflow calculation.  Check for size overflow
16446         when calculating temporary buffer size.  Free temporary buffer
16447         when done, if it was allocated with malloc; this plugs a memory
16448         leak.  Remove casts from void * to pointers, that are no longer
16449         needed now that we're assuming C89 or better.
16450
16451         Merge error changes from glibc.
16452
16453         * lib/error.c, error.h: Update copyright notice header to match glibc.
16454         * lib/error.c [defined _LIBC]: Include <errno.h>, <bits/libc-lock.h>.
16455         (error, error_at_line) [defined _LIBC && defined __libc_ptf_call]:
16456         Disable cancellation while printing error.
16457         * lib/error.h: Prepend __ to parameter names.
16458
16459 2003-09-26  Jim Meyering  <jim@meyering.net>
16460
16461         * lib/error.c (error_tail): Move some declarations
16462         into inner scope where the local variables are used.
16463
16464 2003-09-26  Bruno Haible  <bruno@clisp.org>
16465
16466         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Add comments about the AIX
16467         stpncpy().
16468         Don't define stpncpy through config.h; it's now done through stpncpy.h.
16469
16470 2003-09-26  Bruno Haible  <bruno@clisp.org>
16471
16472         * lib/stpncpy.h (gnu_stpncpy): New declaration.
16473         (stpncpy): Define as alias for gnu_stpncpy.
16474         * lib/stpncpy.c [!_LIBC]: Define gnu_stpncpy, not stpncpy.
16475
16476 2003-09-25  Simon Josefsson  <jas@extundo.com>
16477
16478         * lib/xgetdomainname.h: New file.
16479         * lib/xgetdomainname.c: New file.
16480
16481 2003-09-25  Simon Josefsson  <jas@extundo.com>
16482             Bruno Haible  <bruno@clisp.org>
16483
16484         * modules/getdomainname: New file.
16485         * modules/xgetdomainname: New file.
16486         * MODULES.html.sh (func_all_modules): Add getdomainname,
16487         xgetdomainname.
16488
16489 2003-09-25  Simon Josefsson  <jas@extundo.com>
16490             Bruno Haible  <bruno@clisp.org>
16491
16492         * m4/getdomainname.m4: New file.
16493
16494 2003-09-25  Simon Josefsson  <jas@extundo.com>
16495             Bruno Haible  <bruno@clisp.org>
16496
16497         * lib/getdomainname.h: New file.
16498         * lib/getdomainname.c: New file.
16499
16500 2003-09-25  Karl Berry  <karl@gnu.org>
16501
16502         * lib/argp-fmtstream.c, argp-help.c: update from libc.
16503
16504 2003-09-25  Karl Berry  <karl@gnu.org>
16505
16506         * config/install-sh: update from automake.
16507
16508 2003-09-25  Bruno Haible  <bruno@clisp.org>
16509
16510         * modules/version-etc-2: New file, from modules/version-etc with
16511         modifications.
16512         * MODULES.html.sh (func_all_modules): Add version-etc-2.
16513
16514 2003-09-25  Bruno Haible  <bruno@clisp.org>
16515
16516         * lib/version-etc-2.h: New file, from version-etc.h with modifications.
16517         * lib/version-etc-2.c: New file, from version-etc.c with modifications.
16518
16519 2003-09-24  Simon Josefsson  <jas@extundo.com>
16520
16521         * modules/xgethostname: Add xgethostname.h.
16522
16523 2003-09-24  Paul Eggert  <eggert@twinsun.com>
16524
16525         * lib/linebuffer.c (freebuffer): Don't free the argument, just
16526         the buffer associated with the argument.  Bug reported by
16527         Simon Josefsson.
16528
16529 2003-09-24  Paul Eggert  <eggert@twinsun.com>
16530
16531         * README: Document assumptions that 'int' is at least 32 bits
16532         wide, that integer arithmetic is 2's complement without overflow,
16533         that there are no holes in integer values, that adding sizes of
16534         two nonoverlapping objects can't overflow, and that all-bits-zero
16535         yields scalar zero.  Fix spelling and capitalization typos.
16536
16537 2003-09-19  Karl Berry  <karl@gnu.org>
16538
16539         * lib/argp.h: update from libc.
16540
16541 2003-09-17  Paul Eggert  <eggert@twinsun.com>
16542
16543         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Call AC_BEFORE first,
16544         to avoid spurious warnings like "AC_RUN_IFELSE was called before
16545         gl_USE_SYSTEM_EXTENSIONS" from autoreconf.
16546
16547 2003-09-17  Paul Eggert  <eggert@twinsun.com>
16548
16549         * gnulib-tool: Use "test -h", not "test -L", for portability
16550         to Solaris 8 /bin/sh.  (This bug is fixed in Solaris 9.)
16551         (tags_regexp): Remove, since \| doesn't conform to POSIX.
16552         (sed_extract_prog): Issue s commands one-by-one, rather than
16553         using \| in one s command.
16554
16555 2003-09-16  Paul Eggert  <eggert@twinsun.com>
16556
16557         * lib/linebuffer.c (readlinebuffer): Return NULL immediately upon
16558         input error, instead of returning NULL the next time we are called
16559         (and therefore losing track of errno).
16560
16561 2003-09-16  Bruno Haible  <bruno@clisp.org>
16562
16563         * gnulib-tool (func_create_testdir): Warn about duplicated
16564         dependencies.
16565
16566 2003-09-15  Paul Eggert  <eggert@twinsun.com>
16567
16568         * modules/argmatch, modules/fatal, modules/obstack,
16569         modules/xalloc, modules/xgethostname: Sort dependencies by
16570         importance, not alphabetically.
16571
16572 2003-09-15  Paul Eggert  <eggert@twinsun.com>
16573
16574         * lib/getndelim2.c (getndelim2): Don't trash errno when a read
16575         fails, so that the caller gets the proper errno.
16576
16577         * lib/readutmp.c (read_utmp): Likewise.
16578         Check for fstat error.  Close stream and free storage
16579         when failing.
16580
16581 2003-09-14  Karl Berry  <karl@gnu.org>
16582
16583         * config/srclist.txt (strdup.c): disable for c89 changes.
16584
16585 2003-09-14  Jim Meyering  <jim@meyering.net>
16586
16587         * lib/getloadavg.c: Correct cpp indentation.
16588         * lib/strdup.c: Likewise.
16589         * lib/vasnprintf.c: Likewise.
16590
16591 2003-09-14  Bruno Haible  <bruno@clisp.org>
16592
16593         * modules/fwriteerror: New file.
16594         * MODULES.html.sh (func_all_modules): Add fwriteerror.
16595
16596 2003-09-14  Bruno Haible  <bruno@clisp.org>
16597
16598         * lib/fwriteerror.h: New file.
16599         * lib/fwriteerror.c: New file.
16600
16601 2003-09-12  Paul Eggert  <eggert@twinsun.com>
16602
16603         * modules/argmatch, modules/exitfail, modules/fatal, modules/obstack,
16604         modules/xgethostname, modules/xalloc: Depend on exit.
16605
16606 2003-09-12  Paul Eggert  <eggert@twinsun.com>
16607
16608         * m4/error.m4: Require AC_FUNC_STRERROR_R rather than invoking it.
16609
16610         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Require AC_AIX
16611         and AC_MINIX, too, so that their extensions are available.
16612
16613         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Remove.  All uses removed.
16614         This macro has been superseded by gl_BACKUPFILE.
16615
16616         More patches to assume C89 or better.
16617
16618         * m4/error.m4 (gl_ERROR): Don't check for vprintf.
16619
16620         * m4/check-decl.m4 (jm_CHECK_DECLS): Include <string.h>, <stdlib.h>
16621         unconditionally.
16622         * m4/closeout.m4 (gl_CLOSEOUT): Don't check for stdlib.h.
16623         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER):
16624         Include <string.h>, <stdlib.h> unconditionally.
16625         * m4/lstat.m4 (gl_PREREQ_LSTAT): Don't check for stdlib.h, free.
16626         * m4/readdir.m4 (GL_FUNC_READDIR): Don't check for string.h.
16627         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Don't check for standard C
16628         headers or for string.h.
16629         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Don't check for stdlib.h
16630         or strtoul.
16631
16632         * m4/mkstemp.m4 (jm_PREREQ_TEMPNAME): Do not require standard C
16633         headers.
16634         * m4/strdup.m4 (gl_PREREQ_STRDUP): Likewise.
16635         * m4/userspec.m4 (gl_USERSPEC): Likewise.
16636         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Likewise.
16637         * m4/xstrtod.m4 (gl_XSTRTOD): Likewise.
16638         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
16639         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't check for limits.h,
16640         memcpy, memset.
16641         (jm_FUNC_GNU_STRFTIME): Don't require standard C headers.
16642         * m4/strtod.m4 (gl_FUNC_STRTOD): Do not check for float.h.
16643         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Do not check for stdlib.h,
16644         strtol.
16645         * m4/strtol.m4 (gl_FUNC_STRTOL): Do not check for limits.h.
16646         * m4/userspec.m4 (gl_USERSPEC): Do not check for string.h.
16647         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Do not check for string.h, strtol,
16648         strtoul.
16649
16650 2003-09-12  Paul Eggert  <eggert@twinsun.com>
16651
16652         * lib/argmatch.c, fatal.c, xgethostname.c, xmalloc.c: Include exit.h.
16653         * lib/obstack.c [!defined _LIBC]: Likewise.
16654         * lib/argmatch.c (EXIT_FAILURE): Remove; now done by exit.h
16655         * lib/exitfail.c, fatal.c, xgethostname.c, xmalloc.c: Likewise.
16656         * lib/exitfail.c: Don't include stdlib.h; no longer needed.
16657
16658         More changes to assume C89 or better.
16659
16660         * lib/error.c (error_tail): Assume vprintf.
16661
16662         * lib/argmatch.c (getenv): Remove decl.
16663         * lib/progreloc.c (get_full_program_name): Define via prototype.
16664         * lib/setenv.c (clearenv): Likewise.
16665         * lib/stpncpy.c: Do not include <string.h> or <sys/types.h>; not
16666         needed.
16667         * lib/strdup.c: Include <stdlib.h>, <string.h> unconditionally.
16668         (malloc, memcpy): Remove decls.
16669         * lib/strftime.c (HAVE_LIMITS_H, STDC_HEADERS) [defined _LIBC]: Remove.
16670         (HAVE_MEMCPY) [defined emacs && !defined HAVE_BCOPY]: Remove.
16671         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
16672         (memcpy): Remove macro.
16673         (MEMCPY) [!defined COMPILE_WIDE]: Define to memcpy unconditionally.
16674         (__P): Remove.  All uses removed.
16675         (PTR): Remove.  All uses changed to void *.
16676         (CHAR_BIT, NULL): Remove.
16677         (spaces, zeros, memset_space, memset_zero)
16678         [!defined memset && !defined HAVE_MEMSET && !defined _LIBC]:
16679         Remove.
16680         (LOCALE_PARAM, LOCALE_PARAM_DECL): Remove.
16681         (memcpy_lowcase, memcpy_uppcase, tm_diff, iso_week_days):
16682         Define with prototype.
16683         Remove now-unnecessary prototype decl.
16684         (extra_args_spec): Assume ANSI C.  All uses changed.
16685         (extra_args_spec_iso): Remove.
16686         (my_strftime, emacs_strftimeu): Define via prototype.
16687         * lib/strtod.c: Include <float.h>, <stdlib.h>, <string.h>
16688         unconditionally.
16689         (DBL_MAX, DBL_MIN, HUGE_VAL, NULL): Remove decls.
16690         * lib/strtoimax.c: Include <stdlib.h> unconditionally.
16691         (strtoul, strtol): Remove decls.
16692         * lib/strtol.c (STDC_HEADERS, HAVE_LIMITS_H, NULL, ULONG_MAX,
16693         LONG_MAX): Remove.
16694         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
16695         (LOCALE_PARAM_DECL): Remove.  All uses changed to LOCALE_PARAM_PROTO.
16696         (LOCALE_PARAM_PROTO): New macro.
16697         (INTERNAL, INTERNAL1, WEAKNAME): Assume ANSI C, not K&R.
16698         (INTERNAL (strtol), strtol): Define with a prototype.
16699         (PARAMS): Remove.  All uses removed.
16700         * lib/tempname.c: Include <string.h> unconditionally.
16701         * lib/userspec.c: Include <stdlib.h>, <string.h> unconditionally.
16702         * lib/xgethostname.c (main): Define with a prototype.
16703         * lib/xmalloc.c: Include "xalloc.h" first, to check interface.
16704         Include <stdlib.h> unconditionally.
16705         (calloc, malloc, realloc, free): Remove decls.
16706         * lib/xstrtod.c: Include "xstrtod.h" first, to check interface.
16707         Include <stdlib.h> unconditionally.  Sort include file names.
16708         (strtod): Remove.
16709         (xstrtod): Define with a prototype.
16710         * lib/xstrtol.c: Include <stdlib.h>, <string.h> unconditionally.
16711         (strtol, strtoul): Remove decls.
16712
16713 2003-09-11  Paul Eggert  <eggert@twinsun.com>
16714
16715         More patches to assume C89 or better.
16716         * m4/strndup.m4 (gl_PREREQ_STRNDUP): Remove STDC_HEADERS check.
16717         * m4/strnlen.m4 (gl_PREREQ_STRNLEN): Don't check for memory.h,
16718         string.h, memchr, STDC_HEADERS.
16719
16720 2003-09-11  Paul Eggert  <eggert@twinsun.com>
16721
16722         * lib/strndup.c: Don't include <stdio.h>, <sys/types.h>.
16723         Include <stdlib.h>, <string.h> unconditionally.
16724         Remove now-unnecessary cast to char *.
16725         * lib/strnlen.c: Include <string.h> unconditionally.
16726         * lib/yesno.c (yesno): Define with a prototype.
16727
16728 2003-09-11  Bruno Haible  <bruno@clisp.org>
16729
16730         * config/srclist.txt (setenv.c, unsetenv.c): Disable for the moment.
16731
16732 2003-09-10  Jim Meyering  <jim@meyering.net>
16733
16734         * lib/error.c: Correct indentation of cpp directives.
16735
16736 2003-09-10  Bruno Haible  <bruno@clisp.org>
16737
16738         * m4/strcspn.m4 (gl_PREREQ_STRCSPN): Remove <string.h> check.
16739         * m4/strpbrk.m4 (gl_PREREQ_STRPBRK): Remove <string.h> check.
16740         * m4/strstr.m4 (gl_PREREQ_STRSTR): Remove <string.h> check.
16741         * m4/unicodeio.m4 (gl_UNICODEIO): Remove <string.h> check.
16742         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove
16743         <stdlib.h> and <string.h> checks.
16744         * m4/xreadlink.m4 (gl_XREADLINK): Remove <stdlib.h> check.
16745         * m4/yesno.m4 (gl_YESNO): Remove <stdlib.h> check.
16746
16747 2003-09-10  Bruno Haible  <bruno@clisp.org>
16748
16749         * lib/strcspn.c: Include <string.h> unconditionally.
16750         * lib/strpbrk.c: Include <string.h> unconditionally.
16751         * lib/strstr.c: Include <string.h> unconditionally.
16752         * lib/unicodeio.c: Include <string.h> unconditionally.
16753         * lib/setenv.c: Include <stdlib.h> and <string.h> unconditionally.
16754         * lib/unsetenv.c: Likewise.
16755         * lib/xreadlink.c: Include <stdlib.h> unconditionally.
16756         * lib/yesno.c: Include <stdlib.h> unconditionally.
16757         (rpmatch): Add prototype.
16758
16759 2003-09-09  Paul Eggert  <eggert@twinsun.com>
16760
16761         More patches to assume C89 or better.
16762         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Don't check for stdlib.h.
16763         * m4/getopt.m4 (gl_GETOPT): Don't check for string.h.
16764         * m4/getugroups.m4 (gl_GETUGROUPS): Do not check for standard C headers
16765         or for string.h.
16766         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Do not check for
16767         stdlib.h.
16768         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): Do not require standard
16769         C headers.
16770         * m4/hard-locale.m4 (gl_HARD_LOCALE): Do not check for stdlib.h,
16771         string.h.
16772         * m4/hash.m4 (gl_HASH): Do not check for stdlib.h, malloc, free.
16773         * m4/human.m4 (gl_HUMAN): Do not check for stdlib.h, string.h, getenv.
16774         * m4/idcache.m4 (gl_IDCACHE): Do not check for standard C headers,
16775         or for string.h.
16776         * m4/long-options.m4 (gl_LONG_OPTIONS): Do not check for stdlib.h.
16777         * m4/makepath.m4 (gl_MAKEPATH): Do not check for string.h or standard
16778         C headers.
16779         * m4/md5.m4 (gl_MD5): Don't check for limits.h, standard C headers,
16780         memcpy.
16781         * m4/sha.m4 (gl_SHA): Don't check for standard Cheaders, memcpy.
16782         * m4/memchr.m4 (jm_PREREQ_MEMCHR): Don't check for limits.h, stdlib.h.
16783         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): Don't check for string.h.
16784         * m4/memcoll.m4 (gl_MEMCOLL): Likewise.
16785         * m4/memrchr.c (gl_PREREQ_MEMRCHR): Don't check for limits.h.
16786         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): Don't check for stdlib.h,
16787         string.h, free.
16788         * m4/mktime.m4 (gl_PREREQ_MKTIME): Don't check for standard C headers.
16789         * m4/modechange.m4 (gl_MODECHANGE): Don't check for standard C headers.
16790         * m4/mountlist.m4 (gl_PREREQ_MOUNTLIST_EXTRA): Don't check for standard
16791         C headers, or for string.h.
16792         * m4/obstack.m4 (gl_OBSTACK): Don't check for stddefe.h, string.h.
16793         (gl_PREREQ_OBSTACK): Don't check for stdlib.h.
16794         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't check for standard C
16795         headers, memory.h, stdlib.h, string.h, strings.h.
16796         * m4/posixtm.m4 (gl_POSIXTM): Don't check for stdlib.h, string.h.
16797         * m4/posixver.m4 (gl_POSIXVER): Don't check for getenv.
16798         * m4/putenv.m4 (gl_PREREQ_PUTENV): Don't check for string.h, memcpy,
16799         strchr.
16800         * m4/readtokens.m4 (gl_READTOKENS): Don't check for standard C
16801         headers, memory.h, string.h.
16802         * m4/regex.m4 (jm_PREREQ_REGEX): Do not check for limits.h, string.h.
16803         * m4/rename.m4 (gl_PREREQ_RENAME): Do not check for stdlib.h, string.h,
16804         free.
16805         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Don't check for standard C
16806         headers.
16807         * m4/same.m4 (gl_SAME): Don't check for stdlib.h, string.h, free.
16808         * m4/save-cwd.m4 (gl_SAVE_CWD): Don't check for standard C headers.
16809         * m4/savedir.m4 (gl_SAVEDIR): Don't check for standard C headers.
16810         * m4/strchrnul.m4 (gl_PREREQ_STRCHRNUL): Don't check for string.h.
16811         * m4/xgetcwd.m4 (gl_XGETCWD): Don't check for stdlib.h.
16812
16813 2003-09-09  Paul Eggert  <eggert@twinsun.com>
16814
16815         More K&R removal.
16816
16817         * lib/acosl.c (main): Use a prototype.
16818         * lib/asinl.c, cosl.c, expl.c, frexpl.c, ldexpl.c, sinl.c,
16819         tanl.c: Likewise.
16820
16821         * lib/getloadavg.c (getloadavg, main): Define via prototypes.
16822
16823         * lib/getopt.h (struct option.name): Assume C89, and use 'const'.
16824         (getopt, etopt_long, getopt_long_only, _getopt_internal)
16825         [defined __GNU_LIBRARY__]: Assume C89, so we can always declare
16826         with a prototype.
16827         * lib/getopt.c (const): Remove macro.
16828         Include <string.h> unconditionally.
16829         (my_index): Remove; all uses changed to strchr.
16830         (strlen): Remove decl.
16831         (exchange): Remove forward decl; no longer needed.
16832         (exchange, _getopt_initialize, _getopt_internal, getopt, main):
16833         Define with prototype.
16834         * lib/getopt1.c (const): Remove macro.
16835         (getopt_long, getopt_long_only, main): Define with prototype.
16836
16837         * lib/getugroups.c: Include <string.h> unconditionally.
16838
16839         * lib/getusershell.c: Include <stdlib.h> unconditionally.
16840         (getusershell, setusershell, endusershell, readname, main):
16841         Define with prototypes.
16842
16843         * lib/group-member.c: Include group-member.h first.
16844         Include <stdlib.h> unconditionally.
16845
16846         * lib/hard-locale.c: Include hard-locale.h first.
16847         Include <stdlib.h>, <string.h> unconditionally.
16848
16849         * lib/hash.c (free, malloc): Remove decls.
16850         Include <stdlib.h> unconditionally.
16851
16852         * lib/human.c: Include <stdlib.h>, <string.h> unconditionally.
16853         (getenv): Do not declare.
16854
16855         * lib/idcache.c: Include <string.h> unconditionally.
16856
16857         * lib/long-options.c: Include long-options.h first, to test interface.
16858         Include <stdlib.h> unconditionally.
16859
16860         * lib/makepath.c: Include makepath.h first, to test interface.
16861         Include <stdlib.h> and <string.h> unconditionally.
16862
16863         * lib/linebuffer.c: Include <stdlib.h>.
16864         (free): Remove decl.
16865
16866         * lib/malloc.c: Include <stdlib.h>, for malloc; don't bother with
16867         stddef.h. rpl_malloc returns void *, not char *.
16868         * lib/realloc.c (rpl_realloc): Likewise.  Also, define with a
16869         prototype.
16870
16871         * lib/md5.h: Include <limits.h> unconditionally.
16872         (UINT_MAX_32_BITS): Don't worry about non-__STDC__ case.
16873         (__P): Remove; all uses removed.
16874         * lib/md5.c: Include "md5.h" first.
16875         (md5_init_ctx, md5_read_ctx, md5_finish_ctx, md5_stream,
16876         md5_buffer, md5_process_bytes, md5_process_block):
16877         Define with prototypes.
16878         * lib/sha.h (__P): Remove all uses.  (It wasn't defined??)
16879         * lib/sha.c: Include "sha.h" first.
16880         Include <stdlib.h>, <string.h> unconditionally.
16881
16882         * lib/memchr.c (__ptr_t): Remove; all uses changed to void *.
16883         * lib/memcmp.c (__ptr_t): Likewise.
16884         * lib/memrchr.c (__ptr_t): Likewise.
16885         * lib/memchr.c, memcmp.c, memcoll.c, memrchr.c:
16886         Include <string.h> unconditionally.
16887         * lib/memchr.c, memrchr.c: Include <limits.h> unconditionally.
16888         * lib/memchr.c: Include <stdlib.h> unconditionally.
16889         * lib/memchr.c (LONG_MAX): Remove.
16890         * lib/memrchr.c (LONG_MAX): Likewise.
16891         * lib/memchr.c (__memchr): Define via a prototype.
16892         * lib/memrchr.c (__memrchr): Likewise.
16893         * lib/memcmp.c (__P): Remove, and remove all uses.
16894         (memcmp_bytes, memcmp_common_alignment, memcmp_not_common_alignment):
16895         Remove forward decls; no longer needed.
16896         * lib/memcpy.c, memmove.c, memset.c: Include <stddef.h>.
16897         Use types required by C89 in prototype.
16898
16899         * lib/mkdir.c: Include <stdlib.h>, <string.h> unconditionally.
16900         * lib/savedir.c: Likewise.
16901         * lib/mkdir.c (free): Remove decl.
16902         * lib/rmdir.c (rmdir): Define with a prototype.
16903         * lib/savedir.c: Include savedir.h first, to test interface.
16904
16905         * lib/mktime.c (STDC_HEADERS): Remove.
16906         Include <stdlib.h>, <string.h> unconditionally.
16907
16908         * lib/modechange.c: Include <stdlib.h> unconditionally.
16909         (malloc): Remove decl.
16910
16911         * lib/mountlist.c: Include <stdlib.h>, <string.h> unconditionally.
16912         (free): Remove decl.
16913
16914         * lib/obstack.h (PTR_INT_TYPE) [!defined __PTRDIFF_TYPE__]:
16915         Define to ptrdiff_t, without bothering to check HAVE_STDDEF_H.
16916         (This type really should be intptr_t, but that's a C99ism.)
16917         (_obstack_memcpy): Remove: all uses changed to memcpy.
16918         Include <string.h> unconditionally.
16919         (struct obstack): Assume __STDC__ for types of members
16920         chunkfun, freefun, extra_arg.
16921         (_obstack_newchunk, _obstack_free, _obstack_begin, _obstack_begin_1,
16922         _obstack_memory_used, obstack_alloc_failed_handler, obstack_init,
16923         obstack_begin, obstack_specify_allocation,
16924         obstack_specify_allocation_with_arg, obstack_chunkfun,
16925         obstack_freefun, obstack_free) [! (defined __STDC__ && __STDC__)]:
16926         Remove unprototyped decls and the macros that use them.
16927         * lib/obstack.c (POINTER): Remove.  All uses changed to void *.
16928         (obstack_alloc_failed_handler, CALL_CHUNKFUN, CALL_FREEFUN,
16929         _obstack_begin, _obstack_begin_1, _obstack_allocated_p)
16930         (defined __STDC__ && __STDC__)]:
16931         Remove nonprototyped code.
16932         Include <stdlib.h> unconditionally.
16933         (_obstack_begin, _obstack_begin_1, _obstack_newchunk,
16934         _obstack_allocated_p, _obstack_free, obstack_free,
16935         _obstack_memory_used, print_and_abort):
16936         Define using prototypes.
16937         (obstack_1grow, obstack_1grow_fast, obstack_alloc, obstack_base,
16938         obstack_blank, obstack_blank_fast, obstack_copy, obstack_copy0,
16939         obstack_finish, obstack_grow, obstack_grow0, obstack_make_room,
16940         obstack_next_free, obstack_object_size, obstack_room) [0]:
16941         Remove unused, unprototyped code.
16942
16943         * lib/path-concat.c: Include <stdlib.h>, <string.h> unconditionally.
16944
16945         * lib/physmem.c (physmem_total, physmem_available, main): Define
16946         with prototypes.
16947
16948         * lib/posixtm.c: Include <stdlib.h>, <string.h> unconditionally.
16949         (main): Define with a prototype.
16950
16951         * lib/posixver.c (getenv): Remove decl.
16952
16953         * lib/putenv.c (malloc): Returns void *, not char *.
16954         Include <string.h> unconditionally.
16955         (strchr, memcpy, NULL): Do not define.
16956
16957         * lib/readtokens.c: Include readtokens.h first, to test interface.
16958         Include <stdlib.h>, <string.h> unconditionally.
16959         (init_tokenbuffer): Define with a prototype.
16960
16961         * lib/regex.c (PARAMS): Remove.  All uses removed.
16962         All uses of _RE_ARGS removed, too.
16963         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
16964         unconditionally.
16965         (bzero): Assume memset exists.
16966         (memcmp, memcpy, NULL): Remove.
16967         (SIGN_EXTEND_CHAR): Remove; all uses replaced by casts to signed
16968         char, or assignments to local vars of type signed char.
16969         (init_syntax_once, PREFIX(extract_number_and_incr),
16970         PREFIX(print_partial_compiled_pattern),
16971         PREFIX(print_compiled_pattern), PREFIX(print_double_string),
16972         convert_mbs_to_wcs, print_fastmap, re_set_syntax,
16973         PREFIX(regex_grow_registers), PREFIX(regex_compile),
16974         PREFIX(store_op1), PREFIX(store_op2), PREFIX(insert_op1),
16975         PREFIX(insert_op2), PREFIX(at_begline_loc_p),
16976         PREFIX(at_endline_loc_p), group_in_compile_stack, insert_space,
16977         wcs_compile_range, byte_compile_range, truncate_wchar,
16978         PREFIX(re_compile_fastmap), re_compile_fastmap, re_set_registers,
16979         re_search, re_search_2, PREFIX(re_search_2), re_match, re_match_2,
16980         count_mbs_length, wcs_re_match_2_internal,
16981         byte_re_match_2_internal, PREFIX(group_match_null_string_p),
16982         PREFIX(alt_match_null_string_p),
16983         PREFIX(common_op_match_null_string_p), PREFIX(bcmp_translate),
16984         re_compile_pattern, re_comp, re_exec, regcomp, regexec, regerror,
16985         regfree, PREFIX(extract_number)): Define with prototype.  Remove
16986         now-unnecessary declaration, if any.
16987         (byte_compile_range, PREFIX(regex_compile), re_comp, re_exec,
16988         regcomp, regexec):
16989         Remove now-unnecessary casts among pointer types.
16990         * lib/regex.h (_RE_ARGS): Remove.  All uses removed.
16991
16992         * lib/rename.c: Include <stdlib.h>, <string.h> unconditionally.
16993         (free): Remove decl.
16994
16995         * lib/rpmatch.c: Include <stdlib.h> unconditionally.
16996
16997         * lib/same.c: Include <stdlib.h>, <string.h> unconditionally.
16998         (free): Remove decl.
16999
17000         * lib/save-cwd.c: Include <stdlib.h> unconditionally.
17001         * lib/xgetcwd.c: Likewise.
17002
17003         * lib/stat.c: Include <stdlib.h>, <string.h> unconditionally.
17004         (free): Remove decl.
17005
17006         * lib/strchrnul.c (strchrnul): Define with a prototype.
17007         Fix bug: c_in was not converted to char before searching.
17008
17009         The following changes are not K&R related:
17010
17011         * lib/group-member.h: Include <sys/types.h>, so that this file is
17012         self-contained.
17013         * lib/makepath.h: Likewise.
17014
17015         * lib/getusershell.c (readname, default_index, line_size, readname):
17016         Use size_t, not int, for sizes.
17017         (readname): If the size overflows, report an error instead of
17018         looping forever.
17019
17020 2003-09-09  Paul Eggert  <eggert@twinsun.com>
17021
17022         * config/srclist.txt: Do not get getopt.h, getopt1.c, or regex.h from
17023         libc.
17024
17025 2003-09-09  Paul Eggert  <eggert@twinsun.com>
17026
17027         * README: New section: portability guidelines.
17028
17029 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
17030
17031         * m4/getndelim2.m4 (gl_PREREQ_GETNDELIM2): Assume stdlib.h per the
17032         C89 spec.
17033
17034 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
17035
17036         * lib/getndelim2.c: Assume stdlib.h per the C89 spec.
17037
17038 2003-09-08  Paul Eggert  <eggert@twinsun.com>
17039
17040         Assume C89 or better; remove K&R cruft.
17041         A few of these changes were first proposed by Derek Robert Price
17042         in <http://mail.gnu.org/archive/html/bug-gnulib/2003-07/msg00105.html>.
17043
17044         * lib/addext.c: Include <string.h> unconditionally.
17045         * lib/backupfile.c: Include <string.h>, <stdlib.h> unconditionally.
17046         Don't declare getenv or malloc.
17047
17048         * lib/alloca.c: Include <string.h>, <stdlib.h> unconditionally.
17049         (POINTER_TYPE, pointer): Remove; all uses changed to void *.
17050         (NULL): Remove.
17051         (find_stack_direction, alloca): Use prototypes.
17052
17053         * lib/atexit.c (atexit): Define using a prototype.
17054
17055         * lib/basename.c, dirname.c, stripslash.c:
17056         Include <string.h> unconditionally.
17057
17058         * lib/bcopy.c: Include <stddef.h>.
17059         (bcopy): Define with prototype, using 'const' and 'void' and 'size_t'.
17060
17061         * lib/canon-host.c: Include <stdlib.h>, <string.h> unconditionally.
17062
17063         * lib/error.h (error, error_at_line, error_print_progname)
17064         [! (defined (__STDC__) && __STDC__)]: Remove decls.
17065         * lib/error.c: Include error.h first, to check interface.
17066         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
17067         (VA_START): Remove; all uses changeed to va_start.
17068         (exit, strerror): Remove decls.
17069         (error_print_progname): Prototype uncondionally.
17070         Don't include <errno.h>; no longer needed.
17071         (private_strerror): Remove.
17072         (error_tail): Always define.
17073         (error, error_at_line): Assume C89 or better; always use prototypes.
17074         * lib/fatal.c: Include "fatal.h" first, to test interface.
17075         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
17076         (VA_START): Remove; all uses changed to va_start.
17077         [! (HAVE_VPRINTF || HAVE_DOPRNT || _LIBC)]: Remove support for
17078         this case.
17079         (exit): Remove decl.
17080         (fatal): Prototype unconditionally.  Assume va_start works.
17081         Abort at end, to pacify gcc.
17082
17083         * lib/euidaccess.c (main): Define with a prototype.
17084
17085         * lib/exclude.c: Include <stdlib.h>, <string.h> unconditionally.
17086
17087         * lib/exitfail.c: Include <stdlib.h> unconditionally.
17088
17089         * lib/fnmatch_.h (__P): Remove.  All uses changed to assume
17090         prototypes.
17091         * lib/fnmatch.c: Include fnmatch.h first, to test interface.
17092         Include <string.h>, <stddef.h>, <stdlib.h> unconditionally.
17093         (getenv): Remove decl.
17094         (fnmatch): Define using a prototype.
17095         * lib/fnmatch_loop.c (FCT): Remove forward decl; no longer needed.
17096         (FCT): Define using a prototype.
17097
17098         * lib/getdate.y: Include <stdlib.h>, <string.h> unconditionally.
17099
17100         * lib/gethostname.c: Include <stddef.h>.
17101         (gethostname): Define with prototype.  Length is size_t, not int.
17102
17103 2003-09-08  Paul Eggert  <eggert@twinsun.com>
17104
17105         Assume C89 or better; remove K&R cruft.
17106         * m4/alloca.m4 (gl_PREREQ_ALLOCA): Don't check for stdlib.h, string.h.
17107         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for stdlib.h,
17108         string.h, getenv, malloc.
17109         * m4/dirname.m4 (gl_DIRNAME): Don't check for string.h or C standard
17110         headers.
17111         * m4/canon-host.m4 (gl_CANON_HOST): Don't check for string.h, stdlib.h.
17112         * m4/error.m4 (jm_PREREQ_ERROR): Do not require STDC headers, and
17113         do not check for strerror.
17114         * m4/exclude.m4: Do not check for stdlib.h, string.h, strings.h.
17115         * m4/exitfail.m4 (gl_EXITFAIL): Do not check for stdlib.h.
17116         * m4/fatal.m4 (gl_FATAL): Do not require STDC headers, and
17117         do not check for doprnt or vprintf.
17118         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH_EXTRA): Remove.  All uses removed.
17119         * m4/getdate.m4 (gl_GETDATE): Don't check for stdlib.h or string.h.
17120
17121 2003-09-08  Paul Eggert  <eggert@twinsun.com>
17122
17123         * lib/getversion.c: Remove; was migrated to backupfile.c in 1997.
17124         getversion.c should have been removed then, but was accidentally
17125         preserved.
17126
17127         * lib/utime.c [!HAVE_UTIMES_NULL]: Include <sys/stat.h>, <fcntl.h>.
17128         (utime_null): Fix typo: 'st' was sometimes called 'sb'.
17129
17130 2003-09-08  Karl Berry  <karl@gnu.org>
17131
17132         * config/config.sub, config.guess, srclistvars.sh: update from savannah
17133                 config, forget about prep.
17134
17135         * config/depcomp, missing: update from automake.
17136
17137 2003-09-07  Paul Eggert  <eggert@twinsun.com>
17138
17139         * modules/time_r: Depend on 'restrict'.  Fix from Simon Josefsson in
17140         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00028.html>.
17141
17142 2003-09-07  Paul Eggert  <eggert@twinsun.com>
17143
17144         * lib/time_r.c (gmtime_r, localtime_r): Fix silly typo: missing arg to
17145         copy_tm_result.  Bug reported by Simon Josefsson in
17146         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00028.html>.
17147
17148 2003-09-06  Paul Eggert  <eggert@twinsun.com>
17149
17150         * m4/time_r.m4: New file.
17151         * m4/mktime.m4 (gl_PREREQ_MKTIME): Remove check for limits.h.
17152         * m4/timegm.m4 (gl_FUNC_TIMEGM): Assume that timegm is buggy if mktime
17153         is. Check for timegm declaration.
17154         (gl_PREREQ_TIMEGM): Require gl_FUNC_MKTIME.
17155         Do not check for gmtime_r.
17156         Replace mktime if __mktime_internal does not exist and if mktime
17157         hasn't been replaced already.
17158
17159 2003-09-06  Paul Eggert  <eggert@twinsun.com>
17160
17161         * lib/time_r.c, lib/time_r.h: New files.
17162
17163         * lib/mktime.c (my_mktime_localtime_r): Remove; all uses changed to
17164         __localtime_r.
17165         (__localtime_r) [!defined _LIBC]: New macro.  Include <time_r.h>.
17166         (__mktime_internal) [!defined _LIBC]: Now extern, not static.
17167
17168         * lib/strftime.c (my_strftime_gmtime_r): Remove; all uses changed to
17169         __gmtime_r.
17170         (my_strftime_localtime_r): Remove; all uses changed to __localtime_r.
17171         (__gtime_r, __localtime_r) [!HAVE_TM_GMTOFF]: New macros.
17172         Include <time_r.h>.
17173
17174         * lib/timegm.c: Switch to glibc implementation, with the following
17175         changes:
17176         [defined HAVE_CONFIG_H]: Include <config.h>.
17177         [!defined _LIBC]: Include "timegm.h" rather than <time.h>.
17178         (__mktime_internal) [!defined _LIBC]: New decl.
17179         (__gmtime_r) [!defined _LIBC]: New macro and function.
17180         (timegm): Use a prototype, since gnulib assumes C89.
17181         Do not bother declaring tmp to be const, as it's not really usefu.
17182         * lib/timegm.h: Hoist "#include <time.h>" out of #ifdef.
17183         (timegm): Declare only if HAVE_DECL_TIMEGM.
17184
17185 2003-09-06  Paul Eggert  <eggert@twinsun.com>
17186
17187         * MODULES.html.sh (func_all_modules): Add time_r.
17188         * modules/time_r: New file.
17189         * modules/mktime, modules/strftime, modules/timegm: Depend on time_r.
17190         * modules/timegm: Depend on mktime.  Change maintainer to "all, glibc".
17191
17192 2003-09-03  Paul Eggert  <eggert@twinsun.com>
17193
17194         * lib/human.c (human_readable): Fix bug that rounded 10501 to 10k.
17195         Bug reported by Lute Kamstra in
17196         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00003.html>.
17197
17198         * lib/getdate.y (relative_time_table): Use tDAY_UNIT for "tomorrow",
17199         "yesterday", "today", and "now" rather than tMINUTE_UNIT.  Of
17200         course with correspondingly smaller numbers for tomorrow and
17201         yesterday.  From Tadayoshi Funaba.  Originally installed into
17202         sh-utils on 1999-08-07, but the patch got lost (I guess during the
17203         coreutils merge?).
17204
17205 2003-08-31  Simon Josefsson  <jas@extundo.com>
17206
17207         * modules/timegm: New file.
17208         * MODULES.html.sh (func_all_modules): Add timegm.
17209
17210 2003-08-31  Simon Josefsson  <jas@extundo.com>
17211
17212         * m4/timegm.m4: New file.
17213
17214 2003-08-31  Simon Josefsson  <jas@extundo.com>
17215
17216         * lib/timegm.h: New file.
17217         * lib/timegm.c: New file.  Based on
17218         wget-1.8.2/src/http.c:mktime_from_utc.
17219
17220 2003-08-31  Karl Berry  <karl@gnu.org>
17221
17222         * lib/argp.h: update from libc.
17223
17224 2003-08-28  Bruno Haible  <bruno@clisp.org>
17225
17226         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Remove AC_DEFINE of fnmatch here.
17227         This avoids havoc on compilers for which '#define fnmatch rpl_fnmatch'
17228         followed by '#define fnmatch fnmatch_posix' gives an error.
17229
17230 2003-08-28  Bruno Haible  <bruno@clisp.org>
17231
17232         * lib/binary-io.h: Undefine O_BINARY before defining it. This avoids a
17233         warning on QNX, which defines O_BINARY to 000000.
17234
17235 2003-08-27  Jim Meyering  <jim@meyering.net>
17236
17237         * m4/mkstemp.m4: Require that the system mkstemp be able to create
17238         70 temporary files, not just 30.  Tru64 V4.0F's mkstemp function
17239         would fail after 32.  Reported by Danny Levinson.  Details here:
17240         http://mail.gnu.org/archive/html/bug-coreutils/2003-08/msg00124.html
17241
17242 2003-08-24  Bruno Haible  <bruno@clisp.org>
17243
17244         * lib/binary-io.h: Include <stdio.h>, to avoid a compilation error when
17245         MSVC7 <stdio.h> is included later.
17246
17247 2003-08-22  Simon Josefsson  <jas@extundo.com>
17248
17249         * modules/strndup (Makefile.am): Add strndup.h to lib_SOURCES.
17250
17251 2003-08-20  Karl Berry  <karl@gnu.org>
17252
17253         * m4/lib-ld.m4: serial 1003 from gettext, no changes besides serial.
17254
17255 2003-08-20  Bruno Haible  <bruno@clisp.org>
17256
17257         * modules/progname: New file.
17258         * MODULES.html.sh (func_all_modules): Add progname.
17259
17260 2003-08-20  Bruno Haible  <bruno@clisp.org>
17261
17262         * lib/progname.h: New file, from GNU gettext.
17263         * lib/progname.c: New file, from GNU gettext.
17264         * lib/progreloc.c: New file, from GNU gettext.
17265
17266 2003-08-19  Jim Meyering  <jim@meyering.net>
17267
17268         * m4/lib-ld.m4: Revert yesterday's change, per Bruno's request here:
17269         http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00155.html
17270
17271 2003-08-19  Bruno Haible  <bruno@clisp.org>
17272
17273         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Don't check for <string.h> any
17274         more.
17275
17276 2003-08-19  Bruno Haible  <bruno@clisp.org>
17277
17278         * lib/xstrdup.c: Assume <string.h> exists.
17279
17280 2003-08-18  Paul Eggert  <eggert@twinsun.com>
17281
17282         * modules/stdbool: Add BUILT_SOURCES.  Prefer $@ to target name
17283         in makefile rules.
17284
17285 2003-08-18  Jim Meyering  <jim@meyering.net>
17286
17287         * m4/getloadavg.m4: Use [\t ], not [ \t] (where \t is a literal TAB).
17288         * m4/lib-ld.m4: Likewise.
17289
17290 2003-08-18  Jim Meyering  <jim@meyering.net>
17291
17292         * lib/setenv.h: Indent nested cpp directive.
17293         * lib/vasnprintf.c: Remove trailing blanks.
17294
17295 2003-08-17  Simon Josefsson  <jas@extundo.com>
17296
17297         * modules/xstrndup: New file.
17298         * MODULES.html.sh (func_all_modules): Add xstrndup.
17299
17300 2003-08-17  Simon Josefsson  <jas@extundo.com>
17301
17302         * modules/argp: Fix autoconf macro name. Add more dependencies.
17303
17304 2003-08-17  Simon Josefsson  <jas@extundo.com>
17305
17306         * m4/xstrndup.m4: New file.
17307
17308 2003-08-17  Simon Josefsson  <jas@extundo.com>
17309
17310         * m4/argp.m4: New file.
17311
17312 2003-08-17  Simon Josefsson  <jas@extundo.com>
17313             Bruno Haible  <bruno@clisp.org>
17314
17315         * lib/xstrndup.h: New file.
17316         * lib/xstrndup.c: New file.
17317
17318 2003-08-17  Bruno Haible  <bruno@clisp.org>
17319
17320         * modules/strndup (Files, Include): Add lib/strndup.h.
17321
17322 2003-08-17  Bruno Haible  <bruno@clisp.org>
17323
17324         * modules/euidaccess (Files): Add lib/euidaccess.h.
17325
17326 2003-08-17  Bruno Haible  <bruno@clisp.org>
17327
17328         * lib/strndup.h: New file.
17329
17330 2003-08-17  Bruno Haible  <bruno@clisp.org>
17331
17332         * gnulib-tool (func_create_testdir): Handle gl_USE_SYSTEM_EXTENSIONS
17333         like AC_GNU_SOURCE.
17334         * modules/extensions (configure.ac): Comment out the invocation of
17335         gl_USE_SYSTEM_EXTENSIONS.
17336
17337 2003-08-16  Paul Eggert  <eggert@twinsun.com>
17338
17339         Merges from coreutils, etc.
17340         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Insert ':' to prevent a syntax
17341         error in gl_FUNC_MATCH.  This fixes a bug I introduced on 2003-05-28.
17342         * m4/readlink.m4 (gl_PREREQ_READLINK): Renamed from gl_PREREQ_READLINE,
17343         fixing a typo.
17344         * m4/host-os.m4 (UTILS_HOST_OS): Add GNU/NetBSD, GNU/FreeBSD.
17345         * m4/hash.m4 (gl_HASH): Use AM_STDBOOL_H, not AC_HEADER_STDBOOL.
17346
17347 2003-08-16  Paul Eggert  <eggert@twinsun.com>
17348
17349         Document merge from coreutils.
17350         * modules/alloca: Append $(ALLOCA_H) to BUILT_SOURCES.
17351         * modules/fnmatch: Append $(FNMATCH_H) to BUILT_SOURCES.
17352         * modules/utime: Add m4/utimes-null.m4.
17353
17354 2003-08-16  Paul Eggert  <eggert@twinsun.com>
17355
17356         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Do not normalize white
17357         space, undoing this 2003-08-12 change:
17358         <http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00080.html>
17359
17360 2003-08-16  Paul Eggert  <eggert@twinsun.com>
17361
17362         * config/srclist.txt: Get regex.h, strdup.c, strtoll.c,
17363         strtoul.c from libc, undoing this 2003-08-12 change:
17364         <http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00080.html>
17365
17366 2003-08-16  Jim Meyering  <jim@meyering.net>
17367
17368         Merges from coreutils.
17369         * m4/readdir.m4 (GL_FUNC_READDIR): Change name to have GL_ (not jm_)
17370         prefix.  Adjust cache variables similarly.  Create 500 rather than
17371         just 300 files, to exercise bug on Darwin6.5, too.
17372         * m4/perl.m4 (jm_PERL): Use $am_missing_run, not undefined
17373         $missing_dir.
17374         * m4/jm-winsz1.m4: Require AC_SYS_POSIX_TERMIOS, not
17375         AM_SYS_POSIX_TERMIOS.
17376         Reported by mkc@mathdogs.com.
17377         Also change use of $am_cv_sys_posix_termios
17378         to $ac_cv_sys_posix_termios.  Reported by Andreas Schwab.
17379         * m4/getgroups.m4 (jm_FUNC_GETGROUPS): Rewrite to use AC_FUNC_GETGROUPS
17380         and (if needed) to call AC_LIBOBJ and to set GETGROUPS_LIB.
17381         * m4/fsusage.m4 [__GLIBC__]: GNU libc's statvfs stats each mount point
17382         in /proc/mounts until it finds one with matching device number.  This
17383         is unnecessary when the FILE argument *is* a mount point.  No stat call
17384         is necessary in that case.  So, disable the statvfs-testing code on
17385         systems with GNU libc.  Reported by Andrei Gaponenko via Tim Waugh
17386         as RedHat bug# 84846.
17387         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
17388         to 1MB, so as not to render systems with no stack size limit (e.g.,
17389         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
17390         Include <unistd.h>.  On some systems,
17391         it is required for the definition of _SC_PAGESIZE.
17392
17393 2003-08-16  Jim Meyering  <jim@meyering.net>
17394
17395         Merge from coreutils.
17396         * lib/xstrtoimax.c: #else #if -> #elif.
17397         * lib/xstrtoumax.c: Likewise.
17398
17399 2003-08-16  Jim Meyering  <jim@meyering.net>
17400
17401         * m4/utimes.m4 (gl_FUNC_UTIMES): New file.
17402         * m4/utimes.m4: Removed.
17403         * m4/utimes-null.m4: Renamed from utimes.m4.
17404
17405         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
17406         to 1MB, so as not to render systems with no stack size limit (e.g.,
17407         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
17408         Include <unistd.h>.  On some systems,
17409         it is required for the definition of _SC_PAGESIZE.
17410
17411 2003-08-16  Jim Meyering  <jim@meyering.net>
17412         and Paul Eggert  <eggert@cs.ucla.edu>
17413
17414         Merges from coreutils, etc.
17415
17416         * m4/jm-macros.m4 (AC_LANG_SOURCE(C)): New macro, undefine, then define
17417         using the latest version from cvs.  This avoids problems with #line
17418         directives using a vendor (Sun) compiler.
17419         (jm_MACROS): Bump prerequisite from 2.52g to 2.57.
17420         Don't set GETGROUPS_LIB here; now it's
17421         done via getgroups.m4's wrapper function.
17422         AC_SUBST OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, and MAN here,
17423         rather than just in sh-util/configure.in, so that the
17424         now-shared-by-fileutils-and-textutils lib/Makefile.am are all the
17425         same.
17426         Use AC_CONFIG_LIBOBJ_DIR(lib) to tell the new
17427         AC_FUNC_GETLOADAVG where to find getloadavg.c.
17428         Require AC_FUNC_FTW, gt_INTTYPES_PRI, gl_CLOCK_TIME,
17429         UTILS_SYS_OPEN_MAX, GL_FUNC_GETCWD_PATH_MAX, GL_FUNC_READDIR,
17430         gl_FSUSAGE, gl_MOUNTLIST, AC_FUNC_CANONICALIZE_FILE_NAME.
17431         Remove code that is now done by the newly-required macros.
17432         Append $(EXEEXT) to DF_PROG.
17433         AC_LIBOBJ fchdir-stub if fchdir doesn't exist; similarly for fchown.
17434         Do not invoke or require the following here,
17435         since prereq.m4 or some gnulib .m4 now does this for us:
17436         gl_REGEX, UTILS_FUNC_MKDIR_TRAILING_SLASH, jm_BISON, gl_FUNC_MKTIME,
17437         jm_FUNC_LSTAT, jm_FUNC_STAT, jm_FUNC_REALLOC, jm_FUNC_MALLOC,
17438         jm_FUNC_NANOSLEEP, jm_FUNC_READDIR, jm_FUNC_MEMCMP,
17439         jm_FUNC_GLIBC_UNLOCKED_IO, AC_FUNC_FNMATCH_GNU, jm_FUNC_PUTENV,
17440         jm_AC_PREREQ_XSTRTOUMAX, jm_AC_PREREQ_XSTRTOIMAX,
17441         AC_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, AC_FUNC_VPRINTF,
17442         vb_FUNC_RENAME, UTILS_FUNC_MKSTEP, jm_FUNC_UTIME, AM_FUNC_GETLINE,
17443         AC_FUNC_OBSTACK.
17444         Do not replace the following functions, as this is now the job
17445         of some gnulib .m4: strcasecmp, strncasecmp, dup2, gethostname,
17446         getusershell, sig2str, strcspn, stpcpy, strstr, strtol, strtoul
17447         strpbrk, euidaccess, memcmp, rmdir, rpmatch, strndup, strverscmp,
17448         atexit getpass, strdup, getpagesize.
17449         Replace 'raise'.
17450         Do not check for the following functions, as this is now the job
17451         of some gnulib .m4: bcopy, canonicalize_file_name, fchdir, ftime,
17452         getcwd, getmntinfo, resolvepath.  But check for sysctl, setreuid,
17453         setregid.
17454         (jm_CHECK_ALL_HEADERS): Do not check for fenv.h.
17455         Check for sys/sysctl.h.
17456         (jm_CHECK_ALL_TYPES): Do not require AC_STRUCT_TM, AC_STRUCT_TIMEZONE,
17457         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Invoke gt_TYPE_SSIZE_T instead
17458         of checking for ssize_t ourselves.
17459
17460         * m4/prereq.m4 (jm_PREREQ): Don't invoke macros; AC_REQUIRE them.
17461         Require every macro that gnulib/modules/* suggests for us.
17462         (jm_PREREQ_ADDEXT): New macro.
17463         (jm_PREREQ_STAT): Check for 'struct statfs' on Ultrix 4.4.
17464         Require jm_AC_TYPE_LONG_LONG instead of invoking it.
17465
17466         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): New macro.
17467         (gl_PHYSMEM): Use it.
17468         Also check for `table' function.
17469         Check for new headers and functions.
17470         Add check for sys/sysmp.h.
17471         With suggestions from Kaveh Ghazi.
17472         Ignore headers that are present but cannot be compiled.  This
17473         avoids spurious warnings on Solaris 9 sparc with Forte Developer 7
17474         C 5.4.
17475
17476 2003-08-15  Paul Eggert  <eggert@twinsun.com>
17477
17478         Document merge from coreutils.
17479         * modules/userspec: Depend on posixver.
17480         * modules/strftime: Depend on tzset.
17481
17482 2003-08-15  Paul Eggert  <eggert@twinsun.com>
17483
17484         * lib/config.charset, ref-add.sin, ref-del.sin: Use three spaces,
17485         rather than tab, after '#' in shell-script copyright notices.
17486         Suggested by Bruno Haible.
17487
17488 2003-08-15  Paul Eggert  <eggert@twinsun.com>
17489
17490         * config/srclist-update: Use three spaces, rather than tab, after '#'
17491         in shell-script copyright notices.  Suggested by Bruno Haible.
17492         Remove unnecessary parenthesization in regular expression.
17493
17494 2003-08-15  Jim Meyering  <jim@meyering.net>
17495
17496         Merge from coreutils.
17497         * lib/xgethostname.c: Include <stdlib.h>.
17498         (xghostname): Don't exit for anything other than memory-related
17499         failure; just return NULL.
17500         * lib/userspec.c: Include "posixver.h".
17501         (parse_user_spec): Accept `.' as a separator only
17502         in pre-POSIX-200112 mode.
17503         * lib/strtoimax.c: Use #elif rather than #else #if.
17504         * lib/strftime.c (my_strftime) [!_LIBC && HAVE_TZNAME && HAVE_TZSET]:
17505         Remove function, now that we can rely on a working tzset function.
17506         [!_LIBC]: Ensure that the required autoconf test has been run.
17507         [!defined _NL_CURRENT && HAVE_STRFTIME]:
17508         Use underlying_strftime for %r.
17509         * lib/sha.c: Merge in some clean-up and optimization changes from
17510         glibc.
17511         * lib/sha.c (sha_stream) [BLOCKSIZE]: Move definition to top of file.
17512         Ensure that it is a multiple of 64.
17513         Rearrange loop exit tests so as to avoid performing an
17514         additional fread after encountering an error or EOF.
17515         * lib/realloc.c: Update copyright date.
17516
17517 2003-08-15  Jim Meyering  <jim@meyering.net>
17518         and Paul Eggert  <eggert@twinsun.com>
17519
17520         Merge from coreutils.
17521         * lib/readutmp.h (HAVE_UTMPX_H): Undef if struct utmp has the ut_exit
17522         member but strut utmpx does not.  Needed for AIX 4.3.3.
17523         (UT_EXIT_E_TERMINATION, UT_EXIT_E_EXIT): Define.
17524
17525 2003-08-15  Jim Meyering  <jim@meyering.net>
17526         and Paul Eggert  <eggert@cs.ucla.edu>
17527
17528         Merges from coreutils, etc.
17529         * m4/strftime.m4 (_jm_STRFTIME_PREREQS):
17530         Require gl_FUNC_TZSET_CLOBBER.
17531         * m4/readutmp.m4 (gl_READUTMP): Check for ut_exit.ut_exit,
17532         ut_exit.e_exit, ut_exit.ut_termination, and ut_exit.e_termination
17533         members.
17534
17535 2003-08-14  Paul Eggert  <eggert@twinsun.com>
17536
17537         Help the merge from coreutils.
17538         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): New macro.
17539         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use it.
17540         * m4/tzset.m4: Use it too.
17541
17542 2003-08-14  Paul Eggert  <eggert@twinsun.com>
17543
17544         * modules/tzset: New file.
17545
17546 2003-08-14  Jim Meyering  <jim@meyering.net>
17547
17548         Merges from coreutils.
17549         * modules/fnmatch: Use the `$(FNMATCH_H)' notation for AC_REPLACED
17550         variable names, rather than @FNMATCH_H@.
17551         * modules/alloca: Likewise for $(ALLOCA_H).
17552
17553         * modules/fnmatch (fnmatch.h): Use `$@' in the commands, in place of
17554         the three copies of the literal target, `fnmatch.h'.
17555         * modules/alloca (alloca.h): Likewise.
17556
17557 2003-08-14  Jim Meyering  <jim@meyering.net>
17558
17559         Merge from coreutils.
17560         * m4/tzset.m4: New file.
17561         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Move the
17562         MOUNTED_VMOUNT test to precede the MOUNTED_GETMNTENT1 tests, since
17563         otherwise, AIX 5.1 systems would end up using the latter.
17564         MOUNTED_GETMNTENT1 support is inadequate on such systems: 1) detecting
17565         whether a file system is remote doesn't work  2) the MOUNTED_VMOUNT
17566         code reports the HOSTNAME:/MOUNT_POINT, while the MOUNTED_GETMNTENT1
17567         code reports merely /MOUNT_POINT.  Reported by Mike Jetzer.
17568
17569 2003-08-14  Jim Meyering  <jim@meyering.net>
17570
17571         Merge from coreutils.
17572         * lib/obstack.h: Whitespace changes.
17573         * lib/mountlist.c: Remove anachronistic casts of xmalloc, xrealloc,
17574         and xcalloc return values.
17575         (read_filesystem_list) [MOUNTED_GETFSSTAT]:
17576         Use MNT_NOWAIT, rather than MNT_WAIT.  Otherwise, `df DIR' could
17577         hang on OSF/1 5.1 for DIR on both local and remote file systems.
17578         Reported by (and fix confirmed by) Nelson H. F. Beebe.
17579         (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
17580         error from mntctl.
17581         Use mntctl's return value to drive the entry-processing loop, since
17582         we can't rely on the value of the vmt_length member in the last
17583         entry.  On some systems doing so could result in exhausting
17584         virtual memory.  Based in part on a patch from Mike Jetzer.
17585
17586 2003-08-14  Jim Meyering  <jim@meyering.net>
17587         and Paul Eggert  <eggert@twinsun.com>
17588
17589         Merges from coreutils, plus other fixes.
17590         * lib/physmem.c: Merge in portability changes from gcc/libiberty
17591         to support AIX, IRIX, Tru64, and Windows.  See the ChangeLog there
17592         for credits and details.  Thanks to Kaveh Ghazi for helping
17593         to keep these files in sync.
17594         (ARRAY_SIZE): Define it.
17595         (physmem_total, physmem_available): Add comments. From Kaveh Ghazi.
17596         * lib/memcasecmp.c: Remove unnecessary parentheses after 'defined'.
17597         (memcasecmp): Don't assume size_t fits in unsigned int.
17598         Remove casts and duplicate code.
17599         * lib/md5.c: Include <string.h> and <stdlib.h> unconditionally.
17600         (memcpy): Remove definition.
17601         Merge in some clean-up and optimization changes from glibc.
17602         [BLOCKSIZE]: Move definition to top of file.
17603         Ensure that it is a multiple of 64.
17604         Rearrange loop exit tests so as to avoid performing an
17605         additional fread after encountering an error or EOF.
17606         * lib/md5.h (md5_uintptr): Define.
17607         * lib/makepath.c (CLEANUP_CWD): Report an error if we failed to
17608         return to the initial working directory.  Preserve errno
17609         for caller.
17610         * lib/idcache.c: Include "xalloc.h".
17611         (xmalloc, xrealloc): Remove decls.
17612         (getuser): Remove casts no longer required in C89.
17613         * lib/human.c: Include stdio.h, for sprintf.
17614         * lib/group-member.c: Include "xalloc.h".
17615         (xmalloc, xrealloc): Remove decls.
17616         (get_group_info): Remove casts no longer required in C89.
17617         * lib/getusershell.c (readname): Remove casts no longer required in
17618         C89.
17619         * lib/gettimeofday.c (rpl_gmtime, rpl_tzset): New functions.
17620         * lib/getline.c: Whitespace fix, from coreutils.
17621
17622 2003-08-13  Paul Eggert  <eggert@twinsun.com>
17623
17624         * m4/exclude.m4 (gl_EXCLUDE): Require AC_C_INLINE, AC_HEADER_STDC.
17625         Check for isascii.
17626
17627         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
17628         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
17629         Undo previous (whitespace-only) change.
17630
17631 2003-08-13  Paul Eggert  <eggert@twinsun.com>
17632
17633         * lib/exclude.c: Include <ctype.h>
17634         (IN_CTYPE_DOMAIN): New macro.
17635         (is_space): New fn.
17636         (add_exclude_file): If LINE_END is a space, ignore trailing spaces
17637         and empty lines.
17638
17639         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
17640         Undo previous (whitespace-only) change.
17641
17642 2003-08-13  Paul Eggert  <eggert@twinsun.com>
17643
17644         * config/srclist-update: Change update back to the old behavior,
17645         leaving whitespace alone.  Use one 'sed' command rather than a
17646         pipeline.
17647         (fixlicense): Now a variable, not a function.
17648         (remove_trailing_blanks): Remove.
17649         (fixfile): Don't invoke unexpand or cat, or remove trailing blanks.
17650         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
17651         Undo previous (whitespace-only) change.
17652
17653 2003-08-12  Paul Eggert  <eggert@twinsun.com>
17654
17655         Merge from coreutils.
17656         * modules/euidaccess: Add lib_SOURCES, include for new
17657         file euidaccess.h
17658
17659 2003-08-12  Paul Eggert  <eggert@twinsun.com>
17660
17661         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
17662         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
17663         Normalize leading white space and remove trailing white space.
17664
17665         Merge from coreutils
17666         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Check for euidaccess decl.
17667
17668         * m4/lib-ld.m4, lib-link.m4, lib-prefix.m4: Regenerate from gettext
17669         0.12.1.  These files are now being upgraded automatically by
17670         ../config/srclist-update.
17671
17672 2003-08-12  Paul Eggert  <eggert@twinsun.com>
17673
17674         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
17675         Normalize leading white space and remove trailing white space.
17676         * lib/ref-add.sin, ref-del.sin: Use '#' before empty line in copyright
17677         notice, as per ../config/srclist-update.
17678
17679         Merge from coreutils.
17680         * lib/euidaccess.h: New file.
17681         * lib/euidaccess.c: Include it.
17682         * lib/.cppi-disable: Add printf-args.h, printf-parse.h, stdbool_.h,
17683         vasnprintf.h, vasprintf.h.  Remove strdup.c, gettext.h.
17684         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Normalize white space.
17685
17686 2003-08-12  Paul Eggert  <eggert@twinsun.com>
17687
17688         * config/srclist-update: Add copyright notice.
17689         (remove_id_lines, remove_trailing_blanks): New constants.
17690         (fixfile): Use them to normalize spacing a bit in copied files.
17691         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
17692         Normalize leading white space and remove trailing white space.
17693
17694         * config/texinfo.tex: Sync with texinfo.
17695
17696         * config/srclist.txt: Don't get regex.h, strdup.c, strtoll.c,
17697         strtoul.c from libc, to merge coreutils whitespace changes.
17698
17699         * config/srclist.txt: Get the following m4 files from gettext:
17700         codeset.m4, gettext.m4, glibc21.m4, iconv.m4, intdiv0.m4,
17701         inttypes-pri.m4, lcmessage.m4, lib-ld.m4, lib-link.m4, lib-prefix.m4,
17702         longdouble.m4, nls.m4, po.m4, progtest.m4, signed.m4, wchar_t.m4,
17703         wint_t.m4.
17704
17705 2003-08-12  Karl Berry  <karl@gnu.org>
17706
17707         * config/srclist.txt: can't sync vasnprintf.c any more, changes have
17708         been made.
17709
17710 2003-08-11  Paul Eggert  <eggert@twinsun.com>
17711
17712         * modules/gnu-source, m4/gnu-source.m4:
17713         Remove; we're assuming Autoconf 2.54 or later now.
17714         Suggested by Bruno Haible.
17715         * MODULES.html.sh (func_all_modules): Remove gnu-source.
17716
17717 2003-08-11  Bruno Haible  <bruno@clisp.org>
17718
17719         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Also check for wcslen.
17720
17721 2003-08-11  Bruno Haible  <bruno@clisp.org>
17722
17723         * lib/vasnprintf.c (local_wcslen): New function, for Solaris 2.5.1.
17724         (vasnprintf): Use it instead of wcslen.
17725
17726 2003-08-11  Bruno Haible  <bruno@clisp.org>
17727
17728         * lib/stdbool_.h (_Bool): Undo last change; instead use a negative enum
17729         value to ensure that _Bool promotes to int. Use #define for _Bool when
17730         using the Solaris C compiler. Adds comments suggested by Paul Eggert.
17731
17732 2003-08-10  Karl Berry  <karl@gnu.org>
17733
17734         * lib/regex.h: update from libc (whitespace fix).
17735
17736 2003-08-09  Paul Eggert  <eggert@twinsun.com>
17737
17738         Merge some files from coreutils.  These changes were
17739         originally made by Jim Meyering.
17740         * lib/acl.c: Include <sys/types.h> before <sys/stat.h>;
17741         many older Unixes require this.
17742         * lib/alloca.c (alloca): Remove cast to argument of free;
17743         no longer needed in C89.
17744         * lib/alloca_.h, regex.h: Fix white space to match
17745         what GNU indent does.
17746
17747 2003-08-09  Paul Eggert  <eggert@twinsun.com>
17748
17749         * m4/regex.m4 (jm_INCLUDED_REGEX): Change "\201" to "\371";
17750         apparently Emacs's Unicode mode got confused before my 2003-08-05
17751         checkin.
17752
17753 2003-08-08  Paul Eggert  <eggert@twinsun.com>
17754
17755         * m4/extensions.m4: New file.
17756         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC):
17757         Require gl_USE_SYSTEM_EXTENSIONS.
17758         * m4/unlocked-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO):
17759         Require gl_USE_SYSTEM_EXTENSIONS rather than AC_GNU_SOURCE.
17760
17761 2003-08-08  Paul Eggert  <eggert@twinsun.com>
17762
17763         * MODULES.html.sh (func_all_modules): Add extensions, gnu-source.
17764         * modules/extensions, modules/gnu-source: New files.
17765         * modules/timespec, modules/unlocked-io: Depend on extensions.
17766
17767 2003-08-07  Paul Eggert  <eggert@twinsun.com>
17768
17769         * modules/restrict: New file.
17770         * MODULES.html.sh (func_all_modules): Add restrict.
17771         * modules/regex: Depend on restrict.
17772
17773 2003-08-07  Paul Eggert  <eggert@twinsun.com>
17774
17775         * m4/restrict.m4: New file.
17776         * m4/regex.m4 (jm_PREREQ_REGEX): Add gl_C_RESTRICT.
17777
17778 2003-08-07  Bruno Haible  <bruno@clisp.org>
17779
17780         * modules/getndelim2 (Makefile.am): Add the files to EXTRA_DIST, not
17781         lib_SOURCES, because getndelim2.m4 now uses AC_LIBOBJ(getndelim2).
17782
17783 2003-08-07  Bruno Haible  <bruno@clisp.org>
17784
17785         * m4/getndelim2.m4 (gl_GETNDELIM2): Use AC_LIBOBJ(getndelim2). This
17786         makes the module 'getndelim2' compatible with the module 'getline'.
17787
17788 2003-08-05  Paul Eggert  <eggert@twinsun.com>
17789
17790         * m4/regex.m4 (jm_INCLUDED_REGEX): Replace a single non-ASCII
17791         byte with "\201" to avoid glitches when editing that source file
17792         with multi-gnome-terminal.
17793
17794 2003-08-05  Paul Eggert  <eggert@twinsun.com>
17795
17796         * lib/bumpalloc.h: Remove.
17797
17798 2003-08-05  Paul Eggert  <eggert@twinsun.com>
17799
17800         * MODULES.html.sh (func_all_modules): Remove bumpalloc.
17801         * modules/bumpalloc: Remove.
17802
17803 2003-08-04  Paul Eggert  <eggert@twinsun.com>
17804
17805         * lib/getloadavg.c: Change copyright notice and spacing to conform to
17806         GNU coding style.
17807
17808         Merge from coreutils.
17809         * lib/error.c [!USE_IN_LIBIO]: Omit this case; assume USE_IN_LIBIO is
17810         1. From glibc.
17811         * lib/getdate.y (date): Also accept dates like May-23-2003; suggestion
17812         from Karl Berry, implemented by Jim Meyering.
17813         * lib/getgroups.c: Include "xalloc.h" instead of declaring xalloc fns;
17814         from Dmitry V. Levin.
17815         Remove anachronistic cast of xrealloc.
17816         * lib/fnmatch_.h (__const): Remove.  Use 'const'.
17817         * lib/fnmatch_loop.c (NEW_PATTERN): Cast alloca return value to proper
17818         type. Otherwise, it wouldn't compile with at least /bin/cc on
17819         ymp-cray-unicos9.0.2.X.
17820         Combine two mostly-identical uses of alloca into one.
17821         Thanks to the Cray-Cyber project for access to a Cray Y-MP.
17822
17823 2003-08-04  Dave Love  <d.love@dl.ac.uk>
17824
17825         [From Emacs.]
17826
17827         * lib/getloadavg.c: Check `__unix' as well as `unix'.  Use #ifdef, not
17828         #if.  Check HAVE_LIBKSTAT as well as LOAD_AVE_TYPE.  Check
17829         F_SETFD, not FD_SETFD.  Use HAVE_STRUCT_NLIST_N_UN_N_NAME, not
17830         obsolete NLIST_NAME_UNION.
17831         [__GNU__]: Undef BSD and FSCALE.
17832         [!NLIST_STRUCT]: Remove conditional definition of NLIST_STRUCT.
17833
17834 2003-08-03  Paul Eggert  <eggert@twinsun.com>
17835
17836         * lib/stdbool_.h (_Bool): Make it signed char, instead of
17837         an enum type, so that it's guaranteed to promote to int.  See:
17838         <http://mail.gnu.org/archive/html/bug-gnulib/2003-07/msg00124.html>
17839
17840 2003-08-03  Karl Berry  <karl@gnu.org>
17841
17842         * config/depcomp: update from automake.
17843
17844 2003-07-31  Paul Eggert  <eggert@twinsun.com>
17845
17846         * lib/strerror.c: Include config.h, limits.h.  Declare sprintf.
17847         (strerror): Don't assume that a printable int fits in 14 bytes.
17848
17849 2003-07-31  Bruno Haible  <bruno@clisp.org>
17850
17851         * modules/getpass-gnu: New file.
17852         * MODULES.html.sh (func_all_modules): Add getpass-gnu.
17853
17854 2003-07-31  Bruno Haible  <bruno@clisp.org>
17855
17856         * m4/getpass.m4 (gl_FUNC_GETPASS_GNU): New macro.
17857
17858 2003-07-24  Karl Berry  <karl@gnu.org>
17859
17860         * config/missing: update from automake.
17861
17862 2003-07-24  Derek Robert Price  <derek@ximbiot.com>
17863             Bruno Haible  <bruno@clisp.org>
17864
17865         * lib/getline.h (getline, getdelim): Change return type to ssize_t.
17866         * lib/getline.c (getline, getdelim): Likewise.
17867         Remove _GNU_SOURCE define; now it's defined in config.h through
17868         m4/getline.m4.
17869
17870 2003-07-23  Karl Berry  <karl@gnu.org>
17871
17872         * config/config.sub: update from prep.
17873
17874 2003-07-22  Paul Eggert  <eggert@twinsun.com>
17875
17876         * modules/xalloc (Depends-on): Add exitfail.
17877         * modules/xmemcoll: Likewise.
17878
17879 2003-07-22  Paul Eggert  <eggert@twinsun.com>
17880
17881         * lib/xalloc.h (XCALLOC, XREALLOC, CCLONE): Fix under- and
17882         over-parenthesization in macros.
17883
17884         Sync with coreutils.
17885
17886         * lib/xalloc.h (XMALLOC, XCALLOC, XREALLOC): Remove casts not
17887         required by C99.
17888
17889         Use `exit_failure' for xalloc and xmemcoll instead of their own
17890         private exit-failure variables.
17891         * lib/xalloc.h (xalloc_exit_failure): Remove.
17892         * lib/xmalloc.c: Likewise.  Include exitfail.h.
17893         (xalloc_die): Use exit_failure instead of xalloc_exit_failure.
17894         * lib/xmemcoll.h (xmemcoll_exit_failure): Remove.
17895         * lib/xmemcoll.c: Likewise.  Include exitfail.h.
17896         (xmemcoll): Use exit_failure instead of xalloc_exit_failure.
17897
17898 2003-07-20  Jim Meyering  <jim@meyering.net>
17899
17900         * modules/closeout (Depends-on): Add exitfail.
17901         Suggestion from Bruno Haible.
17902
17903 2003-07-19  Karl Berry  <karl@gnu.org>
17904
17905         * config/config.sub: update from prep.
17906
17907 2003-07-18  Paul Eggert  <eggert@twinsun.com>
17908
17909         * lib/closeout.h (close_stdout_set_status, close_stdout_status):
17910         Remove.
17911         * lib/closeout.c: Likewise.  Include "closeout.h" right after config.h,
17912         to test that it can stand by itself.  Include "exitfail.h".
17913         Clients should set exit_failure instead.
17914         (EXIT_FAILURE): Remove; no longer needed.  Do not include <stdlib.h>.
17915
17916 2003-07-18  Bruno Haible  <bruno@clisp.org>
17917
17918         * modules/getndelim2: New file.
17919         * modules/getline: Share files with module getndelim2.
17920         * modules/getnline: Depend on getndelim2 instead of sharing files with
17921         it. Add getnline.c to lib_SOURCES.
17922         * MODULES.html.sh (func_all_modules): Add getndelim2.
17923
17924 2003-07-18  Bruno Haible  <bruno@clisp.org>
17925
17926         * m4/getndelim2.m4: New file.
17927         * m4/getline.m4 (AM_FUNC_GETLINE): Add AC_LIBOBJ of getndelim2.c and
17928         invoke gl_PREREQ_GETNDELIM2.
17929         (gl_PREREQ_GETLINE): Drop AC_HEADER_STDC, now done by
17930         gl_PREREQ_GETNDELIM2.
17931         * m4/getnline.m4 (gl_GETNLINE): Drop AC_HEADER_STDC, now done by
17932         gl_GETNDELIM2.
17933
17934 2003-07-18  Bruno Haible  <bruno@clisp.org>
17935
17936         * lib/getndelim2.h: New file.
17937         * lib/getndelim2.c: Make into a module of its own. Include config.h,
17938         getndelim2.h.
17939         (getndelim2): Make non-static. Change return type to ssize_t.
17940         * lib/getline.h: Change argument names.
17941         * lib/getline.c: Include getndelim2.h instead of getndelim2.c.
17942         * lib/getnline.c: Include getndelim2.h.
17943
17944 2003-07-18  Andreas Schwab  <schwab@suse.de>
17945
17946         * lib/memcoll.c (memcoll) [!HAVE_STRCOLL]: Clear errno.
17947
17948 2003-07-17  Karl Berry  <karl@gnu.org>
17949
17950         * config/config.sub: update from prep.
17951
17952 2003-07-17  Bruno Haible  <bruno@clisp.org>
17953
17954         * modules/getnline: New file.
17955         * modules/getline: Add lib/getndelim2.c to source file list.
17956         * MODULES.html.sh (func_all_modules): Add getnline.
17957
17958 2003-07-17  Bruno Haible  <bruno@clisp.org>
17959
17960         * m4/getnline.m4: New file.
17961
17962 2003-07-17  Bruno Haible  <bruno@clisp.org>
17963
17964         * m4/Makefile.am.in: Remove file.
17965         * m4/Makefile.am: Remove file.
17966         * m4/Makefile.in: Remove file.
17967
17968 2003-07-17  Bruno Haible  <bruno@clisp.org>
17969
17970         * lib/getnline.h: New file.
17971         * lib/getnline.c: New file.
17972         * lib/getndelim2.c: New file, extracted from getline.c.
17973         (getndelim2): Renamed from getdelim2, with added nmax argument.
17974         * lib/getline.c: Include getndelim2.c.
17975         (getdelim2): Moved out to getndelim2.c.
17976         (getline, getdelim): Update.
17977
17978 2003-07-17  Bruno Haible  <bruno@clisp.org>
17979
17980         * lib/Makefile.am: Remove file.
17981         * lib/Makefile.in: Remove file.
17982
17983 2003-07-17  Bruno Haible  <bruno@clisp.org>
17984
17985         * configure.in: Remove file.
17986         * Makefile.in: Remove file.
17987
17988 2003-07-17  Bruno Haible  <bruno@clisp.org>
17989
17990         * MODULES.html.sh: Put the </BODY> right before </HTML>.
17991
17992 2003-07-16  Karl Berry  <karl@gnu.org>
17993
17994         * config/srclist-update: was running fixlicense twice, which caused
17995                 texinfo.tex to be nullified for some reason.  Simplify,
17996                 $gplsrc is no longer needed as far as I can see?
17997
17998 2003-07-16  Jim Meyering  <jim@meyering.net>
17999
18000         * modules/save-cwd: Depend on xgetcwd.  From Derek Price.
18001
18002 2003-07-15  Paul Eggert  <eggert@twinsun.com>
18003
18004         * config/srclist.txt: Get the following files from gettext-runtime/intl
18005         instead: config.charset, localcharset.c, localcharset.h, ref-add.sin,
18006         ref-del.sin.  From Bruno Haible.
18007         * config/srclist-update (fixfile): Change grep pattern again, since the
18008         previous fix didn't work (there was another trailing $).  Use
18009         '[$]' to escape the $s.
18010
18011 2003-07-15  Karl Berry  <karl@gnu.org>
18012
18013         * lib/vasnprintf.c: update from gettext.
18014
18015 2003-07-15  Karl Berry  <karl@gnu.org>
18016
18017         * config/srclist-update (fixfile): Change grep pattern, since 'Id'
18018         gets expanded when surrounded by '$'.
18019
18020 2003-07-15  Jim Meyering  <jim@meyering.net>
18021
18022         * modules/save-cwd: Don't depend on error.  From Derek Price.
18023
18024 2003-07-15  Jim Meyering  <jim@meyering.net>
18025
18026         * lib/makepath.c (make_path): Enclose diagnostic in _(...).
18027
18028 2003-07-14  Simon Josefsson  <jas@extundo.com>
18029
18030         * modules/mempcpy: New file.
18031         * MODULES.html.sh (func_all_modules): Add mempcpy.
18032
18033 2003-07-14  Simon Josefsson  <jas@extundo.com>
18034
18035         * m4/mempcpy.m4: New file.
18036
18037 2003-07-14  Simon Josefsson  <jas@extundo.com>
18038
18039         * lib/mempcpy.h: New file.
18040         * lib/mempcpy.c: New file.
18041
18042 2003-07-14  Paul Eggert  <eggert@twinsun.com>
18043
18044         * modules/getdate, modules/posixtm: Depend on mktime.
18045
18046 2003-07-14  Paul Eggert  <eggert@twinsun.com>
18047
18048         * lib/ceill.c, expl.c, floorl.c, frexpl.c, ldexpl.c, mathl.h,
18049         sincosl.c, sqrtl.c, trigl.c, trigl.h, poll.c, poll_.h, mkstemp.c,
18050         unicodeio.c, unicodeio.h, unlocked-io.h:
18051         Switch from LGPL to GPL.
18052
18053 2003-07-14  Paul Eggert  <eggert@twinsun.com>
18054
18055         * lib/asnprintf.c, asprintf.c, config.charset, gettext.h,
18056         localcharset.c, localcharset.h, mkdtemp.c, printf-args.c,
18057         printf-args.h, printf-parse.c, printf-parse.h, ref-add.sin,
18058         ref-del.sin, setenv.c, unsetenv.c, vasnprintf.c, vasnprintf.h,
18059         vasprintf.c, vasprintf.h: Regenerate.  These files are now being
18060         updated automatically by ../config/srclist-update.  This changes
18061         their license from LPGL to GPL.
18062
18063 2003-07-14  Paul Eggert  <eggert@twinsun.com>
18064
18065         * config/srclist.txt: Add tons more gettext files.  $GETTEXT is now
18066         assumed to refer to the root of the most recent stable gettext version.
18067         * config/srclistvars.sh: Add defaults for eggert.
18068         * config/srclist-update: Convert LGPL to GPL in shell scripts, too.
18069         Match "This program" as well as "The program".  This is needed
18070         for gettext.
18071
18072 2003-07-14  Jim Meyering  <jim@meyering.net>
18073
18074         Don't emit diagnostics.  Let callers do that.
18075         * lib/save-cwd.c: Don't include "error.h".
18076         (save_cwd): Don't call error.  Ensure that errno is valid
18077         when returning nonzero.
18078
18079         * lib/save-cwd.h (restore_cwd): Update prototype.
18080         * lib/save-cwd.c (restore_cwd): Remove two parameters.
18081         Simplify.  Don't call error upon failure.  Let callers do that.
18082         (save_cwd): Mention that Irix 5.3 has the same problem as SunOS 4
18083         when auditing is enabled.  But don't bother updating the #if.
18084
18085 2003-07-11  Alexandre Duret-Lutz  <adl@gnu.org>
18086
18087         * lib/obstack.h (__INT_TO_PTR): Revert change of 2003-03-13;
18088         it breaks C++ compilation.
18089         [!__GNUC__ || !__STDC__] (obstack_finish): Cast result to void*.
18090
18091 2003-07-10  Simon Josefsson  <jas@extundo.com>
18092
18093         * modules/strchrnul (Makefile.am): Add strchrnul.h.
18094
18095 2003-07-10  Jim Meyering  <jim@meyering.net>
18096
18097         * m4/clock_time.m4: Remove trailing blank.
18098         * m4/intmax_t.m4: Likewise.
18099
18100 2003-07-10  Jim Meyering  <jim@meyering.net>
18101
18102         * lib/vasnprintf.c: Remove trailing blanks.
18103         Make cpp indentation consistent.
18104
18105 2003-07-09  Paul Eggert  <eggert@twinsun.com>
18106
18107         * lib/alloca_.h, euidaccess.c, getpass.c, memrchr.c, obstack.h,
18108         posixver.c, strftime.c, strnlen.c, strverscmp.c:
18109         Switch from LGPL to GPL.
18110
18111 2003-07-09  Paul Eggert  <eggert@twinsun.com>
18112
18113         * config/srclist.txt: Sort sublists.  Add
18114         $LIBCSRC/sysdeps/generic/strtoul.c. In comments, add more libc files
18115         that differ from gnulib for one reason or another; we'd like this list
18116         to be smaller but for now let's document what we have.
18117
18118 2003-07-08  Paul Eggert  <eggert@twinsun.com>
18119
18120         * config/srclist-update: Port to POSIX 1003.1-2001 hosts by avoiding
18121         the use of GNU extensions.  Change "x=`eval echo $x`" to the shorter
18122         and sweeter "eval x=$x".
18123         * config/srclist.txt: Get lib/argp* from glibc.
18124
18125 2003-07-07  Paul Eggert  <eggert@twinsun.com>
18126
18127         * lib/mktime.c: Fix some boundary cases and remove need for floating
18128         point.
18129
18130         Issue a compile-time diagnostic if time_t is floating point, or if
18131         two's complement arithmetic is not in effect, or if arithmetic
18132         right shift does not propagate the sign.  These assumptions were
18133         all in the original code but they weren't checked.
18134
18135         (TIME_T_MIDPOINT, verify): New macros.
18136         (__isleap): Remove; it has integer overflow problems.
18137         (leapyear): New function, without those problems.
18138         (ydhms_tm_diff): Remove; splitting into two parts.
18139         (ydhms_diff): New function, containing the arithmetic part of
18140         the old ydhms_tm_diff function.  Issue a compile-time
18141         diagnostic if we are not using C99 integer division.
18142         Avoid casts when possible.
18143         (guess_time_tm): New function, containing the checking part of
18144         the old ydhms_tm_diff function.  Return the new value, rather than
18145         the difference between it and the old.  Accept a new argument T
18146         so that *T specifies the old value.  Check for overflow in the result.
18147
18148         (__mktime_internal): Use a time_t offset, not a long int offset.
18149         This undoes the 2003-06-04 change, which is no longer needed now
18150         that we have better overflow checking.
18151         (localtime_offset): Likewise.
18152
18153         (__mktime_internal): Avoid harmful overflow on hosts where time_t
18154         and long are 64-bit but int is only 32-bit.
18155         (ydhms_diff): Use long int to store year1 and yday1.
18156         Issue a compile-time diagnostic if long int is not wide enough.
18157
18158         (__mktime_internal): Use long int to store adjusted year and yday.
18159         Use plain C rather than preprocessor commands, if that doesn't
18160         affect efficiency.
18161         Check for overflow (and try to repair) after each probe
18162         rather than checking only at the very end.  This avoids some bugs
18163         (e.g., southern hemisphere, behind GMT, and GMT offset at minimum time
18164         does not equal GMT offset at maximum time).
18165         Use integer to check for overflow rather than floating point; this
18166         is more portable to non-IEEE hosts, and is a tad faster.
18167         When we detect that we are oscillating between two values,
18168         don't check whether tm_isdst has the requested value, since
18169         we already know the answer.  When tm_isdst has the wrong value,
18170         use a different heuristic to find the right one, based on the
18171         extreme values actually observed in practice in tz2003a,
18172         rather than the (overly optimistic) "previous 3 calendar quarters".
18173
18174         (not_equal_tm, print_tm, check_result): Use "const T" rather than
18175         "T const" to accommodate glibc style.
18176         (check_result): Use less-confusing report format.  "long" -> "long int.
18177         (main): Likewise.
18178         Don't loop if the iteration overflows time_t.
18179         Allow a negative step in the iteration.
18180
18181 2003-07-06  Karl Berry  <karl@gnu.org>
18182
18183         * config/depcomp: update from automake.
18184         * config/config.sub: update from prep.
18185
18186 2003-07-03  Karl Berry  <karl@gnu.org>
18187
18188         * config/config.guess: update from prep.
18189
18190 2003-07-01  Paul Eggert  <eggert@twinsun.com>
18191
18192         * m4/xreadlink.m4 (gl_XREADLINK): Don't check for sys/types.h, since
18193         xreadlink.c now includes it unconditionally.
18194
18195 2003-07-01  Paul Eggert  <eggert@twinsun.com>
18196
18197         * lib/xreadlink.c: Include <sys/types.h> unconditionally, instead of
18198         having it depend on HAVE_SYS_TYPES_H.
18199
18200 2003-07-01  Bruno Haible  <bruno@clisp.org>
18201
18202         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Don't include <unistd.h>.
18203         <sys/types.h> should be sufficient.
18204         Reported by Paul Eggert.
18205
18206 2003-06-26  Karl Berry  <karl@gnu.org>
18207
18208         * config/depcomp: update from automake.
18209
18210 2003-06-26  Bruno Haible  <bruno@clisp.org>
18211
18212         * modules/human: Depend on module stdbool.
18213
18214 2003-06-25  Bruno Haible  <bruno@clisp.org>
18215
18216         * modules/readlink: New file.
18217         * modules/xreadlink: Depend on it.
18218         * MODULES.html.sh (func_all_modules): Add readlink.
18219
18220 2003-06-25  Bruno Haible  <bruno@clisp.org>
18221
18222         * m4/readlink.m4: New file.
18223
18224 2003-06-25  Bruno Haible  <bruno@clisp.org>
18225
18226         * lib/readlink.c: New file.
18227
18228 2003-06-22  Karl Berry  <karl@gnu.org>
18229
18230         * config/srclist.txt: update mkinstalldirs from automake.
18231         * config/mkinstalldirs: update.
18232
18233 2003-06-22  Bruno Haible  <bruno@clisp.org>
18234
18235         Portability to mingw32.
18236         * m4/ssize_t.m4: New file, from GNU gettext.
18237         * m4/safe-read.m4 (gl_PREREQ_SAFE_READ): Require gt_TYPE_SSIZE_T.
18238         * m4/xreadlink.m4 (gl_XREADLINK): Require gt_TYPE_SSIZE_T.
18239
18240 2003-06-22  Bruno Haible  <bruno@clisp.org>
18241
18242         * modules/safe-read: Add m4/ssize_t.m4.
18243         * modules/xreadlink: Add m4/ssize_t.m4.
18244
18245 2003-06-20  Bruno Haible  <bruno@clisp.org>
18246
18247         Assume C89, so PARAMS isn't needed.
18248         * lib/unicodeio.h (PARAMS): Remove.
18249         * lib/unicodeio.c: Don't use PARAMS.
18250
18251 2003-06-18  Karl Berry  <karl@gnu.org>
18252
18253         * config/config.{guess,sub}: update from prep.
18254
18255 2003-06-18  Jim Meyering  <jim@meyering.net>
18256
18257         Merge changes from coreutils.
18258         * lib/readutmp.c: Include <string.h> and <stdlib.h> unconditionally.
18259         Remove explicit declarations of xmalloc and realloc.
18260         Include xalloc.h.
18261         (read_utmp): Remove anachronistic cast of xmalloc.
18262
18263 2003-06-17  Paul Eggert  <eggert@twinsun.com>
18264
18265         Assume C89, so PARAMS isn't needed.
18266         * lib/backupfile.h (PARAMS): Remove.  All uses removed.
18267         * lib/closeout.h, lib/dirname.h, lib/filemode.h, lib/fsusage.h,
18268         lib/getdate.h, lib/getline.h, lib/group-member.h, lib/hard-locale.h,
18269         lib/hash.h, lib/linebuffer.h, lib/long-options.h, lib/makepath.h,
18270         lib/memcasecmp.h, lib/memcoll.h, lib/modechange.h, lib/mountlist.h,
18271         lib/path-concat.h, lib/physmem.h, lib/posixtm.h, lib/quote.h,
18272         lib/readutmp.h, lib/same.h, lib/save-cwd.h, lib/savedir.h,
18273         lib/stdio-safer.h, lib/strtoimax.c, lib/strverscmp.h,
18274         lib/unistd-safer.h, lib/version-etc.h, lib/xalloc.h, lib/xreadlink.h,
18275         lib/xstrtod.h, lib/xstrtol.h: Likewise.
18276         * lib/filemode.h, lib/hard-locale.h, lib/memcoll.h, lib/modechange.h,
18277         lib/physmem.h, lib/same.h, lib/strverscmp.h: Do not include config.h;
18278         no longer needed. Anyway, config.h should always be included before any
18279         other file.
18280
18281 2003-06-11  Simon Josefsson  <jas@extundo.com>
18282
18283         * modules/sysexits: New file.
18284         * MODULES.html.sh (func_all_modules): Add sysexits.
18285
18286 2003-06-11  Simon Josefsson  <jas@extundo.com>
18287
18288         * lib/sysexit_.h: New file.
18289
18290 2003-06-11  Derek Price  <derek@ximbiot.com>
18291
18292         * lib/stat.c [LSTAT]: Compile/use slash_aware_lstat only if it is
18293         necessary.
18294
18295 2003-06-11  Bruno Haible  <bruno@clisp.org>
18296
18297         * m4/sysexits.m4: New file.
18298
18299 2003-06-10  Simon Josefsson  <jas@extundo.com>
18300
18301         * lib/argp.h: New file, from glibc.
18302         * lib/argp-ba.c: New file, from glibc.
18303         * lib/argp-eexst.c: New file, from glibc.
18304         * lib/argp-fmtstream.c: New file, from glibc.
18305         * lib/argp-fmtstream.h: New file, from glibc.
18306         * lib/argp-fs-xinl.c: New file, from glibc.
18307         * lib/argp-help.c: New file, from glibc.
18308         * lib/argp-namefrob.h: New file, from glibc.
18309         * lib/argp-parse.c: New file, from glibc.
18310         * lib/argp-pv.c: New file, from glibc.
18311         * lib/argp-pvh.c: New file, from glibc.
18312         * lib/argp-xinl.c: New file, from glibc.
18313
18314 2003-06-10  Simon Josefsson  <jas@extundo.com>
18315
18316         * modules/strchrnul: New file.
18317
18318 2003-06-10  Simon Josefsson  <jas@extundo.com>
18319
18320         * modules/argp: New file.
18321
18322 2003-06-10  Simon Josefsson  <jas@extundo.com>
18323
18324         * m4/strchrnul.m4: New file.
18325
18326 2003-06-10  Simon Josefsson  <jas@extundo.com>
18327
18328         * lib/strchrnul.h: New file.
18329         * lib/strchrnul.c: New file.
18330
18331 2003-06-10  Bruno Haible  <bruno@clisp.org>
18332
18333         * MODULES.html.sh (func_all_modules): Add strchrnul and argp.
18334
18335 2003-06-07  Karl Berry  <karl@gnu.org>
18336
18337         * config/config.{guess,sub}: update from prep.
18338
18339 2003-06-07  Jim Meyering  <jim@meyering.net>
18340
18341         * modules/strtod: Use $(...) notation, not @...@ for
18342         AC_REPLACE'd variables.
18343         * modules/localcharset: Likewise.
18344
18345 2003-06-07  Jim Meyering  <jim@meyering.net>
18346
18347         * lib/readtokens.h: Put `Free Software Foundation, Inc.'
18348         in place of my name in the copyright comment.
18349         Remove definition and uses of __P.
18350
18351         From coreutils.
18352         * lib/stat.c: Don't declare xmalloc explicitly.
18353         Instead, include "xalloc.h".
18354         * lib/readtokens.c (readtokens): Remove anachronistic casts of xmalloc,
18355         xrealloc, and xcalloc return values.
18356         * lib/xgetcwd.c (xgetcwd): Include "xgetcwd.h".
18357         Improve comment.
18358         * lib/xgetcwd.h: Remove definition/uses of PARAMS.
18359
18360 2003-06-07  Bruno Haible  <bruno@clisp.org>
18361
18362         * modules/poll (Makefile.am): Use explicit creation rule for poll.h, to
18363         avoid AC_CONFIG_LINKS.
18364         * modules/fnmatch (Makefile.am): Use explicit creation rule for
18365         fnmatch.h, to avoid AC_CONFIG_LINKS.
18366         * modules/alloca (Makefile.am): Make creation of alloca.h Ctrl-C safe.
18367
18368 2003-06-07  Bruno Haible  <bruno@clisp.org>
18369
18370         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH, gl_FUNC_FNMATCH_POSIX,
18371         gl_FUNC_FNMATCH_GNU): Set FNMATCH_H instead of invoking
18372         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
18373         directory.
18374         * m4/poll.m4 (gl_FUNC_POLL): Set POLL_H instead of invoking
18375         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
18376         directory.
18377
18378 2003-06-06  Jim Meyering  <jim@meyering.net>
18379
18380         Merge from coreutils.
18381         * lib/same.c: (same_name): Declare *_basename locals to be `const'.
18382         Consolidate declarations and initializations of *_base* locals.
18383
18384         Merge from coreutils.
18385         This avoids a core dump on systems without GNU putenv,
18386         when running `env -u SOME_ALREADY_UNSET_VARIABLE'.
18387         * lib/putenv.c (__set_errno, LOCK, UNLOCK): Define.
18388         (unsetenv): New static function, from GNU libc.
18389         (rpl_putenv): Use it.
18390
18391         * lib/modechange.c: Remove trailing blanks.
18392
18393         Merge from coreutils.
18394         * lib/fsusage.c: Remove declaration of statfs.
18395         It conflicted with one from OSF/1 5.1 in <sys/mount.h>.
18396
18397         * lib/posixtm.c: Include <stdbool.h> unconditionally.
18398
18399 2003-06-06  Jim Meyering  <jim@meyering.net>
18400
18401         * lib/stdbool_.h: Renamed from stdbool.h.in.
18402
18403 2003-06-06  Jim Meyering  <jim@meyering.net>
18404             Bruno Haible  <bruno@clisp.org>
18405
18406         * modules/stdbool: Reflect renaming: stdbool.h.in -> stdbool_.h.
18407         Adjust Makefile.am snippet not to redirect directly to target.
18408         Use $(STDBOOL_H) notation, not @STDBOOL_H@ for AC_REPLACE'd variables.
18409
18410 2003-06-05  Paul Eggert  <eggert@twinsun.com>
18411
18412         * lib/mktime.c (__mktime_internal): When resolving a tm_isdst
18413         mismatch, look in future quarters as well as past.  This fixes a
18414         bug when processing fall-backwards gaps immediately after a long
18415         period of daylight-saving time.
18416
18417         * lib/mktime.c: Assume freestanding C89 or better.
18418         (HAVE_LIMITS_H): Remove.  Assume it's 1.
18419         (__P): Remove; not used.
18420         (CHAR_BIT, INT_MIN, INT_MAX): Remove; <limits.h> defines them.
18421         (mktime, not_equal_tm, print_tm, check_result,
18422         main): Use prototypes.  Use const * where appropriate.
18423         (main): Fix typo in testing code that uncovered by above changes.
18424         (Local Variables): Remove -DHAVE_LIMITS_H from compile-command.
18425
18426 2003-06-04  Paul Eggert  <eggert@twinsun.com>
18427
18428         * m4/human.m4 (gl_HUMAN): Require AM_STDBOOL_H.  Check for
18429         locale.h, localeconv.  This merges changes from coreutils.
18430
18431         * m4/mktime.m4 (AC_FUNC_MKTIME): New macro, taken from Autoconf CVS.
18432         It can be removed after the next Autoconf is released.
18433         * m4/exclude.m4 (gl_EXCLUDE): Don't check for sys/types.h; no loner
18434         needed.
18435
18436 2003-06-04  Paul Eggert  <eggert@twinsun.com>
18437
18438         * lib/mktime.c: Fix Debian bug 177940
18439         <http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=177940>.
18440         (localtime_offset): Now long int, not time_t, because we want it
18441         to be guaranteed to be signed.  All uses changed.
18442         (__mktime_internal): If overflow would occur when adding offset,
18443         don't add it.
18444
18445         Merge 'human' changes from coreutils.  Rewrite to support
18446         locale-specific notations like thousands separators.
18447         * lib/human.c: Simplify authorship notice.
18448         Include human.h immediately after config.h.
18449         <sys/types.h>, <stdio.h>: Do not include; no longer needed.
18450         <limits.h>: Do not include, since human.h does.
18451         (SIZE_MAX, UINTMAX_MAX): New macros.
18452         <strings.h>: Include if HAVE_STRINGS_H, not if !HAVE_STRING_H.
18453         <locale.h>: Include if HAVE_LOCALE_H and HAVE_LOCALECONV.
18454         (HUMAN_READABLE_SUFFIX_LENGTH_MAX): New macro.
18455         (power_letter): Renamed from suffixes.
18456         (generate_suffix_backwards): Remove.
18457         (adjust_value): Now takes int style (because of human.h changes)
18458         and long double value (for greater precision on some platforms).
18459         (group_number): New function.
18460         (human_readable): Use it.  Use integer options, not enum.
18461         Put the options before the sizes in the arg list.
18462         Support all the new options.
18463         The old human_readable function has been removed;
18464         use inttostr.h instead.
18465         (human_readable, default_block_size, humblock):
18466         Use uintmax_t, not int, for block sizes.
18467         (human_readable_inexact, block_size_types): Remove.
18468         (block_size_opts): New constant.
18469         (human_options): Renamed from human_block_size, with new signature
18470         that allows block sizes up to UINTMAX_MAX.  All callers changed.
18471         * lib/human.h: Add copyright and authorship notice.
18472         Include <limits.h> and <stdbool.h> unconditionally.
18473         (PARAMS): Remove.  All uses removed.
18474         (LONGEST_HUMAN_READABLE): Add support for thousands separator.
18475         (enum human_inexact_style): Remove tag; now a nameless enum.
18476         (human_floor, human_ceiling, human_round_to_even): Now have
18477         values 2, 0, 1 rather than -1, 1, 0.
18478         (human_group_digits, human_suppress_point_zero, human_autoscale,
18479         human_base_1024, human_SI, human_B): New constants.
18480         (human_readable_inexact, human_block_size): Remove.
18481         (human_readable): Size args are now uintmax_t, not int.
18482         (human_options): New decl.
18483
18484         * lib/exclude.c: (new_exclude, add_exclude): Remove casts that are
18485         unnecessary now that we assume C89 or better.  This change
18486         imported from coreutils.
18487
18488         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
18489         arbitrarily.  This is the same patch as 2003-05-28, but it got lost
18490         in the 2003-05-30 sync from glibc.
18491
18492         .h files should stand alone, but we shouldn't include <sys/types.h>
18493         if we can get away with just <stddef.h>.
18494
18495         * lib/__fpending.h, addext.c, backupfile.c, exclude.c, getline.c,
18496         malloc.c, putenv.c, realloc.c, strcasecmp.c: Include <stddef.h>
18497         rather than <sys/types.h>, as we merely need size_t.
18498         * lib/dirname.h, memcoll.h, xalloc.h, xmemcoll.h: Include <stddef.h>,
18499         to get size_t.
18500         * lib/hash.h, linebuffer.h, readtokens.h, stdio-safer.h, version-etc.h:
18501         Include <stdio.h>, to get FILE.
18502         * lib/memcasecmp.c: Don't include <sys/types.h>, as we can assume
18503         memcasecmp.h has included <stddef.h> and all we need is size_t.
18504         * lib/memcoll.c: Include "memcoll.h", which gets us size_t and checks
18505         our interface, instead of including <sys/types.h>
18506
18507 2003-06-04  Paul Eggert  <eggert@twinsun.com>
18508
18509         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): Comment out for
18510         now, as glibc mktime is buggy on non-glibc systems.
18511
18512 2003-06-03  Karl Berry  <karl@gnu.org>
18513
18514         * config/config.sub: update from prep.
18515
18516 2003-06-02  Paul Eggert  <eggert@twinsun.com>
18517
18518         [from coreutils]
18519         Fix some minor time-related bugs with POSIX time arguments.
18520         Some valid time stamps were being rejected (notably -1, and
18521         time stamps before 1900 on 64-bit hosts).  And some invalid
18522         time stamps were being accepted, e.g. September 31.
18523
18524         * lib/posixtm.h (posixtime): Return bool instead of time_t, so
18525         that we can return (time_t) -1 successfully.
18526         * lib/posixtm.c: Likewise.
18527         [HAVE_STDBOOL_H]: Include <stdbool.h>.
18528         (bool, false, true) [!HAVE_STDBOOL_H]: New type.
18529         (t): Remove static var.
18530         (year, posix_time_parse): Now takes struct tm * arg to modify, instead
18531         of static var.  All uses changed.
18532         (year): Do not reject years before 1900; they can occur with
18533         64-bit time_t.
18534         (posix_time_parse): Do not check for out-of-range components;
18535         that is now the caller's responsibility, since our checks were
18536         only approximations.
18537         (posixtime): Use mktime to check for out-of-range components,
18538         since it knows them exactly.
18539         If mktime returns (time_t) -1, check whether an error actually occurred
18540         by invoking localtime on -1.
18541         (main) [TEST_POSIXTIME]: Check for input data errors, and report
18542         posixtime failures better.
18543         Improve the test data (in comments only).
18544
18545 2003-06-02  Karl Berry  <karl@gnu.org>
18546
18547         * config/mkinstalldirs (version): new variable.
18548         (--version): new option.
18549         (usage): improve message.
18550
18551 2003-05-30  Karl Berry  <karl@gnu.org>
18552
18553         * lib/mktime.c: update from libc.
18554
18555 2003-05-30  Bruno Haible  <bruno@clisp.org>
18556
18557         * modules/gettext: Add files m4/nls.m4 and m4/po.m4.
18558         * config/config.rpath: Upgrade to gettext-0.12.1.
18559
18560 2003-05-30  Bruno Haible  <bruno@clisp.org>
18561
18562         * m4/gettext.m4: Upgrade to gettext-0.12.1.
18563         * m4/nls.m4: New file, from gettext-0.12.1.
18564         * m4/po.m4: New file, from gettext-0.12.1.
18565         * m4/progtest.m4: Upgrade to gettext-0.12.1.
18566
18567 2003-05-30  Bruno Haible  <bruno@clisp.org>
18568
18569         * lib/config.charset: Upgrade to gettext-0.12.1 and libiconv-1.9.1.
18570         * lib/localcharset.h: Likewise.
18571         * lib/localcharset.c: Likewise.
18572
18573 2003-05-29  Karl Berry  <karl@gnu.org>
18574
18575         * config/config.rpath: update from gettext.
18576
18577 2003-05-28  Paul Eggert  <eggert@twinsun.com>
18578
18579         Assume the headers required for C89 freestanding compilers.
18580         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for limits.h.
18581         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Likewise.
18582         * m4/human.m4 (gl_HUMAN): Likewise.
18583         * m4/pathmax.m4 (gl_PATHMAX): Likewise.
18584         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Likewise.
18585         * m4/userspec.m4 (gl_USERSPEC): Likewise.
18586         * m4/xreadlink.m4 (gl_XREADLINK): Likewise.
18587         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
18588         * m4/quote.m4 (gl_QUOTE): Don't check for stddef.h.
18589
18590 2003-05-28  Paul Eggert  <eggert@twinsun.com>
18591
18592         Assume the headers required for C89 freestanding compilers.
18593         * lib/addext.c, lib/backupfile.c, lib/fsusage.c, lib/human.c,
18594         lib/pathmax.h, lib/rpmatch.c, lib/userspec.c, lib/xreadlink.c,
18595         lib/xstrtol.c: Include <limits.h> without checking for HAVE_LIMITS_H.
18596         * lib/backupfile.c, lib/fsusage.c, lib/hash.c, lib/human.c,
18597         lib/safe-read.c, lib/userspec.c, lib/xstrtol.c (CHAR_BIT): Don't
18598         define, since <limits.h> is guaranteed to do that.
18599         * lib/fatal.c: Include <stdarg.h> without checking for __STDC__.
18600         * lib/exclude.c: Include <stdbool.h> unconditionally.
18601         * lib/tempname.c: Include <stddef.h> unconditionally.
18602         * lib/hash.c: Include <limits.h>, since we no longer define CHAR_BIT.
18603         * lib/modechange.c, rpmatch.c (NULL): Don't define, since
18604         <stddef.h> does that.
18605         * lib/quote.c: Dont include <stddef.h> or <sys/types.h>; not needed.
18606         * lib/safe-read.c (INT_MAX): Don't define, since <limits.h> does that.
18607         * lib/safe-read.c (TYPE_MINIMUM, TYPE_MAXIMUM): Remove; no longer
18608         needed.
18609         * lib/xstrtol.c: Likewise.
18610         * lib/safe-read.c: Remove TYPE_SIGNED; no longer needed.
18611         * lib/savedir.c: Include <stddef.h> instead of defining NULL.
18612
18613         * lib/addext.c (addext): Use assignment rather than cast, to avoid
18614         warnings on some platforms.
18615
18616         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
18617         arbitrarily.
18618
18619 2003-05-26  Jim Meyering  <jim@meyering.net>
18620
18621         Merge in a change from coreutils:
18622         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Test the cache variable, not one
18623         that is guaranteed to be `no'.  Use `no_such_member' to indicate
18624         that condition, rather than `-1' which is slightly misleading.
18625         Change the name of the cache variable to have the gl_ prefix.
18626         Prompted by a patch from Richard Dawe for DJGPP.
18627
18628 2003-05-24  Karl Berry  <karl@gnu.org>
18629
18630         * config/config.guess: update from prep.
18631
18632 2003-05-22  Karl Berry  <karl@gnu.org>
18633
18634         * gnulib-tool (func_usage): =LIBRARY not =libRARY in help msg.
18635
18636 2003-05-20  Karl Berry  <karl@gnu.org>
18637
18638         * config/config.guess: update from prep.
18639
18640 2003-05-18  Karl Berry  <karl@gnu.org>
18641
18642         * config/srclistvars.sh (TEXMF): use TEXMFROOT instead, since TEXMF
18643         might actually be set by the user.
18644
18645         * config/depcomp, install-sh, mdate-sh: update from automake.
18646
18647 2003-05-17  Bruno Haible  <bruno@clisp.org>
18648
18649         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Fix a quoting bug leading to an
18650         invalid expansion for AC_EGREP_CPP.
18651         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Likewise.
18652         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
18653         Suggested by Akim Demaille <akim@epita.fr> in
18654         http://mail.gnu.org/archive/html/bug-autoconf/2003-05/threads.html
18655
18656 2003-05-12  Jim Meyering  <jim@meyering.net>
18657
18658         * lib/strftime.c (my_strftime): Let the `-' (no-pad) flag affect
18659         the space-padded-by-default conversion specifiers, %e, %k, %l.
18660
18661 2003-05-12  Bruno Haible  <bruno@clisp.org>
18662
18663         * lib/linebreak.c (iconv_string_length): Don't return -1 just because
18664         the string is longer than 4 KB.
18665
18666 2003-05-11  Karl Berry  <karl@gnu.org>
18667
18668         * config/config.{guess,sub}: update from prep.
18669
18670 2003-05-09  Bruno Haible  <bruno@clisp.org>
18671
18672         * modules/error: Add m4/strerror_r.m4 to file list.
18673
18674 2003-05-03  Bruno Haible  <bruno@clisp.org>
18675
18676         Upgrade to Unicode-4.0.
18677         * lib/linebreak.c (nonspacing_table_data): Change width of U+00AD,
18678         U+0350..U+0357, U+035D..U+035F, U+0600..U+0603, U+0610..U+0615,
18679         U+0656..U+0658, U+0A01, U+0AE2..U+0AE3, U+0CBC, U+17B4..U+17B5,
18680         U+17DD, U+1920..U+1922, U+1927..U+192B, U+1932, U+1939..U+193B
18681         from 1 to 0. Change width of U+0CBF, U+0CC6, U+180E from 0 to 1.
18682         (uc_width): Change width of U+4DC0..U+4DFF from 2 to 1. Change width
18683         of U+2A6D7..U+2F7FF, U+2FA1E..U+2FFFD, U+30000..U+3FFFD from 1 to 2.
18684         Change width of U+E0100..U+E01EF from 1 to 0.
18685
18686 2003-04-25  Jim Meyering  <jim@meyering.net>
18687
18688         * lib/copy-file.c (copy_file_preserving): Declare buf_size to be
18689         of type size_t, not int.
18690
18691 2003-04-25  Bruno Haible  <bruno@clisp.org>
18692
18693         * lib/copy-file.c: Include <stddef.h>, for size_t.
18694
18695 2003-04-21  Paul Eggert  <eggert@twinsun.com>
18696
18697         * m4/error.m4 (gl_ERROR): Do not put under dynamic conditions some
18698         code which expansion is under static control.  Patch imported from
18699         Akim Demaille's patch to Bison; see
18700         <http://mail.gnu.org/archive/html/bison-patches/2003-03/msg00057.html>.
18701
18702 2003-04-14  Bruno Haible  <bruno@clisp.org>
18703
18704         * m4/error.m4 (jm_PREREQ_ERROR): Use AC_FUNC_VPRINTF.
18705
18706 2003-04-11  Jim Meyering  <jim@meyering.net>
18707
18708         Merge changes from Coreutils.
18709
18710         2003-03-22  Jim Meyering  <jim@meyering.net>
18711
18712         * lib/strftime.c (widen): Cast alloca return value to proper type.
18713
18714         2003-01-19  Ulrich Drepper  <drepper@redhat.com>
18715
18716         From GNU libc.
18717         * lib/strftime.c (my_strftime): Handle very large width
18718         specifications for numeric values correctly.  Improve checks for
18719         overflow.
18720
18721         2003-01-19  Jim Meyering  <jim@meyering.net>
18722
18723         * lib/strftime.c (widen) [COMPILE_WIDE]: Merge nearly-identical
18724         definitions.
18725         (nl_get_alt_digit) [! defined my_strftime]: Define.
18726         (my_strftime) [_NL_CURRENT]: Merge nearly-identical uses of
18727         _nl_get_alt_digit and _nl_get_walt_digit.
18728
18729         * lib/strftime.c (my_strftime): Merge in locale-related changes from
18730         libc. These changes have no effect outside of _LIBC.
18731
18732 2003-04-10  Bruno Haible  <bruno@clisp.org>
18733
18734         * modules/findprog: New file.
18735         * MODULES.html.sh (func_all_modules): Add it.
18736
18737 2003-04-10  Bruno Haible  <bruno@clisp.org>
18738
18739         * m4/findprog.m4: New file.
18740         * m4/eaccess.m4: New file.
18741
18742 2003-04-10  Bruno Haible  <bruno@clisp.org>
18743
18744         * lib/findprog.h: New file, from GNU gettext.
18745         * lib/findprog.c: New file, from GNU gettext.
18746
18747 2003-04-05  Jim Meyering  <jim@meyering.net>
18748
18749         Merge changes from Coreutils.
18750
18751         * lib/exclude.h (PARAMS): Remove definition and uses.
18752         * lib/exclude.c: Remove uses of `PARAMS'.
18753
18754         * lib/dirname.c [TEST_DIRNAME]: Update build instructions for test.
18755         Add test-cases for DOS filenames. Declare program_name.
18756         (main): Set up program_name.  Patch by Rich Dawe.
18757
18758         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
18759         error from mntctl.
18760         Use mntctl's return value to drive the entry-processing loop, since
18761         we can't rely on the value of the vmt_length member in the last
18762         entry.  On some systems doing so could result in exhausting
18763         virtual memory.  Based in part on a patch from Mike Jetzer.
18764
18765 2003-04-04  Bruno Haible  <bruno@clisp.org>
18766
18767         * modules/linebreak: New file.
18768         * MODULES.html.sh (func_all_modules): Add it.
18769
18770 2003-04-04  Bruno Haible  <bruno@clisp.org>
18771
18772         * m4/linebreak.m4: New file.
18773
18774 2003-04-04  Bruno Haible  <bruno@clisp.org>
18775
18776         * lib/linebreak.h: New file, from GNU gettext.
18777         * lib/linebreak.c: New file, from GNU gettext with slight
18778         modifications.
18779         * lib/lbrkprop.h: New file, from GNU gettext.
18780
18781 2003-04-03  Bruno Haible  <bruno@clisp.org>
18782
18783         * modules/utf8-ucs4: New file.
18784         * modules/utf16-ucs4: New file.
18785         * modules/ucs4-utf8: New file.
18786         * modules/ucs4-utf16: New file.
18787         * MODULES.html.sh (func_all_modules): Add them.
18788
18789 2003-04-03  Bruno Haible  <bruno@clisp.org>
18790
18791         * m4/utf-ucs4.m4: New file.
18792         * m4/ucs4-utf.m4: New file.
18793
18794 2003-04-03  Bruno Haible  <bruno@clisp.org>
18795
18796         * lib/utf8-ucs4.h: New file, from GNU gettext.
18797         * lib/utf16-ucs4.h: New file, from GNU gettext.
18798         * lib/ucs4-utf8.h: New file, from GNU gettext.
18799         * lib/ucs4-utf16.h: New file, from GNU gettext.
18800
18801 2003-04-02  Bruno Haible  <bruno@clisp.org>
18802
18803         * modules/binary-io: New file.
18804         * MODULES.html.sh (func_all_modules): Add it.
18805
18806 2003-04-02  Bruno Haible  <bruno@clisp.org>
18807
18808         * lib/binary-io.h: New file, from GNU gettext.
18809
18810 2003-04-01  Bruno Haible  <bruno@clisp.org>
18811
18812         * modules/pathname: New file.
18813         * MODULES.html.sh (func_all_modules): Add it.
18814
18815 2003-04-01  Bruno Haible  <bruno@clisp.org>
18816
18817         * lib/pathname.h: New file, from GNU gettext.
18818         * lib/concatpath.c: New file, from GNU gettext.
18819
18820 2003-03-30  Bruno Haible  <bruno@clisp.org>
18821
18822         * m4/copy-file.m4 (gl_COPY_FILE): Add check for chown().
18823
18824 2003-03-30  Bruno Haible  <bruno@clisp.org>
18825
18826         * lib/copy-file.c (copy_file_preserving): Don't set owner if the
18827         function chown() doesn't exist.
18828
18829 2003-03-28  Bruno Haible  <bruno@clisp.org>
18830
18831         * modules/copy-file: New file.
18832         * MODULES.html.sh (func_all_modules): Add it.
18833
18834 2003-03-28  Bruno Haible  <bruno@clisp.org>
18835
18836         * m4/copy-file.m4: New file.
18837
18838 2003-03-28  Bruno Haible  <bruno@clisp.org>
18839
18840         * lib/copy-file.h: New file, from GNU gettext.
18841         * lib/copy-file.c: New file, from GNU gettext.
18842
18843 2003-03-18  Jim Meyering  <jim@meyering.net>
18844
18845         * lib/quote.c (quote_n): Fix typo in comment.
18846
18847 2003-03-18  Bruno Haible  <bruno@clisp.org>
18848
18849         * m4/onceonly.m4: Use m4_defn instead of defn, for better error
18850         checking.
18851         * m4/onceonly_2_57.m4: Likewise.
18852
18853 2003-03-17  Bruno Haible  <bruno@clisp.org>
18854
18855         * m4/onceonly.m4: Require autoconf 2.54 or newer.
18856         (m4_quote): Remove macro.
18857         * m4/onceonly_2_57.m4: Require autoconf 2.54 or newer.
18858
18859 2003-03-14  Jim Meyering  <jim@meyering.net>
18860
18861         Merge changes from Coreutils.
18862         * lib/obstack.h (obstack_object_size): Declare temporary, __o,
18863         to be const, in order to avoid warnings.
18864         (obstack_room): Likewise.
18865         (obstack_empty_p): Likewise.
18866
18867 2003-03-14  Bruno Haible  <bruno@clisp.org>
18868
18869         * m4/onceonly_2_57.m4 (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE,
18870         AC_CHECK_DECLS_ONCE): Quote AC_FOREACH variable-expansions properly.
18871
18872 2003-03-13  Paul Eggert  <eggert@twinsun.com>
18873
18874         Merge changes from Bison.
18875         * lib/obstack.h: (__INT_TO_PTR) [__STDC__]: Cast result to
18876         (void *) to avoid diagnostic with native c89 on SGI IRIX 6.5
18877         when compiling Bison 1.875's `bitset bset = obstack_alloc
18878         (bobstack, bytes);'.  Problem reported by Nelson H. F. Beebe.
18879         * lib/hash.c: Include <stdbool.h> unconditionally.
18880
18881 2003-03-13  Paul Eggert  <eggert@twinsun.com>
18882
18883         * m4/onceonly.m4 (m4_quote): New macro.
18884         (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE, AC_CHECK_DECLS_ONCE):
18885         Quote AC_FOREACH variable-expansions properly.
18886
18887 2003-03-13  Paul Eggert  <eggert@twinsun.com>
18888
18889         * doc/COPYING.DOC, fdl.texi: Sync with latest FSF version.
18890
18891 2003-03-09  Paul Eggert  <eggert@twinsun.com>
18892
18893         * lib/argmatch.c (EXIT_FAILURE): Define if the system doesn't.
18894         Reported by Bruce Becker; see:
18895         http://mail.gnu.org/archive/html/bug-bison/2003-03/msg00017.html
18896
18897 2003-03-03  Paul Eggert  <eggert@twinsun.com>
18898             Bruno Haible  <bruno@clisp.org>
18899
18900         * lib/mbswidth.h: Include <wchar.h>. Needed for UnixWare 7.1.1.
18901         Reported by John Hughes, see
18902         http://mail.gnu.org/archive/html/bug-bison/2003-02/msg00030.html
18903
18904 2003-02-20  Bruno Haible  <bruno@clisp.org>
18905
18906         * MODULES.html.sh (func_all_modules): Add poll.
18907
18908 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
18909
18910         * modules/poll: New file.
18911
18912 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
18913
18914         * lib/poll_.h: New file.
18915         * lib/poll.c: New file.
18916
18917 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
18918
18919         * m4/poll.m4: New file.
18920
18921 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
18922
18923         * modules/mathl: New file.
18924
18925 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
18926
18927         * lib/mathl.h: New file.
18928         * lib/acosl.c: New file.
18929         * lib/asinl.c: New file.
18930         * lib/atanl.c: New file.
18931         * lib/ceill.c: New file.
18932         * lib/cosl.c: New file.
18933         * lib/expl.c: New file.
18934         * lib/floorl.c: New file.
18935         * lib/frexpl.c: New file.
18936         * lib/ldexpl.c: New file.
18937         * lib/logl.c: New file.
18938         * lib/sincosl.c: New file.
18939         * lib/sinl.c: New file.
18940         * lib/sqrtl.c: New file.
18941         * lib/tanl.c: New file.
18942         * lib/trigl.c: New file.
18943         * lib/trigl.h: New file.
18944
18945 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
18946
18947         * m4/mathl.m4: New file.
18948
18949 2003-02-18  Bruno Haible  <bruno@clisp.org>
18950
18951         * MODULES.html.sh (func_all_modules): Add mathl.
18952
18953 2003-02-17  Bruno Haible  <bruno@clisp.org>
18954
18955         * modules/mkdtemp: New module.
18956         * MODULES.html.sh (func_all_modules): Add it.
18957
18958 2003-02-17  Bruno Haible  <bruno@clisp.org>
18959
18960         * m4/mkdtemp.m4: New file, from GNU gettext with modifications.
18961
18962 2003-02-17  Bruno Haible  <bruno@clisp.org>
18963
18964         * lib/mkdtemp.h: New file, from GNU gettext.
18965         * lib/mkdtemp.c: New file, from GNU gettext.
18966
18967 2003-02-02  Jim Meyering  <jim@meyering.net>
18968
18969         * m4/regex.m4 (jm_INCLUDED_REGEX): Detect broken re_search in
18970         e.g. glibc-2.2.93.
18971
18972 2003-01-31  Bruno Haible  <bruno@clisp.org>
18973
18974         * m4/rename.m4 (vb_FUNC_RENAME): Add a redirection from 'rename' to
18975         'rpl_rename'.
18976         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Add a redirection from 'strnlen' to
18977         'rpl_strnlen'.
18978         * m4/strtod.m4 (gl_FUNC_STRTOD): Add a redirection from 'strtod' to
18979         'rpl_strtod'.
18980         * m4/utime.m4 (jm_FUNC_UTIME): Add a redirection from 'utime' to
18981         'rpl_utime'.
18982
18983 2003-01-31  Bruno Haible  <bruno@clisp.org>
18984
18985         * lib/rename.c: #undef rename before defining rpl_rename.
18986         * lib/strnlen.c: #undef strnlen, define rpl_strnlen instead of strnlen.
18987
18988 2003-01-30  Bruno Haible  <bruno@clisp.org>
18989
18990         * modules/vasnprintf, modules/vasprintf: New modules.
18991         * MODULES.html.sh (func_all_modules): Add them.
18992
18993 2003-01-30  Bruno Haible  <bruno@clisp.org>
18994
18995         * m4/signed.m4: New file, from GNU gettext.
18996         * m4/longdouble.m4: New file, from GNU gettext.
18997         * m4/wchar_t.m4: New file, from GNU gettext.
18998         * m4/wint_t.m4: New file, from GNU gettext.
18999         * m4/vasnprintf.m4: New file.
19000         * m4/vasprintf.m4: New file.
19001
19002 2003-01-30  Bruno Haible  <bruno@clisp.org>
19003
19004         * lib/printf-args.h: New file, from GNU gettext.
19005         * lib/printf-args.c: New file, from GNU gettext.
19006         * lib/printf-parse.h: New file, from GNU gettext.
19007         * lib/printf-parse.c: New file, from GNU gettext.
19008         * lib/vasnprintf.h: New file, from GNU gettext.
19009         * lib/vasnprintf.c: New file, from GNU gettext.
19010         * lib/asnprintf.c: New file, from GNU gettext.
19011         * lib/vasprintf.h: New file, from GNU gettext with modifications.
19012         * lib/vasprintf.c: New file, from GNU gettext.
19013         * lib/asprintf.c: New file, from GNU gettext.
19014
19015 2003-01-29  Bruno Haible  <bruno@clisp.org>
19016
19017         * modules/stpncpy: New module.
19018         * MODULES.html.sh (func_all_modules): Add it.
19019
19020 2003-01-29  Bruno Haible  <bruno@clisp.org>
19021
19022         * m4/stpncpy.m4: New file.
19023
19024 2003-01-29  Bruno Haible  <bruno@clisp.org>
19025
19026         * lib/stpncpy.h: New file, from GNU gettext with modifications.
19027         * lib/stpncpy.c: New file, from GNU gettext with modifications.
19028
19029 2003-01-28  Bruno Haible  <bruno@clisp.org>
19030
19031         * modules/c-ctype: New module.
19032         * MODULES.html.sh (func_all_modules): Add it.
19033
19034 2003-01-28  Bruno Haible  <bruno@clisp.org>
19035
19036         * lib/c-ctype.h: New file, from GNU gettext, with changes suggested by
19037         Paul Eggert.
19038         * lib/c-ctype.c: New file, from GNU gettext, with changes suggested by
19039         Paul Eggert.
19040
19041 2003-01-27  Bruno Haible  <bruno@clisp.org>
19042
19043         * modules/xsetenv: New module.
19044         * MODULES.html.sh (func_all_modules): Add it.
19045
19046 2003-01-27  Bruno Haible  <bruno@clisp.org>
19047
19048         * lib/xsetenv.h: New file, from GNU gettext.
19049         * lib/xsetenv.c: New file, from GNU gettext.
19050
19051 2003-01-23  Jim Meyering  <jim@meyering.net>
19052
19053         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Correct typo: s/-1/no/ that kept this
19054         from working on systems without dirfd (at least Irix and OSF1/Tru64).
19055
19056 2003-01-23  Bruno Haible  <bruno@clisp.org>
19057
19058         * modules/minmax: New module.
19059         * MODULES.html.sh (func_all_modules): Add it.
19060
19061 2003-01-23  Bruno Haible  <bruno@clisp.org>
19062
19063         * lib/minmax.h: New file, from GNU gettext, with comments from Paul
19064         Eggert.
19065
19066 2003-01-22  Bruno Haible  <bruno@clisp.org>
19067
19068         * modules/exit: New module.
19069         * MODULES.html.sh (func_all_modules): Add it.
19070
19071 2003-01-22  Bruno Haible  <bruno@clisp.org>
19072
19073         * lib/exit.h: New file, from GNU gettext.
19074
19075 2003-01-19  Bruno Haible  <bruno@clisp.org>
19076
19077         * gnulib-tool: Recognize option --extract-maintainer.
19078         (func_get_maintainer): New function.
19079         * modules/*: Add Maintainer entry.
19080
19081 2003-01-16  Jim Meyering  <jim@meyering.net>
19082
19083         * m4/regex.m4: The `regex' struct is both input and output.
19084         Initialize it before each use.  Patch by Tim Waugh.
19085
19086 2003-01-16  Bruno Haible  <bruno@clisp.org>
19087
19088         * MODULES.html.sh: Add a table of contents. Add the module name as
19089         leftmost column. Add hyperlinks.
19090
19091 2003-01-15  Bruno Haible  <bruno@clisp.org>
19092
19093         * m4/md5.m4 (gl_MD5): Require AC_C_INLINE.
19094
19095 2003-01-15  Bruno Haible  <bruno@clisp.org>
19096
19097         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): Also test the LL suffix.
19098         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Also test the ULL
19099         suffix.
19100
19101 2003-01-15  Bruno Haible  <bruno@clisp.org>
19102
19103         * m4/alloca.m4 (gl_FUNC_ALLOCA): Invoke AC_EGREP_CPP prerequisites.
19104
19105 2003-01-15  Bruno Haible  <bruno@clisp.org>
19106
19107         * lib/stpcpy.h (stpcpy): Use ANSI C function declarations.
19108         * lib/strcase.h (strcasecmp, strncasecmp): Likewise.
19109
19110 2003-01-14  Jim Meyering  <jim@meyering.net>
19111
19112         * lib/same.c (same_name): Tweak a comment.
19113
19114 2003-01-14  Bruno Haible  <bruno@clisp.org>
19115
19116         * lib/same.c (same_name): Reorder tests so as to avoid calling stat()
19117         when a string comparison is sufficient.
19118
19119 2003-01-14  Bruno Haible  <bruno@clisp.org>
19120
19121         * lib/readtokens.c (readtoken): Cast character to 'unsigned char', not
19122         'unsigned int'.
19123
19124 2003-01-14  Bruno Haible  <bruno@clisp.org>
19125
19126         * lib/hash-pjw.c: Add comment about low quality of this function.
19127
19128 2003-01-13  Bruno Haible  <bruno@clisp.org>
19129
19130         * modules/stpcpy: Distribute lib/stpcpy.h.
19131         * modules/setenv: Depend on alloca. Distribute lib/setenv.h.
19132
19133 2003-01-13  Bruno Haible  <bruno@clisp.org>
19134
19135         * modules/*: Add a description.
19136         * modules/strpbrk: Fix Makefile.am snippet.
19137         * modules/strtoimax: Fix dependencies.
19138         * modules/strtoumax: Likewise.
19139
19140 2003-01-13  Bruno Haible  <bruno@clisp.org>
19141
19142         * gnulib-tool (func_create_testdir): Substitute lib_OBJECTS.
19143         * modules/alloca (Makefile.am): All object files depend on alloca.h.
19144         * modules/stdbool (Makefile.am): All object files depend on stdbool.h.
19145
19146 2003-01-13  Bruno Haible  <bruno@clisp.org>
19147
19148         * gnulib-tool (func_create_testdir): Store config/* files in the main
19149         directory.
19150         * config.rpath: Move to ...
19151         * config/config.rpath: ... here.
19152         * modules/gettext: Contains config/config.rpath, not config.rpath.
19153         * modules/iconv: Likewise.
19154
19155 2003-01-12  Paul Eggert  <eggert@twinsun.com>
19156
19157         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
19158         to avoid collisions with libcurses and libreadline.
19159
19160         * m4/getstr.m4: Remove.
19161         * m4/getline.m4 (gl_PREREQ_GETLINE): Require AC_HEADER_STDC.
19162
19163 2003-01-12  Paul Eggert  <eggert@twinsun.com>
19164
19165         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
19166         to avoid collisions with libcurses and libreadline.
19167
19168         * lib/Makefile.am (libfetish_a_SOURCES): Remove getstr.c, getstr.h.
19169         * lib/getstr.h, getstr.c: Remove.
19170         * lib/getline.c: Include "getline.h", to check interface.
19171         Move body of old getstr.c here: this defines MIN_CHUNK and
19172         declares getdelim2, which is renamed from getstr.
19173         (getline, getdelim): Adjust to renaming of getstr -> getdelim2.
19174
19175         * lib/linebuffer.c (readlinebuffer): Renamed from readline.
19176         All uses changed.
19177         * lib/linebuffer.h: Likewise.
19178         (readline): Remove backward-compatibility macro.
19179
19180 2003-01-12  Paul Eggert  <eggert@twinsun.com>
19181
19182         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
19183         to avoid collisions with libcurses and libreadline.
19184         * getstr: Remove.
19185         * MODULES.html.sh: Remove getstr.
19186         * modules/getline: Depend on unlocked-io, not getstr.
19187
19188 2003-01-12  Jim Meyering  <jim@meyering.net>
19189
19190         * lib/makepath.c: Don't test HAVE_ERRNO_H.  It's not necessary.
19191
19192 2003-01-10  Bruno Haible  <bruno@clisp.org>
19193
19194         * modules/alloca: Change Makefile.am requirements. Simplify Include
19195         requirements. Add lib/alloca_.h to file list.
19196
19197 2003-01-10  Bruno Haible  <bruno@clisp.org>
19198
19199         * m4/alloca.m4 (gl_FUNC_ALLOCA): Also define ALLOCA_H.
19200
19201 2003-01-10  Bruno Haible  <bruno@clisp.org>
19202
19203         * lib/alloca_.h: New file.
19204         * lib/getdate.y: Unconditionally include alloca.h.
19205         * lib/makepath.c: Likewise.
19206         * lib/setenv.c: Likewise.
19207         * lib/userspec.c: Likewise.
19208
19209 2003-01-09  Karl Berry  <karl@gnu.org>
19210
19211         * MODULES.html.sh: include `dirname $0` in PATH, to find
19212         gnulib-tool.
19213
19214 2003-01-09  Bruno Haible  <bruno@clisp.org>
19215
19216         * modules/stdbool: Change configure.ac, Makefile.am requirements.
19217         Simplify Include requirements. Add lib/stdbool.h.in to file list.
19218
19219 2003-01-09  Bruno Haible  <bruno@clisp.org>
19220
19221         * m4/stdbool.m4 (AM_STDBOOL_H): New macro.
19222
19223 2003-01-09  Bruno Haible  <bruno@clisp.org>
19224
19225         * lib/stdbool.h.in: New file.
19226
19227 2003-01-09  Bruno Haible  <bruno@clisp.org>
19228
19229         * gnulib-tool (func_all_modules): Ignore files ending in ~.
19230         * MODULES.html.sh: Likewise.
19231
19232 2003-01-08  Jim Meyering  <jim@meyering.net>
19233
19234         * lib/full-write.c: Undefine and define-away `const' after inclusion
19235         of errno.h, not before.  Suggestion from Bruno Haible.
19236
19237 2003-01-08  Bruno Haible  <bruno@clisp.org>
19238
19239         * modules/full-read: Depend on full-write.
19240
19241 2003-01-08  Bruno Haible  <bruno@clisp.org>
19242
19243         * lib/safe-read.c: Include specification header first, to ensure its
19244         selfcontainedness.
19245         * lib/full-write.c: Likewise.
19246
19247 2003-01-07  Jim Meyering  <jim@meyering.net>
19248
19249         * lib/full-write.c: Rework so that it may serve to define full_read,
19250         too.
19251         * lib/full-read.c: Simply #define FULL_READ and include full-write.c.
19252
19253 2003-01-07  Bruno Haible  <bruno@clisp.org>
19254
19255         * lib/strtoimax.c: Include <stdint.h> as an alternative to
19256         <inttypes.h>.
19257         * lib/xstrtol.h: Likewise.
19258         * lib/xstrtoimax.c: Likewise.
19259         * lib/xstrtoumax.c: Likewise.
19260         * lib/human.h: Likewise.
19261
19262         * lib/tempname.c: Include <inttypes.h> too. Avoids a compilation error
19263         on systems that have <inttypes.h> but not <stdint.h>.
19264
19265 2003-01-07  Bruno Haible  <bruno@clisp.org>
19266
19267         * MODULES.html.sh: Add copyright notice.
19268         (missed_files): Omit CVS directory entries.
19269         (func_module): Make it work with sed-3.02.
19270         * MODULES.txt: Remove file.
19271
19272 2003-01-06  Jim Meyering  <jim@meyering.net>
19273
19274         * lib/version-etc.c: Update year in translatable copyright string.
19275
19276 2003-01-03  Karl Berry  <karl@gnu.org>
19277
19278         * config/config.{guess,sub}: update from prep.
19279
19280 2003-01-02  Karl Berry  <karl@gnu.org>
19281
19282         * doc/COPYING.DOC: belatedly updated to 1.2.
19283
19284 2003-01-01  Karl Berry  <karl@gnu.org>
19285
19286         * gnulib-tool (func_verify_module): report module name $module in
19287         error message, not $1.
19288         * gnulib-tool (create-testdir): don't complain if destdir couldn't
19289         be created, only if it doesn't exist.
19290         * gnulib-tool (last_checkin_date): don't expand the $Date here.
19291
19292 2002-12-31  Paul Eggert  <eggert@twinsun.com>
19293
19294         * m4/memcoll.m4 (gl_MEMCOLL): Require AC_FUNC_MEMCMP.
19295
19296 2002-12-31  Paul Eggert  <eggert@twinsun.com>
19297
19298         * lib/memcoll.c (memcoll): Fall back on a simple algorithm using
19299         memcmp if strcoll doesn't work.
19300
19301 2002-12-31  Bruno Haible  <bruno@clisp.org>
19302
19303         * lib/utime.c (utime_null): No need to call ftruncate if the file was
19304         nonempty.
19305
19306 2002-12-31  Bruno Haible  <bruno@clisp.org>
19307
19308         * lib/memcoll.c (STRCOLL): New macro.
19309         (memcoll): Use it.
19310
19311 2002-12-31  Bruno Haible  <bruno@clisp.org>
19312
19313         * lib/localcharset.h: New file.
19314         * lib/localcharset.c: Include it.
19315         * lib/unicodeio.c: Likewise.
19316
19317 2002-12-31  Bruno Haible  <bruno@clisp.org>
19318
19319         * lib/getstr.h (getstr): Define, to avoid clash with libcurses.
19320         * lib/linebuffer.h (readline): Define, to avoid clash with libreadline.
19321
19322 2002-12-31  Bruno Haible  <bruno@clisp.org>
19323
19324         * lib/getline.h: Include <stddef.h>, for size_t.
19325
19326         * lib/unicodeio.h: Include <stddef.h>, for size_t.
19327         * lib/unicodeio.c: Don't include <stddef.h>.
19328
19329 2002-12-31  Bruno Haible  <bruno@clisp.org>
19330
19331         * lib/getdate.y (get_date): Test HAVE_STRUCT_TM_TM_ZONE, not
19332         HAVE_TM_ZONE.
19333
19334 2002-12-24  Karl Berry  <karl@gnu.org>
19335
19336         * config/config.guess: update from prep.
19337
19338 2002-12-24  Bruno Haible  <bruno@clisp.org>
19339
19340         General infrasructure.
19341         * m4/README: Rewritten.
19342         * m4/onceonly.m4: New file.
19343         * m4/onceonly_2_57.m4: New file.
19344
19345         Module atexit.
19346         * m4/atexit.m4: New file.
19347
19348         Module strtod.
19349         * m4/strtod.m4: New file.
19350
19351         Module strtol.
19352         * m4/strtol.m4: New file.
19353
19354         Module strtoul.
19355         * m4/strtoul.m4: New file.
19356
19357         Module memchr.
19358         * m4/memchr.m4: New file.
19359
19360         Module memcmp.
19361         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): New macro.
19362         (jm_FUNC_MEMCMP): Invoke it.
19363
19364         Module memcpy.
19365         * m4/memcpy.m4: New file.
19366
19367         Module memmove.
19368         * m4/memmove.m4: New file.
19369
19370         Module memset.
19371         * m4/memset.m4: New file.
19372
19373         Module strcspn.
19374         * m4/strcspn.m4: New file.
19375
19376         Module strpbrk.
19377         * m4/strpbrk.m4: New file.
19378
19379         Module strstr.
19380         * m4/strstr.m4: New file.
19381
19382         Module strerror.
19383         * m4/strerror.m4: New file.
19384
19385         Module mktime.
19386         * m4/mktime.m4: Renamed from jm-mktime.m4.
19387         (gl_PREREQ_MKTIME): New macro.
19388         (gl_FUNC_MKTIME): Renamed from jm_FUNC_MKTIME. Invoke gl_PREREQ_MKTIME.
19389
19390         Module malloc.
19391         * m4/malloc.m4 (gl_PREREQ_MALLOC): New macro.
19392         (jm_FUNC_MALLOC): Use AC_FUNC_MALLOC. Invoke gl_PREREQ_MALLOC.
19393         Don't define HAVE_DONE_WORKING_MALLOC_CHECK, since nothing uses it.
19394
19395         Module realloc.
19396         * m4/realloc.m4 (gl_PREREQ_REALLOC): New macro.
19397         (jm_FUNC_REALLOC): Use AC_FUNC_REALLOC. Invoke gl_PREREQ_REALLOC.
19398         Don't define HAVE_DONE_WORKING_REALLOC_CHECK, since nothing uses it.
19399
19400         Module strftime.
19401         * m4/tm_gmtoff.m4: New file, extracted from strftime.m4.
19402         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Use AC_FUNC_STRFTIME.
19403         Don't test for bcopy (we are not emacs). Invoke AC_TYPE_MBSTATE_T and
19404         gl_TM_GMTOFF.
19405         (_jm_STRFTIME_PREREQS, jm_FUNC_GNU_STRFTIME): Use onceonly macros.
19406
19407         Module xalloc.
19408         * m4/xalloc.m4: New file.
19409
19410         Module alloca.
19411         * m4/alloca.m4: New file.
19412
19413         Module putenv.
19414         * m4/putenv.m4 (gl_PREREQ_PUTENV): New macro.
19415         (jm_FUNC_PUTENV): Invoke it.
19416
19417         Module setenv.
19418         * m4/setenv.m4 (gt_FUNC_SETENV): New macro.
19419         (gt_CHECK_VAR_DECL): Fix quoting error that led to infinite loop in m4
19420         when invoked twice.
19421         (gt_PREREQ_SETENV, gt_PREREQ_UNSETENV): New macros, replacing old
19422         gt_FUNC_SETENV.
19423
19424         Module memrchr.
19425         * m4/memrchr.m4: New file.
19426
19427         Module stpcpy.
19428         * m4/stpcpy.m4: New file.
19429
19430         Module strcase.
19431         * m4/strcase.m4: New file.
19432
19433         Module strdup.
19434         * m4/strdup.m4: New file.
19435
19436         Module strnlen.
19437         * m4/strnlen.m4: New file.
19438
19439         Module strndup.
19440         * m4/strndup.m4: New file.
19441
19442         Module xstrtod.
19443         * m4/xstrtod.m4: New file.
19444
19445         Module xstrtol.
19446         * m4/xstrtol.m4: New file.
19447
19448         Module getdate.
19449         * m4/getdate.m4: New file.
19450
19451         Module unlocked-io.
19452         * m4/unlocked-io.m4: Renamed from jm-glibc-io.m4.
19453         (jm_FUNC_GLIBC_UNLOCKED_IO): Invoke AC_GNU_SOURCE. Use onceonly macros.
19454         * m4/jm-glibc-io.m4n: Remove file.
19455
19456         Module long-options.
19457         * m4/long-options.m4: New file.
19458
19459         Module md5.
19460         * m4/md5.m4: New file.
19461
19462         Module sha.
19463         * m4/sha.m4: New file.
19464
19465         Module getstr.
19466         * m4/getstr.m4: New file.
19467
19468         Module getline.
19469         * m4/getline.m4 (gl_PREREQ_GETLINE): New macro.
19470         (AM_FUNC_GETLINE): Invoke AC_GNU_SOURCE. Use <stdlib.h>, not
19471         <sys/types.h>, for size_t. Use the function name gnu_getline, not
19472         simply getline. Infoke gl_PREREQ_GETLINE.
19473
19474         Module obstack.
19475         * m4/obstack.m4: New file.
19476
19477         Module hash.
19478         * m4/hash.m4: New file.
19479
19480         Module readtokens.
19481         * m4/readtokens.m4: New file.
19482
19483         Module strverscmp.
19484         * m4/strverscmp.m4: New file.
19485
19486         Module stdbool.
19487         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Add test for _Bool. Needed for
19488         OSF/1.
19489
19490         Module strtoll.
19491         * m4/strtoll.m4: New file.
19492
19493         Module strtoull.
19494         * m4/strtoull.m4: New file.
19495
19496         Module strtoimax.
19497         * m4/strtoimax.m4: New file.
19498
19499         Module strtoumax.
19500         * m4/strtoumax.m4: New file.
19501
19502         Module xstrtoimax.
19503         * m4/xstrtoimax.m4 (jm_XSTRTOIMAX): Renamed from
19504         jm_AC_PREREQ_XSTRTOIMAX.
19505         Moved the strtol prerequisites to strtol.m4.
19506         Moved the strtoll prerequisites to strtoll.m4.
19507         Moved the strtoimax prerequisites to strtoimax.m4.
19508
19509         Module xstrtoumax.
19510         * m4/xstrtoumax.m4 (jm_XSTRTOUMAX): Renamed from
19511         jm_AC_PREREQ_XSTRTOUMAX.
19512         Moved the strtoul prerequisites to strtoul.m4.
19513         Moved the strtoull prerequisites to strtoull.m4.
19514         Moved the strtoumax prerequisites to strtoumax.m4.
19515
19516         Module chown.
19517         * m4/chown.m4 (gl_PREREQ_CHOWN): New macro.
19518         (jm_FUNC_CHOWN): Use AC_FUNC_CHOWN. Invoke gl_PREREQ_CHOWN.
19519
19520         Module dup2.
19521         * m4/dup2.m4: New file.
19522
19523         Module ftruncate.
19524         * m4/ftruncate.m4 (gl_PREREQ_FTRUNCATE): New macro.
19525         (jm_FUNC_FTRUNCATE): Use AC_REPLACE_FUNCS. Invoke gl_PREREQ_FTRUNCATE.
19526
19527         Module getgroups.
19528         * m4/getgroups.m4 (gl_PREREQ_GETGROUPS): New macro.
19529         (jm_FUNC_GETGROUPS): Use AC_FUNC_GETGROUPS. Invoke gl_PREREQ_GETGROUPS.
19530
19531         Module gettimeofday.
19532         * m4/gettimeofday.m4 (gl_PREREQ_GETTIMEOFDAY): New macro.
19533         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use onceonly macros. Invoke
19534         gl_PREREQ_GETTIMEOFDAY.
19535
19536         Module mkdir.
19537         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): New macro.
19538         (UTILS_FUNC_MKDIR_TRAILING_SLASH): Invoke gl_PREREQ_MKDIR.
19539
19540         Module mkstemp.
19541         * m4/mkstemp.m4 (gl_PREREQ_MKSTEMP): New macro.
19542         (jm_PREREQ_TEMPNAME): New macro, from prereq.m4. Also invoke
19543         jm_AC_TYPE_UINTMAX_T.
19544         (UTILS_FUNC_MKSTEMP): Invoke gl_PREREQ_MKSTEMP and jm_PREREQ_TEMPNAME.
19545
19546         Module stat.
19547         * m4/stat.m4 (gl_PREREQ_STAT): New macro.
19548         (jm_FUNC_STAT): Use AC_FUNC_STAT. Invoke gl_PREREQ_STAT.
19549
19550         Module lstat.
19551         * m4/lstat.m4 (gl_PREREQ_LSTAT): New macro.
19552         (jm_FUNC_LSTAT): Use AC_FUNC_LSTAT. Invoke gl_PREREQ_LSTAT.
19553
19554         Module timespec.
19555         * m4/timespec.m4 (gl_TIMESPEC): New macro.
19556         (jm_CHECK_TYPE_STRUCT_TIMESPEC): Add check for <sys/time.h>.
19557         * m4/st_mtim.m4: Indentation.
19558
19559         Module nanosleep.
19560         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): New macro.
19561         (jm_FUNC_NANOSLEEP): Add check for <sys/time.h>. Invoke
19562         gl_PREREQ_NANOSLEEP.
19563
19564         Module regex.
19565         * m4/regex.m4 (jm_PREREQ_REGEX): New macro.
19566         (jm_INCLUDED_REGEX): Invoke jm_PREREQ_REGEX.
19567         (gl_REGEX): New macro.
19568
19569         Module rename.
19570         * m4/rename.m4 (gl_PREREQ_RENAME): New macro.
19571         (vb_FUNC_RENAME): Invoke gl_PREREQ_RENAME.
19572
19573         Module rmdir.
19574         * m4/rmdir.m4: New file.
19575
19576         Module utime.
19577         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Use onceonly macros.
19578         * m4/utime.m4 (gl_PREREQ_UTIME): New macro.
19579         (jm_FUNC_UTIME): Invoke gl_PREREQ_UTIME.
19580
19581         Module dirname.
19582         * m4/dirname.m4: New file.
19583
19584         Module getopt.
19585         * m4/getopt.m4: New file.
19586
19587         Module unistd-safer.
19588         * m4/unistd-safer.m4: New file.
19589
19590         Module fnmatch.
19591         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Include <stdlib.h>, for exit()
19592         declaration.
19593         (gl_PREREQ_FNMATCH_EXTRA): New macro.
19594         (gl_FUNC_FNMATCH_POSIX): New macro.
19595         (gl_FUNC_FNMATCH_GNU): Renamed from AC_FUNC_FNMATCH_GNU. Invoke
19596         gl_PREREQ_FNMATCH_EXTRA. Use the function name gnu_fnmatch, not
19597         simply fnmatch.
19598
19599         Module exclude.
19600         * m4/exclude.m4: New file.
19601
19602         Module human.
19603         * m4/human.m4: New file.
19604
19605         Module acl.
19606         * m4/acl.m4: Nop.
19607
19608         Module backupfile.
19609         * m4/backupfile.m4: New file.
19610         * m4/d-ino.m4: Indentation.
19611
19612         Module fsusage.
19613         * m4/fsusage.m4 (gl_FSUSAGE): New macro.
19614         (jm_STATFS_TRUNCATES): New macro, from coreutils-4.5.4/configure.ac.
19615         (gl_PREREQ_FSUSAGE_EXTRA): New macro.
19616
19617         Module dirfd.
19618         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Invoke some AC_EGREP_CPP
19619         requirements.
19620
19621         Module euidaccess.
19622         * m4/euidaccess.m4: New file.
19623
19624         Module file-type.
19625         * m4/file-type.m4: New file.
19626
19627         Module fileblocks.
19628         * m4/fileblocks.m4: New file.
19629
19630         Module filemode.
19631         * m4/filemode.m4: New file.
19632
19633         Module isdir.
19634         * m4/isdir.m4: New file.
19635
19636         Module lchown.
19637         * m4/lchown.m4 (gl_PREREQ_LCHOWN): New macro.
19638         (jm_FUNC_LCHOWN): Invoke gl_PREREQ_LCHOWN.
19639
19640         Module makepath.
19641         * m4/makepath.m4: New file.
19642
19643         Module modechange.
19644         * m4/modechange.m4: New file.
19645
19646         Module mountlist.
19647         * m4/mountlist.m4: New file.
19648         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Use onceonly macros.
19649         Indentation.
19650
19651         Module path-concat.
19652         * m4/path-concat.m4: New file.
19653
19654         Module pathmax.
19655         * m4/pathmax.m4: New file.
19656
19657         Module same.
19658         * m4/same.m4: New file.
19659
19660         Module save-cwd.
19661         * m4/save-cwd.m4: New file.
19662
19663         Module savedir.
19664         * m4/savedir.m4: New file.
19665
19666         Module xgetcwd.
19667         * m4/xgetcwd.m4: New file.
19668         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Use onceonly macros.
19669
19670         Module xreadlink.
19671         * m4/xreadlink.m4: New file.
19672
19673         Module safe-read.
19674         * m4/safe-read.m4: New file.
19675
19676         Module safe-write.
19677         * m4/safe-write.m4: New file.
19678
19679         Module closeout.
19680         * m4/closeout.m4: New file.
19681
19682         Module stdio-safer.
19683         * m4/stdio-safer.m4: New file.
19684
19685         Module getpass.
19686         * m4/getpass.m4: New file.
19687
19688         Module getugroups.
19689         * m4/getugroups.m4: New file.
19690
19691         Module group-member.
19692         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): New macro.
19693         (jm_FUNC_GROUP_MEMBER): Invoke AC_GNU_SOURCE, gl_PREREQ_GROUP_MEMBER.
19694
19695         Module idcache.
19696         * m4/idcache.m4: New file.
19697
19698         Module userspec.
19699         * m4/userspec.m4: New file.
19700
19701         Module gettime.
19702         * m4/clock_time.m4: New file.
19703         * m4/gettime.m4: New file.
19704
19705         Module settime.
19706         * m4/settime.m4: New file.
19707
19708         Module posixtm.
19709         * m4/posixtm.m4: New file.
19710
19711         Module gethostname.
19712         * m4/gethostname.m4: New file.
19713
19714         Module canon-host.
19715         * m4/canon-host.m4: New file.
19716
19717         Module gettext.
19718         * m4/codeset.m4: New file, from gettext-0.11.5.
19719         * m4/gettext.m4: New file, from gettext-0.11.5.
19720         * m4/glibc21.m4: New file, from gettext-0.11.5.
19721         * m4/iconv.m4: New file, from gettext-0.11.5.
19722         * m4/intdiv0.m4: New file, from gettext-0.11.5.
19723         * m4/inttypes-pri.m4: New file, from gettext-0.11.5.
19724         * m4/inttypes.m4: New file, from gettext-0.11.5.
19725         * m4/inttypes_h.m4: New file, from gettext-0.11.5 with modifications.
19726         * m4/isc-posix.m4: New file, from gettext-0.11.5.
19727         * m4/lcmessage.m4: New file, from gettext-0.11.5.
19728         * m4/lib-ld.m4: New file, from gettext-0.11.5.
19729         * m4/lib-link.m4: New file, from gettext-0.11.5.
19730         * m4/lib-prefix.m4: New file, from gettext-0.11.5.
19731         * m4/progtest.m4: New file, from gettext-0.11.5.
19732         * m4/stdint_h.m4: New file, from gettext-0.11.5 with modifications.
19733         * m4/uintmax_t.m4: New file, from gettext-0.11.5 with modifications.
19734         * m4/ulonglong.m4: New file, from gettext-0.11.5 with modifications.
19735
19736         Module localcharset.
19737         * m4/localcharset.m4: New file.
19738
19739         Module hard-locale.
19740         * m4/hard-locale.m4: New file.
19741
19742         Module mbswidth.
19743         * m4/mbswidth.m4 (gl_MBSWIDTH): Renamed from jm_PREREQ_MBSWIDTH. Use
19744         onceonly macros.
19745         * m4/mbrtowc.m4: Add comment.
19746
19747         Module memcasecmp.
19748         * m4/memcasecmp.m4: New file.
19749
19750         Module memcoll.
19751         * m4/memcoll.m4: New file.
19752
19753         Module unicodeio.
19754         * m4/unicodeio.m4: New file.
19755
19756         Module rpmatch.
19757         * m4/rpmatch.m4: New file.
19758
19759         Module yesno.
19760         * m4/yesno.m4: New file.
19761
19762         Module exitfail.
19763         * m4/exitfail.m4: New file.
19764
19765         Module c-stack.
19766         * m4/c-stack.m4 (gl_C_STACK): New macro.
19767         (jm_PREREQ_C_STACK): Check for <sys/time.h>. Use onceonly macros.
19768
19769         Module error.
19770         * m4/error.m4 (gl_ERROR): New macro.
19771         (jm_PREREQ_ERROR): Use onceonly macros.
19772
19773         Module fatal.
19774         * m4/fatal.m4: New file.
19775
19776         Module getloadavg.
19777         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Use onceonly macros.
19778         (gl_FUNC_GETLOADAVG, gl_PREREQ_GETLOADAVG): New macros.
19779
19780         Module getpagesize.
19781         * m4/getpagesize.m4: New file.
19782
19783         Module getusershell.
19784         * m4/getusershell.m4: New file.
19785
19786         Module physmem.
19787         * m4/physmem.m4: New file.
19788
19789         Module posixver.
19790         * m4/posixver.m4: New file.
19791
19792         Module quotearg.
19793         * m4/quotearg.m4: New file.
19794
19795         Module quote.
19796         * m4/quote.m4: New file.
19797
19798         Module readutmp.
19799         * m4/readutmp.m4: New file, based on jm_PREREQ_READUTMP from prereq.m4.
19800
19801         Module sig2str.
19802         * m4/sig2str.m4: New file.
19803
19804         Other.
19805         * m4/longlong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Remove, moved to
19806         ulonglong.m4.
19807         * m4/intmax_t.m4: New file.
19808         * m4/d-type.m4: Indentation.
19809         * m4/jm-macros.m4: Update.
19810         * m4/prereq.m4 (jm_PREREQ): Update.
19811         (jm_PREREQ_ADDEXT): Remove, obsoleted by backupfile.m4.
19812         (jm_PREREQ_CANON_HOST): Remove, obsoleted by canon-host.m4.
19813         (jm_PREREQ_DIRNAME): Remove, obsoleted by dirname.m4.
19814         (jm_PREREQ_EXCLUDE): Remove, obsoleted by exclude.m4.
19815         (jm_PREREQ_GETPAGESIZE): Remove, obsoleted by getpagesize.m4.
19816         (jm_PREREQ_HARD_LOCALE): Remove, obsoleted by hard-locale.m4.
19817         (jm_PREREQ_HASH): Remove, obsoleted by hash.m4.
19818         (jm_PREREQ_HUMAN): Remove, obsoleted by human.m4.
19819         (jm_PREREQ_MEMCHR): Remove, obsoleted by memchr.m4.
19820         (jm_PREREQ_PHYSMEM): Remove, obsoleted by physmem.m4.
19821         (jm_PREREQ_POSIXVER): Remove, obsoleted by posixver.m4.
19822         (jm_PREREQ_QUOTEARG): Remove, obsoleted by quotearg.m4.
19823         (jm_PREREQ_READUTMP): Remove, obsoleted by readutmp.m4.
19824         (jm_PREREQ_REGEX): Remove, obsoleted by regex.m4.
19825         (jm_PREREQ_STRNLEN): Remove, obsoleted by strnlen.m4.
19826         (jm_PREREQ_TEMPNAME): Remove, obsoleted by mkstemp.m4.
19827         (jm_PREREQ_XGETCWD): Remove, obsoleted by xgetcwd.m4.
19828         (jm_PREREQ_XREADLINK): Remove, obsoleted by xreadlink.m4.
19829         * m4/readdir.m4 (jm_FUNC_READDIR): Use onceonly macros.
19830
19831 2002-12-24  Bruno Haible  <bruno@clisp.org>
19832
19833         * MODULES.txt: Update according to m4/ changes.
19834
19835         Module gettext.
19836         * config.rpath: New file, from gettext-0.11.5.
19837
19838         * modules/*: New module descriptions.
19839         * gnulib-tool: New file.
19840         * MODULES.html.sh: New file.
19841
19842 2002-12-21  Karl Berry  <karl@gnu.org>
19843
19844         * doc/fdl.texi: update to version 1.2.
19845
19846 2002-12-19  Karl Berry  <karl@gnu.org>
19847
19848         * config/config.guess: update from prep.
19849
19850 2002-12-18  Bruno Haible  <bruno@clisp.org>
19851
19852         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't test for localtime_r.
19853         * m4/jm-mktime.m4 (jm_FUNC_MKTIME): Likewise.
19854
19855 2002-12-17  Bruno Haible  <bruno@clisp.org>
19856
19857         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Remove checks for limits.h,
19858         stdlib.h, string.h.
19859
19860 2002-12-17  Bruno Haible  <bruno@clisp.org>
19861
19862         * lib/canon-host.c (strdup): Remove unused declaration.
19863
19864         * lib/fsusage.c: Include full_read.h.
19865         (get_fs_usage): Use full_read instead of safe_read.
19866
19867         * lib/utime.c (utime_null): Use SAFE_READ_ERROR.
19868
19869 2002-12-12  Karl Berry  <karl@gnu.org>
19870
19871         * config/config.guess: update from prep.
19872
19873 2002-12-11  Bruno Haible  <bruno@clisp.org>
19874
19875         * m4/setenv.m4: New file, from gettext-0.11.5.
19876
19877 2002-12-11  Bruno Haible  <bruno@clisp.org>
19878
19879         * lib/setenv.h: Rewritten to cope with systems that have setenv() but
19880         not unsetenv().
19881         * lib/setenv.c, unsetenv.c: Taken from glibc-2.2.4 with the following
19882         modifications:
19883
19884         2002-12-11  Bruno Haible  <bruno@clisp.org>
19885
19886                 * setenv.c (alloca): Fall back to malloc.
19887                 (freea): New macro.
19888                 (setenv): Use freea() to free memory allocated with alloca().
19889
19890         2002-11-13  Bruno Haible  <bruno@clisp.org>
19891
19892                 * setenv.c (compar_fn_t, __add_to_environ, setenv): Use ANSI C
19893                 function declarations.
19894                 * unsetenv.c (unsetenv): Likewise.
19895
19896         2002-03-04  Bruno Haible  <bruno@clisp.org>
19897
19898                 Portability to AIX 4.3.3.
19899                 * unsetenv.c: New file, extracted from setenv.c.
19900                 * setenv.c: Move the unsetenv() function to unsetenv.c.
19901
19902         2001-12-20  Bruno Haible  <bruno@clisp.org>
19903
19904                 * setenv.c (__add_to_environ): Don't call realloc(NULL,...),
19905                 use malloc instead. For SunOS 4.
19906
19907         2001-12-11  Bruno Haible  <bruno@clisp.org>
19908
19909                 * setenv.c: Declare alloca.
19910                 (compar_fn_t): New typedef.
19911                 (KNOWN_VALUE, STORE_VALUE): Use it.
19912
19913         * lib/Makefile.am (libfetish_a_SOURCES): Add setenv.c, unsetenv.c,
19914         setenv.h.
19915
19916 2002-12-10  Paul Eggert  <eggert@twinsun.com>
19917
19918         Port exclude.c and exclude.h to more non-GNU systems, e.g. Solaris 7.
19919         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE, EXCLUDE_WILDCARDS):
19920         Choose values that are less likely to collide with system fnmatch
19921         options.
19922         * lib/exclude.c (FNM_CASEFOLD, FNM_LEADING_DIR): Define to 0 if not
19923         defined (e.g., a pure POSIX system).
19924         (EXCLUDE_macros_do_not_collide_with_FNM_macros): Use FNM_PATHNAME
19925         instead of FNM_FILE_NAME, for compatibility with pure POSIX sytems.
19926
19927 2002-12-06  Paul Eggert  <eggert@twinsun.com>
19928
19929         Undo the 2001-07-02 change for jm-glibc-io, as it was too much of
19930         a pain in practice to deal with generated m4 files.  This change
19931         goes together with the 2002-12-04 unlocked-io.h change in ../lib.
19932
19933         * m4/Makefile.am.in (Makefile.am): Don't mention jm-glibc-io.m4n
19934         and jm-glibc-io.m4, as they are no longer a special case.
19935         * m4/jm-glibc-io.m4: Rename from jm-glibc-io.m4n, and remove the
19936         kludge and the auto-generation stuff.  Check only whether the
19937         functions are declared, not whether they exist, since older hosts
19938         that don't declare the functions can't use the optimization anyway.
19939
19940 2002-12-06  Jim Meyering  <jim@meyering.net>
19941
19942         * lib/error.c: Be consistent: change `#ifndef _LIBC' to `#if !_LIBC'.
19943
19944         Merge in changes from libc's misc/error.c, in preparation
19945         for the merge of gnulib's changes back into libc.
19946
19947         * lib/error.c (_): Define only if not already defined.
19948         Move definition to follow all #include directives.
19949         Include unlocked-io.h only if !_LIBC.
19950         [_LIBC]: Include <libio/libioP.h>.
19951         [USE_IN_LIBIO]: Include <libio/iolibio.h>
19952         (fflush): Tweak definition to use INTUSE.
19953         (putc): Define.
19954
19955 2002-12-05  Paul Eggert  <eggert@twinsun.com>
19956
19957         * lib/alloca.c [defined emacs]: Include "lisp.h".
19958         (xalloc_die) [defined emacs]: New macro.
19959         (free) [defined emacs && defined EMACS_FREE]: Define to EMACS_FREE.
19960         [! defined emacs]: Include <xalloc.h>.
19961         (POINTER_TYPE) [!defined POINTER_TYPE]: New macro.
19962         (pointer): Typedef to POINTER_TYPE *.
19963         (malloc): Remove decl; we now always use xmalloc.
19964         (alloca): Use old-style definition, since Emacs needs this.
19965         Check for arithmetic overflow when computing combined size.
19966
19967 2002-12-04  Paul Eggert  <eggert@twinsun.com>
19968
19969         Do not generate unlocked-io.h automatically, since it's easier to
19970         maintain it by hand.
19971
19972         * lib/unlocked-io.h: New file, from GNU diffutils,
19973         but with proper copyright notice and attribution.
19974         * lib/gen-uio: Remove.
19975         * lib/Makefile.am: Add copyright notice.
19976         (libfetish_a_SOURCES): Add unlocked-io.h.
19977         (BUILT_SOURCES, all-local): Remove unlocked-io.h.
19978         (DISTCLEANFILES, io_functions): Remove macros.
19979         (EXTRA_DIST): Remove gen_uio.
19980         (unlocked-io.h): Remove rule.
19981
19982 2002-12-04  Jim Meyering  <jim@meyering.net>
19983
19984         Reflect the fact that stat.c and lstat.c are no longer generated.
19985         * lib/Makefile.am (BUILT_SOURCES): Remove stat.c and lstat.c.
19986         (DISTCLEANFILES): Likewise.
19987         (EXTRA_DIST): Likewise.
19988         (all_local): Don't depend on stat.c or lstat.c.
19989         (stat.c, lstat.c): Remove rules.
19990         (EXTRA_DIST): Remove xstat.in.
19991
19992         * lib/xstat.in: Remove file.  Contents moved into stat.c.
19993         * lib/stat.c: New file.  Contents mostly from xstat.in.
19994         * lib/stat.c: Rework so that it may serve to define rpl_lstat, too.
19995         * lib/lstat.c: New file. Simply #define LSTAT and include stat.c.
19996
19997         * lib/safe-read.c: Rework so that it may serve to define safe_write,
19998         too.
19999         * lib/safe-write.c: Simply #define SAFE_WRITE and include safe-read.c.
20000
20001 2002-12-03  Jim Meyering  <jim@meyering.net>
20002
20003         * lib/safe-read.c, safe-write.c: Change variable names and comments,
20004         but not semantics, to minimize the differences between these two files.
20005         (safe_read): Change comment to mention SAFE_READ_ERROR.
20006
20007         * lib/safe-read.c (IS_EINTR): Define.
20008         (safe_read): Use IS_EINTR in place of in-function cpp directives.
20009
20010 2002-12-02  Jim Meyering  <jim@meyering.net>
20011
20012         * lib/safe-read.c (EINTR): Define.
20013         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
20014         (INT_MAX): Provide fallback.
20015         (safe_read): Rewrite to iterate IFF the read fails with EINTR.
20016
20017         * lib/safe-read.h (SAFE_READ_ERROR): Define.
20018
20019 2002-12-02  Bruno Haible  <bruno@clisp.org>
20020
20021         * lib/safe-write.c (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM):
20022         Define, taken from safe-read.c.
20023         (INT_MAX): Provide fallback.
20024         (safe_write): Rewrite to iterate IFF the write fails with EINTR.
20025         * lib/safe-write.h (SAFE_WRITE_ERROR): Define.
20026
20027         * lib/safe-read.c (EINTR): Remove definition.
20028         (safe_read): Don't use EINTR if it is absent.
20029
20030 2002-12-01  Jim Meyering  <jim@meyering.net>
20031
20032         * lib/safe-read.c: (safe_read): Also exit the loop when read returns
20033         zero.
20034         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM, INT_MAX): Define.
20035
20036 2002-11-27  Paul Eggert  <eggert@twinsun.com>
20037
20038         * lib/hash.c (hash_lookup, hash_get_first, hash_get_next,
20039         hash_find_entry, hash_rehash): Replace `if (limit <= value) abort ();'
20040         with `if (! (value < limit)) abort ();', for readability.
20041
20042 2002-11-26  Karl Berry  <karl@gnu.org>
20043
20044         * lib/strdup.c: copy from libc again, with jim's ok.
20045         * lib/.cppi-disable: re-add strdup.c
20046
20047 2002-11-25  Karl Berry  <karl@gnu.org>
20048
20049         * lib/strtoll.c: copy from libc, meaning we now #include <strtol.c>
20050         instead of "strtol.c".
20051
20052 2002-11-25  Karl Berry  <karl@gnu.org>
20053
20054         * config/install-sh: update from automake for variable quoting, $0 in
20055         error msgs, etc.
20056
20057         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): new entry.
20058         * config/srclist.txt ($LIBCSRC/sysdeps/generic/strtoll.c lib gpl): new
20059         entry.
20060
20061 2002-11-25  Jim Meyering  <jim@meyering.net>
20062
20063         * lib/mktime.c: Sync from libc, now that it has the latest fix.
20064
20065 2002-11-24  Karl Berry  <karl@gnu.org>
20066
20067         * lib/error.c, getopt.c, getopt.h, getopt1.c, obstack.c, regex.c,
20068         regex.h, strdup.c, strtoll.c, tempname.c: change license to gpl.
20069
20070 2002-11-24  Jim Meyering  <jim@meyering.net>
20071
20072         Update from coreutils:
20073
20074         * lib/mktime.c: Merge in changes from libc.
20075
20076         Avoid a link-time failure on some Linux systems.
20077         * lib/mktime.c (STATIC): Define to be empty (_LIBC) or `static'
20078         (otherwise).
20079         (__mon_yday): Declare with the STATIC attribute.
20080         (__mktime_internal): Likewise.
20081         Based on a report from Greg Schafer.
20082
20083 2002-11-23  Jim Meyering  <jim@meyering.net>
20084
20085         * lib/sig2str.c (str2signum, sig2str): Avoid a warning from gcc:
20086         Use `unsigned', not `int', as type of index.
20087
20088         * lib/xstat.in [@BEGIN_LSTAT_ONLY@]: Include <string.h>.
20089
20090         * lib/fsusage.c: Remove unneeded parentheses around operands of
20091         `defined'.
20092
20093 2002-11-22  Paul Eggert  <eggert@twinsun.com>
20094
20095         * lib/quotearg.h: Allow multiple inclusion by surrounding with
20096         "#ifndef QUOTEARG_H_".  Include <stddef.h>, for size_t,
20097         so that we can be included first.
20098         (PARAMS): Remove; we now assume C89 or later.  All uses removed.
20099         * lib/quotearg.c: Include quotearg.h immediately after config.h.
20100         No need to include stddef.h or sys/types.h any more.
20101         Surround local include files with "", not "<>".
20102         Assume HAVE_LIMITS_H unconditionally, as we assume C89.
20103         Similarly, assume HAVE_C_BACKSLASH_A, CHAR_BIT, UCHAR_MAX, UINT_MAX,
20104         HAVE_STDLIB_H, HAVE_STRING_H, STDC_HEADERS.
20105         (HAVE_MBSINIT): Undef if !HAVE_MBRTOWC.
20106         (mbsinit): Define to 1 if !defined mbsinit && !HAVE_MBSINIT.
20107         (ISPRINT): Remove; no longer needed now that we assume C89.
20108
20109         (clone_quoting_options, quotearg_buffer, quotearg_n_options):
20110         Preserve errno.
20111
20112         (quotearg_buffer_restyled, quotearg_n, quotearg_n_style,
20113         quotearg_char): Use SIZE_MAX rather than
20114         (size_t) -1 when we are talking about "infinity".
20115
20116         (quotearg_buffer_restyled): Fix bug when quoting trigraphs.
20117
20118 2002-11-22  Paul Eggert  <eggert@twinsun.com>
20119
20120         * lib/hash.c: Avoid use of <assert.h>, as the GNU Coding Standards
20121         hint that one should use `if (! x) abort ();' rather than `assert
20122         (x);', and anyway it's one less thing to worry about configuring.
20123         (hash_lookup, hash_get_first, hash_get_next, hash_find_entry,
20124         hash_rehash, hash_insert): Use abort rather than assert.
20125
20126 2002-11-22  Bruno Haible  <bruno@clisp.org>
20127
20128         * lib/safe-read.h: Assume C89. Add comments.
20129         (safe_read): Change return type to size_t.
20130         * lib/safe-read.c (safe_read): Change return type to size_t. Handle
20131         byte counts > SSIZE_MAX correctly.
20132         * lib/safe-write.h: New file.
20133         * lib/safe-write.c: New file.
20134         * lib/full-read.h: New file.
20135         * lib/full-read.c: New file.
20136         * lib/full-write.h: Assume C89. Add comments.
20137         * lib/full-write.c: Include safe-write.h.
20138         (full_write): Rewritten to use safe_write.
20139         Suggested by Jim Meyering and Paul Eggert.
20140
20141 2002-11-21  Jim Meyering  <jim@meyering.net>
20142
20143         * lib/strdup.c (strdup): Tweak comment and initial #if/#include.
20144
20145         Merge in changes from the coreutils.
20146
20147         2002-09-25  Paul Eggert  <eggert@twinsun.com>
20148         * lib/fsusage.c [! HAVE_INTTYPES_H && HAVE_STDINT_H] Include
20149         <stdint.h>.
20150         (UINTMAX_MAX) [!defined UINTMAX_MAX]: New macro.
20151         (PROPAGATE_ALL_ONES): Work even if X is unsigned and narrower than
20152         int.  Work more efficiently if X is the same width as uintmax_t.
20153         Do not compare X to -1, to avoid bogus compiler warning.
20154         (get_fs_usage): (uintmax_t) -1 -> UINTMAX_MAX to avoid a cast.
20155         Don't assume that f_frsize and f_bsize are the same type.
20156
20157         * lib/mountlist.c: #undef MNT_IGNORE before defining it, to avoid
20158         warning on FreeBSD.
20159
20160         * lib/makepath.c (make_path): Restore umask *before* creating the final
20161         component.
20162         (make_path): Minor reformatting.
20163
20164         * lib/xmalloc.c: Adjust to work with new autoconf macros,
20165         AC_FUNC_MALLOC and AC_FUNC_REALLOC: test #ifndef
20166         HAVE_MALLOC/HAVE_REALLOC.
20167
20168         * lib/mountlist.h (ME_DUMMY): Don't count entries of type `auto' as
20169         dummy ones.  At least on GNU/Linux systems, `auto' means something
20170         else.
20171         From Michael Stone.
20172
20173 2002-11-21  Bruno Haible  <bruno@clisp.org>
20174
20175         Remove case insensitive option matching.
20176         * lib/argmatch.h (argcasematch): Remove declaration.
20177         (ARGCASEMATCH): Remove macro.
20178         (__xargmatch_internal): Remove case_sensitive argument.
20179         (XARGMATCH): Update.
20180         (XARGCASEMATCH): Remove macro.
20181         * lib/argmatch.c (argmatch): Renamed from __argmatch_internal. Remove
20182         case_sensitive argument.
20183         (argcasematch): Remove function.
20184         (__xargmatch_internal): Remove case_sensitive argument.
20185         (main): Use XARGMATCH instead of XARGCASEMATCH.
20186
20187         * lib/xmalloc.c: Change compile-time error message. Add comment about
20188         required autoconf version.
20189
20190 2002-11-20  Paul Eggert  <eggert@twinsun.com>
20191
20192         Merge argmatch cleanups from Bison.  Assume C89.
20193
20194         * lib/argmatch.c: Include config.h here, not in argmatch.h.
20195         Include stdlib.h, for EXIT_FAILURE.
20196         Always include <string.h>, since we assume C89.
20197         (EXIT_FAILURE): Remove pre-C89 bug workaround.
20198         * lib/argmatch.h: Do not include <config.h> or <sys/types.h>.
20199         Include <stddef.h> instead, since it's all we need for size_t.
20200         (PARAMS): Remove.  All uses removed.
20201         (ARRAY_CARDINALITY): Do not bother to #undef.
20202         (ARRAY_CARDINALITY, ARGMATCH, ARGCASEMATCH, invalid_arg,
20203         ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
20204         Remove unnecessary parentheses.
20205         (ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
20206         Insert necessary parentheses.
20207         (ARGMATCH_CONSTRAINT, ARGMATCH_VERIFY): New macros.
20208         (ARGMATCH_ASSERT): Use ARGMATCH_CONSTRAINT.
20209
20210 2002-11-19  Bruno Haible  <bruno@clisp.org>
20211
20212         * lib/mbswidth.c: Include mbswidth.h right at the beginning.
20213         * lib/mbswidth.h: Include <stddef.h>, for size_t.
20214
20215         * lib/mbswidth.h (PARAMS): Remove macro.
20216         (mbswidth, mbsnwidth): Use ANSI C function declarations.
20217         * lib/mbswidth.c (mbswidth, mbsnwidth): Likewise.
20218
20219         * lib/gcd.h (PARAMS): Remove macro.
20220         (gcd): Use ANSI C function declarations.
20221         * lib/gcd.c (gcd): Likewise.
20222
20223 2002-11-15  Bruno Haible  <bruno@clisp.org>
20224
20225         * lib/strcspn.c: Include <stddef.h>.
20226         (strcspn): Use ANSI C function declaration. Change return type to
20227         size_t. Use NULL.
20228         * lib/strpbrk.c: Minimize diffs to glibc. Include <stddef.h>.
20229         (strpbrk): Use NULL.
20230         * lib/strpbrk.h (PARAMS): Remove macro.
20231         (strpbrk): Use ANSI C function declaration.
20232         * lib/strstr.c: Don't include <sys/types.h>.
20233         * lib/strstr.h (PARAMS): Remove macro.
20234         (strstr): Use ANSI C function declarations.
20235
20236 2002-11-14  Karl Berry  <karl@gnu.org>
20237
20238         * config/mkinstalldirs: `do' on separate line, instead of
20239         `for var; do'.
20240
20241 2002-11-06  Bruno Haible  <bruno@clisp.org>
20242
20243         * lib/gcd.h (gcd): Change argument type to 'unsigned long'.
20244         * lib/gcd.c (gcd): Likewise.
20245
20246 2002-11-05  Bruno Haible  <bruno@clisp.org>
20247
20248         * lib/gcd.h: New file, from gettext-0.11.5.
20249         * lib/gcd.c: New file, from gettext-0.11.5.
20250
20251 2002-11-05  Bruno Haible  <bruno@clisp.org>
20252
20253         * lib/error.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
20254         * lib/getopt.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
20255         * lib/obstack.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
20256         * lib/regex.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
20257
20258         * lib/argmatch.c: Include gettext.h instead of <locale.h> and
20259         <libintl.h>.
20260         * lib/makepath.c: Include gettext.h instead of <locale.h> and
20261         <libintl.h>.
20262
20263         * lib/closeout.c: Include gettext.h instead of <libintl.h>.
20264         * lib/human.c: Include gettext.h instead of <libintl.h>.
20265         * lib/quotearg.c: Include gettext.h instead of <libintl.h>.
20266         * lib/rpmatch.c: Include gettext.h instead of <libintl.h>.
20267         * lib/unicodeio.c: Include gettext.h instead of <libintl.h>.
20268         * lib/userspec.c: Include gettext.h instead of <libintl.h>.
20269         * lib/version-etc.c: Include gettext.h instead of <libintl.h>.
20270         * lib/xmalloc.c: Include gettext.h instead of <libintl.h>.
20271         (textdomain): Remove definition.
20272         * lib/xmemcoll.c: Include gettext.h instead of <libintl.h>.
20273
20274         * lib/long-options.c: Remove include of <libintl.h> and definition of
20275         _.
20276         * lib/same.c: Remove include of <libintl.h> and definition of _.
20277
20278 2002-11-04  Owen Taylor  <otaylor@redhat.com>
20279
20280         * lib/config.charset: A few additions for Solaris.
20281
20282 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
20283
20284         Make it possible to build libcharset with CC=gcc CFLAGS="-x c++".
20285         * lib/localcharset.c (locale_charset): Declare as extern "C".
20286
20287 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
20288
20289         * lib/config.charset: msdos in uk_UA uses CP1125.
20290
20291 2002-11-04  Bruno Haible  <bruno@clisp.org>
20292
20293         * lib/stpcpy.h: New file, from GNU gettext-0.11.5.
20294         * lib/strcase.h: New file, from GNU gettext-0.11.5.
20295         * lib/strpbrk.h: New file, from GNU gettext-0.11.5.
20296         * lib/strstr.h: New file, from GNU gettext-0.11.5.
20297         * lib/xgetcwd.h: New file, from GNU gettext-0.11.5.
20298
20299 2002-11-04  Bruno Haible  <bruno@clisp.org>
20300
20301         * lib/localcharset.c (locale_charset): Don't return an empty string.
20302
20303 2002-11-04  Bruno Haible  <bruno@clisp.org>
20304
20305         * lib/localcharset.c (get_charset_aliases): Add more Windows specific
20306         aliases.
20307
20308 2002-11-04  Bruno Haible  <bruno@clisp.org>
20309
20310         * lib/config.charset: Update for newest glibc. Add canonical names
20311         ISO-8859-14, KOI8-T, TCVN5712-1, GEORGIAN-PS.
20312
20313 2002-11-04  Bruno Haible  <bruno@clisp.org>
20314
20315         * lib/config.charset: Add support for NetBSD.
20316
20317 2002-11-04  Bruno Haible  <bruno@clisp.org>
20318
20319         * lib/config.charset [msdosdjgpp]: For Russian, use CP866.
20320
20321 2002-11-01  Bruno Haible  <bruno@clisp.org>
20322
20323         * configure.in: Add AC_CONFIG_AUX_DIR call.
20324         (AC_OUTPUT): Add m4/Makefile, lib/Makefile. Remove doc/Makefile,
20325         test/Makefile.
20326         * Makefile.in (subdirs): Add m4, lib. Remove doc, test.
20327
20328 2002-09-28  Karl Berry  <karl@gnu.org>
20329
20330         * config/srclist.txt: can't copy install-sh/mkinstalldirs from
20331         installed automake until the next release, since changes have been
20332         made.
20333
20334 2002-09-25  Karl Berry  <karl@gnu.org>
20335
20336         * lib/strdup.c: copy from libc/string (via ../config/srclist*).
20337         * lib/getopt*: copy from libc/posix.
20338         * lib/gettext.h: copy from gettext.
20339         * lib/.cppi-disable: add strdup.c, gettext.h.
20340
20341 2002-09-25  Karl Berry  <karl@gnu.org>
20342
20343         * config/srclist.txt: enable gettext.h check.
20344         * config/config.{guess,sub}: update from prep.
20345         * config/depcomp, install-sh, mdate-sh, missing, mkinstalldirs: update
20346                 from automake 1.6.3.
20347         See srclist*.
20348
20349 2002-08-23  Stefan Monnier  <monnier@cs.yale.edu>
20350
20351         * regex.c (PATFETCH): Remove the translating fetch.
20352         (PATFETCH_RAW): Rename to PATFETCH.
20353         (set_image_of_range): New fun.
20354         (SET_RANGE_TABLE_WORK_AREA): Use it.
20355         (regex_compile): Don't translate the pattern chars so eagerly.
20356         Only do it when inserting an `exactn' bytecode or when handling
20357         a char-range.
20358         (mutually_exclusive_p): Avoid empty statement.
20359
20360 2002-07-06  Jim Meyering  <meyering@lucent.com>
20361
20362         * m4/README: Don't mention Makefile.am.in.
20363         Outline how I've tested changes to .m4 files.  Yep, it's a pain.
20364
20365 2002-07-01  Jim Meyering  <meyering@lucent.com>
20366
20367         * lib/c-stack.c: Include sys/time.h.
20368         From Volker Borchert.
20369
20370 2002-06-26  Paul Eggert  <eggert@twinsun.com>
20371
20372         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for btowc.
20373
20374 2002-06-26  Paul Eggert  <eggert@twinsun.com>
20375
20376         * lib/fnmatch.c, fnmatch_loop.c (WIDE_CHAR_SUPPORT):
20377         New macro.  Use it uniformly instead of
20378         (defined HAVE_WCTYPE_H && defined HAVE_WCHAR_H).
20379         It also uses HAVE_BTOWC, to fix a porting bug on Solaris 2.5.1
20380         reported by Vin Shelton.
20381
20382 2002-06-22  Paul Eggert  <eggert@twinsun.com>
20383
20384         * lib/c-stack.h (segv_handler, c_stack_action) [! defined SA_SIGINFO]:
20385         Do not assume SA_SIGINFO behavior.
20386         Bug reported by Jim Meyering on NetBSD 1.5.2.
20387
20388 2002-06-22  Jim Meyering  <meyering@lucent.com>
20389
20390         * m4/c-stack.m4: New file, from diffutils-2.8.2.
20391         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_C_STACK.
20392
20393         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Don't require AC__GNU_SOURCE,
20394         now that configure.ac uses AC_GNU_SOURCE.
20395         (jm_MACROS): Rename: jm_FUNC_FNMATCH to AC_FUNC_FNMATCH_GNU.
20396         * m4/prereq.m4 (jm_PREREQ_EXCLUDE): Likewise, wrt jm_FUNC_FNMATCH.
20397
20398         Update to latest tools.  Suggestions from Paul Eggert.
20399         * m4/stdbool.m4: New file, from diffutils-2.8.2.
20400         * m4/gnu-source.m4: Update from diffutils-2.8.2.
20401         * m4/fnmatch.m4: Likewise.
20402         * m4/prereq.m4: Change each use of AC_CHECK_HEADERS(stdbool.h)
20403         to AC_HEADER_STDBOOL
20404
20405 2002-06-22  Jim Meyering  <meyering@lucent.com>
20406
20407         * lib/fnmatch.c (ISASCII, ISPRINT): Undefine, to avoid warning about
20408         redefinition due to Solaris 2.6's definition in /usr/include/sys/euc.h.
20409
20410 2002-06-22  Jim Meyering  <meyering@lucent.com>
20411
20412         * lib/c-stack.c, lib/c-stack.h: New files, from diffutils-2.8.2.
20413
20414         * lib/exitfail.c, exitfail.h: Likewise.
20415         * lib/Makefile.am (libfetish_a_SOURCES): Add exitfail.c and exitfail.h.
20416
20417         * lib/Makefile.am (libfetish_a_SOURCES): Add fnmatch_.h in place
20418         of fnmatch.h.
20419         (EXTRA_DIST): Add fnmatch_loop.c.
20420         (libfetish_a_SOURCES): Add c-stack.c and c-stack.h.
20421
20422         * lib/fnmatch_loop.c: New file, from diffutils-2.8.2.
20423         * lib/fnmatch.c: Update from diffutils-2.8.2.
20424         * lib/fnmatch_.h: New file.  From diffutils-2.8.2.
20425         * lib/fnmatch.h: Remove file.
20426
20427 2002-06-21  Jim Meyering  <meyering@lucent.com>
20428
20429         * m4/c-bs-a.m4: Add comment, from diffutils-2.8.2.
20430         * m4/mbrtowc.m4: Likewise.
20431
20432         * m4/mbstate_t.m4: Update from diffutils-2.8.2.
20433         * m4/mbswidth.m4: Reflect name change:
20434         s/AC_MBSTATE_T/AC_TYPE_MBSTATE_T.
20435         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
20436
20437         * m4/lib-link.m4: Update from gettext-0.11.2.
20438         * m4/gettext.m4: Likewise.
20439
20440         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for hurd.h.
20441         From Alfred M. Szmidt.
20442
20443 2002-06-18  Paul Eggert  <eggert@twinsun.com>
20444
20445         * lib/file-type.h: Report an error if neither S_ISREG nor
20446         S_IFREG is defined, instead of using a test specific to glibc
20447         2.2.  This should be safe, since POSIX requires S_ISREG and
20448         Unix Version 7 had S_IFREG.  We don't need to check for
20449         <sys/types.h> since we don't use any symbols that it defines.
20450
20451 2002-06-15  Richard Dawe  <richdawe@bigfoot.com>
20452
20453         * lib/Makefile.am (lstat.c, stat.c, .sin.sed): Use t-$@, rather than
20454         $@-t, so that each temporary file name is unique and valid in the first
20455         8 characters, for operation under DOS.
20456
20457 2002-06-15  Paul Eggert  <eggert@twinsun.com>
20458
20459         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for st_author.
20460
20461 2002-06-15  Jim Meyering  <meyering@lucent.com>
20462
20463         Work even with DJGPP 2.03, which lacks support for symlinks.
20464         From Richard Dawe.
20465         * lib/xstat.in (S_ISLNK): Define to 0 if neither S_ISLNK nor S_IFLNK
20466         is defined.
20467         * lib/lchown.c (S_ISLNK): Likewise.
20468
20469 2002-06-15  Jim Meyering  <meyering@lucent.com>
20470
20471         * lib/file-type.h (FILE_TYPE_H): Guard entire contents with #ifndef.
20472         For GNU libc 2.2 and newer, ensure that <sys/types.h> and <sys/stat.h>
20473         have been included before this file.
20474
20475 2002-06-14  Jim Meyering  <meyering@lucent.com>
20476
20477         * lib/file-type.h: Use the version from diffutils-2.8.2.
20478         * lib/file-type.c: Likewise.
20479
20480 2002-06-07  Jim Meyering  <meyering@lucent.com>
20481
20482         * m4/prereq.m4 (jm_PREREQ_STAT): Check for sys/param.h and sys/mount.h.
20483         They're needed at least for NetBSD 1.5.2.
20484         ($statxfs_includes): Include those same headers.
20485         ($statxfs_includes): Include sys/vfs.h if available.
20486         ($statxfs_includes): Likewise for sys/statvfs.h.
20487         Check for the following members in both structs statfs and statvfs:
20488         f_basetype, f_type, f_fsid.__val, f_namemax, f_namelen.
20489
20490 2002-06-01  Jim Meyering  <meyering@lucent.com>
20491
20492         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename macro:
20493         s/D_TYPE_IN_DIRENT/HAVE_STRUCT_DIRENT_D_TYPE/.
20494
20495 2002-05-28  Jim Meyering  <meyering@lucent.com>
20496
20497         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `mkdir', not `rmdir'.
20498         Reported by Volker Borchert.
20499
20500 2002-05-27  Jim Meyering  <meyering@lucent.com>
20501
20502         Fix a problem seen only on nonconforming systems whereby ls.c's
20503         use of localtime, and then of gettimeofday would cause trouble:
20504         the localtime call used to initialize rpl_gettimeofday's save
20505         mechanism would clobber ls's current local time information so
20506         that in any long listing the first file would always be listed
20507         with date 1970-01-01.  Analysis by Volker Borchert.
20508
20509         * lib/gettimeofday.c (localtime): Undefine.
20510         (rpl_localtime): New function.
20511
20512 2002-05-27  Jim Meyering  <meyering@lucent.com>
20513
20514         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Also replace
20515         localtime.
20516
20517         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `rmdir' so we don't try to
20518         use the replacement function; it wouldn't resolve at link time.
20519         Reported by Volker Borchert.
20520
20521 2002-05-22  Jim Meyering  <meyering@lucent.com>
20522
20523         * lib/Makefile.am (libfetish_a_SOURCES): Add file-type.c and
20524         file-type.h.
20525         * lib/file-type.h: New file.
20526         * lib/file-type.c (file_type): New file/function.  Extracted from
20527         diffutils.
20528
20529 2002-04-30  Jim Meyering  <meyering@lucent.com>
20530
20531         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_STAT.
20532
20533 2002-04-29  Paul Eggert  <eggert@twinsun.com>
20534
20535         * m4/prereq.m4 (jm_PREREQ_SIG2STR): Remove; all callers changed.
20536
20537 2002-04-29  Paul Eggert  <eggert@twinsun.com>
20538
20539         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): Check for stdlib.h.
20540         Do not check for alloca.h (no longer used) or stdbool.h (was never
20541         used?).  Add AM_C_PROTOTYPES since hard-locale.h uses it.
20542
20543 2002-04-29  Paul Eggert  <eggert@twinsun.com>
20544
20545         * lib/hard-locale.c: Upgrade to version used in GNU Diffutils 2.8.1.
20546
20547 2002-04-29  Jim Meyering  <meyering@lucent.com>
20548
20549         * m4/jm-macros.m4 (jm_MACROS): Remove use of AC_FUNC_STRNLEN.
20550         * m4/prereq.m4: Add jm_PREREQ_STRNLEN.
20551         Use AC_FUNC_STRNLEN here instead.
20552
20553         * m4/jm-macros.m4: Don't AC_REQUIRE([AC_PROG_CC_STDC]).
20554         With autoconf-2.53a, it's part of AC_PROG_CC.
20555
20556 2002-04-28  Paul Eggert  <eggert@twinsun.com>
20557
20558         * m4/jm-macros.m4 (jm_MACROS): Add AC_REPLACE_FUNCS(sig2str).
20559         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_SIG2STR.
20560
20561 2002-04-28  Paul Eggert  <eggert@twinsun.com>
20562
20563         * lib/sig2str.h, lib/sig2str.c: New files.
20564         * lib/Makefile.am (libfetish_a_SOURCES): Add sig2str.h.
20565
20566 2002-04-28  Paul Eggert  <eggert@twinsun.com>
20567
20568         * lib/sig2str.h (SIGNUM_BOUND): Do not use WTERMSIG, to avoid
20569         depending on <sys/wait.h> and WTERMSIG.  Default to 64 instead
20570         of 127, since 64 is the largest conceivable number for ancient
20571         nonstandard hosts.
20572         * lib/sig2str.c: Do not include <sys/wait.h>; no longer needed.
20573
20574 2002-04-28  Jim Meyering  <meyering@lucent.com>
20575
20576         * lib/sig2str.c (WTERMSIG): Remove definition (unused).
20577
20578 2002-04-24  Jim Meyering  <meyering@lucent.com>
20579
20580         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): New macro.
20581         (jm_PREREQ): Use it.
20582
20583         * m4/getloadavg.m4: Check for these headers: locale.h unistd.h
20584         mach/mach.h fcntl.h.
20585         Check for this function: setlocale.
20586
20587 2002-04-24  Jim Meyering  <meyering@lucent.com>
20588
20589         * lib/gettext.h: New file, from Gettext.
20590         * lib/Makefile.am (INCLUDES): Remove -I../intl.
20591         (libfetish_a_SOURCES): Add gettext.h.
20592
20593 2002-04-16  Jim Meyering  <meyering@lucent.com>
20594
20595         * m4/prereq.m4 (jm_PREREQ_READUTMP): Also check for these members:
20596         ut_pid, ut_id, ut_exit.
20597
20598 2002-04-16  Jim Meyering  <meyering@lucent.com>
20599
20600         * lib/readutmp.h (UT_TYPE): Remove definition (now in who.c).
20601         (HAVE_STRUCT_XTMP_UT_EXIT, HAVE_STRUCT_XTMP_UT_ID): Define.
20602         (HAVE_STRUCT_XTMP_UT_PID, HAVE_STRUCT_XTMP_UT_TYPE): Define.
20603
20604 2002-04-12  Jim Meyering  <meyering@lucent.com>
20605
20606         * m4/ls-mntd-fs.m4 (checking for getmntinfo function...): Remove
20607         now-bogus check for f_type in sys/mount.h.  Instead, just test for the
20608         existence of the getmntinfo function.  Needed for Darwin 5.3.
20609
20610         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Also detect when dirfd is a macro.
20611         This is necessary at least on Darwin 5.3.
20612
20613         * m4/jm-macros.m4: Don't AC_REPLACE(strnlen), now that we use
20614         AC_FUNC_STRNLEN.  Otherwise, we'd end up putting two copies of
20615         strnlen.o in the library, and that makes some versions of ranlib
20616         object.
20617
20618 2002-04-12  Jim Meyering  <meyering@lucent.com>
20619
20620         * lib/dirfd.h (dirfd): Elide prototype if dirfd is a macro.
20621
20622 2002-04-09  Jim Meyering  <meyering@lucent.com>
20623
20624         * m4/malloc.m4: (jm_FUNC_MALLOC): Change the `checking ...' message
20625         to be more precise.  Rather than saying we're checking whether the
20626         function `works', say what we're testing.
20627         * m4/realloc.m4 (jm_FUNC_REALLOC): Likewise.
20628         Reported by Bruno Haible.
20629
20630 2002-03-10  Jim Meyering  <meyering@lucent.com>
20631
20632         * lib/makepath.c (make_path): Remove a comma from a diagnostic.
20633         Suggestion from Santiago Vila.
20634
20635 2002-03-08  Jim Meyering  <meyering@lucent.com>
20636
20637         * lib/rename.c: Mention that this wrapper is needed also on
20638         mips-dec-ultrix4.4 systems.
20639
20640 2002-03-02  Jim Meyering  <meyering@lucent.com>
20641
20642         * lib/gettime.c (gettime): Test HAVE_CLOCK_GETTIME,
20643         not HAVE_CLOCK_SETTIME.
20644
20645 2002-02-27  Paul Eggert  <eggert@twinsun.com>
20646
20647         * m4/jm-macros.m4 (jm_MACROS): Do not replace stime; no longer used.
20648         Check for clock_settime.
20649
20650 2002-02-27  Paul Eggert  <eggert@twinsun.com>
20651
20652         * lib/nanosleep.h: Rename to....
20653         * lib/timespec.h: New name for nanosleep.h.  All uses changed.
20654
20655         * lib/gettime.c: New file.
20656         * lib/settime.c: New file.
20657         * lib/stime.c: Remove.
20658
20659         * lib/Makefile.am (libfetish_a_SOURCES): Add gettime.c, settime.c,
20660         timespec.h.  Remove nanosleep.h.
20661
20662 2002-02-25  Paul Eggert  <eggert@twinsun.com>
20663
20664         * m4/acl.m4: New file.
20665         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_ACL.
20666         Do not check for acl or sys/acl.h, as AC_FUNC_ACL does that now.
20667
20668 2002-02-25  Paul Eggert  <eggert@twinsun.com>
20669
20670         * lib/acl.c, lib/acl.h: New files.
20671         * lib/Makefile.am (libfetish_a_SOURCES): Add acl.h, acl.c.
20672
20673 2002-02-24  Jim Meyering  <meyering@lucent.com>
20674
20675         * lib/strnlen.c (strnlen): Define-away/undef so that an inconsistent
20676         prototype in string.h (on at least AIX4.3.2.0 w/gcc-2.95.3) doesn't
20677         cause trouble.  Reported by Nelson Beebe.
20678
20679 2002-02-23  Paul Eggert  <eggert@twinsun.com>
20680
20681         * lib/path-concat.c (xpath_concat): Reorder code to pacify
20682         compilers that don't know that xalloc_die never returns.
20683
20684 2002-02-20  Jim Meyering  <meyering@lucent.com>
20685
20686         * lib/getdate.c: Regenerate using bison-1.33.
20687
20688 2002-02-17  Jim Meyering  <meyering@lucent.com>
20689
20690         * config/config.guess (main): Don't use `head -1'; it's no longer
20691         portable. Use `sed 1q' instead.
20692
20693 2002-02-16  gettextize  <bug-gnu-gettext@gnu.org>
20694
20695         * m4/codeset.m4: Upgrade to gettext-0.11.
20696         * m4/gettext.m4: Upgrade to gettext-0.11.
20697         * m4/glibc21.m4: Upgrade to gettext-0.11.
20698         * m4/iconv.m4: Upgrade to gettext-0.11.
20699         * m4/isc-posix.m4: Upgrade to gettext-0.11.
20700         * m4/lcmessage.m4: Upgrade to gettext-0.11.
20701         * m4/lib-ld.m4: New file, from gettext-0.11.
20702         * m4/lib-link.m4: New file, from gettext-0.11.
20703         * m4/lib-prefix.m4: New file, from gettext-0.11.
20704         * m4/progtest.m4: Upgrade to gettext-0.11.
20705
20706 2002-02-15  Paul Eggert  <eggert@twinsun.com>
20707
20708         * m4/prereq.m4 (jm_PREREQ_POSIXVER): New macro.
20709         (jm_PREREQ): Use it.
20710
20711 2002-02-15  Paul Eggert  <eggert@twinsun.com>
20712
20713         * lib/posixver.c, lib/posixver.h: New files.
20714         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
20715
20716 2002-02-02  Paul Eggert  <eggert@twinsun.com>
20717             Bruno Haible  <bruno@clisp.org>
20718
20719         * lib/unicodeio.h (print_unicode_char): Add exit_on_error argument.
20720         (fwrite_success_callback): New declaration.
20721         * lib/unicodeio.c (unicode_to_mb): New function, extracted from
20722         print_unicode_char. Call failure callback instead of error.
20723         (fwrite_success_callback): New function.
20724         (exit_failure_callback): New function.
20725         (fallback_failure_callback): New function.
20726         (print_unicode_char): Call unicode_to_mb.
20727
20728 2002-01-26  Jim Meyering  <meyering@lucent.com>
20729
20730         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.52g.
20731         * m4/strnlen.m4: Remove file, now that it's part of autoconf.
20732
20733 2002-01-26  Jim Meyering  <meyering@lucent.com>
20734
20735         * lib/Makefile.am (getdate$U.o): Depend on unlocked-io.h.
20736
20737 2002-01-22  Paul Eggert  <eggert@twinsun.com>
20738
20739         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_FSEEKO.
20740
20741 2002-01-22  Jim Meyering  <meyering@lucent.com>
20742
20743         * lib/Makefile.am (Makefile): Don't depend on $(BUILT_SOURCES).
20744         Otherwise, some versions of automake would omit the rule that makes
20745         Makefile from Makefile.in.
20746
20747 2002-01-21  Paul Eggert  <eggert@twinsun.com>
20748
20749         * lib/xmemcoll.h, lib/xmemcoll.c: New files.
20750         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
20751         * lib/memcoll.c: Include errno.h, and declare errno if not defined.
20752         (memcoll): Set errno to zero if there is no error.
20753
20754         * lib/quotearg.c (quotearg_buffer_restyled):
20755         Fix bug with quoting buffers containing NUL when backslashing escapes.
20756         This bug was exposed by the other changes in this patch.
20757         (quotearg_n_options): New arg ARGSIZE.
20758         All callers changed.
20759         (quoting_options_from_style): New function.
20760         (quotearg_n_style): Use it.
20761         (quotearg_n_style_mem): New function.
20762
20763         * lib/quotearg.h (quotearg_n_style_mem): New function.
20764
20765 2002-01-19  Jim Meyering  <meyering@lucent.com>
20766
20767         * m4/jm-macros.m4 (jm_MACROS): Use AC_FUNC_STRNLEN.
20768         Remove useless quotes: DF_PROG="df".
20769         * m4/strnlen.m4: New file.
20770
20771 2002-01-16  Paul Eggert  <eggert@twinsun.com>
20772
20773         * lib/backupfile.c (ISDIGIT): Comment fix.
20774         * lib/getdate.y (ISDIGIT): Likewise.
20775         * lib/posixtm.c (ISDIGIT, year): Likewise.
20776         * lib/strverscmp.c (ISDIGIT): Likewise.
20777         * lib/userspec.c (ISDIGIT): Likewise.
20778
20779 2002-01-16  Jim Meyering  <meyering@lucent.com>
20780
20781         * lib/getdate.y: Add three semicolons, each just before a closing
20782         brace. Bison (as of version 1.31) no longer papers over that mistake.
20783
20784 2002-01-05  Jim Meyering  <meyering@lucent.com>
20785
20786         * lib/version-etc.c (version_etc_copyright): Update copyright year.
20787
20788 2001-12-19  Paul Eggert  <eggert@twinsun.com>
20789
20790         * lib/closeout.c (close_stdout_status): If ferror (stdout), do
20791         not silently exit merely because the output buffer happens to
20792         have nothing pending.
20793
20794 2001-12-18  Paul Eggert  <eggert@twinsun.com>
20795
20796         See the big note in ../ChangeLog.
20797         * lib/human.c (suffixes): Prefer K to k for 1024.
20798         (generate_suffix_backwards): New function.
20799         (human_readable_inexact): Use it.
20800         * lib/xstrtol.c (__xstrtol): If there is no number but there
20801         is a valid suffix, assume 1.  "MB" now means decimal, "MiB" binary.
20802         Accept 'K' as well as 'k'.
20803
20804 2001-12-15  Jim Meyering  <meyering@lucent.com>
20805
20806         * lib/regex.h (__restrict_arr): Update from libc.
20807
20808         * lib/mountlist.h (ME_REMOTE): Recognize file systems of type smbfs
20809         as `remote' if the name starts with `//'.  Suggested by Michael Stone.
20810         (STREQ): Define.
20811
20812 2001-12-14  Jim Meyering  <meyering@lucent.com>
20813
20814         * m4/jm-macros.m4 (jm_MACROS): Check for iswspace.
20815         Suggestion from Bruno Haible.
20816
20817 2001-12-10  Jim Meyering  <meyering@lucent.com>
20818
20819         * lib/linebuffer.c: Remove explicit declarations of xmalloc and
20820         xrealloc, Instead, include "xalloc.h".
20821         (initbuffer): Don't cast xmalloc return value to char*.
20822         (readline): Reword comment.
20823         Don't cast xrealloc return value to char*
20824         Return NULL, not 0.
20825
20826 2001-12-09  Jim Meyering  <meyering@lucent.com>
20827
20828         * lib/modechange.c (mode_compile): Add cast to avoid pedantic warning
20829         about `signed and unsigned type in conditional expression'.
20830         * lib/posixtm.c (posix_time_parse): Likewise.
20831
20832         * lib/xreadlink.c (xreadlink): Add cast to avoid a pedantic warning.
20833
20834         * lib/readtokens.c (readtoken): Declare an index to be of type unsigned
20835         to avoid a pedantic warning.
20836
20837         * lib/getstr.c: Don't include assert.h.
20838         (getstr): Remove warning-evoking assertions.
20839         Return -1 if offset parameter is out of bounds.
20840         Change the type of a local from int to size_t.
20841
20842         * lib/strftime.c (my_strftime_localtime_r): Include this function
20843         definition in the `#if ! HAVE_TM_GMTOFF' block.
20844
20845         * lib/xgethostname.c: Remove declarations of xmalloc and xrealloc.
20846         Include xalloc.h instead.
20847
20848 2001-12-02  Jim Meyering  <meyering@lucent.com>
20849
20850         * lib/tempname.c: Don't declare getenv, thus reverting the change of
20851         2001-11-18.  It's no longer necessary, now that stdlib.h is always
20852         included.
20853
20854         * lib/regex.c [!__BOUNDED_POINTERS__]: Define away __bounded,
20855         __unbounded, and __ptrvalue.  Reported by Uwe H. Steinfeld.
20856
20857 2001-11-30  Akim Demaille  <akim@epita.fr>
20858
20859         * lib/xstrdup.c: Include xalloc.h, so that xstrdup is declared
20860         before being defined.
20861
20862 2001-11-27  Paul Eggert  <eggert@twinsun.com>
20863
20864         * lib/quotearg.h (quotearg_n, quotearg_n_style):
20865         First arg is int, not unsigned.
20866         * lib/quotearg.c (quotearg_n, quotearg_n_style): Likewise.
20867         (SIZE_MAX, UINT_MAX): New macros.
20868         (quotearg_n_options): Abort if N is negative.
20869         Avoid overflow check on hosts where size_t is 64 bits and int
20870         is 32 bits, as overflow is impossible there.
20871         Fix off-by-one typo that caused unnecessary reallocation.
20872
20873 2001-11-27  Jim Meyering  <meyering@lucent.com>
20874
20875         * lib/tempname.c: Merge with version from libc.
20876         * lib/regex.c: Likewise.
20877
20878         * lib/tempname.c: Include stdlib.h unconditionally.  On some old
20879         systems for which STDC_HEADERS is 0, it was not included, resulting in
20880         a warning about an integer-to-pointer conversion problem with getenv.
20881         Reported by Volker Borchert.
20882
20883 2001-11-26  Jim Meyering  <meyering@lucent.com>
20884
20885         * lib/gtod.h: Remove file.
20886         * lib/Makefile.am (libfetish_a_SOURCES): Remove gtod.h.
20887         * lib/gettimeofday.c: Don't include gtod.h.
20888         (GTOD_init): Remove function.
20889         (rpl_gettimeofday): Do its job here instead, rather than aborting.
20890         Suggestion from Volker Borchert.
20891
20892 2001-11-23  Jim Meyering  <meyering@lucent.com>
20893
20894         * lib/hash.h (struct hash_table): Don't define here.  Merely declare
20895         it.
20896         * lib/hash.c (struct hash_table): Define it here instead.
20897
20898 2001-11-22  Jim Meyering  <meyering@lucent.com>
20899
20900         * lib/hash.h: Bracket contents of file with #ifndef HASH_H_ ... #endif.
20901
20902 2001-11-20  Jim Meyering  <meyering@lucent.com>
20903
20904         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Update comment to reflect that
20905         SunOS 4.1.4 and Solaris 2.5.1 lose, too.
20906
20907 2001-11-19  Jim Meyering  <meyering@lucent.com>
20908
20909         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Don't bother with a temporary
20910         directory.  Use "conftestXXXXXX" as the template.
20911         Suggestion from Paul Eggert.
20912
20913         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Close each descriptor
20914         immediately, so the test doesn't mistakenly hit the max-open-files
20915         limit.
20916
20917 2001-11-18  Paul Eggert  <eggert@twinsun.com>
20918
20919         * lib/tempname.c (TMP_MAX): Remove; no longer needed.
20920         (TEMPORARIES): New macro.
20921         (__gen_tempname): Use TEMPORARIES rather than TMP_MAX.  This
20922         removes an artificial limitation (e.g. HP-UX 10.20, where
20923         TMP_MAX is 17576).
20924
20925 2001-11-18  Jim Meyering  <meyering@lucent.com>
20926
20927         * m4/prereq.m4 (jm_PREREQ_TEMPNAME): Check for declaration of getenv.
20928
20929 2001-11-18  Jim Meyering  <meyering@lucent.com>
20930
20931         * lib/tempname.c [!HAVE_DECL_GETENV]: Declare getenv to avoid warning
20932         on SunOS 4.
20933
20934         * lib/Makefile.am (Makefile): Depend on $(BUILT_SOURCES), so those
20935         files will be created before anything else.
20936
20937 2001-11-17  Paul Eggert  <eggert@twinsun.com>
20938
20939         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): Do not define
20940         WINSIZE_IN_PTEM if <termios.h> defines struct winsize.
20941
20942 2001-11-17  Jim Meyering  <meyering@lucent.com>
20943
20944         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): New file and macro.
20945         Prompted by a report from Bob Proulx.
20946
20947         * m4/jm-macros.m4 (jm_MACROS): Don't test for mkstemp here.
20948         Instead, require UTILS_FUNC_MKSTEMP.
20949
20950 2001-11-17  Jim Meyering  <meyering@lucent.com>
20951
20952         * m4/jm-macros.m4 (jm_MACROS): Remove code to set POW_LIBM.
20953         Now, that's done as part of AC_FUNC_STRTOD.
20954
20955 2001-11-17  Jim Meyering  <meyering@lucent.com>
20956
20957         * lib/modechange.c (mode_adjust): Fix error introduced on 1999-04-26
20958         that made e.g., `chmod a=,o=w,g=o F' cause F to be group readable
20959         rather than group writable.  Patch by Juan F. Codagnone.
20960
20961         * lib/readtokens.c: Remove explicit declarations of xmalloc and
20962         xrealloc, Instead, include "xalloc.h".
20963
20964         * lib/mountlist.c: Include unlocked-io.h after all system headers.
20965         Remove explicit declarations of xmalloc, xrealloc,
20966         and xstrdup.  Instead, include "xalloc.h".
20967
20968         * lib/argmatch.c, closeout.c, error.c, exclude.c: Include
20969         unlocked-io.h.
20970         * lib/fatal.c, getdate.y, getpass.c, getstr.c, getusershell.c:
20971         Likewise.
20972         * lib/mountlist.c, posixtm.c, readtokens.c, readutmp.c: Likewise.
20973
20974         * lib/regex.c, sha.c, version-etc.c, yesno.c: Likewise.
20975         Reported by Padraig Brady.
20976
20977         * lib/mkstemp.c: #undef mkstemp.
20978         Include config.h.
20979         (rpl_mkstemp): Rename from mkstemp.
20980         Protoize.
20981
20982 2001-11-16  Jim Meyering  <meyering@lucent.com>
20983
20984         * lib/physmem.c [HAVE_SYS_PSTAT_H]: Include <sys/pstat.h>.
20985         (physmem_total) [HAVE_PSTAT_GETSTATIC]: If sysconf couldn't be used to
20986         determine the amount of total physical memory, use pstat_getstatic.
20987         HPUX-11 doesn't define _SC_PHYS_PAGES.
20988         (physmem_available) [HAVE_PSTAT_GETSTATIC && HAVE_PSTAT_GETDYNAMIC]:
20989         If sysconf couldn't be used to determine the amount of available
20990         physical memory, use both pstat_getstatic and pstat_getdynamic.
20991         Based on a patch from Bob Proulx.
20992
20993 2001-11-10  Jim Meyering  <meyering@lucent.com>
20994
20995         * m4/prereq.m4 (jm_PREREQ_PHYSMEM): New function.
20996         (jm_PREREQ): Use it.
20997
20998 2001-11-09  Jim Meyering  <meyering@lucent.com>
20999
21000         * m4/jm-macros.m4: Require autoconf-2.52f.
21001         (AC_FUNC_ERROR_AT_LINE, AC_FUNC_OBSTACK, AC_FUNC_STRTOD):
21002         Use these AC_-prefixed names, not the AM_-prefixed ones.
21003
21004         * m4/afs.m4 (jm_AFS): Quote the body.  Patch by Akim Demaille.
21005
21006 2001-11-05  Jim Meyering  <meyering@lucent.com>
21007
21008         * lib/xstat.in (slash_aware_lstat): Correct a misleading comment.
21009
21010 2001-11-04  Jim Meyering  <meyering@lucent.com>
21011
21012         * m4/fpending.m4: Remove unused cruft that saved, set, and restored
21013         $DEFS.
21014
21015 2001-11-03  Jim Meyering  <meyering@lucent.com>
21016
21017         * m4/jm-glibc-io.m4n (jm_FUNC_GLIBC_UNLOCKED_IO): Quote first arg
21018         of AC_DEFUN.
21019
21020         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Rework so dirfd.c doesn't have to
21021         know the name of the variable in the macro definition.
21022
21023 2001-11-03  Jim Meyering  <meyering@lucent.com>
21024
21025         * lib/argmatch.h (ARGMATCH_TO_ARGUMENT): Remove casts of first two args
21026         in argmatch_to_argument call.
21027
21028         * lib/dirfd.c (dirfd): Reflect the fact that DIR_TO_FD now takes an
21029         argument.
21030
21031         * lib/hash.c (hash_clear): Fix a bug that could lead to an infloop or
21032         e.g., a fault due to an attempt to free a NULL pointer.
21033
21034 2001-11-01  Jim Meyering  <meyering@lucent.com>
21035
21036         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): New macro.
21037         * m4/jm-macros.m4 (jm_MACROS): Require UTILS_FUNC_DIRFD.
21038
21039 2001-11-01  Jim Meyering  <meyering@lucent.com>
21040
21041         * lib/dirfd.c, lib/dirfd.h: New files.
21042         * lib/Makefile.am (libfetish_a_SOURCES): Add dirfd.h.
21043
21044         * lib/hash.c (hash_print) [TESTING]: Clean up.
21045
21046 2001-10-22  Paul Eggert  <eggert@twinsun.com>
21047
21048         * lib/hard-locale.c (alloca): Define to __builtin_alloca if __GNUC__,
21049         to avoid a warning if -Wall.
21050
21051 2001-10-22  Jeff Bailey  <jbailey@outpost.dnsalias.org>
21052
21053         * README: New file
21054         * doc/*: Add COPYING, COPYING.LIB, COPYING.DOC, fdl.texi
21055         (per RMS's instructions, this is now the canonical source)
21056         * lgpl/, gpl/: New directories.
21057
21058 2001-10-21  Paul Eggert  <eggert@twinsun.com>
21059
21060         * lib/regex.c (uintptr_t): Remove macro and decl; it's config.h's job.
21061
21062 2001-10-21  Jim Meyering  <meyering@lucent.com>
21063
21064         * lib/obstack.c (_): Honor the setting of ENABLE_NLS.  Otherwise,
21065         this code would end up calling gettext even in packages built
21066         with --disable-nls.
21067         * lib/getopt.c (_): Likewise.
21068         * lib/regex.c (_): Likewise.
21069
21070 2001-10-20  Paul Eggert  <eggert@twinsun.com>
21071
21072         * m4/error.m4 (jm_PREREQ_ERROR):
21073         Do not invoke AC_CHECK_FUNCS with strerror_r, as
21074         AC_FUNC_STRERROR_R does that.
21075         Check for strerror declaration.
21076
21077         * m4/strerror_r.m4: Add copyright notice, as nontrivial m4 files
21078         are supposed to have them these days.
21079         (AC_FUNC_STRERROR_R): Always do char* test, so that it gets cached.
21080         Merge changes from latest Autoconf CVS.
21081         Rename ac_cv_func_strerror_r_works to ac_cv_func_strerror_r_char_p,
21082         and rename HAVE_WORKING_STRERROR_R to STRERROR_R_CHAR_P, since
21083         POSIX decided to standardize on the int flavor of strerror_r.
21084
21085 2001-10-20  Paul Eggert  <eggert@twinsun.com>
21086
21087         * lib/error.c (strerror_r): Do not declare unless !_LIBC.
21088         Do not check for HAVE_DECL_STRERROR_R missing unless STRERROR_R_CHAR_P.
21089         Use strerror_r that is only a macro, even if it is not a function.
21090         (strerror): Check for HAVE_DECL_STRERROR before declaring.
21091         (private_strerror): Use prototypes, not old-style function definition.
21092         (print_errno_message): New function.
21093         Support the POSIX 'int'-flavored strerror_r, as well as the traditional
21094         char*-flavored one.
21095         (error_tail, error, error_at_line): Use it.
21096
21097 2001-10-11  Jim Meyering  <meyering@lucent.com>
21098
21099         * lib/argmatch.c (argmatch_invalid): Use quotearg_n_style (0, ...
21100         and quote_n (1, ... to avoid clobbering a buffer.
21101
21102 2001-10-05  Jim Meyering  <meyering@lucent.com>
21103
21104         * lib/Makefile.am: (libfetish_a_SOURCES): Add hash-pjw.c and
21105         hash-pjw.h.
21106         * lib/hash-pjw.c: New file (factored out of fileutils' remove.c).
21107         * lib/hash-pjw.h: New file.
21108
21109 2001-09-30  Jim Meyering  <meyering@lucent.com>
21110
21111         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): See if
21112         `struct fsstat' has the `f_fstypename' member.
21113         Use that to define FS_TYPE, which is now used to make
21114         the getfsstat link test tighter.
21115
21116 2001-09-30  Jim Meyering  <meyering@lucent.com>
21117
21118         * lib/mountlist.c [MOUNTED_GETFSSTAT]:
21119         Include <sys/ucred.h>, for Apple Darwin.
21120         Include sys/mount.h and sys/fs_types.h only if available.
21121         (FS_TYPE): Define.
21122         (read_filesystem_list): Use FS_TYPE.
21123
21124 2001-09-29  Paul Eggert  <eggert@twinsun.com>
21125
21126         * lib/exclude.c (excluded_filename): 0 -> false, since it's
21127         a boolean context.
21128
21129 2001-09-29  Jim Meyering  <meyering@lucent.com>
21130
21131         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
21132         [one-argument getmntent function]): Include stdio.h before mntent.h.
21133         SunOS 4.1.x needs it for the declaration of `FILE'.
21134         Patch by Volker Borchert.
21135
21136         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
21137         Check for these headers: sys/param.h sys/ucred.h sys/mount.h
21138         sys/fs_types.h, and make the link-test for getfsstat guard #include
21139         directives with appropriate #if HAVE_*_H tests so that we can
21140         detect getfsstat on Apple Darwin1.3.7 systems.
21141         Reported by Nelson Beebe.
21142         Fix harmless typo in cache variable name: s/getsstat/getfsstat/.
21143
21144 2001-09-28  Paul Eggert  <eggert@twinsun.com>
21145
21146         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
21147         #defines strtoimax.  Also treat the other strto* functions
21148         like strtoimax.
21149
21150         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
21151         Check for strtoul and strtoumax,
21152         as those declarations are made even in the signed case.
21153         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX):
21154         Likewise, for strtol and strtoimax.
21155
21156 2001-09-28  Paul Eggert  <eggert@twinsun.com>
21157
21158         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
21159         #defines strtoimax.  Also treat the other strto* functions
21160         like strtoimax.
21161
21162         * lib/xstrtol.c (strtol): Do not declare if HAVE_DECL_STRTOL.
21163         (strtoul): Do not declare if HAVE_DECL_STRTOUL.
21164         (strtoimax, strtoumax): Do not declare if already defined as a macro.
21165
21166 2001-09-26  Jim Meyering  <meyering@lucent.com>
21167
21168         Most macros in unlocked-io.h had the wrong number of arguments.
21169         * lib/gen-uio: New script.
21170         (USE_UNLOCKED_IO): Define to 1 if not already defined.
21171         * lib/unlocked-io.hin: Remove file.
21172         * lib/Makefile.am (unlocked-io.h): Rewrite to use a separate script,
21173         rather than trying to embed it here.
21174         (EXTRA_DIST): Add gen-uio.  Remove unlocked-io.hin
21175         Reported by Padraig Brady.
21176
21177 2001-09-25  Volker Borchert  <bt@teknon.de>
21178
21179         * lib/gettimeofday.c (rpl_gettimeofday): Declare local variable
21180         `result'.
21181
21182 2001-09-24  Jim Meyering  <meyering@lucent.com>
21183
21184         * m4/gettext.m4: Use the version from gettext-0.10.40, not CVS.
21185
21186 2001-09-23  Jim Meyering  <meyering@lucent.com>
21187
21188         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add a compile-test
21189         instead of the mere test for existence of mntent.h.  The latter
21190         would get a false-positive on AIX 3.4 systems.
21191         In the outer getmntent if-block, don't die if neither of the getmntent
21192         tests succeeds.  Instead, just fall through and continue with the
21193         remaining tests.
21194
21195 2001-09-23  Jim Meyering  <meyering@lucent.com>
21196
21197         * lib/mountlist.c: Remove useless parentheses in #if directives.
21198         (MOUNTED) [!defined MOUNTED]: Define to _PATH_MOUNTED, for when
21199         the deprecated MOUNTED symbol is no longer defined in mntent.h.
21200
21201 2001-09-22  Jim Meyering  <meyering@lucent.com>
21202
21203         * m4/gettext.m4: New file.  From gettext.
21204         * m4/lcmessage.m4: Sync with gettext -- this changes only comments.
21205         * m4/progtest.m4: Likewise
21206         * m4/isc-posix.m4: Decrement serial number to sync with gettext.
21207         * m4/glibc21.m4: Likewise.
21208
21209         * m4/libintl.m4: Remove.  No longer used.
21210
21211 2001-09-22  Jim Meyering  <meyering@lucent.com>
21212
21213         * lib/localcharset.c: Update from latest gettext.
21214         * lib/config.charset: Likewise.
21215
21216 2001-09-20  Jim Meyering  <meyering@lucent.com>
21217
21218         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX): Check for declaration of
21219         strtoimax.
21220         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check for declaration of
21221         strtoumax.
21222
21223 2001-09-20  Jim Meyering  <meyering@lucent.com>
21224
21225         * lib/xstrtol.c (strtoimax): Guard declaration with
21226         `#if !HAVE_DECL_STRTOIMAX', rather than just `#ifndef strtoimax'.
21227         The latter fails because some systems (at least rs6000-ibm-aix4.3.3.0)
21228         have their own, conflicting declaration of strtoimax in sys/inttypes.h.
21229         (strtoumax): Likewise, for completeness (it wasn't necessary).
21230
21231 2001-09-17  Paul Eggert  <eggert@twinsun.com>
21232
21233         * lib/strtoimax.c (HAVE_LONG_LONG):
21234         Redefine to HAVE_UNSIGNED_LONG_LONG if unsigned.
21235         (strtoimax): Use sizeof (long), not sizeof strtol (ptr, endptr, base),
21236         to work around bug in IBM C compiler.
21237
21238 2001-09-17  Jim Meyering  <meyering@lucent.com>
21239
21240         * m4/chown.m4, fstypename.m4, getgroups.m4, gettimeofday.m4,
21241         * m4/jm-mktime.m4, lstat.m4, malloc.m4, memcmp.m4, mkdir-slash.m4,
21242         * m4/nanosleep.m4, putenv.m4, readdir.m4, realloc.m4, rename.m4,
21243         * m4/st_dm_mode.m4, stat.m4, strerror_r.m4, timespec.m4, utimbuf.m4,
21244         * m4/utimes.m4: Use AC_DEFINE rather than AC_DEFINE_UNQUOTED,
21245         whenever the right hand side need not be expanded by the shell.
21246
21247 2001-09-16  Paul Eggert  <eggert@twinsun.com>
21248
21249         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): Remove test for GNU C
21250         library.  It's not correct, as some older glibcs are buggy.
21251         fnmatch wasn't fixed until glibc 2.2.
21252
21253         Use AC_DEFINE, not AC_DEFINE_UNQUOTED, as there's no
21254         special shell magic here.
21255
21256 2001-09-16  Jim Meyering  <meyering@lucent.com>
21257
21258         * m4/mkdir-slash.m4 (UTILS_FUNC_MKDIR_TRAILING_SLASH): New file/macro.
21259         * m4/jm-macros.m4: Require it.
21260
21261 2001-09-16  Jim Meyering  <meyering@lucent.com>
21262
21263         * lib/mkdir.c: New file.
21264
21265 2001-09-15  Jim Meyering  <meyering@lucent.com>
21266
21267         * m4/jm-macros.m4: Check for help2man.
21268
21269 2001-09-11  Jim Meyering  <meyering@lucent.com>
21270
21271         * m4/host-os.m4 (UTILS_HOST_OS): New file/macro.
21272         The body, by Paul Eggert, was moved here from configure.in.
21273         * m4/jm-macros.m4: Require UTILS_HOST_OS.
21274
21275 2001-09-04  Paul Eggert  <eggert@twinsun.com>
21276
21277         * m4/prereq.m4 (jm_PREREQ_XREADLINK): New macro.
21278         (jm_PREREQ): Use it.
21279
21280 2001-09-04  Paul Eggert  <eggert@twinsun.com>
21281
21282         * lib/xreadlink.c (xreadlink): Omit size_t* arg.  All uses changed.
21283         Use ssize_t, not int, to store result of readlink.
21284         Check for ssize_t overflow as well as size_t overflow,
21285         as POSIX says the result of readlink is implementation-defined
21286         when ssize_t overflows.
21287         Remove unnecessary cast to char*.
21288         Use free+malloc instead of realloc, as the storage doesn't need
21289         to be preserved and it's clearer and can be more efficient that way.
21290         (SIZE_MAX, SSIZE_MAX): New macros, if <limits.h> doesn't declare.
21291         * lib/xreadlink.h (xreadlink): Update prototype.
21292
21293 2001-09-04  Paul Eggert  <eggert@twinsun.com>
21294
21295         * lib/xgetcwd.c: Revert some of the previous change; intead,
21296         fix the HAVE_GETCWD_NULL code to behave more like the
21297         !HAVE_GETCWD_NULL code used to.
21298
21299         Include "xalloc.h".
21300         (xgetcwd): Do not return NULL when memory is exhausted; instead,
21301         invoke xalloc_die.
21302
21303 2001-09-03  Paul Eggert  <eggert@twinsun.com>
21304
21305         * m4/prereq.m4 (jm_PREREQ_XGETCWD): Check for limits.h and
21306         sys/param.h, as pathmax.h includes them.
21307
21308 2001-09-03  Paul Eggert  <eggert@twinsun.com>
21309
21310         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_XGETCWD.
21311         (jm_PREREQ_XGETCWD): New macro.
21312
21313         * m4/getcwd.m4: New file.
21314
21315 2001-09-03  Paul Eggert  <eggert@twinsun.com>
21316
21317         * lib/xgetcwd.c: Fix the !HAVE_GETCWD_NULL code to behave more
21318         like the HAVE_GETCWD_NULL code.
21319         Include pathmax.h if not HAVE_GETCWD.
21320         Do not include xalloc.h.
21321         (INITIAL_BUFFER_SIZE): New symbol.
21322         Do not use xmalloc / xrealloc, since the caller is responsible for
21323         handling errors.  Preserve errno around `free' during failure.
21324         Do not overrun buffer when using getwd.
21325
21326 2001-09-03  Paul Eggert  <eggert@twinsun.com>
21327
21328         * lib/xgetcwd.c (xgetcwd): Use HAVE_GETCWD_NULL, not (defined
21329         __GLIBC__ && __GLIBC__ >= 2), to decide whether to use
21330         getcwd (NULL, 0).
21331
21332 2001-09-03  Paul Eggert  <eggert@twinsun.com>
21333
21334         * lib/exclude.c (fnmatch_no_wildcards): Fix confusion between
21335         usage of FNM_CASEFOLD and FNM_LEADING_DIR.  The bug was
21336         spotted by Jim Meyering.
21337
21338 2001-09-03  Jim Meyering  <meyering@lucent.com>
21339
21340         * lib/xreadlink.c (xreadlink): Preserve errno around `free' during
21341         failure.
21342
21343 2001-09-02  Jim Meyering  <meyering@lucent.com>
21344
21345         * lib/error.c: Update from GNU libc.
21346
21347 2001-09-01  Jim Meyering  <meyering@lucent.com>
21348
21349         * m4/jm-macros.m4 (jm_MACROS): Check for canonicalize_file_name.
21350         Used by df.
21351
21352 2001-09-01  Jim Meyering  <meyering@lucent.com>
21353
21354         * lib/xreadlink.c: New file.
21355         * lib/xreadlink.h: New file.
21356         * lib/Makefile.am (libfetish_a_SOURCES): Add xreadlink.c and
21357         xreadlink.h.
21358
21359         * lib/regex.c (uintptr_t) [!_LIBC]: Define to private_uintptr_t, so it
21360         doesn't conflict with sparc Solaris 7's definition in
21361         /usr/include/sys/int_types.h.
21362
21363         * lib/exclude.c: Use `""', not `<>' to #include non-system header
21364         files.
21365         (fnmatch_no_wildcards): Rewrite not to use function names, strcasecmp
21366         and strncasecmp as r-values.  Unixware didn't have declarations.
21367
21368 2001-08-31  Paul Eggert  <eggert@twinsun.com>
21369
21370         * lib/xstrtol.h: Add copyright notice.
21371         (_DECLARE_XSTRTOL): Improve quality of diagnostic for
21372         LONGINT_INVALID_SUFFIX_CHAR.
21373
21374 2001-08-31  Paul Eggert  <eggert@twinsun.com>
21375
21376         * lib/xstrtol.c (strtoimax): New decl.
21377
21378 2001-08-31  Paul Eggert  <eggert@twinsun.com>
21379
21380         * lib/xgetcwd.c: Don't include pathmax.h.
21381         Include stdlib.h and unistd.h if available.
21382         Include xalloc.h.
21383         (xmalloc, xstrdup, free): Remove decls.
21384         (xgetcwd): Don't assume sizes fit in unsigned.
21385         Check for overflow when computing sizes.
21386         Simplify reallocation code.
21387
21388 2001-08-31  Paul Eggert  <eggert@twinsun.com>
21389
21390         * lib/savedir.c (savedir): Remove size parameter, as POSIX says that
21391         a directory's st_size can have an arbitrary value, so the old
21392         usage could waste an arbitrary amount of memory.  All uses
21393         changed.
21394         * lib/savedir.h: Update prototype.
21395
21396 2001-08-31  Paul Eggert  <eggert@twinsun.com>
21397
21398         * lib/Makefile.am (libfetish_a_SOURCES): Remove strtoxmax.c.
21399
21400         * lib/strtoimax.c: Renamed from strtoxmax.c, removing the
21401         old strtoimax.c.
21402
21403         Also, make the following further changes to make this file's
21404         configuration more similar to that of strtol.c:
21405         (UNSIGNED): Renamed from STRTOUXMAX_UNSIGNED.  All uses changed.
21406         (strtoumax, uintmax_t, strtoull, strtol): Remove.
21407         (intmax_t, strtoimax, strtol, strtoll): New macros, if UNSIGNED.
21408         (strtoimax): Renamed from strtoumax.  All uses of unsigned values
21409         changed to signed values.
21410
21411         And make the following changes as well:
21412         Fix copyright notice, as 1999 was missing.
21413         (verify): New macro.
21414         (strtoimax): Check sizes at compile-time, not run-time.
21415         Prefer strtol to strtoll if both work.
21416         (main): Remove; it was not that useful and was a pain to maintain.
21417
21418         * lib/strtoumax.c: Include strtoimax.c, not strtouxmax.c.
21419
21420 2001-08-31  Jim Meyering  <meyering@lucent.com>
21421
21422         * lib/xgetcwd.c (xgetcwd): Reorganize to avoid some duplication.
21423         Use an initial, malloc'd, buffer of length 128 rather than
21424         a statically allocated one of length 1024.
21425
21426 2001-08-30  Paul Eggert  <eggert@twinsun.com>
21427
21428         Simplify code, partly by assuming autoconf 2.52 semantics.
21429
21430         * m4/Makefile.am (EXTRA_DIST): Remove uintmax_t.m4.
21431
21432         * m4/inttypes.m4 (AC_PREREQ): Bump to 2.52.
21433         (jm_AC_HEADER_INTTYPES_H): Remove; now done by autoconf in 2.52.
21434         All uses removed.
21435         (jm_AC_TYPE_INTMAX_T, jm_AC_TYPE_UINTMAX_T):
21436         Move AC_REQUIRE to next-to-top level, to avoid confusion.
21437         Use 2.52's AC_CHECK_TYPE instead of merely looking for the header.
21438         * m4/prereq.m4 (jm_PREREQ_HUMAN): Don't require
21439         jm_AC_HEADER_INTTYPES_H.
21440         * m4/jm-macros.m4 (jm_MACROS): Likewise.
21441
21442         * m4/uintmax_t.m4: Remove, as it duplicates inttypes.m4.
21443
21444         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
21445         Quote first arg of AC_DEFUN.
21446         Require jm_AC_TYPE_UINTMAX_T and jm_AC_TYPE_UNSIGNED_LONG_LONG
21447         since they are needed to parse the include file even if we need
21448         only xstrtoimax.  Simplify logic behind the args to AC_REPLACE.
21449         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Likewise,
21450         but with opposite signedness.
21451
21452 2001-08-30  Paul Eggert  <eggert@twinsun.com>
21453
21454         Merge 'exclude' changes from tar 1.13.22.
21455         This fixes one or two unlikely storage allocation overflow bugs,
21456         but doesn't change user-visible behavior otherwise.
21457
21458 2001-08-30  Paul Eggert  <eggert@twinsun.com>
21459
21460         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_EXCLUDE.
21461         (jm_PREREQ_EXCLUDE): New macro.
21462
21463 2001-08-30  Paul Eggert  <eggert@twinsun.com>
21464
21465         * lib/quotearg.c: BSD/OS 4.1 wchar.h requires FILE and struct
21466         tm to be declared.
21467
21468 2001-08-30  Paul Eggert  <eggert@twinsun.com>
21469
21470         * lib/hash.c: Remove '2001' from copyright notice.
21471
21472 2001-08-30  Paul Eggert  <eggert@twinsun.com>
21473
21474         * lib/full-write.h: New file.
21475         * lib/Makefile.am (libfetish_a_SOURCES): Add full-write.h.
21476         * lib/full-write.c: Correct credits, as cccp.c no longer
21477         exists and anyway it was so heavily changed from the old cccp
21478         code as to be unrecognizable.  Include full-write.h.
21479         (full_write) Return size_t, with short writes meaning failure.
21480         All callers changed.  This fixes a bug with large buffers
21481         on 64-bit hosts.
21482         * lib/utime.c: Include full-write.h.
21483
21484 2001-08-30  Paul Eggert  <eggert@twinsun.com>
21485
21486         * lib/exclude.c (bool): Declare, perhaps by including stdbool.h.
21487         (<sys/types.h>): Include only if HAVE_SYS_TYPES_H.
21488         (<stdlib.h>, <string.h>, <strings.h>, <inttypes.h>, <stdint.h>):
21489         Include if available.
21490         (<xalloc.h>): Include
21491         (SIZE_MAX): Define if <stdint.h> or <inttypes.h> doesn't.
21492         (verify): New macro.  Use it to verify that EXCLUDE macros do not
21493         collide with FNM macros.
21494         (struct patopts): New struct.
21495         (struct exclude): Use it, as exclude patterns now come with options.
21496         (new_exclude): Support above changes.
21497         (new_exclude, add_exclude_file):
21498         Initial size must now be a power of two to simplify overflow checking.
21499         (free_exclude, fnmatch_no_wildcards): New function.
21500         (excluded_filename): No longer requires options arg, as the options
21501         are determined by add_exclude.  Now returns bool, not int.
21502         (excluded_filename, add_exclude):
21503         Add support for the fancy new exclusion options.
21504         (add_exclude, add_exclude_file): Now takes int options arg.
21505         Check for arithmetic overflow when computing sizes.
21506         (add_exclude_file): xrealloc might modify errno, so don't
21507         realloc until after errno might be used.
21508
21509         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE,EXCLUDE_WILDCARDS):
21510         New macros.
21511         (free_exclude): New decl.
21512         (add_exclude, add_exclude_file): Now takes int options arg.
21513         (excluded_filename): No longer requires options arg, as the options
21514         are determined by add_exclude.  Now returns bool, not int.
21515
21516 2001-08-30  Paul Eggert  <eggert@twinsun.com>
21517
21518         * lib/alloca.c (alloca): Arg is of type size_t, not unsigned.
21519
21520 2001-08-27  Jim Meyering  <meyering@lucent.com>
21521
21522         * lib/Makefile.am (libfetish_a_SOURCES): Add strtoxmax.c
21523
21524         * lib/version-etc.c (N_): Remove definition.
21525         Revert most of last change.
21526         Instead, simply don't mark the `Copyright...' string for translation.
21527         Based on advice from Paul Eggert.
21528
21529         * lib/strtoxmax.c: Tweak comment.
21530
21531 2001-08-26  Jim Meyering  <meyering@lucent.com>
21532
21533         * m4/jm-macros.m4: Require jm_AC_PREREQ_XSTRTOIMAX.
21534
21535         * m4/xstrtoimax.m4: New file.
21536         * m4/xstrtoumax.m4: Add comments explaining why we
21537         AC_REPLACE_FUNCS(strtol).
21538
21539 2001-08-26  Jim Meyering  <meyering@lucent.com>
21540
21541         * lib/version-etc.c (version_etc_copyright_fmt): Replace literal year
21542         of copyright with `%s' so translators don't get an untranslated
21543         message in 2002.
21544         (COPYRIGHT_YEAR): Define.
21545         (version_etc): Use fprintf rather than fputs.
21546         Suggestion from Ulrich Drepper.
21547
21548         * lib/Makefile.am (libfetish_a_SOURCES): Add xstrtoimax.c.
21549
21550         * lib/strtoll.c: New file, from GNU libc.
21551         * lib/xstrtoimax.c: New file.
21552
21553         * lib/xstrtol.h: Add xstrtoimax.
21554         * lib/strtoumax.c: New file.  Simply include "strtoumax.c".
21555         * lib/strtoimax.c: New file.  Likewise, but first define
21556         STRTOUXMAX_SIGNED.
21557
21558         * lib/strtoumax.c: Factor to work both for unsigned and signed types,
21559         ...
21560         * lib/strtoxmax.c: ... then renamed to this.
21561
21562 2001-08-18  Paul Eggert  <eggert@twinsun.com>
21563
21564         * m4/inttypes.m4: Add AC_PREREQ(2.13).
21565         (jm_AC_HEADER_INTTYPES_H): Test for intmax_t, too.
21566         (jm_AC_TYPE_INTMAX_T): New macro.
21567         (jm_AC_TYPE_UINTMAX_T): Moved here from uintmax_t.m4.
21568
21569         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): New macro.
21570
21571         * m4/longlong.m4: Renamed from ulonglong.m4.
21572         * m4/inttypes.m4: Renamed from inttypes_h.m4.
21573         * m4/uintmax_t.m4: Removed.
21574
21575 2001-08-13  Paul Eggert  <eggert@twinsun.com>
21576
21577         * lib/Makefile.am (unlocked-io.h): Do not append "_unlocked" twice.
21578         Port to Solaris 8, where 'sed' requires a space after the 'r'
21579         command, and where sh dislikes "$/".  Clean up the spacing a bit.
21580         Redirect output to $tmp just once.
21581
21582 2001-08-12  Paul Eggert  <eggert@sic.twinsun.com>
21583
21584         * lib/addext.c (<errno.h>): Include.
21585         (errno): Declare if not defined.
21586         (addext): Work correctly when pathconf returns -1 and leaves
21587         errno alone because there is no limit.  Also, work even if
21588         pathconf returns a value greater than SIZE_MAX.
21589
21590 2001-08-12  Jim Meyering  <meyering@lucent.com>
21591
21592         * m4/afs.m4, assert.m4, bison.m4, check-decl.m4, chown.m4, d-ino.m4,
21593         d-type.m4, dos.m4, error.m4, fnmatch.m4, fpending.m4, fstypename.m4,
21594         fsusage.m4, ftruncate.m4, getgroups.m4, glibc.m4, gnu-source.m4,
21595         group-member.m4, jm-glibc-io.m4, jm-macros.m4, jm-mktime.m4,
21596         jm-winsz1.m4, jm-winsz2.m4, lchown.m4, lib-check.m4, libintl.m4,
21597         link-follow.m4, ls-mntd-fs.m4, lstat.m4, malloc.m4, mbrtowc.m4,
21598         mbstate_t.m4, mbswidth.m4, memcmp.m4, nanosleep.m4, perl.m4,
21599         prereq.m4, putenv.m4, readdir.m4, realloc.m4, regex.m4, rename.m4,
21600         rmdir-errno.m4, search-libs.m4, st_dm_mode.m4, st_mtim.m4, stat.m4,
21601         strftime.m4, timespec.m4, unlink-busy.m4, uptime.m4, utimbuf.m4,
21602         utime.m4, utimes.m4, xstrtoumax.m4:
21603         Quote the first argument in each use of AC_DEFUN.
21604
21605 2001-08-12  Jim Meyering  <meyering@lucent.com>
21606
21607         * lib/xgetcwd.c (xgetcwd) [defined __GLIBC__ && __GLIBC__ >= 2]:
21608         Simply `return getcwd (NULL, 0);'.
21609         [! (defined __GLIBC__ && __GLIBC__ >= 2)]:
21610         Use 1300 as initial value for length, not PATH_MAX.
21611
21612         * lib/pathmax.h: Clean up cpp syntax.
21613
21614 2001-08-12  Jim Meyering  <meyering@lucent.com>
21615
21616         * lib/gettimeofday.c: New file.
21617         * lib/gtod.h: New file.
21618         * lib/Makefile.am (libfetish_a_SOURCES): Add gtod.h.
21619
21620 2001-08-05  Jim Meyering  <meyering@lucent.com>
21621
21622         * m4/jm-macros.m4: Require autoconf-2.52.
21623
21624 2001-08-04  Jim Meyering  <meyering@lucent.com>
21625
21626         * lib/error.h (__attribute__): Remove `|| __STRICT_ANSI__' from #if
21627         stmt, to get in sync with glibc.
21628
21629 2001-08-03  Paul Eggert  <eggert@twinsun.com>
21630
21631         The following changes are from gettext 0.10.39 as maintained by
21632         Bruno Haible.
21633
21634         * lib/mbswidth.h (MBSW_REJECT_UNPRINTABLE, MBSW_REJECT_INVALID):
21635         Renamed from MBSW_ACCEPT_UNPRINTABLE and MBSW_ACCEPT_INVALID
21636         with inverted sense.  All uses changed.
21637
21638         * lib/mbswidth.c: Don't include <limits.h>.
21639         Include <stdlib.h> and <string.h> unconditionally.
21640         (iswcntrl, mbsinit, ISCNTRL): New macros.
21641         (mbsnwidth): Use K&R style function declarations.
21642         Don't bother checking for MB_LEN_MAX == 1, since the compiler
21643         can optimize it when MB_CUR_MAX == 1.
21644         The width of control characters is zero, not 1.
21645
21646 2001-08-03  Paul Eggert  <eggert@twinsun.com>
21647
21648         The following changes are from gettext 0.10.39 as maintained by
21649         Bruno Haible, except that getline.m4 continues to use AC_LIBOBJ.
21650
21651         * m4/codeset.m4: Upgrade to serial AM1.
21652         (AM_LANGINFO_CODESET): Renamed from jm_LANGINFO_CODESET;
21653         all uses changed.  Quote first arg of AC_DEFUN.
21654         (am_cv_langinfo_codeset): Renamed from jm_cv_langinfo_codeset.
21655
21656         * m4/iconv.m4: Upgrade to serial AM2.
21657         (AM_ICONV): Renamed from jm_ICONV; all uses changed.
21658         Add --with-libconv-prefix.
21659         Quote first arg of AC_DEFUN.  Add description for ICONV_CONST.
21660         (am_cv_func_iconv): Renamed from jm_cv_func_iconv.
21661         (am_cv_lib_iconv): Renamed from jm_cv_lib_iconv.
21662         (am_cv_proto_iconv): Renamed from jm_cv_proto_iconv.
21663         * m4/jm-macros.m4 (jm_MACROS): Reflect s/jm_/AM_/ renamings.
21664
21665         * m4/c-bs-a.m4 (AC_C_BACKSLASH_A): Quote first arg of AC_DEFUN.
21666         * m4/getline.m4 (AM_FUNC_GETLINE): Likewise.
21667         * m4/glibc21.m4 (jm_GLIBC21): Likewise.
21668         * m4/inttypes_h.m4 (jm_AC_HEADER_INTTYPES_H): Likewise.
21669         * m4/isc-posix.m4 (AC_ISC_POSIX): Likewise.
21670         * m4/lcmessage.m4 (AM_LC_MESSAGES): Likewise.
21671         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
21672         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Likewise.
21673         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Likewise.
21674
21675         * m4/getline.m4 (AM_FUNC_GETLINE): Don't bother checking for
21676         string.h any more.
21677
21678         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): If not found, print "no",
21679         not the default value.
21680
21681         2001-06-25  Bruno Haible  <haible@clisp.cons.org>
21682         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Don't require AM_C_PROTOTYPES.
21683         Also check for mbsinit.  Needed for SCO 3.2v5.0.2.
21684         Also include <string.h>; this is where AIX 3.2.5 declares wcwidth.
21685         Also check for iswcntrl, used for wcwidth fallback.
21686         Use AC_TRY_COMPILE to emulate AC_CHECK_DECLS, for portability
21687         to Autoconf 2.13.
21688
21689 2001-08-03  Jim Meyering  <meyering@lucent.com>
21690
21691         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Use `#include', not `@%:@include',
21692         as it was in the original.  Reported by Paul Eggert.
21693
21694 2001-07-16  Jim Meyering  <meyering@lucent.com>
21695
21696         * m4/gettimeofday.m4: New file.
21697         Prompted by a report from Bernhard Baehr.
21698
21699 2001-07-15  Jim Meyering  <meyering@lucent.com>
21700
21701         * m4/Makefile.am.in (Makefile.am): Remove most of the unlocked-io.h
21702         stuff. Now it's in ../Makefile.cfg.
21703
21704 2001-07-15  Jim Meyering  <meyering@lucent.com>
21705
21706         * lib/Makefile.am (EXTRA_DIST): Add unlocked-io.hin.
21707         (BUILT_SOURCES): Add unlocked-io.h.
21708         (io_functions): Define.
21709         (unlocked-io.h): New rule.
21710         (DISTCLEANFILES): Add unlocked-io.h.
21711         (all-local): Depend on unlocked-io.h, to ensure it is created.
21712
21713         * lib/unlocked-io.hin: New file
21714
21715         * lib/regex.c: Update from glibc.
21716
21717 2001-07-05  Jim Meyering  <meyering@lucent.com>
21718
21719         * lib/Makefile.am (noinst_HEADERS): Remove definition, per new automake
21720         recommendation.
21721         (libfetish_a_SOURCES): Put all .h files here instead.
21722         Remove a thus-exposed (better checks in automake) duplicate and
21723         two unnecessary .h files.
21724
21725 2001-07-04  Jim Meyering  <meyering@lucent.com>
21726
21727         * m4/Makefile.am.in (glibc-io.struct): New target.  Rework the code
21728         that generates jm-glibc-io.m4 so that it doesn't trigger any make
21729         distcheck failure.
21730
21731 2001-07-02  Jim Meyering  <meyering@lucent.com>
21732
21733         The following changes were prompted by suggestions from Bruno Haible.
21734
21735         * m4/jm-glibc-io.m4n: New file, the template from which jm-glibc-io.m4
21736         is now generated.
21737         * m4/Makefile.am.in (Makefile.am): Include jm-glibc-io.m4n in emitted
21738         definition of EXTRA_DIST.
21739         (Makefile.am): Emit the dependency, `all-local: jm-glibc-io.m4' to
21740         ensure that the generated file is created/updated whenever the list
21741         of $(unlocked_functions) is changed.
21742         (jm-glibc-io.m4): New rule.
21743         (unlocked-io.h): New rule -- currently unused.
21744
21745 2001-06-24  Jim Meyering  <meyering@lucent.com>
21746
21747         * m4/regex.m4 (jm_INCLUDED_REGEX): Use a quadrigraph to represent an
21748         unmatched right bracket, rather than kludging it with an extra,
21749         falsely-matching quote in a comment.  Patch by Akim Demaille.
21750
21751 2001-06-11  Jim Meyering  <meyering@lucent.com>
21752
21753         * lib/regex.c: Update from GNU libc.
21754
21755 2001-05-27  Jim Meyering  <meyering@lucent.com>
21756
21757         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for ut_type in struct utmpx.
21758         Check for ut_type in struct utmp.
21759
21760 2001-05-27  Jim Meyering  <meyering@lucent.com>
21761
21762         * lib/readutmp.h (UT_TYPE): Define.
21763
21764 2001-05-24  Jim Meyering  <meyering@lucent.com>
21765
21766         * lib/argmatch.c: Include "quote.h".
21767         (argmatch_invalid): Remove explicit `' quotes.  Instead, use the
21768         quote function.  Reported by Göran Uddeborg.
21769
21770 2001-05-22  Jim Meyering  <meyering@lucent.com>
21771
21772         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't use AC_LIBOBJ(strftime),
21773         now that we use the package-supplied version unconditionally.
21774         (jm_FUNC_STRFTIME): Don't replace strftime, for the same reason.
21775
21776 2001-05-21  Jim Meyering  <meyering@lucent.com>
21777
21778         * m4/regex.m4: Change a couple backticks to single quotes to avoid
21779         shell syntax errors.
21780
21781 2001-05-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
21782
21783         * m4/dos.m4 (jm_AC_DOS): Check for _WIN32, __WIN32__, and __MSDOS__.
21784
21785 2001-05-20  Paul Eggert  <eggert@twinsun.com>
21786
21787         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME):
21788         Don't bother to check library strftime, since
21789         we'll be using our own my_strftime function anyway.
21790         Define my_strftime instead of strftime.
21791
21792 2001-05-20  Alexandre Duret-Lutz  <duret_g@epita.fr>
21793
21794         * lib/dirname.c (dir_name): Compute append_dot using path, not newpath
21795         which is not yet declared.
21796
21797 2001-05-15  Jim Meyering  <meyering@lucent.com>
21798
21799         * m4/regex.m4: Use proper quoting so brackets appear in the test
21800         program.
21801         Reported by, and with help from, Bruno Haible.
21802
21803 2001-05-13  Jim Meyering  <meyering@lucent.com>
21804
21805         * m4/jm-macros.m4 (major_t, minor_t): Define to unsigned int if
21806         undefined.
21807
21808 2001-05-11  Paul Eggert  <eggert@twinsun.com>
21809
21810         dirname code cleanup.  base_name now behaves more compatibly
21811         with POSIX basename when given file names that have trailing
21812         slashes, and similarly for dir_name.  Add new primitives
21813         base_len and dir_len.  Put the directory-name-related decls
21814         into dirname.h.
21815
21816         * lib/addext.c (ISSLASH, base_name): Remove; now in dirname.h.
21817         * lib/backupfile.c (base_name): Likewise.
21818         * lib/basename.c (FILESYSTEM_PREFIX_LEN, PARAMS, ISSLASH): Likewise.
21819         * lib/dirname.c (FILESYSTEM_PREFIX_LEN, ISSLASH): Likewise.
21820         * lib/makepath.c (strip_trailing_slashes): Likewise.
21821         * lib/path-concat.c (DIRECTORY_SEPARATOR, FILESYSTEM_PREFIX_LEN,
21822         ISSLASH): Likewise.
21823         * lib/rename.c (strip_trailing_slashes): Likewise.
21824         * lib/same.c (base_name): Likewise.
21825         * lib/stripslash.c (ISSLASH): Likewise.
21826
21827         * lib/addext.c: Include <dirname.h> after size_t is defined.
21828         * lib/backupfile.c: Likewise.
21829
21830         * lib/addext.c (addext): Use base_len to trim redundant
21831         trailing slashes instead of doing it ourselves.
21832         But do not trim the last slash if it is not redundant.
21833
21834         * lib/backupfile.c (find_backup_file_name,
21835         max_backup_version): Use base_len instead of rolling it ourselves.
21836         Handle the case of "" and (on DOS) "C:" correctly.
21837
21838         * lib/basename.c: Do not include <stdio.h>, <assert.h>; no longer
21839         needed. Include <string.h>, <dirname.h>.
21840         (base_name): Allow file names ending in slashes, other than names
21841         that are all slashes.  In this case, return the basename followed
21842         by the slashes.  This is more general, and can be used in places
21843         where the original base_name purposely had an assertion failure.
21844         (base_len): New function.
21845
21846         * lib/dirname.c: Include <string.h> instead of <stdlib.h>.
21847         Do not include <assert.h>; no longer needed.
21848         Include xalloc.h.
21849         (memrchr): Remove decl.
21850         (dir_name_r): Remove.
21851         (dir_len): Renamed from dirlen.  All callers changed.
21852         Rewrite in terms of base_name, for simplicity and consistency.
21853         (dir_name): Never return NULL.  All callers changed.
21854         Do not include <stdlib.h> in test program; no longer needed.
21855         return 0; is fine for test program.
21856
21857         * lib/dirname.h (DIRECTORY_SEPARATOR, ISSLASH, FILESYSTEM_PREFIX_LEN):
21858         New macros.
21859         (base_name, base_len, dir_len, strip_trailing_slashes): New decls.
21860
21861         * lib/path-concat.c (path_concat): Use base_len to compute
21862         base length, not strlen; this means we cannot rely on memcpy
21863         to null-terminate.
21864
21865         * lib/same.c (STREQ): Remove.
21866         (same_name): Handle the case where the basename ends in trailing '/'.
21867
21868         * lib/stripslash.c (strip_trailing_slashes): Return nonzero if
21869         a slash was stripped.  Do not strip the last slash after a
21870         file system prefix.
21871
21872 2001-05-11  Paul Eggert  <eggert@twinsun.com>
21873
21874         * lib/Makefile.am (libfetish_a_SOURCES):
21875         Add strftime.c, since we now compile it on all hosts.
21876
21877         * lib/strftime.c (my_strftime):
21878         Define to nstrftime if emacs, but only if my_strftime is not defined.
21879         (extra_args, extra_args_spec, extra_args_spec_iso): Rename from
21880         ut_argument, ut_argument_spec, ut_argument_spec_iso, respectively.
21881         Add one more extra argument: a nanoseconds value.
21882         All uses changed.
21883         (ns): New macro.
21884         (my_strftime function): Add %N format.
21885         (emacs_strftimeu): Renamed from emacs_strftime,
21886         with extra ut argument.
21887
21888 2001-05-09  Paul Eggert  <eggert@twinsun.com>
21889
21890         * m4/jm-macros.m4 (jm_MACROS): Do not check for fseeko; no longer used.
21891
21892 2001-04-21  Jim Meyering  <meyering@lucent.com>
21893
21894         * m4/rmdir-errno.m4: Write to a new file, so that a restrictive umask
21895         doesn't interfere.
21896
21897 2001-04-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
21898
21899         * m4/ftruncate.m4: Check for chsize.
21900         Link with ftruncate.o unconditionally if ftruncate is missing.
21901         This was required when cross-compiling to i586-mingw32msvc.
21902
21903 2001-04-08  Jim Meyering  <meyering@lucent.com>
21904
21905         * lib/getdate.y (get_date): Set tm_isdst to -1 to ensure that it is
21906         recomputed; that's necessary when the offset spans a DST transition.
21907         Patch by David J. MacKenzie.  Reported by Hon-Yin Kok.
21908
21909 2001-04-02  Jim Meyering  <meyering@lucent.com>
21910
21911         * lib/regex.h, regex.c: Update from GNU libc.
21912
21913 2001-03-24  Jim Meyering  <meyering@lucent.com>
21914
21915         * m4/jm-macros.m4: Require autoconf-2.49d.
21916
21917 2001-03-20  Bruno Haible  <haible@clisp.cons.org>
21918
21919         * m4/iconv.m4 (jm_ICONV): Recommend GNU libiconv.
21920
21921 2001-03-19  Paul Eggert  <eggert@twinsun.com>
21922
21923         * lib/version-etc.c (version_etc_copyright): Update to 2001.
21924
21925 2001-03-17  Jim Meyering  <meyering@lucent.com>
21926
21927         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Remove my copy of AC_FUNC_MEMCMP,
21928         now that the version in autoconf is equivalent.
21929         (jm_FUNC_MEMCMP): Adjust to use AC_FUNC_MEMCMP.
21930
21931         * m4/error.m4 (jm_PREREQ_ERROR): Invoke AC_FUNC_STRERROR_R.
21932         Suggestion from Akim Demaille.
21933
21934         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_TEMPNAME.
21935         (jm_PREREQ_TEMPNAME): New function.
21936
21937 2001-03-16  Paul Eggert  <eggert@twinsun.com>
21938
21939         * lib/tempname.c (uint64_t): Define to uintmax_t if
21940         not defined, and if UINT64_MAX is not defined.
21941         Required at least for Vax Ultrix4.3, which doesn't define uint64_t.
21942         Reported by John David Anglin.
21943
21944 2001-03-15  Bruno Haible  <haible@clisp.cons.org>
21945
21946         * lib/localcharset.c (locale_charset): Allow wildcard syntax. Also
21947         resolve alias if codeset is empty.
21948         * lib/config.charset (BeOS): Use wildcard syntax.
21949
21950 2001-03-13  Jim Meyering  <meyering@lucent.com>
21951
21952         * lib/path-concat.c (path_concat)
21953         [FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't insert a backslash when
21954         concatenating e.g., `C:' and `foo'.
21955         From Bruno Haible.
21956
21957 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
21958
21959         * lib/localcharset.c (locale_charset): Don't use
21960         setlocale(LC_CTYPE,NULL). Don't return NULL.
21961         * lib/unicodeio.c (print_unicode_char): Simplify accordingly.
21962
21963 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
21964
21965         * lib/config.charset: Update for FreeBSD 4.2 and OSF/1 5.1. Add
21966         support for DOS/DJGPP.
21967
21968 2001-03-01  Paul Eggert  <eggert@twinsun.com>
21969
21970         * m4/jm-macros.m4 (jm_MACROS): Use mkstemp replacement if the system
21971         lacks mkstemp.  Compile our own tempname.c if we compile our own
21972         mkstemp.c, as mkstemp relies on tempname.
21973
21974 2001-03-01  Jim Meyering  <meyering@lucent.com>
21975
21976         * m4/dos.m4 (jm_AC_DOS): Remove extra backslashes, now that
21977         AH_VERBATIM really does output its argument verbatim.
21978
21979 2001-02-28  Paul Eggert  <eggert@twinsun.com>
21980
21981         * lib/Makefile.am (libfetish_a_SOURCES):
21982         Add dup-safer.c, fopen-safer.c.
21983         (noinst_HEADERS): Add stdio-safer.h, unistd-safer.h.
21984
21985         * lib/dup-safer.c, lib/fopen-safer.c, lib/stdio-safer.h:
21986         * lib/unistd-safer.h: New files.
21987
21988 2001-02-25  Paul Eggert  <eggert@twinsun.com>
21989
21990         The mkstemp replacement is taken from glibc 2.2.2, with some
21991         portability fixes for use outside glibc, as follows:
21992
21993         * lib/tempname.c (struct_stat64): New macro.
21994         (direxists, __gen_tempname): Use it.
21995         This avoids a portability problem with Solaris 8.
21996
21997         * lib/tempname.c (<config.h>): Include if HAVE_CONFIG_H.
21998         (<stddef.h>, <stdint.h>, <string.h>):
21999         Include only if STDC_HEADERS || _LIBC.
22000         (<fcntl.h>): Include only if HAVE_FCNTL_H || _LIBC.
22001         (<unistd.h>): Include only if HAVE_UNISTD_H || _LIBC.
22002         (<sys/time.h>): Include only if HAVE_SYS_TIME_H || _LIBC.
22003         (__set_errno): Define this macro if <errno.h> doesn't.
22004         (P_tmpdir, TMP_MAX, __GT_FILE, __GT_BIGFILE, __GT_DIR, __GT_NOCREATE):
22005         Define these macros if <stdio.h> doesn't.
22006         (S_ISDIR, S_IRUSR, S_IWUSR, S_IXUSR):
22007         Define these macros if <sys/stat.h>
22008         doesn't.  Ignore <sys/stat.h> S_ISDIR if STAT_MACROS_BROKEN.
22009         (stat64, __getpid, __gettimeofday, __mkdir, __open, __open64, lxstat64,
22010         __xstat64): Define if not _LIBC.
22011         (__secure_getenv): Define if ! (HAVE___SECURE_GETENV || _LIBC).
22012         (__gen_tempname): Invoke gettimeofday only if
22013         HAVE_GETTIMEOFDAY || _LIBC;
22014         otherwise, fall back on plain "time".
22015         Use macros like S_IRUSR | S_IWUSR rather than octal values like 0600.
22016
22017         * lib/mkstemp.c (__GT_FILE): Define to zero if not defined.
22018
22019         * lib/mkstemp.c, lib/tempname.c: New files, taken from glibc 2.2.2.
22020
22021 2001-02-18  Paul Eggert  <eggert@twinsun.com>
22022
22023         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for sys/resource.h.
22024
22025 2001-02-17  Paul Eggert  <eggert@twinsun.com>
22026
22027         * m4/mbrtowc.m4: New file, defining jm_FUNC_MBRTOWC.
22028         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH):
22029         Use jm_FUNC_MBRTOWC, not AC_CHECK_FUNCS(mbrtowc).
22030         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
22031
22032 2001-02-17  Paul Eggert  <eggert@twinsun.com>
22033
22034         * lib/mbswidth.c, quotearg.c (mbrtowc, mbsinit):
22035         Remove workaround macros for hosts that have mbrtowc but not
22036         mbstate_t, as we now insist on proper declarations for both
22037         before using mbrtowc.
22038
22039 2001-02-17  Jim Meyering  <meyering@lucent.com>
22040
22041         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Don't check for
22042         getmntent via AC_CHECK_FUNCS, since that would get a `no' and disrupt
22043         further attempts by AC_FUNC_GETMNTENT to check with e.g., -lgen on
22044         UnixWare 7.1.1.
22045
22046         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Adapt to use AC_CACHE_CHECK etc.,
22047         rather than AC_CACHE_VAL.
22048
22049 2001-02-17  Jim Meyering  <meyering@lucent.com>
22050
22051         * lib/strtoul.c: Sync from GNU libc.  Use double quotes, not <...>
22052         around included file name.
22053
22054         * lib/strnlen.c (__strnlen): Merge in a change from GNU libc.
22055
22056         * lib/strftime.c: Update from GNU libc (the only changes were to
22057         comments).
22058
22059 2001-02-17  Jim Meyering  <meyering@lucent.com>
22060
22061         * lib/regex.c: Update from libc.
22062
22063 2001-02-17  Bruno Haible  <haible@clisp.cons.org>
22064
22065         * lib/mbswidth.h (mbswidth): Also define as macro, to avoid prototype
22066         clash.
22067
22068 2001-02-16  Paul Eggert  <eggert@twinsun.com>
22069
22070         * lib/alloca.c (malloc): Undef before defining, since stdlib.h
22071         may have defined it.  Needed for Encore Umax-3.0.9.16b systems.
22072         Reported by Mark Hounschell via Paul Eggert.
22073
22074 2001-02-07  Jim Meyering  <meyering@lucent.com>
22075
22076         * m4/regex.m4 (jm_INCLUDED_REGEX): Add a test for the latest bug.
22077
22078 2001-02-05  Jim Meyering  <meyering@lucent.com>
22079
22080         * m4/jm-macros.m4: Require autoconf-2.14d (not yet released), because
22081         it includes the patch required for `large file' support with at least
22082         HP-UX's 10.20 /bin/cc.
22083
22084 2001-02-03  Jim Meyering  <meyering@lucent.com>
22085
22086         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Restore prior use of
22087         AS_IF, now that it works once again (mysteriously).
22088         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
22089
22090 2001-01-30  Jim Meyering  <meyering@lucent.com>
22091
22092         Don't use filenames that are 8.3-equivalent to "conftest" on DOS.
22093         * m4/chown.m4: Rename conftestchown to conftest.chown.
22094         * m4/rename.m4: s/conftestdir/conftest.d1/ and
22095         s/conftestdir2/conftest.d2/.
22096         * m4/utimes.m4: s/conftestdata/conftest.data/
22097         Inspired by Pavel Roskin's change in autoconf.
22098
22099 2001-01-30  Bruno Haible  <haible@clisp.cons.org>
22100
22101         * lib/config.charset: Update for FreeBSD 4.2.
22102
22103 2001-01-27  Jim Meyering  <meyering@lucent.com>
22104
22105         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Open-code what was
22106         a use of AS_IF.
22107         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
22108
22109 2001-01-26  Jim Meyering  <meyering@lucent.com>
22110
22111         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Check for stddef.h, now that
22112         quotearg.c includes it.
22113
22114 2001-01-26  Jim Meyering  <meyering@lucent.com>
22115
22116         * lib/quotearg.c: Include stddef.h.
22117         * lib/quote.c: Include stddef.h.
22118         Reported by Axel Kittenberger.
22119
22120         * lib/xmalloc.c [HAVE_DONE_WORKING_MALLOC_CHECK]: Enclose error-evoking
22121         line in double quotes so that it evokes a better diagnostic.
22122         [HAVE_DONE_WORKING_REALLOC_CHECK]: Likewise.
22123         Reported by Axel Kittenberger.
22124
22125 2001-01-24  Stefan Monnier  <monnier@cs.yale.edu>
22126
22127         * regex.c (mutually_exclusive_p): Don't blindly handle `charset_not'
22128         as if it was a `charset'.
22129
22130 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
22131
22132         * m4/iconv.m4 (jm_ICONV): Also check whether the iconv declaration
22133         has const.
22134
22135 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
22136
22137         * lib/unicodeio.c (print_unicode_char): Cast the second iconv() arg,
22138         to avoid a warning.  Add back 'const' to inptr.
22139
22140 2001-01-20  Jim Meyering  <meyering@lucent.com>
22141
22142         Be sure that headers are checked before used in code compiled
22143         for the type checks.
22144         * m4/jm-macros.m4 (jm_MACROS): Remove all header checks.
22145         In place of that, invoke jm_CHECK_ALL_TYPES.
22146         (jm_CHECK_ALL_HEADERS): New functions with the above checks.
22147         (jm_CHECK_ALL_TYPES): Require jm_CHECK_ALL_HEADERS.
22148         Alan Iwi reported a build failure on an f300-fujitsu-uxpv4.1_ES;
22149         The check for ssize_t was mistakenly run before the test for unistd.h.
22150
22151         The configure-time check for stdbool.h was missing.
22152         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_HASH.
22153         (jm_PREREQ_HASH): New function.
22154
22155 2001-01-17  Jim Meyering  <meyering@lucent.com>
22156
22157         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use AS_IF, not AS_IFELSE,
22158         for autoconf-2.49c.
22159         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Likewise.
22160
22161 2001-01-16  Jim Meyering  <meyering@lucent.com>
22162
22163         * lib/basename.c: Include <stdio.h>, needed by assert on SunOS 4.
22164         From Bruno Haible.
22165
22166 2001-01-14  Jim Meyering  <meyering@lucent.com>
22167
22168         * m4/rename.m4: Use temporary directories named conftestdir{,2}, not
22169         foo and bar.  Create conftestdir/ in the script, not in the C code.
22170         Remove directories in the script, not in the C code.
22171         Remove conftestdir{,2} before trying to create the directory.
22172         Make the entire configure script fail if the mkdir fails.
22173
22174 2001-01-14  Jim Meyering  <meyering@lucent.com>
22175
22176         * lib/rename.c: New file.  From Volker Borchert.
22177         Include stdlib.h, string.h or strings.h, and xalloc.h.
22178         Use strip_trailing_slashes rather than open-coding it.
22179
22180 2001-01-03  Paul Eggert  <eggert@twinsun.com>
22181
22182         * lib/strftime.c: Sync with glibc time/strftime.c 1.81.
22183
22184 2001-01-03  Jim Meyering  <meyering@lucent.com>
22185
22186         * lib/unicodeio.c (print_unicode_char): Remove `const' from declaration
22187         of local `inptr' to avoid warning with some system declarations of
22188         iconv.
22189
22190 2001-01-02  Volker Borchert  <bt@teknon.de>
22191
22192         * m4/rename.m4: New file.
22193         * m4/jm-macros.m4 (jm_MACROS): Require vb_FUNC_RENAME.
22194
22195 2001-01-01  Jim Meyering  <meyering@lucent.com>
22196
22197         * m4/prereq.m4 (jm_PREREQ_READUTMP): Include utmp.h (if available),
22198         even on systems with utmpx.h.  It's necessary for the declaration of
22199         utmp's ut_user member.  Reported by Andreas Jaeger.
22200
22201         * m4/check-decl.m4 (jm_CHECK_DECLS): Include grp.h and pwd.h if
22202         available. They are required for the declarations of getgrgid and
22203         getpwuid resp.
22204         (_jm_DECL_HEADERS): Check for grp.h and pwd.h.
22205         Reported by Andreas Jaeger.
22206
22207 2001-01-01  Alexandre Duret-Lutz  <duret_g@epita.fr>
22208
22209         * m4/libintl.m4 (AM_GNU_GETTEXT): Define MKINSTALLDIRS by
22210         expanding the value of $ac_aux_dir, as in AM_MISSING_HAS_RUN,
22211         so `make install' also works in VPATH builds.
22212
22213 2000-12-31  Alexandre Duret-Lutz  <duret_g@epita.fr>
22214
22215         * m4/libintl.m4 (AM_WITH_NLS): When using AC_CONFIG_AUX_DIR,
22216         prepend $(top_srcdir) to the value of MKINSTALLDIRS so that it
22217         can be used in subdirectories.
22218
22219 2000-12-29  Paul Eggert  <eggert@twinsun.com>
22220
22221         * lib/modechange.c: Do not assume that mode_t uses the
22222         traditional octal encoding.  E.g. "chmod 1 FOO" should set
22223         the other-execute bit of FOO even if S_IXOTH != 1.
22224
22225         (SUID, SGID, SVTX, RUSR, WUSR, XUSR, RGRP, WGRP, XGRP, ROTH,
22226         WOTH, XOTH, ALLM): New macros.
22227         (S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR,
22228          S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH):
22229         Use them.
22230         (S_ISGID): Fix typo; it was defaulting to the same value as S_ISUID.
22231         (S_IRWXU, S_IRWXG, S_IRWXO): Specify defaults in terms of the above.
22232         (mode_compile):
22233         No need to use uintmax_t; unsigned long is long enough.
22234         Don't bother to get suffix since we don't use it.
22235
22236 2000-12-26  Jim Meyering  <meyering@lucent.com>
22237
22238         * m4/dos.m4 (jm_AC_DOS): Rewrite (though it's still a stub) to work
22239         better with autoheader.
22240
22241 2000-12-24  Jim Meyering  <meyering@lucent.com>
22242
22243         * lib/hash.c (is_prime): Return explicit boolean values.
22244         (hash_get_first): Return NULL to appease Irix5.6's 89.
22245         Reported by Nelson Beebe.
22246
22247 2000-12-19  Bruno Haible  <haible@clisp.cons.org>
22248
22249         * lib/localcharset.c (locale_charset): Add support for Win32.
22250
22251 2000-12-18  Paul Eggert  <eggert@twinsun.com>
22252
22253         * lib/physmem.h, lib/physmem.c: New files.
22254
22255         * lib/Makefile.am (libfetish_a_SOURCES): Add physmem.c.
22256         (noinst_HEADERS): Add physmem.h.
22257
22258         * lib/xstrtol.c (__xstrtol): Add undocumented suffixes 'g' and
22259         't' for compatibility with Solaris 8 sort.
22260
22261 2000-12-18  Bruno Haible  <haible@clisp.cons.org>
22262
22263         * lib/config.charset: Add support for BeOS.
22264
22265 2000-12-17  Jim Meyering  <meyering@lucent.com>
22266
22267         * m4/dos.m4 (jm_AC_DOS): New file and macro.
22268         * m4/jm-macros.m4 (jm_MACROS): Require jm_AC_DOS.
22269
22270 2000-12-16  Jim Meyering  <meyering@lucent.com>
22271
22272         This bug had a serious impact on chown: `chown N:M FILE' (for integer
22273         N and M) would have treated it like `chown N:N FILE'.
22274
22275         * lib/userspec.c (parse_user_spec): Fix typo: s/u/g/.
22276
22277 2000-12-16  Jim Meyering  <meyering@lucent.com>
22278
22279         * lib/getusershell.c [!SHELLS_FILE && __DJGPP__]: Define
22280         SHELLS_FILE to a file name that's useful on djgpp systems.
22281         Include stdlib.h.
22282         (ADDITIONAL_DEFAULT_SHELLS): Define.
22283         (default_shells): Prepend ADDITIONAL_DEFAULT_SHELLS.
22284         Based mostly on a patch from Prashant TR.
22285
22286 2000-12-16  Bruno Haible  <haible@clisp.cons.org>
22287
22288         * lib/config.charset: Add ISO-8859-3, BIG5HKSCS, GB18030, JOHAB,
22289         VISCII, CP874, CP949, CP950, CP1250, CP1253, CP1254, CP1255, CP1256,
22290         CP1257 to the list of canonical encodings. Rename EUC-CN to GB2312.
22291
22292 2000-12-08  Andreas Schwab  <schwab@suse.de>
22293
22294         * lib/mbswidth.c (mbsnwidth): Don't loop endlessly when called with an
22295         invalid mulitbyte sequence and with the MBSW_ACCEPT_INVALID flag set.
22296
22297 2000-12-07  Jim Meyering  <meyering@lucent.com>
22298
22299         * lib/stripslash.c (ISSLASH): Define.
22300         (strip_trailing_slashes): Use ISSLASH rather than comparing against
22301         `/'.
22302         From Prashant TR.
22303
22304         * lib/dirname.c (FILESYSTEM_PREFIX_LEN): Define.
22305         (dir_name_r): Declare this function as static.
22306         [BACKSLASH_IS_PATH_SEPARATOR]: Fix a bug that'd
22307         manifest itself on a name containing a mix of slashes and
22308         backslashes.
22309         Make this function work with names starting with a DOS-style
22310         drive letter and colon prefix.
22311         (dir_name): Append `.' if necessary.
22312         Based mostly on patches from Prashant TR and Eli Zaretskii.
22313
22314         * lib/dirname.h (dir_name_r): Remove prototype.
22315
22316 2000-12-06  Paul Eggert  <eggert@twinsun.com>
22317
22318         * m4/off_t-format.m4: Remove this file.
22319         * m4/jm-macros.m4 (jm_MACROS): Remove jm_SYS_OFF_T_PRINTF_FORMAT.
22320
22321 2000-12-06  Jim Meyering  <meyering@lucent.com>
22322
22323         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): If we need the
22324         replacement strtoull, we may well need the replacement strtoul, too.
22325         Check for declarations of strtoul and strtoull.
22326         Check for strtol.  Mainly as a cue to cause automake to include
22327         strtol.c -- that file is included by each of strtoul.c and strtoull.c.
22328         Check for limits.h -- strtol.c needs it.
22329
22330 2000-12-05  Jim Meyering  <meyering@lucent.com>
22331
22332         * lib/dirname.c (dir_name_r): Add `const' in a few local declarations.
22333
22334 2000-12-04  Jim Meyering  <meyering@lucent.com>
22335
22336         * lib/path-concat.c: [!HAVE_DECL_MALLOC]: Declare malloc.
22337         Also include memory.h, stdlib.h, unistd.h if appropriate.
22338         Reported by Andreas Jaeger (conflicting declaration of malloc).
22339
22340 2000-12-02  Jim Meyering  <meyering@lucent.com>
22341
22342         * m4/off_t-format.m4 (OFF_T_PRINTF_FORMAT_STRING): New file/macro.
22343         * m4/jm-macros.m4 (jm_MACROS): require it.
22344
22345 2000-12-02  Jim Meyering  <meyering@lucent.com>
22346
22347         * lib/closeout.h: Make idempotent, to avoid some obscure warnings.
22348
22349 2000-12-01  Paul Eggert  <eggert@twinsun.com>
22350
22351         * lib/memrchr.c: Include <config.h> before any system include file.
22352
22353 2000-11-30  Jim Meyering  <meyering@lucent.com>
22354
22355         * m4/jm-macros.m4 (jm_MACROS): Check for stdint.h.
22356
22357 2000-11-30  Jim Meyering  <meyering@lucent.com>
22358
22359         * m4/getloadavg.m4: s/ifval/m4_ifval/ to accommodate new autoconf.
22360
22361 2000-11-29  Paul Eggert  <eggert@twinsun.com>
22362
22363         * lib/dirname.c (dir_name_r): Fix typo: int -> size_t.
22364
22365 2000-11-26  Jim Meyering  <meyering@lucent.com>
22366
22367         * lib/memcoll.c: Include sys/types.h.  From Werner Almesberger.
22368
22369 2000-11-22  Paul Eggert  <eggert@twinsun.com>
22370
22371         * lib/strftime.c (my_strftime): Do not invoke mbrlen with a
22372         size of (size_t) -1; it's not portable.
22373
22374 2000-11-17  Jim Meyering  <meyering@lucent.com>
22375
22376         * lib/strstr.c: Update from GNU libc.
22377
22378 2000-11-17  Akim Demaille  <akim@epita.fr>
22379
22380         * lib/obstack.h: Formatting changes.
22381         (obstack_grow, obstack_grow0): Don't cast WHERE at all: that would
22382         prevent type checking.
22383         (obstack_ptr_grow, obstack_ptr_grow_fast): When assigning, don't
22384         cast the value to (void *): assigning a `foo *' to a `void *'
22385         variable is valid.
22386         (obstack_int_grow, obstack_int_grow_fast): Don't cast AINT to int.
22387
22388 2000-11-16  Jim Meyering  <meyering@lucent.com>
22389
22390         * lib/strverscmp.c: Incorporate weak-alias-related changes from glibc.
22391
22392 2000-11-11  Jim Meyering  <meyering@lucent.com>
22393
22394         * lib/error.c: Add a couple #includes, merging from GNU libc version.
22395
22396 2000-11-10  Jim Meyering  <meyering@lucent.com>
22397
22398         * lib/obstack.h: Update from GNU libc.
22399         * lib/obstack.c: Likewise.
22400
22401 2000-11-08  Bruno Haible  <haible@clisp.cons.org>
22402
22403         * m4/jm-macros.m4 (jm_MACROS): Add test for wcrtomb.
22404
22405 2000-11-06  Paul Eggert  <eggert@twinsun.com>
22406
22407         * lib/getusershell.c (setusershell): Use rewind rather than
22408         fseek/fseeko, to avoid configuration hassles with fseeko.
22409         Don't bother opening SHELLS_FILE if shellstream is NULL;
22410         it's not necessary.
22411
22412 2000-11-05  Jim Meyering  <meyering@lucent.com>
22413
22414         * lib/makepath.h (make_dir): Declare.
22415         * lib/makepath.c (make_dir): Remove `static' attribute.
22416         Tweak a comment.
22417
22418 2000-11-04  Jim Meyering  <meyering@lucent.com>
22419
22420         * m4/regex.m4: Use the `m4_' prefix on `syscmd' and `m4_sysval'.
22421
22422 2000-11-04  Alexandre Duret-Lutz  <duret_g@epita.fr>
22423
22424         * lib/hash.c (hash_get_next): Fix a thinko:  when ENTRY is the
22425         last one in a bucket, advance to the next bucket.
22426
22427 2000-11-02  Vesselin Atanasov  <vesselin@bgnet.bg>
22428
22429         * lib/fnmatch.c: Do not comment out all the code if we are using
22430         the GNU C library, because in some cases we are replacing buggy
22431         code in the GNU C library itself.
22432
22433 2000-10-30  Stefan Monnier  <monnier@cs.yale.edu>
22434
22435         * regex.c (re_iswctype, re_wctype_to_bit): Fix braino.
22436         (regex_compile): Catch bogus \(\1\).
22437
22438 2000-10-30  Paul Eggert  <eggert@twinsun.com>
22439
22440         * lib/fnmatch.c (FOLD): Do not assume that characters are unsigned.
22441         (fnmatch): Fix some FNM_FILE_NAME and FNM_LEADING_DIR bugs,
22442         e.g. fnmatch("d*/*1", "d/s/1", FNM_FILE_NAME) incorrectly yielded zero.
22443
22444 2000-10-30  Paul Eggert  <eggert@twinsun.com>
22445
22446         * lib/error.h, getline.h, modechange.h:
22447         Remove "2000" from Copyright line, as the file hasn't been
22448         changed this year other than in the copyright notice.
22449
22450         * lib/xalloc.h: Add "2000" to Copyright line, as this file
22451         was changed this year.
22452
22453 2000-10-29  Jim Meyering  <meyering@lucent.com>
22454
22455         * m4/fsusage.m4: s/AC_SHELL_IFELSE/AS_IFELSE/ to match autoconf
22456         renaming.
22457         * m4/ls-mntd-fs.m4: Likewise
22458
22459 2000-10-29  Jim Meyering  <meyering@lucent.com>
22460
22461         * lib/xstat.in: Fix grammar in comment.
22462
22463 2000-10-29  Greg Louis  <glouis@dynamicro.on.ca>
22464
22465         * lib/regex.h (__restrict_arr): Move definition out of #ifndef block.
22466         Required because egcs-2.91.66 (aka 1.1.2) defines __restrict, but
22467         doesn't define __restrict_arr.
22468
22469 2000-10-28  Jim Meyering  <meyering@lucent.com>
22470
22471         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_MEMCHR.
22472         (jm_PREREQ_MEMCHR): New function.
22473
22474 2000-10-28  Jim Meyering  <meyering@lucent.com>
22475
22476         * lib/memchr.c: Update from libc.
22477         Adjust for portability:
22478         [HAVE_STDLIB_H]: Include stdlib.h.
22479         [HAVE_BP_SYM_H || _LIBC]: Guard inclusion of bp-sym.h.
22480         Undef __memchr, too.
22481         [!weak_alias]: Define __memchr to memchr.
22482
22483         * lib/regex.c: Update from libc.
22484         * lib/regex.h: Likewise.
22485         * lib/getopt1.c: Likewise.
22486         * lib/memcmp.c: Likewise.
22487
22488         * lib/getusershell.c (setusershell) [HAVE_FSEEKO]: Use fseeko.
22489         Avoid using fseek, when possible -- it's broken by design.
22490         Patch by Ulrich Drepper.
22491
22492 2000-10-27  Stefan Monnier  <monnier@cs.yale.edu>
22493
22494         * regex.c (POP_FAILURE_REG_OR_COUNT, re_match_2_internal)
22495         (re_match_2_internal, re_match_2_internal, re_match_2_internal):
22496         Giving in to popular pressure to shut up the compiler with casts.
22497
22498 2000-10-26  Jim Meyering  <meyering@lucent.com>
22499
22500         * lib/strftime.c: Update from libc.
22501
22502 2000-10-25  Stefan Monnier  <monnier@cs.yale.edu>
22503
22504         * regex.c: More `unsigned char' -> `re_char' changes.
22505         Also change several `int' into `re_wchar_t'.
22506         (PATTERN_STACK_EMPTY, PUSH_PATTERN_OP, POP_PATTERN_OP): Remove.
22507         (PUSH_FAILURE_POINTER): Don't cast any more.
22508         (POP_FAILURE_REG_OR_COUNT): Remove the cast that strips `const'.
22509         We want GCC to complain, since this piece of code makes
22510         re_match non-reentrant, which *should* be fixed.
22511         (GET_BUFFER_SPACE): Use size_t rather than unsigned long.
22512         (EXTEND_BUFFER): Use RETALLOC.
22513         (SET_LIST_BIT): Don't cast.
22514         (re_wchar_t): New type.
22515         (re_iswctype, re_wctype_to_bit): Make it crystal clear to GCC
22516         that those two functions will always properly return.
22517         (IMMEDIATE_QUIT_CHECK): Cast to void.
22518         (analyse_first): Use recursion rather than an explicit stack.
22519         (re_compile_fastmap): Can't fail anymore.
22520         (re_search_2): Don't check re_compile_fastmap for failure.
22521         (PUSH_NUMBER): Renamed from PUSH_FAILURE_COUNT.
22522         Now also sets the new value (passed in a new argument).
22523         (re_match_2_internal): Use it.
22524         Also, use a new var `reg' of type size_t when looping through regs
22525         rather than reuse the inappropriate `mcnt'.
22526
22527 2000-10-25  Jim Meyering  <meyering@lucent.com>
22528
22529         * lib/obstack.c: Update from libc.
22530
22531 2000-10-24  Kenichi Handa  <handa@etl.go.jp>
22532
22533         * regex.c (regex_compile): Change the way of handling a range from
22534         a char less than 256 to a char not less than 256.
22535
22536 2000-10-24  Andrew Innes  <andrewi@gnu.org>
22537
22538         * regex.c (IMMEDIATE_QUIT_CHECK): New macro, which does QUIT on
22539         NT-Emacs only.
22540         (re_match_2_internal): Use IMMEDIATE_QUIT_CHECK instead of QUIT,
22541         so that re_search functions only quit when callers expect them to.
22542
22543 2000-10-23  Jim Meyering  <meyering@lucent.com>
22544
22545         * lib/hard-locale.c (hard_locale): Revert last change -- it was simply
22546         wrong.  That set_locale call must not have any side effects.
22547         From Paul Eggert.
22548
22549 2000-10-22  Jim Meyering  <meyering@lucent.com>
22550
22551         * lib/md5.c (md5_process_block) [OP]: Use `rol', not CYCLIC.
22552         [CYCLIC]: Remove now-unused definition.
22553
22554         * lib/save-cwd.c (O_DIRECTORY): Define, if needed.
22555         (save_cwd) [HAVE_FCHDIR]: Use O_DIRECTORY when opening ".".
22556         Suggestion from Ulrich Drepper.
22557
22558 2000-10-21  Jim Meyering  <meyering@lucent.com>
22559
22560         * m4/check-decl.m4 (jm_CHECK_DECLS): Also check for memrchr.
22561         * m4/prereq.m4 (jm_PREREQ_DIRNAME): New macro.
22562         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memrchr.
22563
22564 2000-10-21  Jim Meyering  <meyering@lucent.com>
22565
22566         * lib/dirname.c (memrchr): Declare if necessary.
22567         (dir_name): Remove the restriction that there be no
22568         trailing slashes.  Now, this code skips past them, effectively
22569         ignoring them.
22570         [TEST_DIRNAME] (main): New unit tests.
22571
22572         * lib/memrchr.c: New file from GNU libc.
22573         Undef __memrchr, too.
22574         [!weak_alias]: Define __memrchr to memrchr.
22575         Guard weak_alias use with `#ifdef weak_alias'.
22576
22577 2000-10-21  Jim Meyering  <meyering@lucent.com>
22578
22579         * lib/dirname.c (dir_name_r): New function, factored out of dir_name.
22580         (dir_name): Use dir_name_r.
22581         * lib/dirname.h (dir_name_r): Declare it.
22582
22583 2000-10-17  Jim Meyering  <meyering@lucent.com>
22584
22585         * lib/quote.h (PARAMS): Define and use.
22586         Reported by Akim Demaille.
22587
22588         * lib/getopt.c: Update from libc.
22589
22590 2000-10-16  Jim Meyering  <meyering@lucent.com>
22591
22592         * lib/hard-locale.c (hard_locale): Use "", not 0 as 2nd arg to
22593         setlocale.
22594         From Jan Fedak.
22595
22596 2000-10-15  Stefan Monnier  <monnier@cs.yale.edu>
22597
22598         * regex.c (WIDE_CHAR_SUPPORT): Define if _LIBC as well.
22599
22600 2000-09-25  Jim Meyering  <meyering@lucent.com>
22601
22602         * lib/md5.h (rol): Define (from GnuPG).
22603
22604         * lib/sha.c: Give credit (GnuPG) where due.
22605         (M): Use rol rather than open-coding it.
22606         Add a FIXME comment.
22607
22608 2000-09-21  Jim Meyering  <meyering@lucent.com>
22609
22610         * lib/userspec.c (parse_user_spec): Remove debugging printf I'd added.
22611         Reported by Michael Stone.
22612
22613 2000-09-20  Jim Meyering  <meyering@lucent.com>
22614
22615         * lib/Makefile.am (libfetish_a_SOURCES): Add sha.c.
22616         (noinst_HEADERS): Add sha.h.
22617         Based on code from Scott G. Miller and from GnuPG.
22618
22619 2000-09-18  Jim Meyering  <meyering@lucent.com>
22620
22621         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Restore the initial value of
22622         LIBS. Otherwise, everyone ends up linking with -lelf for some
22623         configurations.
22624         Reported by Mike Stone.
22625
22626 2000-09-15  Jim Meyering  <meyering@lucent.com>
22627
22628         * lib/regex.c: Update from libc.
22629
22630 2000-09-10  Jim Meyering  <meyering@lucent.com>
22631
22632         * lib/getopt.c (_getopt_internal): Update from glibc.
22633
22634 2000-09-09  Jim Meyering  <meyering@lucent.com>
22635
22636         * lib/quotearg.c: Rename ISASCII to IN_CTYPE_DOMAIN, so people don't
22637         think it should be used as a general replacement for isascii.
22638         * lib/fnmatch.c: Likewise.
22639         * lib/mbswidth.c: Likewise
22640         * lib/regex.c: Likewise.
22641
22642         Don't use atoi.
22643         * lib/userspec.c: Include sys/param.h and limits.h.
22644         Include xstrtol.h.
22645         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
22646         (UID_T_MAX, GID_T_MAX, MAXUID, MAXGID): Define.
22647         (parse_user_spec): Use xstrtoul, not atoi when converting numeric
22648         UID, GID.  Check range.
22649
22650 2000-09-06  Jim Meyering  <meyering@lucent.com>
22651
22652         * lib/getopt.c (_getopt_internal): Update from glibc.
22653
22654 2000-08-30  Jim Meyering  <meyering@lucent.com>
22655
22656         * lib/strftime.c: Merge in changes from GNU libc.
22657
22658 2000-08-26  Jim Meyering  <meyering@lucent.com>
22659
22660         * m4/jm-macros.m4: Use jm_FUNC_FPENDING.
22661         * m4/fpending.m4: New file.
22662
22663 2000-08-26  Jim Meyering  <meyering@lucent.com>
22664
22665         * lib/closeout.c: Include "__fpending.h".
22666         (close_stdout_status): Return right away if there's nothing to flush.
22667
22668         * lib/Makefile.am (noinst_HEADERS): Add __fpending.h.
22669         * lib/__fpending.c: New file.
22670         * lib/__fpending.h: New file.
22671
22672 2000-08-20  Jim Meyering  <meyering@lucent.com>
22673
22674         * m4/check-decl.m4: Include utmp.h `#if HAVE_UTMP_H', rather than
22675         `#if !HAVE_UTMPX_H'.  The latter would lose on systems with neither
22676         utmp.h nor utmpx.h.  Reported by Eli Zaretskii.
22677
22678 2000-08-11  J. David Anglin  <dave@hiauly1.hia.nrc.ca>
22679
22680         Improve fileutils installation on systems where running
22681         programs (like install) can't be unlinked.
22682         * m4/unlink-busy.m4 (jm_FUNC_UNLINK_BUSY_TEXT): New file/macro.
22683         * m4/jm-macros.m4: Use jm_FUNC_UNLINK_BUSY_TEXT.
22684
22685 2000-08-07  Paul Eggert  <eggert@twinsun.com>
22686
22687         Standardize on "memory exhausted" instead of "Memory exhausted"
22688         or "virtual memory exhausted".
22689         * lib/obstack.c (print_and_abort): Use "memory exhausted", not
22690         "virtual memory exhausted".
22691         * lib/same.c (same_name): Invoke xalloc_die instead of printing
22692         our own message.
22693         * lib/userspec.c (parse_user_spec): Likewise.
22694         * lib/bumpalloc.h: comment fix
22695         * lib/same.c, userspec.c: Include xalloc.h.
22696
22697         * lib/xalloc.h (xalloc_msg_memory_exhausted): Now char const[],
22698         not char *const and pointing to a constant array.
22699         * lib/xmalloc.c (xalloc_msg_memory_exhausted): Likewise.
22700         (xrealloc): Comment fix.
22701
22702         * lib/userspec.c (parse_user_spec):
22703         Don't translate a message until just before returning,
22704         to avoid unnecessary translation.
22705
22706 2000-08-07  Jim Meyering  <meyering@lucent.com>
22707
22708         * lib/addext.c, argmatch.c, argmatch.h, backupfile.h, bumpalloc.h,
22709         chown.c, diacrit.h, dirname.h, dup2.c, exclude.h, fileblocks.c,
22710         fnmatch.c, fnmatch.h, fsusage.c, fsusage.h, getdate.h,
22711         getgroups.c, gethostname.c, getopt.h, group-member.c,
22712         hard-locale.c, hash.h, isdir.c, lchown.c, linebuffer.c,
22713         linebuffer.h, long-options.h, malloc.c, md5.c, md5.h, memchr.c,
22714         memcmp.c, memcoll.c, memset.c, mktime.c, modechange.h, obstack.h,
22715         pathmax.h, realloc.c, rmdir.c, safe-read.c, save-cwd.c, stime.c,
22716         stpcpy.c, strcasecmp.c, strcspn.c, strdup.c, stripslash.c,
22717         strstr.c, strtod.c, strtol.c, strtoul.c, strtoull.c, strtoumax.c,
22718         utime.c, version-etc.h, xalloc.h, xstrdup.c, xstrtoumax.c,
22719         yesno.c: Back out Copyright date changes for each file with no change
22720         this year.  This eases coordination with other programs using the same
22721         source code modules.  From Paul Eggert.
22722
22723 2000-08-06  Paul Eggert  <eggert@twinsun.com>
22724
22725         * m4/mbstate_t.m4 (AC_MBSTATE_T): Define mbstate_t to be int,
22726         not char, for compatibility with glibc 2.1.3 strftime.c.
22727
22728 2000-08-03  Greg McGary  <greg@mcgary.org>
22729
22730         * lib/regex.c (SET_HIGH_BOUND, MOVE_BUFFER_POINTER,
22731         ELSE_EXTEND_BUFFER_HIGH_BOUND): New macros.
22732         (EXTEND_BUFFER): Use them.
22733
22734 2000-08-01  Jim Meyering  <meyering@lucent.com>
22735
22736         * lib/dirname.c (ISSLASH): Define.
22737         (BACKSLASH_IS_PATH_SEPARATOR): Define.
22738         (dir_name) [BACKSLASH_IS_PATH_SEPARATOR]: Handle the case in which
22739         both `\' and `/' may be use as path separators.
22740         Based on a patch from Prashant TR.
22741
22742 2000-07-31  Paul Eggert  <eggert@twinsun.com>
22743
22744         * lib/quotearg.c (quotearg_n_options): Don't make the initial
22745         slot vector a constant, since it might get modified.
22746
22747 2000-07-31  Jim Meyering  <meyering@lucent.com>
22748
22749         * lib/xmalloc.c: Use `virtual memory exhausted', not
22750         `Memory exhausted'.
22751         * lib/obstack.c (print_and_abort): Likewise.
22752
22753 2000-07-30  Paul Eggert  <eggert@twinsun.com>
22754
22755         * lib/quotearg.c (quotearg_n_options): Preallocate a slot 0
22756         buffer, so that the caller can always quote one small
22757         component of a "memory exhausted" message in slot 0.
22758         From a suggestion by Jim Meyering.
22759
22760 2000-07-30  Jim Meyering  <meyering@lucent.com>
22761
22762         * lib/makepath.c (make_path): Quote the other instance, too.
22763
22764         * lib/quotearg.c (N_STATIC_SLOTVECS): Define.
22765         (STATIC_BUF_SIZE): Define.
22766         (quotearg_n_options): Use only statically allocated storage when
22767         N < N_STATIC_SLOTVECS and the length of the quoted result is smaller
22768         than STATIC_BUF_SIZE.
22769
22770 2000-07-29  Jim Meyering  <meyering@lucent.com>
22771
22772         * lib/diacrit.c (diacrit_diac): Use __MSDOS__ in favor of MSDOS.
22773         * lib/dirname.c (dir_name): Likewise.
22774
22775         * lib/basename.c (base_name): Use ISSLASH rather than comparing against
22776         `/'.
22777
22778         * lib/dirname.c (dir_name) [MSDOS]: Declare `lim' to be const.
22779         (dir_name): Assert that there are no trailing slashes.
22780
22781 2000-07-29  Bruno Haible  <haible@clisp.cons.org>
22782
22783         * lib/mbswidth.h (mbswidth): Add a flags argument.
22784         (mbswidth): New declaration.
22785         (MBSW_ACCEPT_INVALID, MBSW_ACCEPT_UNPRINTABLE): New macros.
22786         * lib/mbswidth.c (mbswidth): Add a flags argument.
22787         (mbsnwidth): New function.
22788
22789 2000-07-24  Jim Meyering  <meyering@lucent.com>
22790
22791         * lib/mbswidth.c: Remove useless #else.  From Bruno Haible.
22792
22793 2000-07-23  Paul Eggert  <eggert@twinsun.com>
22794
22795         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Check for wcwidth declaration.
22796
22797 2000-07-23  Paul Eggert  <eggert@twinsun.com>
22798
22799         * lib/quotearg.c: Streamline by invoking multibyte code only if needed.
22800         <wchar.h>: Include only if HAVE_MBRTOWC && 1 < MB_LEN_MAX.
22801         (MB_CUR_MAX): Redefine to 1 if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX).
22802         (quotearg_buffer_restyled): If a unibyte locale, don't bother to
22803         invoke multibyte primitives.
22804
22805 2000-07-23  Paul Eggert  <eggert@twinsun.com>
22806
22807         * lib/quotearg.c:
22808         Include <wchar.h> even if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX),
22809         so that mbstate_t is always defined.
22810
22811         Do not inspect MB_LEN_MAX, since it's incorrectly defined to
22812         be 1 in at least one GCC installation, and this configuration
22813         error is likely to be common.  Ignoring MB_LEN_MAX hurts
22814         performance on hosts that have mbrtowc but have only unibyte
22815         locales, but I assume these hosts are rare.
22816
22817 2000-07-23  Paul Eggert  <eggert@twinsun.com>
22818
22819         * lib/mbswidth.c (_XOPEN_SOURCE):
22820         Don't define; this causes problems on Solaris 7.
22821         (wcwidth) [!HAVE_DECL_WCWIDTH]: Declare.
22822
22823 2000-07-23  Jim Meyering  <meyering@lucent.com>
22824
22825         * m4/check-decl.m4 (jm_CHECK_DECLS): Check for declarations of these,
22826         too: getgrgid, getpwuid, getuid.
22827
22828 2000-07-23  Jim Meyering  <meyering@lucent.com>
22829
22830         * lib/basename.c (base_name): Add an assertion.
22831
22832 2000-07-23  Bruno Haible  <haible@clisp.cons.org>
22833
22834         * lib/quotearg.c: When the system forces us to redefine mbstate_t,
22835         shadow its mbsinit function.
22836
22837 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
22838
22839         * lib/mbswidth.h: New file.
22840         * lib/mbswidth.c: New file.
22841         * lib/Makefile.am (libfetish_a_SOURCES): Add mbswidth.c.
22842         (noinst_HEADERS): Add mbswidth.h.
22843
22844 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
22845
22846         * lib/config.charset: Add support for FreeBSD. Improve support for
22847         HP-UX and IRIX 6.
22848
22849 2000-07-16  Bruno Haible  <haible@clisp.cons.org>
22850
22851         * m4/mbswidth.m4: New file.
22852         * m4/prereq.m4 (jm_PREREQ): Call jm_PREREQ_MBSWIDTH.
22853
22854 2000-07-15  Jim Meyering  <meyering@lucent.com>
22855
22856         * lib/makepath.c: Include quote.h.
22857         (make_path): Convert "`%s'" in format strings to "%s", and wrap each
22858         corresponding argument in a `quote (...)' call.
22859         Give better diagnostics.
22860
22861         * lib/Makefile.am (libfetish_a_SOURCES): Add quote.c.
22862         (noinst_HEADERS): Add quote.h.
22863
22864         * lib/quote.c (quote, quote_n): New file.  Two functions taken verbatim
22865         from tar's src/misc.c.
22866         * lib/quote.h: New file.  Prototypes for same.
22867
22868 2000-07-14  Paul Eggert  <eggert@twinsun.com>
22869
22870         From a suggestion by Bruno Haible.
22871         * lib/quotearg.c (mbrtowc): Do not use HAVE_WCHAR_H in the definition.
22872         Use defined mbstate_t, not HAVE_MBSTATE_T_OBJECT,
22873         to decide whether to define the BeOS workaround macro;
22874         this adjusts to the change to AC_MBSTATE_T.
22875
22876 2000-07-14  Jim Meyering  <meyering@lucent.com>
22877
22878         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Require
22879         jm_AC_TYPE_UINTMAX_T.
22880
22881 2000-07-13  Paul Eggert  <eggert@twinsun.com>
22882
22883         * lib/quotearg.h (enum quoting style): New enum clocale_quoting_style.
22884
22885         * lib/quotearg.c (quoting_style_args, quoting_style_vals,
22886         quotearg_buffer_restyled): Add support for
22887         clocale_quoting_style.  Undo previous change to
22888         locale_quoting_style behavior, and undo the "{LEFT QUOTATION MARK}"
22889         and "{RIGHT QUOTATION MARK}" msgids.
22890
22891 2000-07-10  Paul Eggert  <eggert@twinsun.com>
22892
22893         From a suggestion by Bruno Haible.
22894         * m4/mbstate_t.m4 (AC_MBSTATE_T):
22895         Renamed from AC_MBSTATE_T_OBJECT.  All uses changed.
22896         Change from a two-part test, which defines both HAVE_MBSTATE_T_OBJECT
22897         and mbstate_t, to a single-part test that simply defines mbstate_t.
22898         * m4/prereq.m4 (jm_PREREQ_QUOTEARG):
22899         s/AC_MBSTATE_T_OBJECT/AC_MBSTATE_T/.
22900
22901 2000-07-10  Jim Meyering  <meyering@lucent.com>
22902
22903         * m4/strerror_r.m4: Mirror the correction made in autoconf.
22904
22905         * m4/gnu-source.m4: Output to confdefs.h directly.
22906         Suggestion from Akim Demaille.
22907
22908 2000-07-09  Paul Eggert  <eggert@twinsun.com>
22909
22910         The old behavior of quoting `like this' doesn't look good with
22911         newer, ISO-style fonts.  See:
22912         http://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html
22913
22914         Instead, quote "like this" by default.  Let the translator
22915         tailor the locale-specific quoting behavior by providing
22916         translations for {LEFT QUOTATION MARK} and {RIGHT QUOTATION MARK}.
22917
22918         * lib/quotearg.c (N_): New macro.
22919         (gettext_default): New function.
22920         (quotearg_buffer_restyled): Use
22921         gettext_default ("{LEFT QUOTATION MARK}", "\"") for left quote, and
22922         gettext_default ("{RIGHT QUOTATION MARK}", "\"") for right quote.
22923
22924 2000-07-09  Jim Meyering  <meyering@lucent.com>
22925
22926         * m4/jm-macros.m4 (jm_MACROS): Add a test to see if -lm is required
22927         to link seq.  If so, set SEQ_LIBM to -lm.  From Bruno Haible.
22928
22929         * m4/gnu-source.m4 (AC__GNU_SOURCE): New file/macro.
22930         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require it.
22931
22932 2000-07-09  Jim Meyering  <meyering@lucent.com>
22933
22934         * lib/Most files: Update copyright dates to include 2000.
22935
22936 2000-07-08  Jim Meyering  <meyering@lucent.com>
22937
22938         * lib/xgethostname.c (ENAMETOOLONG): Define to an unlikely value
22939         if not defined.
22940         (xgethostname): Remove now-unnecessary #ifdef.
22941         Move declaration of `err' into loop where it's used.
22942
22943 2000-07-05  Paul Eggert  <eggert@twinsun.com>
22944         and Bruno Haible  <haible@clisp.cons.org>
22945
22946         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Test for mbstate_t
22947         only if the test for an object-type mbstate_t fails.  This
22948         prevents us from mistakenly reporting that mbstate_t is a
22949         system object type after we "#define mbstate_t int" to work
22950         around its lack.
22951
22952 2000-07-05  Paul Eggert  <eggert@twinsun.com>
22953         and Bruno Haible  <haible@clisp.cons.org>
22954
22955         * lib/quotearg.c (mbrtowc): Declare returned type, since BeOS doesn't.
22956
22957 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
22958
22959         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Pass a reasonably large buffer
22960         to strerror_r.
22961         Include <ctype.h> for use of isalpha.
22962
22963 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
22964
22965         * lib/xgethostname.c (xgethostname): Protect against the SunOS 5.5 bug
22966         by allocating a larger buffer. Test the gethostname return value for
22967         being >= 0, not == 0, for BeOS.  Don't exhaust memory if gethostname
22968         returns an error and ENAMETOOLONG isn't defined.
22969
22970 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
22971
22972         * lib/quotearg.c (struct quoting_options): Simplify quote_these_too
22973         dimension.
22974
22975 2000-07-04  Jim Meyering  <meyering@lucent.com>
22976
22977         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use plain old `echo' instead
22978         of the deprecated AC_CHECKING.
22979
22980 2000-07-04  Jim Meyering  <meyering@lucent.com>
22981
22982         * lib/strndup.c: [!HAVE_DECL_STRNLEN]: Declare strnlen.
22983         Reported by Bruno Haible.
22984
22985 2000-07-04  Jim Meyering  <meyering@lucent.com>
22986
22987         * lib/quotearg.c: Make inclusion of <wchar.h> independent of whether
22988         HAVE_MBRTOWC is set.  Required at least for irix-5.6, which
22989         lacks mbrtowc.
22990
22991 2000-07-03  Paul Eggert  <eggert@twinsun.com>
22992
22993         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Port to autoconf 2.13.
22994         Add AC_CHECK_HEADERS(stdlib.h), since we use HAVE_STDLIB_H.
22995
22996 2000-07-03  Paul Eggert  <eggert@twinsun.com>
22997         and Bruno Haible  <haible@clisp.cons.org>
22998
22999         * lib/quotearg.c (mbrtowc):
23000         Assign to *pwc, and return 1 only if result is nonzero.
23001         (iswprint): Use ISPRINT when substituting our own mbrtowc.
23002
23003 2000-07-03  Jim Meyering  <meyering@lucent.com>
23004
23005         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strnlen.
23006
23007 2000-07-03  Jim Meyering  <meyering@lucent.com>
23008
23009         * lib/readutmp.h: [HAVE_UTMPX_H]: Include <utmp.h> if HAVE_UTMP_H.
23010         This is necessary to get a definition of e.g., UTMP_FILE on
23011         HP-UX 10.20.
23012         From Bob Proulx.
23013
23014 2000-07-02  Jim Meyering  <meyering@lucent.com>
23015
23016         * m4/mbstate_t.m4: Also define mbstate_t, if necessary.
23017
23018         * m4/chown.m4: Replace each use of AC_SUBST(LIBOBJS)/LIBOBJS=... with
23019         AC_LIBOBJ(function_name).
23020         * m4/chown.m4: Likewise.
23021         * m4/fnmatch.m4: Likewise.
23022         * m4/ftruncate.m4: Likewise.
23023         * m4/getgroups.m4: Likewise.
23024         * m4/getline.m4: Likewise.
23025         * m4/group-member.m4: Likewise.
23026         * m4/jm-macros.m4: Likewise.
23027         * m4/lstat.m4: Likewise.
23028         * m4/malloc.m4: Likewise.
23029         * m4/memcmp.m4: Likewise.
23030         * m4/nanosleep.m4: Likewise.
23031         * m4/putenv.m4: Likewise.
23032         * m4/realloc.m4: Likewise.
23033         * m4/regex.m4: Likewise.
23034         * m4/stat.m4: Likewise.
23035         * m4/strftime.m4: Likewise.
23036
23037 2000-07-02  Jim Meyering  <meyering@lucent.com>
23038
23039         * lib/quotearg.c (mbstate_t): Don't define here.
23040
23041 2000-07-02  Jim Meyering  <meyering@lucent.com>
23042
23043         * lib/nanosleep.c (SIGCONT): Define if not already defined.
23044
23045 2000-07-01  Jim Meyering  <meyering@lucent.com>
23046
23047         * m4/uptime.m4: Put double quotes around use of $cross_compiling.
23048
23049 2000-07-01  Jim Meyering  <meyering@lucent.com>
23050
23051         * m4/ls-mntd-fs.m4: Remove a `FIXME' comment and fix the associated
23052         problem.
23053
23054 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
23055
23056         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Rename BeOS specific
23057         macro from MOUNTED_NEXT_DEV to MOUNTED_FS_STAT_DEV.
23058
23059 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
23060
23061         * lib/mountlist.c: Use MOUNTED_FS_STAT_DEV instead of MOUNTED_NEXT_DEV,
23062         per change in ../m4/ls-mntd-fs.m4.
23063         (read_filesystem_list): Ignore symbolic links.
23064
23065 2000-06-29  Jim Meyering  <meyering@lucent.com>
23066
23067         * lib/same.c: Include <string.h> or <strings.h>, as appropriate,
23068         for declaration of strcmp.
23069
23070         * lib/long-options.c: Include <stdlib.h>, for declaration of exit.
23071
23072         * lib/mountlist.c (fsp_to_string) [HAVE_F_FSTYPENAME_IN_STATFS]:
23073         Avoid warning by casting result to `char *' to remove `const'.
23074
23075 2000-06-28  Jim Meyering  <meyering@lucent.com>
23076
23077         * m4/mbstate_t.m4: Use stdlib.h, not stdio.h.  The latter is not
23078         included by quotearg.c, for which we perform this test.  From
23079         Bruno Haible.
23080
23081 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
23082
23083         * m4/check-decl.m4 (_jm_DECL_HEADERS): Check for utmp.h as well.
23084         * m4/prereq.m4 (jm_PREREQ_READUTMP): Likewise. If either <utmp.h> or
23085         <utmpx.h> exists, put readutmp.o into LIBOBJS.
23086
23087 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
23088
23089         * lib/Makefile.am (libfetish_a_SOURCES): Remove readutmp.c.
23090
23091 2000-06-26  Paul Eggert  <eggert@twinsun.com>
23092
23093         savedir now sets errno on failure and invokes xmalloc to get memory.
23094         Fix a couple of other minor bugs while we're at it.
23095
23096         * lib/savedir.c (<unistd.h>): Do not include; there's no need.
23097         (NAMLEN): Remove macro.
23098         (malloc, realloc): Remove decls.
23099         (stpcpy): Likewise.
23100         ("xalloc.h"): Include.
23101         (NAME_SIZE_DEFAULT): New macro.
23102         (savedir): Use xmalloc / xrealloc to allocate memory.
23103         Use NAME_SIZE_DEFAULT if name_size is negative or overflows to zero.
23104         Skip "" directory entries.
23105         Use strlen to calculate directory entry length, since the old method
23106         is rarely used these days and isn't worth supporting.
23107         Don't use a pointer after freeing it.
23108         Check for integer overflow when calculating allocation size.
23109         Use memcpy to copy entries, instead of stpcpy.
23110         Set errno properly when returning NULL.
23111         Check for readdir error.
23112
23113 2000-06-26  Jim Meyering  <meyering@lucent.com>
23114
23115         * lib/posixtm.c [HAVE_STDLIB_H]: Include stdlib.h, for decl of abort.
23116
23117 2000-06-25  Jim Meyering  <meyering@lucent.com>
23118
23119         * m4/mbstate_t.m4: Include stdio.h before wchar.h to work around
23120         Linux header bug when _XOPEN_SOURCE is defined to 500.
23121
23122 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
23123
23124         * lib/unicodeio.c (print_unicode_char): Work around ansi2knr
23125         deficiency.
23126
23127 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
23128
23129         * lib/getusershell.c (xmalloc, xrealloc): Remove functions.
23130         Include xalloc.h.
23131         Don't include <stdlib.h>.  Don't declare malloc, realloc.
23132
23133 2000-06-24  Jim Meyering  <meyering@lucent.com>
23134
23135         * m4/strerror_r.m4: Revive this file -- to try out an experimental
23136         version of AC_FUNC_STRERROR_R that may work even on BeOS, a system
23137         for which strerror does return char*, but which lacks a conveniently
23138         accessible declaration of the function.  If the compile-test says
23139         strerror_r doesn't work, then resort to a `run'-test that works on
23140         BeOS and segfaults on DEC Unix.
23141
23142 2000-06-24  Jim Meyering  <meyering@lucent.com>
23143
23144         * lib/error.c [!HAVE_DECL_STRERROR_R]: Declare strerror_r.
23145
23146 2000-06-23  Paul Eggert  <eggert@twinsun.com>
23147
23148         * m4/mbstate_t.m4: New file, defining AC_MBSTATE_T_OBJECT.
23149         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Use it.  Add check for iswprint.
23150
23151 2000-06-23  Paul Eggert  <eggert@twinsun.com>
23152
23153         * lib/quotearg.c: Include <wctype.h> after <wchar.h>, for Solaris 2.5.
23154         (mbrtowc, mbstate_t): Define substitutes if
23155         HAVE_MBRTOWC && HAVE_WCHAR_H && !HAVE_MBSTATE_T_OBJECT.
23156         (iswprint): Define to 1 if !defined iswprint && !HAVE_ISWPRINT,
23157         not if ! (HAVE_MBRTOWC && HAVE_WCHAR_H).
23158
23159 2000-06-23  Jim Meyering  <meyering@lucent.com>
23160
23161         * m4/afs.m4: Add missing AC_MSG_RESULT.
23162         Reported by Bruno Haible.
23163
23164         * m4/fsusage.m4: s/AC_MSG_CHECKING/AC_CHECKING/.
23165         Suggestion from Bruno Haible.
23166
23167 2000-06-23  Jim Meyering  <meyering@lucent.com>
23168
23169         * lib/getpass.c: New file, from Bruno Haible.  Required for BeOS.
23170
23171 2000-06-21  Jim Meyering  <meyering@lucent.com>
23172
23173         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add getpass.
23174
23175 2000-06-21  Jim Meyering  <meyering@lucent.com>
23176
23177         * lib/Makefile.am (libfetish_a_SOURCES): Add getstr.c.
23178         (noinst_HEADERS): Add getstr.h.
23179
23180         * lib/getline.c (getstr): Move into a separate file.
23181         * lib/getstr.c (getstr): New file, extracted from getline.c, with
23182         the following changes: new parameter, delim2; both delim[12]
23183         parameters have type `int', not `char'.  The latter would lose
23184         with 8-bit delimiters.
23185         * lib/getstr.h: New file.
23186
23187 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
23188
23189         * lib/xgetcwd.c (xgetcwd): If the required pathname length is smaller
23190         than 1024, return a memory chunk of least possible size, instead
23191         of size PATH_MAX + 2. In the loop, increment the size proportionally.
23192         Use free/xmalloc instead of xrealloc to avoid copying for very long
23193         paths.
23194
23195 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
23196
23197         * lib/path-concat.c (path_concat): Don't access dir[-1] if dir is
23198         the empty string.
23199
23200 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
23201
23202         * lib/canon-host.c (canon_host): Use malloc and memcpy to copy an
23203         address, not strdup.  Include <stdlib.h> and don't declare free().
23204
23205 2000-06-19  Jim Meyering  <meyering@lucent.com>
23206
23207         * lib/getloadavg.c [HAVE_NLIST_H] (NLIST_STRUCT): Define.
23208
23209 2000-06-18  Jim Meyering  <meyering@lucent.com>
23210
23211         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Remove mkdir.
23212
23213         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): Change the
23214         `checking whether...' message to be consistent with that of the
23215         lstat test.
23216
23217 2000-06-18  Jim Meyering  <meyering@lucent.com>
23218
23219         * lib/mkdir.c: Remove file, due mainly to copyright incompatibility.
23220         Besides, these days every porting target provides a mkdir function.
23221
23222         * lib/strnlen.c: Include memory.h, string.h, and/or strings.h as
23223         needed. (this snippet comes from src/system.h).
23224
23225 2000-06-16  Bruno Haible  <haible@clisp.cons.org>
23226
23227         * m4/glibc21.m4 (jm_GLIBC21): Define GLIBC21 for Makefiles, not for C.
23228
23229 2000-06-15  Paul Eggert  <eggert@twinsun.com>
23230
23231         * lib/human.c (adjust_value): New function.
23232         (human_readable_inexact): Apply rounding style even when
23233         printing approximate values.
23234
23235 2000-06-14  Paul Eggert  <eggert@twinsun.com>
23236
23237         * lib/human.c (human_readable_inexact): Allow an input block
23238         size that is not a multiple of the output block size, and vice versa.
23239         Reported by Piergiorgio Sartor.
23240
23241 2000-06-14  Paul Eggert  <eggert@twinsun.com>
23242
23243         * lib/getdate.y (get_date): Apply relative times after time
23244         zone indicator, not before.  Reported by Todd A. Jacobs.
23245
23246 2000-06-13  Jim Meyering  <meyering@lucent.com>
23247
23248         * lib/Makefile.am (all-local): Depend on lstat.c and stat.c.
23249
23250         * lib/xstat.in [!HAVE_DECL_FREE]: Declare free in lstat.c.
23251
23252 2000-06-12  Paul Eggert  <eggert@twinsun.com>
23253
23254         * lib/xstat.in: Include <stdlib.h> in lstat, to declare "free".
23255
23256 2000-06-12  Jim Meyering  <meyering@lucent.com>
23257
23258         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Replace with
23259         AC_FUNC_GETLOADAVG from autoconf, and tweak the latter to accept an
23260         optional argument.
23261         * m4/jm-macros.m4: s/AM_FUNC_GETLOADAVG/AC_FUNC_GETLOADAVG/, and supply
23262         the optional argument, `lib'.
23263
23264 2000-06-08  Jim Meyering  <meyering@lucent.com>
23265
23266         * m4/largefile.m4: Remove file (now that it's part of autoconf).
23267
23268 2000-06-04  Paul Eggert  <eggert@twinsun.com>
23269
23270         Rewrite largefile configuration so that we don't need to run
23271         getconf and don't need AC_CANONICAL_HOST.  [I'm leaving the use of
23272         AC_CANONICAL_HOST in configure.in -- jmm]
23273
23274         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS,
23275         AC_SYS_LARGEFILE_SPACE_APPEND): Remove.
23276         (AC_SYS_LARGEFILE_TEST_INCLUDES): New macro.
23277         (AC_SYS_LARGEFILE_MACRO_VALUE): Change arguments from
23278         CODE-TO-SET-DEFAULT to VALUE, INCLUDES, FUNCTION-BODY.
23279         All uses changed.
23280         Instead of inspecting the output of getconf, try to compile the
23281         test program without and with the macro definition.
23282         (AC_SYS_LARGEFILE): Do not require AC_CANONICAL_HOST or check
23283         for getconf.  Instead, check for the needed flags by compiling
23284         test programs.
23285
23286 2000-06-04  Paul Eggert  <eggert@twinsun.com>
23287
23288         * lib/strnlen.c: Include <config.h> if HAVE_CONFIG_H.
23289
23290 2000-06-04  Jim Meyering  <meyering@lucent.com>
23291
23292         * lib/getugroups.c (getugroups): Cast -1 to gid_t, for systems like
23293         SunOS 4.1.4 for which gid_t is an unsigned type.
23294
23295 2000-06-03  Jim Meyering  <meyering@lucent.com>
23296
23297         * m4/prereq.m4 (jm_PREREQ_HUMAN): Use []-quoted list in AC_CHECK_DECLS,
23298         now that autoconf requires that.
23299
23300         * m4/jm-glibc-io.m4: Add a kludge to make autoheader emit the required
23301         #undefs.  E.g., #undef HAVE_DECL_FERROR_UNLOCKED.
23302         Use []-quoted list in AC_CHECK_DECLS, now that autoconf requires that.
23303
23304 2000-06-03  Jim Meyering  <meyering@lucent.com>
23305
23306         * lib/strnlen.c [!HAVE_DECL_MEMCHR]: Declare memchr.
23307
23308 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
23309
23310         * m4/glibc21.m4: New file.
23311         * m4/jm-macros.m4 (jm_MACROS): Call jm_GLIBC21.
23312
23313 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
23314
23315         * lib/Makefile.am (install-exec-local): On systems with glibc-2.1 or
23316         newer, don't install charset.alias.
23317         * lib/config.charset: Change the Linux/glibc rules so they become empty
23318         on glibc-2.1 or newer.
23319
23320 2000-06-02  Jim Meyering  <meyering@lucent.com>
23321
23322         * lib/mountlist.c: Back out last change.  Instead, do this...
23323         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Set the
23324         me_dummy member using the same `ignore'-testing code.
23325         * lib/mountlist.h (ME_DUMMY): Add `autofs' to the list of ignored
23326         fs_type strings.
23327         From Mark D. Roth.
23328
23329 2000-05-29  Jim Meyering  <meyering@lucent.com>
23330
23331         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Ignore
23332         mounts with the `ignore' attribute.  Based on a patch from
23333         Mark D. Roth.
23334
23335 2000-05-28  Jim Meyering  <meyering@lucent.com>
23336
23337         * m4/jm-macros.m4 (AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Rename from
23338         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
23339         * m4/stat.m4: Likewise.
23340         * m4/lstat.m4: Likewise.
23341         * m4/lstat-slash.m4: Remove file (absorbed into autoconf).
23342
23343         * m4/jm-macros.m4 (AC_FUNC_STRERROR_R): Rename from jm_FUNC_STRERROR_R.
23344         * m4/strerror_r.m4: Remove file (absorbed into autoconf).
23345
23346 2000-05-26  Jim Meyering  <meyering@lucent.com>
23347
23348         * m4/uptime.m4: Use `$cross_compiling', not `$ac_cv_prog_cc_cross'.
23349
23350 2000-05-24  Jim Meyering  <meyering@lucent.com>
23351
23352         * m4/prereq.m4: Use []-quoted list in AC_CHECK_MEMBERS, now that
23353         autoconf requires that.
23354         * m4/lib-check.m4: Likewise.
23355         * m4/jm-macros.m4: Likewise.
23356         * m4/strftime.m4: Likewise.
23357
23358         * m4/check-decl.m4 (jm_CHECK_DECLS): Use []-quoted list in
23359         AC_CHECK_DECLS, now that autoconf requires that.
23360
23361 2000-05-22  Jim Meyering  <meyering@lucent.com>
23362
23363         * m4/stat.m4: Require jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
23364         * m4/lstat.m4: Likewise.
23365
23366 2000-05-22  Jim Meyering  <meyering@lucent.com>
23367
23368         * lib/makepath.c: Remove old, now-unnecessary `#ifdef __MSDOS__' block.
23369
23370 2000-05-20  Jim Meyering  <meyering@lucent.com>
23371
23372         * m4/prereq.m4 (jm_PREREQ_HUMAN): New macro.
23373         (jm_PREREQ): Use it.
23374
23375 2000-05-18  Jim Meyering  <meyering@lucent.com>
23376
23377         * lib/hash.c (hash_rehash): Fix a nasty bug: copy the free entry list
23378         back, too, since it may have been modified by allocate_entry.
23379         (hash_delete): Rewrite to use neither the assignment operator
23380         nor the comma operator in an if-expression.
23381
23382 2000-05-15  Paul Eggert  <eggert@twinsun.com>
23383
23384         * lib/closeout.c:
23385         <sys/stat.h>, <sys/types.h>, <unistd.h>, (STDOUT_FILENO):
23386         Remove; no longer needed.
23387         "quotearg.h": Add include.
23388         (file_name): Do not bother to explicitly initialize to NULL; it's less
23389         efficient on some hosts.
23390         (close_stdout_status): Remove test as to whether stdout was already
23391         closed; it breaks for the case "echo x | sort >&-".
23392         Quote file name colons.
23393         Do not assume that _("write error") lacks format strings.
23394
23395 2000-05-15  Jim Meyering  <meyering@lucent.com>
23396
23397         * lib/version-etc.c (version_etc_copyright): Update the copyright
23398         string used in all --version output.
23399
23400 2000-05-14  Jim Meyering  <meyering@lucent.com>
23401
23402         * lib/closeout.c (close_stdout_set_file_name): New function.
23403         (close_stdout_status): Use new file-scoped global.
23404         Return right away if fstat says the stdout file descriptor is invalid.
23405         * lib/closeout.h (close_stdout_set_file_name): Declare.
23406
23407 2000-05-10  Jim Meyering  <meyering@lucent.com>
23408
23409         * lib/closeout.c [default_exit_status]: New file-scoped variable.
23410         (close_stdout_set_status): New function.
23411         * lib/closeout.h (close_stdout_set_status): Declare.
23412
23413 2000-05-09  Jim Meyering  <meyering@lucent.com>
23414
23415         * m4/gettext.m4: Rename this...
23416         * m4/libintl.m4: ...to this.
23417
23418 2000-05-08  Jim Meyering  <meyering@lucent.com>
23419
23420         * lib/long-options.c: Don't include closeout.h.
23421         (parse_long_options): Don't call close_stdout for --version.
23422
23423 2000-05-06  Paul Eggert  <eggert@twinsun.com>
23424
23425         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _XOPEN_SOURCE to
23426         be 500, instead of _GNU_SOURCE to be 1, to work around glibc
23427         2.1.3 bug.  This avoids a clash when files like regex.c define
23428         _GNU_SOURCE.
23429
23430 2000-05-06  Jim Meyering  <meyering@lucent.com>
23431
23432         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add atexit.
23433         (AC_REPLACE_FUNCS): Add strnlen.
23434
23435         * m4/rmdir-errno.m4 (fetish_FUNC_RMDIR_NOTEMPTY): New macro and file.
23436         * m4/jm-macros.m4: Require fetish_FUNC_RMDIR_NOTEMPTY.
23437
23438         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Save and restore LIBS around
23439         AC_SEARCH_LIBS call for nanosleep.
23440         (LIB_NANOSLEEP): Set and AC_SUBST.
23441
23442 2000-05-06  Jim Meyering  <meyering@lucent.com>
23443
23444         * lib/strnlen.c: Undefine __strnlen and strnlen.
23445         [!weak_alias]: Define __strnlen to strnlen.
23446
23447         * lib/atexit.c: New file, from libiberty.
23448
23449 2000-05-06  Jim Meyering  <meyering@lucent.com>
23450
23451         * lib/closeout.c (close_stdout_status): Also check for errors on the
23452         stderr stream.
23453
23454 2000-05-05  Jim Meyering  <meyering@lucent.com>
23455
23456         * m4/jm-macros.m4 (jm_MACROS): Save and restore LIBS around
23457         AC_SEARCH_LIBS call for clock_gettime.
23458         (LIB_CLOCK_GETTIME): Set and AC_SUBST.
23459
23460         * m4/search-libs.m4: Update from autoconf.
23461
23462         su doesn't work on Solaris 2.6.
23463         * m4/lib-check.m4: When checking for struct spwd.sp_pwdp, also include
23464         <shadow.h>.  Reported by Dragos Harabor.
23465
23466 2000-05-05  Bruno Haible  <haible@clisp.cons.org>
23467
23468         * lib/localcharset.c (get_charset_aliases): Use malloc, realloc and
23469         memcpy instead of xmalloc, xrealloc, path_concat.
23470         (locale_charset): Treat empty environment variables as absent.
23471         (DIRECTORY_SEPARATOR, ISSLASH): New macros.
23472
23473 2000-05-04  Jim Meyering  <meyering@lucent.com>
23474
23475         * lib/getopt.c: Update from glibc.
23476         * lib/obstack.c: Likewise.
23477         * lib/obstack.h: Likewise.
23478         * lib/regex.c: Likewise.  NB: K&R compiler support is dropped for this
23479         file
23480
23481         * lib/regex.h: Likewise.
23482         * lib/strndup.c: Likewise.
23483         * lib/strnlen.c: New file, from glibc.
23484
23485 2000-05-03  Jim Meyering  <meyering@lucent.com>
23486
23487         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strndup.
23488
23489 2000-05-02  Paul Eggert  <eggert@twinsun.com>
23490
23491         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _GNU_SOURCE if
23492         this is needed to make ftello visible (e.g. glibc 2.1.3).  Use
23493         compile-time test, rather than inspecting host and OS, to
23494         decide whether to define _LARGEFILE_SOURCE.
23495
23496 2000-05-01  Jim Meyering  <meyering@lucent.com>
23497
23498         * m4/fsusage.m4: Use AC_MSG_CHECKING instead of obsolete AC_CHECKING.
23499
23500         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add BeOS support.
23501         Based on a patch from Bruno Haible.
23502
23503 2000-05-01  Jim Meyering  <meyering@lucent.com>
23504
23505         * lib/full-write.c (full_write): Remove `FIXME' part of comment.
23506
23507 2000-04-29  Jim Meyering  <meyering@lucent.com>
23508
23509         * lib/path-concat.c: Declare strdup only if it's not defined.
23510         * lib/canon-host.c: Likewise.
23511
23512 2000-04-28  Jim Meyering  <meyering@lucent.com>
23513
23514         * lib/rpmatch.c [HAVE_LIMITS_H]: Include limits.h before regex.h to
23515         avoid redefinition warning on some systems (HPUX).  Otherwise, regex.h
23516         is included first, then limits.h is included by locale.h by libintl.h.
23517         From John David Anglin.
23518
23519 2000-04-25  Jim Meyering  <meyering@lucent.com>
23520
23521         * lib/makepath.c (S_IRWXUGO): Define.
23522         (make_path): Always perform explicit chmod if MODE specifies any
23523         of the `special' permission bits.  Prompted by a bug report against
23524         install from Mate Wierdl and Joost van Baal.
23525
23526 2000-04-18  Jim Meyering  <meyering@lucent.com>
23527
23528         * m4/prereq.m4 (jm_PREREQ_GETPAGESIZE): New macro.
23529         (jm_PREREQ): Use it.
23530
23531 2000-04-18  Jim Meyering  <meyering@lucent.com>
23532
23533         * lib/README: New file.
23534
23535         * lib/getpagesize.h [!getpagesize && HAVE_OS_H && B_PAGE_SIZE]: Define
23536         getpagesize.  For BeOS.  Based on a patch from Bruno Haible.
23537
23538 2000-04-17  Jim Meyering  <meyering@lucent.com>
23539
23540         Get it right :-)
23541         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Emit the
23542         actual #define via AH_VERBATIM.  Don't need separate AC_DEFINE.
23543         Suggestion from Akim Demaille.
23544
23545 2000-04-17  Jim Meyering  <meyering@lucent.com>
23546
23547         * lib/strftime.c (my_strftime) [strftime]: Declare strftime here, since
23548         the definition of it to rpl_strftime also defined-away the system's
23549         declaration.
23550
23551 2000-04-15  Jim Meyering  <meyering@lucent.com>
23552
23553         Use `C' to denote so-called `contiguous' files, the same way
23554         that tar does.
23555         * lib/filemode.c (S_ISCTG) [!S_ISCTG && S_IFCTG]: Define.
23556         (ftypelet): Use S_ISCTG.
23557         From Michael Deutschmann.
23558
23559 2000-04-14  Jim Meyering  <meyering@lucent.com>
23560
23561         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use the one-arg
23562         form of AC_DEFINE.  Otherwise, the #ifndef in AH_VERBATIM gets
23563         clobbered.
23564
23565 2000-04-14  Jim Meyering  <meyering@lucent.com>
23566
23567         * lib/strftime.c (my_strftime) [#ifdef strftime]: Declare strftime.
23568
23569 2000-04-13  Jim Meyering  <meyering@lucent.com>
23570
23571         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use new
23572         AH_VERBATIM to insert required #ifndef into config.h.in.
23573         Suggestion from Akim Demaille.
23574
23575 2000-04-12  Jim Meyering  <meyering@lucent.com>
23576
23577         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Use AC_CHECK_HEADERS, not
23578         `AC_CHECK_HEADER' to check for locale.h.  Thanks to a report from
23579         Christian Krackowizer.
23580
23581         More code moved from ../configure.in into (jm_CHECK_ALL_TYPES).
23582         * m4/jm-macros.m4 (_GNU_SOURCE): Define.
23583         (AC_SYS_LARGEFILE): Require.
23584         (AM_C_PROTOTYPES): Require.
23585
23586 2000-04-08  Jim Meyering  <meyering@lucent.com>
23587
23588         * lib/Makefile.am (charset.alias): Use t-$@, not $@-t so the DOS 8.3
23589         names don't conflict.  Reported by Eli Zaretskii.
23590
23591 2000-04-07  Jim Meyering  <meyering@lucent.com>
23592
23593         * lib/putenv.c: Move inclusion of errno.h so it follows that of
23594         sys/types.h, to work around system header problems on AIX 3.2.5.
23595         From Bruno Haible.
23596
23597 2000-04-07  Bruno Haible  <haible@clisp.cons.org>
23598
23599         * lib/unicodeio.c (print_unicode_char): Avoid triggering Solaris iconv
23600         bug.  Deal with the different error behavior of Irix iconv.
23601
23602 2000-04-05  Paul Eggert  <eggert@twinsun.com>
23603
23604         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Don't use -n32 on
23605         IRIX if the installer said otherwise.
23606
23607 2000-04-05  Jim Meyering  <meyering@lucent.com>
23608
23609         Portability tweaks required for ultrix4.3.
23610         * m4/check-decl.m4 [!HAVE_UTMPX_H] (headers): Include <utmp.h>.
23611         (jm_CHECK_DECLS): Add getutent to the list of functions.
23612         (_jm_DECL_HEADERS): Add utmpx.h.
23613         From John David Anglin.
23614
23615         * m4/strftime.m4: Back out the 2000-04-02 change.
23616         Instead of that change, simply undefine putenv in the test program.
23617
23618 2000-04-05  Jim Meyering  <meyering@lucent.com>
23619
23620         Portability tweaks required for ultrix4.3.
23621         * lib/readutmp.h [HAVE_UTMPX_H && !HAVE_DECL_GETUTENT]: Declare
23622         getutent.
23623         * lib/readutmp.c: Include sys/types.h before sys/stat.h.
23624         * lib/canon-host.c: Declare strdup.
23625         * lib/path-concat.c: Likewise.
23626         From John David Anglin.
23627
23628 2000-04-04  Jim Meyering  <meyering@lucent.com>
23629
23630         Be more DOS 8.3-friendly.
23631         * lib/ref-add.sin: Renamed from ref-add.sed.in.
23632         * lib/ref-del.sin: Renamed from ref-del.sed.in.
23633         * lib/Makefile.am: Reflect renaming.
23634         Reported by Eli Zaretskii.
23635
23636         Use a temporary file name that won't clash with `charset.alias'
23637         in the DOS 8.3 name space.
23638         * lib/Makefile.am (charset_tmp): Define.
23639         (install-exec-local): Use $(charset_tmp) instead of $(charset_alias)-t.
23640         (uninstall-local): Likewise.
23641         Reported by Eli Zaretskii.
23642
23643 2000-04-03  Jim Meyering  <meyering@lucent.com>
23644
23645         * m4/gettext.m4: Fix typo in comment.
23646
23647         * m4/codeset.m4 (AC_CHECK_HEADERS): Add langinfo.h (moved here from
23648         textutils/configure.in).  Suggestion from Paul Eggert.
23649         (AC_CHECK_FUNCS): Add nl_langinfo.  (also from textutils/configure.in)
23650
23651 2000-04-02  Paul Eggert  <eggert@twinsun.com>
23652
23653         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Set TZ environment
23654         variable in the shell rather than using putenv, which isn't
23655         portable.  This avoids the configure-time inter-test dependency
23656         on the potentially-renamed putenv function.
23657
23658 2000-03-30  Paul Eggert  <eggert@twinsun.com>
23659
23660         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Include <sys/stat.h>
23661         before checking struct stat.st_blksize, so that
23662         HAVE_STRUCT_STAT_ST_BLKSIZE is defined correctly.
23663
23664 2000-03-29  Paul Eggert  <eggert@twinsun.com>
23665
23666         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Check for strftime,
23667         since strftime.c uses HAVE_STRFTIME to decide whether to use
23668         the underlying strftime.
23669
23670 2000-03-29  Paul Eggert  <eggert@twinsun.com>
23671
23672         * lib/time/strftime.c (my_strftime): Make sure we call the system
23673         strftime, not ourselves, when invoking the underlying strftime.
23674
23675 2000-03-24  Jim Meyering  <meyering@lucent.com>
23676
23677         * lib/Makefile.am (EXTRA_DIST): Add ref-add.sed.in and ref-del.sed.in.
23678         (charset_alias): Define.
23679         (install-exec-local): Factor out common code.
23680         (uninstall-local): Split lines longer than 80.
23681         (ref-add.sed, ref-del.sed): Remove rules... (do the following instead)
23682         (SUFFIXES): Define.
23683         (.sed.in.sed): New rule.  Don't redirect directly to $@.
23684         (CLEANFILES): Add ref-add.sed and ref-del.sed.
23685
23686 2000-03-19  Bruno Haible  <haible@clisp.cons.org>
23687
23688         * lib/config.charset: Output a line containing "Packages using this
23689         file".
23690         * lib/ref-add.sed.in, lib/ref-del.sed.in: New files.
23691         * lib/Makefile.am (install-exec-local, uninstall-local, ref-add.sed,
23692         ref-del.sed): New rules.
23693
23694 2000-03-17  Jim Meyering  <meyering@lucent.com>
23695
23696         * lib/unicodeio.c (<string.h>): Include only #if HAVE_STRING_H.
23697         Otherwise, include <strings.h>
23698
23699 2000-03-17  Bruno Haible  <haible@clisp.cons.org>
23700
23701         * lib/unicodeio.c (utf8_wctomb): New function.
23702         (print_unicode_char): Pass the Unicode character to iconv in UTF-8
23703         format instead of in UCS-4 with platform dependent endianness.
23704
23705 2000-03-10  Jim Meyering  <meyering@lucent.com>
23706
23707         * m4/lib-check.m4: Look for getspnam in -lgen, too.
23708         From Marco Franzen.
23709
23710 2000-03-07  Paul Eggert  <eggert@twinsun.com>
23711
23712         * lib/savedir.c (savedir): Work even if directory size is
23713         negative; this can happen with some screwy NFS configurations.
23714
23715 2000-03-06  Jim Meyering  <meyering@lucent.com>
23716
23717         * lib/localcharset.c (get_charset_aliases): Don't try to free file_name
23718         if it's NULL (because we ran out of memory).  From Bruno Haible.
23719
23720 2000-03-05  Jim Meyering  <meyering@lucent.com>
23721
23722         * lib/localcharset.c ("path-concat.h"): Include.
23723         (get_charset_aliases): Use path_concat instead of ANSI string
23724         concatenation.
23725
23726         * lib/unicodeio.h (PARAMS): Define.
23727         Use it to guard prototype.
23728
23729 2000-03-04  Jim Meyering  <meyering@lucent.com>
23730
23731         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require AC_C_VOLATILE,
23732         for lib/localcharset.c.
23733
23734 2000-03-04  Jim Meyering  <meyering@lucent.com>
23735
23736         * lib/Makefile.am (install-exec-local): Create $(libdir) before
23737         installing into it.
23738         (uninstall-local): Uncomment this rule so `make distcheck' works
23739         once again.
23740
23741         * lib/unicodeio.c (<errno.h>): Include it.
23742         (errno): Declare if not defined.
23743
23744         * lib/localcharset.c: Add Bruno's comment justifying use of volatile.
23745
23746         * lib/config.charset: New version, incorporating remarks from a linux
23747         i18n mailing list.  From Bruno Haible.
23748
23749 2000-03-04  Bruno Haible  <haible@clisp.cons.org>
23750
23751         * m4/codeset.m4: New file.
23752         * m4/iconv.m4: New file.
23753         * m4/jm-macros.m4 (jm_MACROS): Call jm_LANGINFO_CODESET and jm_ICONV.
23754
23755 2000-03-03  Jim Meyering  <meyering@lucent.com>
23756
23757         * m4/regex.m4: Make sure re_compile_pattern accepts patterns like `{1'.
23758
23759 2000-03-02  Jim Meyering  <meyering@lucent.com>
23760
23761         * m4/timespec.m4: Require AC_HEADER_TIME before the cache check so
23762         the messages come out on separate lines.
23763
23764         * m4/jm-glibc-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO): Use AC_CHECK_DECLS,
23765         rather than jm_CHECK_DECLARATIONS.
23766         * m4/decl.m4: Remove now-unused file.
23767
23768         * m4/check-decl.m4 (AC_CHECK_DECLS): Add getlogin, ttyname, and
23769         geteuid.
23770
23771 2000-03-02  Jim Meyering  <meyering@lucent.com>
23772
23773         * lib/Makefile.am (EXTRA_DIST): Add config.charset.
23774
23775 2000-03-01  Jim Meyering  <meyering@lucent.com>
23776
23777         * lib/localcharset.c: Guard some #includes with `#if HAVE_...'.
23778         * lib/unicodeio.c: Likewise.
23779
23780 2000-03-01  Bruno Haible  <haible@clisp.cons.org>
23781
23782         * lib/config.charset: New file.
23783         * lib/localcharset.c: New file.
23784         * lib/unicodeio.h, lib/unicodeio.c: New files.
23785         * lib/Makefile.am (DEFS): Add -DLIBDIR=...
23786         (libfetish_a_SOURCES): Add localcharset.c and unicodeio.c.
23787         (noinst_HEADERS): Add unicodeio.h.
23788         (all-local, install-exec-local, charset.alias): New targets.
23789
23790 2000-02-28  Paul Eggert  <eggert@twinsun.com>
23791
23792         * lib/quotearg.c (ALERT_CHAR): New macro.
23793         (quotearg_buffer_restyled): Use it.
23794
23795 2000-02-27  Jim Meyering  <meyering@lucent.com>
23796
23797         * m4/check-decl.m4: Add getenv to the list.
23798
23799 2000-02-27  Jim Meyering  <meyering@lucent.com>
23800
23801         * lib/strtoumax.c: Fix typo in decl of strtoul: s/long long/long/.
23802         Guard declaration of strtoull also with `&& HAVE_UNSIGNED_LONG_LONG'.
23803
23804         * lib/backupfile.c: Guard inclusion of stdlib.h with
23805         `#if HAVE_STDLIB_H', not `#if STDC_HEADERS'.
23806         Declare malloc if needed.
23807
23808         * lib/backupfile.c: Use `#if !HAVE_DECL...' instead of
23809         `#ifndef HAVE_DECL..'
23810         now that autoconf always defines the HAVE_DECL_ symbols.
23811         * lib/human.c: Likewise.
23812         * lib/same.c: Likewise.
23813         * lib/strtoumax.c: Likewise.
23814
23815         * lib/backupfile.c: Arrange for cpp to fail if the configure-time
23816         declaration check was not run.
23817         * lib/hash.c: Likewise.
23818         * lib/human.c: Likewise.
23819         * lib/same.c: Likewise.
23820         * lib/strtoumax.c: Likewise.
23821
23822         * lib/userspec.c (parse_user_spec): If there is no `:' but there is a
23823         `.', then first look up the entire `.'-containing string as a login
23824         name.
23825
23826 2000-02-23  Jim Meyering  <meyering@lucent.com>
23827
23828         * m4/check-decl.m4: Now that we have the new AC_CHECK_DECLS, use it
23829         in place of my hack.
23830
23831 2000-02-18  Paul Eggert  <eggert@twinsun.com>
23832
23833         * lib/getdate.y: Handle two-digit years with leading zeros correctly.
23834         (textint): New typedef.
23835         (parser_control): Member year changed from int to textint.
23836         All uses changed.
23837         (YYSTYPE): Removed; replaced by %union with int and textint members.
23838         (tDAY, tDAY_UNIT, tDAYZONE, tHOUR_UNIT, tID, tLOCAL_ZONE, tMERIDIAN,
23839         tMINUTE_UNIT, tMONTH, tMONTH_UNIT tSEC_UNIT, tSNUMBER, tUNUMBER,
23840         tYEAR_UNIT, tZONE, o_merid): Now of type <intval>.
23841         (tSNUMBER, tUNUMBER): Now of type <textintval>.
23842         (date, number, to_year): Use width of number in digits, not its value,
23843         to determine whether it's a 2-digit year, or a 2-digit time.
23844         (yylex): Store number of digits of numeric tokens.
23845         Reported by John Kendall.
23846
23847         (parser_control): Changed from struct parser_control to typedef (for
23848         consistency).  All uses changed.
23849
23850         (tID): Removed; not used.
23851         (yylex): Return '?' for unknown identifiers, rather than (unused) tID.
23852
23853 2000-02-14  Paul Eggert  <eggert@twinsun.com>
23854
23855         * lib/getpagesize.h (getpagesize): Port to VMS for Alpha;
23856         adapted from changes to grep getpagesize.h by Martin P.J. Zinser.
23857
23858 2000-02-12  Jim Meyering  <meyering@lucent.com>
23859
23860         * lib/userspec.c (ISDIGIT): Define it.
23861         (isdigit): Remove definition.
23862         (is_number): Use ISDIGIT, not isdigit.
23863         <libintl.h>: Include.
23864         (_ and N_): Define.
23865         (parse_user_spec): Mark translatable strings.
23866
23867 2000-02-10  Jim Meyering  <meyering@lucent.com>
23868
23869         With these changes, nanosleep.[ch] are finally enough like the other
23870         lib/* replacement files to compile on a few more losing systems.
23871
23872         * lib/nanosleep.h: Don't include config.h.
23873         Remove prototype from declaration of nanosleep.
23874         (PARAMS): Remove now-unneeded definition.
23875         * lib/nanosleep.c: #undef nanosleep.
23876         (rpl_nanosleep): Rename from nanosleep.
23877
23878 2000-02-10  Jim Meyering  <meyering@lucent.com>
23879
23880         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Rename replacement function from
23881         gnu_nanosleep to rpl_nanosleep.
23882
23883 2000-02-09  Jim Meyering  <meyering@lucent.com>
23884
23885         * m4/lib-check.m4 (jm_LIB_CHECK): Fix typo: check for sp_pwdp in
23886         struct spwd, rather than in struct passwd.  Reported by Gaël Quéri.
23887
23888 2000-02-08  Akim Demaille  <akim@epita.fr>
23889
23890         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Quote square brackets with
23891         `[' and `]' and remove uses of `changequote'.
23892         (AC_SYS_LARGEFILE_MACRO_VALUE): Likewise.
23893         (AC_SYS_LARGEFILE): Likewise.
23894         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
23895         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Remove now-unnecessary use
23896         of changequote.
23897         * m4/regex.m4 (jm_INCLUDED_REGEX): Likewise.
23898         * m4/readdir.m4 (jm_FUNC_READDIR): Likewise
23899         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Likewise, and add `int' for main.
23900         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Likewise.
23901
23902 2000-02-05  Jim Meyering  <meyering@lucent.com>
23903
23904         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require most macros.
23905         Remove explicit use of AC_HEADER_TIME.  It is required by
23906         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Using AC_HEADER_TIME and
23907         `AC_REQUIRE'ing jm_CHECK_TYPE_STRUCT_TIMESPEC provoked a but
23908         in autoconf whereby the expansion of the latter ended up preceding
23909         the expansion of its prerequisite, AC_HEADER_TIME.
23910         Reported by Volker Borchert.
23911
23912 2000-02-03  Jim Meyering  <meyering@lucent.com>
23913
23914         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for utmpxname.
23915
23916 2000-02-03  Jim Meyering  <meyering@lucent.com>
23917
23918         * lib/readutmp.c (read_utmp): Guard with `#ifdef UTMP_NAME_FUNCTION',
23919         rather than with `#if HAVE_UTMPNAME'.
23920
23921 2000-02-02  Jim Meyering  <meyering@lucent.com>
23922
23923         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Fix typo that resulted in no
23924         definition of HAVE_PATHCONF: s/AC_CHECK_FUNC/AC_CHECK_FUNCS/.
23925         Reported by Eli Zaretskii.
23926
23927 2000-02-01  Jim Meyering  <meyering@lucent.com>
23928
23929         * lib/readutmp.h (UT_USER): Add parens.  From Andreas Schwab.
23930
23931 2000-01-31  Jim Meyering  <meyering@lucent.com>
23932
23933         * m4/check-decl.m4 (jm_CHECK_DECLS): Add nanosleep to the list of
23934         functions.  Add the time.h and sys/time.h headers along with the
23935         AC_REQUIRE'ment of AC_HEADER_TIME.
23936
23937 2000-01-31  Jim Meyering  <meyering@lucent.com>
23938
23939         * lib/nanosleep.h (nanosleep): Guard declaration with
23940         `#if ! HAVE_DECL_NANOSLEEP'.
23941         Without this, OFS gets a redeclaration error for rpl_nanosleep, due to
23942         the declaration in that vendor's sys/timers.h.
23943         Reported by Christian Krackowizer.
23944
23945         * lib/quotearg.c (ISASCII): Add #undef and move definition to follow
23946         inclusion of wctype.h to work around Solaris 2.6 namespace pollution.
23947         (ISPRINT): Likewise.
23948         Reported by Tom Tromey.
23949
23950 2000-01-30  Jim Meyering  <meyering@lucent.com>
23951
23952         * m4/lib-check.m4: Clean up some kludgy old shadow password tests.
23953
23954         * m4/prereq.m4 (utmp_includes): Define.
23955         Check for ut_user and ut_name members in both struct utmpx
23956         and struct utmp.
23957
23958 2000-01-30  Jim Meyering  <meyering@lucent.com>
23959
23960         * lib/readutmp.c (extract_trimmed_name): Use UT_USER instead of
23961         hard-coding uses of ->ut_name.  The latter doesn't work with new Linux
23962         header files where only utmpx.ut_user is declared.
23963
23964         * lib/readutmp.h (UT_USER): Define.
23965
23966 2000-01-29  Jim Meyering  <meyering@lucent.com>
23967
23968         * m4/lib-check.m4: New file containing library-related checks from
23969         fileutils and sh-utils (textutils had none).
23970
23971 2000-01-28  Jim Meyering  <meyering@lucent.com>
23972
23973         * m4/perl.m4: Change format of warning message to look more like that
23974         from the missing script.  Suggestion from François Pinard.
23975
23976 2000-01-25  Jim Meyering  <meyering@lucent.com>
23977
23978         * m4/timespec.m4: Require AC_HEADER_TIME, and include sys/time.h as
23979         well as time.h in the compile check.
23980         * m4/nanosleep.m4: Require AC_HEADER_TIME rather than simply using it.
23981         Fix typo in cross-compiling case: s/yes/no/.
23982
23983 2000-01-23  Jim Meyering  <meyering@lucent.com>
23984
23985         * m4/jm-macros.m4: Move df-related tests here from
23986         fileutils/configure.in
23987
23988         * m4/ls-mntd-fs.m4: s/list_mounted_fs/ac_list_mounted_fs/
23989         (jm_LIST_MOUNTED_FILESYSTEMS): Take two parameters.
23990
23991         * m4/fsusage.m4: New file.  Extracted from fileutils/configure.in.
23992         s/space/ac_fsusage_space/.
23993         (jm_FILE_SYSTEM_USAGE): Take two parameters.
23994
23995         * m4/ftruncate.m4: New file (derived from part of
23996         fileutils/configure.in).
23997         * m4/jm-macros.m4 (jm_FUNC_FTRUNCATE): AC_REQUIRE it.
23998         (jm_CHECK_ALL_TYPES): Require AC_HEADER_MAJOR and AC_HEADER_DIRENT.
23999
24000         * m4/jm-macros.m4 (OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, MAN):
24001         AC_SUBST these here, rather than just in sh-util/configure.in, so
24002         that the now-shared-by-fileutils-and-textutils lib/Makefile.am are
24003         all the same.
24004         (AM_FUNC_OBSTACK): Add (from fileutils/configure.in).
24005         (AC_CHECK_FUNCS): Merge all checks from fileutils, textutils, sh-utils.
24006         (AM_FUNC_STRTOD): Added (from textutils', sh-utils' configure.in).
24007         (AC_SUBST(POW_LIBM)): Likewise.
24008         (AC_SUBST(DF_PROG)): Moved from fileutils/configure.in.
24009
24010 2000-01-23  Jim Meyering  <meyering@lucent.com>
24011
24012         * lib/Makefile.am (libfetish_a_SOURCES): Remove explicit mention of
24013         obstack.c.
24014
24015 2000-01-22  Jim Meyering  <meyering@lucent.com>
24016
24017         * m4/jm-macros.m4: Call AC_PROG_CC_STDC just before AC_C_CONST.
24018
24019         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Add wctype.h.
24020
24021         * m4/jm-macros.m4 (AC_CHECK_HEADERS): Add checks from fileutils'
24022         configure.in
24023         (AC_CHECK_HEADERS): Likewise for sh-utils.
24024         (AC_CHECK_HEADERS): Likewise for textutils.
24025         Merge the three lists of headers.
24026
24027         * m4/prereq.m4 (jm_PREREQ_ADDEXT): New macro.  Parts moved here
24028         from fileutils' configure.in.
24029
24030         * m4/decl.m4: Remove kludgy `test -z $ac_...AC_CHECK_HEADERS(...)'
24031         code. Moved tests into their own function (_jm_DECL_HEADERS) in
24032         check-decl.m4.
24033
24034         * m4/check-decl.m4: Use #if rather than #ifdef.
24035         Add HAVE_DECL_STRTOUL and HAVE_DECL_STRTOULL.
24036         (jm_CHECK_DECLARATIONS): Add strtoul strtoull.
24037         (_jm_DECL_HEADERS): Define new function.
24038         (jm_CHECK_DECLARATIONS): Require it.
24039
24040 2000-01-22  Jim Meyering  <meyering@lucent.com>
24041
24042         * lib/strtoumax.c: [! HAVE_DECL_STRTOUL]: Declare strtoul.
24043         [! HAVE_DECL_STRTOULL]: Declare strtoull.
24044         Required for some AIX systems.  Reported by Christian Krackowizer.
24045         [TESTING] (main): New function.
24046
24047         1997-10-17  Eli Zaretskii  <eliz@is.elta.co.il>
24048         * lib/dirname.c (dir_name): Support for DOS-style file names with drive
24049         letters.
24050
24051         * lib/quotearg.c [HAVE_WCTYPE_H]: Include <wctype.h> for decl of
24052         iswprint.
24053
24054         * lib/strverscmp.c (ISDIGIT): Define.
24055         (strverscmp): Use ISDIGIT, not isdigit.
24056
24057 2000-01-19  Jim Meyering  <meyering@lucent.com>
24058
24059         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Include <sys/time.h>, too.
24060         Use AC_HEADER_TIME.  Volker Borchert reported that OpenBSD-2.3/sparc
24061         defines `struct timespec' in <sys/time.h>
24062
24063         * m4/c-bs-a.m4: Remove uses of changequote altogether.
24064         Thanks to Akim for explaining.
24065
24066 2000-01-17  Paul Eggert  <eggert@twinsun.com>
24067
24068         * lib/nanosleep.c (nanosleep):
24069         Don't use SA_INTERRUPT to decide whether to call sigaction, as
24070         POSIX.1 doesn't require SA_INTERRUPT and some systems
24071         (e.g. Solaris 7) don't define it.  Use SA_NOCLDSTOP instead;
24072         it's been part of POSIX.1 since day 1 (in 1988).
24073
24074 2000-01-17  Jim Meyering  <meyering@lucent.com>
24075
24076         * lib/interlock: Remove unused file.  Reported by François Pinard.
24077
24078 2000-01-16  Paul Eggert  <eggert@twinsun.com>
24079
24080         * lib/quotearg.c (quotearg_buffer_restyled): Do not quote
24081         alert, backslash, formfeed, and vertical tab unnecessarily in
24082         shell quoting style.
24083
24084 2000-01-16  Jim Meyering  <meyering@lucent.com>
24085
24086         * m4/jm-macros.m4: Require jm_FUNC_GROUP_MEMBER, jm_FUNC_PUTENV,
24087         AM_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, jm_FUNC_MKTIME,
24088         jm_FUNC_GETGROUPS AC_FUNC_VPRINTF, AC_FUNC_ALLOCA,
24089         AM_FUNC_GETLOADAVG, and jm_SYS_PROC_UPTIME.
24090
24091 2000-01-16  Jim Meyering  <meyering@lucent.com>
24092
24093         * m4/c-bs-a.m4: Use `changequote(<<,>>)', rather than `changequote(, )'
24094         because the latter didn't work.
24095
24096 2000-01-15  Jim Meyering  <meyering@lucent.com>
24097
24098         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add gethostname and getusershell.
24099         (AC_REPLACE_FUNCS): Add memcpy and memset.
24100         Add these, too: stime strcspn stpcpy strstr strtol strtoul.
24101         Add strpbrk.
24102         Add these: euidaccess memcmp mkdir rmdir rpmatch strndup strverscmp.
24103
24104 2000-01-12  Jim Meyering  <meyering@lucent.com>
24105
24106         * m4/prereq.m4 (jm_PREREQ_CANON_HOST): New macro.
24107         (jm_PREREQ): Use it.
24108         (jm_PREREQ_READUTMP): New macro.
24109         (jm_PREREQ): Use it.
24110
24111 2000-01-11  Paul Eggert  <eggert@twinsun.com>
24112
24113         Quote multibyte characters correctly.
24114         * m4/c-bs-a.m4: New file.
24115         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): New macro.
24116         (jm_PREREQ): Use it.
24117
24118 2000-01-11  Paul Eggert  <eggert@twinsun.com>
24119
24120         * m4/uintmax_t.m4: Port to autoconf 2.13.
24121
24122 2000-01-08  Jim Meyering  <meyering@ascend.com>
24123
24124         * m4/strerror_r.m4 (jm_FUNC_STRERROR_R): New file/macro.
24125         * m4/jm-macros.m4 (jm_FUNC_STRERROR_R): Require it.
24126
24127 2000-01-04  Jim Meyering  <meyering@ascend.com>
24128
24129         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename from
24130         jm_STRUCT_DIRENT_D_TYPE.
24131         * m4/d-ino.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_INO): Rename from
24132         jm_STRUCT_DIRENT_D_INO.
24133         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Rename from
24134         jm_STRUCT_UTIMBUF.
24135         * m4/jm-macros.m4: Reflect s/jm_STRUCT_/jm_CHECK_TYPE_STRUCT_/
24136         renamings.
24137         * m4/utime.m4: Likewise.
24138
24139         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): New file, macro.
24140         * m4/jm-macros.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): Require it.
24141
24142 2000-01-03  Paul Eggert  <eggert@twinsun.com>
24143
24144         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Search for nanosleep in -lrt
24145         (for Solaris 7) and in -lposix4 (for Solaris 2.5.1).
24146
24147 2000-01-02  Jim Meyering  <meyering@ascend.com>
24148
24149         * m4/search-libs.m4: Escape `$' in $3 of dnl comment.  I no longer
24150         remember if this is necessary.
24151
24152 1999-12-26  Jim Meyering  <meyering@ascend.com>
24153
24154         * m4/jm-macros.m4: Use it here.
24155         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): New file/macro.
24156
24157 1999-12-23  Jim Meyering  <meyering@ascend.com>
24158
24159         * m4/jm-macros.m4: Check for clock_gettime (moved from
24160         fileutils/configure.in)
24161         Check for gettimeofday.
24162
24163 1999-12-20  Jim Meyering  <meyering@ascend.com>
24164
24165         * m4/strftime.m4: Remove kludge, now that I'm using the fixed
24166         autoconf-2.14a-1999-12-20.
24167
24168 1999-12-19  Jim Meyering  <meyering@ascend.com>
24169
24170         * m4/lstat-slash.m4: New file.
24171         * m4/jm-macros.m4: Use the new macro:
24172         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
24173
24174 1999-12-07  Jim Meyering  <meyering@ascend.com>
24175
24176         * m4/perl.m4: Require that File::Compare be available, too.
24177         Too many systems seem to lack it.
24178
24179         * m4/strftime.m4: Add checks for most of the cpp macros tested in
24180         GNU's strftime.c.  Prompted by a patch from Paul Eggert.
24181
24182 1999-11-18  Paul Eggert  <eggert@twinsun.com>
24183
24184         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around a
24185         problem with the QNX 4.25 shell, which doesn't propagate exit
24186         status of failed commands inside shell assignments.
24187
24188 1999-11-17  Jim Meyering  <meyering@ascend.com>
24189
24190         * m4/gettext.m4: Use new AC_CONFIG_LINKS in place of AC_LINK_FILES.
24191
24192 1999-11-07  Jim Meyering  <meyering@ascend.com>
24193
24194         * m4/getloadavg.m4: Add `, 1, [FIXME]' to each use of AC_DEFINE.
24195
24196 1999-11-06  Jim Meyering  <meyering@ascend.com>
24197
24198         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): New file/macro.
24199         * m4/jm-macros.m4 (jm_MACROS): Use it here.
24200
24201 1999-11-05  Jim Meyering  <meyering@ascend.com>
24202
24203         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Move some tests from
24204         configure.in of textutils, fileutils, and sh-utils into this one
24205         (shared between those packages) file.
24206         Use `AC_CHECK_MEMBERS((struct stat.st_blksize))' instead of deprecated
24207         AC_STRUCT_ST_BLKSIZE.
24208
24209 1999-11-03  Jim Meyering  <meyering@ascend.com>
24210
24211         * m4/ssize_t.m4: Remove file.  No longer needed since the new version
24212         of AC_CHECK_TYPE checks includes unistd.h.
24213         * m4/jm-macros.m4: Use straight `AC_CHECK_TYPE(ssize_t, int)'.
24214         Suggestion from Akim Demaille.
24215
24216 1999-10-30  Jim Meyering  <meyering@ascend.com>
24217
24218         * m4/uintmax_t.m4: Require 2.14a.  Remove backslash before backtick in
24219         m4-quoted string.
24220         * m4/ls-mntd-fs.m4: Likewise.
24221         * m4/jm-macros.m4: Likewise.  Also, use AC_TYPE_SSIZE_T instead
24222         * m4/jm-winsz1.m4: Likewise.
24223
24224         * m4/const.m4: Remove file, since the fix made it into the experimental
24225         version of autoconf.
24226         * m4/mktime.m4: Likewise.
24227
24228         * m4/check-type.m4: Remove file, now that the latest version of
24229         AC_CHECK_TYPE takes a third arg to specify additional #includes.
24230
24231         * m4/ssize_t.m4: New file, requires experimental version of autoconf.
24232         * m4/jm-macros.m4: Use new AC_TYPE_SSIZE_T instead of my hacked
24233         AC_CHECK_TYPE.
24234
24235 1999-10-04  Jim Meyering  <meyering@ascend.com>
24236
24237         * m4/jm-macros.m4: Don't require autoconf-2.14.1.
24238
24239 1999-09-22  Paul Eggert  <eggert@twinsun.com>
24240
24241         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around GCC
24242         2.95.1 bug with HP-UX 10.20.
24243
24244 1999-09-17  Jim Meyering  <meyering@ascend.com>
24245
24246         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add strdup.
24247         Paul Nevai reported a link failure on a NeXT CUBE with NeXTSTEP 3.3
24248         due to missing strdup (against sh-utils-2.0).
24249
24250 1999-08-29  Jim Meyering  <meyering@ascend.com>
24251
24252         * m4/jm-macros.m4: Require jm_BISON.
24253         * m4/bison.m4: New file.
24254
24255 1999-08-17  Paul Eggert  <eggert@twinsun.com>
24256
24257         * m4/largefile.m4 (AC_SYS_LARGEFILE): Fix typo: missing comma
24258         in value for _FILE_OFFSET_BITS, which broke ports to HP-UX 10.20.
24259
24260 1999-08-05  Jim Meyering  <meyering@ascend.com>
24261
24262         * m4/getline.m4: Rename test file from conftestdata to conftest.data
24263         to avoid conflicts with `conftest' on 8+3 filesystems.
24264         Suggestion from Eli Zaretskii.
24265
24266 1999-08-04  Jim Meyering  <meyering@ascend.com>
24267
24268         * m4/jm-macros.m4: Move a 4-line block of code from the configure.in of
24269         fileutils and sh-utils (textutils's getline test was inadequate).
24270         (AM_FUNC_GETLINE): Run this test.
24271         (AC_CHECK_FUNCS): Check for getdelim.
24272         Reported by Bob Proulx.
24273
24274 1999-08-02  Jim Meyering  <meyering@ascend.com>
24275
24276         * m4/jm-macros.m4: Add a comment.
24277
24278 1999-08-01  Paul Eggert  <eggert@twinsun.com>
24279
24280         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check whether
24281         <inttypes.h> defines strtoumax as a macro (and not as a
24282         function).
24283
24284 1999-08-01  Paul Eggert  <eggert@twinsun.com>
24285
24286         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Make sure
24287         that we can shift, multiply and divide unsigned long long
24288         values; Ultrix cc can't do it.
24289
24290 1999-08-01  Paul Eggert  <eggert@twinsun.com>
24291
24292         * m4/mktime.m4: New file, which is a preview of what should appear
24293         in the next public autoconf release.
24294
24295 1999-08-01  Paul Eggert  <eggert@twinsun.com>
24296
24297         * m4/lfs.m4: Remove this file.
24298         * m4/largefile.m4: New file.  It contains the old contents of
24299         lfs.m4, except that all names with prefix AC_LFS have been
24300         changed to use the prefix AC_SYS_LARGEFILE instead, to be
24301         compatible with future autoconf versions.  Also, some minor m4
24302         quoting problems have been fixed.
24303
24304 1999-08-01  Paul Eggert  <eggert@twinsun.com>
24305
24306         * m4/gettext.m4 (AM_WITH_NLS): Remove unnecessary lines.
24307         Fix typo: $nls_cv_header_intl was misspelled as $nsl_cv_header_intl.
24308         (AM_GNU_GETTEXT): Fix problem with brackets and m4 quoting,
24309         and simplify the shell code.
24310
24311 1999-08-01  Jim Meyering  <meyering@ascend.com>
24312
24313         * m4/mktime.m4 (AC_FUNC_MKTIME): Undefine to avoid syntax errors from
24314         m4.
24315
24316 1999-07-20  Jim Meyering  <meyering@ascend.com>
24317
24318         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memmove.
24319
24320 1999-07-15  Jim Meyering  <meyering@ascend.com>
24321
24322         * m4/jm-macros.m4 (AC_CHECK_FUNCS): Check for getpagesize.
24323
24324 1999-05-22  Jim Meyering  <meyering@ascend.com>
24325
24326         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memchr.
24327
24328 1999-05-20  Jim Meyering  <meyering@ascend.com>
24329
24330         * m4/search-libs.m4 [AC_SEARCH_LIBS]: Quote name in undefine.
24331         Add a colon after each `then' in case $4 is empty.
24332
24333 1999-05-16  Jim Meyering  <meyering@ascend.com>
24334
24335         * m4/search-libs.m4: New file to override autoconf's AC_SEARCH_LIBS.
24336
24337 1999-05-10  Jim Meyering  <meyering@ascend.com>
24338
24339         * m4/jm-mktime.m4: Reflect renaming: AM_FUNC_MKTIME -> AC_FUNC_MKTIME.
24340
24341         * m4/jm-macros.m4: Require 2.14.1, since we use newly-renamed
24342         AC_FUNC_MKTIME.
24343
24344 1999-05-10  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>
24345
24346         * m4/jm-mktime.m4, putenv.m4: Fix typos in config.h comments.
24347
24348 1999-05-04  Paul Eggert  <eggert@twinsun.com>
24349
24350         * m4/lfs.m4 (AC_LFS): -n32, -o32, and -n64 should be in CFLAGS,
24351         not CPPFLAGS, so that linking works correctly in IRIX.
24352
24353 1999-04-30  Paul Eggert  <eggert@twinsun.com>
24354
24355         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add dup2.
24356
24357 1999-04-20  Paul Eggert  <eggert@twinsun.com>
24358
24359         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Move unsigned long
24360         long check into new jm_AC_TYPE_UNSIGNED_LONG_LONG macro.
24361         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require
24362         jm_AC_TYPE_UNSIGNED_LONG_LONG.
24363         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): New file/macro.
24364
24365         * m4/lfs.m4: Port to AIX and HP-UX.  Support cross-compilation.
24366
24367 1999-04-20  Jim Meyering  <meyering@ascend.com>
24368
24369         * m4/xstrtoumax.m4: Require jm_AC_TYPE_UNSIGNED_LONG_LONG.
24370         AC_REPLACE xstroull if necessary.  From Paul Eggert.
24371         (AC_CHECK_FUNCS): Remove strtoull, strtoumax, strtouq.
24372
24373 1999-04-18  Jim Meyering  <meyering@ascend.com>
24374
24375         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): New file/macro.
24376         * m4/jm-macros.m4: Use it.
24377
24378 1999-04-06  Jim Meyering  <meyering@ascend.com>
24379
24380         * m4/strftime.m4: Remove test for %f.
24381
24382 1999-03-29  Jim Meyering  <meyering@ascend.com>
24383
24384         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): New macro, contains the
24385         superset of the AC_TYPE_* checks in the textutils, fileutils,
24386         and sh-utils, plus AC_TYPE_PID_T.  Paul Eggert suggested adding
24387         AC_TYPE_PID_T.
24388
24389 1999-03-28  Jim Meyering  <meyering@ascend.com>
24390
24391         * m4/jm-macros.m4: Define GNU_PACKAGE here.
24392         Be sure to AC_SUBST it, once again, so that @GNU_PACKAGE@ is
24393         replaced e.g., in the *.sh files of the sh-utils.
24394
24395 1999-03-20  Jim Meyering  <meyering@ascend.com>
24396
24397         * m4/jm-macros.m4: s/jm_WITH_REGEX/jm_INCLUDED_REGEX/.
24398         * m4/regex.m4 (jm_INCLUDED_REGEX): Rename from jm_WITH_REGEX.
24399         Don't depend on AM_GLIBC.  Suggestions from Alain Magloire.
24400
24401 1999-03-19  Jim Meyering  <meyering@ascend.com>
24402
24403         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): New macro.
24404
24405 1999-03-12  Jim Meyering  <meyering@ascend.com>
24406
24407         * m4/jm-macros.m4: Use AC_FUNC_SETVBUF_REVERSED.
24408
24409 1999-03-07  Jim Meyering  <meyering@ascend.com>
24410
24411         * m4/jm-glibc-io.m4: Use only those *_unlocked macros that are
24412         declared.
24413
24414 1999-02-17  Jim Meyering  <meyering@ascend.com>
24415
24416         * m4/gettext.m4 (AM_GNU_GETTEXT): Do `changequote' around use of
24417         brackets in macro definition.  From Eli Zaretskii and Alain Magloire.
24418
24419 1999-02-07  Jim Meyering  <meyering@ascend.com>
24420
24421         * m4/group-member.m4: New file -- extracted from sh-utils'
24422         configure.in.
24423
24424         1999-02-05  Eli Zaretskii  <eliz@is.elta.co.il>
24425         * m4/gettext.m4: Support DOS-style d:/foo/bar absolute file names.
24426
24427 1999-02-06  Jim Meyering  <meyering@ascend.com>
24428
24429         * m4/chown.m4: Use `AC_SUBST(LIBOBJS)' since we set LIBOBJS.
24430         * m4/fnmatch.m4: Likewise.
24431         * m4/getgroups.m4: Likewise.
24432         * m4/lstat.m4: Likewise.
24433         * m4/malloc.m4: Likewise.
24434         * m4/putenv.m4: Likewise.
24435         * m4/realloc.m4: Likewise.
24436         * m4/regex.m4: Likewise.
24437         * m4/stat.m4: Likewise.
24438         * m4/strftime.m4: Likewise.
24439         Suggestion from Alain Magloire.
24440
24441         * m4/chown.m4: Use `.$ac_objext', not `.o'.
24442         * m4/fnmatch.m4: Likewise.
24443         * m4/getgroups.m4: Likewise.
24444         * m4/getline.m4: Likewise.
24445         * m4/lstat.m4: Likewise.
24446         * m4/malloc.m4: Likewise.
24447         * m4/memcmp.m4: Likewise.
24448         * m4/putenv.m4: Likewise.
24449         * m4/realloc.m4: Likewise.
24450         * m4/regex.m4: Likewise.
24451         * m4/stat.m4: Likewise.
24452         * m4/strftime.m4: Likewise.
24453         Suggestion from Alain Magloire.
24454
24455         * m4/jm-macros.m4: Actually invoke jm_WITH_REGEX now that it requires
24456         an argument.
24457
24458         * m4/regex.m4: Add a run-time Test for proper operation of
24459         re_compile_pattern.
24460
24461 1999-01-31  Jim Meyering  <meyering@ascend.com>
24462
24463         * m4/getloadavg.m4: Check for locale.h and the function, setlocale.
24464
24465 1999-01-30  Jim Meyering  <meyering@ascend.com>
24466
24467         * m4/check-type.m4: Use 3-arg form of AC_DEFINE.
24468
24469         * m4/jm-mktime.m4: Make this a wrapper around the official
24470         AM_FUNC_MKTIME rather than my private copy, now that the official one
24471         is up to date.
24472         * m4/mktime.m4: Remove file.
24473
24474         * m4/getloadavg.m4: Use 3-arg form of AC_DEFINE.
24475         * m4/uptime.m4: Likewise.
24476         * m4/uintmax_t.m4: Likewise.
24477
24478 1999-01-28  Jim Meyering  <meyering@ascend.com>
24479
24480         * m4/jm-macros.m4: Use jm_AFS.
24481         * m4/afs.m4: New file (from fileutils' configure.in).
24482
24483         * m4/assert.m4: Use the 3-argument forms of AC_DEFINE* macros.
24484         * m4/chown.m4: Likewise.
24485         * m4/d-ino.m4: Likewise.
24486         * m4/d-type.m4: Likewise.
24487         * m4/fnmatch.m4: Likewise.
24488         * m4/getgroups.m4: Likewise.
24489         * m4/gettext.m4: Likewise.
24490         * m4/jm-mktime.m4: Likewise.
24491         * m4/jm-winsz2.m4: Likewise.
24492         * m4/lcmessage.m4: Likewise.
24493         * m4/ls-mntd-fs.m4: Likewise.
24494         * m4/malloc.m4: Likewise.
24495         * m4/memcmp.m4: Likewise.
24496         * m4/putenv.m4: Likewise.
24497         * m4/realloc.m4: Likewise.
24498         * m4/st_mtim.m4: Likewise.
24499         * m4/strftime.m4: Likewise.
24500
24501 1999-01-16  Jim Meyering  <meyering@ascend.com>
24502
24503         * m4/jm-macros.m4 (ARGMATCH_DIE): Define.
24504         (ARGMATCH_DIE_DECL): Define.
24505
24506 1999-01-12  Jim Meyering  <meyering@ascend.com>
24507
24508         * m4/Makefile.am.in: Rewrite to avoid using fmt.
24509         Reported by Lars Hecking.
24510
24511 1999-01-10  Jim Meyering  <meyering@ascend.com>
24512
24513         * m4/fstypename.m4: Use the new 3-arg form of AC_DEFINE instead of my
24514         gross kludge.
24515         * m4/inttypes_h.m4: Likewise.
24516         * m4/lstat.m4: Likewise.
24517         * m4/malloc.m4: Likewise.
24518         * m4/readdir.m4: Likewise.
24519         * m4/realloc.m4: Likewise.
24520         * m4/st_dm_mode.m4: Likewise.
24521         * m4/stat.m4: Likewise.
24522         * m4/utimbuf.m4: Likewise.
24523         * m4/utimes.m4: Likewise.
24524
24525         * m4/check-decl.m4: Use the new 3-arg form of AC_DEFINE instead of the
24526         AC_CHECK_FUNCS hack.  Now, it's still a hack, but at least the
24527         comments in config.h.in are meaningful.
24528
24529         * m4/jm-macros.m4: Require autoconf-2.13 here.
24530
24531         * m4/regex.m4: By default, don't use the included regex.c on systems
24532         with glibc 2.  Suggestion from Uli Drepper.
24533
24534 1999-01-02  Jim Meyering  <meyering@ascend.com>
24535
24536         * m4/jm-macros.m4: Replace strcasecmp and strncasecmp.
24537
24538 1998-12-18  Jim Meyering  <meyering@ascend.com>
24539
24540         * m4/Makefile.am.in (Makefile.am): Simplify rule.
24541         Based on a suggestion from Lars Hecking.
24542
24543 1998-11-16  Paul Eggert  <eggert@twinsun.com>
24544
24545         * m4/lfs.m4 (AC_LFS): Add support for HP-UX 10.20 and HP-UX 11.
24546
24547 1998-11-16  Jim Meyering  <meyering@ascend.com>
24548
24549         * m4/lfs.m4: Double-quote the `uname...` expression.
24550
24551 1998-11-14  Jim Meyering  <meyering@ascend.com>
24552
24553         * m4/lstat.m4: Correct comment.  POSIX does not permit it to succeed.
24554         * m4/stat.m4: Likewise.
24555
24556 1998-11-03  Jim Meyering  <meyering@ascend.com>
24557
24558         * m4/stat.m4: Rewrite to set HAVE_STAT_EMPTY_STRING_BUG.
24559         * m4/lstat.m4: Rewrite to set HAVE_LSTAT_EMPTY_STRING_BUG.
24560
24561 1998-10-18  Jim Meyering  <meyering@ascend.com>
24562
24563         * m4/check-decl.m4 (jm_CHECK_DECL_LOCALTIME_R): Remove macro.
24564
24565 1998-10-17  Jim Meyering  <meyering@ascend.com>
24566
24567         * m4/decl.m4 (jm_CHECK_DECLARATION): Don't hard-code which headers to
24568         include, though we still hard-code the `require'-like AC_CHECK_HEADERS
24569         calls for those previously hard-coded headers.  Instead, take a new
24570         parameter.
24571         (jm_CHECK_DECLARATIONS): Reflect interface change.
24572         * m4/check-decl.m4 (jm_CHECK_DECLS): Likewise.
24573         (jm_CHECK_DECL_LOCALTIME_R): New macro.
24574
24575         * m4/mktime.m4: Test for spring-forward gap before long-running test.
24576
24577 1998-10-14  Jim Meyering  <meyering@ascend.com>
24578
24579         * m4/mktime.m4: Use the more portable "TZ=PST8PDT,M4.1.0,M10.5.0"
24580         instead of "TZ=America/Vancouver".  From Paul Eggert.
24581
24582 1998-10-11  Jim Meyering  <meyering@ascend.com>
24583
24584         * m4/mktime.m4 (jm_AM_FUNC_MKTIME): New file and macro.
24585         This adds a test for a recently added compatibility fix for mktime.c.
24586         * m4/jm-mktime.m4: Require jm_AM_FUNC_MKTIME, not AM_FUNC_MKTIME.
24587
24588 1998-09-27  Jim Meyering  <meyering@ascend.com>
24589
24590         * m4/jm-macros.m4 (jm_MACROS): Require jm_FUNC_FNMATCH.
24591
24592         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): New file/macro.  Extracted from
24593         ../configure.in, including a change from Gordon Matzigkeit to allow
24594         cross-compiling for the Hurd.
24595
24596         * m4/glibc.m4: New file/macro to test for the GNU C Library
24597         versions 1 and 2.  From Gordon Matzigkeit.
24598         Indent.
24599
24600 1998-09-21  Jim Meyering  <meyering@ascend.com>
24601
24602         * m4/chown.m4: Declare locals: before, after.  From Andries Brouwer.
24603
24604 1998-08-18  Paul Eggert  <eggert@twinsun.com>
24605
24606         Port nanosecond-resolution times to UnixWare 2.1.2 and
24607         pedantic Solaris 2.6.
24608
24609         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC): Renamed from
24610         AC_STRUCT_ST_MTIM.
24611         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC):
24612         Generate name of ns member, instead of just 1 or undef.
24613         Allow for UnixWare 2.1.2 and Solaris 2.6 if in pedantic mode.
24614
24615 1998-08-15  Jim Meyering  <meyering@ascend.com>
24616
24617         * m4/ssize_t.m4 (jm_TYPE_SSIZE_T): Remove file.
24618         * m4/check-type.m4: New file.  Replacement for AC_CHECK_TYPE.
24619         * m4/jm-macros.m4: Use the new AC_CHECK_TYPE(ssize_t, int)
24620         instead of jm_TYPE_SSIZE_T.
24621
24622 1998-08-12  Jim Meyering  <meyering@ascend.com>
24623
24624         * m4/st_dm_mode.m4: New file.  From Johan Danielsson.
24625
24626 1998-08-02  Jim Meyering  <meyering@ascend.com>
24627
24628         * m4/st_mtim.m4: Use hack to avoid having to put #undef HAVE_ST_MTIM
24629         in acconfig.h manually.
24630
24631 1998-07-31  Paul Eggert  <eggert@twinsun.com>
24632
24633         * m4/st_mtim.m4: New file.
24634
24635 1998-07-28  Jim Meyering  <meyering@ascend.com>
24636
24637         * m4/utimes.m4: Undef stat.
24638
24639 1998-07-25  Jim Meyering  <meyering@ascend.com>
24640
24641         * m4/utime.m4 (jm_FUNC_UTIME): New file and macro.
24642         * m4/utimes.m4 (jm_FUNC_UTIMES_NULL): New file and macro.
24643
24644 1998-07-09  Manfred Hollstein  <manfred@s-direktnet.de>
24645
24646         * m4/chown.m4 (jm_FUNC_CHOWN): Add a check to verify that the
24647         uid and gid actually remain unchanged.
24648
24649 1998-07-07  Jim Meyering  <meyering@ascend.com>
24650
24651         * m4/jm-glibc-io.m4: Remove fclose_unlocked.
24652
24653 1998-07-04  Jim Meyering  <meyering@ascend.com>
24654
24655         * m4/regex.m4: Use syscmd, ifelse, and sysval.  Mainly as an exercise
24656         to prove that this macro can be used in packages without regex.c.
24657
24658 1998-07-04  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
24659
24660         * m4/gettext.m4 (AM_WITH_NLS): Remove intl/libintl.h if <libintl.h>
24661         is to be used.
24662
24663 1998-07-03  Jim Meyering  <meyering@ascend.com>
24664
24665         * m4/gettext.m4: Add -lintl if it's found to be necessary.
24666
24667         * m4/gettext.m4: New file -- from gettext-0.10.35.
24668         * m4/lcmessage.m4: Likewise.
24669         * m4/progtest.m4: Likewise.
24670
24671         * m4/regex.m4 (jm_WITH_REGEX): New file and macro.
24672         * m4/jm-macros.m4: Require the new macro.
24673
24674 1998-06-29  Jim Meyering  <meyering@ascend.com>
24675
24676         * m4/fstypename.m4: Include sys/param.h.  NetBSD 1.3.1 requires this
24677         for the definition of NGROUPS (used in a system header included
24678         by sys/mount.h).
24679
24680 1998-06-28  Jim Meyering  <meyering@ascend.com>
24681
24682         * m4/ls-mntd-fs.m4: New file.
24683         * m4/fstypename.m4: New file.
24684
24685         * m4/jm-macros.m4: Require the new macro.
24686         * m4/jm-glibc-io.m4: New file.
24687
24688 1998-05-19  Jim Meyering  <meyering@ascend.com>
24689
24690         * m4/jm-macros.m4: Add jm_FUNC_LCHOWN.
24691         * m4/lchown.m4: New file.
24692
24693         * m4/Makefile.am.in: New file.
24694         * m4/Makefile.am (Makefile.am): Depend on Makefile.am.in.
24695
24696 1998-05-14  Jim Meyering  <meyering@ascend.com>
24697
24698         * m4/Makefile.am (EXTRA_DIST): Add them.
24699         * m4/jm-macros.m4: New file.
24700         * m4/utimbuf.m4: New file.
24701
24702 1998-05-12  Jim Meyering  <meyering@ascend.com>
24703
24704         * m4/Makefile.am (EXTRA_DIST): Add isc-posix.m4.
24705
24706 1998-05-11  Jim Meyering  <meyering@ascend.com>
24707
24708         * m4/isc-posix.m4: New file.
24709
24710 1998-05-10  Jim Meyering  <meyering@ascend.com>
24711
24712         * m4/jm-mktime.m4: Use AM_FUNC_MKTIME, now that it's up to date.
24713
24714 1998-05-09  Jim Meyering  <meyering@ascend.com>
24715
24716         * m4/Makefile.am (EXTRA_DIST): Add ssize_t.m4.
24717         (EXTRA_DIST): Remove mktime.m4, now that the new version is included
24718         with automake.
24719
24720         * m4/ssize_t.m4: New file.
24721         * m4/mktime.m4: Remove file -- the new automake has this now.
24722
24723 1998-04-26  Jim Meyering  <meyering@ascend.com>
24724
24725         * m4/assert.m4: New file.
24726         * m4/Makefile.am (EXTRA_DIST): Add assert.m4.
24727
24728 1998-04-05  Jim Meyering  <meyering@ascend.com>
24729
24730         * m4/prereq.m4 (jm_PREREQ_REGEX): New macro.
24731         (jm_PREREQ): Use it here.
24732
24733 1998-03-23  Jim Meyering  <meyering@eng.ascend.com>
24734
24735         * m4/inttypes_h.m4: Kludges so I don't have to add HAVE_INTTYPES_H
24736         in acconfig.h.
24737
24738 1998-03-15  Jim Meyering  <meyering@eng.ascend.com>
24739
24740         * m4/prereq.m4: New file.
24741         * m4/error.m4: New file.
24742         * m4/Makefile.am (EXTRA_DIST): Add error.m4 and prereq.m4.
24743
24744 1998-02-07  Jim Meyering  <meyering@eng.ascend.com>
24745
24746         * m4/getline.m4: Don't set am_cv_func_working_getline before the
24747         cache-check for the same variable -- that defeated the purpose of
24748         the test; the test program was never run.  This was a problem only
24749         on systems with losing getline functions -- HP-UX 10.20 is one.
24750         Reported by Bjorn Helgaas.
24751
24752 1998-02-06  Jim Meyering  <meyering@eng.ascend.com>
24753
24754         * m4/Makefile.am (EXTRA_DIST): Add perl.m4.
24755
24756 1998-01-10  Jim Meyering  <meyering@na-net.ornl.gov>
24757
24758         * m4/Makefile.am (EXTRA_DIST): Add const.m4.
24759
24760         * m4/const.m4: New file.  Use an initializer in this declaration
24761         typedef int charset[2]; const charset x;
24762         Reported by Bob Glickstein.
24763
24764 1997-12-21  Jim Meyering  <meyering@na-net.ornl.gov>
24765
24766         * m4/chown.m4: Fix reversed types on -1 args to chown.
24767         From Kaveh Ghazi.
24768
24769 1997-12-14  Jim Meyering  <meyering@na-net.ornl.gov>
24770
24771         * m4/check-decl.m4: s/DECLARATION_/DECL_/g.
24772         Add lseek and memchr.
24773
24774         * m4/decl.m4: s/HAVE_DECLARATION_/HAVE_DECL_/g.
24775         T.E.Dickey <dickey@clark.net> said that some older preprocessors
24776         have a 20-character limit on names.
24777
24778 1997-11-30  Jim Meyering  <meyering@na-net.ornl.gov>
24779
24780         * m4/inttypes_h.m4: New file.
24781         * m4/uintmax_t.m4: New file.
24782         * m4/Makefile.am (EXTRA_DIST): Add inttypes_h.m4 and uintmax_t.m4.
24783
24784 Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007
24785   Free Software Foundation, Inc.
24786 Copying and distribution of this file, with or without modification,
24787 are permitted provided the copyright notice and this notice are preserved.