Fix bug reported by Bruno Haible in
[pspp] / ChangeLog
1 2006-12-23  Paul Eggert  <eggert@cs.ucla.edu>
2
3         Fix bug reported by Bruno Haible in
4         <http://lists.gnu.org/archive/html/bug-gnulib/2006-12/msg00228.html>
5         where quotearg.c didn't compile on Mac OS X 10.2 because it
6         lacks <wchar.h> and wint_t.
7         * lib/wctype_.h (__wctype_wint_t): New type.
8         Include <stdio.h>, <time.h>, <wchar.h> only if HAVE_WINT_T.
9         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph):
10         (iswlower, iswprint, iswpunct, iswspace, iswupper, ixwxdigit):
11         Arg is now of type __wctype_wint_t, not wint_t.
12         * m4/wctype.m4 (gl_WCTYPE_H): Require gt_TYPE_WINT_T, and
13         substitute HAVE_WINT_T.
14         * modules/wctype (Files): Add m4/wint_t.m4.
15         (wctype.h): Substitute HAVE_WINT_T.
16
17 2006-12-23  Bruno Haible  <bruno@clisp.org>
18
19         * lib/safe-read.h [C++]: Wrap declarations in extern "C".
20
21 2006-12-23  Bruno Haible  <bruno@clisp.org>
22
23         * lib/canonicalize-lgpl.c (__realpath): Test HAVE_READLINK instead of
24         S_ISLNK.
25         Needed because gnulib's sys/stat.h replacement defines S_ISLNK on
26         mingw.
27
28 2006-12-22  Bruno Haible  <bruno@clisp.org>
29
30         * lib/copy-file.c: Include acl.h.
31         (copy_file_preserving) [USE_ACL]: Use copy_acl instead of chmod.
32         Close the file descriptors only after being done with copy_acl.
33         * modules/copy-file (Depends-on): Add acl.
34
35 2006-12-22  Bruno Haible  <bruno@clisp.org>
36
37         * gnulib-tool (SED): New variable.
38         Use $SED instead of sed everywhere.
39
40 2006-12-22  Bruno Haible  <bruno@clisp.org>
41
42         * modules/no-c++: New file.
43         * m4/no-c++.m4: New file.
44         * MODULES.html.sh (Support for building libraries and executables):
45         Add no-c++.
46
47 2006-12-22  Paul Eggert  <eggert@cs.ucla.edu>
48
49         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
50         Include <limits.h>, and use its INT_MAX to rewrite the
51         j loop so that it does not overflow 'int'.  Problem reported by
52         Ralf Wildenhues in
53         <http://lists.gnu.org/archive/html/bug-gnulib/2006-12/msg00084.html>.
54         Play it safe by shifting left by 1 rather than multiplying by 2,
55         as GCC is less likely to optimize this away when the value
56         is signed (when it assumes overflow leads to undefined behavior).
57         Also, don't assume time_t uses two's complement.
58
59 2006-12-21  Paul Eggert  <eggert@cs.ucla.edu>
60
61         * MODULES.html.sh: New module wctype.
62         * lib/wctype_.h, m4/wctype.m4, modules/wctype: New files.
63         * lib/fnmatch.c: Don't bother to include <wchar.h> before
64         <wctype.h>, since the new wctype module should fix this.
65         * lib/quotearg.c: Include <wctype.h> unconditionally, since
66         the wctype module should arrange for it.
67         * lib/regex_internal.h: Likewise.
68         * m4/quotearg.m4 (gl_QUOTEARG): Don't check for wctype.h or iswprint,
69         since the wctype module should handle this now.
70         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for wctype.h.
71         * modules/fnmatch (Depends-on): Add wctype.
72         * modules/quotearg (Depends-on): Likewise.
73         * modules/regex (Depends-on): Likewise.
74
75 2006-12-19  Bruno Haible  <bruno@clisp.org>
76
77         * lib/strdup.h [C++]: Wrap definitions in extern "C".
78         Suggested by Lorenzo Bettini <bettini@dsi.unifi.it>.
79
80 2006-12-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
81
82         * modules/savewd (Depends-on): Fix dependency on fcntl.
83
84 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
85
86         * m4/stdint.m4 (gl_STDINT_H): Set STDINT_H to empty if stdint.h
87         conforms to C99, rather than relying on the user's environment
88         setting of STDINT_H.
89
90 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
91         and Eric Blake  <ebb9@byu.net>
92
93         * lib/dirname.h (DOUBLE_SLASH_IS_DISTINCT_ROOT): Default to 0, not 1.
94         This is more consistent with the other defines here.
95         * m4/double-slash-root.m4 (gl_DOUBLE_SLASH_ROOT):
96         Port to z/OS.  Problem reported by Paul Gilmartin.
97         Change local vars to use gl_ prefix rather than ac_.
98         Don't define DOUBLE_SLASH_IS_DISTINCT_ROOT to 0, for consistency
99         with other defines.
100         * modules/double-slash-root: New module.
101         * modules/dirname (Files): Remove m4/double-slash-root.m4.
102         (Depends-on): Add double-slash-root.
103         * MODULES.html.sh (File system functions): Mention new module.
104
105 2006-12-14  Paul Eggert  <eggert@cs.ucla.edu>
106
107         * lib/yesno.c [!ENABLE_NLS]: Don't include getline.h.
108         (yesno) [!ENABLE_NLS]: Don't invoke getline or rpmatch.
109         This is for the benefit of gzip, which doesn't do i18n.
110
111 2006-12-12  Jim Meyering  <jim@meyering.net>
112
113         * m4/acl.m4 (gl_ACL_GET_FILE): Fix logic error.
114         Reported by Andreas Schwab <schwab@suse.de>.
115
116 2006-12-12  Bruno Haible  <bruno@clisp.org>
117
118         Merge these changes.
119         2006-09-05  Bruno Haible  <bruno@clisp.org>
120         * lib/iconvme.c (iconv_string): No need to save and restore errno when
121         iconv_alloc succeeded.
122         (iconv_alloc): Don't assume that malloc() or realloc(), when failing,
123         sets errno to ENOMEM. (malloc on GNU/kFreeBSD doesn't.) No need to
124         test for " && dest " at the end - dest is always != NULL there. Call
125         iconv with 4xNULL arguments initially, to reset the state. Call iconv
126         with 2xNULL arguments, also to flush the state storage. Handle the
127         IRIX iconv behaviour. Realloc the final result, to throw away unused
128         memory.
129
130 2006-12-11  Paul Eggert  <eggert@cs.ucla.edu>
131
132         * m4/openat.m4 (gl_FUNC_OPENAT): Don't compile mkdirat
133         and fchmodat unconditionally, since glibc 2.4 has them.
134         Problem reported by Arkadiusz Miskiewicz.
135
136 2006-12-10  Bruno Haible  <bruno@clisp.org>
137
138         * gnulib-tool (func_import): Show the include files only for those
139         modules that are copied and specified.
140         Reported by Karl Berry.
141
142 2006-12-08  Jim Meyering  <jim@meyering.net>
143
144         * build-aux/announce-gen ($VERSION): Don't use of $Revision...$.
145         Instead, use Emacs' time-stamp write hook.  Note that the time is UTC.
146
147         * build-aux/announce-gen: Add two new options, both optional:
148         --bootstrap-tools=TOOL_LIST
149               a comma-separated list of tools, e.g.,
150               autoconf,automake,bison,gnulib
151         --gnulib-snapshot-date=DATE
152               if gnulib is in the bootstrap tool list,
153               then report this as the snapshot date.
154               If not specified, use the current date/time.
155               If you specify a date here, be sure it's UTC.
156
157 2006-12-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
158
159         * tests/test-argp-2.sh: Fix test to match actual output.
160         (func_compare): Fix sed script to be portable.
161
162 2006-12-05  Paul Eggert  <eggert@cs.ucla.edu>
163
164         * lib/utimens.c (futimens) [HAVE_BUGGY_NFS_TIME_STAMPS]: Add a
165         workaround for this case.  It is not autoconfigured now; offhand
166         it's hard to see how to autoconfigure it.
167
168 2006-12-03  Paul Eggert  <eggert@cs.ucla.edu>
169
170         * lib/mkdir-p.c (make_dir_parents): Fix race condition when making
171         a directory that is about to be chowned.  Such a directory's
172         initial file permissions should permit the owner only and this
173         should not be changed until after the chown, since the group and
174         other bits would be incorrect if they granted permission before
175         the chown.
176
177         Fix porting problem for iswctype reported by Georg Schwarz in:
178         http://lists.gnu.org/archive/html/bug-coreutils/2006-12/msg00017.html
179         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Require HAVE_ISWCTYPE, too.
180         * lib/regex_internal.h (RE_ENABLE_I18N): Likewise.
181         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for iswctype, too.
182         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
183
184 2006-12-03  Jim Meyering  <jim@meyering.net>
185
186         * lib/fts.c (fts_load): Don't set sp->fts_dev here, since
187         p->fts_statp may not yet be defined.
188         (fts_read): Instead, set it in the caller, once p->fts_statp is
189         sure to be defined, and corresponds to a top-level directory.
190         This bug made du -x fail.  Here's the coreutils test case:
191         http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commit;h=ba45154d8e9f
192         Reported by Mike Frysinger.
193
194 2006-12-01  Jim Meyering  <jim@meyering.net>
195
196         * modules/savewd (Depends-on): Add fcntl_h to avoid self-test
197         build failure due to missing definition of HAVE_WORKING_O_NOFOLLOW.
198         Reported by Simon Josefsson.
199
200 2006-11-30  Jim Meyering  <jim@meyering.net>
201
202         * m4/warning.m4: Use the all-permissive copyright notice
203         recommended by RMS (rather than LGPL).
204         * m4/vararrays.m4: Likewise.
205         * m4/flexmember.m4: Likewise.
206
207 2006-11-29  Bruno Haible  <bruno@clisp.org>
208
209         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
210         noinst_LIBRARIES. Augment noinst_LIBRARIES and noinst_LTLIBRARIES
211         using +=.
212         Reported by Simon Josefsson <simon@josefsson.org>.
213
214 2006-11-28  James Youngman <jay@gnu.org>
215
216         * README: Advise users that they might find the bug-gnulib@gnu.org
217         and autotools-announce@gnu.org mailing lists useful.
218
219 2006-11-28  Bruno Haible  <bruno@clisp.org>
220
221         * m4/ptrdiff_max.m4: Remove file.
222
223 2006-11-21  Bruno Haible  <bruno@clisp.org>
224
225         * m4/eoverflow.m4 (gl_EOVERFLOW): Use AC_COMPUTE_INT instead of
226         _AC_COMPUTE_INT.
227         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
228         * m4/ptrdiff_max.m4 (gl_PTRDIFF_MAX): Use AC_COMPUTE_INT instead of
229         _AC_COMPUTE_INT.
230         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
231         * m4/size_max.m4 (gl_SIZE_MAX): Use AC_COMPUTE_INT instead of
232         _AC_COMPUTE_INT.
233         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
234
235 2006-11-28  Jim Meyering  <jim@meyering.net>
236
237         * lib/regcomp.c (parse_branch): Rename local, exp->expr, to avoid
238         warning from "gcc -Wshadow" about shadowing the builtin.
239
240 2006-11-27  Bruno Haible  <bruno@clisp.org>
241
242         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): Use AC_COMPUTE_INT instead of
243         _AC_COMPUTE_INT.
244         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
245
246 2006-11-27  Bruno Haible  <bruno@clisp.org>
247             Paul Eggert  <eggert@cs.ucla.edu>
248
249         * lib/regex.h (__restrict_arr): Redo logic of #if, for clarity.
250
251 2006-11-26  Bruno Haible  <bruno@clisp.org>
252
253         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
254         noinst_LTLIBRARIES.
255
256 2006-11-27  Paul Eggert  <eggert@cs.ucla.edu>
257             Bruno Haible  <bruno@clisp.org>
258
259         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to 0
260         if compiling with "gcc -ansi".
261
262 2006-11-26  Paul Eggert  <eggert@cs.ucla.edu>
263
264         Fix some incompatibilities with gcc -ansi -pedantic.
265         * lib/regex.h (__restrict_arr): Don't use the [restrict] syntax
266         if compiling pedantically with GCC, unless it's C99 or later.
267         Don't trust sys/cdefs.h's definition of __restrict_arr, either, as
268         it mishandles gcc -ansi -pedantic as well.
269         * lib/regex_internal.h (re_token_t): Don't use enum bitfields
270         if gcc -pedantic.
271         * lib/regexec.c (check_node_accept_bytes): Don't use auto
272         initializers for struct if -pedantic, unless it's C99 or later.
273
274 2006-11-25  Nix  <nix@esperi.org.uk>  (tiny change)
275
276         * m4/fcntl_h.m4 (gl_FCNTL_H): Test the atime, not the mtime.
277         Don't close an fd more than once. Identical atimes indicate
278         success, not failure.
279
280 2006-11-22  Robinson Mittmann <bob@hoplon.com>  (tiny change)
281
282         * lib/sincosl.c (kernel_sinl): Fix typo in threshold.
283
284 2006-11-23  Jim Meyering  <jim@meyering.net>
285
286         * build-aux/announce-gen: New file.  From coreutils.
287
288 2006-11-22  Jim Meyering  <jim@meyering.net>
289
290         Work around a compile-time error from the HP-UX 11.00 /bin/cc.
291         * lib/fts.c (enum Fts_stat): Give this previously-anon enum a name.
292         (fts_read): Use a temporary to narrow the overused st_size member
293         before using it in a switch statement.  Reported by Matthew Woehlke.
294
295         * m4/clock_time.m4 (gl_CLOCK_TIME): Quote AC_SUBST argument.
296         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
297
298 2006-11-20  Bruno Haible  <bruno@clisp.org>
299
300         * gettext.m4 (AM_GNU_GETTEXT): Revert 2005-07-28 patch: Use
301         changequote instead of pairs of brackets.
302         Reported by Andreas Schwab <schwab@suse.de>.
303
304 2006-11-21  Jim Meyering  <jim@meyering.net>
305
306         * lib/fts.c (fts_safe_changedir): Move a declaration "up",
307         so as to remain compatible with older compilers.
308         Patch from Michael Deutschmann.
309
310 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
311
312         * MODULES.html.sh (File system functions): Add openat.
313
314         * lib/openat.h (rpl_fstatat): New macro, if
315         [HAVE_OPENAT && ! LSTAT_FOLLOWS_SLASHED_SYMLINK.
316         (fstatat): Define to rpl_fstatat under the same conditions,
317         unless COMPILING_FSTATAT.
318         * m4/openat.m4 (gl_FUNC_OPENAT): Compile fstatat.c too, if fstatat
319         seems to have the bug.
320         * lib/fstatat.c: New file.
321         * modules/openat (Files): Add it.
322
323 2006-11-20  Bruno Haible  <bruno@clisp.org>
324
325         * Makefile: New file.
326
327 2006-11-20  Jim Meyering  <jim@meyering.net>
328
329         The beginnings of syntax-related checks for gnulib.
330         * lib/Makefile: New file.
331         * lib/t-idcache: New script.  Ensure that the two halves of
332         idcache.c stay in sync.
333
334         * lib/idcache.c: Adjust comments in user- and group- portions to
335         be more accurate, and to be consistent with one another.
336
337 2006-11-20  Jim Meyering  <jim@meyering.net>
338
339         * lib/idcache.c: Restore most of the 2006-11-06 patch, so as to
340         continue using the flexible array member (thus, this module performs
341         half as many malloc calls), with the addition that...
342         (getgroup, getuser): Consistently record a non-match via an empty
343         "name" string, and map an empty string match to a NULL return value.
344         * modules/idcache (Depends-on): Re-add flexmember.
345
346         * lib/idcache.c (getuser): Remove all uses of the register keyword.
347         (getuidbyname, getgroup, getgidbyname): Likewise.
348
349         Use cleaner syntax: NULL rather than 0.
350         * lib/idcache.c (getuidbyname, getgidbyname): Return NULL, not 0.
351
352 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
353
354         * lib/idcache.c: Undo most recent patch, dated 2006-11-06.
355         It mishandled the case where the group was missing.
356         Problem reported by Greg Schafer.
357         * modules/idcache: Likewise.
358
359 2006-11-18  Jim Meyering  <jim@meyering.net>
360
361         * check-module (%exempt_header): Add exception for some
362         conditionally-included headers.
363
364         * modules/i-ring (Depends-on): Add verify.
365         (License): Change to LGPL.
366
367 2006-11-16  Paul Eggert  <eggert@cs.ucla.edu>
368
369         * modules/getaddinfo (Depends-on): Remove inttostr; add snprintf.
370         * lib/getaddrinfo.c: Include snprintf.h rather than intprops.h
371         and inttostr.h.  Use snprintf rather than uinttostr, so that
372         LGPLed code doesn't depend on GPLed.
373
374 2006-11-17  Paul Eggert  <eggert@cs.ucla.edu>
375
376         * modules/inline (License): Change from GPL to LGPL.
377
378 2006-11-17  Jim Meyering  <jim@meyering.net>
379
380         * modules/d-type (License): Switch to LGPL.
381
382 2006-11-15  Bruno Haible  <bruno@clisp.org>
383
384         * m4/alloca.m4 (gl_FUNC_ALLOCA): Fix the AC_CACHE_CHECK message.
385
386 2006-11-15  Eric Blake  <ebb9@byu.net>
387
388         * m4/allocsa.m4 (gl_ALLOCSA): Don't invoke macro already picked up by
389         the module dependency.
390
391 2006-11-15  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
392             Bruno Haible  <bruno@clisp.org>
393
394         * gnulib-tool (func_create_testdir): Add license consistency check.
395
396 2006-11-15  Eric Blake  <ebb9@byu.net>
397
398         * m4/alloca.m4 (gl_FUNC_ALLOCA): Use AC_CACHE_CHECK to avoid a
399         random "(cached)" in configure output.
400
401 2006-11-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
402
403         * m4/inttypes.m4 (gl_INTTYPES_H): Use AC_CACHE_CHECK so that the
404         test for conforming inttypes.h is both announced and cached.
405
406         * MODULES.html.sh (seen_modules, seen_files): New variables.
407         (func_module): Rewrite to use a few less gnulib-tool and sed
408         invocations.  Avoid a couple of quadratic algorithms for ...
409         (missed_modules, missed_files): ... these, with ...
410         (func_append, func_tmpdir): ... these new functions, from
411         gnulib-tool.  Analogously, install traps for cleanup.
412
413         * tests/test-gc.c (main): Remove unused variables.
414         * tests/test-read-file.c: Include stdlib.h, for 'free'.
415
416 2006-11-14  Paul Eggert  <eggert@cs.ucla.edu>
417
418         * modules/inttostr (License): Change to LGPL.
419
420 2006-11-14  Eric Blake  <ebb9@byu.net>
421
422         * modules/tempname (License): Change to LGPL.
423
424 2006-11-14  Eric Blake  <ebb9@byu.net>
425
426         * doc/functions.texi (Function Portability): *printf functions on
427         Cygwin now understand all POSIX size specifiers.
428
429 2006-11-14  Bruno Haible  <bruno@clisp.org>
430
431         * modules/c-ctype (License): Change to LGPL.
432
433 2006-11-12  Bruno Haible  <bruno@clisp.org>
434
435         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
436         AC_LIB_LINKFLAGS_BODY): Also set a LIB${NAME}_PREFIX variable. Needed
437         for GNOME libraries, for which the include files are installed in
438         subdirectories of $prefix/include.
439
440 2006-11-12  Bruno Haible  <bruno@clisp.org>
441
442         * m4/lib-link.m4: Require at least autoconf-2.54.
443         (AC_LIB_LINKFLAGS_BODY) [autoconf < 2.61]: Turn dots into the library
444         name to underscores for the --with option.
445
446 2006-11-13  Bruno Haible  <bruno@clisp.org>
447
448         * gnulib-tool (func_create_testdir): Set gl_source_base correctly in
449         the tests directory.
450         Reported by Ralf Wildenhues.
451
452 2006-11-13  Bruno Haible  <bruno@clisp.org>
453
454         * gnulib-tool (func_emit_initmacro_start): Also override AC_LIBSOURCES.
455         (func_emit_initmacro_end): Undo the override here.
456         (func_emit_initmacro_done): Emit a definition for gl_LIBSOURCES.
457         Works around the famous automake error in coreutils.
458
459 2006-11-13  Eric Blake  <ebb9@byu.net>
460
461         * lib/gl_anytree_oset.h (gl_tree_search_atleast): Return the
462         element, not its node.
463
464 2006-11-12  Bruno Haible  <bruno@clisp.org>
465
466         * gnulib-tool (func_emit_lib_Makefile_am): Replace occurrences of
467         '$(top_srcdir)/build-aux/', taking into account the real auxdir.
468
469 2006-11-12  Bruno Haible  <bruno@clisp.org>
470
471         * gnulib-tool: New option --local-symlink.
472         (func_usage): Document it.
473         (lsymbolic): New variable.
474         (func_import, func_create_testdir): If --symlink was not specified,
475         test whether --local-symlink was specified and the file comes from
476         the local_gnulib_dir.
477
478 2006-11-12  Bruno Haible  <bruno@clisp.org>
479
480         * gnulib-tool (func_ln): New function.
481         (func_ln_if_changed, func_create_testdir): Use it instead of "ln -s".
482
483 2006-11-12  Bruno Haible  <bruno@clisp.org>
484
485         Finish support for source files in subdirectories.
486         * gnulib-tool (func_emit_lib_Makefile_am): If some of the source files
487         are in subdirectories, set uses_subdirs and add 'subdir-objects' to
488         AUTOMAKE_OPTIONS.
489         (func_import, func_create_testdir): Invoke AM_PROG_CC_C_O in this case.
490
491 2006-11-12  Bruno Haible  <bruno@clisp.org>
492
493         * gnulib-tool (func_get_automake_snippet): Synthesize also an
494         EXTRA_lib_SOURCES augmentation.
495         (func_emit_lib_Makefile_am): Initialize EXTRA_lib..._SOURCES to empty.
496
497 2006-11-12  Jim Meyering  <jim@meyering.net>
498
499         Make fts (in FTS_CWDFD mode) more efficient by caching a few open
500         file descriptors.  This also averts a failure on systems with
501         native openat support when a traversed directory lacks "x" access.
502         * lib/fts_.h: Include "i-ring.h"
503         (struct FTS) [fts_fd_ring]: New member.
504         * lib/fts.c (RESTORE_INITIAL_CWD): Also call fd_ring_clear.
505         (FCHDIR): Add parentheses.
506         (fd_ring_check, fd_ring_print) [!FTS_DEBUG]: Define away.
507         (cwd_advance_fd): Add a 3rd parameter.  Adjust all callers.
508         When descending, rather than simply closing the previous
509         fts_cwd_fd value, push that file descriptor onto the ring.
510         (same_fd, fd_ring_print, fd_ring_check) [FTS_DEBUG]: New functions.
511         (fts_open): Initialize the new fd_ring member.
512         (fts_close): Clear the ring.
513         (fts_safe_changedir): When possible, use our new fd_ring to skip
514         the diropen and fstat and dev/ino comparison that would normally
515         accompany a virtual `chdir ("..")'.
516
517         * modules/fts (Depends-on): Add i-ring.
518         * modules/i-ring: New module.
519         * lib/i-ring.c, lib/i-ring.h, lib/i-ring-test.c: New files.
520         * m4/i-ring.m4: New file.
521
522 2006-11-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
523
524         * gnulib-tool (func_create_testdir): Fix replacement of
525         `build-aux' in configure.ac.  Run autotools in gltests
526         subdirectory.
527         (func_create_testdir, func_create_megatestdir, test): There is
528         no need for '--force' in most autotool invocations in a new
529         tree.  Actually fail the whole test if any of the tools, or the
530         configure or make stages fail.
531
532         Sync from Automake.
533         * build-aux/gnupload: Revert last change.  Add pointer to upload
534         instructions of the GNU Maintenance Instructions.
535         Suggestion by Karl Berry.
536
537 2006-11-10  Jim Meyering  <jim@meyering.net>
538
539         * lib/fts.c [FTS_DEBUG]: Don't try to print a pointer via %s.
540
541 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
542
543         * lib/gettext.h (dgettext, dcgettext, ngettext) [! ENABLE_NLS]:
544         (dngettext, dcngettext, bindtextdomain) [! ENABLE_NLS]:
545         (bind_textdomain_codeset) [! ENABLE_NLS]:
546         Evaluate all the arguments.  That way, callers get compatible behavior
547         if the arguments have side effects.  Also, it avoids some GCC
548         diagnostics in some cases; Joel E. Denny reported problems when Bison
549         was configured with --enable-gcc-warnigs.
550
551 2006-11-10  Jim Meyering  <jim@meyering.net>
552
553         * m4/inline.m4 (gl_INLINE): Check with the compiler, not cpp, so that
554         relevant options in CFLAGS (like -O, -fno-inline) are taken into
555         account.
556
557 2006-11-10  Jim Meyering  <jim@meyering.net>
558
559         * modules/inline: New file/module.
560         * modules/xalloc (Files): Remove m4/inline.m4.
561         (Depends-on): Add inline, instead.
562         * modules/oset: Likewise.
563         * modules/list: Likewise.
564
565 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
566
567         * lib/stdint_.h (uintmax_t): Fix typo: int64_t -> uint64_t.
568         Problem reported by Matthew Woehlke.
569
570 2006-11-09  Bruno Haible  <bruno@clisp.org>
571
572         * lib/tempname.c (gen_tempname): Remove variant that invokes
573         __gen_tempname.
574         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Don't test for
575         __gen_tempname.
576
577 2006-11-08  Bruno Haible  <bruno@clisp.org>
578
579         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Set ac_cv_type_long_long_int
580         to 'yes' instead of 'cross-compiling'.
581
582 2006-11-08  Paul Eggert  <eggert@cs.ucla.edu>
583
584         * lib/quotearg.h (quotearg_free): New decl.
585         * lib/quotearg.c (quotearg_free): New function.
586         (slot0, nslots, slotvec0, slotvec):
587         Now file-scope so that quotearg_free can get at them.
588
589 2006-11-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
590
591         Sync from Automake.
592         * build-aux/gnupload: Add missing 'gnu' to example URL.
593         Report by Karl Berry.
594
595 2006-11-08  Bruno Haible  <bruno@clisp.org>
596
597         * m4/inline.m4 (gl_INLINE): Also test __NO_INLINE__.
598         Suggested by Paul Eggert.
599
600 2006-11-08  Jim Meyering  <jim@meyering.net>
601
602         * lib/fts.c [!_LGPL_PACKAGE]: Don't include fcntl--.h twice.
603         It's already included if !_LIBC.
604         (fts_safe_changedir): Add a comment.
605
606 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
607
608         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Detect bug in
609         Tandem NonStop Kernel (OSS) cc -O circa 2004, reported by
610         Matthew Woehlke.
611
612         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Move
613         definitions up, to avoid colliding with change below.
614         (static_inline) [HAVE_INLINE]: New macro.
615         (xnmalloc, xnrealloc, x2nrealloc, xcharalloc):
616         Provide extern decls when !HAVE_INLINE.  Do not define unless
617         static_inline is defined, either by us or by xmalloc.c.  Use
618         static_inline rather than static inline.
619         (XCALLOC): Optimize sizeof(T) = 1 case.
620         * lib/xmalloc.c (static_inline) [!HAVE_INLINE]: New macro.
621
622 2006-11-07  Bruno Haible  <bruno@clisp.org>
623
624         * lib/xalloc.h (XNMALLOC): Restore optimization of sizeof(T) = 1 case.
625         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require gl_INLINE instead of
626         AC_C_INLINE.
627         * modules/xalloc (Files): Add m4/inline.m4.
628
629 2006-11-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
630
631         * README: Fix typo.
632         * doc/gnulib.texi (Miscellaneous Notes): Likewise, rename...
633         (Miscellanous Notes): ...from this.
634
635 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
636
637         * m4/flexmember.m4 (AC_C_FLEXIBLE_ARRAY_MEMBER):
638         Mention that offsetof should be used instead of sizeof.
639         From Bruno Haible.
640
641 2006-11-07  Bruno Haible  <bruno@clisp.org>
642
643         * lib/w32spawn.h (prepare_spawn): Use XNMALLOC instead of xmalloc.
644
645 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
646
647         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
648         * lib/gl_anyavltree_list2.h (create_subtree_with_contents):
649         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
650         (gl_tree_add_before, gl_tree_add_after):
651         Use XMALLOC instead of xmalloc, and XCALLOC instead of xzalloc.
652         * lib/gl_anyhash_list2.h (hash_resize): Likewise.
653         * lib/gl_anylinked_list2.h (gl_linked_create_empty, gl_linked_create):
654         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before):
655         (gl_linked_add_after, gl_linked_add_at): Likewise.
656         * lib/gl_anyrbtree_list2.h (create_subtree_with_contents):
657         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
658         (gl_tree_add_before, gl_tree_add_after): Likewise.
659         * lib/gl_anytree_list2.h (gl_tree_create_empty): Likewise.
660         * lib/gl_anytree_oset.h (gl_tree_create_empty): Likewise.
661         * lib/gl_anytreehash_list1.h (add_to_bucket): Likewise.
662
663 2006-11-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
664
665         * lib/gl_oset.h: Use C comment style, not C++ comment style.
666
667 2006-11-06  Bruno Haible  <bruno@clisp.org>
668
669         * m4/inline.m4: New file.
670         * m4/gl_list.m4 (gl_LIST): Require gl_INLINE.
671         * modules/list (Files): Add m4/inline.m4.
672         * modules/oset (Files): Likewise.
673
674 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
675
676         * lib/idcache.c: Include <stddef.h>, for offsetof.
677         (struct userid.name): Change from char * to a flexible array member.
678         All uses changed.
679         * modules/idcache (Depends-on): Add flexmember.
680
681         * MODULES.html.sh (Core language properties): New module flexmember.
682         * modules/flexmember, m4/flexmember.m4: New files.
683
684         * lib/xalloc.h (xnmalloc, xnrealloc, x2nrealloc): Now static
685         inline functions that are identical with the old xnmalloc_inline,
686         xnrealloc_inline, x2nrealloc_inline of lib/xmalloc.c.  This is so
687         that we can avoid some unnecessary integer multiplications and
688         divisions in the common case where the element size is known at
689         compile time.
690         (XNMALLOC) [HAVE_INLINE]: Remove special case, which is no longer
691         needed.
692         (xnboundedmalloc): Remove.
693         (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Use lower-case letters for
694         arguments, for consistency with rest of this header.
695         (xcharalloc): Rewrite using XNMALLOC.
696         * lib/xmalloc.c (xnmalloc_inline, xnmalloc, xnrealloc_inline):
697         (xnrealloc, x2nrealloc_inline, x2nrealloc): Remove.  The *_inline
698         versions have been moved to lib/xalloc.h and renamed to be the
699         non-*_inline versions.
700         (xmalloc, xrealloc): Implement without reference to the xnmalloc
701         and xnrealloc functions, since those functions are now inline and
702         now call us.
703         (x2realloc): Invoke x2realloc, not x2realloc_inline, to accommodate
704         renaming described above.
705         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Remove AC_C_INLINE since
706         xmalloc.c no longer uses inline directly.  gl_PREREQ_XALLOC now
707         captures the dependency in AC_C_INLINE.
708
709         New module canonicalize-lgpl, proposed by Charles Wilson in
710         <http://lists.gnu.org/archive/html/bug-gnulib/2006-11/msg00020.html>
711         with a few small changes afterwards.
712         * MODULES.html.sh (File system functions): New module
713         canonicalize-lgpl.
714         * lib/canonicalize.h: Add comments for canonicalize_filename_mode
715         and canonicalize_file_name.
716         * lib/canonicalize-lgpl.c, m4/canonicalize-lgpl.m4:
717         * modules/canonicalize-lgpl: New files.
718
719 2006-11-05  Bruno Haible  <bruno@clisp.org>
720
721         * gnulib-tool (func_import, func_create_testdir): Create directories
722         also for files in subdirectories of lib/.
723
724 2006-11-05  Bruno Haible  <bruno@clisp.org>
725
726         * lib/gl_array_list.c (gl_array_iterator_next): Make pointer decrement
727         ANSI C compliant.
728
729 2006-11-03  Bruno Haible  <bruno@clisp.org>
730
731         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
732         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require AC_C_INLINE.
733         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): New macros.
734         (xnboundedmalloc): New inline function.
735         * lib/classpath.c (new_classpath): Use XNMALLOC instead of xmalloc.
736         * lib/clean-temp.c (create_temp_dir): Use XNMALLOC, XMALLOC instead of
737         xmalloc.
738         * lib/concatpath.c (concatenated_pathname): Use XNMALLOC instead of
739         xmalloc.
740         * lib/fatal-signal.c (at_fatal_signal): Use XNMALLOC instead of xmalloc.
741         * lib/findprog.c (find_in_path): Use XNMALLOC instead of xmalloc.
742         * lib/gl_array_list.c (gl_array_create_empty): Use XMALLOC instead of
743         xmalloc.
744         (gl_array_create): Use XNMALLOC, XMALLOC instead of xmalloc.
745         * lib/gl_array_oset.c (gl_array_create_empty): Use XNMALLOC instead of
746         xmalloc.
747         * lib/gl_avltree_oset.c (gl_tree_add_first, gl_tree_add_before,
748         gl_tree_add_after): Use XMALLOC instead of xmalloc.
749         * lib/gl_carray_list.c (gl_carray_create_empty): Use XMALLOC instead of
750         xmalloc.
751         (gl_carray_create): Use XNMALLOC, XMALLOC instead of xmalloc.
752         * lib/gl_rbtree_oset.c (gl_tree_add_first, gl_tree_add_before,
753         gl_tree_add_after): Use XMALLOC instead of xmalloc.
754         * lib/gl_sublist.c (gl_sublist_create): Use XMALLOC instead of xmalloc.
755         * lib/pagealign_alloc.c (new_memnode): Use XMALLOC instead of xmalloc.
756         * lib/sh-quote.c (shell_quote_argv): Use XNMALLOC instead of xmalloc.
757         * lib/xvasprintf.c (xstrcat): Use XNMALLOC instead of xmalloc.
758
759 2006-11-03  Bruno Haible  <bruno@clisp.org>
760
761         * lib/c-ctype.h [C++]: Define functions without name mangling.
762         * lib/fwriteerror.h [C++]: Likewise.
763         * lib/gcd.h [C++]: Likewise.
764         * lib/linebreak.h [C++]: Likewise.
765
766 2006-11-03  Paul Eggert  <eggert@cs.ucla.edu>
767
768         * lib/canonicalize.h: (canonicalize_mode_t, CAN_EXISTING):
769         (CAN_ALL_BUT_LAST, CAN_MISSING, canonicalize_filename_mode):
770         Define only if PROVIDE_CANONICALIZE_FILENAME_MODE is defined.
771         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
772         Check for functions and headers just once.
773         Check for declaration of canonicalize_file_name.
774         Define PROVIDE_CANONICALIZE_FILENAME_MODE.
775
776 2006-11-02  Charles Wilson  <cygwin@cwilson.fastmail.fm>
777
778         * gnulib-tool (func_import): Fix typo in actioncmd.
779
780 2006-11-02  Bruno Haible  <bruno@clisp.org>
781
782         * gnulib-tool (func_get_automake_snippet): Interpret a backslash-
783         newline sequence in the Makefile.am snippet as a space, like "make"
784         does.
785         Reported by Roger Persson <perrog@gmail.com>.
786
787 2006-11-01  Bruno Haible  <bruno@clisp.org>
788
789         * m4/strcase.m4 (gl_FUNC_STRNCASECMP): Check whether strncasecmp is
790         already declared in <string.h>.
791         * lib/strcase.h (strncasecmp): Don't declare it if yes.
792
793 2006-11-01  Bruno Haible  <bruno@clisp.org>
794
795         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Don't define strcasecmp here.
796         * lib/strcase.h: Include <string.h>.
797         (strcasecmp): Define to rpl_strcasecmp here.
798
799 2006-11-01  Bruno Haible  <bruno@clisp.org>
800
801         * lib/printf-parse.c (PRINTF_PARSE): Cast malloc/realloc results.
802
803 2006-11-01  Eric Blake  <ebb9@byu.net>
804
805         * lib/mkstemp-safer.c (mkstemp_safer): Allow C++ compilation.
806
807         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Allow C++ configuration.
808
809 2006-10-29  Bruno Haible  <bruno@clisp.org>
810
811         Make it compile in C++ mode.
812         * lib/full-write.c (full_rw): Add a cast.
813
814 2006-11-01  Bruno Haible  <bruno@clisp.org>
815
816         * gnulib-tool (func_get_automake_snippet): Change sed_combine_lines to
817         be POSIX compliant.
818         Reported by Roger Persson <perrog@gmail.com>.
819
820 2006-11-01  Eric Blake  <ebb9@byu.net>
821
822         * lib/getopt_.h: Fix comments.
823
824 2006-10-31  Eric Blake  <ebb9@byu.net>
825
826         * modules/tmpdir (Depends-on): Add sys_stat.
827         * modules/mkdtemp (Depends-on): Add tempname, drop unistd.
828         * lib/mkdtemp.c (gen_tempname): Remove; tempname covers this.
829         * lib/tmpdir.c (S_ISDIR): Simplify, thanks to sys_stat.
830         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Simplify, thanks to
831         tempname.
832
833 2006-10-31  Paul Eggert  <eggert@cs.ucla.edu>
834
835         Avoid some C++ diagnostics reported by Bruno Haible.
836         * lib/quotearg.c (clone_quoting_options): Use xmemdup rather than
837         xmalloc.
838         (quotearg_alloc): Use xcharalloc rather than xmalloc.
839         (struct slotvec): Move to top level.
840         (quotearg_n_options): Rewrite to avoid xmalloc.
841         * lib/xalloc.h (xcharalloc): New function.
842         * (xrealloc, xnrealloc, x2realloc, x2nrealloc, xmemdup):
843         [defined __cplusplus]: Add function template that provides result
844         type propagation.  This part of the change is from Bruno Haible.
845
846 2006-10-29  Bruno Haible  <bruno@clisp.org>
847
848         Make it compile in C++ mode.
849         * lib/striconv.c (mem_cd_iconv): Cast malloc/realloc result.
850         * lib/strnlen1.c (strnlen1): Cast memchr result.
851         * lib/mbchar.h (mb_copy): Rename arguments to 'new_mbc', 'old_mbc'.
852         * lib/clean-temp.c (string_equals, string_hash): Add casts.
853         (create_temp_dir): Rename local variable 'template'.
854         (compile_csharp_using_sscli): Add cast.
855         * lib/fatal-signal.c (at_fatal_signal): Cast xmalloc result.
856         * lib/findprog.c (find_in_path): Likewise.
857         * lib/linebreak.c (mbs_width_linebreaks): Cast malloc result.
858         * lib/wait-process.c (register_slave_subprocess): Likewise.
859
860 2006-10-22  Bruno Haible  <bruno@clisp.org>
861
862         * modules/tsearch: New file.
863         * lib/tsearch.h: New file.
864         * lib/tsearch.c: New file, from glibc-2.5 with small modifications.
865         * m4/tsearch.m4: New file.
866         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add tsearch.
867
868 2006-10-29  Eric Blake  <ebb9@byu.net>
869
870         * lib/arcfour.c: Assume config.h.
871         * lib/arctwo.c: Likewise.
872         * lib/base64.c: Likewise.
873         * lib/check-version.c: Likewise.
874         * lib/crc.c: Likewise.
875         * lib/des.c: Likewise.
876         * lib/gc-gnulib.c: Likewise.
877         * lib/gc-libgcrypt.c: Likewise.
878         * lib/gc-pbkdf2-sha1.c: Likewise.
879         * lib/getaddrinfo.c: Likewise.
880         * lib/getdelim.c: Likewise.
881         * lib/getline.c: Likewise.
882         * lib/hmac-md5.c: Likewise.
883         * lib/hmac-sha1.c: Likewise.
884         * lib/iconvme.c: Likewise.
885         * lib/md2.c: Likewise.
886         * lib/md4.c: Likewise.
887         * lib/memxor.c: Likewise.
888         * lib/read-file.c: Likewise.
889         * lib/readline.c: Likewise.
890         * lib/rijndael-alg-fst.c: Likewise.
891         * lib/rijndael-api-fst.c: Likewise.
892         * lib/xgetdomainname.c: Likewise.
893
894 2006-10-28  Eric Blake  <ebb9@byu.net>
895
896         * lib/xstrndup.c: Assume config.h.
897
898 2006-10-27  Paul Eggert  <eggert@cs.ucla.edu>
899
900         Move stat.h-substitute stuff from lib/stat-macros.h to lib/stat_.h.
901         stat-macros.h is now for our own macros, whereas stat_h is for
902         macros in the <sys/stat.h> name space.
903         * lib/stat-macros.h: Remove copyright notice, as this file is now tiny.
904         (STAT_MACROS_H): Remove.
905         (S_IFMT, S_ISBLK, S_ISCHR, S_ISDIR, S_ISFIFO, S_ISLNK, S_ISNAM):
906         (S_ISMPB, S_ISMPC, S_ISNWK, S_ISREG, S_ISSOCK, S_ISDOOR, S_ISPORT):
907         (S_TYPEISMQ, S_TYPEISTMO, S_TYPEISSEM, S_TYPEISSHM, S_ISCTG, S_ISOFD):
908         (S_ISOFL, S_ISWHT, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IRGRP):
909         (S_IROTH, S_IWUSR, S_IWGRP, S_IWOTH, S_IXUSR, S_IXGRP, S_IXOTH):
910         (S_IRWXU, S_IRWXG, S_IRWXO, S_IXUGO, S_IRWXUGO):
911         Move these macros to ...
912         * lib/stat_.h: here.  Don't include stat-macros.h.
913         * lib/canonicalize.c: Don't include stat-macros.h.
914         * lib/chown.c: Likewise.
915         * lib/euidaccess.c: Likewise.
916         * lib/file-type.c: Likewise.
917         * lib/filemode.c: Likewise.
918         * lib/glob.c: Likewise.
919         * lib/isapipe.c: Likewise.
920         * lib/lchown.c: Likewise.
921         * lib/lstat.c: Likewise.
922         * lib/mkdir-p.c: Likewise.
923         * lib/rmdir.c: Likewise.
924         * m4/lchown.m4 (gl_FUNC_LCHOWN): Don't require gl_STAT_MACROS.
925         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Don't check for io.h
926         unless mkdir isn't declared, to speed up 'configure'.
927         Always create sys/stat.h, since it's unlikely any real sys/stat.h
928         would define all the S_* symbols.
929         * modules/canonicalize (Depends-on):
930         Depend on sys_stat, not stat-macros.
931         * modules/chown: Likewise.
932         * modules/euidaccess: Likewise.
933         * modules/filemode: Likewise.
934         * modules/file-type: Likewise.
935         * modules/glob: Likewise.
936         * modules/isapipe: Likewise.
937         * modules/lchown: Likewise.
938         * modules/lstat: Likewise.
939         * modules/mkancesdirs: Likewise.
940         * modules/rmdir: Likewise.
941         * modules/mkdir-p (Depends-on): Also depend on sys_stat.
942         * modules/modechange: Likewise.
943         * modules/stat-macros (Files): Remove m4/stat-macros.m4.
944         (configure.ac): Remove gl_STAT_MACROS.
945         * modules/sys_stat (Depends-on): Remove stat-macros.
946
947 2006-10-27  Bruno Haible  <bruno@clisp.org>
948
949         * m4/signed.m4: Remove file.
950         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS_: Remove bh_C_SIGNED
951         invocation.
952         * modules/vasnprintf (Files): Remove m4/signed.m4.
953
954 2006-10-27  Bruno Haible  <bruno@clisp.org>
955
956         Update to GNU gettext 0.16.
957         * modules/gettext (Files): Add m4/intl.m4, m4/intldir.m4. Remove
958         m4/inttypes-h.m4, m4/signed.m4.
959         * m4/gettext.m4: Update to GNU gettext 0.16.
960         * m4/intl.m4: New file, from GNU gettext.
961         * m4/intldir.m4: New file, from GNU gettext.
962         * config/srclist.txt: Update
963
964 2006-10-27  Eric Blake  <ebb9@byu.net>
965
966         * MODULES.html.sh: Document tempname.
967         * modules/mkstemp (Depends-on): Add tempname, and drop transitive
968         dependencies.
969         (Files): Move lib/tempname.c...
970         * modules/tempname: ...to this new module.
971         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Remove tempname checks.
972         (gl_PREREQ_TEMPNAME): Move...
973         * m4/tempname.m4: ...to this new file.
974         * lib/mkstemp.c (includes) [!_LIBC]: Use tempname.h.
975         * modules/sys_stat (Depends-on): Add stat-macros.
976         * lib/stat_.h (includes): Pick up stat macros.
977         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Replace <sys/stat.h>
978         if stat macros are broken.
979         * lib/tempname.c (includes): No need to include "stat-macros.h".
980         (__gen_tempname) [!_LIBC]: Expose as gen_tempname.
981         (direxists, __path_search) [!_LIBC]: Don't compile these in
982         gnulib; the tmpdir module covers that.
983         * lib/tempname.h: New file.
984
985 2006-10-26  Paul Eggert  <eggert@cs.ucla.edu>
986
987         * COPYING: Explain how gnulib-tool converts licence headers.
988         Almost all wording by Eric Blake.
989
990 2006-10-25  Paul Eggert  <eggert@cs.ucla.edu>
991
992         * lib/mbchar.h (is_basic_table): Make read-only.
993         * lib/mbchar.c (is_basic_table): Likewise.
994         Reported by John Darrington.
995
996 2006-10-25  Bruno Haible  <bruno@clisp.org>
997
998         * lib/progname.h (set_program_name): Undefine before defining.
999
1000 2006-10-25  Bruno Haible  <bruno@clisp.org>
1001
1002         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to
1003         false for non-gcc C++ compilers.
1004         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
1005
1006 2006-10-24  Bruno Haible  <bruno@clisp.org>
1007
1008         * lib/striconv.c (mem_cd_iconv, str_cd_iconv): Treat all non-GNU
1009         iconv implementations like Irix iconv.
1010
1011 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
1012
1013         * modules/vararrays: New file.
1014         * m4/vararrays.m4: New file, taken from diffutils.
1015         * MODULES.html.sh: New module vararrays.
1016
1017 2006-10-24  Karl Berry  <karl@gnu.org>
1018
1019         * doc/gnulib-intro.texi: --- instead of --; non-naive naive.
1020         Don't call GNU Unix.
1021
1022 2006-10-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
1023
1024         * users.txt: Add Libtool.
1025
1026         Sync from Libtool:
1027
1028         2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
1029
1030         * lib/argz.c: Remove check for HAVE_CONFIG_H, to conform
1031         to gnulib's policy of including config.h unconditionally.
1032
1033 2006-10-24  Bruno Haible  <bruno@clisp.org>
1034
1035         * modules/wcwidth (Files): Add m4/wint_t.m4.
1036         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Require gt_TYPE_WINT_T.
1037         * lib/wcwidth.h (iswprint): Use 'int' if 'wint_t' is not defined.
1038
1039 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
1040
1041         * lib/getdate.y (yyerror): Make the arguments pointer-to-const,
1042         to pacify GCC with some -W flags enabled.  Problem reported by
1043         Bruno Haible.
1044
1045 2006-10-24  Jim Meyering  <jim@meyering.net>
1046
1047         * MODULES.html.sh: Remove uinttostr.  It's not a module.
1048         Reported by Karl Berry.
1049
1050 2006-10-23  Bruno Haible  <bruno@clisp.org>
1051
1052         * lib/fts.c (fts_build): Move variable declaration, for C89 compliance.
1053
1054 2006-10-24  Bruno Haible  <bruno@clisp.org>
1055
1056         * lib/gl_list.h: Use C comment style, not C++ comment style.
1057
1058 2006-10-23  Eric Blake  <ebb9@byu.net>
1059
1060         * lib/getaddrinfo.c (includes): Add missing include.
1061
1062 2006-10-23  Bruno Haible  <bruno@clisp.org>
1063             Paul Eggert  <eggert@cs.ucla.edu>
1064
1065         Ability to rename obstack_free.
1066         * lib/obstack.h (__obstack_free): New macro. Declare instead of
1067         obstack_free.
1068         (obstack_free): Invoke the __obstack_free macro.
1069         * lib/obstack.c (obstack_free): Use __obstack_free macro.
1070
1071 2006-10-23  Bruno Haible  <bruno@clisp.org>
1072             Paul Eggert  <eggert@cs.ucla.edu>
1073
1074         * lib/argp.h (argp_parse, __argp_parse): Comment out the identifiers
1075         __argc, __argv from the declaration. (They are defined as macros on
1076         mingw.)
1077
1078 2006-10-22  Bruno Haible  <bruno@clisp.org>
1079
1080         * doc/gnulib-intro.texi: New file.
1081         * doc/gnulib.texi: Include it.
1082
1083 2006-10-21  Bruno Haible  <bruno@clisp.org>
1084
1085         * doc/gnulib.texi: Split the chapter "Gnulib" into 3 chapters
1086         "Introduction", "Miscellanous Notes", "Particular Modules".
1087
1088 2006-10-21  Bruno Haible  <bruno@clisp.org>
1089
1090         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
1091         Change mostlyclean-local rule to avoid sh syntax error from bash
1092         versions 2.00..2.05 when $(MOSTLYCLEANDIRS) is empty.
1093
1094 2006-10-23  Jim Meyering  <jim@meyering.net>
1095
1096         * lib/getaddrinfo.c (getnameinfo): Use new lightweight uinttostr,
1097         in place of snprintf.
1098
1099         * modules/inttostr (Files): Add lib/uinttostr.c.
1100         * lib/uinttostr.c (inttostr): New file/function.
1101         * lib/inttostr.h (uinttostr): Declare.
1102         * m4/inttostr.m4: Add AC_LIBOBJ([uinttostr]).
1103         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
1104         Add uinttostr.
1105         * modules/getaddrinfo (Depends-on): Remove snprintf.  Add inttostr.
1106
1107 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
1108
1109         * lib/canonicalize.c (ELOOP): Define if not already defined.
1110         Problem reported by Bruno Haible in
1111         <http://lists.gnu.org/archive/html/bug-gnulib/2006-10/msg00282.html>.
1112
1113 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
1114
1115         * lib/stdint_.h [defined _AIX]: Don't include <sys/types.h>.
1116         Problem reported by Perry Smith and Ville Laurikari.
1117
1118         * lib/getndelim2.c (SSIZE_MAX): Use same defn that getdelim.c
1119         uses.
1120
1121 2006-10-19  Bruno Haible  <bruno@clisp.org>
1122
1123         * lib/getndelim2.c (SSIZE_MAX): Provide fallback definition. Needed
1124         for mingw.
1125
1126 2006-10-19  Bruno Haible  <bruno@clisp.org>
1127
1128         * lib/openat-priv.h (EOPNOTSUPP): Provide fallback definition.
1129         Needed for mingw.
1130
1131 2006-10-19  Bruno Haible  <bruno@clisp.org>
1132
1133         * m4/size_max.m4 (gl_SIZE_MAX): Cache the result.
1134
1135 2006-10-19  Bruno Haible  <bruno@clisp.org>
1136
1137         * m4/allocsa.m4 (gl_ALLOCSA): Invoke gl_FUNC_ALLOCA, don't AC_REQUIRE
1138         it.
1139
1140 2006-10-19  Bruno Haible  <bruno@clisp.org>
1141
1142         * m4/alloca.m4 (gl_FUNC_ALLOCA): Cache the result of the AC_EGREP_CPP
1143         invocation.
1144
1145 2006-10-19  Bruno Haible  <bruno@clisp.org>
1146
1147         * gnulib-tool (func_create_testdir): Don't include ftruncate and
1148         mountlist by default.
1149
1150 2006-10-16  Bruno Haible  <bruno@clisp.org>
1151
1152         * lib/c-strstr.c: Include c-strstr.h.
1153
1154 2006-10-18  Charles Wilson  <cygwin@cwilson.fastmail.fm>
1155
1156         * gnulib-tool: Don't clobber $sourcebase when $local_gnulib_dir ends
1157         in a slash.
1158
1159 2006-10-18  Bruno Haible  <bruno@clisp.org>
1160
1161         * lib/lock.h [C++]: Wrap definitions in extern "C".
1162
1163 2006-10-18  Bruno Haible  <bruno@clisp.org>
1164
1165         * gnulib-tool (func_emit_initmacro_end): Remove duplicates from the
1166         gl_LIBOBJS list.
1167
1168 2006-10-18  Bruno Haible  <bruno@clisp.org>
1169
1170         * lib/findprog.c (find_in_path): Avoid "gcc -Wwrite-strings" warning.
1171
1172 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>
1173
1174         * lib/xstrtol.h: Include gettext.h.
1175         (_STRTOL_ERROR): Wrap English-language formats inside gettext.
1176         Problem reported by Eric Blake.
1177         * modules/xstrtol (Depends-on): Add gettext-h.
1178
1179 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>  (tiny change)
1180
1181         * lib/strftime.c (advance): New macro.
1182         (add): Use it to avoid adding 0 to a FILE *.  FILE can be an
1183         incomplete type, so you can't add 0 to it.  Problem and patch
1184         reported by Eelco Dolstra for dietlibc.
1185
1186 2006-10-18  Jim Meyering  <jim@meyering.net>
1187
1188         * lib/readutmp.c (desirable_utmp_entry): Use "bool" as the
1189         type for a local, and rename it: s/up/user_proc/.
1190
1191 2006-10-18  Sergey Poznyakoff  <gray@gnu.org.ua>
1192
1193         * lib/readutmp.c (desirable_utmp_entry): Implement new flag:
1194         READ_UTMP_USER_PROCESS.
1195         * lib/readutmp.h (READ_UTMP_USER_PROCESS): New flag
1196
1197 2006-10-17  Paul Eggert  <eggert@cs.ucla.edu>
1198
1199         * lib/localcharset.c: Do not check HAVE_SETLOCALE.
1200         * m4/localcharset.m4 (gl_LOCALCHARSET): Don't check for setlocale.
1201
1202 2006-10-17  Eric Blake  <ebb9@byu.net>
1203
1204         * lib/sigprocmask.c (sigprocmask): Fix typo.
1205
1206         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Fix typo.
1207
1208         * modules/clean-temp (Makefile.am): Don't add to make output...
1209         (configure.ac): ...instead define SIGNAL_SAFE_LIST inside
1210         config.h.
1211
1212 2006-10-17  Bruno Haible  <bruno@clisp.org>
1213
1214         * lib/gettext.h (gettext, ngettext, pgettext, npgettext): Define
1215         differently if DEFAULT_TEXT_DOMAIN is set.
1216
1217 2006-10-16  Bruno Haible  <bruno@clisp.org>
1218
1219         * lib/clean-temp.c: Include fwriteerror.h.
1220
1221 2006-10-16  Bruno Haible  <bruno@clisp.org>
1222
1223         * getndelim2.m4 (gl_GETNDELIM2): Remove 2003-10-23 hack.
1224
1225 2006-10-16  Bruno Haible  <bruno@clisp.org>
1226
1227         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Also test for sigset_t.
1228         * lib/sigprocmask.h: Include <sys/types.h>.
1229         (sigset_t): Use the system's definition if present.
1230
1231 2006-10-17  Eric Blake  <ebb9@byu.net>
1232
1233         * lib/xvasprintf.c (includes): Assume config.h.
1234         * lib/xasprintf.c (includes): Likewise.
1235
1236 2006-10-16  Paul Eggert  <eggert@cs.ucla.edu>
1237
1238         * lib/fsusage.c (PROPAGATE_ALL_ONES): Don't assume uintmax_t is
1239         at least as wide as intmax_t.
1240
1241 2006-10-16  Alexandre Duret-Lutz  <adl@gnu.org>
1242
1243         (Imported from Automake.)
1244         * build-aux/gnupload: Update to version 1.1 of directive file.
1245
1246 2006-10-16  Eric Blake  <ebb9@byu.net>
1247
1248         * modules/configmake (Makefile.am): Add pkglibexecdir support, to
1249         match Automake 1.10a.
1250
1251 2006-10-14  Bruno Haible  <bruno@clisp.org>
1252
1253         * modules/sigprocmask: New file.
1254         * lib/sigprocmask.h: New file.
1255         * lib/sigprocmask.c: New file.
1256         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Renamed from
1257         gt_SIGNALBLOCKING. When not defining HAVE_POSIX_SIGNALBLOCKING,
1258         request sigprocmask.o.
1259         (gl_PREREQ_SIGPROCMASK): New macro.
1260         * modules/fatal-signal (Files): Remove m4/signalblocking.m4.
1261         (Depends-on): Add sigprocmask.
1262         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Don't require
1263         gt_SIGNALBLOCKING. Test for 'raise' only once.
1264         * lib/fatal-signal.c: Include sigprocmask.h.
1265         (fatal_signal_set, init_fatal_signal_set, block_fatal_signals,
1266         unblock_fatal_signals): Define always.
1267         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
1268         sigprocmask.
1269
1270 2006-10-14  Paul Eggert  <eggert@cs.ucla.edu>
1271
1272         Sync from Automake.
1273         * build-aux/install-sh (posix_mkdir): Reject FreeBSD 6.1 mkdir -p -m,
1274         which incorrectly sets the mode of an existing destination
1275         directory.  In some cases the unpatched install-sh could do the
1276         equivalent of "chmod 777 /" or "chmod 0 /" on a buggy FreeBSD
1277         system.  We hope this is rare in practice, but it's clearly worth
1278         fixing.  Problem reported by Alex Unleashed in
1279         <http://lists.gnu.org/archive/html/bug-autoconf/2006-10/msg00012.html>.
1280         Also, don't bother to check for -m bugs unless we're using -m;
1281         suggested by Stepan Kasal.
1282
1283 2006-10-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
1284
1285         Sync from Automake.
1286         * build-aux/depcomp (gcc3): Put dependency extraction flags before the
1287         `-c' flag, so they appear at the same position as in %FASTDEP%
1288         mode in depend2.am.  Fixes build failure for FreeBSD's c89,
1289         which ignores unknown options only after the first non-option.
1290         Bug report against M4 by Nelson H. F. Beebe.
1291
1292 2006-10-13  Jim Meyering  <jim@meyering.net>
1293
1294         Fix a bug in yesterday's change.
1295         * lib/fts.c (fts_open): When using FTS_XDEV|FTS_NOSTAT,
1296         p->fts_statp->st_dev would be used uninitialized.
1297         Ensures that we always call fts_stat on the very first entry.
1298         Miklos Szeredi reported that find -xdev stopped working.
1299
1300 2006-10-12  Bruno Haible  <bruno@clisp.org>
1301
1302         * gnulib-tool (func_get_automake_snippet): Append an automatically
1303         computed EXTRA_DIST augmentation.
1304         * modules/acl (Makefile.am): Remove EXTRA_DIST augmentation.
1305         * modules/alloca-opt (Makefile.am): Likewise.
1306         * modules/allocsa (Makefile.am): Likewise.
1307         * modules/arcfour (Makefile.am): Likewise.
1308         * modules/arctwo (Makefile.am): Likewise.
1309         * modules/argmatch (Makefile.am): Likewise.
1310         * modules/argz (Makefile.am): Likewise.
1311         * modules/atexit (Makefile.am): Likewise.
1312         * modules/backupfile (Makefile.am): Likewise.
1313         * modules/byteswap (Makefile.am): Likewise.
1314         * modules/c-strtod (Makefile.am): Likewise.
1315         * modules/c-strtold (Makefile.am): Likewise.
1316         * modules/calloc (Makefile.am): Likewise.
1317         * modules/canon-host (Makefile.am): Likewise.
1318         * modules/canonicalize (Makefile.am): Likewise.
1319         * modules/chdir-long (Makefile.am): Likewise.
1320         * modules/chdir-safer (Makefile.am): Likewise.
1321         * modules/check-version (Makefile.am): Likewise.
1322         * modules/chown (Makefile.am): Likewise.
1323         * modules/cloexec (Makefile.am): Likewise.
1324         * modules/close-stream (Makefile.am): Likewise.
1325         * modules/closeout (Makefile.am): Likewise.
1326         * modules/crc (Makefile.am): Likewise.
1327         * modules/csharpexec (Makefile.am): Likewise.
1328         * modules/cycle-check (Makefile.am): Likewise.
1329         * modules/des (Makefile.am): Likewise.
1330         * modules/dev-ino (Makefile.am): Likewise.
1331         * modules/dirfd (Makefile.am): Likewise.
1332         * modules/dirname (Makefile.am): Likewise.
1333         * modules/dup2 (Makefile.am): Likewise.
1334         * modules/eealloc (Makefile.am): Likewise.
1335         * modules/error (Makefile.am): Likewise.
1336         * modules/euidaccess (Makefile.am): Likewise.
1337         * modules/exclude (Makefile.am): Likewise.
1338         * modules/exitfail (Makefile.am): Likewise.
1339         * modules/fcntl-safer (Makefile.am): Likewise.
1340         * modules/fcntl (Makefile.am): Likewise.
1341         * modules/file-type (Makefile.am): Likewise.
1342         * modules/fileblocks (Makefile.am): Likewise.
1343         * modules/filemode (Makefile.am): Likewise.
1344         * modules/filenamecat (Makefile.am): Likewise.
1345         * modules/fnmatch (Makefile.am): Likewise.
1346         * modules/fopen-safer (Makefile.am): Likewise.
1347         * modules/fpending (Makefile.am): Likewise.
1348         * modules/fprintftime (Makefile.am): Likewise.
1349         * modules/free (Makefile.am): Likewise.
1350         * modules/fsusage (Makefile.am): Likewise.
1351         * modules/ftruncate (Makefile.am): Likewise.
1352         * modules/fts (Makefile.am): Likewise.
1353         * modules/gc-arcfour (Makefile.am): Likewise.
1354         * modules/gc-des (Makefile.am): Likewise.
1355         * modules/gc-hmac-md5 (Makefile.am): Likewise.
1356         * modules/gc-hmac-sha1 (Makefile.am): Likewise.
1357         * modules/gc-md4 (Makefile.am): Likewise.
1358         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
1359         * modules/gc-sha1 (Makefile.am): Likewise.
1360         * modules/gc (Makefile.am): Likewise.
1361         * modules/getaddrinfo (Makefile.am): Likewise.
1362         * modules/getcwd (Makefile.am): Likewise.
1363         * modules/getdelim (Makefile.am): Likewise.
1364         * modules/getdomainname (Makefile.am): Likewise.
1365         * modules/getgroups (Makefile.am): Likewise.
1366         * modules/gethostname (Makefile.am): Likewise.
1367         * modules/gethrxtime (Makefile.am): Likewise.
1368         * modules/getline (Makefile.am): Likewise.
1369         * modules/getloadavg (Makefile.am): Likewise.
1370         * modules/getlogin_r (Makefile.am): Likewise.
1371         * modules/getndelim2 (Makefile.am): Likewise.
1372         * modules/getopt (Makefile.am): Likewise.
1373         * modules/getpagesize (Makefile.am): Likewise.
1374         * modules/getpass-gnu (Makefile.am): Likewise.
1375         * modules/getpass (Makefile.am): Likewise.
1376         * modules/getsubopt (Makefile.am): Likewise.
1377         * modules/gettime (Makefile.am): Likewise.
1378         * modules/gettimeofday (Makefile.am): Likewise.
1379         * modules/getugroups (Makefile.am): Likewise.
1380         * modules/getusershell (Makefile.am): Likewise.
1381         * modules/glob (Makefile.am): Likewise.
1382         * modules/group-member (Makefile.am): Likewise.
1383         * modules/hard-locale (Makefile.am): Likewise.
1384         * modules/hash (Makefile.am): Likewise.
1385         * modules/hmac-md5 (Makefile.am): Likewise.
1386         * modules/hmac-sha1 (Makefile.am): Likewise.
1387         * modules/human (Makefile.am): Likewise.
1388         * modules/idcache (Makefile.am): Likewise.
1389         * modules/imaxabs (Makefile.am): Likewise.
1390         * modules/imaxdiv (Makefile.am): Likewise.
1391         * modules/inet_ntop (Makefile.am): Likewise.
1392         * modules/inet_pton (Makefile.am): Likewise.
1393         * modules/intprops (Makefile.am): Likewise.
1394         * modules/inttostr (Makefile.am): Likewise.
1395         * modules/inttypes (Makefile.am): Likewise.
1396         * modules/isapipe (Makefile.am): Likewise.
1397         * modules/javaversion (Makefile.am): Likewise.
1398         * modules/lchmod (Makefile.am): Likewise.
1399         * modules/lchown (Makefile.am): Likewise.
1400         * modules/localcharset (Makefile.am): Likewise.
1401         * modules/long-options (Makefile.am): Likewise.
1402         * modules/lstat (Makefile.am): Likewise.
1403         * modules/malloc (Makefile.am): Likewise.
1404         * modules/mathl (Makefile.am): Likewise.
1405         * modules/mbchar (Makefile.am): Likewise.
1406         * modules/md2 (Makefile.am): Likewise.
1407         * modules/md4 (Makefile.am): Likewise.
1408         * modules/md5 (Makefile.am): Likewise.
1409         * modules/memcasecmp (Makefile.am): Likewise.
1410         * modules/memchr (Makefile.am): Likewise.
1411         * modules/memcmp (Makefile.am): Likewise.
1412         * modules/memcoll (Makefile.am): Likewise.
1413         * modules/memcpy (Makefile.am): Likewise.
1414         * modules/memmem (Makefile.am): Likewise.
1415         * modules/memmove (Makefile.am): Likewise.
1416         * modules/mempcpy (Makefile.am): Likewise.
1417         * modules/memrchr (Makefile.am): Likewise.
1418         * modules/memset (Makefile.am): Likewise.
1419         * modules/memxor (Makefile.am): Likewise.
1420         * modules/mkancesdirs (Makefile.am): Likewise.
1421         * modules/mkdir-p (Makefile.am): Likewise.
1422         * modules/mkdir (Makefile.am): Likewise.
1423         * modules/mkdtemp (Makefile.am): Likewise.
1424         * modules/mkstemp (Makefile.am): Likewise.
1425         * modules/mktime (Makefile.am): Likewise.
1426         * modules/modechange (Makefile.am): Likewise.
1427         * modules/mountlist (Makefile.am): Likewise.
1428         * modules/nanosleep (Makefile.am): Likewise.
1429         * modules/obstack (Makefile.am): Likewise.
1430         * modules/openat (Makefile.am): Likewise.
1431         * modules/pagealign_alloc (Makefile.am): Likewise.
1432         * modules/pathmax (Makefile.am): Likewise.
1433         * modules/physmem (Makefile.am): Likewise.
1434         * modules/poll (Makefile.am): Likewise.
1435         * modules/posixtm (Makefile.am): Likewise.
1436         * modules/posixver (Makefile.am): Likewise.
1437         * modules/putenv (Makefile.am): Likewise.
1438         * modules/quote (Makefile.am): Likewise.
1439         * modules/quotearg (Makefile.am): Likewise.
1440         * modules/raise (Makefile.am): Likewise.
1441         * modules/read-file (Makefile.am): Likewise.
1442         * modules/readline (Makefile.am): Likewise.
1443         * modules/readlink (Makefile.am): Likewise.
1444         * modules/readtokens (Makefile.am): Likewise.
1445         * modules/readutmp (Makefile.am): Likewise.
1446         * modules/realloc (Makefile.am): Likewise.
1447         * modules/regex (Makefile.am): Likewise.
1448         * modules/rename-dest-slash (Makefile.am): Likewise.
1449         * modules/rename (Makefile.am): Likewise.
1450         * modules/rijndael (Makefile.am): Likewise.
1451         * modules/rmdir (Makefile.am): Likewise.
1452         * modules/rpmatch (Makefile.am): Likewise.
1453         * modules/safe-read (Makefile.am): Likewise.
1454         * modules/safe-write (Makefile.am): Likewise.
1455         * modules/same-inode (Makefile.am): Likewise.
1456         * modules/same (Makefile.am): Likewise.
1457         * modules/save-cwd (Makefile.am): Likewise.
1458         * modules/savedir (Makefile.am): Likewise.
1459         * modules/setenv (Makefile.am): Likewise.
1460         * modules/settime (Makefile.am): Likewise.
1461         * modules/sha1 (Makefile.am): Likewise.
1462         * modules/sig2str (Makefile.am): Likewise.
1463         * modules/snprintf (Makefile.am): Likewise.
1464         * modules/stat-macros (Makefile.am): Likewise.
1465         * modules/stat-time (Makefile.am): Likewise.
1466         * modules/stdbool (Makefile.am): Likewise.
1467         * modules/stdint (Makefile.am): Likewise.
1468         * modules/stdlib-safer (Makefile.am): Likewise.
1469         * modules/stpcpy (Makefile.am): Likewise.
1470         * modules/stpncpy (Makefile.am): Likewise.
1471         * modules/strcase (Makefile.am): Likewise.
1472         * modules/strcasestr (Makefile.am): Likewise.
1473         * modules/strchrnul (Makefile.am): Likewise.
1474         * modules/strcspn (Makefile.am): Likewise.
1475         * modules/strdup (Makefile.am): Likewise.
1476         * modules/strerror (Makefile.am): Likewise.
1477         * modules/strftime (Makefile.am): Likewise.
1478         * modules/strndup (Makefile.am): Likewise.
1479         * modules/strnlen (Makefile.am): Likewise.
1480         * modules/strpbrk (Makefile.am): Likewise.
1481         * modules/strsep (Makefile.am): Likewise.
1482         * modules/strstr (Makefile.am): Likewise.
1483         * modules/strtod (Makefile.am): Likewise.
1484         * modules/strtoimax (Makefile.am): Likewise.
1485         * modules/strtok_r (Makefile.am): Likewise.
1486         * modules/strtol (Makefile.am): Likewise.
1487         * modules/strtoll (Makefile.am): Likewise.
1488         * modules/strtoul (Makefile.am): Likewise.
1489         * modules/strtoull (Makefile.am): Likewise.
1490         * modules/strtoumax (Makefile.am): Likewise.
1491         * modules/strverscmp (Makefile.am): Likewise.
1492         * modules/sys_socket (Makefile.am): Likewise.
1493         * modules/sys_stat (Makefile.am): Likewise.
1494         * modules/sysexits (Makefile.am): Likewise.
1495         * modules/time_r (Makefile.am): Likewise.
1496         * modules/timegm (Makefile.am): Likewise.
1497         * modules/timespec (Makefile.am): Likewise.
1498         * modules/tmpfile-safer (Makefile.am): Likewise.
1499         * modules/trim (Makefile.am): Likewise.
1500         * modules/unistd-safer (Makefile.am): Likewise.
1501         * modules/unlinkdir (Makefile.am): Likewise.
1502         * modules/unlocked-io (Makefile.am): Likewise.
1503         * modules/userspec (Makefile.am): Likewise.
1504         * modules/utime (Makefile.am): Likewise.
1505         * modules/utimecmp (Makefile.am): Likewise.
1506         * modules/utimens (Makefile.am): Likewise.
1507         * modules/vasnprintf (Makefile.am): Likewise.
1508         * modules/vasprintf (Makefile.am): Likewise.
1509         * modules/vsnprintf (Makefile.am): Likewise.
1510         * modules/xalloc (Makefile.am): Likewise.
1511         * modules/xgetcwd (Makefile.am): Likewise.
1512         * modules/xnanosleep (Makefile.am): Likewise.
1513         * modules/xreadlink (Makefile.am): Likewise.
1514         * modules/xstrtod (Makefile.am): Likewise.
1515         * modules/xstrtol (Makefile.am): Likewise.
1516         * modules/xstrtold (Makefile.am): Likewise.
1517         * modules/yesno (Makefile.am): Likewise.
1518         * modules/getdate (Makefile.am): Don't add getdate.h to EXTRA_DIST.
1519
1520 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
1521
1522         * modules/error (Makefile.am): Distribute files through
1523         EXTRA_DIST, not lib_SOURCES.
1524
1525 2006-10-12  Eric Blake  <ebb9@byu.net>
1526
1527         * modules/error (Makefile.am): Distribute files in /lib.
1528         * modules/obstack (Makefile.am): Likewise.
1529
1530 2006-10-12  Bruno Haible  <bruno@clisp.org>
1531
1532         * modules/acl (Makefile.am): Distribute all files in lib/ through
1533         EXTRA_DIST.
1534         * modules/arcfour (Makefile.am): Likewise.
1535         * modules/arctwo (Makefile.am): Likewise.
1536         * modules/argmatch (Makefile.am): Likewise.
1537         * modules/argz (Makefile.am): Likewise.
1538         * modules/atexit (Makefile.am): Likewise.
1539         * modules/backupfile (Makefile.am): Likewise.
1540         * modules/c-strtod (Makefile.am): Likewise.
1541         * modules/c-strtold (Makefile.am): Likewise.
1542         * modules/calloc (Makefile.am): Likewise.
1543         * modules/canon-host (Makefile.am): Likewise.
1544         * modules/canonicalize (Makefile.am): Likewise.
1545         * modules/chdir-long (Makefile.am): Likewise.
1546         * modules/chdir-safer (Makefile.am): Likewise.
1547         * modules/check-version (Makefile.am): Likewise.
1548         * modules/chown (Makefile.am): Likewise.
1549         * modules/cloexec (Makefile.am): Likewise.
1550         * modules/close-stream (Makefile.am): Likewise.
1551         * modules/closeout (Makefile.am): Likewise.
1552         * modules/crc (Makefile.am): Likewise.
1553         * modules/cycle-check (Makefile.am): Likewise.
1554         * modules/des (Makefile.am): Likewise.
1555         * modules/dirfd (Makefile.am): Likewise.
1556         * modules/dirname (Makefile.am): Likewise.
1557         * modules/dup2 (Makefile.am): Likewise.
1558         * modules/euidaccess (Makefile.am): Likewise.
1559         * modules/exclude (Makefile.am): Likewise.
1560         * modules/exitfail (Makefile.am): Likewise.
1561         * modules/fcntl-safer (Makefile.am): Likewise.
1562         * modules/file-type (Makefile.am): Likewise.
1563         * modules/fileblocks (Makefile.am): Likewise.
1564         * modules/filemode (Makefile.am): Likewise.
1565         * modules/filenamecat (Makefile.am): Likewise.
1566         * modules/fnmatch (Makefile.am): Likewise.
1567         * modules/fopen-safer (Makefile.am): Likewise.
1568         * modules/fpending (Makefile.am): Likewise.
1569         * modules/fprintftime (Makefile.am): Likewise.
1570         * modules/free (Makefile.am): Likewise.
1571         * modules/fsusage (Makefile.am): Likewise.
1572         * modules/ftruncate (Makefile.am): Likewise.
1573         * modules/fts (Makefile.am): Likewise.
1574         * modules/gc (Makefile.am): Likewise.
1575         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
1576         * modules/getaddrinfo (Makefile.am): Likewise.
1577         * modules/getcwd (Makefile.am): Likewise.
1578         * modules/getdelim (Makefile.am): Likewise.
1579         * modules/getdomainname (Makefile.am): Likewise.
1580         * modules/getgroups (Makefile.am): Likewise.
1581         * modules/gethostname (Makefile.am): Likewise.
1582         * modules/gethrxtime (Makefile.am): Likewise.
1583         * modules/getline (Makefile.am): Likewise.
1584         * modules/getloadavg (Makefile.am): Likewise.
1585         * modules/getlogin_r (Makefile.am): Likewise.
1586         * modules/getopt (Makefile.am): Likewise.
1587         * modules/getpass (Makefile.am): Likewise.
1588         * modules/getpass-gnu (Makefile.am): Likewise.
1589         * modules/getsubopt (Makefile.am): Likewise.
1590         * modules/gettime (Makefile.am): Likewise.
1591         * modules/gettimeofday (Makefile.am): Likewise.
1592         * modules/getugroups (Makefile.am): Likewise.
1593         * modules/getusershell (Makefile.am): Likewise.
1594         * modules/glob (Makefile.am): Likewise.
1595         * modules/group-member (Makefile.am): Likewise.
1596         * modules/hard-locale (Makefile.am): Likewise.
1597         * modules/hash (Makefile.am): Likewise.
1598         * modules/hmac-md5 (Makefile.am): Likewise.
1599         * modules/hmac-sha1 (Makefile.am): Likewise.
1600         * modules/human (Makefile.am): Likewise.
1601         * modules/idcache (Makefile.am): Likewise.
1602         * modules/imaxabs (Makefile.am): Likewise.
1603         * modules/imaxdiv (Makefile.am): Likewise.
1604         * modules/inet_ntop (Makefile.am): Likewise.
1605         * modules/inet_pton (Makefile.am): Likewise.
1606         * modules/inttostr (Makefile.am): Likewise.
1607         * modules/isapipe (Makefile.am): Likewise.
1608         * modules/lchown (Makefile.am): Likewise.
1609         * modules/long-options (Makefile.am): Likewise.
1610         * modules/lstat (Makefile.am): Likewise.
1611         * modules/malloc (Makefile.am): Likewise.
1612         * modules/mathl (Makefile.am): Likewise.
1613         * modules/mbchar (Makefile.am): Likewise.
1614         * modules/md2 (Makefile.am): Likewise.
1615         * modules/md4 (Makefile.am): Likewise.
1616         * modules/md5 (Makefile.am): Likewise.
1617         * modules/memcasecmp (Makefile.am): Likewise.
1618         * modules/memchr (Makefile.am): Likewise.
1619         * modules/memcmp (Makefile.am): Likewise.
1620         * modules/memcoll (Makefile.am): Likewise.
1621         * modules/memcpy (Makefile.am): Likewise.
1622         * modules/memmem (Makefile.am): Likewise.
1623         * modules/memmove (Makefile.am): Likewise.
1624         * modules/mempcpy (Makefile.am): Likewise.
1625         * modules/memrchr (Makefile.am): Likewise.
1626         * modules/memset (Makefile.am): Likewise.
1627         * modules/memxor (Makefile.am): Likewise.
1628         * modules/mkancesdirs (Makefile.am): Likewise.
1629         * modules/mkdir (Makefile.am): Likewise.
1630         * modules/mkdir-p (Makefile.am): Likewise.
1631         * modules/mkdtemp (Makefile.am): Likewise.
1632         * modules/mkstemp (Makefile.am): Likewise.
1633         * modules/mktime (Makefile.am): Likewise.
1634         * modules/modechange (Makefile.am): Likewise.
1635         * modules/mountlist (Makefile.am): Likewise.
1636         * modules/nanosleep (Makefile.am): Likewise.
1637         * modules/openat (Makefile.am): Likewise.
1638         * modules/pagealign_alloc (Makefile.am): Likewise.
1639         * modules/physmem (Makefile.am): Likewise.
1640         * modules/poll (Makefile.am): Likewise.
1641         * modules/posixtm (Makefile.am): Likewise.
1642         * modules/posixver (Makefile.am): Likewise.
1643         * modules/putenv (Makefile.am): Likewise.
1644         * modules/quote (Makefile.am): Likewise.
1645         * modules/quotearg (Makefile.am): Likewise.
1646         * modules/raise (Makefile.am): Likewise.
1647         * modules/read-file (Makefile.am): Likewise.
1648         * modules/readline (Makefile.am): Likewise.
1649         * modules/readlink (Makefile.am): Likewise.
1650         * modules/readtokens (Makefile.am): Likewise.
1651         * modules/readutmp (Makefile.am): Likewise.
1652         * modules/realloc (Makefile.am): Likewise.
1653         * modules/regex (Makefile.am): Likewise.
1654         * modules/rename (Makefile.am): Likewise.
1655         * modules/rename-dest-slash (Makefile.am): Likewise.
1656         * modules/rijndael (Makefile.am): Likewise.
1657         * modules/rmdir (Makefile.am): Likewise.
1658         * modules/rpmatch (Makefile.am): Likewise.
1659         * modules/safe-read (Makefile.am): Likewise.
1660         * modules/safe-write (Makefile.am): Likewise.
1661         * modules/same (Makefile.am): Likewise.
1662         * modules/save-cwd (Makefile.am): Likewise.
1663         * modules/savedir (Makefile.am): Likewise.
1664         * modules/setenv (Makefile.am): Likewise.
1665         * modules/settime (Makefile.am): Likewise.
1666         * modules/sha1 (Makefile.am): Likewise.
1667         * modules/sig2str (Makefile.am): Likewise.
1668         * modules/snprintf (Makefile.am): Likewise.
1669         * modules/stdlib-safer (Makefile.am): Likewise.
1670         * modules/stpcpy (Makefile.am): Likewise.
1671         * modules/stpncpy (Makefile.am): Likewise.
1672         * modules/strcase (Makefile.am): Likewise.
1673         * modules/strcasestr (Makefile.am): Likewise.
1674         * modules/strchrnul (Makefile.am): Likewise.
1675         * modules/strcspn (Makefile.am): Likewise.
1676         * modules/strdup (Makefile.am): Likewise.
1677         * modules/strerror (Makefile.am): Likewise.
1678         * modules/strftime (Makefile.am): Likewise.
1679         * modules/strndup (Makefile.am): Likewise.
1680         * modules/strnlen (Makefile.am): Likewise.
1681         * modules/strpbrk (Makefile.am): Likewise.
1682         * modules/strsep (Makefile.am): Likewise.
1683         * modules/strstr (Makefile.am): Likewise.
1684         * modules/strtod (Makefile.am): Likewise.
1685         * modules/strtoimax (Makefile.am): Likewise.
1686         * modules/strtok_r (Makefile.am): Likewise.
1687         * modules/strtol (Makefile.am): Likewise.
1688         * modules/strtoll (Makefile.am): Likewise.
1689         * modules/strtoul (Makefile.am): Likewise.
1690         * modules/strtoull (Makefile.am): Likewise.
1691         * modules/strtoumax (Makefile.am): Likewise.
1692         * modules/strverscmp (Makefile.am): Likewise.
1693         * modules/time_r (Makefile.am): Likewise.
1694         * modules/timegm (Makefile.am): Likewise.
1695         * modules/tmpfile-safer (Makefile.am): Likewise.
1696         * modules/unistd-safer (Makefile.am): Likewise.
1697         * modules/unlinkdir (Makefile.am): Likewise.
1698         * modules/userspec (Makefile.am): Likewise.
1699         * modules/utime (Makefile.am): Likewise.
1700         * modules/utimecmp (Makefile.am): Likewise.
1701         * modules/utimens (Makefile.am): Likewise.
1702         * modules/vasnprintf (Makefile.am): Likewise.
1703         * modules/vasprintf (Makefile.am): Likewise.
1704         * modules/vsnprintf (Makefile.am): Likewise.
1705         * modules/xalloc (Makefile.am): Likewise.
1706         * modules/xgetcwd (Makefile.am): Likewise.
1707         * modules/xnanosleep (Makefile.am): Likewise.
1708         * modules/xreadlink (Makefile.am): Likewise.
1709         * modules/xstrtod (Makefile.am): Likewise.
1710         * modules/xstrtol (Makefile.am): Likewise.
1711         * modules/xstrtold (Makefile.am): Likewise.
1712         * modules/yesno (Makefile.am): Likewise.
1713
1714 2006-10-12  Jim Meyering  <jim@meyering.net>
1715
1716         * m4/getloadavg.m4: Revert the change below.
1717
1718         * m4/getloadavg.m4 (gl_GETLOADAVG): Test for the existence of
1719         lib/getloadavg.c using "ls -L", not "test -f".  The latter would
1720         fail with a symlink, which is what coreutils' ./bootstrap now
1721         creates by default.
1722
1723 2006-10-12  Bruno Haible  <bruno@clisp.org>
1724
1725         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): Don't define for MSVC or
1726         mingw.
1727         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX): Handle
1728         MSVC and mingw explicitly.
1729
1730 2006-10-11  Simon Josefsson  <jas@extundo.com>
1731             Bruno Haible  <bruno@clisp.org>
1732
1733         Add support for multiple gnulib-tool invocations in the scope of a
1734         single configure.ac file.
1735         * gnulib-tool (func_emit_lib_Makefile_am): In the _LIBADD variable,
1736         use a private [LT]LIBOBJS variant. Define a _DEPENDENCIES variable
1737         with the same contents as the _LIBADD variable.
1738         (func_emit_initmacro_start, func_emit_initmacro_end,
1739         func_emit_initmacro_done): New functions.
1740         (func_import, func_create_testdir): Invoke them. Allow the identifiers
1741         gl_LIBOBJS and gl_LTLIBOBJS.
1742
1743 2006-10-11  Bruno Haible  <bruno@clisp.org>
1744
1745         * gnulib-tool (GETTEXTPATH, AUTOHEADER, AUTOPOINT): New variables.
1746         (func_create_testdir): Don't create po/Makefile.am, don't invoke
1747         autoreconf. Instead, invoke autopoint explicitly but move back the
1748         *.m4 files from gnulib.
1749
1750 2006-10-11  Bruno Haible  <bruno@clisp.org>
1751
1752         * gnulib-tool (func_usage): Make module names after --create-testdir
1753         optional.
1754         (func_create_testdir): If no module was specified, use nearly all
1755         modules.
1756
1757 2006-10-12  Jim Meyering  <jim@meyering.net>
1758
1759         Big performance improvement for fts-based tools that use FTS_NOSTAT.
1760         Avoid spurious inode-mismatch problems on non-POSIX file systems.
1761         Details: http://article.gmane.org/gmane.comp.lib.gnulib.bugs/7416
1762         * lib/fts_.h (FTS_DEFER_STAT): Define new flag.
1763         (FTS_OPTIONMASK): Extend the mask to reflect this addition.
1764         * lib/fts.c (DT_IS_KNOWN, DT_MUST_BE): Define.
1765         (FTS_NO_STAT_REQUIRED, FTS_STAT_REQUIRED): Define.
1766         (fts_set_stat_required): New function.
1767         (fts_open): Defer the calls to fts_stat, if possible or requested.
1768         Move the code that maps a command-line fts_info value FTS_DOT to FTS_D
1769         into fts_stat itself.
1770         (fts_read): Perform any required (deferred) fts_stat call.
1771         (fts_build): Likewise, for the directory we're about to open and read.
1772         In the readdir loop, carefully decide whether each entry will require
1773         an eventual call to fts_stat, using dirent.d_type info if available.
1774         (fts_stat): Move the test for whether to honor FTS_COMFOLLOW on
1775         a command line argument into this function.  Update all callers.
1776         Map a return value of FTS_DOT to FTS_D for a command line argument.
1777         * modules/fts (Depends-on): Add d-type.  Alphabetize.
1778         Thanks to Miklos Szeredi for his tenacity and for the initial
1779         bug report about "find" failing on a FUSE-based file system.
1780
1781         * lib/fts.c (fts_open): Use consistent indentation.
1782
1783 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
1784
1785         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Renamed from
1786         gl_USE_SYSTEM_EXTENSIONS, to fix a coreutils bootstrap failure
1787         reported by Jim Meyering.  All uses of cache variables renamed
1788         to match Autoconf's.
1789         (gl_USE_SYSTEM_EXTENSIONS): New macro, which simply requires
1790         the other one.
1791
1792         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH):
1793         Fix misspelling in diagnostic.
1794
1795 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
1796
1797         * lib/mkdir-p.c (HAVE_FCHMOD): Define to false if not already
1798         defined.  Problem reported by Matthew Woehlke.
1799
1800         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): New macro.
1801         Add support for Tandem NonStop R series.
1802         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX):
1803         Use new macro.
1804
1805         * lib/rename-dest-slash.c: Include stdbool.h but not string.h.
1806         (has_trailing_slash): Omit size arg; all callers changed.
1807         Omit 'inline', since it doesn't help performance and we'd
1808         need to configure it.
1809         Don't count //, ///, etc. as having a trailing slash.
1810         As a side effect, this removes a C99ism reported by Matthew Woehlke.
1811         (rpl_rename_dest_slash): On failure, use rename's errno rather
1812         than (in some cases) an incorrect or junk errno.
1813         Simplify code by removing need to compute length; this does
1814         cause it to make two passes instead of one over the file name,
1815         but it's worth it.
1816
1817         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Undo previous
1818         change, since Autoconf's version may no longer be appropriate now
1819         that we are using CVS Autoconf's version.  Add support for Tandem.
1820
1821 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
1822             Bruno Haible  <bruno@clisp.org>
1823
1824         * lib/allocsa.h (sa_alignment_longlong, sa_alignment_max): Test
1825         HAVE_LONG_LONG_INT instead of HAVE_LONG_LONG.
1826         * m4/allocsa.m4 (gl_ALLOCSA): Invoke AC_TYPE_LONG_LONG_INT instead of
1827         gl_AC_TYPE_LONG_LONG.
1828
1829         * lib/printf-args.h (arg_type, argument): Test HAVE_LONG_LONG_INT
1830         instead of HAVE_LONG_LONG.
1831         * lib/printf-args.c (printf_fetchargs): Likewise.
1832         * lib/printf-parse.c (PRINTF_PARSE): Likewise.
1833         * lib/vasnprintf.c (VASNPRINTF): Likewise.
1834         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS, gl_PREREQ_PRINTF_PARSE,
1835         gl_PREREQ_VASNPRINTF): Invoke AC_TYPE_LONG_LONG_INT instead of
1836         gl_AC_TYPE_LONG_LONG.
1837
1838 2006-10-11  Bruno Haible  <bruno@clisp.org>
1839
1840         * m4/longlong.m4: Add comments.
1841         * m4/ulonglong.m4: Likewise.
1842
1843 2006-10-10  Bruno Haible  <bruno@clisp.org>
1844
1845         Make it possible to #define stpcpy, strdup to aliases.
1846         * lib/stpcpy.c (stpcpy) [!_LIBC]: Don't undefine.
1847         * lib/strdup.c (strdup) [!_LIBC]: Don't undefine.
1848
1849 2006-10-10  Bruno Haible  <bruno@clisp.org>
1850
1851         Make it possible to #define gcd to an alias.
1852         * lib/gcd.c: Include config.h.
1853
1854 2006-10-10  Bruno Haible  <bruno@clisp.org>
1855
1856         Make it possible to #define c_isascii to an alias.
1857         * lib/c-ctype.h: Don't define the macros if NO_C_CTYPE_MACROS is
1858         defined. Undefine the macros before defining them, to avoid gcc
1859         warnings.
1860         * lib/c-ctype.c: Include config.h. Don't undefine the macros; instead,
1861         define NO_C_CTYPE_MACROS early.
1862
1863 2006-10-10  Bruno Haible  <bruno@clisp.org>
1864
1865         Make it possible to #define set_program_name to an alias.
1866         * lib/progname.c: Don't undefine set_program_name; instead, undefine
1867         ENABLE_RELOCATABLE early.
1868
1869 2006-10-10  Paul Eggert  <eggert@cs.ucla.edu>
1870
1871         Port to Tandem NSK OSS, which has 64-bit signed int but at most
1872         32-bit unsigned int.  Problem reported by Matthew Woehlke in:
1873         http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00062.html
1874         More generally, don't assume that 64-bit signed int is available
1875         if unsigned int is, and vice versa.
1876         * lib/inttypes_.h (_PRIu64_PREFIX, _SCNu64_PREFIX): Depend on
1877         unsigned symbols, not on their signed counterparts.
1878         * lib/stdint_.h (uint64_t, uint_least64_t, uint_fast64_t, uintmax_t):
1879         (UINT64_MAX, UINT_LEAST64_MAX, UINT_FAST64_MAX, UINTMAX_MAX):
1880         (UINT64_C, UINTMAX_C):
1881         Likewise.
1882         * lib/strtoimax.c (strtoll): Depend on signed symbols, not their
1883         unsigned counterparts.
1884         (Have_long_long, Unsigned): New macros.
1885         (Int): Renamed from INT.
1886         (strtoimax): Use the new macros.
1887         * m4/stdint.m4 (gl_STDINT_H): Require AC_TYPE_UNSIGNED_LONG_LONG_INT
1888         and substitute HAVE_UNSIGNED_LONG_LONG_INT.
1889         * modules/inttypes (inttypes.h): Substitute
1890         HAVE_UNSIGNED_LONG_LONG_INT.
1891         * modules/stdint (stdint.h): Likewise.
1892         (Files): Add m4/ulonglong.m4.
1893
1894 2006-10-10  Bruno Haible  <bruno@clisp.org>
1895
1896         Fix a gcc -Wshadow warning.
1897         * lib/gl_anyhash_list2.h (hash_resize): Rename local variable 'index'
1898         to 'bucket'.
1899         * lib/gl_anylinked_list2.h (gl_linked_search_from_to,
1900         gl_linked_indexof_from_to): Likewise.
1901         * lib/gl_linkedhash_list.c (add_to_bucket, remove_from_bucket):
1902         Likewise.
1903         * lib/gl_anytreehash_list1.h (add_to_bucket, remove_from_bucket):
1904         Likewise.
1905         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Likewise.
1906         Reported by Eric Blake.
1907
1908 2006-10-09  Paul Eggert  <eggert@cs.ucla.edu>
1909
1910         * lib/filemode.h [HAVE_DECL_STRMODE]: Include unistd.h too,
1911         for NetBSD.  Problem reported by Bruno Haible.
1912
1913 2006-10-09  Jim Meyering  <jim@meyering.net>
1914
1915         * lib/lchown.c: Include <sys/stat.h> before "stat-macros.h".
1916         Patch from Bruno Haible.
1917
1918 2006-10-09  Jim Meyering  <jim@meyering.net>
1919
1920         * lib/fts-cycle.c (leave_dir): When "leaving" a top level directory due
1921         to FTS_SKIP, don't copy the parent's uninitialized dev/ino values.
1922         Trigger with e.g., mkdir d && valgrind ./chmod u+rwx d d
1923
1924 2006-10-08  Paul Eggert  <eggert@cs.ucla.edu>
1925
1926         Don't include <config.h> twice; this doesn't work in some cases,
1927         e.g., when config.h has "#define intmax_t long long int" and
1928         we include <config.h>, <inttypes.h>, <config.h> in that order.
1929         Problem reported by Matthew Woehlke in:
1930         http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00073.html
1931         * lib/fprintftime.c: Don't include config.h or fprintftime.h.
1932         * lib/fts-cycle.c: Don't include config.h.
1933         * lib/strftime.c: Include fprintftime.h if FPRINTFTIME is defined.
1934         * lib/xstrtoimax.c: Remove copyright notice since it's short tnow.
1935         Don't include config.h or xstrtol.h.  Define STRTOL_T_MINIMUM
1936         and STRTOL_T_MAXIMUM unconditionally, since we now assume gnulib
1937         inttypes.h.
1938         * lib/xstrtoumax.c: Likewise.
1939         * lib/xstrtol.c: Include config.h and xstrtol.h after defining
1940         __strtol and the like, so that this module is more like its siblings.
1941         (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [! defined STRTOL_T_MINIMUM]:
1942         Remove; no longer needed now that we assume gnulib inttypes.h.
1943
1944 2006-10-08  Bruno Haible  <bruno@clisp.org>
1945
1946         * doc/gnulib-tool.texi: Emphasize the drawbacks of the --symlink
1947         option.
1948
1949 2006-10-07  Jim Meyering  <jim@meyering.net>
1950
1951         * modules/inttypes (inttypes.h): Revert what seems to have been
1952         an inadvertent part of today's change: use "|", not "/" in the
1953         substitution for the "/"-containing string, $(ABSOLUTE_INTTYPES_H).
1954
1955 2006-10-07  Bruno Haible  <bruno@clisp.org>
1956
1957         * modules/sublist: New file.
1958
1959 2006-10-07  Bruno Haible  <bruno@clisp.org>
1960
1961         * modules/alloca-opt (alloca.h): Add a "DO NOT EDIT" comment.
1962         * modules/argz (argz.h): Likewise.
1963         * modules/arpa_inet (arpa/inet.h): Likewise.
1964         * modules/byteswap (byteswap.h): Likewise.
1965         * modules/configmake (configmake.h): Likewise.
1966         * modules/fcntl (fcntl.h): Likewise.
1967         * modules/fnmatch (fnmatch.h): Likewise.
1968         * modules/getopt (getopt.h): Likewise.
1969         * modules/glob (glob.h): Likewise.
1970         * modules/inttypes (inttypes.h): Likewise.
1971         * modules/netinet_in (netinet/in.h): Likewise.
1972         * modules/poll (poll.h): Likewise.
1973         * modules/stdbool (stdbool.h): Likewise.
1974         * modules/stdint (stdint.h): Likewise.
1975         * modules/sys_select (sys/select.h): Likewise.
1976         * modules/sys_socket (sys/socket.h): Likewise.
1977         * modules/sys_stat (sys/stat.h): Likewise.
1978         * modules/sysexits (sysexits.h): Likewise.
1979         * modules/unistd (unistd.h): Likewise.
1980         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
1981         Add a "DO NOT EDIT" comment to the generated file.
1982         (func_import): Likewise for gnulib-comp.m4.
1983
1984 2006-10-07  Bruno Haible  <bruno@clisp.org>
1985
1986         * lib/gl_sublist.h: New file.
1987         * lib/gl_sublist.c: New file.
1988
1989 2006-10-06  Paul Eggert  <eggert@cs.ucla.edu>
1990
1991         * lib/mkancesdirs.c (mkancesdirs): Pass to MAKE_DIR both the full file
1992         name (relative to the original working directory) and the file
1993         name component (relative to the temporary working directory).  All
1994         callers changed.
1995         * lib/mkancesdirs.h (mkancesdirs): Adjust prototype to match.
1996         * lib/mkdir-p.c (make_dir_parents): Likewise.
1997         * lib/mkdir-p.h (make_dir_parents): Likewise.
1998
1999 2006-10-06  Eric Blake  <ebb9@byu.net>
2000
2001         Define several macros for use by the clean-temp module.
2002         * m4/close-stream.m4 (gl_CLOSE_STREAM): Define GNULIB_CLOSE_STREAM.
2003         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Define GNULIB_FCNTL_SAFER.
2004         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Define GNULIB_FOPEN_SAFER.
2005
2006         * lib/clean-temp.h (close_stream_temp): New declaration.
2007         * lib/clean-temp.c (includes): Pull in headers according to what
2008         other modules are in use.
2009         (close_stream_temp) [GNULIB_CLOSE_STREAM]: New function.
2010
2011 2006-10-06  Bruno Haible  <bruno@clisp.org>
2012
2013         * lib/javacomp.c (write_temp_file): Use fopen_temp, fwriteerror_temp
2014         instead of fopen, fwriteerror.
2015
2016 2006-10-06  Bruno Haible  <bruno@clisp.org>
2017
2018         * lib/clean-temp.h (cleanup_temp_file, cleanup_temp_subdir,
2019         cleanup_temp_dir_contents, cleanup_temp_dir): Change return type to
2020         int.
2021         * lib/clean-temp.c (do_unlink, do_rmdir, cleanup_temp_file,
2022         cleanup_temp_subdir, cleanup_temp_dir_contents, cleanup_temp_dir):
2023         Return an error indicator.
2024         Suggested by Eric Blake.
2025
2026 2006-10-06  Bruno Haible  <bruno@clisp.org>
2027
2028         * lib/clean-temp.c (PATH_MAX): Provide a fallback for GNU Hurd.
2029         Reported by Eric Blake.
2030
2031 2006-10-06  Bruno Haible  <bruno@clisp.org>
2032
2033         * modules/closeout (Description): Mention stderr too.
2034
2035 2006-10-06  Bruno Haible  <bruno@clisp.org>
2036         and Paul Eggert  <eggert@cs.ucla.edu>
2037
2038         * lib/closeout.c (close_stdout): Also close stderr.
2039         * lib/closeout.h: Update comment.
2040
2041 2006-10-05  Paul Eggert  <eggert@cs.ucla.edu>
2042
2043         Fix some Darwin-7.9.0 porting problems reported by Bruno Haible in
2044         <http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00063.html>.
2045         * lib/dirchownmod.c: Include lchown.h.
2046         * lib/lchown.c: Don't include files that lchown.h now includes.
2047         Don't declare chown, since lchown.h now does that.
2048         * lib/lchown.h: Include errno.h, sys/types.h, unistd.h.
2049         (lchown): Define to rpl_chown if lchown is declared but
2050         does not exist.  Declare using a prototype if lchown is not
2051         declared.  Add a copyright notice.
2052         * lib/mkstemp.h: Include <unistd.h>.
2053         * lib/openat.c: Include lchown.h.
2054
2055         * lib/fcntl_.h (O_NOFOLLOW): Don't depend on O_NOFOLLOW_IS_INEFFECTIVE;
2056         we now test for that separately.
2057         * lib/fts.c (fts_safe_changedir): Inspect HAVE_WORKING_O_NOFOLLOW
2058         rather than O_NOFOLLOW, when testing whether it's possible to
2059         avoid a race condition reliably.
2060         * lib/savewd.c (savewd_chdir): Likewise.
2061
2062         Remove macros that are no longer needed now that stdint.h is
2063         reliable.
2064         * lib/fsusage.c (UINTMAX_MAX): Remove.
2065         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Remove.
2066         * lib/utimecmp.c (SIZE_MAX): Remove.
2067
2068         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check whether lchown is declared.
2069
2070         * m4/fcntl_h.m4 (gl_FCNTL_H): Define HAVE_WORKING_O_NOFOLLOW instead
2071         of O_NOFOLLOW_IS_INEFFECTIVE.  Define HAVE_WORKING_O_NOATIME if
2072         O_NOATIME works.
2073
2074 2006-10-05  Bruno Haible  <bruno@clisp.org>
2075
2076         * lib/gl_list.h (gl_sortedlist_search_from_to,
2077         gl_sortedlist_indexof_from_to): New declarations.
2078         (gl_list_implementation): New fields sortedlist_search_from_to,
2079         sortedlist_indexof_from_to.
2080         (gl_sortedlist_search_from_to, gl_sortedlist_indexof_from_to): New
2081         inline functions.
2082         * lib/gl_list.c (gl_sortedlist_search_from_to,
2083         gl_sortedlist_indexof_from_to): New functions.
2084         * lib/gl_array_list.c (gl_array_sortedlist_indexof_from_to): New
2085         function.
2086         (gl_array_sortedlist_indexof, gl_array_sortedlist_search): Use it.
2087         (gl_array_sortedlist_search_from_to): New function.
2088         (gl_array_list_implementation): Update.
2089         * lib/gl_carray_list.c (gl_carray_sortedlist_indexof_from_to): New
2090         function.
2091         (gl_carray_sortedlist_indexof, gl_carray_sortedlist_search): Use it.
2092         (gl_carray_sortedlist_search_from_to): New function.
2093         (gl_carray_list_implementation): Update.
2094         * lib/gl_anylinked_list2.h (gl_linked_sortedlist_search_from_to,
2095         gl_linked_sortedlist_indexof_from_to): New functions.
2096         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
2097         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
2098         * lib/gl_anytree_list2.h (gl_tree_sortedlist_search_from_to,
2099         gl_tree_sortedlist_indexof_from_to): New functions.
2100         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
2101         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
2102         Update.
2103         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
2104         * lib/gl_rbtreehash_list.c (gl_avltreehash_list_implementation):
2105         Update.
2106
2107 2006-10-05  Bruno Haible  <bruno@clisp.org>
2108
2109         * lib/gl_list.h (gl_list_search_from, gl_list_search_from_to,
2110         gl_list_indexof_from, gl_list_indexof_from_to): New declarations.
2111         (struct gl_list_implementation): Add fields search_from_to,
2112         indexof_from_to. Remove fields search, indexof.
2113         (gl_list_search): Use the search_from_to method.
2114         (gl_list_search_from, gl_list_search_from_to): New functions.
2115         (gl_list_indexof): Use the indexof_from_to method.
2116         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
2117         * lib/gl_list.c (gl_list_search): Use the search_from_to method.
2118         (gl_list_search_from, gl_list_search_from_to): New functions.
2119         (gl_list_indexof): Use the indexof_from_to method.
2120         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
2121         * lib/gl_array_list.c (gl_array_indexof_from_to): Renamed from
2122         gl_array_indexof. Add start_index, end_index arguments.
2123         (gl_array_search_from_to): Renamed from gl_array_search. Add
2124         start_index, end_index arguments.
2125         (gl_array_remove, gl_array_list_implementation): Update.
2126         * lib/gl_carray_list.c (gl_carray_indexof_from_to): Renamed from
2127         gl_carray_indexof. Add start_index, end_index arguments.
2128         (gl_carray_search_from_to): Renamed from gl_carray_search. Add
2129         start_index, end_index arguments.
2130         (gl_carray_remove, gl_carray_list_implementation): Update.
2131         * lib/gl_anylinked_list2.h (gl_linked_search_from_to): Renamed from
2132         gl_linked_search. Add start_index, end_index arguments.
2133         (gl_linked_indexof_from_to): Renamed from gl_linked_indexof. Add
2134         start_index, end_index arguments.
2135         (gl_linked_remove): Update.
2136         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
2137         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
2138         * lib/gl_anytree_list1.h (iterstack_item_t): Change type of 'rightp'
2139         field to 'size_t'.
2140         * lib/gl_anytree_list2.h (gl_tree_search_from_to): Renamed from
2141         gl_tree_search. Add start_index, end_index arguments.
2142         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
2143         start_index, end_index arguments.
2144         (gl_tree_remove): Update.
2145         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
2146         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
2147         * lib/gl_anytreehash_list1.h (compare_position_threshold): New
2148         function.
2149         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Renamed from
2150         gl_tree_search. Add start_index, end_index arguments.
2151         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
2152         start_index, end_index arguments.
2153         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
2154         Update.
2155         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Update.
2156
2157 2006-10-05  Bruno Haible  <bruno@clisp.org>
2158
2159         * modules/fwriteerror (configure.ac): Define GNULIB_FWRITEERROR.
2160
2161         * lib/clean-temp.h (open_temp, fopen_temp, close_temp, fclose_temp,
2162         fwriteerror_temp): New declarations.
2163         * lib/clean-temp.c (uintptr_t): Provide fallback definition.
2164         (descriptors): New variable.
2165         (cleanup): First, close the descriptors.
2166         (register_fd, unregister_fd, open_temp, fopen_temp, close_temp,
2167         fclose_temp, fwriteerror_temp): New functions.
2168
2169 2006-10-04  Jim Meyering  <jim@meyering.net>
2170
2171         * lib/fts.c (fts_open): Tiny comment change.
2172
2173 2006-10-04  Bruno Haible  <bruno@clisp.org>
2174
2175         Make it possible to invoke AC_GNU_SOURCE after gl_LOCK_EARLY.
2176         * m4/lock.m4 (gl_LOCK_EARLY_BODY): New macro, extracted code from
2177         gl_LOCK_BODY.
2178         (gl_LOCK_EARLY): Require gl_LOCK_EARLY_BODY, not gl_LOCK_BODY.
2179         (gl_LOCK_BODY): Remove settings of CPPFLAGS, now done in
2180         gl_LOCK_EARLY_BODY.
2181         (gl_LOCK): Require gl_LOCK_BODY.
2182
2183 2006-10-04  Bruno Haible  <bruno@clisp.org>
2184
2185         * lib/gl_oset.h (gl_setelement_threshold_fn): New type.
2186         (gl_oset_search_atleast): New declaration.
2187         (struct gl_oset_implementation): Add field 'search_atleast'.
2188         (gl_oset_search_atleast): New inline function.
2189         * lib/gl_oset.c (gl_oset_search_atleast): New function.
2190         * lib/gl_array_oset.c (gl_array_search_atleast): New function.
2191         (gl_array_oset_implementation): Update.
2192         * lib/gl_anytree_oset.h (gl_tree_search_atleast): New function.
2193         * lib/gl_avltree_oset.c (gl_avltree_oset_implementation): Update.
2194         * lib/gl_rbtree_oset.c (gl_rbtree_oset_implementation): Update.
2195
2196 2006-10-04  Bruno Haible  <bruno@clisp.org>
2197
2198         * lib/fatal-signal.c (fatal_signals) [WOE32]: Add the SIGBREAK signal.
2199
2200 2006-10-03  Bruno Haible  <bruno@clisp.org>
2201
2202         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Renamed
2203         from gl_avltreehash_list_implementation.
2204
2205 2006-10-03  Bruno Haible  <bruno@clisp.org>
2206
2207         * lib/gl_oset.c (gl_oset_add): Fix return type.
2208
2209 2006-10-02  Paolo Bonzini  <bonzini@gnu.org>  (tiny change)
2210
2211         * lib/quotearg.c (mbstate_t) [!HAVE_MBRTOWC]: #define to int.
2212
2213 2006-10-02  Eric Blake  <ebb9@byu.net>
2214
2215         * modules/strnlen (Depends-on): Add extensions.
2216
2217 2006-10-02  Eric Blake  <ebb9@byu.net>
2218
2219         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use autoconf's
2220         definition in 2.60+.
2221
2222 2006-10-02  Dmitry V. Levin  <ldv@altlinux.org>
2223
2224         * lib/fts.c (fts_close, fts_build, fts_palloc): Remove redundant
2225         checks.
2226
2227 2006-10-02  Bruno Haible  <bruno@clisp.org>
2228
2229         * gnulib-tool (func_emit_lib_Makefile_am): Don't add no-dependencies
2230         to the AUTOMAKE_OPTIONS.
2231         Reported by Jim Meyering.
2232
2233 2006-09-29  Paul Eggert  <eggert@cs.ucla.edu>
2234
2235         Work around bug in Solaris 10 /proc file system:
2236         /proc/self/fd/NNN/.. isn't the parent directory of
2237         the directory whose file descriptor is NNN.  This needs to
2238         be worked around at run time, not compile time, since a
2239         program might be built on Solaris 8, where things work, and
2240         run on Solaris 10.
2241         * lib/openat-priv.h (BUILD_PROC_NAME): Remove.  All callers changed
2242         to use the following interface instead:
2243         (OPENAT_BUFFER_SIZE): New macro.
2244         (openat_proc_name): New function.
2245         * lib/at-func.c (AT_FUNC_NAME): Adjust to above changes.
2246         * lib/openat.c (openat_permissive, openat_needs_fchdir, fdopendir):
2247         Likewise.
2248         * lib/openat-proc.c: New file.
2249         * modules/openat (Files): Add lib/openat-proc.c.
2250         (Depends-on): Add same-inode, stdbool.
2251         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBOBJ(openat-proc).
2252
2253 2006-09-29  Bruno Haible  <bruno@clisp.org>
2254
2255         * lib/fwriteerror.h (fwriteerror_no_ebadf): New declaration.
2256         * lib/(do_fwriteerror): Renamed from fwriteerror. Add ignore_ebadf
2257         argument. Set stdout_closed before testing for ferror, not after.
2258         (fwriteerror, fwriteerror_no_ebadf): New functions.
2259
2260 2006-09-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
2261
2262         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Avoid unused variables warning.
2263
2264 2006-09-28  Paolo Bonzini  <bonzini@gnu.org>
2265
2266         * lib/poll.c (rpl_poll) [__APPLE__]: Use FIONREAD instead of MSG_PEEK.
2267         * m4/poll.m4: Look for sys/ioctl.h and sys/filio.h.
2268
2269 2006-09-28  Jim Meyering  <jim@meyering.net>
2270
2271         * lib/mkdir-p.c: Include "dirchownmod.h", not "dirchownmod.c".
2272         Include <unistd.h>.
2273
2274 2006-09-28  Bruno Haible  <bruno@clisp.org>
2275
2276         * modules/avltreehash-list (Depends-on): Add stdint, remove size_max.
2277         * modules/linkedhash-list (Depends-on): Likewise.
2278         * modules/rbtreehash-list (Depends-on): Likewise.
2279
2280 2006-09-28  Bruno Haible  <bruno@clisp.org>
2281
2282         * lib/strndup.h: Simplify the redefinition of strndup.
2283         (_GL_CONCAT, _GL_XCONCAT, __STRNDUP_ID): Remove macros.
2284         * m4/strndup.m4 (gl_FUNC_STRNDUP): Don't define __STRNDUP_PREFIX.
2285
2286 2006-09-28  Bruno Haible  <bruno@clisp.org>
2287
2288         * lib/gl_avltreehash_list.c: Include <stdint.h> instead of size_max.h.
2289         * lib/gl_linkedhash_list.c: Likewise.
2290         * lib/gl_rbtreehash_list.c: Likewise.
2291
2292 2006-09-27  Paul Eggert  <eggert@cs.ucla.edu>
2293
2294         * lib/canon-host.c (canon_host_r): Work around bug in Darwin 7.9.0
2295         getaddrinfo.
2296
2297         * lib/__fpending.h: Don't include <stdio_ext.h> unless
2298         HAVE_DECL___FPENDING.  This avoids a bug with lsbcc, where
2299         it causes <stdio_ext.h> to cause a compile-time error.
2300         Problem reported by Nelson H. F. Beebe.
2301         * lib/getpass.c: Likewise, except for HAVE_DECL___FSETLOCKING instead
2302         of HAVE_DECL___PENDING.
2303
2304         * m4/fpending.m4 (gl_FUNC_FPENDING): Check for stdio_ext at most once.
2305         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for __fsetlocking's
2306         declaration.
2307
2308 2006-09-27  Jim Meyering  <jim@meyering.net>
2309
2310         This file could end up with a definition for a function
2311         named __strndup, rather than rpl_strndup on a system with
2312         incomplete weak_alias support.
2313         * lib/strndup.c (strndup): Rename from __strndup.
2314         Remove #defines that used to map __strndup to strndup.
2315         Don't use K&R prototypes.
2316         Remove LIBC-related code, since this file is not sync'd with glibc.
2317         * lib/strndup.h: Revamp, accordingly.
2318         * m4/strndup.m4: Modernize.
2319
2320 2006-09-26  Paul Eggert  <eggert@cs.ucla.edu>
2321
2322         * modules/savewd (Depends-on): Add 'raise'.
2323         * lib/savewd.c: Include <signal.h>, for 'raise'.
2324
2325 2006-09-26  Jim Meyering  <jim@meyering.net>
2326
2327         * m4/acl.m4 (AC_FUNC_ACL): Disable ACL support altogether
2328         when we detect Darwin 8.7.0's acl_get_file bug.
2329         Rearrange to perform the new (below) run-test while $LIBS
2330         contains any acl-related library.  Set USE_ACL at the end.
2331         (gl_ACL_GET_FILE): New function.
2332
2333 2006-09-26  Eric Blake  <ebb9@byu.net>
2334
2335         * lib/verror.c: Include <config.h> unconditionally.
2336
2337 2006-09-25  Paul Eggert  <eggert@cs.ucla.edu>
2338
2339         * modules/clock-time (Maintainer): Add self.
2340         * modules/getlogin_r (Depends-on): Add extensions.
2341
2342 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
2343
2344         * modules/clock-time: New module.
2345         * modules/nanosleep (Depends-on): Add clock-time.
2346         * modules/gethrxtime (Depends-on): Likewise.
2347         * modules/gettime (Depends-on): Likewise.
2348         * modules/settime (Depends-on): Likewise.
2349
2350         * modules/fts-lgpl: Depend on openat.
2351         * modules/mkancesdirs: Depend on savewd.
2352         * modules/mkdir-p: Likewise.
2353
2354 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
2355
2356         * m4/host-os.m4 (gl_HOST_OS): Require AC_CANONICAL_HOST.
2357
2358         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Rename cache variable from
2359         `gl_have_arbitrary_file_name_length_limit' to
2360         `gl_cv_have_arbitrary_file_name_length_limit', so that caching
2361         actually works between configure runs.
2362
2363 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
2364             Bruno Haible  <bruno@clisp.org>
2365
2366         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Include <string.h>.
2367
2368 2006-09-25  Jim Meyering  <jim@meyering.net>
2369
2370         * m4/fcntl_h.m4 (gl_FCNTL_H): Fix typo in test for failed open.
2371         This typo caused coreutils/tests/dd/misc to fail on Darwin 8.7.0.
2372
2373 2006-09-25  Eric Blake  <ebb9@byu.net>
2374
2375         * gnulib-tool (func_import, func_create_testdir): Fix typos in
2376         exec's in 2006-09-18 patch when shuffling fds.
2377
2378 2006-09-25  Bruno Haible  <bruno@clisp.org>
2379
2380         * m4/getloadavg.m4 (gl_GETLOADAVG): Fix directory in error message.
2381         Reported by Jim Meyering.
2382
2383 2006-09-24  Jim Meyering  <jim@meyering.net>
2384
2385         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Don't use '>' to
2386         compare a pointer against a literal "0".  That caused failures with
2387         at least HP-UX's hpcc.
2388
2389 2006-09-22  Simon Josefsson  <jas@extundo.com>
2390
2391         * modules/gc-sha1:
2392         * modules/gc-md4:
2393         * modules/gc-hmac-sha1:
2394         * modules/gc-hmac-md5:
2395         * modules/gc-des:
2396         * modules/gc-arcfour: Distribute more files.
2397
2398 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
2399
2400         * lib/gl_anylinked_list2.h [lint] (gl_linked_iterator)
2401         (gl_linked_iterator_from_to): Initialize struct completely.
2402         * lib/gl_anytree_list2.h [lint] (gl_tree_iterator): Likewise.
2403         (gl_tree_iterator_from_to): Likewise
2404         * lib/gl_anytree_oset.h [lint] (gl_tree_iterator): Likewise.
2405         * lib/gl_array_list.c [lint] (gl_array_iterator)
2406         (gl_array_iterator_from_to): Likewise.
2407         * lib/gl_array_oset.c [lint] (gl_array_iterator): Likewise.
2408         * lib/gl_carray_list.c [lint] (gl_carray_iterator)
2409         (gl_carray_iterator_from_to): Likewise.
2410
2411         * lib/gc-gnulib.c [GC_USE_HMAC_SHA1]: include hmac.h for hmac_sha1.
2412         * lib/md4.c (md4_process_block): Remove unused variable.
2413         * lib/rijndael-api-fst.c (rijndaelBlockDecrypt): GCC suggests
2414         parentheses for clarity.
2415
2416 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
2417
2418         * modules/bison-i18n (Depends-on): Add gettext.
2419
2420 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
2421
2422         * m4/fsusage.m4 (gl_STATFS_TRUNCATES): Avoid unused variable.
2423         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Likewise.
2424         * m4/jm-winsz1.m4 (gl_HEADER_TIOCGWINSZ_IN_TERMIOS_H): Likewise;
2425         also add missing comma that caused broken test.
2426         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Include
2427         stdlib.h, for `abort'.
2428         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Avoid unused
2429         variables.
2430         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Check for and
2431         include unistd.h if present, for `rmdir'.
2432         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Avoid unused
2433         variables.
2434         * m4/putenv.m4 (gl_FUNC_PUTENV): Rewrite using AC_RUN_IFELSE, and
2435         in the process include standard headers for prototypes.
2436         * m4/readutmp.m4 (gl_READUTMP): Require AC_GNU_SOURCE, so utmpxname
2437         gets declared on GNU/Linux.
2438         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Check for and include
2439         unistd.h, for `rmdir'.
2440         * m4/time_r.m4 (gl_TIME_R): Avoid unused variables.
2441
2442         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Avoid expression that is
2443         always true.
2444         * m4/strndup.m4 (gl_FUNC_STRNDUP): include stdlib.h, for `free'.
2445
2446         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Avoid gcc -Wall warnings.
2447
2448 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
2449
2450         * gnulib-tool (func_version): Create output all at once.  This
2451         may help avoid triggering unnecessary SIGPIPEs, and at any
2452         rate it doesn't hurt.
2453
2454 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
2455             Bruno Haible  <bruno@clisp.org>
2456
2457         * m4/lock.m4 (gl_LOCK_BODY): Avoid unused variables warning.
2458         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
2459         * m4/signed.m4 (bh_C_SIGNED): Likewise.
2460
2461         * m4/vasprintf.m4 (gl_PREREQ_VASPRINTF_H): New macro.
2462         (gl_FUNC_VASPRINTF): Invoke it.
2463
2464 2006-09-22  Bruno Haible  <bruno@clisp.org>
2465
2466         * m4/getloadavg.m4 (gl_GETLOADAVG): Expect the directory of
2467         getloadavg.c as first argument.
2468
2469 2006-09-22  Bruno Haible  <bruno@clisp.org>
2470
2471         * gnulib-tool (func_import, func_create_testdir): Set gl_source_base
2472         at the beginning of the gl_INIT macro.
2473         * modules/getloadavg (configure.ac): Pass $gl_source_base to
2474         gl_GETLOADAVG.
2475
2476 2006-09-22  Bruno Haible  <bruno@clisp.org>
2477
2478         * gnulib-tool (func_create_megatestdir): Don't include the config-h
2479         module.
2480         Suggested by Ralf Wildenhues.
2481
2482 2006-09-20  Paul Eggert  <eggert@cs.ucla.edu>
2483
2484         Import this patch from libc:
2485
2486         2006-09-06  Jakub Jelinek  <jakub@redhat.com>
2487
2488         * lib/regex_internal.c (re_string_reconstruct): Handle
2489         offset < pstr->valid_raw_len && pstr->offsets_needed case.
2490         Ensure no bytes read before raw_mbs array.  Pass a saved copy of
2491         pstr->valid_len - 1 rather than pstr->valid_raw_len - 1 to
2492         re_string_context_at.
2493
2494         * m4/regex.m4 (gl_REGEX): Check for locale.h, since the test
2495         now requires it.
2496         (gl_PREREQ_REGEX): Don't check for locale.h any more, since
2497         gl_REGEX now does it for us.
2498         (gl_REGEX): Add test taken from
2499         http://sourceware.org/ml/libc-hacker/2006-09/msg00008.html.
2500
2501         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require AC_SYS_LARGEFILE.
2502         Check that large offsets work.  Modernize Autoconf usages.
2503         Prefer "yes" to mean a good thing rather than a bad.
2504         Don't put "#define mkstemp" in config.h, as this might interfere
2505         with standard system headers that "#define mkstemp mkstemp64".
2506
2507         * modules/mkstemp (Depends-on): Add extensions, so that
2508         mkstemp is visible on some platforms.
2509         (Makefile.am): Add mkstemp.h to EXTRA_DIST.
2510         (Include): Change to "mkstemp.h" from <stdlib.h>.
2511         (Files): Add mkstemp.h.
2512
2513         * lib/mkstemp.h: New file, since some standard headers
2514         #define mkstemp.
2515         * lib/mkstemp.c: Revamp to put the !_LIBC code together.
2516         Include "mkstemp.h".
2517         Make the _LIBC code resemble glibc original more,
2518         e.g., use K&R style.
2519         * lib/mkstemp-safer.c: Include "mkstemp.h" instead of <stdlib.h>.
2520         (mkstemp): Remove, since mkstemp.h does this for us.
2521         * lib/stdlib--.h: Include mkstemp.h.
2522
2523         Import this patch from libc:
2524
2525         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
2526
2527         * lib/tempname.c (__gen_tempname): Change attempts_min
2528         into a macro.  Use preprocessor to decide how to initialize
2529         attempts [Coverity CID 67].
2530
2531 2006-09-20  Bruno Haible  <bruno@clisp.org>
2532
2533         * lib/mkdtemp.c: Import from libc.
2534         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
2535                 * sysdeps/posix/tempname.c (__gen_tempname): Change
2536                 attempts_min into a macro.  Use preprocessor to decide how to
2537                 initialize attempts [Coverity CID 67].
2538         2001-11-27  Paul Eggert  <eggert@twinsun.com>
2539                 * sysdeps/posix/tempname.c (__gen_tempname): Try at least
2540                 ATTEMPTS_MIN or TMP_MAX times, whichever is greater.
2541
2542 2006-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
2543
2544         * gnulib-tool (func_exit): New function, to allow to pass the
2545         exit status portably through the trap.  Use everywhere.
2546         (--help, --version): Signal a write error.
2547         (trap): catch SIGPIPE, for write errors.
2548         Exit at the end of the trap, with the correct exit status.
2549
2550 2006-09-19  Karl Berry  <karl@gnu.org>
2551
2552         * doc/gnulib.texi: note about the license texinfo files.
2553
2554 2006-09-19  Eric Blake  <ebb9@byu.net>
2555
2556         * gnulib-tool: Avoid space-tab.
2557
2558 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
2559
2560         * lib/getaddrinfo.c (getaddrinfo) [defined HAVE_IPV6]: Fix typo
2561         that prevented coreutils 6.1 from building.  Problem reported
2562         by Petter Reinholdtsen.
2563
2564 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
2565
2566         * gnulib-tool (avoidlist): Fix typo that broke options like
2567         --avoid=lock that are used by coreutils bootstrap.
2568
2569 2006-09-18  Mark D. Baushke  <mdb@gnu.org>
2570
2571         * m4/inttypes.m4 (gl_INTTYPES_H): Quote "test" args
2572         more systematically.
2573
2574 2006-09-18  Jim Meyering  <jim@meyering.net>
2575
2576         * lib/savewd.c (savewd_restore): Don't shadow: s/status/child_status/.
2577
2578 2006-09-18  Bruno Haible  <bruno@clisp.org>
2579
2580         * modules/inttypes (Files): Remove m4/inttypes-h.m4.
2581
2582 2006-09-18  Bruno Haible  <bruno@clisp.org>
2583
2584         * m4/inttypes-h.m4 (gl_HEADER_INTTYPES_H): Remove macro.
2585         * m4/inttypes-pri.m4: Require autoconf >= 2.52.
2586         (gt_INTTYPES_PRI): Invoke AC_CHECK_HEADERS on inttypes.h. Test
2587         ac_cv_header_inttypes_h instead of gl_cv_header_inttypes_h.
2588         * m4/gettext.m4: Require autoconf >= 2.52.
2589         (gt_INTL_SUBDIR_CORE): Invoke AC_CHECK_HEADERS on inttypes.h.
2590         * m4/inttypes.m4 (gl_INTTYPES_H): Test ac_cv_header_inttypes_h instead
2591         of gl_cv_header_inttypes_h.
2592
2593 2006-09-18  Bruno Haible  <bruno@clisp.org>
2594
2595         * lib/javaversion.c: Include configmake.h.
2596
2597 2006-09-18  Bruno Haible  <bruno@clisp.org>
2598
2599         * gnulib-tool (func_import, func_create_testdir): Use exec tricks to
2600         avoid that the while loops be executed in a subshell.
2601
2602 2006-09-18  Bruno Haible  <bruno@clisp.org>
2603
2604         * MODULES.html.sh (func_module): Break long lines.
2605         Suggested by Bruce Korb <bkorb@gnu.org>.
2606
2607 2006-09-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
2608
2609         Speed up by a factor of 1.12.
2610         * gnulib-tool (nl): New variable.
2611         (func_import): Rewrite include directive extraction to only read each
2612         directive once.
2613
2614 2006-09-17  Bruno Haible  <bruno@clisp.org>
2615
2616         * modules/javaversion (Makefile.am): Remove DEFS setting.
2617         (Depends-on): Add configmake, for PKGDATADIR definition.
2618
2619 2006-09-17  Bruno Haible  <bruno@clisp.org>
2620
2621         * gnulib-tool (func_create_testdir): Rewrite all files at once.
2622
2623 2006-09-17  Bruno Haible  <bruno@clisp.org>
2624
2625         * gnulib-tool (func_append): New function, stolen from libtool.m4.
2626         (func_modules_transitive_closure, func_modules_add_dummy,
2627         func_modules_to_filelist, func_import, func_create_testdir,
2628         func_create_megatestdir, ...): Use it wherever possible.
2629         Suggested by Ralf Wildenhues.
2630
2631 2006-09-16  Karl Berry  <karl@gnu.org>
2632
2633         * doc/fdl.texi (ADDENDUM): switch to @heading from @appendixsubsec,
2634         to avoid sectioning errors.
2635         * doc/lgpl.texi, gpl.texi (Copying): downcase @unnumbered title.
2636         [ifinfo]: blank line after @center-ed titles.
2637         * doc/lgpl.texi (Library Copying): Rename main node to GNU LGPL.
2638         Spell FSF address consistently with others.
2639         (These changes approved by rms.)
2640
2641 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
2642
2643         Speed up by a factor of 1.61.
2644         * gnulib-tool (func_modules_transitive_closure): Rewrite to not check
2645         already checked module names again.
2646
2647 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
2648
2649         Speed up by a factor of 1.13.
2650         * gnulib-tool (func_import): Rewrite all old_files at once; likewise
2651         for new_files, and the input to func_add_or_update.
2652
2653 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
2654
2655         * gnulib-tool (func_all_modules, func_modules_to_filelist, func_import,
2656         func_create_testdir, ...): Change 'sort | uniq' to 'sort -u'.
2657
2658 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
2659
2660         * modules/mkancesdirs (Depends-on): Add fcntl.
2661         * modules/savewd: New file.
2662         * MODULES.html.sh (File system functions): Add savewd.
2663
2664         * modules/configmake (Makefile.am): Add support for the
2665         Automake-supplied PKGLIBDIR, PKGINCLUDEDIR, PKGDATADIR.
2666
2667 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
2668
2669         * m4/savewd.m4: New file.
2670
2671 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
2672
2673         * lib/dirchownmod.c: Don't include fcntl.h; no longer needed.
2674         (dirchownmod): New arg FD.  All callers changed.
2675         Use FD rather than opening the directory ourself, as opening is
2676         now the caller's responsibility.
2677         * lib/dirchownmod.h: Likewise.
2678         * lib/mkancesdirs.c: Include <sys/types.h>, for portability to older
2679         hosts that require <sys/types.h> before <sys/stat.h>.  Include
2680         fcntl.h, savewd.h, and unistd.h, not dirname.h and stat-macros.h.
2681         (test_dir): Remove.
2682         (mkancesdirs): Return length of prefix of FILE that has already
2683         been made, or -2 if there is a child doing the work.  Redo
2684         algorithm so that it is O(N) rather than O(N**2).  Optimize away
2685         ".", and treat ".." specially since it might stray back into
2686         already-created areas.  Use a subprocess if necessary.  New arg
2687         WD; all users changed.  MAKE_DIR function should now return 1
2688         if it creates a directory that is not readable.  Return -2 if
2689         a child process is spun off.
2690         * lib/mkancesdirs.h: Include <stddef.h>, for ptrdiff_t.
2691         Adjust signature to match code.
2692         * lib/mkdir-p.c: Include dirname.h, for IS_ABSOLUTE_FILE_NAME.
2693         (make_dir_parents): Use a subprocess if necessary.  New arg WD;
2694         all users changed.
2695         * lib/savewd.c, lib/savewd.h: New files.
2696
2697 2006-09-15  Jim Meyering  <jim@meyering.net>
2698
2699         * modules/rename-dest-slash: New module.
2700         * MODULES.html.sh (posix_compat): Add it here.
2701
2702         * modules/rename: Reflect vb_FUNC_RENAME -> gl_FUNC_RENAME change.
2703
2704 2006-09-15  Jim Meyering  <jim@meyering.net>
2705
2706         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH): New
2707         file.
2708
2709         * m4/rename.m4 (gl_FUNC_RENAME): Rename from vb_FUNC_RENAME.
2710
2711 2006-09-15  Jim Meyering  <jim@meyering.net>
2712
2713         * lib/rename-dest-slash.c (has_trailing_slash): Use
2714         FILE_SYSTEM_PREFIX_LEN, for non-POSIX systems.
2715         (rpl_rename_dest_slash): Perform the cheaper trailing slash
2716         test before testing whether SRC is a directory.
2717         Suggestions from Bruno Haible.
2718
2719         Avoid a warning about an unused variable.
2720         * lib/regex_internal.c (re_dfa_add_node): Move declaration of "type"
2721         into the #ifdef block where it's used.
2722
2723         * lib/rename-dest-slash.c: New file.
2724
2725 2006-09-14  Bruno Haible  <bruno@clisp.org>
2726
2727         * lib/allocsa.c: Include <config.h> unconditionally.
2728         * lib/asnprintf.c: Likewise.
2729         * lib/asprintf.c: Likewise.
2730         * lib/c-strcasecmp.c: Likewise.
2731         * lib/c-strcasestr.c: Likewise.
2732         * lib/c-strncasecmp.c: Likewise.
2733         * lib/c-strstr.c: Likewise.
2734         * lib/classpath.c: Likewise.
2735         * lib/clean-temp.c: Likewise.
2736         * lib/concatpath.c: Likewise.
2737         * lib/copy-file.c: Likewise.
2738         * lib/csharpcomp.c: Likewise.
2739         * lib/csharpexec.c: Likewise.
2740         * lib/execute.c: Likewise.
2741         * lib/fatal-signal.c: Likewise.
2742         * lib/findprog.c: Likewise.
2743         * lib/fwriteerror.c: Likewise.
2744         * lib/gl_array_list.c: Likewise.
2745         * lib/gl_array_oset.c: Likewise.
2746         * lib/gl_avltree_list.c: Likewise.
2747         * lib/gl_avltree_oset.c: Likewise.
2748         * lib/gl_avltreehash_list.c: Likewise.
2749         * lib/gl_carray_list.c: Likewise.
2750         * lib/gl_linked_list.c: Likewise.
2751         * lib/gl_linkedhash_list.c: Likewise.
2752         * lib/gl_list.c: Likewise.
2753         * lib/gl_oset.c: Likewise.
2754         * lib/gl_rbtree_list.c: Likewise.
2755         * lib/gl_rbtree_oset.c: Likewise.
2756         * lib/gl_rbtreehash_list.c: Likewise.
2757         * lib/imaxabs.c: Likewise.
2758         * lib/imaxdiv.c: Likewise.
2759         * lib/javacomp.c: Likewise.
2760         * lib/javaexec.c: Likewise.
2761         * lib/javaversion.c: Likewise.
2762         * lib/linebreak.c: Likewise.
2763         * lib/localcharset.c: Likewise.
2764         * lib/lock.c: Likewise.
2765         * lib/mbchar.c: Likewise.
2766         * lib/mbswidth.c: Likewise.
2767         * lib/mkdtemp.c: Likewise.
2768         * lib/pipe.c: Likewise.
2769         * lib/printf-args.c: Likewise.
2770         * lib/printf-parse.c: Likewise.
2771         * lib/progname.c: Likewise.
2772         * lib/progreloc.c: Likewise.
2773         * lib/readlink.c: Likewise.
2774         * lib/sh-quote.c: Likewise.
2775         * lib/stpcpy.c: Likewise.
2776         * lib/stpncpy.c: Likewise.
2777         * lib/strcasecmp.c: Likewise.
2778         * lib/strcasestr.c: Likewise.
2779         * lib/strcspn.c: Likewise.
2780         * lib/striconv.c: Likewise.
2781         * lib/strncasecmp.c: Likewise.
2782         * lib/strnlen1.c: Likewise.
2783         * lib/strstr.c: Likewise.
2784         * lib/strtok_r.c: Likewise.
2785         * lib/tls.c: Likewise.
2786         * lib/tmpdir.c: Likewise.
2787         * lib/unicodeio.c: Likewise.
2788         * lib/unsetenv.c: Likewise.
2789         * lib/vasnprintf.c: Likewise.
2790         * lib/vasprintf.c: Likewise.
2791         * lib/wait-process.c: Likewise.
2792         * lib/xallocsa.c: Likewise.
2793         * lib/xsetenv.c: Likewise.
2794         * lib/xstriconv.c: Likewise.
2795
2796 2006-09-13  Simon Josefsson  <jas@extundo.com>
2797
2798         * m4/getdate.m4: Don't AC_LIBOBJ([getdate]), automake takes care of
2799         that internally, suggested by Ralf Wildenhues
2800         <Ralf.Wildenhues@gmx.de>.
2801
2802 2006-09-13  Simon Josefsson  <jas@extundo.com>
2803
2804         * gnulib-tool (func_emit_lib_Makefile_am): Use $(LIBOBJS), not
2805         @LIBOBJS@.
2806         Suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
2807
2808 2006-09-13  Paul Eggert  <eggert@cs.ucla.edu>
2809
2810         * lib/_fpending.c: Include <config.h> unconditionally, since we no
2811         longer worry about uses that don't define HAVE_CONFIG_H.
2812         * lib/acl.c, lib/alloca.c, lib/argmatch.c, lib/atexit.c:
2813         * lib/backupfile.c, lib/basename.c, lib/c-stack.c, lib/c-strtod.c:
2814         * lib/calloc.c,lib/ canon-host.c, lib/canonicalize.c, lib/chdir-long.c:
2815         * lib/chdir-safer.c, lib/chown.c, lib/cloexec.c, lib/close-stream.c:
2816         * lib/closeout.c, lib/creat-safer.c, lib/cycle-check.c, lib/diacrit.c:
2817         * lib/dirchownmod.c, lib/dirfd.c, lib/dirname.c, lib/dup-safer.c:
2818         * lib/dup2.c, lib/error.c, lib/euidaccess.c, lib/exclude.c:
2819         * lib/exitfail.c, lib/fchmodat.c, lib/fchown-stub.c, lib/fd-safer.c:
2820         * lib/file-type.c, lib/fileblocks.c, lib/filemode.c, lib/filenamecat.c:
2821         * lib/fnmatch.c, lib/fopen-safer.c, lib/fprintftime.c, lib/free.c:
2822         * lib/fsusage.c, lib/ftruncate.c, lib/fts-cycle.c, lib/fts.c:
2823         * lib/full-write.c, lib/gai_strerror.c, lib/getcwd.c, lib/getdate.y:
2824         * lib/getdomainname.c, lib/getgroups.c, lib/gethostname.c:
2825         * lib/gethrxtime.c, lib/getloadavg.c, lib/getlogin_r.c:
2826         * lib/getndelim2.c, lib/getnline.c, lib/getopt.c, lib/getopt1.c:
2827         * lib/getpass.c, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c:
2828         * lib/getusershell.c, lib/glob.c, lib/group-member.c:
2829         * lib/hard-locale.c, lib/hash-pjw.c, lib/hash.c, lib/human.c:
2830         * lib/idcache.c, lib/inet_ntop.c, lib/inet_pton.c, lib/inttostr.c:
2831         * lib/isdir.c, lib/lchown.c, lib/linebuffer.c, lib/long-options.c:
2832         * lib/lstat.c, lib/malloc.c, lib/md5.c, lib/memcasecmp.c, lib/memchr.c:
2833         * lib/memcmp.c, lib/memcoll.c, lib/memcpy.c, lib/memmove.c:
2834         * lib/memrchr.c, lib/mkancesdirs.c, lib/mkdir-p.c, lib/mkdir.c:
2835         * lib/mkdirat.c, lib/mkstemp-safer.c, lib/mkstemp.c, lib/modechange.c:
2836         * lib/mountlist.c, lib/nanosleep.c, lib/obstack.c, lib/open-safer.c:
2837         * lib/openat-die.c, lib/openat.c, lib/pagealign_alloc.c, lib/physmem.c:
2838         * lib/pipe-safer.c, lib/posixtm.c, lib/posixver.c, lib/putenv.c:
2839         * lib/quote.c, lib/quotearg.c, lib/raise.c, lib/readtokens.c:
2840         * lib/readtokens0.c, lib/readutmp.c, lib/realloc.c, lib/regex.c:
2841         * lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c:
2842         * lib/same.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c:
2843         * lib/settime.c, lib/sha1.c, lib/sig2str.c, lib/snprintf.c:
2844         * lib/strdup.c, lib/strerror.c, lib/strftime.c, lib/stripslash.c:
2845         * lib/strndup.c, lib/strnlen.c, lib/strpbrk.c, lib/strtod.c:
2846         * lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c:
2847         * lib/time_r.c, lib/timegm.c, lib/tmpfile-safer.c, lib/unlinkdir.c:
2848         * lib/userspec.c, lib/utime.c, lib/utimecmp.c, lib/utimens.c:
2849         * lib/version-etc-fsf.c, lib/version-etc.c, lib/xalloc-die.c:
2850         * lib/xgetcwd.c, lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c:
2851         * lib/xnanosleep.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtoimax.c:
2852         * lib/xstrtol.c, lib/xstrtoumax.c, lib/yesno.c:
2853         Likewise.
2854
2855 2006-09-13  Eric Blake  <ebb9@byu.net>
2856
2857         * lib/getopt.c: Fix typo in last commit.
2858
2859 2006-09-12  Sergey Poznyakoff  <gray@gnu.org.ua>
2860
2861         * lib/argp-help.c (argp_doc): Make sure NULL is not passed to
2862         dgettext.
2863
2864 2006-09-12  Jim Meyering  <jim@meyering.net>
2865
2866         * lib/nanosleep.c: Include <sys/types.h> before sys/select.h, to avoid
2867         compilation failure (due to use of pid_t in latter) on NetBSD 1.6.
2868         Reported by Nelson H. F. Beebe.
2869
2870 2006-09-10  Sergey Poznyakoff  <gray@gnu.org.ua>
2871
2872         * lib/argp-parse.c (__argp_parse) [!_LIBC]: Make sure
2873         program_invocation_name and program_invocation_short_name are
2874         initialized.
2875         * lib/argp-namefrob.h: Move declarations of program_invocation_name
2876         and program_invocation_short_name to argp.h, so they are visible
2877         to user programs.
2878         * lib/argp.h: Likewise
2879
2880 2006-09-10  Bruno Haible  <bruno@clisp.org>
2881
2882         * modules/mkdtemp (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
2883         m4/inttypes_h.m4, m4/uintmax_t.m4.
2884
2885 2006-09-10  Bruno Haible  <bruno@clisp.org>
2886
2887         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Don't require
2888         gl_AC_TYPE_UINTMAX_T.
2889
2890 2006-09-10  Bruno Haible  <bruno@clisp.org>
2891
2892         * lib/mkdtemp.c: Include <stdint.h> always. Don't include <inttypes.h>.
2893
2894 2006-09-09  Sergey Poznyakoff  <gray@gnu.org.ua>
2895
2896         * lib/argp.h (struct argp): Document the N_("..") "\v" N_("..")
2897         convention.  Text proposed by Bruno Haible.
2898         (struct argp_option): Document the use of N_() wrappers.
2899
2900         * lib/argp-help.c (argp_doc): Split the untranslated doc string on
2901         '\v', and translate the two parts separately, instead of feeding
2902         the whole string to gettext.  This allows to exclude
2903         '\v' from the strings visible to the translator by writing doc
2904         strings as N_("..") "\v" N_("..").
2905
2906 2006-09-09  Paul Eggert  <eggert@cs.ucla.edu>
2907
2908         * config/srclist.txt: Undo latest change; the bug was fixed.
2909
2910 2006-09-09  Bruno Haible  <bruno@clisp.org>
2911
2912         * gnulib-tool (func_emit_lib_Makefile_am): Eliminate lib_LDFLAGS
2913         assignments if building a library without libtool.
2914         (func_emit_tests_Makefile_am): Likewise. Handle lib_* variables as
2915         in func_emit_lib_Makefile_am.
2916         (func_import): When building a static library libfoo.a, arrange to
2917         define variables LIBFOO_LIBDEPS and LIBFOO_LTLIBDEPS.
2918         (func_create_testdir): Likewise.
2919         * modules/gc (configure.ac, Makefile.am): If building statically,
2920         augment gl_libdeps and gl_ltlibdeps instead of lib_LDFLAGS.
2921         * modules/iconvme (configure.ac, Makefile.am): Likewise.
2922         * modules/striconv (configure.ac, Makefile.am): Likewise.
2923         Based on a suggestion by Ralf Wildenhues.
2924
2925 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
2926
2927         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
2928         Check for unistd.h too, since Autoconf doesn't assume POSIX.
2929         Also:
2930
2931         2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
2932         Add year_2050_test to catch glibc bug 2821
2933         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
2934
2935         2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
2936         Prefer #ifdef to #if.
2937
2938         2006-04-02  Paul Eggert  <eggert@cs.ucla.edu>
2939         Return from 'main' instead of calling 'exit'.
2940
2941 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
2942
2943         * lib/mktime.c (guess_time_tm): Fix bug where mktime
2944         returned the maximum time_t value rather than (time_t) -1.
2945         Problem originally reported by William Bardwell
2946         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
2947
2948         * lib/isapipe.h (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
2949         Moved to here ...
2950         * lib/isapipe.c (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
2951         ... from here.
2952
2953 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
2954
2955         * config/srclist.txt: Temporarily comment out mktime.c until glibc bug
2956         2821 is fixed.
2957
2958 2006-09-08  Jim Meyering  <jim@meyering.net>
2959
2960         Don't make generated files read-only.  That would bother too many
2961         people.  However, do retain the ability to work when targets are
2962         read-only: remove the destination and temporary files before writing
2963         them (when generated via sed or echo), or by using the -f option for
2964         both cp and mv commands.  Suggestion to use -f from Paul Eggert.
2965         * modules/alloca-opt, modules/argz, modules/arpa_inet:
2966         * modules/byteswap, modules/configmake, modules/fcntl:
2967         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
2968         * modules/localcharset, modules/netinet_in, modules/poll:
2969         * modules/stdbool, modules/stdint, modules/sys_select:
2970         * modules/sys_socket, modules/sys_stat, modules/sysexits:
2971
2972 2006-09-08  Jim Meyering  <jim@meyering.net>
2973
2974         Avoid new build failure on FreeBSD 6.0.
2975         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Include
2976         <sys/param.h> when testing whether getmntinfo uses statvfs.  Patch by
2977         Pavel Tsekov, in <http://savannah.gnu.org/bugs/?17643>.
2978
2979 2006-09-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
2980
2981         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't use plain echo.
2982
2983 2006-09-07  Jim Meyering  <jim@meyering.net>
2984
2985         Fix global typo in last change: use chmod u-w, not chmod u-x.
2986         Spotted by Paul Eggert and Bruce Korb.
2987         * modules/alloca-opt, modules/argz, modules/arpa_inet:
2988         * modules/byteswap, modules/configmake, modules/fcntl:
2989         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
2990         * modules/localcharset, modules/netinet_in, modules/poll:
2991         * modules/stdbool, modules/stdint, modules/sys_select:
2992         * modules/sys_socket, modules/sys_stat, modules/sysexits:
2993
2994 2006-09-06  Jim Meyering  <jim@meyering.net>
2995
2996         Make generated files be read-only.
2997         * modules/alloca-opt (Makefile.am): Work also when $@ is read-only.
2998         Ensure that each generated file is now read-only.
2999         * modules/argz: Likewise.
3000         * modules/arpa_inet: Likewise.
3001         * modules/byteswap: Likewise.
3002         * modules/configmake: Likewise.
3003         * modules/fcntl: Likewise.
3004         * modules/fnmatch: Likewise.
3005         * modules/getopt: Likewise.
3006         * modules/glob: Likewise.
3007         * modules/inttypes: Likewise.
3008         * modules/netinet_in: Likewise.
3009         * modules/poll: Likewise.
3010         * modules/stdbool: Likewise.
3011         * modules/stdint: Likewise.
3012         * modules/sys_select: Likewise.
3013         * modules/sys_socket: Likewise.
3014         * modules/sys_stat: Likewise.
3015         * modules/sysexits: Likewise.
3016         * modules/localcharset: Same as above, but continue using temporary
3017         file named "t-$@" (why different?) rather than the "$@-t" used
3018         everywhere else.
3019
3020         * modules/sysexits (Makefile.am): Replace literal occurrences
3021         of "sysexit.h" more readable, and more consistent, "$@".
3022
3023 2006-09-06  Bruno Haible  <bruno@clisp.org>
3024
3025         * modules/striconv: New file.
3026         * modules/xstriconv: New file.
3027         * MODULES.html.sh (Internationalization functions): Add striconv,
3028         xstriconv.
3029
3030 2006-09-06  Bruno Haible  <bruno@clisp.org>
3031
3032         * modules/gc (Makefile.am): Augment lib_LDFLAGS, not lib_LIBADD.
3033         * modules/iconvme (Makefile.am): Likewise. Also handle the case of
3034         not using libtool correctly.
3035
3036 2006-09-06  Bruno Haible  <bruno@clisp.org>
3037
3038         * lib/striconv.h: New file.
3039         * lib/striconv.c: New file, merging iconvme.c with GNU gettext's
3040         iconvstring.c.
3041         * lib/xstriconv.h: New file.
3042         * lib/xstriconv.c: New file.
3043
3044 2006-09-06  Bruno Haible  <bruno@clisp.org>
3045
3046         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
3047         lib_..._LDFLAGS.
3048
3049 2006-09-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
3050
3051         * lib/argz_.h: Sync from Libtool.
3052
3053         2006-09-04  George Bosilca <bosilca@cs.utk.edu>
3054                 and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
3055
3056         * lib/libltdl/argz_.h: It's __cplusplus, not _cplusplus.
3057
3058 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
3059
3060         * modules/trim: New file.
3061
3062 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
3063
3064         * lib/trim.h: New file.
3065         * lib/trim.c: New file.
3066
3067 2006-09-05  Bruno Haible  <bruno@clisp.org>
3068
3069         * MODULES.html.sh (String handling): Add trim.
3070
3071 2006-09-04  Karl Berry  <karl@gnu.org>
3072
3073         * config/srclist.txt (signed.m4, gettext.m4): changes not propagated
3074         until next release.
3075
3076 2006-09-03  Bruno Haible  <bruno@clisp.org>
3077
3078         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Locate mingw shared libraries
3079         correctly.
3080
3081 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
3082
3083         * m4/getloadavg.m4 (gl_GETLOADAVG): Use CONFIGURING_GETLOADAVG,
3084         not gl_GETLOADAVG.  Omit unneeded semicolons.
3085         Problems reported by Ralf Wildenhues in
3086         <http://lists.gnu.org/archive/html/bug-gnulib/2006-09/msg00000.html>.
3087         (gl_PREREQ_GETLOADAVG): Use AC_DEFUN, not m4_define.  Put
3088         at the end, which is the usual gnulib style.
3089
3090         * m4/fstypename.m4 (gl_FSTYPENAME): Use AC_CHECK_MEMBERS instead
3091         of doing all the work ourselves.
3092         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Don't check for
3093         sys/statvfs.h since the code doesn't use HAVE_SYS_STATVFS_H.
3094
3095 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
3096
3097         * lib/getloadavg.c: Use CONFIGURING_GETLOADAVG, not gl_GETLOADAVG.
3098         Problem reported by Ralf Wildenhues in
3099         <http://lists.gnu.org/archive/html/bug-gnulib/2006-09/msg00000.html>.
3100
3101         * lib/mountlist.c: All uses of HAVE_F_FSTYPENAME_IN_STATFS replaced by
3102         HAVE_STRUCT_STATFS_F_FSTYPENAME.
3103
3104 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
3105
3106         * gnulib-tool (func_emit_lib_Makefile_am): Fix typos in
3107         yesterday's patch by changing test -n to test -z.
3108
3109 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
3110
3111         * modules/getloadavg (Files): Add m4/getloadavg.m4.
3112         (configure.ac): AC_FUNC_GETLOADAVG -> gl_GETLOADAVG, as
3113         the former is now obsolescent.
3114
3115         * modules/chdir-long (Depends-on): Add fcntl.
3116
3117 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
3118
3119         * m4/fnmatch.m4: Add comment that Autoconf AC_FUNC_FNMATCH is
3120         obsolescent, and programs should use gnulib instead.
3121         * m4/getloadavg.m4: New file, with contents taken from Autoconf
3122         but with prefixes changed.
3123
3124 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
3125
3126         * lib/getloadavg.c [defined gl_GETLOADAVG]: Don't include config.h
3127         or stdbool.h, because they might not exist while configuring.
3128
3129         * lib/chdir-long.c: Include <fcntl.h>, for O_DIRECTORY.
3130         Don't include unistd.h or limits.h; not needed, since chdir-long.h
3131         does that for us.
3132         (O_DIRECTORY): Remove.
3133
3134 2006-08-31  Eric Blake  <ebb9@byu.net>
3135
3136         * gnulib-tool: Don't let emacs change spaces to TAB.
3137
3138 2006-08-31  Bruno Haible  <bruno@clisp.org>
3139
3140         * gnulib-tool: When calling func_import more than once, do it in a
3141         subshell.
3142         Reported by Eric Blake <ebb9@byu.net>.
3143
3144 2006-08-31  Bruno Haible  <bruno@clisp.org>
3145
3146         * gnulib-tool (nl): Remove variable.
3147         (sed_transform_lib_file): Use more robust test for config-h module.
3148         (func_import): Fix typo in 2006-08-25 patch.
3149
3150 2006-08-31  Bruno Haible  <bruno@clisp.org>
3151
3152         * gnulib-tool (func_emit_lib_Makefile_am): When --makefile-name was
3153         specified, augment Makefile.am variables instead of assigning them.
3154
3155 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
3156
3157         Work around a bug in both the Linux and SunOS 64-bit kernels:
3158         nanosleep mishandles sleeps for longer than 2**31 seconds.
3159         Problem reported by Frank v Waveren in
3160         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00298.html>.
3161         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require gl_CLOCK_TIME.
3162         Check for nanosleep bug.
3163         (LIB_NANOSLEEP): Append clock_gettime library if needed.
3164
3165 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
3166
3167         Work around a bug in both the Linux and SunOS 64-bit kernels:
3168         nanosleep mishandles sleeps for longer than 2**31 seconds.
3169         Problem reported by Frank v Waveren in
3170         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00298.html>.
3171         * lib/nanosleep.c (BILLION): New constant.
3172         (getnow) [HAVE_BUG_BIG_NANOSLEEP]: New functions.
3173         (rpl_nanosleep) [HAVE_BUG_BIG_NANOSLEEP]: Completely new
3174         implementation.
3175
3176 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
3177
3178         * modules/nanosleep (Depends-on): Add gettime.
3179
3180 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
3181         and Simon Josefsson  <jas@extundo.com>
3182         and Oskar Liljeblad  <oskar@osk.mine.nu>
3183
3184         * MODULES.html.sh (Support for building documentation): Add gpl, lgpl.
3185         * gnulib-tool (func_import): New license type 'unmodifiable license
3186         text'.
3187         * modules/fdl: Use it.  Longer description.
3188         * module/gpl, module/lgpl: New files.
3189
3190 2006-08-30  Jim Meyering  <jim@meyering.net>
3191
3192         * lib/isapipe.c (isapipe): Rename local s/fd/fd_pair/ to avoid
3193         shadowing the parameter.
3194
3195 2006-08-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
3196
3197         Sync from Libtool:
3198
3199         2006-08-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
3200
3201         * lib/libltdl/argz.c: Use `#ifdef HAVE_CONFIG_H', to facilitate code
3202         sharing with gnulib.  Report by Eric Blake.
3203
3204 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
3205
3206         * modules/isapipe: New file.
3207         * MODULES.html.sh (File descriptor based Input/Output): Add isapipe.
3208
3209 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
3210
3211         * modules/configmake (Makefile.am): Add a comment, and omit
3212         the CONFIGMAKE_ prefix from generated macro names.  Suggested
3213         by Bruno Haible.
3214
3215 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
3216
3217         * m4/isapipe.m4: New file.
3218
3219 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
3220
3221         * lib/isapipe.c, lib/isapipe.h: New files.
3222
3223 2006-08-29  Jim Meyering  <jim@meyering.net>
3224
3225         * modules/configmake (Makefile.am): Make configmake.h depend on
3226         Makefile.  Otherwise, a stale configmake.h could hang around.
3227
3228 2006-08-29  Eric Blake  <ebb9@byu.net>
3229
3230         * lib/error.c (error_at_line, print_errno_message): Match libc, after
3231         resolution of upstream bug 3044.
3232
3233 2006-08-29  Bruno Haible  <bruno@clisp.org>
3234
3235         * modules/localcharset (Depends-on): Add configmake.
3236         (Makefile.am): Remove setting of LIBDIR through DEFS.
3237
3238 2006-08-29  Bruno Haible  <bruno@clisp.org>
3239
3240         * lib/localcharset.c: Include configmake.h in order to get LIBDIR
3241         defined.
3242
3243 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
3244
3245         * modules/fcntl: New file.
3246         * modules/chdir-safer (Depends-on): Add fcntl.
3247         * modules/fts: Likewise.
3248         * modules/mkdir-p: Likewise.
3249
3250         * modules/stdint (Makefile.am): Do not substitute ABSOLUTE_INTTYPES_H.
3251         This undoes the most recent change, since we're now addressing the
3252         problem in a different way.
3253
3254         * gnulib-tool (emit_lib_Makefile_am): Don't put $makefile_name
3255         into output, since the output might be called Makefile.am even
3256         if $makefile_name is something different.
3257         (func_import): Use $makefile_am rather than
3258         ${makefile_name-Makefile.am}, to fix a bug where makefile_name was
3259         empty.
3260
3261         * modules/inttypes (Files): Add m4/inttypes-h.m4.
3262
3263 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
3264
3265         * m4/inttypes.m4 (gl_INTTYPES_H): Move ABSOLUTE_INTTYPES_H code here...
3266         * m4/stdint.m4 (gl_STDINT_H): ... from here.  This undoes the most
3267         recent change to stdint.m4, since we're now addressing the problem in a
3268         different way.
3269
3270 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
3271
3272         * m4/fcntl_h.m4: New file.
3273
3274 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
3275
3276         * lib/fcntl_.h: New file.
3277         * lib/chdir-safer.c (O_DIRECTORY, O_NOFOLLOW): Remove, now that we have
3278         the fcntl module.
3279         * lib/dirchownmod.c: Likewise.
3280         * lib/fts.c: Likewise.
3281
3282         * lib/inttypes_.h [defined _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H]:
3283         Include @ABSOLUTE_INTTYPES_H@ if available, but do nothing else.
3284         * lib/stdint_.h (_GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H): Define
3285         just before including <inttypes.h>, to avoid circular inclusion.
3286
3287 2006-08-28  Jim Meyering  <jim@meyering.net>
3288
3289         * doc/visibility.texi: Actually read and correct the grammar of the
3290         sentence affected by yesterday's change.
3291
3292 2006-08-28  Eric Blake  <ebb9@byu.net>
3293
3294         * modules/inttypes (Makefile.am): Fix sed error when inttypes.h
3295         needs wrapper.
3296
3297 2006-08-28  Eric Blake  <ebb9@byu.net>
3298
3299         * m4/inttypes.m4 (gl_INTTYPES_H): Fix missing #endif.
3300
3301 2006-08-28  Eric Blake  <ebb9@byu.net>
3302
3303         * m4/codeset.m4 (AM_LANGINFO_CODESET): Avoid compiler warning.
3304
3305 2006-08-28  Bruno Haible  <bruno@clisp.org>
3306
3307         * modules/c-strstr: New file, from GNU gettext.
3308         * MODULES.html.sh (String handling): Add c-strstr.
3309
3310 2006-08-28  Bruno Haible  <bruno@clisp.org>
3311
3312         * m4/inttypes.m4 (gl_INTTYPES_H): Don't test for the existence of SCNX*
3313         macros.
3314         Reported by Eric Blake.
3315
3316 2006-08-28  Bruno Haible  <bruno@clisp.org>
3317
3318         * lib/vasnprintf.c (EOVERFLOW): Remove definition.
3319         (VASNPRINTF): Return a string of length > INT_MAX without failing.
3320         * lib/vasprintf.c: Include errno.h, limits.h.
3321         (EOVERFLOW): New fallback definition.
3322         (vasprintf): Test here whether the string length is > INT_MAX.
3323         * lib/vsnprintf.c: Include errno.h, limits.h.
3324         (EOVERFLOW): New fallback definition.
3325         (vsnprintf): Fix bug when generated string was too long for the buffer.
3326         Test here whether the string length is > INT_MAX.
3327
3328 2006-08-28  Bruno Haible  <bruno@clisp.org>
3329
3330         * lib/inttypes_.h (SCNX*): Remove definitions.
3331         Reported by Eric Blake.
3332
3333 2006-08-28  Bruno Haible  <bruno@clisp.org>
3334
3335         * lib/c-strstr.h: New file, from GNU gettext.
3336         * lib/c-strstr.c: New file, from GNU gettext.
3337
3338 2006-08-28  Bruno Haible  <bruno@clisp.org>
3339
3340         * gnulib-tool: Reorder some statements.
3341
3342 2006-08-28  Bruno Haible  <bruno@clisp.org>
3343
3344         * gnulib-tool: New option --makefile-name.
3345         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Use
3346         $makefile_name.
3347         (func_import): Write $makefile_name to the cache file, and read it from
3348         there unless explicitly specified. Use $makefile_name as file name
3349         instead of Makefile.am. Adjust the recommendations accordingly.
3350
3351 2006-08-28  Bruno Haible  <bruno@clisp.org>
3352
3353         * gnulib-tool (func_verify_module): Check against misapplying patch.
3354
3355 2006-08-28  Bruno Haible  <bruno@clisp.org>
3356
3357         * gnulib-tool (func_relativize, func_relconcat): New functions.
3358         Give an error if --local-dir is given with --update.
3359         Remove trailing slashes from $local_gnulib_dir.
3360         (func_import): Store the relativized $local_gnulib_dir in
3361         gnulib-cache.m4, and read it from there if not specified explicitly.
3362
3363 2006-08-28  Bruno Haible  <bruno@clisp.org>
3364
3365         * gnulib-tool (func_get_tests_module): Don't assume that $gnulib_dir
3366         is the current directory. Respect also $local_gnulib_dir.
3367
3368 2006-08-28  Bruno Haible  <bruno@clisp.org>
3369             Simon Josefsson  <jas@extundo.com>
3370
3371         BeOS portability.
3372         * lib/getaddrinfo.c (PF_INET, PF_UNSPEC): New macros.
3373
3374 2006-08-27  Jim Meyering  <jim@meyering.net>
3375
3376         * doc/visibility.texi: Remove duplicate word: "pointer".
3377
3378 2006-08-26  Bruno Haible  <bruno@clisp.org>
3379
3380         * modules/inttypes (Files): Add lib/inttypes_.h, remove lib/inttypes.h.
3381         Add m4/inttypes.m4, remove m4/_inttypes_h.m4 and m4/include_next.m4.
3382         (Makefile.am): Create inttypes.h from inttypes_.h.
3383         * modules/stdint (Makefile.am): Substitute also ABSOLUTE_INTTYPES_H.
3384
3385         * modules/imaxabs: New file.
3386
3387         * modules/imaxdiv: New file.
3388
3389 2006-08-26  Bruno Haible  <bruno@clisp.org>
3390
3391         * m4/inttypes.m4: New file.
3392         * m4/_inttypes_h.m4: Remove file.
3393         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Also AC_SUBST
3394         PRI_MACROS_BROKEN.
3395         * m4/stdint.m4 (gl_STDINT_H): Define also ABSOLUTE_INTTYPES_H.
3396
3397         * m4/imaxabs.m4: New file.
3398
3399         * m4/imaxdiv.m4: New file.
3400
3401 2006-08-26  Bruno Haible  <bruno@clisp.org>
3402
3403         * lib/inttypes_.h: New file.
3404         * lib/inttypes.h: Remove file.
3405         * lib/stdint_.h: Include <inttypes.h> through its absolute filename.
3406
3407         * lib/imaxabs.c: New file.
3408
3409         * lib/imaxdiv.c: New file.
3410
3411 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
3412
3413         New config-h module, so that "make" output needn't be cluttered
3414         by -DHAVE_CONFIG_H.
3415         * MODULES.html.sh (Support for building libraries and executables):
3416         Add config-h.
3417         * modules/config-h: New file.
3418         * gnulib-tool (nl, sed_transform_lib_file): New vars.
3419         (func_import): Turn "#ifdef HAVE_CONFIG_H" to "#if 1" if
3420         the config-h module is used.
3421
3422         New configmake module, so that "make" output needn't be cluttered
3423         by fluff like '-DLIBDIR=\"/usr/local/lib\"'.
3424         * MODULES.html.sh (Support for building libraries and executables):
3425         Add configmake.
3426         * modules/configmake: New file.
3427
3428 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
3429
3430         * m4/config-h.m4: New file.
3431
3432 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
3433
3434         * config/srclist.txt: Add elisp-comp.
3435
3436 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
3437
3438         * MODULES.html.sh (Support for building libraries and executables):
3439         Add elisp-comp.
3440         * build-aux/elisp-comp: New file.
3441         * modules/elisp-comp: New file.
3442
3443 2006-08-24  Bruno Haible  <bruno@clisp.org>
3444
3445         * gnulib-tool (func_create_testdir): Use non-default values of
3446         sourcebase and m4base.
3447
3448 2006-08-24  Bruno Haible  <bruno@clisp.org>
3449
3450         * MODULES.html.sh (Compatibility checks for POSIX:2001 functions: Fix
3451         HTML structure.
3452
3453 2006-08-23  Paul Eggert  <eggert@cs.ucla.edu>
3454
3455         * modules/openat (Depends-on): Add lchown.
3456
3457 2006-08-23  Bruno Haible  <bruno@clisp.org>
3458
3459         * gnulib-tool (func_import, func_create_testdir): Emit an invocation
3460         of gl_LOCK_EARLY instead of gl_LOCK.
3461
3462 2006-08-23  Bruno Haible  <bruno@clisp.org>
3463
3464         * m4/lock.m4 (gl_LOCK_BODY): Change the default value of gl_use_threads
3465         on OSF/1 to no.
3466         Reported by Stephen Cartwright <sgcartwr@ucalgary.ca>.
3467
3468 2006-08-23  Bruno Haible  <bruno@clisp.org>
3469
3470         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't consider BeOS statvfs
3471         as unusable.
3472
3473         * m4/lock.m4 (gl_LOCK_EARLY): Renamed from gl_LOCK.
3474         (gl_LOCK_BODY): Remove gl_PREREQ_LOCK invocation.
3475         (gl_LOCK): New macro.
3476
3477 2006-08-22  Simon Josefsson  <jas@extundo.com>
3478
3479         * modules/gc-md5 (Makefile.am): Need to add md5.h, after changes
3480         to md5 module.
3481
3482 2006-08-22  Simon Josefsson  <jas@extundo.com>
3483
3484         * MODULES.html.sh: Add "Support for maintaining and release
3485         projects".
3486
3487         * build-aux/gnupload: New file, from coreutils.
3488
3489 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
3490
3491         Avoid the need for AC_LIBSOURCES in m4 macros.
3492         * modules/arcfour (EXTRA_DIST): Add arcfour.h.
3493         * modules/arctwo (EXTRA_DIST): Add arctwo.h.
3494         * modules/check-version (EXTRA_DIST): Add check-version.h.
3495         * modules/crc (EXTRA_DIST): Add crc.h.
3496         * modules/des (EXTRA_DIST): Add des.h.
3497         * modules/gc (EXTRA_DIST): Add gc.h.
3498         * modules/getdelim (EXTRA_DIST): Add getdelim.h.
3499         * modules/getline (EXTRA_DIST): Add getline.h.
3500         * modules/getlogin_r (EXTRA_DIST): Add getlogin_r.h.
3501         * modules/hmac-md5 (EXTRA_DIST): Add hmac.h.
3502         * modules/hmac-sha1 (EXTRA_DIST): Add hmac.h.
3503         * modules/md2 (EXTRA_DIST): Add md2.h.
3504         * modules/md4 (EXTRA_DIST): Add md4.h.
3505         * modules/pagealign_alloc (EXTRA_DIST): Add pagealign_alloc.h.
3506         * modules/read-file (EXTRA_DIST): Add read-file.h.
3507         * modules/readline (EXTRA_DIST): Add readline.h.
3508         * modules/rijndael (EXTRA_DIST): Add rijndael-alg-fst.h,
3509         rijndael-api-fst.h.
3510
3511 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
3512
3513         * m4/rijndael.m4 (gl_ARCFOUR):
3514         * m4/arctwo.m4 (gl_ARCTWO):
3515         * m4/check-version.m4 (gl_CHECK_VERSION):
3516         * m4/crc.m4 (gl_CRC):
3517         * m4/des.m4 (gl_DES):
3518         * m4/gc-pbkdf2-sha1.m4 (gl_GC_PBKDF2_SHA1):
3519         * m4/gc.m4 (gl_GC):
3520         * m4/getdelim.m4 (gl_FUNC_GETDELIM):
3521         * m4/getline.m4 (gl_FUNC_GETLINE):
3522         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE):
3523         * m4/hmac-md5.m4 (gl_HMAC_MD5):
3524         * m4/hmac-sha1.m4 (gl_HMAC_SHA1):
3525         * m4/md2.m4 (gl_MD2):
3526         * m4/md4.m4 (gl_MD4):
3527         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC):
3528         * m4/read-file.m4 (gl_FUNC_READ_FILE):
3529         * m4/readline.m4 (gl_FUNC_READLINE):
3530         * m4/rijndael.m4 (gl_RIJNDAEL):
3531         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
3532         to get the necessary .h files and whatnot.
3533
3534 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
3535
3536         * config/srclist.txt: Remove gnupload, since coreutils now syncs from
3537         gnulib rather than the other way around.
3538         * config/srclistvars.sh (COREUTILS): Remove.
3539
3540 2006-08-22  Jim Meyering  <jim@meyering.net>
3541
3542         * modules/mkdir-p (Makefile.am): Fix typo: s/lib+SOURCES/lib_SOURCES/.
3543
3544         * modules/getpass-gnu (Makefile.am): Add getpass.h to EXTRA_DIST.
3545
3546 2006-08-22  Eric Blake  <ebb9@byu.net>
3547
3548         * modules/regexprops-generic: New file.
3549         * MODULES.html.sh (Support for building documentation): List it.
3550
3551 2006-08-22  Eric Blake  <ebb9@byu.net>
3552
3553         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Avoid compiler warning.
3554         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
3555         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Likewise.
3556         * m4/intmax_t.m4 (gt_AC_TYPE_INTMAX_T): Likewise.
3557
3558 2006-08-22  Bruno Haible  <bruno@clisp.org>
3559
3560         * gnulib-tool (func_emit_lib_Makefile_am): Don't treat lib_LIBRARIES
3561         and lib_LTLIBRARIES like the other lib_* variables.
3562
3563 2006-08-22  Bruno Haible  <bruno@clisp.org>
3564
3565         * build-aux/x-to-1.in: New file, from GNU gettext.
3566
3567 2006-08-22  Bruno Haible  <bruno@clisp.org>
3568
3569         * m4/readutmp.m4 (gl_READUTMP): Compile readutmp.c only if <utmp.h> or
3570         <utmpx.h> exists.
3571
3572 2006-08-22  Bruno Haible  <bruno@clisp.org>
3573
3574         * lib/readutmp.h: Skip most definitions if neither <utmp.h> nor
3575         <utmpx.h> exists.
3576
3577 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
3578
3579         BeOS portability.
3580         * lib/dirchownmod.c (dirchownmod): Don't use fchmod if it doesn't
3581         exist.
3582         Problem reported by Bruno Haible.
3583
3584 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
3585
3586         Avoid the need for AC_LIBSOURCES in m4 macros.
3587         * modules/acl (EXTRA_DIST): Add acl.h.
3588         * modules/argmatch (Files): Add m4/argmatch.m4.
3589         (configure.ac): Add gl_ARGMATCH.
3590         (EXTRA_DIST): Renamed from lib_SOURCES, for
3591         consistency with the other modules.  Remove argmatch.c.
3592         * modules/backupfile (EXTRA_DIST): Add backupfile.h.
3593         * modules/c-strtod (EXTRA_DIST): Add c-strtod.h.
3594         * modules/c-strtold (EXTRA_DIST): Add c-strtod.c, c-strtod.h.
3595         * modules/canonhost (EXTRA_DIST): Add c-canonhost.h.
3596         * modules/canonicalize (EXTRA_DIST): Add canonicalize.h.
3597         * modules/chdir-long (EXTRA_DIST): Add chdir-long.h.
3598         * modules/chdir-safer (EXTRA_DIST): Add chdir-safer.h.
3599         * modules/cloexec (EXTRA_DIST): Add cloexec.h.
3600         * modules/close-stream (EXTRA_DIST): Add close-stream.h.
3601         * modules/closeout (EXTRA_DIST): Add closeout.h.
3602         * modules/cycle-check (EXTRA_DIST): Add cycle-check.h.
3603         * modules/dev-ino (EXTRA_DIST): Add dev-ino.h.
3604         * modules/dirfd (EXTRA_DIST): Add dirfd.h.
3605         * modules/dirname (EXTRA_DIST): Renamed from lib_SOURCES.  Add
3606         dirname.h; remove basename.c and stripslash.c.
3607         * modules/exclude (EXTRA_DIST): Add exclude.h.
3608         * modules/exitfail (EXTRA_DIST): Add exitfail.h.
3609         * modules/fcntl-safer (EXTRA_DIST): Add fcntl-safer.h fcntl--.h.
3610         * modules/file-type (EXTRA_DIST): Add file-type.h.
3611         * modules/filemode (EXTRA_DIST): Add filemode.h.
3612         * modules/filenamecat (EXTRA_DIST): Add filenamecat.h.
3613         * modules/fopen-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
3614         * modules/fpending (EXTRA_DIST): Add __fpending.h.
3615         * modules/fprintftime (EXTRA_DIST): Add fprintftime.h.
3616         * modules/fsusage (EXTRA_DIST): Add fsusage.h.
3617         * modules/fts (EXTRA_DIST): Add fts_.h fts-cycle.c.
3618         * modules/getcwd (EXTRA_DIST): Add getcwd.h.
3619         * modules/getdate (EXTRA_DIST): Add getdate.c.
3620         * modules/gethrxtime (EXTRA_DIST): Add gethrxtime.h xtime.h.
3621         * modules/getpagesize (EXTRA_DIST): Add getpagesize.h.
3622         * modules/getpass (EXTRA_DIST): Add getpass.h.
3623         * modules/glob (EXTRA_DIST): Add glob_.h glob-libc.h.
3624         * modules/group-member (EXTRA_DIST): Add group-member.h.
3625         * modules/hard-locale (EXTRA_DIST): Add hard-locale.h.
3626         * modules/hash (EXTRA_DIST): Add hash.h.
3627         * modules/human (EXTRA_DIST): Add human.h.
3628         * modules/inttypes (EXTRA_DIST): Add inttypes.h.
3629         * modules/lchmod (EXTRA_DIST): Add lchmod.h.
3630         * modules/lchown (EXTRA_DIST): Add lchown.h.
3631         * modules/long-options (EXTRA_DIST): Add long-options.h.
3632         * modules/lstat (EXTRA_DIST): Add lstat.h.
3633         * modules/md5 (EXTRA_DIST): Add memcasecmp.h.
3634         * modules/memcoll (EXTRA_DIST): Add memcoll.h.
3635         * modules/mempcpy (EXTRA_DIST): Add mempcpy.h.
3636         * modules/memrchr (EXTRA_DIST): Add memrchr.h.
3637         * modules/memxor (EXTRA_DIST): Add memxor.h.
3638         * modules/mkancesdirs (EXTRA_DIST): Add mkancesdirs.h.
3639         * modules/mkdir-p (EXTRA_DIST): Add modechange.h.
3640         * modules/mountlist (EXTRA_DIST): Add mountlist.h.
3641         * modules/openat (EXTRA_DIST): Add at-func.c openat.h openat-priv.h.
3642         * modules/pathmax (EXTRA_DIST): Add pathmax.h.
3643         * modules/physmem (EXTRA_DIST): Add physmem.h.
3644         * modules/posixtm (EXTRA_DIST): Add posixtm.h.
3645         * modules/posixver (EXTRA_DIST): Add posixver.h.
3646         * modules/quote (EXTRA_DIST): Add quote.h.
3647         * modules/quotearg (EXTRA_DIST): Add quotearg.h.
3648         * modules/readtokens (EXTRA_DIST): Add readtokens.h.
3649         * modules/readutmp (EXTRA_DIST): Add readutmp.h.
3650         * modules/regex (EXTRA_DIST): Add regcomp.c regex.h regex_internal.c
3651         regex_internal.h regexec.c.
3652         * modules/safe-read (EXTRA_DIST): Add safe-read.h.
3653         * modules/safe-write (EXTRA_DIST): Add safe-write.h.
3654         * modules/same (EXTRA_DIST): Add same.h.
3655         * modules/same-inode (EXTRA_DIST): Add same-inode.h.
3656         * modules/save-cwd (EXTRA_DIST): Add save-cwd.h.
3657         * modules/savedir (EXTRA_DIST): Add savedir.h.
3658         * modules/sha1 (EXTRA_DIST): Add sha1.h.
3659         * modules/sig2str (EXTRA_DIST): Add sig2str.h.
3660         * modules/stat-macros (EXTRA_DIST): Add stat-macros.h.
3661         * modules/stat-time (EXTRA_DIST): Add stat-time.h.
3662         * modules/stdlib-safer (EXTRA_DIST): Add stdlib-safer.h stdlib--.h.
3663         * modules/strdup (EXTRA_DIST): Add strdup.h.
3664         * modules/strftime (EXTRA_DIST): Add strftime.h.
3665         * modules/strndup (EXTRA_DIST): Add strndup.h.
3666         * modules/strnlen (EXTRA_DIST): Add strnlen.h.
3667         * modules/strverscmp (EXTRA_DIST): Add strverscmp.h.
3668         * modules/time_r (EXTRA_DIST): Add time_r.h.
3669         * modules/timespec (EXTRA_DIST): Add timespec.h.
3670         * modules/tmpfile-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
3671         * modules/unistd-safer (EXTRA_DIST): Add unistd-safer.h unistd--.h.
3672         * modules/unlinkdir (EXTRA_DIST): Add unlinkdir.h.
3673         * modules/unlocked-io (EXTRA_DIST): Add unlocked-io.h.
3674         * modules/userspec (EXTRA_DIST): Add userspec.h.
3675         * modules/utimecmp (EXTRA_DIST): Add utimecmp.h.
3676         * modules/utimens (EXTRA_DIST): Add utimens.h.
3677         * modules/xalloc (EXTRA_DIST): Add xalloc.h.
3678         * modules/xgetcwd (EXTRA_DIST): Add xgetcwd.h.
3679         * modules/xnanosleep (EXTRA_DIST): Add xnanosleep.h.
3680         * modules/xreadlink (EXTRA_DIST): Add xreadlink.h.
3681         * modules/xstrtod (EXTRA_DIST): Add xstrtod.h.
3682         * modules/xstrtol (EXTRA_DIST): Add xstrtol.h.
3683         * modules/xstrtold (EXTRA_DIST): Add xstrtod.c xstrtod.h.
3684         * modules/yesno (EXTRA_DIST): Add yesno.h.
3685
3686 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
3687
3688         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Check for fchmod.
3689
3690         * m4/argmatch.m4: New file, from coreutils with AC_LIBSOURCES removed.
3691         * m4/dev-ino.m4, same-inode.m4: Remove.
3692
3693         * m4/_inttypes_h.m4 (gl_INTTYPES_H):
3694         * m4/acl.m4 (AC_FUNC_ACL):
3695         * m4/backupfile.m4 (gl_BACKUPFILE):
3696         * m4/c-strtod.m4 (gl_C99_STRTOLD):
3697         * m4/canon-host.m4 (gl_CANON_HOST):
3698         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
3699         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG):
3700         * m4/chdir-safer.m4 (gl_CHDIR_SAFER):
3701         * m4/cloexec.m4 (gl_CLOEXEC):
3702         * m4/close-stream.m4 (gl_CLOSE_STREAM):
3703         * m4/closeout.m4 (gl_CLOSEOUT):
3704         * m4/dirfd.m4 (gl_FUNC_DIRFD):
3705         * m4/dirname.m4 (gl_DIRNAME):
3706         * m4/exclude.m4 (gl_EXCLUDE):
3707         * m4/exitfail.m4 (gl_EXITFAIL):
3708         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER):
3709         * m4/file-type.m4 (gl_FILE_TYPE):
3710         * m4/filemode.m4 (gl_FILEMODE):
3711         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT):
3712         * m4/fpending.m4 (gl_FUNC_FPENDING):
3713         * m4/fprintftime.m4 (gl_FPRINTFTIME):
3714         * m4/fts.m4 (gl_FUNC_FTS):
3715         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL):
3716         * m4/getdate.m4 (gl_GETDATE):
3717         * m4/gethrxtime.m4 (gl_GETHRXTIME):
3718         * m4/getpagesize.m4 (gl_GETPAGESIZE):
3719         * m4/getpass.m4 (gl_FUNC_GETPASS):
3720         * m4/gettime.m4 (gl_GETTIME):
3721         * m4/getugroups.m4 (gl_GETUGROUPS):
3722         * m4/glob.m4 (gl_GLOB_SUBSTITUTE):
3723         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER):
3724         * m4/hard-locale.m4 (gl_HARD_LOCALE):
3725         * m4/hash.m4 (gl_HASH):
3726         * m4/idcache.m4 (gl_IDCACHE):
3727         * m4/lchmod.m4 (gl_FUNC_LCHMOD):
3728         * m4/lchown.m4 (gl_FUNC_LCHOWN):
3729         * m4/long-options.m4 (gl_LONG_OPTIONS):
3730         * m4/lstat.m4 (gl_FUNC_LSTAT):
3731         * m4/md5.m4 (gl_MD5):
3732         * m4/memcasecmp.m4 (gl_MEMCASECMP):
3733         * m4/memcoll.m4 (gl_MEMCOLL):
3734         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY):
3735         * m4/memrchr.m4 (gl_FUNC_MEMRCHR):
3736         * m4/memxor.m4 (gl_MEMXOR):
3737         * m4/mkancesdirs.m4 (gl_MKANCESDIRS):
3738         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS):
3739         * m4/modechange.m4 (gl_MODECHANGE):
3740         * m4/mountlist.m4 (gl_MOUNTLIST):
3741         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
3742         * m4/openat.m4 (gl_FUNC_OPENAT):
3743         * m4/pathmax.m4 (gl_PATHMAX):
3744         * m4/physmem.m4 (gl_PHYSMEM):
3745         * m4/posixtm.m4 (gl_POSIXTM):
3746         * m4/posixver.m4 (gl_POSIXVER):
3747         * m4/quote.m4 (gl_QUOTE):
3748         * m4/quotearg.m4 (gl_QUOTEARG):
3749         * m4/readtokens.m4 (gl_READTOKENS):
3750         * m4/readutmp.m4 (gl_READUTMP):
3751         * m4/regex.m4 (gl_REGEX):
3752         * m4/safe-read.m4 (gl_SAFE_READ):
3753         * m4/safe-write.m4 (gl_SAFE_WRITE):
3754         * m4/same.m4 (gl_SAME):
3755         * m4/save-cwd.m4 (gl_SAVE_CWD):
3756         * m4/savedir.m4 (gl_SAVEDIR):
3757         * m4/settime.m4 (gl_SETTIME):
3758         * m4/sha1.m4 (gl_SHA1):
3759         * m4/sig2str.m4 (gl_FUNC_SIG2STR):
3760         * m4/stat-macros.m4 (gl_STAT_MACROS):
3761         * m4/stat-time.m4 (gl_STAT_TIME):
3762         * m4/stdio-safer.m4 (gl_FOPEN_SAFER):
3763         * m4/stdlib-safer.m4 (gl_STDLIB_SAFER):
3764         * m4/strdup.m4 (gl_FUNC_STRDUP):
3765         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME):
3766         * m4/strndup.m4 (gl_FUNC_STRNDUP):
3767         * m4/strnlen.m4 (gl_FUNC_STRNLEN):
3768         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP):
3769         * m4/time_r.m4 (gl_TIME_R):
3770         * m4/timespec.m4 (gl_TIMESPEC):
3771         * m4/unistd-safer.m4 (gl_UNISTD_SAFER):
3772         * m4/unlinkdir.m4 (gl_UNLINKDIR):
3773         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO):
3774         * m4/userspec.m4 (gl_USERSPEC):
3775         * m4/utimecmp.m4 (gl_UTIMECMP):
3776         * m4/utimens.m4 (gl_UTIMENS):
3777         * m4/xalloc.m4 (gl_XALLOC):
3778         * m4/xgetcwd.m4 (gl_XGETCWD):
3779         * m4/xnanosleep.m4 (gl_XNANOSLEEP):
3780         * m4/xreadlink.m4 (gl_XREADLINK):
3781         * m4/xstrtod.m4 (gl_XSTRTOD):
3782         * m4/yesno.m4 (gl_YESNO):
3783         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
3784         to get the necessary .h files and whatnot.
3785
3786 2006-08-21  Mark D. Baushke  <mdb@gnu.org>
3787             Bruno Haible  <bruno@clisp.org>
3788
3789         * gnulib-tool (func_verify_module): Work around Sun's non-POSIX 1003.2
3790         /bin/sh understanding of '!' conditional negation.
3791
3792 2006-08-21  Jim Meyering  <jim@meyering.net>
3793
3794         * modules/openat (Depends-on): Really alphabetize.
3795
3796         * modules/acl (Depends-on): Add error and quote.
3797
3798         * check-module (find_included_lib_files): Add at-func.c to the
3799         ok-to-include-more-than-once white list.
3800
3801         * modules/openat (Depends-on): Add lstat.  Alphabetize.
3802
3803 2006-08-21  Bruno Haible  <bruno@clisp.org>
3804
3805         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
3806         Emit a pkgdata_DATA variable only if some snippets add contents to it.
3807         Reported by Martin Lambers <marlam@marlam.de>.
3808
3809 2006-08-21  Bruno Haible  <bruno@clisp.org>
3810
3811         * gnulib-tool (func_emit_lib_Makefile_am): If the snippets already
3812         specify an installation location, don't emit a noinst_LIBRARIES or
3813         noinst_LTLIBRARIES assignment.
3814
3815 2006-08-21  Bruno Haible  <bruno@clisp.org>
3816
3817         BeOS portability.
3818         * modules/mbchar (Include): Don't test HAVE_WCTYPE_H any more, since
3819         BeOS has mbrtowc() but no <wctype.h>.
3820
3821 2006-08-21  Bruno Haible  <bruno@clisp.org>
3822
3823         BeOS portability.
3824         * m4/mbchar.m4 (gl_MBCHAR): Compile mbchar.c also if <wctype.h> doesn't
3825         exist.
3826
3827 2006-08-21  Bruno Haible  <bruno@clisp.org>
3828
3829         BeOS portability.
3830         * lib/mbchar.h: Include <wctype.h> only if it exists.
3831
3832 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
3833
3834         Remove files that are no longer needed by their respective modules.
3835         * m4/obstack.m4: Remove.
3836         * m4/strerror_r.m4: Remove.
3837         * m4/uint32_t.m4: Remove.
3838         * m4/uintptr_t.m4: Remove.
3839         * m4/ullong_max.m4: Remove.
3840         * m4/xstrtoimax.m4: Remove.
3841         * m4/xstrtoumax.m4: Remove.
3842
3843         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Do not require
3844         gl_AC_TYPE_UINTMAX_T, gl_STRUCT_DEV_INO, or gl_SAME_INODE, since gnulib
3845         dependencies now capture this.
3846
3847         * m4/cycle-check.m4 (gl_CYCLE_CHECK):
3848         Do not use AC_LIBSOURCES, since gnulib modules now do this.
3849         * m4/fsusage.m4 (gl_FSUSAGE): Likewise.
3850         * m4/human.m4 (gl_HUMAN): Likewise.
3851         * m4/inttostr.m4 (gl_INTTOSTR): Likewise.
3852         * m4/xstrtol.m4 (gl_XSTRTOL): Likewise.
3853
3854         * m4/filemode.m4 (gl_FILEMODE): Require AC_STRUCT_ST_DM_MODE.
3855
3856         * m4/filemode.m4 (gl_PREREQ_FSUSAGE_EXTRA): Do not require
3857         gl_AC_TYPE_INTMAX_T or gl_AC_TYPE_UINTMAX_T, since we now require
3858         stdint.
3859         * m4/human.m4 (gl_HUMAN): Likewise.
3860         * m4/inttostr.m4 (gl_PREREQ_INTTOSTR): Likewise.
3861         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Likewise.
3862         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
3863         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
3864         * m4/xstrtol (gl_XSTRTOL): Likewise.
3865
3866         * m4/gethrxtime.m4 (gl_XTIME): gl_AC_TYPE_LONG_LONG ->
3867         AC_TYPE_LONG_LONG_INT.
3868         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
3869         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Likewise.
3870         * m4/strtoull.m4 (gl_FUNC_STRTOULL): Likewise, for unsigned long.
3871         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
3872
3873         * m4/human.m4 (gl_HUMAN): Do not require AM_STDBOOL_H since we depend
3874         on stdbool.
3875
3876         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL_H, gl_PREREQ_XSTRTOL): Remove.
3877         (gl_PREREQ_XSTRTOUL): Remove.
3878
3879         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Check for hasmntopt.
3880
3881         * m4/posixver.m4: Fix comment since head -1 now works even in POSIX
3882         mode.
3883
3884 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
3885
3886         Add and change modules to make it easier for coreutils to use
3887         gnulib-tool.
3888         * modules/backupfile (Files): Remove m4/d-ino.m4.
3889         (Depends-on): Add d-ino.
3890         * modules/cycle-check (Depends-on): Add stdint.
3891         (lib_SOURCES): Add cycle-check.h.
3892         * modules/d-ino: New module.
3893         * modules/d-type: New module.
3894         * modules/error (Files): Remove m4/strerror_r.m4.
3895         * modules/filemode (Files): Add m4/st_dm_mode.m4.
3896         * modules/fsuage (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
3897         m4/inttypes_h.m4, m4/uintmax_t.m4.
3898         (Depends-on): Add stdint.
3899         (lib_SOURCES): Add fsusage.h.
3900         * modules/getcwd (Files): Remove d-ino.m4.
3901         (Depends-on): Add d-ino.
3902         * modules/getndelim2 (Depends-on): Add stdint.
3903         * modules/glob (Files): Remove m4/d-type.m4.
3904         (Depends-on): Add d-type.
3905         * modules/host-os: New module.
3906         * modules/human (Files):  Remove m4/ulonglong.m4, m4/stdint_h.m4,
3907         m4/inttypes_h.m4, m4/uintmax_t.m4.
3908         * Depends-on: Add stdint.
3909         (lib_SOURCES): Add human.h.
3910         * modules/inttostr (Files): Remove m4/intmax_t.m4,
3911         m4/inttostr.m4, m4/inttypes_h.m4, m4/longlong.m4, m4/stdint_h.m4,
3912         m4/uintmax_t.m4, m4/ulonglong.m4.
3913         (Depends-on): Add stdint.
3914         (EXTRA_DIST): Add inttostr.h.
3915         * modules/lchmod: New module.
3916         * modules/link-follow: New module.
3917         * modules/mkdir-p (Files): Remove lib/lchmod.h, m4/lchmod.m4.
3918         (Depends-on): Add lchmod.
3919         * modules/mkstemp (Files): Remove m4/ulonglong.m4,
3920         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4.
3921         (Depends-on): Add stdint.
3922         * modules/obstack (Files): Remove m4/inttypes_h.m4, m4/obstack.m4,
3923         m4/stdint_h.m4, m4/uintmax_t.m4, m4/ulonglong.m4.
3924         (Depends-on): Add stdint.
3925         (configure.ac): Change gl_OBSTACK to AC_FUNC_OBSTACK.
3926         * modules/perl: New module.
3927         * modules/regex (Depends-on): Add stdint.
3928         * modules/rmdir-errno: New module.
3929         * modules/strtoimax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
3930         m4/intmax_t.m4.
3931         (Depends-on): Add stdint.
3932         * modules/strtoumax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
3933         m4/uintmax_t.m4.
3934         (Depends-on): Add stdint.
3935         * modules/unlink-busy: New module.
3936         * modules/utimecmp (Depends-on): Add stdint.
3937         * modules/uptime: New module.
3938         * modules/winsz-ioctl: New module.
3939         * modules/winsz-termios: New module.
3940         * modules/xnanosleep (Depends-on): Add nanosleep.
3941         * modules/ullong_max: Remove.
3942         * modules/xstrtoimax (Files): Remove m4/xstrtoimax.m4.
3943         (configure.ac): Remove gl_XSTRTOIMAX; no action needed now.
3944         * modules/xstrtol (Files): Remove m4/ulonglong.m4, m4/longlong.m4,
3945         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4, m4/intmax_t.m4.
3946         (Depends-on): Add inttypes.
3947         (lib_SOURCES): Add xstrtol.h.
3948         * modules/xstrtoumax (Files): Remove m4/xstrtoumax.m4.
3949         (configure.ac): Remove gl_XSTRTOUMAX; no action needed now.
3950         * MODULES.html.sh: Move 'assert' into the assert section.
3951         Move 'dummy' into the linking section.
3952         Remove ullong_max.
3953         Add section for compatibility checks for POSIX:2001 functions,
3954         and put d-ino, d-type, link-follow, rmdir-errno, unlink-busy,
3955         winsz-ioctl, and winsz-termios into it.
3956         Add lchmod.
3957         Add top-level Misc section and put host-os, perl, and uptime
3958         into it.
3959
3960 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
3961
3962         * lib/cycle-check.h: Include <stdint.h> unconditionally, since we
3963         now assume the stdint module.  Do not include inttypes.h.
3964         * lib/fsusage.h: Likewise.
3965         * lib/getndelim2.c: Likewise.
3966         * lib/human.h: Likewise.
3967         * lib/inttostr.h: Likewise.
3968         * lib/obstack.c: Likewise.
3969         * lib/regex_internal.h: Likewise.
3970         * lib/tempname.c: Likewise.
3971         * lib/utimecmp.c: Likewise.
3972         * lib/xstrtol.h: Likewise.
3973
3974         * lib/stat_.h: Fix typo: HAVE_FUNC_LSTAT -> HAVE_LSTAT.
3975
3976         * lib/strtoimax.c: Adjust to macro name changes in Autoconf,
3977         e.g., HAVE_LONG_LONG -> HAVE_LONG_LONG_INT.
3978         * lib/xtime.h: Likewise.
3979
3980 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
3981
3982         * modules/openat (Files): Add lib/fchmodat.c.
3983         Fixes problem reported by Jay Youngman.
3984
3985 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
3986
3987         * lib/fchmodat.c: New file, from coreutils.  This was inadvertently
3988         omitted in the 2006-08-17 update.  Problem reported by Jay Youngman.
3989
3990 2006-08-18  Paul Eggert  <eggert@cs.ucla.edu>
3991             Bruno Haible  <bruno@clisp.org>
3992
3993         * m4/bison-i18n.m4 (BISON_I18N): Also handle the case where yacc exists
3994         and is a script that invokes bison. Tighten the code. Add comments.
3995
3996 2006-08-18  Jim Meyering  <jim@meyering.net>
3997
3998         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Also check for
3999         CLOCK_REALTIME, since gethrxtime may revert to using clock_gettime via
4000         gettime.c.  Gabor Z. Papp reported that gethrxtime-using programs
4001         failed to link due to unresolved clock_gettime on a linux-2.4.x system.
4002
4003 2006-08-18  Bruno Haible  <bruno@clisp.org>
4004
4005         * modules/bison-i18n: New file.
4006         * MODULES.html.sh (Internationalization functions): Add it.
4007
4008 2006-08-18  Bruno Haible  <bruno@clisp.org>
4009
4010         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Also check for
4011         sys/statvfs.h. When getmntinfo was found, check its declaration and
4012         set either MOUNTED_GETMNTINFO or MOUNTED_GETMNTINFO2 depending on it.
4013
4014 2006-08-18  Bruno Haible  <bruno@clisp.org>
4015
4016         * m4/bison-i18n.m4: New file, from bison.
4017
4018 2006-08-18  Bruno Haible  <bruno@clisp.org>
4019
4020         * lib/mountlist.c [MOUNTED_GETMNTINFO2]: Include sys/statvfs.h.
4021         (ME_DUMMY): Treat "kernfs" as a dummy.
4022         (read_file_system_list) [MOUNTED_GETMNTINFO2]: Implement.
4023
4024 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
4025
4026         Update from coreutils.
4027
4028         2006-08-15  Jim Meyering  <jim@meyering.net>
4029
4030         * m4/openat.m4 (gl_FUNC_OPENAT): Add at-func.c via AC_LIBSOURCES.
4031
4032         2006-01-17  Jim Meyering  <jim@meyering.net>
4033
4034         * m4/fts.m4 (gl_FUNC_FTS_CORE): Depend on gl_FUNC_OPENAT.
4035
4036         2006-01-11  Jim Meyering  <jim@meyering.net>
4037
4038         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile fchmodat.c.
4039         Check for the lchmod function.
4040
4041 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
4042
4043         Update from coreutils.
4044
4045         * lib/__fpending.h: Add copyright notice.
4046         * lib/fprintftime.h: Likewise.
4047         * lib/savedir.c: Use (C) in copyright notice.
4048         * lib/savedir.h: Likewise.
4049
4050         2006-08-15  Jim Meyering  <jim@meyering.net>
4051
4052         * lib/at-func.c: New file, with the logic of all emulated at-functions.
4053         * lib/openat-priv.h: Include <errno.h> and define ENOSYS,
4054         in support of the EXPECTED_ERRNO macro.
4055         * lib/openat.c (fstatat, unlinkat, fchownat): Remove function
4056         definitions.  Instead, define the appropriate symbols and include
4057         "at-func.c".
4058         * lib/mkdirat.c (mkdirat): Likewise.
4059         * lib/fchmodat.c (fchmodat): Likewise.
4060         (ENOSYS): Remove definition.
4061         * lib/openat.c: Don't include <errno.h>, now that "openat-priv.h" does
4062         it.  Don't include "unistd--.h" -- it wasn't ever used.
4063
4064         2006-01-17  Jim Meyering  <jim@meyering.net>
4065
4066         Rewrite fts.c not to change the current working directory,
4067         by using openat, fstatat, fdopendir, etc..
4068
4069         * lib/fts.c [! _LIBC]: Include "openat.h" and "unistd--.h".
4070         (HAVE_OPENAT_SUPPORT): Define.
4071         [_LIBC] (fchdir): Don't undef or define; no longer used.
4072         (FCHDIR): Define in terms of cwd_advance_fd rather than fchdir.
4073         Now, this `function' always succeeds, and consumes its file descriptor
4074         parameter -- so callers must not close such FDs.  Update callers.
4075         (diropen_fd, opendirat, cwd_advance_fd): New functions.
4076         (diropen): Add parameter, SP.  Adjust all callers.
4077         Implement using diropen_fd, rather than open.
4078         (fts_open): Initialize new member, fts_cwd_fd.
4079         Remove fts_rft-setting code.
4080         (fts_close): Close fts_cwd_fd, if necessary.
4081         (__opendir2): Define in terms of opendir or opendirat,
4082         depending on whether the FST_NOCHDIR flag is set.
4083         (fts_build): Since fts_safe_changedir consumes its FD, and since
4084         this code must do `closedir(dirp)', dup the dirfd(dirp) argument,
4085         and close the dup'd file descriptor upon failure.
4086         (fts_stat): Use fstatat(...AT_SYMLINK_NOFOLLOW) in place of lstat.
4087         (fts_safe_changedir): Tweak semantics to reflect that this function
4088         now calls cwd_advance_fd and hence consumes its FD argument.
4089         * lib/fts_.h [struct FTS] (fts_cwd_fd): New member.
4090         [struct FTS] (fts_rft): Remove now-unused member.
4091         [struct FTS] (fts_cycle.state): Improve comment.
4092
4093         * lib/openat.c (openat_needs_fchdir): New function.
4094         * lib/openat.h (openat_needs_fchdir): Declare it.
4095
4096 2006-08-16  Paul Eggert  <eggert@cs.ucla.edu>
4097
4098         * lib/memcoll.c (memcoll): Set errno = 0 in the shortcut case, too.
4099         Problem and fix reported by Pádraig Brady in
4100         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00099.html>.
4101
4102 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
4103
4104         * modules/cycle-check (configure.ac): Add gl_CYCLE_CHECK.
4105
4106 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
4107
4108         * lib/memcoll.c (memcoll): Optimize for the common case where the
4109         arguments are bytewise equal.
4110
4111 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
4112
4113         * doc/regexprops-generic.texi: Add a copyright notice.
4114
4115 2006-08-15  Bruno Haible  <bruno@clisp.org>
4116
4117         * modules/tmpdir (License): Change to LGPL.
4118
4119 2006-08-15  Bruno Haible  <bruno@clisp.org>
4120
4121         * gnulib-tool (func_all_modules, func_verify_module): COPYING is not a
4122         module.
4123
4124 2006-08-14  Simon Josefsson  <jas@extundo.com>
4125
4126         * config/srclist.txt: Add gnupload.
4127
4128 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
4129
4130         Change copyright notice from LGPL 2 to GPL 2, since that's the
4131         standard form used in the gnulib repository.
4132         * tests/test-lock.c: Likewise.
4133         * tests/test-stdint.c: Likewise.
4134         * tests/test-tls.c: Likewise.
4135
4136         * users.txt: Add bison, diffutils, libprelude, prelude-lml,
4137         prelude-manager.  User shorter URLs for GNU projects, without '?'.
4138         Add copyright notice.
4139
4140         * check-module: Add copyright notice.  Output a copyright
4141         notice if "--version" is specified.
4142         * modules/COPYING: New file.
4143         * tests/test-getaddrinfo.c: Add copyright notice.
4144         * tests/test-verify.c: Likewise.
4145
4146 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
4147
4148         Change copyright notice from LGPL 2 to GPL 2, since that's the
4149         standard form used in the gnulib repository.
4150         * lib/lock.c: LGPL -> GPL.
4151         * lib/lock.h: Likewise.
4152         * lib/strnlen1.c: Likewise.
4153         * lib/strnlen1.h: Likewise.
4154         * lib/tls.c: Likewise.
4155         * lib/tls.h: Likewise.
4156         * lib/tmpdir.c: Likewise.
4157
4158         * lib/TODO: Remove; this belongs only in coreutils.
4159
4160 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
4161
4162         Add copyright notices to long-enough files that lack them, since
4163         otherwise the files aren't clearly free.  Use the same notice that
4164         getdate.texi already uses.
4165         * doc/alloca-opt.texi: Add copyright notice.
4166         * doc/alloca.texi: Likewise.
4167         * doc/ctime.texi: Likewise.
4168         * doc/functions.texi: Likewise.
4169         * doc/gcd.texi: Likewise.
4170         * doc/gnulib-tool.texi: Likewise.
4171         * doc/inet_ntoa.texi: Likewise.
4172         * doc/visibility.texi: Likewise.
4173
4174         * doc/getdate.texi: Update FDL version from 1.1 to 1.2.
4175         * doc/quote.texi: Add copyright notice.
4176
4177         * doc/solaris-versions: Add SunOS 5.10, SunOS 1.x, SunOS 4.0, SunOS
4178         4.0.x, SunOS 4.1.1.1, SunOS 4.1.1_U1, SunOS 4.1.3B.  SunOS 4.1.3
4179         was Solaris 1.1A.  Remove space before B in Solaris 1.1.1B.
4180         Mention SunOS 5.11.  Mention that everything before SunOS 5.7
4181         is now obsolete, and give a pointer to the Sun list.
4182         Add copyright notice.
4183
4184 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
4185
4186         * config/srclistvars.sh: Add copyright notice.
4187
4188 2006-08-14  Eric Blake  <ebb9@byu.net>
4189
4190         Import the following change from libc:
4191
4192         2006-08-12  Ulrich Drepper  <drepper@redhat.com>
4193
4194         Upstream bug 2997.
4195         * lib/misc/error.c: Add space between program name and message if file
4196         name is missing.
4197
4198 2006-08-12  Karl Berry  <karl@gnu.org>
4199
4200         * config/srclist.txt (ssize_t.m4, sig_atomic_t.m4, signalblocking.m4):
4201         remove, these originate in gnulib now.
4202
4203 2006-08-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
4204
4205         * doc/Makefile (standards.info standards.html standards.dvi):
4206         Also depend on make-stds.texi.
4207
4208 2006-08-11  Paul Eggert  <eggert@cs.ucla.edu>
4209
4210         * lib/pipe-safer.c (pipe_safer): Fix misspelling: HAVE_FUNC_PIPE ->
4211         HAVE_PIPE.  Fix a file descriptor leak when fd_safer fails.
4212
4213         * lib/regex_internal.c (re_string_skip_chars): Don't assume WEOF fits
4214         in wchar_t.  Problem reported by Eric Blake.
4215
4216         * lib/snprintf.c (snprintf): memcpy LEN bytes, not SIZE - 1, when
4217         LEN is smaller than SIZE.  Suggested by Bruno Haible.
4218         Also, help the compiler to keep LEN in a register.
4219
4220 2006-08-11  Eric Blake  <ebb9@byu.net>
4221
4222         * users.txt: Sort.  Add tar.
4223
4224 2006-08-11  Bruno Haible  <bruno@clisp.org>
4225
4226         * users.txt: New file.
4227
4228 2006-08-11  Bruno Haible  <bruno@clisp.org>
4229
4230         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Include <stdio.h> and <time.h>
4231         before <wchar.h>. Needed for OSF/1 and BSD/OS.
4232
4233 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
4234
4235         * modules/snprintf (Depends-on): Remove minmax.
4236         (Maintainer): Add self and Bruno.
4237
4238 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
4239
4240         * lib/.cppi-disable: Add snprintf.h, socket_.h.
4241         * lib/snprintf.c: Include <errno.h> and <limits.h>.
4242         (EOVERFLOW): Define if the system does not.
4243         Do not include "minmax.h"; it wasn't used.
4244         (snprintf): Don't assume size_t promotes to an unsigned type.
4245         Fix bug when generated string was too long for the buffer: the
4246         buffer's contents are supposed to be the initial prefix of the
4247         output.  Don't assume vasnprintf returns EOVERFLOW if the size
4248         exceeds INT_MAX; do the check ourselves.
4249
4250         Import the following changes from libc:
4251
4252         2006-06-02  Jakub Jelinek  <jakub@redhat.com>
4253
4254         * lib/posix/regex_internal.c (re_string_skip_chars): If no character
4255         has been converted at all, set *last_wc to WEOF.  If mbrtowc failed,
4256         set wc to the byte which couldn't be converted.
4257         (re_string_reconstruct): Don't clear valid_raw_len before calling
4258         re_string_skip_chars.  If wc is WEOF after re_string_skip_chars, set
4259         tip_context using re_string_context_at.
4260
4261         2006-05-02  Ulrich Drepper  <drepper@redhat.com>
4262
4263         * lib/posix/regex.h: g++ still cannot handled [restrict].
4264
4265         2006-04-21  Ulrich Drepper  <drepper@redhat.com>
4266
4267         * lib/posix/regex.h: Remove special handling for VMS.
4268
4269 2006-08-10  Jim Meyering  <jim@meyering.net>
4270
4271         * modules/same-inode: New module.
4272         * modules/dev-ino: New module.
4273         * modules/cycle-check: Depend on these modules, rather than simply
4274         including their .h files.
4275         (Makefile.am): Don't list cycle-check.[ch] here, now that they're
4276         required via m4/cycle-check.m4.
4277         * modules/same: Depend on new same-inode module, rather than
4278         including same-inode.h.
4279         * modules/chdir-safer: New file.
4280
4281         * modules/chown (Depends-on): Add stat-macros.
4282
4283 2006-08-10  Jim Meyering  <jim@meyering.net>
4284
4285         * m4/cycle-check.m4: New file.
4286         Require gl_STRUCT_DEV_INO and gl_SAME_INODE.
4287         * m4/dev-ino.m4, m4/same-inode.m4: New files.
4288
4289 2006-08-10  Eric Blake  <ebb9@byu.net>
4290
4291         * modules/verror (Depends-on): Remove bogus gl_VERROR that snuck
4292         in from original proposal.
4293
4294 2006-08-10  Eric Blake  <ebb9@byu.net>
4295         and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
4296
4297         * gnulib-tool (func_import): Detect unexpanded macros in gnulib
4298         namespace.
4299
4300 2006-08-10  Bruno Haible  <bruno@clisp.org>
4301
4302         * gnulib-tool (func_create_testdir): Detect unexpanded macros here
4303         as well.
4304
4305 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
4306
4307         Sync from coreutils.
4308
4309         2006-07-19  Mike Frysinger  <vapier@gentoo.org>
4310
4311         * lib/mountlist.c [ME_REMOTE]: Filter out cifs.
4312         Reported by Toralf Förster in <http://bugs.gentoo.org/141012>.
4313
4314 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
4315
4316         * modules/restrict: Remove; no longer needed now that we assume
4317         Autoconf 2.59 or later.
4318         * MODULES.html.sh: Remove 'restrict'.
4319         * modules/argp (Depends-on): Remove 'restrict'.
4320         * modules/base64 (Depends-on): Likewise.
4321         * modules/gc (Depends-on): Likewise.
4322         * modules/getaddrinfo (Depends-on): Likewise.
4323         * modules/glob (Depends-on): Likewise.
4324         * modules/inet_ntop (Depends-on): Likewise.
4325         * modules/inet_pton (Depends-on): Likewise.
4326         * modules/memxor (Depends-on): Likewise.
4327         * modules/regex (Depends-on): Likewise.
4328         * modules/strtok_r (Depends-on): Likewise.
4329         * modules/time_r (Depends-on): Likewise.
4330
4331 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
4332
4333         * m4/argp.m4 (gl_ARGP): Require AC_C_RESTRICT.
4334         * m4/gc.m4 (gl_PREREQ_GC): Likewise.
4335         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
4336         * m4/inet_ntop.m4 (gl_PREREQ_INET_NTOP): Likewise.
4337         * m4/inet_pton.m4 (gl_PREREQ_INET_PTON): Likewise.
4338         * m4/memxor.m4 (gl_MEMXOR): Likewise.
4339         * m4/restrict.m4: Remove; no longer needed.  All remaining uses of
4340         gl_C_RESTRICT replaced by AC_C_RESTRICT.
4341
4342         Merge from coreutils.
4343         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_C_RESTRICT, not
4344         gl_C_RESTRICT, now that we assume Autoconf 2.59 or later.
4345         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
4346         * m4/time_r.m4 (gl_TIME_R): Likewise.
4347
4348 2006-08-09  Karl Berry  <karl@gnu.org>
4349
4350         * config/srclist.txt: no more gettext-tools, per Bruno.
4351
4352 2006-08-08  Eric Blake  <ebb9@byu.net>
4353
4354         * modules/verror: New module.
4355         * MODULES.html.sh: Document it.
4356
4357 2006-08-08  Eric Blake  <ebb9@byu.net>
4358
4359         * lib/verror.h, lib/verror.c: New files.
4360
4361 2006-08-08  Eric Blake  <ebb9@byu.net>
4362
4363         * lib/verror.c (verror_at_line): Work around glibc bug 2997, so that
4364         verror_at_line output complies with GNU Coding Standards even when
4365         file is NULL.
4366
4367 2006-08-07  Bruno Haible  <bruno@clisp.org>
4368
4369         * lib/allocsa.h (sa_alignof) [_AIX]: Also consider 'long long' in newer
4370         versions of AIX.
4371         Reported by Ralf Wildenhues.
4372
4373 2006-08-07  Bruno Haible  <bruno@clisp.org>
4374
4375         * gnulib-tool (func_create_testdir): Wrap the set of autoconf snippets
4376         in an AC_DEFUN. Needed so that the autoconf snippets can use
4377         AC_REQUIRE.
4378
4379 2006-08-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
4380
4381         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
4382         Initialize pkgdata_DATA.
4383         * modules/javaversion (Makefile.am): Add to pkgdata_DATA, rather than
4384         overriding it.
4385
4386 2006-08-06  Eric Blake  <ebb9@byu.net>
4387
4388         * lib/error.h: Fold in some upstream changes from glibc.
4389         * lib/error.c: Likewise.
4390
4391 2006-08-04  Bruno Haible  <bruno@clisp.org>
4392
4393         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
4394         Make the mostlyclean-local rule depend on mostlyclean-generic.
4395         Reported by Jim Meyering. Solution suggested by Ralf Wildenhues.
4396
4397 2006-07-31  Bruno Haible  <bruno@clisp.org>
4398
4399         * m4/localcharset.m4 (gl_LOCALCHARSET): Remove tests for <stddef.h>,
4400         <stdlib.h>, <string.h>.
4401
4402 2006-07-30  Bruno Haible  <bruno@clisp.org>
4403
4404         * modules/readlink (License): Change to LGPL.
4405
4406 2006-07-30  Bruno Haible  <bruno@clisp.org>
4407
4408         * modules/javaversion (Makefile.am): Distribute javaversion.java and
4409         javaversion.class. Also install javaversion.class in $(pkgdatadir) and
4410         set PKGDATADIR to point to it.
4411
4412 2006-07-30  Bruno Haible  <bruno@clisp.org>
4413
4414         * modules/csharpexec (configure.ac): Comment out macro invocation.
4415         * modules/javaexec (configure.ac): Likewise.
4416         * modules/javacomp-script (configure.ac): Likewise.
4417
4418         * modules/csharpcomp-script (configure.ac): Use AC_REQUIRE.
4419
4420 2006-07-30  Bruno Haible  <bruno@clisp.org>
4421
4422         * modules/clean-temp (Depends-on): Add linkedhash-list, remove
4423         linked-list.
4424
4425 2006-07-30  Bruno Haible  <bruno@clisp.org>
4426
4427         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Assume <string.h> exists.
4428
4429 2006-07-30  Bruno Haible  <bruno@clisp.org>
4430
4431         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
4432         Initialize MOSTLYCLEANFILES to core and *.stackdump, so that core dumps
4433         get removed.
4434
4435 2006-07-29  Bruno Haible  <bruno@clisp.org>
4436
4437         Make it possible for gnulib-tool to work with locally modified or
4438         augmented gnulib repositories.
4439         * gnulib-tool (func_usage): Document --local-dir option.
4440         (local_gnulib_dir): New variable.
4441         Handle --local-dir option.
4442         (func_lookup_file): New function.
4443         (func_all_modules, func_verify_module): Look also in $local_gnulib_dir.
4444         (func_get_description, func_get_filelist, func_get_description,
4445         func_get_filelist, func_get_dependencies, func_get_autoconf_snippet,
4446         func_get_automake_snippet, func_get_include_directive,
4447         func_get_license, func_get_maintainer): Use func_lookup_file.
4448         (func_import, func_create_testdir): Use func_lookup_file.
4449
4450 2006-07-29  Bruno Haible  <bruno@clisp.org>
4451
4452         * modules/setenv (Depends-on): Add unistd.
4453
4454 2006-07-29  Bruno Haible  <bruno@clisp.org>
4455
4456         * lib/setenv.c: Undo unintended modification done on 2006-02-27.
4457
4458 2006-07-29  Bruno Haible  <bruno@clisp.org>
4459
4460         * lib/localcharset.c: Assume <stddef.h>, <stdlib.h>, <string.h> exist.
4461
4462 2006-07-29  Bruno Haible  <bruno@clisp.org>
4463
4464         * gnulib-tool (import, update): If there is no Makefile.am, look at
4465         aclocal.m4, instead of bailing out.
4466
4467 2006-07-29  Bruno Haible  <bruno@clisp.org>
4468
4469         * gnulib-tool (func_usage): Revert most of the 2006-07-15 change.
4470         Categorize the options by when they are useful.
4471
4472 2006-07-29  Bruno Haible  <bruno@clisp.org>
4473
4474         * gnulib-tool (func_usage): Document option --no-libtool.
4475         Handle option --no-libtool.
4476         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Update
4477         for changed semantics of $libtool variable.
4478         (func_import): Likewise. If libtool is not used, show this through
4479         an option --no-libtool.
4480         (func_create_testdir): Update.
4481
4482 2006-07-29  Bruno Haible  <bruno@clisp.org>
4483
4484         * gnulib-tool (func_import): Extend error message about missing
4485         --doc-base.
4486
4487 2006-07-29  Bruno Haible  <bruno@clisp.org>
4488
4489         * gnulib-tool (func_import): Don't create the $docbase directory if
4490         there is no file to store there.
4491
4492 2006-07-29  Bruno Haible  <bruno@clisp.org>
4493
4494         * gnulib-tool (autoconf_minversion): If a --dir option is given and
4495         relevant, look for configure.ac there, not in the current directory.
4496         Also use a simple search for AC_PREREQ, not "autoconf --trace".
4497
4498 2006-07-29  Bruno Haible  <bruno@clisp.org>
4499
4500         * gnulib-tool (SORT): New variable.
4501         (func_usage): Undocument --assume-autoconf option.
4502         Remove --assume-autoconf option handling.
4503         (autoconf_minversion): Determine from the contents of configure.ac.
4504         (func_import): Remove autoconf_minversion handling.
4505         Suggested by Eric Blake.
4506
4507 2006-07-29  Bruno Haible  <bruno@clisp.org>
4508
4509         * doc/gnulib-tool.texi (gl_LIBTOOL): Mention --no-libtool option.
4510
4511 2006-07-29  Bruno Haible  <bruno@clisp.org>
4512
4513         * config/srclist.txt (*setenv.[ch]): Remove rules.
4514
4515 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
4516
4517         * m4/inet_pton.m4, inet_ntop.m4: Check for netinet/in.h too.
4518
4519 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
4520
4521         * lib/inet_ntop.h, inet_pton.h: Need to include netinet/in.h before
4522         arpa/inet.h.
4523
4524 2006-07-28  Simon Josefsson  <jas@extundo.com>
4525
4526         * modules/inet_ntop (Depends-on): Depend on arpa_inet.
4527         * modules/inet_pton (Depends-on): Likewise.
4528
4529 2006-07-28  Simon Josefsson  <jas@extundo.com>
4530
4531         * m4/netinet_in_h.m4: New file.
4532
4533 2006-07-28  Simon Josefsson  <jas@extundo.com>
4534
4535         * lib/inet_ntop.h, inet_pton.h: No need to guard netinet/in.h
4536         #include's.
4537
4538 2006-07-28  Simon Josefsson  <jas@extundo.com>
4539
4540         * lib/inet_ntop.h, inet_pton.h: No need to guard arpa/inet.h
4541         #include's.
4542
4543 2006-07-28  Paul Eggert  <eggert@cs.ucla.edu>
4544
4545         * lib/modechange.c (mode_compile): Numeric modes now affect setuid and
4546         setgid on directories only if they set these bits.
4547         * lib/modechange.h: Remove obsolete comment about masks.
4548
4549 2006-07-28  Eric Blake  <ebb9@byu.net>
4550
4551         * lib/regex_internal.h (struct re_dfa_t) [!_LIBC]: Avoid invalid C89
4552         macro expansion.
4553
4554 2006-07-28  Bruno Haible  <bruno@clisp.org>
4555
4556         * lib/inet_ntop.h, inet_pton.h: Use #if HAVE* instead of #ifdef HAVE*.
4557
4558 2006-07-28  Bruno Haible  <bruno@clisp.org>
4559
4560         * m4/mbchar.m4 (gl_MBCHAR): Also test for iswcntrl.
4561
4562 2006-07-28  Bruno Haible  <bruno@clisp.org>
4563
4564         * lib/mbchar.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
4565         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit):
4566         Define fallbacks.
4567         Avoids link error on FreeBSD 4.x.
4568         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
4569
4570         * lib/wcwidth.h (iswprint): Assume an ASCII compatible wide character
4571         encoding.
4572         * lib/mbswidth.c (iswcntrl): Likewise.
4573
4574 2006-07-27  Bruno Haible  <bruno@clisp.org>
4575
4576         * m4/stdint.m4 (gl_STDINT_H): Define __STDC_CONSTANT_MACROS during the
4577         test.
4578
4579 2006-07-27  Bruno Haible  <bruno@clisp.org>
4580
4581         * lib/stdint_.h (INT*_C, UINT*_C) [C++]: Define these if
4582         __STDC_CONSTANT_MACROS is defined, not if __STDC_LIMIT_MACROS is
4583         defined.
4584
4585 2006-07-26  Eric Blake  <ebb9@byu.net>
4586
4587         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Check for missing pipe.
4588
4589 2006-07-26  Eric Blake  <ebb9@byu.net>
4590
4591         * lib/mkstemp-safer.c [! HAVE_MKSTEMP]: Add prototype for platforms
4592         like mingw that lack mkstemp.
4593         * lib/pipe-safer.c (pipe_safer) [!HAVE_FUNC_PIPE]: Provide fallback to
4594         avoid compilation warning on mingw.
4595
4596 2006-07-26  Bruno Haible  <bruno@clisp.org>
4597
4598         * m4/stdint.m4 (gl_STDINT_H): Also verify the existence of the macros
4599         INT*_MIN, INT_LEAST*_MAX, INT_LEAST*_MIN, UINT_LEAST*_MAX,
4600         INT_FAST*_MIN, INTPTR_MIN.
4601
4602 2006-07-25  Bruno Haible  <bruno@clisp.org>
4603
4604         * modules/version-etc (Depends-on): Add stdarg.
4605
4606 2006-07-25  Bruno Haible  <bruno@clisp.org>
4607
4608         * m4/stdint.m4 (gl_INTEGER_TYPE_SUFFIX): Avoid 'eval' in front of
4609         complex commands.
4610
4611 2006-07-25  Bruno Haible  <bruno@clisp.org>
4612
4613         * lib/version-etc.c (version_etc_va): Use va_copy, assumed to be
4614         defined in <stdarg.h> or config.h.
4615
4616 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
4617
4618         * m4/stdio-safer.m4 (gl_FOPEN_SAFER, gl_TMPFILE_SAFER): New macros.
4619         (gl_STDIO_SAFER): Remove.
4620
4621 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
4622
4623         * MODULES.html.sh (File stream based Input/Output):
4624         Add fopen-safer, tmpfile-safer; remove stdio-safer.
4625         * modules/getusershell (Depends-on): Change stdio-safer to fopen-safer.
4626         * modules/fopen-safer, modules/tmpfile-safer: New files.
4627         * modules/stdio-safer: Remove.
4628
4629 2006-07-24  Bruno Haible  <bruno@clisp.org>
4630
4631         * modules/tmpdir: New file.
4632         * MODULES.html.sh (File system functions): Add it.
4633
4634 2006-07-24  Bruno Haible  <bruno@clisp.org>
4635
4636         * modules/javacomp (Depends-on): Add unistd, javaversion, binary-io,
4637         getline, pathname, fwriteerror, clean-temp, xvasprintf, strstr.
4638
4639 2006-07-24  Bruno Haible  <bruno@clisp.org>
4640
4641         * modules/clean-temp: New file.
4642
4643 2006-07-24  Bruno Haible  <bruno@clisp.org>
4644
4645         * m4/tmpdir.m4: New file, from GNU gettext.
4646
4647 2006-07-24  Bruno Haible  <bruno@clisp.org>
4648
4649         * lib/tmpdir.h: New file, from GNU gettext.
4650         * lib/tmpdir.c: New file, from GNU gettext.
4651
4652 2006-07-24  Bruno Haible  <bruno@clisp.org>
4653
4654         * lib/clean-temp.h: New file, from GNU gettext.
4655         * lib/clean-temp.c: New file, from GNU gettext.
4656
4657 2006-07-23  Eric Blake  <ebb9@byu.net>
4658
4659         * modules/stdio-safer (Files): Add tmpfile-safer.c.
4660         (Depends-on): Add binary-io.
4661
4662 2006-07-23  Eric Blake  <ebb9@byu.net>
4663
4664         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add tmpfile-safer.c.
4665
4666 2006-07-23  Eric Blake  <ebb9@byu.net>
4667
4668         * lib/tmpfile-safer.c: New file.
4669         * lib/stdio-safer.h (fopen_safer): Add prototype.
4670         * lib/stdio--.h (tmpfile): Make safer.
4671
4672 2006-07-23  Bruno Haible  <bruno@clisp.org>
4673
4674         * lib/gl_anylinked_list2.h (ASYNCSAFE): New macro.
4675         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before,
4676         gl_linked_add_after, gl_linked_add_at, gl_linked_remove_node,
4677         gl_linked_remove_at): Use it.
4678
4679 2006-07-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
4680         and Simon Josefsson <jas@extundo.com>
4681
4682         * lib/getaddrinfo.h (AI_PASSIVE): Make sure it is defined.
4683
4684         * lib/getaddrinfo.c (getaddrinfo): Support AI_PASSIVE.
4685
4686 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
4687
4688         * modules/close-stream: New file.
4689         * modules/closeout (Description): Make it clear that it exits
4690         with a diagnostic on error.
4691         (Depends-on): Add close-stream.  Remove fpending, stdbool.
4692         * MODULES.html.sh (File stream based Input/Output): Add close-stream.
4693
4694 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
4695
4696         * m4/close-stream.m4: New file.
4697
4698 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
4699
4700         * lib/close-stream.c, lib/close-stream.h: New files.
4701
4702 2006-07-22  Bruno Haible  <bruno@clisp.org>
4703
4704         Merge from GNU gettext 0.15.
4705
4706         2006-05-01  Bruno Haible  <bruno@clisp.org>
4707
4708                 * build-aux/javacomp.sh.in: Update for changed javacomp.m4.
4709
4710         2006-07-22  Bruno Haible  <bruno@clisp.org>
4711
4712                 * modules/javaversion: New file.
4713                 * MODULES.html.sh (Java): Add javaversion.
4714
4715         2006-03-12  Bruno Haible  <bruno@clisp.org>
4716
4717                 * build-aux/javaexec.sh.in: Update for changed javaexec.m4.
4718
4719         2005-12-04  Bruno Haible  <bruno@clisp.org>
4720
4721                 * build-aux/csharpexec.sh.in: Add support for 'clix' launcher
4722                 (untested).
4723
4724         2006-06-21  Bruno Haible  <bruno@clisp.org>
4725
4726                 Avoid warnings from recent versions of mcs.
4727                 * build-aux/csharpcomp.sh.in (options_mcs): Don't use options
4728                 -o, -L, -r any more. Use options documented since mcs-1.0
4729                 instead. Similarly for -g.
4730
4731         2005-12-04  Bruno Haible  <bruno@clisp.org>
4732
4733                 * build-aux/csharpcomp.sh.in: Suffix for resources is
4734                 .resources, not .resource.
4735
4736         2005-07-09  Bruno Haible  <bruno@clisp.org>
4737
4738                 * build-aux/csharpcomp.sh.in (options_csc): For -l option,
4739                 add a .dll suffix.
4740                 Reported by Mark Junker <mjscod@gmx.de>.
4741
4742         2006-07-22  Bruno Haible  <bruno@clisp.org>
4743
4744                 * modules/gettext: Upgrade to gettext-0.15.
4745                 (Files): Remove m4/isc-posix.m4. Add m4/lock.m4,
4746                 m4/visibility.m4.
4747                 Replace m4/inttypes.m4 with m4/inttypes-h.m4.
4748
4749 2006-07-22  Bruno Haible  <bruno@clisp.org>
4750
4751         Merge from GNU gettext 0.15.
4752
4753         2006-03-25  Bruno Haible  <bruno@clisp.org>
4754
4755                 * lib-link.m4 (AC_LIB_LINKFLAGS_FROM_LIBS): New macro.
4756
4757         2006-07-21  Bruno Haible  <bruno@clisp.org>
4758
4759                 * javacomp.m4 (gt_JAVACOMP): Convert target_version "null" to
4760                 "1.1".
4761
4762         2006-05-09  Bruno Haible  <bruno@clisp.org>
4763
4764                 * javacomp.m4 (gt_JAVACOMP): On Cygwin, set
4765                 CLASSPATH_SEPARATOR to a semicolon. Use CLASSPATH_SEPARATOR
4766                 for the conftestver execution.
4767
4768         2006-05-01  Bruno Haible  <bruno@clisp.org>
4769
4770                 * javacomp.m4 (gt_JAVACOMP): Accept a source-version and an
4771                 optional target-version argument. Verify that the compiler
4772                 groks source of the specified source-version, or add -source
4773                 option as necessary. Verify that the compiler produces
4774                 bytecode in the specified target-version, or add -target and
4775                 -source options as necessary. Make the result of the test
4776                 available as variable CONF_JAVAC. Also log error output in
4777                 config.log.
4778
4779         2006-03-11  Bruno Haible  <bruno@clisp.org>
4780
4781                 * javacomp.m4 (gt_JAVACOMP): Treat gcj-4.x like gcj-3.x.
4782
4783         2006-05-09  Bruno Haible  <bruno@clisp.org>
4784
4785                 * javaexec.m4 (gt_JAVAEXEC): On Cygwin, set
4786                 CLASSPATH_SEPARATOR to a semicolon.
4787
4788         2006-03-12  Bruno Haible  <bruno@clisp.org>
4789
4790                 * javaexec.m4 (gt_JAVAEXEC): Make the result of the test
4791                 available as variable CONF_JAVA, for subsequent autoconf
4792                 tests. Also log error output in config.log.
4793
4794         2006-07-19  Bruno Haible  <bruno@clisp.org>
4795
4796                 * getline.m4 (AM_FUNC_GETLINE): When cross-compiling, assume
4797                 that getline works on glibc2 systems. Needed to avoid trouble
4798                 in relocatable.c.
4799                 Reported by Nils Magnus Larsgard <nmlarsgaard@atmel.no>.
4800
4801         2005-12-04  Bruno Haible  <bruno@clisp.org>
4802
4803                 * csharpexec.m4 (gt_CSHARPEXEC): Add support for 'clix'
4804                 launcher (untested).
4805
4806         2005-12-04  Bruno Haible  <bruno@clisp.org>
4807
4808                 * csharpcomp.m4 (gt_CSHARPCOMP): Also set CSHARPCOMPFLAGS.
4809
4810         2006-07-22  Bruno Haible  <bruno@clisp.org>
4811
4812                 * gettext.m4: Update from GNU gettext-0.15.
4813                 * nls.m4: Likewise.
4814                 * po.m4: Likewise.
4815                 * inttypes-pri.m4: Likewise.
4816                 * inttypes-h.m4: Renamed from inttypes.m4.
4817                 (gl_HEADER_INTTYPES_H): Renamed from gt_HEADER_INTTYPES_H.
4818
4819 2006-07-22  Bruno Haible  <bruno@clisp.org>
4820
4821         Merge from GNU gettext 0.15.
4822
4823         2005-07-05  Bruno Haible  <bruno@clisp.org>
4824
4825                 * printf-args.c (printf_fetchargs): Work around broken
4826                 definition of wint_t on mingw.
4827
4828         2005-02-12  Bruno Haible  <bruno@clisp.org>
4829
4830                 * xallocsa.h: Add extern "C" for C++.
4831
4832         2006-05-17  Bruno Haible  <bruno@clisp.org>
4833
4834                 Cygwin portability.
4835                 * progreloc.c (WIN32_NATIVE): Renamed from WIN32.
4836
4837         2006-04-30  Bruno Haible  <bruno@clisp.org>
4838
4839                 * progreloc.c: Include <mach-o/dyld.h> if available.
4840                 (find_executable): Use _NSGetExecutablePath when possible.
4841
4842         2006-05-06  Charles Wilson  <cygwin@cwilson.fastmail.fm>
4843
4844                 * progreloc.c (maybe_executable) [CYGWIN]: Use the access()
4845                 function.
4846
4847         2005-12-29  Bruno Haible  <bruno@clisp.org>
4848
4849                 * progreloc.c (set_program_name_and_installdir): Fix
4850                 compilation error.
4851
4852         2005-12-04  Bruno Haible  <bruno@clisp.org>
4853
4854                 Cygwin portability.
4855                 * progreloc.c: Include <windows.h> also on Cygwin.
4856                 (find_executable): Add support for Cygwin.
4857                 (set_program_name_and_installdir): Handle also platforms with
4858                 nonempty EXEEXT.
4859
4860         2006-07-11  Bruno Haible  <bruno@clisp.org>
4861
4862                 * javacomp.c: Fix a comment.
4863                 Reported by Jim Meyering.
4864
4865         2006-04-30  Bruno Haible  <bruno@clisp.org>
4866
4867                 * javacomp.h (compile_java_class): Add source_version,
4868                 target_version arguments.
4869                 * javacomp.c: Rewritten to choose only a compiler that
4870                 respects the specified source_version and target_version.
4871
4872         2006-06-27  Bruno Haible  <bruno@clisp.org>
4873
4874                 Assume correct S_ISDIR macro.
4875                 * mkdtemp.c: Remove test of STAT_MACROS_BROKEN.
4876
4877         2006-07-22  Bruno Haible  <bruno@clisp.org>
4878
4879                 * javaversion.h: New file, from GNU gettext.
4880                 * javaversion.c: New file, from GNU gettext.
4881                 * javaversion.java: New file, from GNU gettext.
4882                 * javaversion.class: New file, from GNU gettext.
4883
4884         2006-05-17  Bruno Haible  <bruno@clisp.org>
4885
4886                 Cygwin portability.
4887                 * javaexec.c (execute_java_class): Test for jview program
4888                 also on Cygwin.
4889
4890         2006-04-09  Bruno Haible  <bruno@clisp.org>
4891
4892                 * fatal-signal.c: Don't include string.h.
4893                 (at_fatal_signal): Use a copying loop instead of memcpy.
4894
4895         2005-12-04  Bruno Haible  <bruno@clisp.org>
4896
4897                 * csharpexec.c: Add support for 'clix' launcher (untested).
4898                 (execute_csharp_using_sscli): New function.
4899                 (execute_csharp_program): Call it.
4900
4901         2006-06-21  Bruno Haible  <bruno@clisp.org>
4902
4903                 Avoid warnings from recent versions of mcs.
4904                 * csharpcomp.c (compile_csharp_using_mono): Don't use options
4905                 -o, -L, -r any more. Use options documented since mcs-1.0
4906                 instead. Similarly for -g.
4907
4908         2005-07-09  Bruno Haible  <bruno@clisp.org>
4909
4910                 * csharpcomp.c (compile_csharp_using_sscli): For -l option,
4911                 add a .dll suffix.
4912                 Reported by Mark Junker <mjscod@gmx.de>.
4913
4914         2006-06-17  Bruno Haible  <bruno@clisp.org>
4915
4916                 * config.charset: Update for NetBSD 3.0.
4917
4918         2006-05-17  Bruno Haible  <bruno@clisp.org>
4919
4920                 Cygwin portability.
4921                 * localcharset.c (WIN32_NATIVE): Renamed from WIN32.
4922
4923         2006-05-16  Bruno Haible  <bruno@clisp.org>
4924
4925                 * localcharset.c [CYGWIN]: Include <windows.h>.
4926                 (get_charset_aliases): For Cygwin, return the same CPxxx
4927                 aliases list as under WIN32.
4928                 (locale_charset) [CYGWIN]: Try to retrieve the encoding from
4929                 the environment variables. Fall back to GetACP().
4930
4931         2006-04-05  Bruno Haible  <bruno@clisp.org>
4932
4933                 * config.charset: Update Juan Manuel Guerrero's address.
4934
4935         2005-02-12  Bruno Haible  <bruno@clisp.org>
4936
4937                 * allocsa.h: Add extern "C" for C++.
4938
4939         2005-02-10  Bruno Haible  <bruno@clisp.org>
4940
4941                 * allocsa.h (sa_alignof): Define differently with AIX xlc, to
4942                 avoid a bug of this compiler on AIX 3.2.5 dealing with enums.
4943
4944         2006-07-22  Bruno Haible  <bruno@clisp.org>
4945
4946                 * gettext.h: Update to GNU gettext-0.15.
4947
4948 2006-07-22  Bruno Haible  <bruno@clisp.org>
4949
4950         * config/srclist.txt: Resync printf-args.c, vasnprintf.c,
4951         localcharset.c, mkdtemp.c, config.rpath, lib-ld.m4, lib-link.m4,
4952         lib-prefix.m4, longdouble.m4, ssize_t.m4.
4953
4954 2006-07-21  Eric Blake  <ebb9@byu.net>
4955
4956         * modules/stdlib-safer: New file.
4957         * MODULES.html.sh (File stream based Input/Output): Add
4958         stdlib-safer.
4959
4960 2006-07-21  Eric Blake  <ebb9@byu.net>
4961
4962         * lib/stdlib-safer.h: New file from coreutils, required by
4963         stdlib--.h.
4964
4965 2006-07-20  Paul Eggert  <eggert@cs.ucla.edu>
4966
4967         * gnulib-tool (func_usage): Document --assume-autoconf='latest-stable'.
4968
4969 2006-07-20  Bruno Haible  <bruno@clisp.org>
4970
4971         * gnulib-tool: Recognize new option --assume-autoconf.
4972         (autoconf_minversion): New variable.
4973         (func_get_filelist): Use it to decide whether to add onceonly_2_57.m4.
4974
4975 2006-07-20  Bruno Haible  <bruno@clisp.org>
4976
4977         * MODULES.html.sh (func_all_modules): Add a missing func_begin_table.
4978
4979 2006-07-19  Derek R. Price  <derek@ximbiot.com>
4980
4981         * lib/getaddrinfo.h: Don't define unimplemented AI_* flags.
4982         Reindent and repaginate.
4983
4984 2006-07-19  Derek Price  <derek@ximbiot.com>
4985
4986         * doc/gnulib.texi (Libtool and Windows):  Eliminate passive voice.
4987         Correct grammar.
4988
4989 2006-07-17  Bruno Haible  <bruno@clisp.org>
4990
4991         * modules/list: New file.
4992         * modules/array-list: New file.
4993         * modules/carray-list, modules/carray-list-tests: New files.
4994         * modules/linked-list, modules/linked-list-tests: New files.
4995         * modules/avltree-list, modules/avltree-list-tests: New files.
4996         * modules/rbtree-list, modules/rbtree-list-tests: New files.
4997         * modules/linkedhash-list, modules/linkedhash-list-tests: New files.
4998         * modules/avltreehash-list, modules/avltreehash-list-tests: New files.
4999         * modules/rbtreehash-list, modules/rbtreehash-list-tests: New files.
5000         * modules/oset: New file.
5001         * modules/array-oset: New file.
5002         * modules/avltree-oset, modules/avltree-oset-tests: New files.
5003         * modules/rbtree-oset, modules/rbtree-oset-tests: New files.
5004         * tests/test-carray_list.c: New file.
5005         * tests/test-linked_list.c: New file.
5006         * tests/test-avltree_list.c: New file.
5007         * tests/test-rbtree_list.c: New file.
5008         * tests/test-linkedhash_list.c: New file.
5009         * tests/test-avltreehash_list.c: New file.
5010         * tests/test-rbtreehash_list.c: New file.
5011         * tests/test-avltree_oset.c: New file.
5012         * tests/test-rbtree_oset.c: New file.
5013         * MODULES.html.sh (Container data structures): New section.
5014
5015 2006-07-17  Bruno Haible  <bruno@clisp.org>
5016
5017         * m4/gl_list.m4: New file.
5018
5019 2006-07-17  Bruno Haible  <bruno@clisp.org>
5020
5021         * lib/gl_list.h: New file.
5022         * lib/gl_list.c: New file.
5023         * lib/gl_array_list.h: New file.
5024         * lib/gl_array_list.c: New file.
5025         * lib/gl_carray_list.h: New file.
5026         * lib/gl_carray_list.c: New file.
5027         * lib/gl_linked_list.h: New file.
5028         * lib/gl_linked_list.c: New file.
5029         * lib/gl_anylinked_list1.h: New file.
5030         * lib/gl_anylinked_list2.h: New file.
5031         * lib/gl_avltree_list.h: New file.
5032         * lib/gl_avltree_list.c: New file.
5033         * lib/gl_anyavltree_list1.h: New file.
5034         * lib/gl_anyavltree_list2.h: New file.
5035         * lib/gl_rbtree_list.h: New file.
5036         * lib/gl_rbtree_list.c: New file.
5037         * lib/gl_anyrbtree_list1.h: New file.
5038         * lib/gl_anyrbtree_list2.h: New file.
5039         * lib/gl_anytree_list1.h: New file.
5040         * lib/gl_anytree_list2.h: New file.
5041         * lib/gl_linkedhash_list.h: New file.
5042         * lib/gl_linkedhash_list.c: New file.
5043         * lib/gl_anyhash_list1.h: New file.
5044         * lib/gl_anyhash_list2.h: New file.
5045         * lib/gl_avltreehash_list.h: New file.
5046         * lib/gl_avltreehash_list.c: New file.
5047         * lib/gl_rbtreehash_list.h: New file.
5048         * lib/gl_rbtreehash_list.c: New file.
5049         * lib/gl_anytreehash_list1.h: New file.
5050         * lib/gl_anytreehash_list2.h: New file.
5051
5052         * lib/gl_oset.h: New file.
5053         * lib/gl_oset.c: New file.
5054         * lib/gl_array_oset.h: New file.
5055         * lib/gl_array_oset.c: New file.
5056         * lib/gl_avltree_oset.h: New file.
5057         * lib/gl_avltree_oset.c: New file.
5058         * lib/gl_rbtree_oset.h: New file.
5059         * lib/gl_rbtree_oset.c: New file.
5060         * lib/gl_anytree_oset.h: New file.
5061
5062 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
5063
5064         * m4/mkancesdirs.m4: New file.
5065         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Mention dirchownmod.c,
5066         dirchownmod.h.  Don't require AC_FUNC_ALLOCA, gl_AFS, gl_CHDIR_SAFER;
5067         no longer needed.  Require gl_FUNC_LCHOWN, since dirchownmod.c needs
5068         it.
5069
5070 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
5071
5072         * lib/dirchownmod.c, lib/dirchownmod.h, lib/mkancesdirs.c:
5073         * lib/mkancesdirs.h: New files.
5074         * lib/mkdir-p.c: Don't include alloca.h, stdio.h, sys/types.h,
5075         unistd.h, string.h, chdir-safer.h, dirname.h, lchmod.h, lchown.h,
5076         save-cwd.h.  Instead, include dirchownmod.h and mkancesdirs.h.
5077         (make_dir_parents): New args MAKE_ANCESTOR, OPTIONS, ANNOUNCE,
5078         MODE_BITS.  Remove options VERBOSE_FMT_STRING, CWD_ERRNO.  All
5079         callers changed.  Revamp internals significantly, by not
5080         attempting to create directories that are temporarily more
5081         permissive than the final results.  Do not attempt to use
5082         save_cwd/restore_cwd; it isn't worth it for mkdir and install.
5083         This removes some race conditions, fixes some bugs, and simplifies
5084         things.  Use new dirchownmod function to do owner and mode changes.
5085         * lib/mkdir-p.h: Likewise.
5086         * lib/modechange.c (octal_to_mode): New function.
5087         (struct mode_change): New member mentioned.
5088         (make_node_op_equals): New arg mentioned.  All callers changed.
5089         (mode_compile): Keep track of which mode bits the user has explicitly
5090         mentioned.
5091         (mode_adjust): New arg DIR, so that we implement the X op correctly.
5092         New arg PMODE_BITS, to keep track of which mode bits the user
5093         mentioned; it treats S_ISUID and S_ISGID speciall.
5094         All callers changed.
5095         * lib/modechange.h: Likewise.
5096
5097 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
5098
5099         * MODULES.html.sh: Add mkancestors.
5100         * modules/mkancesdirs: New module.
5101         * modules/mkdir-p (Files): Remove lib/chdir-safer.c, lib/chdir-safer.h,
5102         lib/same-inode.h, m4/afs.m4, m4/chdir-safer.m4.
5103         The chdir-safer and afs files are now orphans; I'll remove them
5104         unless someone speaks up.
5105         Add lib/dirchownmod.c, lib/dirchownmod.h.
5106         (Depends-on): Remove alloca, chown, save-cwd, dirname.
5107         Add lchown, mkancesdirs.
5108         (Maintainer): Add self.
5109
5110 2006-07-15  Karl Berry  <karl@gnu.org>
5111
5112         * gnulib-tool: help message wording/arrangement.
5113
5114 2006-07-14  Simon Josefsson  <jas@extundo.com>
5115
5116         * doc/gnulib.texi (Libtool and Windows): New section.
5117
5118 2006-07-12  Simon Josefsson  <jas@extundo.com>
5119
5120         * modules/gendocs (License): Fix license, approved by Karl.
5121
5122 2006-07-12  Eric Blake  <ebb9@byu.net>
5123
5124         * MODULES.html.sh: Add gendocs.
5125
5126 2006-07-11  Eric Blake  <ebb9@byu.net>
5127
5128         * modules/fdl: New module, to install doc/fdl.texi.
5129         * MODULES.html.sh: Add new section for documentation modules.
5130         * gnulib-tool: Avoid space-tab.
5131         (--doc-base): New option, to manage files from doc.
5132
5133 2006-07-11  Eric Blake  <ebb9@byu.net>
5134
5135         * m4/absolute-header.m4: Fix comments to match recent change.
5136
5137 2006-07-11  Eric Blake  <ebb9@byu.net>
5138
5139         * gnulib-tool: List --doc-base before --tests-base.
5140
5141 2006-07-11  Derek R. Price  <derek@ximbiot.com>
5142
5143         * lib/glob.c: s/NAMLEN/_D_EXACT_NAMLEN/.
5144
5145 2006-07-11  Bruno Haible  <bruno@clisp.org>
5146
5147         * README: Mention where to put documentation.
5148
5149 2006-07-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
5150
5151         * doc/functions.texi, gnulib-tool.texi, gnulib.texi: Fix some typos.
5152
5153 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
5154
5155         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Like today's change
5156         to stdint.m4.
5157
5158 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
5159
5160         * m4/stdint.m4 (gl_STDINT_H): Like yesterday's change to
5161         absolute-header.m4.  Also, set ABSOLUTE_STDINT_H to a string
5162         "no/such/file/stdint.h" when there is no such file, so that
5163         the resulting C code can be parsed by dodgy compilers.
5164         Problems reported by Bob Proulx.
5165
5166 2006-07-10  Derek R. Price  <derek@ximbiot.com>
5167
5168         * lib/backupfile.c, dirfd.h, fts.c, getcwd.c, glob.c, glob_.h:
5169         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
5170         macros into the GNU _D_EXACT_NAMLEN.
5171         * lib/savedir.c:  Likewise.
5172         (savedirstream): Use _D_EXACT_NAMLEN in preference to strlen.
5173
5174 2006-07-10  Derek R. Price  <derek@ximbiot.com>
5175         and Paul Eggert  <eggert@cs.ucla.edu>
5176
5177         * m4/backupfile.m4, d-ino.m4, d-type.m4, dirfd.m4, fts.m4, getcwd.m4:
5178         * m4/savedir.m4:
5179         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
5180         macros into the GNU _D_EXACT_NAMLEN.
5181
5182 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
5183
5184         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Use "" rather than <>
5185         around the absolute name, to work around a problem with the HP-UX
5186         11.23 native C compiler, reported by Bob Proulx.
5187
5188 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
5189
5190         * doc/maintain.texi, make-stds.texi: Sync from
5191         <http://savannah.gnu.org/projects/gnustandards>.
5192
5193 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
5194
5195         * build-aux/depcomp, build-aux/install-sh: Sync from Automake.
5196
5197 2006-07-09  Jim Meyering  <jim@meyering.net>
5198
5199         * m4/glob.m4: Remove a doubled word in a comment.
5200
5201 2006-07-09  Jim Meyering  <jim@meyering.net>
5202
5203         * lib/argp-pv.c: Remove a doubled word in a comment.
5204         * lib/check-version.c (check_version): Likewise.
5205         * lib/javacomp.c (compile_java_class): Likewise.
5206
5207 2006-07-08  Paul Eggert  <eggert@cs.ucla.edu>
5208
5209         * gnulib-tool (func_get_filelist): Don't echo m4/onceonly_2_57.m4,
5210         for the benefit of people using Autoconf 2.60.  If you want to
5211         support older Autoconf versions you can copy m4/onceonly_2_57.m4
5212         (or m4/onceonly.m4, if pre-2.57) manually.
5213
5214 2006-07-08  Jim Meyering  <jim@meyering.net>
5215
5216         * m4/link-follow.m4: Remove one of two adjacent "whether"s in a
5217         comment.
5218         * m4/getopt.m4: Remove one of two adjacent "your"s in a comment.
5219         * m4/regex.m4 (gl_REGEX): Remove one of two adjacent "the"s in a
5220         comment.
5221
5222 2006-07-08  Jim Meyering  <jim@meyering.net>
5223
5224         * lib/getndelim2.h (getndelim2): Remove doubled "after" in comment.
5225
5226 2006-07-07  Simon Josefsson  <jas@extundo.com>
5227
5228         * tests/test-crc.c: Change expected crc value, the test vector
5229         were probably computed using the old broken crc.c?
5230
5231 2006-07-06  Simon Josefsson  <jas@extundo.com>
5232
5233         * modules/sys_socket (Files): Add m4/sockpfaf.m4 (this module is
5234         now the canonical place for the M4 file).
5235
5236         * modules/getaddrinfo (Files): Remove m4/sockpfaf.m4, we get it
5237         from the sys_socket dependency now.
5238
5239         * modules/inet_pton (Files): Ditto.
5240
5241         * modules/inet_ntop (Files): Ditto.
5242
5243 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
5244
5245         * modules/getusershell (configure.ac): Use gl_FUNC_GETUSERSHELL,
5246         not gl_PREREQ_GETUSERSHELL.
5247
5248 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
5249
5250         * m4/_inttypes_h.m4 (gl_INTTYPES_H): Use AC_CHECK_DECLS_ONCE
5251         with only one argument, for Autoconf 2.60.
5252         * m4/fileblocks.m4 (gl_PREREQ_FILEBLOCKS): AC_CHECK_DECLS_ONCE may
5253         expand to nothing, so add a shell command to avoid syntax error.
5254         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
5255
5256 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
5257
5258         * lib/strtod.c (strtod): cast the argument of tolower to unsigned char.
5259
5260 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
5261
5262         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't check for getenv decl;
5263         no longer needed.  Check for isblank decl.
5264         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Don't check for getenv decl.
5265         * m4/regex.m4 (gl_PREREQ_REGEX): Dheck for isblank decl instead
5266         of existence.
5267
5268 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
5269
5270         * lib/getloadavg.c: Use __VMS, not VMS.
5271         * lib/getopt.c: Likewise.
5272         * lib/getpagesize.h: Likewise.
5273         * lib/glob.c: Remove most VMS cruft; it hasn't been tested for a while
5274         and probably does not work.
5275
5276 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
5277
5278         * lib/.cppi-disable: Add wcwidth.
5279         * lib/fnmatch.c (ISBLANK): Remove.  All uses changed to isblank.
5280         (isblank) [! (defined isblank || HAVE_DECL_ISBLANK)]: New macro.
5281         (ISGRAPH): Remove.  All uses changed to isgraph.
5282         (FOLD) [!defined _LIBC]: Remove special case.
5283         * lib/getdate.y (lookup_word): Remove no-longer-needed call to islower.
5284         * lib/regex_internal.h (isblank): Depend on HAVE_DECL_ISBLANK, not
5285         HAVE_ISBLANK.
5286         * lib/strftime.c (TOLOWER, TOUPPER) [!defined _LIBC]: Remove special
5287         case.
5288
5289 2006-07-06  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
5290
5291         * lib/getaddrinfo.c: Changes to compile under MSVC6: changed
5292         '#if WIN32_NATIVE' to '#ifdef' & moved WSAAPI macro inside
5293         brackets.  Other minor changes to suppress some compiler
5294         warnings.
5295
5296 2006-07-06  Derek R. Price  <derek@ximbiot.com>
5297         and Paul Eggert  <eggert@cs.ucla.edu>
5298
5299         * m4/backupfile.m4 (gl_BACKUPFILE): Check for dirent.h, instead
5300         of invoking obsolescent AC_HEADER_DIRENT macro.
5301         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
5302         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Likewise.
5303         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
5304         * m4/fts.m4 (gl_FUNC_FTS_CORE): Likewise.
5305         * m4/getcwd.m4 (gl_PREREQ_GETCWD): Likewise.
5306         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
5307         * m4/savedir.m4 (gl_SAVEDIR): Likewise.
5308         * m4/readdir.m4: Remove; no longer needed.
5309
5310 2006-07-06  Derek R. Price  <derek@ximbiot.com>
5311         and Paul Eggert  <eggert@cs.ucla.edu>
5312
5313         * lib/backupfile.c [HAVE_DIRENT_H && ! HAVE_NDIR_H]:
5314         Don't worry about this obsolete case any more.
5315         (HAVE_DIR): Remove.  All uses removed; we now assume you can read
5316         directories.
5317         * lib/dirfd.h [HAVE_DIRENT_H && ! HAVE_NDIR_H]: Don't
5318         worry about this obsolete case any more.
5319         * lib/fts.c: Likewise.
5320         * lib/getcwd.c: Likewise.
5321         * lib/glob.h: Likewise.
5322         * lib/savedir.c: Likewise.
5323
5324 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
5325
5326         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Use AC_CHECK_DECLS_ONCE
5327         rather than AC_CHECK_DECLS for strtoimax and strtoumax.
5328         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Remove; no longer
5329         needed.
5330         All uses removed.
5331         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
5332         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
5333         * m4/exclude.m4 (gl_EXCLUDE): Don't check for isascii; no longer
5334         needed.
5335         * m4/getdate.m4 (gl_GETDATE): Likewise.
5336         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
5337         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
5338         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
5339         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
5340         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
5341         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
5342         * m4/exclude.m4 (gl_EXCLUDE): Don't require AC_C_INLINE; no longer
5343         needed.
5344
5345 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
5346
5347         * lib/memcasecmp.c: Include <limits.h>.
5348         (memcasecmp): Don't assume UCHAR_MAX <= INT_MAX.
5349         * lib/strtod.c (strtod): Don't assume isspace works on negative chars.
5350         Don't assume isdigit succeeds only on '0' through '9'.
5351
5352 2006-07-05  Eric Blake  <ebb9@byu.net>
5353
5354         * modules/getaddrinfo (Depends-on): Add snprintf.
5355
5356 2006-07-05  Eric Blake  <ebb9@byu.net>
5357
5358         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Use gl_HEADER_SYS_SOCKET
5359         to avoid 'header present but could not be compiled' on cygwin.
5360
5361 2006-07-05  Eric Blake  <ebb9@byu.net>
5362
5363         * lib/getaddrinfo.h (NI_NUMERICHOST, NI_NUMERICSERV): Define if
5364         missing from netdb.h.
5365         * lib/getaddrinfo.c (includes): Include inet_ntop and snprintf.
5366
5367 2006-07-05  Derek R. Price  <derek@ximbiot.com>
5368
5369         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Don't require AC_HEADER_STDC;
5370         no longer needed.
5371         * m4/exclude.m4 (gl_EXCLUDE): Likewise.
5372         * m4/getdate.m4 (gl_GETDATE): Likewise.
5373         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
5374         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
5375         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
5376         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
5377         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
5378
5379 2006-07-05  Derek R. Price  <derek@ximbiot.com>
5380
5381         * lib/exclude.c (IN_CTYPE_DOMAIN, is_space): Remove; no longer needed.
5382         All uses of is_space replaced by isspace.
5383         * lib/exit.h: Don't talk about STDC_HEADERS.
5384         * lib/fnmatch.c (ISASCII): Remove; no longer needed.  All uses removed.
5385         (ISPRINT, ISDIGIT, ISALNUM, ISALPHA, ISCNTRL, ISLOWER, ISPUNCT):
5386         (ISSPACE, ISUPPER, ISXDIGIT): Remove; no longer needed.  All uses
5387         replaced by isprint etc.
5388         * lib/getdate.y (IN_CTYPE_DOMAIN, ISSPACE, ISALPHA, ISLOWER): Likewise.
5389         * lib/getusershell.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
5390         * lib/memcasecmp.c (IN_CTYPE_DOMAIN, ISLOWER, TOUPPER): Likewise.
5391         * lib/strtod.c (IN_CTYPE_DOMAIN, ISSPACE, ISDIGIT, TOLOWER): Likewise.
5392         * lib/strtol.c (IN_CTYPE_DOMAIN): Likewise.
5393         * lib/xstrtol.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
5394
5395 2006-07-05  Bruno Haible  <bruno@clisp.org>
5396
5397         * m4/strndup.m4 (gl_FUNC_STRNDUP): When cross-compiling, check whether
5398         the function exists, before testing against AIX.
5399         Reported by Martin Lambers <marlam@marlam.de>.
5400
5401 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
5402
5403         * modules/cycle-check (lib_SOURCES): Add same-inode.h.
5404         From Mark D. Baushke.
5405
5406 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
5407
5408         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Prepend three slashes
5409         to the absolute name, not just one, to bypass Sun C 5.8's
5410         "warning: #include of /usr/include/... may be non-portable".
5411
5412 2006-07-04  Eric Blake  <ebb9@byu.net>
5413
5414         * modules/dirname-tests: New test module.
5415         * tests/test-dirname.c: New file, replacing dirname.c
5416         TEST_DIRNAME section that was recently deleted.
5417
5418 2006-07-04  Bruno Haible  <bruno@clisp.org>
5419
5420         Assume ANSI C header files and <ctype.h> functions.
5421         * lib/mbswidth.c (IN_CTYPE_DOMAIN, ISPRINT, ISCNTRL): Remove macros.
5422         (mbsnwidth): Use isprint, iscntrl instead.
5423
5424 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
5425
5426         Merge from coreutils.
5427         * MODULES.html.sh: Add xstrtold.
5428         * modules/xstrtold: New file.
5429         * modules/cycle-check (Files): Add lib/same-inode.h.
5430         * modules/dirname (Files): Add m4/double-slash-root.m4.
5431         * modules/getcwd (Files): Add m4/getcwd-abort-bug.m4.
5432         * modules/mkdir-p (Files): Add lib/same-inode.h.
5433         * modules/same (Files): Add lib/same-inode.h.
5434
5435 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
5436
5437         * m4/absolute-header.m4: Renamed from full-header-path.m4.
5438         This is to keep the terminology clean; POSIX talks about
5439         "absolute pathnames", not "full pathnames", but the GNU
5440         Coding Standards say to use "path" for something else;
5441         so use "absolute" to keep both sides happy.
5442         (gl_ABSOLUTE_HEADER): Renamed from gl_FULL_HEADER_PATH.
5443         Set gl_absolute_header, not gl_full_header_path.
5444         Set gl_cv_absolute_<header>, not gl_full_path_<header>.
5445         Define ABSOLUTE_<HEADER>, not FULL_PATH_<HEADER>.
5446         All uses changed.
5447
5448         Merge from coreutils.
5449
5450         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
5451
5452         * m4/c-strtod.m4 (gl_C_STRTOLD): Add c-strtod.c to LIBSOURCES.
5453         Require gl_USE_SYSTEM_EXTENSIONS, not gl_C_STRTOD, since we don't
5454         want to require the building of c-strtod.o.
5455         * m4/lib-check.m4 (cu_LIB_CHECK): Remove SEQ_LIBM, since seq no longer
5456         needs -lm directly.
5457         * m4/xstrtod.m4 (gl_XSTRTOLD): New macro.
5458
5459         2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
5460
5461         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Prefer binutils's
5462         --as-needed option if available.  Problem reported by Albert Chin in
5463         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00114.html>.
5464         However, use -Wl,--as-needed, not bare --as-needed, since HP-UX 11.11
5465         cc merely issues a bunch of annoying warnings for --as-needed
5466         (this problem was reported by Bob Proulx).  Also, try linking with
5467         -lm to detect a bug in binutils 2.16 (this problem was reported
5468         by Ralf Wildenhues).
5469
5470         2006-06-18  Jim Meyering  <jim@meyering.net>
5471
5472         Test for a bug that causes glibc's getcwd to suffer a failed assertion.
5473         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): New file and
5474         macro.
5475         * m4/getcwd.m4 (gl_FUNC_GETCWD): If we detect support for getcwd_null,
5476         also check for glibc-2.4's abort-inducing bug.
5477
5478         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Fix typo.
5479         Low-probability clean-up should be to use rmdir to get rid of
5480         the just-created directory, not unlink.
5481
5482         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): If ftruncate is missing, make
5483         configure fail, and request a bug report to inform us about it.
5484         Add a comment that, barring reports to the contrary, in 2007 we'll
5485         assume ftruncate is universally available.
5486
5487         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
5488
5489         * m4/filemode.m4 (gl_FILEMODE): Check for strmode declaration.
5490
5491         2006-03-12  Jim Meyering  <jim@meyering.net>
5492
5493         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Add same-inode.h to the list.
5494         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Likewise.
5495         * m4/same.m4 (gl_SAME): Likewise.
5496         * m4/root-dev-ino.m4 (gl_ROOT_DEV_INO): Likewise.
5497
5498         2006-03-11  Eric Blake  <ebb9@byu.net>
5499
5500         * m4/double-slash-root.m4: New file, provides gl_DOUBLE_SLASH_ROOT.
5501         * m4/dirname.m4 (gl_DIRNAME): Use gl_DOUBLE_SLASH_ROOT.
5502         * m4/dos.m4 (FILE_SYSTEM_PREFIX_LEN): Move from here to dirname.h.
5503         (FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE): New define.
5504
5505 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
5506
5507         * lib/stdint_.h: Include <sys/types.h> after @FULL_PATH_STDINT_H@, for
5508         MacOS X 10.4.6.  Don't mention <sys/int_types.h>.  Problems
5509         reported by Mark D. Baushke, one in
5510         <http://lists.gnu.org/archive/html/bug-gnulib/2006-07/msg00015.html>.
5511
5512         Merge from coreutils.
5513
5514         * lib/.cppi-disable: Add stdint_.h.
5515         * lib/.cvsignore: Add stdint.h.
5516
5517         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
5518
5519         * lib/xstrtod.c (XSTRTOD, DOUBLE): New macros, so that we can support
5520         both double and long double versions.
5521         (XSTRTOD): Renamed from xstrtod.  Use DOUBLE internally.
5522         * lib/xstrtold.c: New file.
5523         * lib/xstrtod.h (xstrtold): New decl.
5524
5525         2006-05-22  Paul Eggert  <eggert@cs.ucla.edu>
5526
5527         * lib/filemode.c (setst): Remove.
5528         (strmode): Rewrite to avoid setst.  This makes the code shorter,
5529         (arguably) clearer, and the generated code is a bit smaller on my
5530         Debian GNU/Linux stable x86 host.
5531
5532         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
5533
5534         * lib/filemode.c: Include "filemode.h" first, to test the interface.
5535         Assume that filemode.h includes sys/types.h and sys/stat.h.
5536         (HAVE_ST_DM_MODE): New macro, moved here from ls.c.
5537         (ftypelet): Reorder to put common cases first, for efficiency.
5538         Add 'P', 'w'.  Remove 'M', since it's now the caller's responsibility
5539         to do 'M'.
5540         (strmode): Renamed from mode_string, and now stores 12 bytes instead
5541         of 10, for compatibility with FreeBSD.  All callers changed.
5542         (filemodestring): Now stores 12 bytes instead of 10, and sets file
5543         types that can't be deduced solely from st_mode.  First arg is now a
5544         const pointer.
5545         * lib/filemode.h (HAVE_DECL_STRMODE): Include <string.h> for strmode.
5546         (strmode): Renamed from mode_string.
5547         (filemodestring): New decl.
5548         * lib/stat-macros.h: Don't undef S_ISDOOR, since it's never buggy.
5549         (S_ISDOOR): Don't bother with S_IFDOOR, since that code is never
5550         needed.
5551         (S_ISPORT, S_ISWHT): New macros, if not already defined.
5552
5553         2006-04-12  Paul Eggert  <eggert@cs.ucla.edu>
5554
5555         * lib/fsusage.c: Don't include <inttypes.h> or <stdint.h>, since
5556         fsusage.h now does that.  Include fsusage.h first, to test interface.
5557         Prefer statvfs if it works, since it's blessed by POSIX.  Attempt
5558         at most one method (the old code could have generated decls that
5559         didn't conform to C89, not that this was ever exercised).
5560         * lib/fsusage.h: Include <inttypes.h> and <stdint.h> if they exist.
5561
5562         2006-03-19  Jim Meyering  <jim@meyering.net>
5563
5564         Work even in a chroot where d_ino values for entries in "/"
5565         don't match the stat.st_ino values for the same names.
5566         * lib/getcwd.c (__getcwd): When no d_ino value matches the target inode
5567         number, iterate through all entries again, using lstat instead.
5568         Reported by Kenshi Muto in http://bugs.debian.org/355810, and by
5569         Zouhir Hafidi in https://bugzilla.redhat.com/bugzilla/190656.
5570
5571         * lib/getcwd.c (__getcwd): Clarify a comment.
5572         Use memcpy in place of a call to strcpy.
5573
5574         2006-03-12  Jim Meyering  <jim@meyering.net>
5575
5576         * lib/fts-cycle.c (leave_dir): If cycle-check's saved dev-ino pair
5577         matches that of the current directory (which we're about to chdir ".."
5578         out of), then save the dev-ino of the parent, instead.
5579
5580         * lib/same-inode.h (SAME_INODE): New file/macro.
5581         * lib/chdir-safer.c (SAME_INODE): Remove definition.
5582         Include "same-inode.h", instead.
5583         * lib/same.c: Likewise.
5584         * lib/cycle-check.h: Include "same-inode.h".
5585         (CYCLE_CHECK_REFLECT_CHDIR_UP): Define.
5586         * lib/cycle-check.c (SAME_INODE): Remove definition.
5587         * lib/root-dev-ino.h: Include "same-inode.h".
5588
5589         2006-03-11  Eric Blake  <ebb9@byu.net>
5590
5591         * lib/same.c (same_name): s/base_name/last_component/
5592         * lib/backupfile.c (check_extension, numbered_backup): Likewise.
5593         * lib/filenamecat.c (file_name_concat): Likewise.
5594
5595         2006-03-11  Eric Blake  <ebb9@byu.net>,
5596                     Paul Eggert  <eggert@cs.ucla.edu>
5597
5598         * lib/dirname.h (FILE_SYSTEM_PREFIX_LEN): Move here from dos.m4.
5599         [FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't treat 1: as a
5600         drive prefix.
5601         (IS_ABSOLUTE_FILE_NAME): Treat all drive letters as absolute on
5602         platforms like cygwin with FILE_SYSTEM_DRIVE_PREFIX_IS_ABSOLUTE.
5603         (last_component): New method.
5604         * lib/dirname.c (dir_len): Determine when drive letters need a
5605         subsequent slash.  Preserve // when it is special.
5606         (dir_name): Don't append dot when drive letter is absolute.
5607         [TEST_DIRNAME]: Move into a full-blown gnulib test.
5608         * lib/basename.c (base_name): New semantics - malloc the result.
5609         Preserve // when it is special.  Preserve relative files that look
5610         like drive letters.
5611         (base_len): Preserve // when it is special.
5612         (last_component): New method, similar to old base_name semantics.
5613         * lib/stripslash.c (strip_trailing_slashes): Use last_component, not
5614         base_name.  Strip redundant slashes from ///.
5615
5616 2006-07-03  Jim Meyering  <jim@meyering.net>
5617
5618         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Abort if this
5619         macro is used before the first cycle_check call.
5620
5621 2006-07-03  Eric Blake  <ebb9@byu.net>
5622
5623         * modules/dirname (Depends-on): Add xstrndup.
5624
5625 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
5626
5627         * m4/stdint.m4 (gl_STDINT_H): Use more-mnemonic identifiers for
5628         test cases, so that config.log is a bit easier to follow.
5629
5630 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
5631
5632         * lib/stdint_.h (intmax_t, uintmax_t): Prefer long to long long if
5633         both are 64 bits, since this seems to be the tradition, and this
5634         prevents gcc -Wformat from warning about usages with PRIuMAX.  If
5635         we ever run into a host that prefers long long to long in this
5636         case, we'll need another configure-time test.  Problem reported by
5637         Jim Meyering.
5638
5639 2006-07-02  Eric Blake  <ebb9@byu.net>
5640
5641         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Simplify by using AC_CHECK_DECLS.
5642
5643 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
5644
5645         * modules/inttypes (Depends-on): No longer depends on stdint.
5646         * modules/stdint (Description): Say more about assumptions.
5647         Say that the fast types might differ.  Say macros are used.
5648         (Files): Remove m4/size_max.m4, m4/wchar_t.m4.  Add m4/longlong.m4.
5649         (Makefile.am): Revise list of substituted symbols to match
5650         new stdint.m4.
5651         * modules/stdint-tests (Files): Add m4/wchar_t.m4, m4/wint_t.m4.
5652         (configure.ac): Add gt_TYPE_WCHAR_T, gt_TYPE_WINT_T.
5653         * tests/test-stdint.c (verify_same_types)
5654         [! (__GNUC__ >= 2 && DO_PEDANTIC)]: Put in a decl, so that
5655         the code conforms to C99/C89.
5656         Test for WCHAR_MIN and WCHAR_MAX only if HAVE_WCHAR_T.
5657         Test for WINT_MIN and WINT_MAX only if HAVE_WINT_T.
5658
5659 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
5660
5661         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Backport from Autoconf 2.60,
5662         but fix a bug, by requiring at least 64 bits.
5663         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise.
5664         * m4/longlong.m4 (gl_AC_TYPE_LONG_LONG): Now just call
5665         AC_TYPE_LONG_LONG_INT.  This macro is obsolete and will go soon.
5666         * m4/ulonglong.m4 (gl_AC_TYPE_UNSIGNED_LONG_LONG) Likewise.
5667
5668         * m4/stdint.m4 (gl_STDINT_H): Rewrite to accommodate stdint_.h
5669         changes.  Make 2.59 a prerequisite.  Check and substitute for
5670         HAVE_LONG_LONG_INT.  Rely on Autoconf to check for stdint.h and
5671         inttypes.h.  Do not use special include files; just use the
5672         defaults.  Check for sys/inttypes.h and sys/bitypes.h in the usual
5673         way now.  Remove no-longer-needed tests for HAVE_LONG_64BIT,
5674         HAVE_LONG_LONG_64BIT, int8_t, int16_t, int32_t, int64_t, uint8_t,
5675         uint16_t, uint32_t uint64_t, int_least8_t, int_least16_t,
5676         int_least32_t, int_least64_t, uint_least8_t, uint_least16_t,
5677         uint_least32_t, uint_least64_t, int_fast8_t, int_fast16_t,
5678         int_fast32_t, int_fast64_t, uint_fast8_t uint_fast16_t,
5679         uint_fast32_t, uint_fast64_t, intptr_t, uintptr_t, intmax_t,
5680         uintmax_t, INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX,
5681         UINT16_MAX, INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN,
5682         INT64_MAX, UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX,
5683         UINT_LEAST8_MAX, INT_LEAST16_MIN, INT_LEAST16_MAX,
5684         UINT_LEAST16_MAX, INT_LEAST32_MIN, INT_LEAST32_MAX,
5685         UINT_LEAST32_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX,
5686         UINT_LEAST64_MAX, INT_FAST8_MIN, INT_FAST8_MAX, UINT_FAST8_MAX,
5687         INT_FAST16_MIN, INT_FAST16_MAX, UINT_FAST16_MAX, INT_FAST32_MIN,
5688         INT_FAST32_MAX, UINT_FAST32_MAX, INT_FAST64_MIN, INT_FAST64_MAX,
5689         UINT_FAST64_MAX, INTPTR_MIN, INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN,
5690         INTMAX_MAX, UINTMAX_MAX, PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN,
5691         SIG_ATOMIC_MAX, SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN,
5692         WINT_MAX.  Check for C99 conformance more strictly, by detecting
5693         bugs in glibc 2.4, Solaris 10, and OpenBSD 3.9.  On the other hand do
5694         not check for things that C99 does not require, e.g., int8_t.  If
5695         a test isn't needed unless <stdint.h> isn't working, and is
5696         unlikely to be needed for any other reason, then don't do it
5697         unless <stdint.h> isn't working.  Do not check for ptrdiff_t or
5698         size_t, since we assume C89 freestanding at least.  Do not check
5699         for sig_atomic_t, wchar_t, or wint_t, since the code now does
5700         the right thing even if the types are not defined.  Instead use:
5701         (gl_STDINT_TYPE_PROPERTIES): New macro.
5702         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H): Remove.  Don't bother
5703         testing whether <sys/types.h> clashes, as Autoconf does this for
5704         us now.  All uses removed.
5705         (gl_STDINT_CHECK_TYPES, gl_STDINT_MISSING_BOUND):
5706         (gl_STDINT_MISSING_BOUNDS, gl_STDINT_MISSING_BOUNDS2):
5707         (gl_CHECK_TYPE_SAME):
5708         Remove; no longer needed.
5709         (gl_STDINT_BITSIZEOF): Don't bother to check whether the type
5710         exists, since we'll return 0 anyway in that case.
5711         (gl_INTEGER_TYPE_SUFFIX, gl_STDINT_INCLUDES): New macros.
5712
5713 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
5714
5715         * lib/stdint_.h (_GL_STDINT_H): Renamed from _STDINT_H, to avoid
5716         possible collision with system files.
5717         (<stdio.h>, <time.h>, <wchar.h>) [defined __cplusplus && ! defined
5718         __STDC_CONSTANT_MACROS)]: Do not include, since we don't need
5719         WCHAR_MIN and WCHAR_MAX in this case.
5720         (<stddef.h>): Do not include; no longer needed.
5721         (<sys/types.h>): Include if @HAVE_SYS_TYPES_H@, not if
5722         (defined(__OpenBSD__) || defined(__bsdi__) || defined(__sgi)).
5723         (<sys/inttypes.h>): Include if @HAVE_SYS_INTTYPES_H@ &&
5724         !@HAVE_INTTYPES_H@, not if (defined(__FreeBSD__)
5725         && (__FreeBSD__ >= 3) && (__FreeBSD__ <= 4)).
5726         (__STDINT_H__) [@HAVE_STDINT_H@ && defined __sgi && ! defined
5727         __c99]: Define, to work around IRIX <stdint.h> incompatibility.
5728         (@FULL_PATH_STDINT_H@) [!(defined(__sgi) && @HAVE_INTTYPES_H@ &&
5729         !defined(__c99))]: Include in this case too, since it's harmless
5730         now.
5731         (<inttypes.h>) [@HAVE_INTTYPES_H@]: Include, since it's no longer
5732         dangerous to do so.
5733         (@FULL_PATH_INTTYPES_H@) [(defined(__hpux) || defined(_AIX)) &&
5734         @HAVE_INTTYPES_H@]: Do not include, since we now include <inttypes.h>.
5735         (_STDINT_MIN, _STDINT_MAX): New macros.
5736         (int8_t, uint8_t, int16_t, uint16_t, int32_t, uint32_t, int64_t):
5737         (uint64_t, int_least8_t, uint_least8_t, int_least16_t):
5738         (uint_least16_t, int_least32_t, uint_least32_t, int_least64_t):
5739         (uint_least64_t, int_fast8_t, uint_fast8_t, int_fast16_t):
5740         (uint_fast16_t, int_fast32_t, uint_fast32_t, int_fast64_t):
5741         (uint_fast64_t, intptr_t, uintptr_t, intmax_t, uintmax_t): Now
5742         macros, not typedefs; this simplifies things quite a bit.
5743         Use long int for all types narrower than int64_t.
5744         (intmax_t, uintmax_t, INTMAX_C, UINTMAX_C):
5745         Define in terms of long long int or int64_t or long int,
5746         not int64_t or int32_t.  This saves some compile-time testing.
5747         (INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX, UINT16_MAX):
5748         (INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN, INT64_MAX):
5749         (UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX, UINT_LEAST8_MAX):
5750         (INT_LEAST16_MIN, INT_LEAST16_MAX, UINT_LEAST16_MAX):
5751         (INT_LEAST32_MIN, INT_LEAST32_MAX, UINT_LEAST32_MAX):
5752         (INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX, INT_FAST8_MIN):
5753         (INT_FAST8_MAX, UINT_FAST8_MAX, INT_FAST16_MIN, INT_FAST16_MAX):
5754         (UINT_FAST16_MAX, INT_FAST32_MIN, INT_FAST32_MAX, UINT_FAST32_MAX):
5755         (INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTPTR_MIN):
5756         (INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN, INTMAX_MAX, UINTMAX_MAX):
5757         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
5758         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
5759         undef any previous version and define our own version, for
5760         simplicity and consistency with the new macros for types.
5761         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
5762         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
5763         Simplify definitions by using _STDINT_MIN and _STDINT_MAX
5764         where appropriate.  Rely on new symbols @PTRDIFF_T_SUFFIX@,
5765         @SIG_ATOMIC_T_SUFFIX@, @SIZE_T_SUFFIX@, @WCHAR_T_SUFFIX@,
5766         @WINT_T_SUFFIX@ to keep things simple here.
5767         (UINT8_C, UINT16_C, UINT32_C, INT64_C, UINT64_C):
5768         Simplify by assuming typical 8/16/32/64 host, since we're
5769         already doing that elsewhere anyway.
5770         Use (LONG_MAX >> 31 >> 31 == 1) rather than @HAVE_LONG_64BIT@,
5771         and assume long long int is 64 bits if available.  This
5772         speeds up 'configure'.
5773
5774 2006-07-01  Eric Blake  <ebb9@byu.net>
5775
5776         * m4/stdarg.m4 (gl_STDARG_H): Use proper AH_VERBATIM.
5777         Reported by Andreas Buening.
5778
5779 2006-07-01  Eric Blake  <ebb9@byu.net>
5780
5781         * m4/stdarg.m4 (gl_STDARG_H): Properly parenthesize gl_va_copy.
5782
5783 2006-06-30  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
5784
5785         * lib/getaddrinfo.c: fixed typo
5786
5787 2006-06-29  Jim Meyering  <jim@meyering.net>
5788
5789         * modules/strftime (Maintainer): Add my name, since with the
5790         FPRINTFTIME changes strftime.c has forked from glibc.
5791
5792 2006-06-29  Eric Blake  <ebb9@byu.net>
5793
5794         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Use AC_C_INLINE.
5795
5796 2006-06-29  Eric Blake  <ebb9@byu.net>
5797
5798         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): New file.
5799
5800 2006-06-29  Eric Blake  <ebb9@byu.net>
5801
5802         * lib/stat_.h: New file.
5803
5804 2006-06-29  Eric Blake  <ebb9@byu.net>
5805
5806         * lib/stat_.h (rpl_mkdir): Declare inline, to avoid warnings about
5807         unused static function.
5808
5809 2006-06-29  Eric Blake  <ebb9@byu.net>
5810
5811         * doc/functions.texi (Function Portability): Document missing lstat
5812         on mingw.
5813
5814 2006-06-29  Eric Blake  <ebb9@byu.net>
5815
5816         * MODULES.html.sh: Add sys_stat.
5817         * modules/sys_stat: New module.
5818         * modules/mkstemp (Depends-on): Add sys_stat.
5819
5820 2006-06-29  Derek R. Price  <derek@ximbiot.com>
5821
5822         * m4/strftime.m4: Don't call AC_FUNC_STRFTIME.
5823
5824 2006-06-29  Derek R. Price  <derek@ximbiot.com>
5825
5826         * m4/c-bs-a.m4: Removed.
5827
5828 2006-06-29  Derek R. Price  <derek@ximbiot.com>
5829
5830         * lib/strftime.c: Assume strftime() exists.
5831
5832 2006-06-29  Derek Price  <derek@ximbiot.com>
5833
5834         * modules/c-bs-a: Removed - \a is C89.
5835         * MODULES.html.sh: Remove c-bs-a.
5836
5837 2006-06-29  Bruno Haible  <bruno@clisp.org>
5838
5839         * modules/wcwidth (License): Change to LGPL.
5840
5841 2006-06-28  Simon Josefsson  <jas@extundo.com>
5842
5843         * tests/test-getaddrinfo.c: Test getnameinfo too.  Call WSAStartup
5844         on _WIN32.
5845
5846         * modules/getaddrinfo (Depends-on): Add inet_ntop, needed by
5847         getnameinfo.
5848
5849 2006-06-28  Simon Josefsson  <jas@extundo.com>
5850
5851         * m4/getaddrinfo.m4: Look for getnameinfo prototypes too.
5852
5853 2006-06-28  Simon Josefsson  <jas@extundo.com>
5854
5855         * lib/getaddrinfo.c: Try to load ws2_32.dll on Windows, to find the
5856         functions there.  It will succeed on Windows XP, but on Windows
5857         2000 and (presumably) earlier, it will fail, and use the internal
5858         re-implementation.
5859         (use_win32_p): New function.
5860         (getaddrinfo): Use strtoul on servname, to support numeric ports.
5861         Support AI_NUMERICSERV to disable getservbyname.
5862         (getnameinfo): New function, only supports
5863         NI_NUMERICHOST|NI_NUMERICSERV for now.
5864
5865         * lib/getaddrinfo.h: Test and check for AI_* flags separately, MinGW
5866         only have some of them.  Add AI_NUMERICSERV.  Add prototype for
5867         getnameinfo.
5868
5869 2006-06-28  Eric Blake  <ebb9@byu.net>
5870
5871         * modules/wcwidth: New file.
5872         * modules/mbchar (Depends-on): Add wcwidth.
5873         * modules/mbswidth (Depends-on): Add wcwidth.
5874         * MODULES.html.sh: Add wcwidth.
5875
5876 2006-06-28  Eric Blake  <ebb9@byu.net>
5877
5878         * m4/mbswidth.m4 (gl_MBSDWIDTH): Move wcwidth from here...
5879         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): ...to this new file.
5880
5881 2006-06-28  Eric Blake  <ebb9@byu.net>
5882
5883         * lib/xvasprintf.h: Fix comments.
5884
5885 2006-06-28  Eric Blake  <ebb9@byu.net>
5886
5887         * lib/mbchar.h (wcwidth): Include wcwidth.h.
5888         * lib/mbswidth.c (wcwidth): Move from here...
5889         * lib/wcwidth.h: ...to this new file.
5890
5891 2006-06-28  Derek R. Price  <derek@ximbiot.com>
5892
5893         * m4/savedir.m4: Remove AC_FUNC_CLOSEDIR_VOID requirement.
5894
5895         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't require AC_C_CONST, since
5896         it's obsolete.
5897         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Likewise.
5898
5899 2006-06-28  Derek R. Price  <derek@ximbiot.com>
5900
5901         * lib/savedir.c (CLOSEDIR): Remove.  All uses changed to closedir.
5902         Autoconf 2.60 says this stuff was obsolete.
5903
5904 2006-06-28  Bruno Haible  <bruno@clisp.org>
5905
5906         * modules/wcwidth (Files): Add m4/wchar_t.m4.
5907
5908 2006-06-28  Bruno Haible  <bruno@clisp.org>
5909
5910         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Also require AC_C_INLINE and
5911         gt_TYPE_WCHAR_T.
5912
5913 2006-06-28  Bruno Haible  <bruno@clisp.org>
5914
5915         * lib/wcwidth.h: Declare nothing if !HAVE_WCHAR_T. Provide a fallback
5916         declaration for wcwidth.
5917         * lib/mbswidth.c: Restore the includes of <wchar.h> and <wctypes.h>.
5918
5919 2006-06-28  Bruno Haible  <bruno@clisp.org>
5920
5921         * lib/mkdtemp.c [MINGW]: Include <io.h>.
5922         (mkdir): Define using _mkdir.
5923
5924 2006-06-28  Bruno Haible  <bruno@clisp.org>
5925
5926         * lib/getaddrinfo.h: Fix POSIX URL.
5927         * lib/getaddrinfo.c (WIN32_NATIVE): New macro. Use it instead of
5928         _WIN32.
5929         (use_win32_p): Make static.
5930         (getaddrinfo): Reject service name if it is empty or does not consist
5931         solely of decimal digits, or if its value is > 65535.
5932         (getnameinfo): Remove useless casts.
5933
5934 2006-06-27  Simon Josefsson  <jas@extundo.com>
5935
5936         * modules/sys_select: New file, suggested by Bruno Haible, Paul
5937         Eggert and Martin Lambers.
5938
5939 2006-06-27  Simon Josefsson  <jas@extundo.com>
5940
5941         * m4/sys_select_h.m4: New file, suggested by Bruno Haible, Paul
5942         Eggert and Martin Lambers.
5943
5944 2006-06-27  Bruno Haible  <bruno@clisp.org>
5945
5946         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): For nonexistent types, set the
5947         result to 0, not to empty.
5948         Reported by Martin Neitzel <neitzel@sco.gaertner.de>.
5949
5950 2006-06-27  Bruno Haible  <bruno@clisp.org>
5951
5952         * lib/stdint_.h (intmax_t, uintmax_t): Undefine before typedef.
5953
5954 2006-06-26  Simon Josefsson  <jas@extundo.com>
5955
5956         * m4/inet_ntop.m4: Don't check for sys/types.h, we assume it is
5957         present.
5958
5959 2006-06-26  Paul Eggert  <eggert@cs.ucla.edu>
5960
5961         * lib/base64.c (B64): Use _ as the formal parameter, not x, to avoid
5962         bug in IBM C V6 for AIX.  Problem reported by Larry Jones in
5963         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00181.html>.
5964
5965 2006-06-26  Mark D. Baushke  <mdb@gnu.org>
5966
5967         * m4/stdint.m4 (gl_STDINT_H): Treat BSD/OS like OpenBSD.
5968
5969 2006-06-26  Bruno Haible  <bruno@clisp.org>
5970
5971         * modules/stdint (Makefile.am): Also substitute HAVE_WCHAR_H.
5972
5973 2006-06-26  Bruno Haible  <bruno@clisp.org>
5974
5975         * m4/stdint.m4 (gl_STDINT_H): Test also for <wchar.h>.
5976
5977 2006-06-26  Bruno Haible  <bruno@clisp.org>
5978
5979         * m4/stdint.m4 (gl_STDINT_H): Don't include <stdint.h> when using the
5980         SGI C compiler in pre-C99 mode.
5981         Suggested by Mark D. Baushke and Larry Jones.
5982
5983 2006-06-26  Bruno Haible  <bruno@clisp.org>
5984
5985         * lib/stdint_.h: Include <wchar.h> if necessary for WCHAR_MIN or
5986         WCHAR_MAX.
5987         Reported by Mark D. Baushke and Larry Jones.
5988
5989 2006-06-26  Bruno Haible  <bruno@clisp.org>
5990
5991         * lib/stdint_.h: Don't include <stdint.h> when using the SGI C compiler
5992         in pre-C99 mode.
5993         Suggested by Mark D. Baushke and Larry Jones.
5994
5995 2006-06-23  Simon Josefsson  <jas@extundo.com>
5996             Bruno Haible  <bruno@clisp.org>
5997
5998         * gnulib-tool (func_emit_lib_Makefile_am): Define MOSTLYCLEANDIRS.
5999         Emit mostlyclean-local rule.
6000         (func_emit_tests_Makefile_am): Likewise.
6001         * modules/sys_socket (Makefile.am): Use MOSTLYCLEANDIRS.
6002
6003 2006-06-23  Mark D. Baushke  <mdb@gnu.org>
6004
6005         * lib/stdint_.h: Treat BSD/OS like OpenBSD.
6006
6007 2006-06-23  Bruno Haible  <bruno@clisp.org>
6008
6009         * tests/test-stdint.c: Update to match ISO C 99 Technical
6010         Corrigendum 1.
6011
6012 2006-06-23  Bruno Haible  <bruno@clisp.org>
6013
6014         * m4/stdint.m4 (gl_STDINT_H): Treat IRIX like OpenBSD.
6015
6016 2006-06-23  Bruno Haible  <bruno@clisp.org>
6017
6018         * lib/stdint_.h: Treat IRIX like OpenBSD.
6019
6020 2006-06-23  Bruno Haible  <bruno@clisp.org>
6021
6022         * lib/stdint_.h (UINT8_C, UINT16_C, UINT32_C): Define according to
6023         ISO C 99 Technical Corrigendum 1.
6024
6025 2006-06-22  Simon Josefsson  <jas@extundo.com>
6026
6027         * m4/sockpfaf.m4: Include winsock2.h too, to make it work under
6028         MinGW.
6029
6030 2006-06-22  Paul Eggert  <eggert@cs.ucla.edu>
6031
6032         * lib/glob.c (collated_compare): Remove 'const' uses that weren't
6033         needed.  Some compiler complained about some of them.  Problem reported
6034         by Larry Jones in
6035         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00172.html>.
6036
6037 2006-06-21  Simon Josefsson  <jas@extundo.com>
6038
6039         * tests/test-getaddrinfo.c: New file.
6040
6041         * modules/getaddrinfo-tests: New file.
6042
6043         * MODULES.html.sh: Add inet_pton.
6044
6045         * modules/inet_pton: New file.
6046
6047 2006-06-21  Simon Josefsson  <jas@extundo.com>
6048
6049         * m4/getaddrinfo.m4: Don't define WINVER.  Look for gethostbyname in
6050         -lws2_32 too.  Fixes getaddrinfo on Windows 2000, with the price
6051         of using the (limited) gnulib implementation on Windows XP.
6052
6053         * m4/inet_pton.m4: New file.
6054
6055 2006-06-21  Simon Josefsson  <jas@extundo.com>
6056
6057         * lib/getaddrinfo.c (getaddrinfo): Set ai_family in the return
6058         variable.
6059
6060         * lib/socket_.h: Don't define WINVER.
6061
6062         * lib/inet_pton.h, inet_pton.c: New file, taken from glibc but
6063         slightly modified to work in gnulib.
6064
6065 2006-06-21  Simon Josefsson  <jas@extundo.com>
6066
6067         * doc/gnulib.texi (Windows sockets): Add.
6068
6069 2006-06-21  Paul Eggert  <eggert@cs.ucla.edu>
6070
6071         * lib/read-file.c (fread_file): Start with buffer allocation of
6072         0 bytes rather than 1 byte; this simplifies the code.
6073         Don't invoke feof; it's not needed.  Refactor to avoid duplicate
6074         code to free buffer and save/restore errno.
6075         (internal_read_file): Remove unused local.
6076
6077 2006-06-20  Paul Eggert  <eggert@cs.ucla.edu>
6078
6079         * lib/openat.c (openat): Use ?:, not if, to work around GCC bug 4210
6080         <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=4210>.
6081         Problem reported by Denis Excoffier in
6082         <http://lists.gnu.org/archive/html/bug-tar/2006-06/msg00023.html>.
6083
6084 2006-06-19  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
6085
6086         * modules/sys_socket, modules/socklen: Include sys/types since
6087         FreeBSD 4.x's sys/socket.h needs it.
6088
6089 2006-06-19  Simon Josefsson  <jas@extundo.com>
6090
6091         * lib/inet_ntop.c: Always build inet_ntop4, since inet_ntop6 calls it.
6092
6093 2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
6094
6095         * lib/alloca_.h (alloca) [defined alloca]: Don't define or declare.
6096
6097 2006-06-19  Bruno Haible  <bruno@clisp.org>
6098
6099         * m4/stdint.m4 (gl_STDINT_H): Enclose the values of FULL_PATH_STDINT_H
6100         and FULL_PATH_INTTYPES_H in angle brackets.
6101         Reported by Mark D. Baushke <mdb@gnu.org>.
6102
6103 2006-06-17  Eric Blake  <ebb9@byu.net>
6104
6105         * m4/rmdir-errno.m4 (gl_FUNC_FMDIR_NOTEMPTY): Assume errno.h declares
6106         errno.
6107
6108 2006-06-17  Bruno Haible  <bruno@clisp.org>
6109
6110         * m4/stdint.m4 (gl_STDINT_H) [FreeBSD >= 5]: Don't include
6111         <sys/inttypes.h>.
6112
6113 2006-06-17  Bruno Haible  <bruno@clisp.org>
6114
6115         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove test
6116         whether errno is declared. Assume <errno.h> declares errno.
6117
6118 2006-06-17  Bruno Haible  <bruno@clisp.org>
6119
6120         * lib/stdint_.h [FreeBSD >= 5]: Don't include <sys/inttypes.h>.
6121
6122 2006-06-17  Bruno Haible  <bruno@clisp.org>
6123
6124         * lib/stdint_.h (_UINT8_T, _UINT32_T, _UINT64_T): New macros. Fixes a
6125         problem on Solaris 2.5.1.
6126
6127 2006-06-16  Eric Blake  <ebb9@byu.net>
6128
6129         * lib/unsetenv.c [!defined errno]: Assume errno.h declares errno.
6130         * lib/unicodeio.c [!defined errno]: Likewise.
6131         * lib/strtol.c [!defined errno]: Likewise.
6132         * lib/strtod.c [!defined errno]: Likewise.
6133
6134 2006-06-15  Eric Blake  <ebb9@byu.net>
6135
6136         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Work in spite of -Werror.
6137
6138 2006-06-15  Eric Blake  <ebb9@byu.net>
6139
6140         * config/srclist.txt (ssize_t.m4): Lose sync.
6141
6142 2006-06-15  Bruno Haible  <bruno@clisp.org>
6143
6144         * modules/stdint (Files): Include m4/full-header-path.m4,
6145         m4/size_max.m4, m4/wchar_t.m4.
6146         (Makefile.am): Many more substitutions.
6147         * modules/stdint-tests: New file.
6148         * tests/test-stdint.c: New file.
6149
6150 2006-06-15  Bruno Haible  <bruno@clisp.org>
6151
6152         * m4/stdint.m4 (gl_STDINT_H): Rewritten to produce a complete stdint.h.
6153         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H, gl_STDINT_CHECK_TYPES,
6154         gl_STDINT_MISSING_BOUND, gl_STDINT_MISSING_BOUNDS,
6155         gl_STDINT_MISSING_BOUNDS2, gl_STDINT_BITSIZEOF, gl_CHECK_TYPES_SIGNED,
6156         gl_CHECK_TYPE_SAME): New macros.
6157
6158 2006-06-15  Bruno Haible  <bruno@clisp.org>
6159
6160         * m4/size_max.m4 (gl_SIZE_MAX): Make it work also when cross-compiling.
6161
6162 2006-06-15  Bruno Haible  <bruno@clisp.org>
6163
6164         * lib/stdint_.h: Rewritten to be fully auto-configured.
6165         Fixes bug on HP-UX/IA64.
6166
6167 2006-06-11  Paul Eggert  <eggert@cs.ucla.edu>
6168
6169         * lib/getdate.y (__attribute__): Don't define if already defined.
6170         Problem reported by Larry Jones.
6171         * lib/utimens.c (__attribute__): Likewise.
6172
6173 2006-06-04  Paul Eggert  <eggert@cs.ucla.edu>
6174
6175         * lib/regexec.c (group_nodes_into_DFAstates): Fix a buffer overrun
6176         reported by Andreas Schwab.
6177
6178 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
6179             Bruno Haible  <bruno@clisp.org>
6180
6181         * m4/strndup.m4 (gl_FUNC_STRNDUP): Replace the AC_REPLACE_FUNCS with a
6182         check for the declaration of strnlen and a run test that exposes the
6183         AIX 5.1 strnlen bug.  In the failure case, #define strndup to
6184         rpl_strndup.
6185
6186 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
6187             Bruno Haible  <bruno@clisp.org>
6188
6189         * lib/strndup.c (strndup) [!_LIBC]: Don't undefine macro definition.
6190
6191 2006-05-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
6192
6193         * m4/c-strtod.m4 (gl_C99_STRTOLD): Use a link test rather than a
6194         compile test, for Tru64 4.0D.
6195
6196 2006-05-28  Karl Berry  <karl@gnu.org>
6197
6198         * config/srclist.txt (printf-args.c): lose sync.
6199
6200 2006-05-26  Martin Lambers  <marlam@marlam.de>
6201
6202         * lib/getpass.c: Updates the test for the native W32 API, and adds
6203         missing includes, thus fixing compilation warnings.
6204
6205 2006-05-25  Sergey Poznyakoff  <gray@gnu.org.ua>
6206
6207         * lib/exclude.c (exclude_fnmatch): New function.
6208         (excluded_file_name): Call exclude_fnmatch.
6209         * lib/exclude.h (excluded_file_name): New prototype
6210
6211 2006-05-25  Paul Eggert  <eggert@cs.ucla.edu>
6212
6213         * lib/tempname.c (small_open, large_open): New macros.
6214         (__open, __open64) [!_LIBC]: Remove.
6215         (__gen_tempname): Use small_open and large_open instead of __open
6216         and __open64.  This fixes a portability bug on HP-UX 11.11i
6217         reported by Simon Wing-Tang in
6218         <http://lists.gnu.org/archive/html/bug-coreutils/2006-05/msg00114.html>.
6219
6220 2006-05-24  Bruno Haible  <bruno@clisp.org>
6221
6222         * lib/printf-args.c (printf_fetchargs): Turn NULL pointers for
6223         TYPE_STRING and TYPE_WIDE_STRING into a non-NULL replacement.
6224         Reported by Thorsten Maerz <torte@netztorte.de> via
6225         Aaron Stone <aaron@serendipity.cx>.
6226
6227 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
6228
6229         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Rename cache variables to use
6230         gl_ rather than jm_.  Link, don't run, so that cross-compiles are
6231         allowed.  Check that resulting type is arithmetic.  Move AC_REQUIRE
6232         and AC_CHECK_HEADERS_ONCE outside of AC_CACHE_CHECK, since they're
6233         not really conditional on the cache.
6234         (gl_PREREQ_NANOSLEEP): Check for sys/select.h.
6235
6236 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
6237
6238         * lib/nanosleep.c [HAVE_SYS_SELECT_H]: Include <sys/select.h>.
6239         Use the usual Autoconf way to include <time.h> and/or sys/time.h.
6240         (my_usleep): Don't mishandle maximum value.
6241
6242 2006-05-19  Jim Meyering  <jim@meyering.net>
6243
6244         * lib/getugroups.c: Correct an outdated comment.  From Bruno Haible.
6245
6246 2006-05-17  Bruno Haible  <bruno@clisp.org>
6247
6248         Cygwin portability.
6249         * lib/classpath.c (PATH_SEPARATOR) [CYGWIN]: Define as ':'.
6250
6251 2006-05-17  Bruno Haible  <bruno@clisp.org>
6252
6253         * lib/stdint_.h: Fix recognition of Cygwin.
6254
6255 2006-05-15  Bruno Haible  <bruno@clisp.org>
6256
6257         * build-aux/config.rpath: Improve support for Sun C 5.9 on Linux, based
6258         on libtool patch by Ralf Wildenhues.
6259
6260 2006-05-14  Paul Eggert  <eggert@cs.ucla.edu>
6261
6262         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Fix overly-picky
6263         test for C99 conformance; (bool) 0.5 is an integer constant
6264         expression, but (bool) -0.5 is not.  Problem reported by Fedor
6265         Sergeev in <http://forum.sun.com/jive/thread.jspa?threadID=96202>.
6266
6267 2006-05-11  Simon Josefsson  <jas@extundo.com>
6268
6269         * m4/xvasprintf.m4: Fix obvious typo.
6270
6271 2006-05-11  Jim Meyering  <jim@meyering.net>
6272
6273         * lib/sha1.c (sha1_buffer): Correct comment: s/MD5/SHA1/.  From
6274         James Lemley.
6275
6276 2006-05-10  Simon Josefsson  <jas@extundo.com>
6277
6278         * lib/md4.c: Typo fix, update copyright years.
6279         (K1, K2): Don't use L because it turn computations into 64-bit on
6280         64-bit platforms.
6281
6282 2006-05-10  Paul Eggert  <eggert@cs.ucla.edu>
6283
6284         * lib/crc.c (crc32_update): Remove unnecessary L suffix.
6285         * lib/md4.c (rol): Cast right-shift arg to uint32_t to prevent
6286         unwanted sign propagation, e.g., on hosts with 64-bit int.
6287         There still are some problems with reeelly weird theoretical hosts
6288         (e.g., 33-bit int) but it's not worth worrying about now.
6289         * lib/sha1.c (rol): Likewise.
6290         (K1, K2, K3, K4): Remove unnecessary L suffix.
6291
6292 2006-05-10  Bruno Haible  <bruno@clisp.org>
6293
6294         * lib/des.c: Cast to avoid warnings.
6295
6296 2006-05-09  Bruno Haible  <bruno@clisp.org>
6297
6298         * modules/xvasprintf (Files): Add m4/xvasprintf.m4.
6299         (Depends-on): Depend also on xsize, stdarg.
6300         (configure.ac): Add gl_XVASPRINTF.
6301
6302 2006-05-09  Bruno Haible  <bruno@clisp.org>
6303
6304         * m4/xvasprintf.m4: New file.
6305
6306 2006-05-09  Bruno Haible  <bruno@clisp.org>
6307
6308         * lib/xvasprintf.c: Include limits.h, string.h, xsize.h.
6309         (EOVERFLOW): Define fallback value.
6310         (xstrcat): New function.
6311         (xvasprintf): Recognize the special case of a string concatenation.
6312
6313 2006-05-08  Eric Blake  <ebb9@byu.net>
6314
6315         * gnulib-tool (func_version): Base copyright year on CVS date.
6316         (func_emit_copyright_notice): New function.
6317         (func_emit_lib_Makefile_am): Use it.
6318         (func_emit_tests_Makefile_am): Likewise.
6319         (func_import): Likewise.
6320
6321 2006-05-08  Bruno Haible  <bruno@clisp.org>
6322
6323         * modules/stdarg: New file.
6324         * MODULES.html.sh (func_all_modules): Add section for <stdarg.h>.
6325
6326 2006-05-08  Bruno Haible  <bruno@clisp.org>
6327
6328         * m4/stdarg.m4: New file, from GNU gettext.
6329
6330 2006-05-08  Bruno Haible  <bruno@clisp.org>
6331
6332         * config/srclist.txt (build-aux/config.rpath): different from latest
6333         release.
6334
6335 2006-05-08  Bruno Haible  <bruno@clisp.org>
6336
6337         * build-aux/config.rpath: Add support for Sun C 5.9 on Linux.
6338
6339 2006-05-05  Jim Meyering  <jim@meyering.net>
6340
6341         * m4/warning.m4: New file, derived from bison's file by the same name.
6342
6343 2006-05-03  Bruno Haible  <bruno@clisp.org>
6344
6345         * lib/stdint_.h: Shorter URL.
6346         * lib/inttypes.h: Likewise.
6347
6348 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
6349
6350         * modules/inttypes (Maintainer): Change from Derek Price to 'all'.
6351
6352 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
6353
6354         * lib/verify.h: Document the internals better.  Most of this change
6355         was written by Bruno Haible.
6356
6357 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
6358
6359         * doc/verify.texi: New file, partly based on a proposal by
6360         Bruno Haible.
6361
6362 2006-05-02  Bruno Haible  <bruno@clisp.org>
6363
6364         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Move the include_next
6365         test from here...
6366         * m4/_inttypes_h.m4 (gl_INTTYPES_H): ... to here.
6367
6368 2006-04-29  Bruno Haible  <bruno@clisp.org>
6369
6370         * lib/gcd.c: Use WORD_T and GCD instead of unsigned long and gcd.
6371         Suggested by Oskar Liljeblad <oskar@osk.mine.nu>.
6372
6373 2006-04-29  Bruno Haible  <bruno@clisp.org>
6374
6375         * gnulib-tool: Make --update option actually work.
6376
6377 2006-04-29  Bruno Haible  <bruno@clisp.org>
6378
6379         * doc/gcd.texi: New file.
6380         * doc/gnulib.texi: Include it.
6381
6382 2006-04-25  Paul Eggert  <eggert@cs.ucla.edu>
6383
6384         * lib/getdate.y (get_date): When adding relative date, start with the
6385         initial time, not with the result of the first mktime call.
6386
6387 2006-04-25  Bruno Haible  <bruno@clisp.org>
6388
6389         * gnulib-tool (func_import): Output the include directives in three
6390         blocks, sorted separately.
6391         Reported by Ben Pfaff <blp@cs.stanford.edu>.
6392
6393 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
6394
6395         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use prototype
6396         to define main with arguments, for C++.  Reported by Eric Blake.
6397         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC):
6398         Prefer 'int main ()' to 'int main (void)', for C++.
6399         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
6400         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Specify a return type
6401         for 'main', for C99 and C++.
6402
6403 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
6404
6405         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Use return, not exit.
6406         Don't assume that exit status -1 is valid.
6407         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
6408         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
6409         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
6410         * m4/readdir.m4 (GL_FUNC_READDIR): Include <stdlib.h>.
6411         * m4/rename.m4 (vb_FUNC_RENAME): Likewise.
6412         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use AC_RUN_IFELSE,
6413         not AC_TRY_RUN.  Use return, not exit.  Don't assume that
6414         functions can be used without declaring them, or that you can
6415         exit with status -1.
6416         * m4/utimes-null.m4 (gl_FUNC_UTIMES_NULL): Likewise.
6417
6418 2006-04-24  Karl Berry  <karl@gnu.org>
6419
6420         * config/srclist.txt (longdouble.m4): sync lost.
6421
6422 2006-04-24  Eric Blake  <ebb9@byu.net>
6423
6424         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Avoid unused variable warning.
6425
6426 2006-04-24  Bruno Haible  <bruno@clisp.org>
6427
6428         * m4/poll.m4 (gl_FUNC_POLL): When cross-compiling, reject also the
6429         poll() implementation in AIX.
6430         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
6431
6432 2006-04-24  Bruno Haible  <bruno@clisp.org>
6433
6434         * m4/poll.m4 (gl_FUNC_POLL): Rearrange code, so that POLL_H gets
6435         assigned exactly once.
6436
6437 2006-04-23  Claudio Fontana  <claudio@gnu.org>
6438             Bruno Haible  <bruno@clisp.org>
6439
6440         * modules/gettext (Makefile.am): Add a -I flag for <libintl.h>.
6441         * gnulib-tool (func_emit_lib_Makefile_am): Emit empty default value
6442         for AM_CPPFLAGS.
6443
6444 2006-04-23  Bruno Haible  <bruno@clisp.org>
6445
6446         * modules/copy-file: Depend on unistd.
6447         * modules/execute: Likewise.
6448         * modules/fatal-signal: Likewise.
6449         * modules/findprog: Likewise.
6450         * modules/mkdtemp : Likewise.
6451         * modules/pipe: Likewise.
6452         * modules/wait-process: Likewise.
6453
6454 2006-04-23  Bruno Haible  <bruno@clisp.org>
6455
6456         * lib/fwriteerror.c (fwriteerror): Call fclose also when an error
6457         condition was already detected.
6458         Reported by Ben Pfaff <blp@cs.stanford.edu>.
6459
6460 2006-04-23  Bruno Haible  <bruno@clisp.org>
6461
6462         * lib/copy-file.c: Include <unistd.h> unconditionally.
6463         * lib/execute.c: Likewise.
6464         * lib/fatal-signal.c: Likewise.
6465         * lib/findprog.c: Likewise.
6466         * lib/mkdtemp.c: Likewise.
6467         * lib/pipe.h: Likewise.
6468         * lib/pipe.c: Likewise.
6469         * lib/wait-process.h: Likewise.
6470
6471 2006-04-23  Bruno Haible  <bruno@clisp.org>
6472
6473         * gnulib-tool (func_usage): Fix --import description. Document
6474         --update.
6475         (func_import): Create temporary file in a temporary directory, if
6476         --dry-run is specified. Silence errors from 'grep' when there are no
6477         m4 files in $m4dir.
6478         (func_create_testdir): Silence errors from 'grep' when there are no
6479         m4 files in $m4dir.
6480         Reported by Karl Berry <karl@freefriends.org>.
6481
6482 2006-04-20  Bruno Haible  <bruno@clisp.org>
6483
6484         * m4/argp.m4 (gl_ARGP): Don't call AC_CHECK_DECLS_ONCE with more than
6485         one argument, so that the code will be portable to Autoconf 2.60.
6486         * m4/getlogin_r.m4 (gl_PREREQ_GETLOGIN_R): Likewise.
6487         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
6488         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO): Likewise.
6489
6490 2006-04-19  Derek Price  <derek@ximbiot.com>
6491             Eric Blake  <ebb9@byu.net>
6492
6493         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Use </full/path.h>
6494         rather than "/full/path.h".  Update comment to match.  Shorten &
6495         generalize m4_translit call via AS_TR_CPP.
6496
6497 2006-04-19  Derek Price  <derek@ximbiot.com>
6498             Eric Blake  <ebb9@byu.net>
6499
6500         * lib/inttypes.h: Correct grammar in comment.
6501
6502 2006-04-18  Derek Price  <derek@ximbiot.com>
6503             Paul Eggert  <eggert@cs.ucla.edu>
6504
6505         * modules/inttypes: New file.
6506         * modules/strtoimax, modules/strtoumax: Depend on inttypes.
6507
6508 2006-04-18  Derek Price  <derek@ximbiot.com>
6509             Paul Eggert  <eggert@cs.ucla.edu>
6510
6511         * m4/_inttypes_h.m4, m4/full-header-path.m4, m4/include_next.m4:
6512         New files.
6513
6514 2006-04-18  Derek Price  <derek@ximbiot.com>
6515             Paul Eggert  <eggert@cs.ucla.edu>
6516
6517         * lib/inttypes.h: New file.
6518         * lib/strtoimax.c: Assume <inttypes.h>.
6519
6520 2006-04-15  Paul Eggert  <eggert@cs.ucla.edu>
6521
6522         * lib/utimens.c (futimens): glibc futimesat messes up if /proc
6523         isn't mounted.  Problem reported by Kir Kolyshkin.
6524
6525 2006-04-13  Paul Eggert  <eggert@cs.ucla.edu>
6526
6527         * lib/regcomp.c (init_dfa): Don't use wchar_t or wctype_t if
6528         RE_ENABLE_I18N is not defined.  Problem reported by Mark D. Baushke via
6529         Derek R. Price.
6530         * lib/regex.h (RE_DUP_MAX): Update comment to match current
6531         implementation.
6532
6533 2006-04-12  Eric Blake  <ebb9@byu.net>
6534
6535         * modules/time_r (Makefile.am): Remove lib_SOURCES line, as this
6536         is now done automatically by the corresponding Autoconf macro.
6537
6538 2006-04-11  Paul Eggert  <eggert@cs.ucla.edu>
6539
6540         * m4/time_r.m4 (gl_TIME_R): Add AC_LIBSOURCES for time_r.c and
6541         time_r.h.
6542
6543 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
6544
6545         Merge regex changes from libc, removing some of our
6546         POSIX-conformance changes that were rejected and redoing them in a
6547         less-intrusive way.
6548
6549         * lib/regcomp.c (re_compile_internal, init_dfa):
6550         Length arg is now size_t, not Idx.  All uses changed.
6551         (peek_token): Forward decl now says internal_function.
6552         (__re_error_msgid, __re_error_msgid_idx):
6553         Now static rather than extern with attribute_hidden.
6554         (re_compile_pattern) [!defined _LIBC]: Use K&R-style defn.
6555         For some reason libc prefers K&R style defns for external functions.
6556         (regerror) [!defined _LIBC]: Likewise.
6557         (re_set_syntax, re_compile_fastmap, regcomp, regfree, re_comp):
6558         (seek_collating_symbol_entry, lookup_collation_sequence_value):
6559         (build_range_exp, build_collating_symbol):
6560         Use K&R-style defn.
6561         (re_compile_fastmap): Use '\0' to memset, not 0.
6562         (utf8_sb_map): Make the calculations more obvious.
6563         (init_dfa, parse_bracket_exp, build_charclass_op):
6564         Call calloc and cast result, as glibc does.
6565         (init_word_char, fetch_token, peek_token, peek_token_bracket):
6566         (build_range_exp, build_collating_symbol):
6567         Now internal functions.
6568
6569         * lib/regex.c [!defined _LIBC]: Allow compiling with C++ compilers.
6570
6571         * lib/regex.h (__USE_GNU_REGEX): New macro.  Don't depend on
6572         _REGEX_SOURCE any more; depend on _GNU_SOURCE instead.
6573         Don't depend on VMS; depend on __VMS instead, for POSIX
6574         namespace cleanness.
6575         (regoff_t): Define to ssize_t, not long int.
6576
6577         Remove the REG_ macros named below.  Instead, make the old names
6578         (e.g., RE_BACKSLASH_ESCAPE_IN_LISTS) visible only if
6579         __USE_GNU_REGEX.
6580         (REG_BACKSLASH_ESCAPE_IN_LISTS):
6581         (REG_BK_PLUS_QM, REG_CHAR_CLASSES, REG_CONTEXT_INDEP_ANCHORS):
6582         (REG_CONTEXT_INDEP_OPS, REG_CONTEXT_INVALID_OPS):
6583         (REG_DOT_NEWLINE, REG_DOT_NOT_NULL, REG_HAT_LISTS_NOT_NEWLINE):
6584         (REG_INTERVALS, REG_LIMITED_OPS, REG_NEWLINE_ALT):
6585         (REG_NO_BK_BRACES, REG_NO_BK_PARENS, REG_NO_BK_REFS):
6586         (REG_NO_BK_VBAR, REG_NO_EMPTY_RANGES):
6587         (REG_UNMATCHED_RIGHT_PAREN_ORD, REG_NO_POSIX_BACKTRACKING):
6588         (REG_NO_GNU_OPS, REG_DEBUG, REG_INVALID_INTERVAL_ORD):
6589         (REG_IGNORE_CASE, REG_CARET_ANCHORS_HERE):
6590         (REG_CONTEXT_INVALID_DUP, REG_NO_SUB, REG_SYNTAX_EMACS):
6591         (REG_SYNTAX_AWK, REG_SYNTAX_GNU_AWK, REG_SYNTAX_POSIX_AWK):
6592         (REG_SYNTAX_GREP, REG_SYNTAX_EGREP, REG_SYNTAX_POSIX_EGREP):
6593         (REG_SYNTAX_ED, REG_SYNTAX_SED, _REG_SYNTAX_POSIX_COMMON):
6594         (REG_SYNTAX_POSIX_BASIC, REG_SYNTAX_POSIX_MINIMAL_BASIC):
6595         (REG_SYNTAX_POSIX_EXTENDED, REG_SYNTAX_POSIX_MINIMAL_EXTENDED):
6596         (REG_DUP_MAX, REG_UNALLOCATED, REG_REALLOCATE, REG_FIXED):
6597         (REG_NREGS):
6598         Remove.  All uses replaced by the old RE_* names.
6599         (RE_BACKSLASH_ESCAPE_IN_LISTS):
6600         (RE_BK_PLUS_QM, RE_CHAR_CLASSES, RE_CONTEXT_INDEP_ANCHORS):
6601         (RE_CONTEXT_INDEP_OPS, RE_CONTEXT_INVALID_OPS):
6602         (RE_DOT_NEWLINE, RE_DOT_NOT_NULL, RE_HAT_LISTS_NOT_NEWLINE):
6603         (RE_INTERVALS, RE_LIMITED_OPS, RE_NEWLINE_ALT):
6604         (RE_NO_BK_BRACES, RE_NO_BK_PARENS, RE_NO_BK_REFS):
6605         (RE_NO_BK_VBAR, RE_NO_EMPTY_RANGES):
6606         (RE_UNMATCHED_RIGHT_PAREN_ORD, RE_NO_POSIX_BACKTRACKING):
6607         (RE_NO_GNU_OPS, RE_DEBUG, RE_INVALID_INTERVAL_ORD):
6608         (RE_IGNORE_CASE, RE_CARET_ANCHORS_HERE):
6609         (RE_CONTEXT_INVALID_DUP, RE_NO_SUB):
6610         Don't bother having these macros be independent of each others'
6611         values, since they no longer exist in the POSIX name space.
6612
6613         Rename the following member names back to their old names,
6614         unless !__USE_GNU_REGEX.  All uses changed back.
6615         (buffer): Renamed from re_buffer.
6616         (allocated): Renamed from re_allocated.
6617         (used): Renamed from re_used.
6618         (syntax): Renamed from re_syntax.
6619         (fastmap): Renamed from re_fastmap.
6620         (translate): Renamed from re_translate.
6621         (can_be_null): Renamed from re_can_be_null.
6622         (regs_allocated): Renamed from re_regs_allocated.
6623         (fastmap_accurate): Renamed from re_fastmap_accurate.
6624         (no_sub): Renamed from re_no_sub.
6625         (not_bol): Renamed from re_not_bol.
6626         (not_eol): Renamed from re_not_eol.
6627         (newline_anchor): Renamed from re_newline_anchor.
6628         (num_regs): Renamed from rm_num_regs.
6629         (start): Renamed from rm_start.
6630         (end): Renamed from rm_end.
6631
6632         (free_state): Move up a bit.
6633
6634         * lib/regex_internal.h (inline) [__GNUC__ < 3 && defined _LIBC]:
6635         #define to be empty.
6636         (ASCII_CHARS): New macro, replacing all uses of 0x80 and/or SBC_MAX / 2
6637         when that is what is intended.
6638         (SBC_MAX): Define to UCHAR_MAX + 1, not 256.
6639         (__re_error_msgid, __re_error_msgid_idx): Remove decls; not needed.
6640         (MAX): New macro.
6641         (re_xmalloc, re_calloc, re_xrealloc, re_x2realloc): Remove.
6642         All uses changed back to re_malloc, etc.  It's now the caller's
6643         responsibility to check for overflow; all callers changed.
6644         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc, re_xnrealloc):
6645         (re_x2nrealloc): Remove.
6646         (free_state): Remove decl.
6647
6648         * lib/regexc.c (regexec, re_match, re_search, re_match_2, re_search_2):
6649         (re_set_registers, re_exec):
6650         Use K&R-style defn.
6651
6652         2006-01-31  Roland McGrath  <roland@redhat.com>
6653
6654         * lib/regcomp.c (calc_eclosure_iter): Remove dead variables.
6655         Reported by Mike Frysinger <vapier@gentoo.org>.
6656
6657         2006-01-15  Andreas Jaeger  <aj@suse.de>
6658
6659         [BZ #1950]
6660         * lib/regex_internal.c (re_string_reconstruct): Adjust for
6661         build_wcs_upper_buffer change.
6662         (build_wcs_upper_buffer): Change return type.
6663
6664         2005-12-10  Ulrich Drepper  <drepper@redhat.com>
6665
6666         * lib/regex_internal.h: Include <stdint.h> if available.
6667
6668         2005-12-06  Paolo Bonzini  <bonzini@gnu.org>
6669
6670         * lib/regex_internal.h (SIZE_MAX): Provide a default definition.
6671
6672         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
6673
6674         * lib/regcomp.c: Adjust for changed secondary hash function.
6675
6676         2005-09-30  Ulrich Drepper  <drepper@redhat.com>
6677
6678         * lib/regex.h: Pretty printing.
6679         Clean up namespace a bit.
6680
6681         2005-09-30  Jakub Jelinek  <jakub@redhat.com>
6682
6683         * lib/regexec.c (update_cur_sifted_state, check_arrival,
6684         check_arrival_add_next_nodes): Avoid using uninitialized variable.
6685
6686         2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
6687                     Ulrich Drepper  <drepper@redhat.com>
6688
6689         [BZ #1302]
6690         * lib/regex_internal.h (bitset_t): Renamed from bitset.  All uses
6691         changed.
6692         (bitset_word_t): Renamed from bitset_word.  All uses changed.
6693
6694         2005-09-22  Ulrich Drepper  <drepper@redhat.com>
6695
6696         [BZ #281]
6697         * lib/regex.h: Define RE_TRANSLATE_TYPE as unsigned char *.
6698         * lib/regcomp.c: Remove unnecessary uses of
6699         unsigned RE_TRANSLATE_TYPE.
6700         * lib/regex_internal.h: Likewise.
6701         * lib/regex_internal.c: Likewise.
6702         * lib/regexec.c: Likewise.
6703         Based on a patch by Stepan Kasal <kasal@ucw.cz>.
6704
6705         2005-09-07  Ulrich Drepper  <drepper@redhat.com>
6706
6707         * lib/regexec.c (find_recover_state): Remove unnecessary
6708         initialization.
6709         (transit_state_bkref): Make DFA a const pointer.
6710         (get_subexp): Likewise.
6711         (check_arrival): Likewise.
6712         (update_cur_sifted_state): Likewise.
6713         (re_search_internal): Likewise.
6714         (prune_impossible_nodes): Likewise.
6715         (acquire_init_state_context): Likewise.
6716         (proceed_next_node): Likewise.
6717         (set_regs): Likewise.
6718         (free_fail_stack_return): Likewise.
6719         (check_arrival_expand_ecl): Mark DFA parameter as const.
6720         (check_arrival_expand_ecl_sub): Likewise.
6721         (check_subexp_limits): Likewise.
6722         (sub_epsilon_src_nodes):  Likewise.
6723         (add_epsilon_src_nodes):  Likewise.
6724         (merge_state_array): Likewise.
6725         (update_regs): Likewise.
6726         (build_trtable): Likewise.
6727         (sift_states_backward): Mark MCTX parameter as const.
6728         (build_sifted_states): Likewise.
6729         (update_cur_sifted_state): Likewise.
6730         (sift_states_mkref): Likewise.
6731         (check_arrival_expand_ecl): Mark eclosure as const.
6732         (check_dst_limits_calc_pos_1): Likewise.
6733         * lib/regex_internal.h (re_match_context_t): Make dfa a const
6734         pointer.
6735
6736         2005-09-06  Ulrich Drepper  <drepper@redhat.com>
6737
6738         * lib/regexec.c (merge_state_with_log): Define dfa as const pointer.
6739         (transit_state_sb): Likewise.
6740         (transit_state_mb): Likewise.
6741         (sift_states_iter_mb): Likewise.
6742         (check_arrival_add_next_nodes): Likewise.
6743         (check_node_accept_bytes): Change first parameter to pointer-to-const.
6744         [_LIBC] (re_search_2_stub): Use mempcpy.
6745
6746         * lib/regex_internal.c (re_string_reconstruct): Avoid calling
6747         mbrtowc for very simple UTF-8 case.
6748
6749         * lib/regex_internal.c (re_acquire_state): Make DFA pointer arg
6750         a pointer-to-const.
6751         (re_acquire_state_context): Likewise.
6752         * lib/regex_internal.h: Adjust prototypes.
6753
6754         * lib/regex.c: Prevent using C++ compilers.
6755
6756         * lib/regex_internal.c (re_acquire_state): Minor code rearrangement.
6757         (re_acquire_state_context): Likewise.
6758
6759 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
6760
6761         * modules/regex (Depends-on): Add ssize_t.
6762
6763 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
6764
6765         * m4/regex.m4 (gl_REGEX): Check for new glibc interface to
6766         translation table.
6767
6768 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
6769
6770         * doc/gnulib-tool.texi (Modified imports): pathname -> file name.
6771
6772 2006-03-29  Mark D. Baushke  <mdb@gnu.org>
6773             Bruno Haible  <bruno@clisp.org>
6774
6775         * lib/stdint_.h: On OpenBSD, don't redefine types already included in
6776         <sys/types.h> and <inttypes.h>.
6777
6778 2006-03-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
6779
6780         * m4/argz.m4 (gl_FUNC_ARGZ): If we define `error_t', also define
6781         `__error_t_defined', so argp.h will not typedef the former.
6782
6783 2006-03-25  Paul Eggert  <eggert@cs.ucla.edu>
6784
6785         * m4/regex.m4 (gl_REGEX): Don't insist on REG_SYNTAX_POSIX_EGREP,
6786         REG_SYNTAX_EMACS, and REG_IGNORE_CASE.  Settle for the traditional
6787         glibc names.  Even if glibc is changed to conform to POSIX, the
6788         traditional names will be available anyway, since regex depends on
6789         the extensions module.  Also, fix a longstanding typo in the
6790         implementation of Spencer ERE test #75 from grep 2.3.  Problems
6791         reported by Emanuele Giaquinta.  Also, change sense of cached
6792         variable, so that the message makes sense.
6793
6794 2006-03-24  Simon Josefsson  <jas@extundo.com>
6795
6796         * lib/base64.c: Fix problems reported by Eric Blake <ebb9@byu.net>,
6797         including some doc fixes.
6798         (base64_encode_alloc): Fix +1 bug on allocation failures.
6799
6800 2006-03-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
6801
6802         * lib/base64.c (base64_encode): Do not read past end of array with
6803         unsanitized input on systems with CHAR_BIT > 8.
6804
6805 2006-03-24  Eric Blake  <ebb9@byu.net>
6806
6807         * lib/time_r.c (copy_string_result): Remove, as it is no longer used.
6808
6809 2006-03-22  Karl Berry  <karl@gnu.org>
6810
6811         * config/srclist.txt (*setenv.[ch]): get from coreutils.
6812         * config/srclistvars.sh (COREUTILS): new var.
6813
6814 2006-03-17  Jim Meyering  <jim@meyering.net>
6815
6816         * m4/regex.m4 (gl_REGEX): Fix typo in last change:
6817         s/_REGEX_WIDE_OFFSETS/_REGEX_LARGE_OFFSETS/.
6818
6819 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
6820
6821         * m4/regex.m4 (gl_REGEX): Don't check for off_t, since the code
6822         no longer needs it.  Instead, check that regoff_t is as least
6823         as wide as ptrdiff_t.
6824
6825         Don't define _REGEX_WIDE_OFFSETS unless using the included regex,
6826         so that our regex.h stays compatible with the installed regex.
6827         This is helpful for installers who configure --without-included-regex.
6828         Problem reported by Emanuele Giaquinta.
6829
6830 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
6831
6832         * lib/regex.h (regoff_t) [defined _REGEX_LARGE_OFFSETS]:
6833         Typedef to long int, not to off_, as POSIX will likely change
6834         in that direction.
6835
6836 2006-03-15  Eric Blake  <ebb9@byu.net>
6837
6838         * m4/dirfd.m4 (gl_FUNC_DIRFD): Use AC_REQUIRE for AC_HEADER_DIRENT.
6839
6840 2006-03-13  Sergey Poznyakoff  <gray@gnu.org.ua>
6841
6842         * lib/argp-help.c (validate_uparams): Fix typo
6843         * lib/argp-parse.c (argp_default_options): Consistently begin help
6844         messages with a lowercase letter.
6845
6846 2006-03-11  Paul Eggert  <eggert@cs.ucla.edu>
6847
6848         * lib/time_r.h (asctime_r, ctime_r): Remove.  These functions can
6849         overrun buffers and shouldn't be used (much as gets shouldn't be
6850         used).
6851         * lib/time_r.c (asctime_r, ctime_r): Likewise.
6852
6853 2006-03-08  Simon Josefsson  <jas@extundo.com>
6854
6855         * m4/gc-random.m4: Permit 'no' as variable values and fix warnings,
6856         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
6857
6858 2006-03-08  Simon Josefsson  <jas@extundo.com>
6859
6860         * m4/gc-random.m4: Call AC_CANONICAL_HOST and use $host_os instead of
6861         $target, suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
6862
6863 2006-03-08  Simon Josefsson  <jas@extundo.com>
6864
6865         * lib/gc-gnulib.c (randomize): Don't open files called 'no', they
6866         signal that configure disabled the device.
6867
6868 2006-03-08  Simon Josefsson  <jas@extundo.com>
6869
6870         * build-aux/maint.mk: Fix refresh-po, to handle no translated
6871         languages.
6872
6873 2006-03-07  Simon Josefsson  <jas@extundo.com>
6874
6875         * modules/getopt (Depends-on): Add unistd.
6876
6877         * modules/unistd: New file.
6878
6879 2006-03-07  Simon Josefsson  <jas@extundo.com>
6880
6881         * modules/gc-random: New file.
6882
6883 2006-03-07  Simon Josefsson  <jas@extundo.com>
6884
6885         * m4/unistd_h.m4: New file.
6886
6887 2006-03-07  Simon Josefsson  <jas@extundo.com>
6888
6889         * m4/readline.m4 (gl_FUNC_READLINE): Rewrite the cached part of the
6890         test to be side-effect free by storing the result in the cache
6891         variable gl_cv_lib_readline, and moving the assignment of
6892         LIBREADLINE and LTLIBREADLINE outside the COMMANDS-TO-SET-IT.
6893         From Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
6894
6895 2006-03-07  Simon Josefsson  <jas@extundo.com>
6896
6897         * m4/gc-random.m4: New file, mostly from gc.m4.  Warn instead of
6898         error on missing devices (the functions will return an error).
6899
6900         * m4/gc.m4: Move random stuff to gc-random.m4
6901
6902 2006-03-07  Simon Josefsson  <jas@extundo.com>
6903
6904         * lib/unistd_.h: New file.
6905
6906 2006-03-07  Simon Josefsson  <jas@extundo.com>
6907
6908         * lib/gc-libgcrypt.c, gc-gnulib.c: Use GC_USE_RANDOM.
6909
6910 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
6911
6912         * m4/unistd_h.m4 (gl_HEADER_UNISTD): Rename, to match modules file.
6913         Problem reported by Juan Manuel Guerrero.
6914
6915 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
6916
6917         * lib/c-stack.c: Include unistd.h unconditionally, since we now assume
6918         the unistd module.
6919         * lib/getlogin_r.c: Likewise.
6920         * lib/getlogin_r.h: Likewise.
6921         * lib/glob.c: Likewise.
6922         * lib/pagealign_alloc.c: Likewise.
6923         * lib/unistd_.h: Remove; no longer needed.
6924
6925 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
6926
6927         * MODULES.html.sh (Support for systems lacking POSIX:2001):
6928         Add unistd.
6929         * modules/c-stack (Depends-on): Add unistd.
6930         * modules/getlogin_r: Likewise.
6931         * modules/glob: Likewise.
6932         * modules/pagealign_alloc: Likewise.
6933         * modules/unistd (Files): Remove lib/unistd_.h.
6934         (EXTRA_DIST): Remove.
6935         (unistd.h): Create using 'echo' rather than 'cp', so that we don't
6936         need unistd_.h.
6937         (MOSTLYCLEANFILES): Remove unistd.h-t.
6938
6939 2006-03-03  Simon Josefsson  <jas@extundo.com>
6940
6941         * build-aux/maint.mk: Add several syntax checks from CoreUtils.
6942
6943 2006-03-03  Simon Josefsson  <jas@extundo.com>
6944
6945         * build-aux/maint.mk: Add refresh-po rule, based on ideas from
6946         libidn and bison.
6947
6948 2006-03-03  Simon Josefsson  <jas@extundo.com>
6949
6950         * build-aux/maint.mk: Add indent target.
6951
6952 2006-03-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de> (tiny change)
6953
6954         * m4/poll.m4 (gl_FUNC_POLL): If we deem poll(2) unacceptable, use
6955         our replacement poll.h in any case, to avoid a differing
6956         declaration from a system header.  Seen on AIX.
6957
6958 2006-03-01  Simon Josefsson  <jas@extundo.com>
6959
6960         * lib/readline.c: Fix typo, tiny patch from Stepan Kasal
6961         <kasal@ucw.cz>.
6962
6963 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
6964
6965         * modules/gettime (Depends-on): Add extensions module.
6966         * modules/nanosleep (Depends-on): Likewise.
6967         * modules/settime (Depends-on): Likewise.
6968
6969 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
6970
6971         * m4/clock_time.m4 (gl_CLOCK_TIME): Require gl_USE_SYSTEM_EXTENSIONS,
6972         not merely AC_GNU_SOURCE, for the benefit of Solaris 10 when compiled
6973         pedantically.
6974         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
6975         * m4/timespec.m4 (gl_TIMESPEC): Likewise.
6976
6977         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use "=" with "test",
6978         not "==".  Reported by Ralf Wildenhues.
6979
6980 2006-03-01  Karl Berry  <karl@gnu.org>
6981
6982         * doc/Copyright/request-*: new files, synced from gnuorg.
6983
6984 2006-03-01  Karl Berry  <karl@gnu.org>
6985
6986         * config/srclist.txt (Copyright/*): new entries.
6987
6988 2006-02-28  Simon Josefsson  <jas@extundo.com>
6989
6990         * lib/getopt.c: Protect #include of unistd.h, for MSVS.
6991
6992 2006-02-27  Simon Josefsson  <jas@extundo.com>
6993
6994         * lib/base64.h: Indent #define's.  From Jim Meyering
6995         <jim@meyering.net>.
6996
6997 2006-02-27  Jim Meyering  <jim@meyering.net>
6998
6999         Revert the change of 2006-02-24, so these files can continue
7000         to be sync'd from gettext.
7001         * lib/mkdtemp.c, setenv.c, unsetenv.c: *Un*-normalize inclusion
7002         of `config.h'.
7003
7004 2006-02-26  Paul Eggert  <eggert@cs.ucla.edu>
7005
7006         * modules/intprops: New file.
7007         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
7008         Add intprops.
7009         * modules/getloadavg (Files): Remove lib/intprops.h.
7010         (Depends-on): Add intprops.
7011         * modules/human: Likewise.
7012         * modules/inttostr: Likewise.
7013         * modules/openat: Likewise.
7014         * modules/sig2str: Likewise.
7015         * modules/userspec: Likewise.
7016         * modules/utimecmp: Likewise.
7017         * modules/xnanosleep: Likewise.
7018         * modules/xstrtol: Likewise.
7019
7020 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny changes)
7021
7022         * modules/xstrtod: Omit xstrtod.h, xstrtod.c; they're in LIB_SOURCES.
7023         * modules/lock-tests (TESTS): Use $(EXEEXT).
7024         * modules/tls-tests: Likewise.
7025         * modules/argp-tests: Likewise.
7026         (check_PROGRAMS): New var, replacing...
7027         (noinst_PROGRAMS, test_argp_SOURCES): Remove.
7028
7029 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
7030
7031         * lib/mkdtemp.c, lib/setenv.c, lib/unsetenv.c: Normalize inclusion of
7032         `config.h'.
7033
7034 2006-02-24  Paul Eggert  <eggert@cs.ucla.edu>
7035
7036         * lib/glob.c: Say "invalid" rather than "illegal" in comments.
7037
7038 2006-02-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
7039
7040         Sync from coreutils.
7041         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Require gl_FUNC_LCHMOD and
7042         gl_CHDIR_SAFER.
7043
7044 2006-02-22  Jim Meyering  <jim@meyering.net>
7045
7046         Sync from coreutils.
7047         * m4/chdir-safer.m4: New file.
7048
7049 2006-02-20  Paul Eggert  <eggert@cs.ucla.edu>
7050
7051         * lib/getcwd.c (AT_FDCWD): Work around a bug in Solaris 9 and 10, where
7052         AT_FDCWD exceeds INT_MAX.
7053         * lib/openat.h (AT_FDCWD): Likewise.
7054
7055 2006-02-17  Eric Blake  <address@hidden>
7056
7057         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix caching error.
7058
7059 2006-02-16  Simon Josefsson  <jas@extundo.com>
7060
7061         * modules/getaddrinfo (Depends-on): Add sys_socket.
7062
7063 2006-02-15  Simon Josefsson  <jas@extundo.com>
7064
7065         * build-aux/maint.mk: Add dsyntax-check rule.
7066
7067 2006-02-15  Eric Blake  <ebb9@byu.net>
7068
7069         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Don't attempt using
7070         winsock2.h or ws2tcpip.h when sys/socket.h is present. Fixes
7071         'present but cannot compile' warnings on cygwin.
7072         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Use gl_HEADER_SYS_SOCKET.  Don't
7073         use ws2tcpip.h if sys/socket.h works.
7074         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Use gl_HEADER_SYS_SOCKET.
7075         (gl_GETADDRINFO): Don't use ws2tcpip.h when sys/socket.h is present.
7076
7077 2006-02-14  Simon Josefsson  <jas@extundo.com>
7078
7079         * modules/maintainer-makefile (Files): Rename.
7080
7081         * build-aux/GNUmakefile: Rename Makefile.maint to maint.mk
7082         and (the local) Makefile.cfg to maint-cfg.mk.
7083
7084         * build-aux/Makefile.maint, build-aux/maint.mk: Renamed the former
7085         to the latter.
7086
7087         * modules/maintainer-makefile: New module.
7088
7089         * build-aux/Makefile.maint: New file, from GNU CoreUtils, although
7090         severaly stripped to make it possible to build it up from scratch
7091         with reliable tests.
7092
7093         * build-aux/GNUmakefile: New file, from GNU CoreUtils with some
7094         fixes to permit overriding the default actions when configure and
7095         makefile are not available.
7096
7097 2006-02-14  Paul Eggert  <eggert@cs.ucla.edu>
7098
7099         Sync from coreutils.
7100         * modules/lstat (Depends-on): Don't depend on xalloc.
7101         (License): Change from GPL to LGPL, since this is now simply a
7102         replacement for a libc function.
7103
7104 2006-02-14  Jim Meyering  <jim@meyering.net>
7105
7106         Sync from coreutils.
7107
7108         Eliminate the unwelcome (albeit unlikely) possibility of xmalloc
7109         failure on deficient systems, and simplify gnulib lgpl dependencies.
7110         * lib/lstat.c (rpl_lstat): Rewrite to use stat() in place of the
7111         xmalloc/lstat combination.  Based on a patch from Bruno Haible.
7112
7113         * lib/xalloc-die.c: Remove unused definition of N_.
7114
7115 2006-02-14  Jim Meyering  <jim@meyering.net>
7116
7117         Sync from coreutils.
7118         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Invoke
7119         AC_CHECK_FUNCS(getmntent) unconditionally so that tests of
7120         $ac_cv_func_getmntent (e.g., in gl_LIST_MOUNTED_FILE_SYSTEMS) need not
7121         double-quote uses of that variable, to accommodate the rare case in
7122         which getmntent is available in none of the libraries checked.  This
7123         happens at least on FreeBSD 5.0.
7124
7125 2006-02-13  Simon Josefsson  <jas@extundo.com>
7126
7127         * gnulib-tool (Usage): Fix --import, from
7128         karl@freefriends.org (Karl Berry).
7129
7130 2006-02-13  Sergey Poznyakoff  <gray@gnu.org.ua>
7131
7132         * lib/argp-fmtstream.c: Restore another bugfix lost on 2005-12-12
7133
7134 2006-02-07  Sergey Poznyakoff  <gray@gnu.org.ua>
7135
7136         * lib/argp-namefrob.h: Restore changes accidentally lost during the
7137         "autoupdate" on 2005-12-12.
7138
7139 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
7140
7141         * modules/closeout (Depends-on): Remove atexit.
7142
7143 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
7144
7145         * lib/closeout.c (close_stdout): Don't assume 'bool' converts nonzero
7146         ints to 0 or 1, as this isn't true for the stdbool.h substitute.
7147
7148 2006-02-05  Paul Eggert  <eggert@cs.ucla.edu>
7149
7150         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Don't #define
7151         __EXTENSIONS__ if this causes compilation to fail.  Problem
7152         reported by Nelson H. F. Beebe with Solaris 10 and Sun C 5.7
7153         c89 -D_XOPEN_SOURCE -D_XOPEN_SOURCE_EXTENDED.
7154
7155 2006-01-27  Paul Eggert  <eggert@cs.ucla.edu>
7156
7157         * lib/fnmatch.c (L_): Renamed from L, to work around a bug in
7158         Mac OS X 10.3.9 with GCC 3 reported by Claudio Fontana in
7159         <http://lists.gnu.org/archive/html/bug-gnulib/2006-01/msg00074.html>.
7160         All uses changed.
7161
7162 2006-01-26  Simon Josefsson  <jas@extundo.com>
7163
7164         * lib/socket_.h: Set WINVER to 0x0501, to make sure getaddrinfo
7165         prototype is visible on mingw32.
7166
7167         * lib/getaddrinfo.h: Define EAI_ADDRFAMILY and EAI_SYSTEM if not set,
7168         for mingw32.
7169
7170         * lib/gai_strerror.c, getaddrinfo.h: Protect netdb.h #include (for
7171         mingw32).
7172
7173 2006-01-26  Paul Eggert  <eggert@cs.ucla.edu>
7174
7175         * lib/fts.c (diropen): Open with O_NOCTTY | O_NONBLOCK too.  Don't
7176         attempt to open for write; this always fails, at least on POSIX
7177         hosts.  This reinstates the 2006-01-09 change, which was
7178         inadvertently removed.
7179
7180 2006-01-26  Bruno Haible  <bruno@clisp.org>
7181
7182         * gnulib-tool (func_import): Use "trap 'exit $?' instead of "trap :".
7183         Reported by Paul Eggert.
7184
7185 2006-01-26  Bruno Haible  <bruno@clisp.org>
7186             Paul Eggert  <eggert@cs.ucla.edu>
7187
7188         * lib/stdbool_.h (_Bool)
7189         [(! (defined __cplusplus || defined __BEOS__)
7190           && !defined __GNUC__
7191           && !(defined __HP_cc || defined __xlc__
7192                || (defined __SUNPRO_C && (__SUNPRO_C < 0x550 || __STDC__ == 1))
7193                || defined __sgi))]:
7194         #define to signed char in these cases too; this simplifies
7195         the code (so that we don't have to worry about HP-UX, AIX, SunPRO,
7196         etc., separately) and makes it more conservative.
7197
7198 2006-01-25  Simon Josefsson  <jas@extundo.com>
7199
7200         * m4/getaddrinfo.m4: Look for getaddrinfo inside ws2tcip.h and
7201         -lws2_32.  Protect sys/socket.h and netdb.h #include's.  Include
7202         ws2tcpip.h with WINVER=0x0501.  All for mingw32.
7203
7204 2006-01-25  Sergey Poznyakoff  <gray@gnu.org.ua>
7205
7206         * lib/argp-namefrob.h: Bugfix. Remove stray #
7207
7208 2006-01-25  Paul Eggert  <eggert@cs.ucla.edu>
7209
7210         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for xlc bug if __GCC__ too,
7211         so that we test the test.
7212         Check for yet another HP-UX cc bug involving *bool |= bool.
7213
7214 2006-01-25  Karl Berry  <karl@gnu.org>
7215
7216         * config/srclist.txt (vasnprintf.c): sync lost.
7217
7218 2006-01-25  Jim Meyering  <jim@meyering.net>
7219
7220         Sync from the stable (b5) branch of coreutils:
7221
7222         * lib/fts.c (fts_children): Don't let close() clobber errno from
7223         failed fchdir().
7224
7225         * lib/fts.c (fts_stat): When following a symlink-to-directory,
7226         don't necessarily interpret stat-fails+lstat-succeeds as indicating
7227         a dangling symlink.  That can also happen at least for ELOOP.
7228         The fix: return FTS_SLNONE only when the stat errno is ENOENT.
7229         FYI, this bug predates the inclusion of fts.c in coreutils.
7230
7231         * lib/fts.c (fts_open): Put new maxarglen declaration and uses
7232         in their own block, so pre-c99 compilers don't object.
7233
7234         Avoid the double-free (first in fts_read, second in fts_close) that
7235         would occur when an `active' directory is made inaccessible (e.g.,
7236         via chmod a-x) during a traversal.
7237         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
7238         before returning.  Reproduce this failure by
7239         mkdir -p a/b; cd a; chmod a-x . b
7240         Reported by Stavros Passas.
7241
7242 2006-01-25  Jim Meyering  <jim@meyering.net>
7243
7244         * lib/fileblocks.c: Remove more useless parentheses.
7245         * lib/readutmp.h: Likewise.
7246
7247 2006-01-25  Bruno Haible  <bruno@clisp.org>
7248
7249         * lib/stdbool_.h (_Bool) [IRIX cc]: Define as 'signed char', to avoid
7250         warnings.
7251         Reported by Paul Eggert.
7252
7253 2006-01-25  Bruno Haible  <bruno@clisp.org>
7254
7255         * gnulib-tool (func_import): Use "trap :" instead of "trap -" to get
7256         rid of a trap command. For Solaris sh.
7257         Reported by Mark D. Baushke <mdb@gnu.org>.
7258
7259 2006-01-24  Simon Josefsson  <jas@extundo.com>
7260
7261         * lib/socket_.h (SHUT_WR, SHUT_RDWR): Don't hardcode, suggested by
7262         Bruno.
7263
7264 2006-01-24  Karl Berry  <karl@gnu.org>
7265
7266         * config/srclist.txt (argp-namefrob.h): sync lost.
7267
7268 2006-01-24  Jim Meyering  <jim@meyering.net>
7269
7270         * modules/openat (Files): Add lib/intprops.h.
7271         From Mark D. Baushke.
7272
7273 2006-01-24  Jim Meyering  <jim@meyering.net>
7274
7275         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBSOURCES([intprops.h]).
7276         Reported by Mark D. Baushke.
7277
7278 2006-01-24  Jim Meyering  <jim@meyering.net>
7279
7280         * lib/socket_.h: Remove useless parentheses in uses of cpp `defined'.
7281
7282 2006-01-24  Bruno Haible  <bruno@clisp.org>
7283
7284         * modules/strnlen (Maintainer): Change from glibc to all.
7285
7286 2006-01-24  Bruno Haible  <bruno@clisp.org>
7287
7288         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for IBM and HP-UX bugs.
7289         Patch by Paul Eggert.
7290
7291 2006-01-24  Bruno Haible  <bruno@clisp.org>
7292
7293         * lib/stdbool_.h (_Bool) [__cplusplus]: Don't define if the compiler
7294         already has it.
7295         Report and patch by Albert Chin-A-Young  <china@thewrittenword.com> on
7296         2005-11-26.
7297
7298         * lib/stdbool_.h (_Bool) [HP-UX cc, AIX cc,xlc]: Define as
7299         'signed char' to avoid problems with the built-in _Bool type.
7300         Reported by Paul Eggert on 2005-11-26.
7301
7302 2006-01-24  Bruno Haible  <bruno@clisp.org>
7303
7304         * gnulib-tool (func_import): Avoid constructing complicated sed
7305         expressions inside backquote.
7306         Report and solution by Mark D. Baushke <mdb@gnu.org>.
7307
7308 2006-01-23  Ulrich Drepper  <drepper@redhat.com>
7309
7310         These changes imported from libc.
7311         * lib/getopt.c: Use __fxprintf instead of inline stream orientation
7312         test and two separate function calls.
7313         * lib/strndup.c (__strndup): Add libc_hidden_def.
7314
7315 2006-01-23  Simon Josefsson  <jas@extundo.com>
7316
7317         * modules/lock-tests: Use check_PROGRAMS instead of noinst_PROGRAMS.
7318         Remove the test_*_SOURCES variable: automake infers it by default.
7319         * modules/tls-tests: Likewise.
7320
7321 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
7322
7323         Work around porting bugs reported by Dieter in
7324         <http://lists.gnu.org/archive/html/bug-bison/2006-01/msg00049.html>.
7325         * lib/getopt.c (_NOPROTO): Remove; no longer needed.
7326         Include <stdlib.h> and <unistd.h> in all environments; it's safe now.
7327         Include "getopt.h" first, to check interface.
7328         (getenv): Declare only if defined HAVE_DECL_GETENV &&
7329         !HAVE_DECL_GETENV.
7330         * lib/strndup.c [!_LIBC]: Include "strndup.h" to get prototype.
7331         (__strndup): Revert to K&R-style function dfns, the glibc style.
7332         * lib/strnlen.c: Don't claim it's taken from glibc; it's not.
7333         (strnlen, __strnlen): Remove #defines and #undefs; not needed.
7334         Include strnlen.h first, to get prototype properly.
7335         (strnlen): Renamed from __strnlen.
7336         Remove weak alias.
7337
7338 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
7339
7340         * m4/getopt.m4 (gl_PREREQ_GETOPT): Check for getenv decl.
7341
7342 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
7343
7344         * config/srclist.txt: Adjust to reflect glibc reorganization.
7345         This affects only comments.
7346
7347 2006-01-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
7348
7349          * gnulib-tool, build-aux/csharpcomp.sh.in: Do not pass `-q' to mktemp.
7350          Reported by Bruce Korb <bkorb@gnu.org>.
7351
7352 2006-01-22  Paul Eggert  <eggert@cs.ucla.edu>
7353
7354         * lib/quotearg.c (quotearg_buffer_restyled): Add "default: break;"
7355         to pacify gcc -Wswitch-default.
7356
7357 2006-01-22  Bruno Haible  <bruno@clisp.org>
7358
7359         * lib/vasnprintf.c (VASNPRINTF): In the computation of the size of the
7360         temporary buffer for sprintf, take into account the precision also
7361         for 'd', 'i', 'u', 'o', 'x', 'X'.
7362
7363 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
7364
7365         * modules/argp-tests: New module
7366         * tests/test-argp.c: New file
7367         * tests/test-argp-2.sh: New file
7368
7369 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
7370
7371         * lib/argp-help.c (usage_long_opt): Do not print DOC options.
7372         (__argp_base_name): Removed
7373         * lib/argp-namefrob.h (__argp_basename): Removed definition. Was a
7374         typo.
7375         (__argp_base_name): Provide macro definition or extern declaration
7376         depending on the configuration
7377
7378 2006-01-20  Simon Josefsson  <jas@extundo.com>
7379
7380         * modules/inet_ntop (Depends-on): Depend on sys_socket.
7381
7382 2006-01-20  Simon Josefsson  <jas@extundo.com>
7383
7384         * lib/inet_ntop.h: Unconditionally include sys/socket.h.
7385
7386 2006-01-20  Paul Eggert  <eggert@cs.ucla.edu>
7387
7388         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Use -Wl,-z,ignore
7389         rather than -Xlinker -z -Xlinker ignore, as it's more portable.
7390         Suggested by Bruno Haible.
7391
7392 2006-01-20  Karl Berry  <karl@gnu.org>
7393
7394         * config/srclist.txt (argp-fmtstream.h, localcharset.c): comment out
7395         until changes propagate, I guess.
7396
7397 2006-01-19  Simon Josefsson  <jas@extundo.com>
7398
7399         * m4/socklen.m4: Look in ws2tcpip.h too, for mingw32.
7400
7401 2006-01-19  Simon Josefsson  <jas@extundo.com>
7402
7403         * lib/socket_.h: Map SHUT_RD, SHUT_WR, SHUT_RDWR correctly.
7404
7405 2006-01-19  Simon Josefsson  <jas@extundo.com>
7406
7407         * gnulib-tool: Set check_PROGRAMS.
7408
7409         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
7410         modules/des-tests, modules/gc-arcfour-tests,
7411         modules/gc-arctwo-tests, modules/gc-des-tests,
7412         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
7413         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
7414         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
7415         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
7416         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
7417         modules/md5-tests, modules/readline, modules/rijndael-tests: Use
7418         check_PROGRAMS instead of noinst_PROGRAMS to be able to remove
7419         test_*_SOURCES.
7420
7421 2006-01-18  Simon Josefsson  <jas@extundo.com>
7422
7423         * modules/socklen (Depends-on): Depend on sys_socket.
7424
7425 2006-01-18  Simon Josefsson  <jas@extundo.com>
7426
7427         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
7428         modules/des-tests, modules/gc-arcfour-tests,
7429         modules/gc-arctwo-tests, modules/gc-des-tests,
7430         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
7431         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
7432         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
7433         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
7434         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
7435         modules/md5-tests, modules/readline, modules/rijndael-tests: Add
7436         $(EXEEXT) to automake TESTS variable, for mingw32.
7437
7438 2006-01-17  Simon Josefsson  <jas@extundo.com>
7439
7440         * modules/socklen (Include): Need sys/socket.h.
7441
7442 2006-01-17  Bruno Haible  <bruno@clisp.org>
7443
7444         * modules/ssize_t (Include): Add <sys/types.h>.
7445
7446 2006-01-16  Paul Eggert  <eggert@cs.ucla.edu>
7447
7448         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Don't use ldd, as
7449         it's not portable and it doesn't work with cross-compiles.
7450         Problem reported by Bruno Haible.  Fix missing-$ typo in
7451         'test "gl_cv_ignore_unused_libraries" ...' that prevented
7452         -zignore from being used with Sun's C compiler.
7453
7454 2006-01-12  Simon Josefsson  <jas@extundo.com>
7455
7456         * lib/base64.c: Fix warning, reported by Bruno Haible
7457         <bruno@clisp.org> and patch by Paul Eggert <eggert@CS.UCLA.EDU>.
7458
7459 2006-01-12  Bruno Haible  <bruno@clisp.org>
7460
7461         * modules/ldd: New file.
7462         * build-aux/ldd.sh.in: New file.
7463         * MODULES.html.sh (Support for building libraries and executables): Add
7464         ldd.
7465
7466 2006-01-12  Bruno Haible  <bruno@clisp.org>
7467
7468         * m4/ldd.m4: New file.
7469
7470 2006-01-12  Bruno Haible  <bruno@clisp.org>
7471
7472         * gnulib-tool (func_import, func_create_testdir): Don't go into an
7473         endless loop while replacing $auxdir with build-aux.
7474
7475 2006-01-11  Simon Josefsson  <jas@extundo.com>
7476
7477         * lib/stdint_.h (SIZE_MAX): Add missing (.
7478
7479 2006-01-11  Paul Eggert  <eggert@cs.ucla.edu>
7480
7481         Sync from coreutils.
7482         * lib/md5.c: Fix commentary typos.
7483         (alignof, UNALIGNED_P): No need for a GCC-specific version.
7484         * lib/md5.h (__attribute__): Remove; unused.
7485         * lib/sha1.c: Fix commentary to match md5 better.
7486         * lib/sha1.h (struct sha1_ctx): Use a word buffer, not a byte buffer,
7487         so that we don't need to worry about alignment.  All uses changed.
7488         This merges the 2005-10-28 md5 change into sha1.
7489
7490 2006-01-11  Jim Meyering  <jim@meyering.net>
7491
7492         Sync from coreutils.
7493         * lib/md5.c (OP): Fix spacing.
7494
7495 2006-01-11  Bruno Haible  <bruno@clisp.org>
7496
7497         Ensure automatic ordering between gl_LOCK and gl_ARGP.
7498         * m4/lock.m4 (gl_LOCK_BODY): Renamed from gl_LOCK.
7499         (gl_LOCK): New macro, requiring gl_LOCK_BODY.
7500
7501 2006-01-11  Bruno Haible  <bruno@clisp.org>
7502
7503         Ensure automatic ordering between gl_LOCK and gl_ARGP.
7504         * gnulib-tool (func_import, func_create_testdir): Put gl_LOCK into
7505         the "early" section as well.
7506
7507 2006-01-11  Bruno Haible  <bruno@clisp.org>
7508
7509         Avoid "ar: no archive members specified" error on MacOS X.
7510         * gnulib-tool (func_modules_add_dummy): New function.
7511         (func_import, func_create_testdir): Invoke it.
7512
7513 2006-01-11  Bruno Haible  <bruno@clisp.org>
7514
7515         * gnulib-tool (func_import, func_create_testdir): Replace build-aux
7516         with $auxdir in AC_CONFIG_FILES statements.
7517
7518 2006-01-11  Bruno Haible  <bruno@clisp.org>
7519
7520         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
7521         Initialize also noinst_HEADERS to empty.
7522
7523 2006-01-11  Bruno Haible  <bruno@clisp.org>
7524
7525         * gnulib-tool (AUTOMAKEPATH, AUTOCONF, ACLOCAL, AUTOMAKE): New
7526         variables.
7527         (func_create_megatestdir): Call aclocal, autoconf, automake here, not
7528         autoreconf.
7529
7530 2006-01-11  Bruno Haible  <bruno@clisp.org>
7531
7532         * gnulib-tool (AUTOCONF, ACLOCAL, AUTOMAKE, AUTORECONF): Make
7533         overridable by the user.
7534         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
7535
7536 2006-01-10  Simon Josefsson  <jas@extundo.com>
7537
7538         * modules/sys_socket: New file.
7539
7540 2006-01-10  Simon Josefsson  <jas@extundo.com>
7541
7542         * m4/sys_socket_h.m4: New file.
7543
7544 2006-01-10  Simon Josefsson  <jas@extundo.com>
7545
7546         * lib/socket_.h: New file.
7547
7548 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
7549
7550         * modules/readutmp (Maintainer): Add myself.
7551
7552 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
7553
7554         * m4/memcoll.m4 (gl_MEMCOLL): Don't require AC_FUNC_MEMCMP, undoing
7555         the 2002-12-31 change.  Problem and fix reported by Bruno Haible.
7556         People who are still concerned with buggy memcmp implementations
7557         can invoke gl_FUNC_MEMCMP themselves.
7558
7559 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
7560
7561         * lib/regex_internal.h (BITSET_WORD_BITS):
7562         Work around a bug in 64-bit PGC (before version 6.1-2), where the
7563         preprocessor mishandles large unsigned values as if they were signed.
7564         Problem reported by Claudio Fontana in
7565         <http://lists.gnu.org/archive/html/bug-gnulib/2005-12/msg00061.html>.
7566
7567 2006-01-10  Jim Meyering  <jim@meyering.net>
7568
7569         Avoid the double-free (first in fts_read, second in fts_close) that
7570         would occur when an `active' directory is made inaccessible (e.g.,
7571         via chmod a-x) during a traversal.
7572         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
7573         before returning.  Reproduce this failure by
7574         mkdir -p a/b; cd a; chmod a-x . b
7575         Reported by Stavros Passas.
7576
7577         Sync from coreutils.
7578         * lib/sha1.c: Tweak grammar in a comment.
7579
7580 2006-01-10  Jim Meyering  <jim@meyering.net>
7581
7582         * m4/fpending.m4: Also include <stdio.h>, for Dragonfly.
7583         Patch by Joerg Sonnenberger.
7584
7585 2006-01-10  Bruno Haible  <bruno@clisp.org>
7586
7587         * modules/readutmp: Depend on module free.
7588         * modules/strtok_r: Depend on module restrict.
7589
7590 2006-01-10  Bruno Haible  <bruno@clisp.org>
7591
7592         * modules/gettext (configure.ac): Add an invocation of
7593         AM_GNU_GETTEXT_VERSION. Needed since autoreconf is used by gnulib-tool.
7594
7595 2006-01-10  Bruno Haible  <bruno@clisp.org>
7596
7597         * m4/localcharset.m4 (gl_LOCALCHARSET): Also test for getc_unlocked.
7598         Reported by Werner Lemberg <wl@gnu.org>.
7599
7600 2006-01-10  Bruno Haible  <bruno@clisp.org>
7601
7602         * lib/localcharset.c: Update from GNU gettext.
7603
7604 2006-01-10  Bruno Haible  <bruno@clisp.org>
7605
7606         * lib/argp.h (__const): Remove macro. Use const instead.
7607         * lib/argp-fmtstream.h (__const): Likewise.
7608         * lib/glob_.h (__const): Remove macro.
7609         * lib/glob-libc.h: Use const instead of __const.
7610
7611 2006-01-10  Bruno Haible  <bruno@clisp.org>
7612
7613         * gnulib-tool (func_emit_tests_Makefile_am): Emit an empty SUBDIR
7614         variable.
7615         Needed to avoid an automake error regarding the 'gettext' module.
7616
7617 2006-01-09  Simon Josefsson  <jas@extundo.com>
7618
7619         * modules/inet_ntop (Depends-on): Add restrict.
7620
7621 2006-01-09  Simon Josefsson  <jas@extundo.com>
7622
7623         * modules/gc-rijndael-tests (License): Put under LGPL.
7624
7625         * modules/gc-des-tests (License): Likewise.
7626
7627         * modules/gc-arcfour-tests (License): Likewise.
7628
7629         * modules/gc-arctwo-tests (License): Likewise.
7630
7631         * modules/gc-pbkdf2-sha1-tests (License): Likewise.
7632
7633         * modules/gc-hmac-sha1-tests (Files): Likewise.
7634
7635         * modules/gc-hmac-md5-tests (License): Likewise.
7636
7637         * modules/gc-sha1-tests (License): Likewise.
7638
7639         * modules/gc-md5-tests (License): Likewise.
7640
7641         * modules/gc-md4-tests (License): Likewise.
7642
7643         * modules/gc-md2-tests (License): Likewise.
7644
7645         * modules/gc-tests (License): Likewise.
7646
7647         * modules/des-tests (License): Likewise.
7648
7649         * modules/md4-tests (License): Likewise.
7650
7651         * modules/md2-tests (License): Likewise.
7652
7653 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
7654
7655         Sync from coreutils:
7656
7657         * MODULES.html.sh (build_lib): New section, with new lib-ignore module.
7658         * modules/lib-ignore: New file.
7659         * modules/mkdir-p (Files): Add chdir-safer.c, chdir-safer.h, lchmod.h,
7660         chdir-safer.m4, lchmod.m4.
7661         * modules/openat: Add mkdirat.c, openat-priv.h.
7662
7663 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
7664
7665         Sync from coreutils.
7666         * m4/lib-ignore.m4: New file.
7667         * m4/lchmod.m4: New file.
7668
7669 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
7670
7671         Sync from coreutils.
7672         * lib/chdir-long.c (cdb_free): Don't bother trying to open directory
7673         for write access: POSIX says that must fail.
7674         * lib/fts.c (diropen): Likewise.
7675         * lib/save-cwd.c (save_cwd): Likewise.
7676         * lib/chdir-long.c (cdb_free): Open with O_NOCTTY | O_NONBLOCK as
7677         well, for minor improvements on hosts that lack O_DIRECTORY.
7678         * lib/chown.c (rpl_chown) [CHOWN_MODIFIES_SYMLINK]:
7679         Don't try O_WRONLY unless O_RDONLY failed wth EACCES.
7680         Fall back on chown if open failed with EACCES.
7681
7682         * lib/gettime.c (gettime) [!defined OK_TO_USE_1S_CLOCK]:
7683         Report an error at compile-time if only a 1-second nominal clock
7684         resolution is found.
7685
7686         * lib/lchmod.h: New file.
7687         * lib/mkdir-p.c: Include lchmod.h, lchown.h.
7688         (make_dir_parents): Use lchown rather than chown, and
7689         lchmod rather than chmod.
7690
7691         * lib/mountlist.c (ME_DUMMY): "none" and "proc" file systems are
7692         dummies too.  Problem with "none" reported by Bob Proulx.  Problem with
7693         "proc" reported by n0dalus.
7694
7695         * lib/mountlist.c: Include <limits.h>.
7696         (dev_from_mount_options)
7697         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]:
7698         New function.  It no longer assumes "dev=" has the System V meaning
7699         on Linux (since it doesn't).  It also parses "dev=" more carefully.
7700         (read_file_system_list)
7701         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]: Use it.
7702         MOUNTED_GETMNTENT2 is new here; the code didn't used to look for
7703         dev= in that case.
7704
7705         * lib/posixtm.h (PDS_PRE_2000): New macro.
7706         * lib/posixtm.c (year): Arg is now syntax_bits rather than
7707         allow_century.  All usages changed.  Reject dates outside the range
7708         1969-1999 if PDS_PRE_2000 is used.
7709
7710 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
7711
7712         Sync from coreutils.
7713         * doc/getdate.texi (General date syntax): Invalid dates are rejected.
7714         (Time of day items): Mention the possibility of leap seconds.
7715         Problem reported by Dr. David Alan Gilbert.
7716
7717 2006-01-09  Jim Meyering  <jim@meyering.net>
7718
7719         Sync from coreutils.
7720
7721         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2006.
7722
7723         * lib/chdir-safer.h, lib/chdir-safer.c: New files.
7724
7725         * lib/modechange.c (mode_compile): Reject an invalid mode string
7726         that starts with an octal digit.  From Andreas Gruenbacher.
7727
7728         * lib/openat.c: Include "fcntl--.h" and "unistd--.h", to map open
7729         and dup to open_safer and dup_safer, respectively.
7730         (openat_permissive): Fix typo in comment.
7731
7732         * lib/openat.c: Don't include <stdlib.h>, <unistd.h>, <fcntl.h>,
7733         "gettext.h"; either no longer needed or are guaranteed by openat.h.
7734         (_): Remove; no longer needed.
7735         (openat): Renamed from rpl_openat; no need for rpl_openat
7736         since openat.h renames openat for us.
7737         Replace most of the body with a call to openat_permissive,
7738         to avoid duplicate code.
7739         Port to (probably hypothetical) environments were mode_t is
7740         wider than int.
7741         (openat_permissive): Require mode arg, so that we can check
7742         types better.  Put it just after flags.  Change cwd failure
7743         indicator from pointer-to-bool to pointer-to-errno-value.
7744         All callers changed.
7745         Invoke openat_save_fail and/or openat_restore_fail if
7746         cwd_errno is null, so that openat can call us.
7747         (openat_permissive, fdopendir, fstatat, unlinkat):
7748         Simplify errno handling to avoid some duplicate code,
7749         as it's OK to set errno on success.
7750         * lib/openat.h: Revamp code so that function macros depend on
7751         __OPENAT_PREFIX only, not also on AT_FDCWD.
7752         (openat_ro): Remove.  Caller changed to use openat_permissive.
7753         (openat_permissive): Now a macro, if not a function.
7754         (openat_restore_fail, openat_save_fail): Now always functions,
7755         since mkdirat needs them even if __OPENAT_PREFIX is defined.
7756
7757         * lib/openat-priv.h: New file, defining macros used by mkdirat.c
7758         and openat.c.
7759         * lib/mkdirat.c: Include openat-priv.h.
7760         Remove definitions of macros defined therein.
7761         * lib/openat.c: Likewise.
7762
7763         * lib/mkdirat.c (mkdirat): New file and function.
7764         * lib/openat.h (mkdirat): Declare.
7765
7766         * lib/openat.c (fdopendir): Don't change errno when returning non-NULL.
7767
7768         * lib/openat.h (openat_permissive): Declare.
7769         (openat_ro): Define.
7770
7771         * lib/openat.c (EXPECTED_ERRNO): New macro.
7772         (openat_permissive): New function -- used in remove.c rewrite.
7773         (all functions): Set errno just before returning, only if there
7774         was an actual failure.
7775         Use EXPECTED_ERRNO rather than comparing against only ENOTDIR.
7776
7777         Emulate openat-family functions using Linux's procfs, if possible.
7778         Idea and some code based on Ulrich Drepper's glibc changes.
7779
7780         * lib/openat.c: (BUILD_PROC_NAME): New macro.
7781         Include <stdio.h>, <string.h>, "alloca.h" and "intprops.h".
7782         (rpl_openat): Emulate by trying to open /proc/self/fd/%d/%s,
7783         before falling back on save_cwd and restore_cwd.
7784         (fdopendir, fstatat, unlinkat): Likewise.
7785
7786         * lib/openat.c (fstatat, unlinkat): Perform the syscall directly,
7787         skipping the save_cwd...restore_cwd overhead, if FILE is absolute.
7788
7789         * lib/openat.c (rpl_openat): Use the promoted type (int), not mode_t,
7790         as second argument to va_arg.  Otherwise, some versions of gcc
7791         warn that `if this code is reached, the program will abort'.
7792
7793 2006-01-09  Jim Meyering  <jim@meyering.net>
7794
7795         Sync from coreutils.
7796         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile mkdirat.c.
7797         Require openat-priv.h.
7798
7799 2006-01-09  Bruno Haible  <bruno@clisp.org>
7800
7801         * modules/strnlen (Include): Use strnlen.h.
7802
7803 2006-01-09  Bruno Haible  <bruno@clisp.org>
7804
7805         * m4/stdint.m4 (gl_STDINT_H): Also test for <sys/bitypes.h>.
7806
7807 2006-01-09  Bruno Haible  <bruno@clisp.org>
7808
7809         * lib/sysexit_.h (EX_OK): New macro.
7810         Suggested by Martin Lambers <marlam@marlam.de>.
7811
7812 2006-01-09  Bruno Haible  <bruno@clisp.org>
7813
7814         * lib/stdint_.h: On Linux libc4 and libc5, include <sys/bitypes.h> and
7815         don't define _STDINT_H_NEED_SIGNED_INT_TYPES.
7816
7817 2006-01-09  Bruno Haible  <bruno@clisp.org>
7818
7819         * lib/stdint_.h (SIZE_MAX): Write the value without involving negative
7820         numbers.
7821
7822 2006-01-09  Bruno Haible  <bruno@clisp.org>
7823
7824         * lib/javacomp.sh.in: Move to ../build-aux/javacomp.sh.in.
7825         * lib/javaexec.sh.in: Move to ../build-aux/javaexec.sh.in.
7826         * lib/csharpcomp.sh.in: Move to ../build-aux/csharpcomp.sh.in.
7827         * lib/csharpexec.sh.in: Move to ../build-aux/csharpexec.sh.in.
7828
7829 2006-01-09  Bruno Haible  <bruno@clisp.org>
7830
7831         * build-aux/javacomp.sh.in: New file, moved from lib/.
7832         * modules/javacomp-script (Files): Update.
7833         (configure.ac): Add AC_CONFIG_FILES invocation.
7834         (EXTRA_DIST): Remove variable.
7835
7836         * build-aux/javaexec.sh.in: New file, moved from lib/.
7837         * modules/javaexec (Files): Update.
7838         (configure.ac): Add AC_CONFIG_FILES invocation.
7839         (EXTRA_DIST): Remove javaexec.sh.in.
7840
7841         * build-aux/csharpcomp.sh.in: New file, moved from lib/.
7842         * modules/csharpcomp-script (Files): Update.
7843         (configure.ac): Add AC_CONFIG_FILES invocation.
7844         (EXTRA_DIST): Remove variable.
7845
7846         * build-aux/csharpexec.sh.in: New file, moved from lib/.
7847         * modules/csharpexec (Files): Update.
7848         (configure.ac): Add AC_CONFIG_FILES invocation.
7849         (EXTRA_DIST): Remove csharpexec.sh.in.
7850
7851 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
7852
7853         Sync from coreutils.
7854
7855         Add POSIX ACL support
7856         * lib/acl.h (copy_acl, set_acl): Add declarations.
7857         * lib/acl.c (acl_entries): Add fallback implementation for POSIX ACL
7858         systems other than Linux.
7859         (chmod_or_fchmod): New function: use fchmod when possible,
7860         and chmod otherwise.
7861         (file_has_acl): Add a POSIX ACL implementation, with a
7862         Linux-specific subcase.
7863         (copy_acl): Add: copy an acl and S_ISUID, S_ISGID, and
7864         S_ISVTX from one file to another.  Fall back to fchmod/chmod when
7865         acls are unsupported.
7866         (set_acl): Add: set a file's acl and S_ISUID, S_ISGID, and
7867         S_ISVTX to a defined value.  Fall back to fchmod/chmod when acls
7868         are unsupported.
7869
7870 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
7871
7872         Sync from coreutils.
7873         * m4/acl.m4 (AC_FUNC_ACL): Add POSIX ACL and Linux-specific acl tests.
7874
7875 2006-01-07  Bruno Haible  <bruno@clisp.org>
7876
7877         * gnulib-tool (func_import): Add an AC_PROG_RANLIB dependency to
7878         gl_EARLY.
7879
7880 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
7881
7882         * lib/strftime.c (tzname): Don't declare if it is already #defined.
7883         Problem reported for Mingw by Mark Junker.
7884
7885 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
7886
7887         * README: Gnulib normally doesn't generate a tarball.
7888
7889 2006-01-03  Paul Eggert  <eggert@cs.ucla.edu>
7890
7891         * lib/xtime.h (xtime_make, xtime_nonnegative_nsec, xtime_nsec): Use
7892         long int, not int, for nanosecond counts, so that people who are
7893         used to POSIX struct timespec won't be surprised.  Reported by Jim
7894         Meyering.
7895
7896 2005-12-28  Bruno Haible  <bruno@clisp.org>
7897
7898         * build-aux/config.rpath: Update from GNU gettext.
7899
7900 2005-12-16  Jim Meyering  <jim@meyering.net>
7901
7902         * modules/fprintftime: New module.
7903         * MODULES.html.sh (Date and time <time.h>): Add fprintftime.
7904
7905 2005-12-16  Jim Meyering  <jim@meyering.net>
7906
7907         * m4/fprintftime.m4: New file.
7908
7909 2005-12-16  Jim Meyering  <jim@meyering.net>
7910
7911         * lib/fprintftime.c, lib/fprintftime.h: New files.
7912
7913 2005-12-15  Simon Josefsson  <jas@extundo.com>
7914
7915         * modules/socklen (configure.ac): Fix M4 macro name, to align with
7916         new m4/socklen.m4.
7917
7918 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
7919
7920         * m4/argp.m4: Define HAVE_DECL_PROGRAM_INVOCATION_NAME and
7921         HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME
7922
7923 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
7924
7925         * lib/argp-fmtstream.c (__argp_fmtstream_update): Fix coredump
7926         * lib/argp-help.c (fill_in_uparams): Check if the constructed
7927         struct uparams is valid. Fall back to the default values if it is
7928         not.
7929
7930 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
7931
7932         * modules/argp (Files): Add argp-pin.c
7933         (Depends-on): dirname
7934         (lib_SOURCES): Add argp-pin.c
7935
7936 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
7937
7938         * m4/argp.m4:  Check if program_invocation_name and
7939         program_invocation_short_name are declared and define appropriate
7940         macros if they are not.
7941
7942 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
7943
7944         * lib/argp-help.c (__argp_base_name): New function
7945         (__argp_short_program_name): Rewrite using __argp_base_name
7946         * lib/argp-namefrob.h: Define program_invocation_name and
7947         program_invocation_short_name if requested
7948         (__argp_base_name): Add prototype
7949         * lib/argp-parse.c (argp_def): Use gettext wrappers
7950         (argp_default_parser): Use __argp_base_name
7951         * lib/argp-pin.c: New file. Defines program_invocation_name and
7952         program_invocation_short_name on systems that lack them.
7953
7954 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
7955
7956         * m4/stat-time.m4 (gl_STAT_TIME): Add check for
7957         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
7958         porting problem reported by Georg Schwarz in
7959         <http://lists.gnu.org/archive/html/bug-coreutils/2005-12/msg00083.html>.
7960
7961 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
7962
7963         * lib/stat-time.h (STATE_TIMESPEC, STAT_TIMESPEC_NS): Add check for
7964         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
7965         porting problem reported by Georg Schwarz in
7966         <http://lists.gnu.org/archive/html/bug-coreutils/2005-12/msg00083.html>.
7967
7968 2005-12-05  Bruno Haible  <bruno@clisp.org>
7969
7970         * lib/csharpcomp.sh.in (options_csc): For -l option, add a .dll suffix.
7971         * lib/csharpcomp.c (compile_csharp_using_sscli): Likewise.
7972         Reported by Mark Junker <mjscod@gmx.de>.
7973
7974 2005-12-02  Paul Eggert  <eggert@cs.ucla.edu>
7975
7976         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Renamed from gl_SOCKLEN_T.
7977         Use implementation from Albert Chin, with some
7978         comments/corrections by Stepan Kasal and myself.
7979
7980 2005-12-02  Bruno Haible  <bruno@clisp.org>
7981
7982         * gnulib-tool (func_import): Accept GPLed build tool modules when
7983         --lgpl is given.
7984         * modules/csharpcomp-script: New file.
7985         * modules/csharpcomp: Depend on it.
7986         * modules/javacomp-script: New file.
7987         * modules/javacomp: Depend on it.
7988         Suggested by Simon Josefsson.
7989
7990 2005-12-01  Paul Eggert  <eggert@cs.ucla.edu>
7991
7992         * m4/regex.m4 (gl_REGEX): Check whether off_t can be used in a switch
7993         statement, to work around an HP-UX 10.20 compiler bug reported by
7994         Peter O'Gorman.
7995
7996 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
7997
7998         * modules/savedir (Depends-on): Add openat.
7999
8000 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
8001
8002         * lib/stdint_.h (intmax_t) [defined intmax_t]: Do not declare.
8003         (uintmax_t) [defined uintmax_t]: Do not declare.
8004         (SIZE_MAX) [defined SIZE_MAX]: Do not define.
8005         This works around a problem if intmax_t.m4 and/or uintmax_t.m4
8006         and/or size_max.m4 are also used.  Problem reported by Mark D. Baushke.
8007         (SIZE_MAX): Define to ((size_t) -1), not (~(size_t)0), for the
8008         sake of portability to weird hosts that C allows (though we don't
8009         know of any practical examples).
8010
8011         * lib/savedir.h (fdsavedir): New decl.
8012         * lib/savedir.c (fdsavedir, savedirstream): New functions; the latter
8013         contains most of the former guts of savedir.
8014         (savedir): Use savedirstream.
8015         Include "openat.h".
8016
8017 2005-11-25  Paul Eggert  <eggert@cs.ucla.edu>
8018
8019         * modules/obstack (Files): Add m4/ulonglong.m4.
8020         Problem reported by Davide Angelocola.
8021
8022 2005-11-15  Paul Eggert  <eggert@cs.ucla.edu>
8023
8024         * lib/xstrtod.c: Don't bother with #pragma STDC FENV_ACCESS ON, as
8025         coreutils no longer futzes with rounding modes.
8026
8027 2005-11-14  Jim Meyering  <jim@meyering.net>
8028
8029         * lib/mkstemp-safer.c: Include <config.h>, required for possible
8030         replacement of mkstemp.
8031
8032 2005-11-10  Simon Josefsson  <jas@extundo.com>
8033
8034         * lib/readline.c: Remove EOL.
8035
8036 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
8037
8038         * modules/gethrxtime (Depends-on): Add gettime.
8039
8040 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
8041
8042         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Don't require AC_HEADER_TIME
8043         or gettimeofday; no longer needed.
8044
8045 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
8046
8047         * lib/gethrxtime.c: Include "timespec.h" rather than the sys/time /
8048         time business.
8049         (gethrxtime) [! (HAVE_NANOUPTIME
8050         || (defined CLOCK_MONOTONIC && HAVE_CLOCK_GETTIME)
8051         || HAVE_MICROUPTIME)]: Fall back on gettime rather than rolling
8052         our own approximation.
8053
8054 2005-11-08  Eric Blake  <ebb9@byu.net>
8055
8056         * lib/inet_ntop.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
8057
8058 2005-11-08  Eric Blake  <ebb9@byu.net>
8059
8060         * lib/getaddrinfo.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
8061
8062 2005-11-04  Bruno Haible  <bruno@clisp.org>
8063
8064         * gnulib-tool: Implement --update mode.
8065
8066 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
8067
8068         Fix porting problem reported by Theodoros V. Kalamatianos.
8069         * lib/utimens.c (futimens) [HAVE_WORKING_UTIMES && HAVE_FUTIMES]:
8070         Don't assume that futimes failing means we must fail.
8071
8072 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
8073
8074         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Revamp wording and local
8075         variables to suggest the intended function of the PATH_MAX check.
8076
8077 2005-10-30  Kean Johnston  <jkj@sco.com>
8078
8079         Trivial changes to support SCO systems.
8080         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Check for MAXPATHLEN as well
8081         as PATH_MAX.
8082         * m4/fpending.m4 (gl_FUNC_FPENDING): Correct check for SCO systems,
8083         where __ptr is null when no I/O is pending.
8084
8085 2005-10-29  Paul Eggert  <eggert@cs.ucla.edu>
8086
8087         * lib/getcwd.c (__getcwd): Don't assume that system calls after readdir
8088         leave errno alone.  Problem reported by Dmitry V. Levin.
8089
8090 2005-10-28  Simon Josefsson  <jas@extundo.com>
8091
8092         * tests/test-gc-md4.c, tests/test-gc-md5.c, tests/test-gc-sha1.c:
8093         Test more.
8094
8095         * tests/test-gc-md2.c, tests/test-md2.c: New files.
8096
8097         * modules/md2, modules/md2-tests: New files.
8098
8099 2005-10-28  Simon Josefsson  <jas@extundo.com>
8100
8101         * m4/inet_ntop.m4: More tests.
8102
8103         * m4/gc-md2.m4, md2.m4: New file.
8104
8105 2005-10-28  Simon Josefsson  <jas@extundo.com>
8106
8107         * lib/inet_ntop.h, inet_ntop.c: Make it work under mingw32: Add
8108         "restrict" keywords, as per POSIX.  Protect the function
8109         declaration around HAVE_DECL_INET_NTOP rather than HAVE_INET_NTOP.
8110         Don't use K&R prototypes.  Check the sprintf return values.
8111         Re-define EAFNOSUPPORT if not present.  Indent.
8112
8113         * lib/md5.h, md5.c: Simplify buffer handling visavi alignment,
8114         suggested by Bruno Haible <bruno@clisp.org>.
8115
8116         * lib/gc-gnulib.c, gc-libgcrypt.c: Check calloc return value.
8117
8118         * lib/gc.h: Add MD2 and RMD160 length defines.  Add prototypes.
8119
8120         * lib/gc-libgcrypt.c: Add MD2 (which is not available through
8121         libgcrypt).
8122
8123         * lib/gc-gnulib.c: Add MD2.  Implement gc_hash_* API.
8124
8125         * lib/md2.h, lib/md2.c: New files.
8126
8127 2005-10-28  Paul Eggert  <eggert@cs.ucla.edu>
8128
8129         * lib/savedir.c (savedir): Don't assume that xrealloc etc. leave
8130         errno alone.  Problem reported by Frederic Jolliton.
8131
8132 2005-10-27  Paul Eggert  <eggert@cs.ucla.edu>
8133
8134         * modules/verify (License): Change from GPL to LGPL.  This is a
8135         tiny module and there are apparently near-equivalents that are
8136         under the BSD license.
8137
8138 2005-10-24  Simon Josefsson  <jas@extundo.com>
8139
8140         * modules/sha1: Relicense to LGPL.
8141
8142 2005-10-24  Simon Josefsson  <jas@extundo.com>
8143
8144         * lib/md4.h: Shrink buffer size, now that we changed the type.
8145
8146 2005-10-23  Simon Josefsson  <jas@extundo.com>
8147
8148         * gnulib-tool (func_import): Fix --tests-base.
8149
8150 2005-10-22  Simon Josefsson  <jas@extundo.com>
8151
8152         * modules/arcfour (Depends-on): Need stdint.
8153
8154 2005-10-22  Simon Josefsson  <jas@extundo.com>
8155
8156         * m4/gc.m4: Don't be fooled by --disable-*random-device parameters,
8157         suggested by Bruno Haible <bruno@clisp.org>.  Fix error messages.
8158
8159 2005-10-22  Simon Josefsson  <jas@extundo.com>
8160
8161         * lib/md4.h, md4.c: Simplify buffer handling visavi alignment,
8162         suggested by Bruno Haible <bruno@clisp.org>.
8163
8164 2005-10-22  Simon Josefsson  <jas@extundo.com>
8165
8166         * lib/crc.h: Include stddef.h, for size_t.
8167
8168 2005-10-22  Simon Josefsson  <jas@extundo.com>
8169
8170         * lib/arcfour.h, arcfour.c: Use fixed size indices in the
8171         arcfour_context struct (simplify test vector testing in GNU
8172         Shishi).
8173
8174 2005-10-21  Simon Josefsson  <jas@extundo.com>
8175
8176         * modules/des, modules/des-tests: New files.
8177
8178         * modules/gc-des, modules/gc-des-tests: New files.
8179
8180         * tests/test-des.c, tests/test-gc-des.c: New file.
8181
8182 2005-10-21  Simon Josefsson  <jas@extundo.com>
8183
8184         * modules/arctwo, modules/arctwo-tests: New files.
8185
8186         * tests/test-arctwo.c: New file.
8187
8188         * modules/gc-arctwo, modules/gc-arctwo-tests: New files.
8189
8190         * tests/test-gc-arctwo.c: New file.
8191
8192 2005-10-21  Simon Josefsson  <jas@extundo.com>
8193
8194         * m4/gc.m4: Don't use libgcrypt if gcrypt.h isn't found, suggested by
8195         Bruno Haible <bruno@clisp.org>.
8196
8197         * m4/gc-des.m4: New file.
8198
8199 2005-10-21  Simon Josefsson  <jas@extundo.com>
8200
8201         * m4/arctwo.m4: New file.
8202
8203         * m4/gc-arctwo.m4: New file.
8204
8205 2005-10-21  Simon Josefsson  <jas@extundo.com>
8206
8207         * lib/rijndael-api-fst.c: Fix bugs in CBC mode for more than one
8208         block.
8209
8210 2005-10-21  Simon Josefsson  <jas@extundo.com>
8211
8212         * lib/hmac-md5.c (hmac_md5): Add comments, suggested by Bruno Haible
8213         <bruno@clisp.org>.
8214
8215         * lib/hmac-sha1.c (hmac_sha1): Likewise.
8216
8217         * lib/crc.c (crc32_update): Actually use crc parameter, suggested by
8218         Bruno Haible <bruno@clisp.org>.
8219
8220         * lib/crc.h: Include stdint.h directly, suggested by Bruno Haible
8221         <bruno@clisp.org>.
8222
8223 2005-10-21  Simon Josefsson  <jas@extundo.com>
8224
8225         * lib/gc-libgcrypt.c (gc_cipher_open): Handle ECB.
8226
8227 2005-10-21  Simon Josefsson  <jas@extundo.com>
8228
8229         * lib/gc-gnulib.c: Support ARCTWO in CBC mode.
8230
8231 2005-10-21  Simon Josefsson  <jas@extundo.com>
8232
8233         * lib/des.h, lib/des.c: New files.
8234
8235         * lib/gc-gnulib.c: Support DES.c
8236
8237 2005-10-21  Simon Josefsson  <jas@extundo.com>
8238
8239         * lib/arctwo.h, lib/arctwo.c: New files.
8240
8241         * lib/gc-gnulib.c: Support ARCTWO.
8242
8243 2005-10-21  Simon Josefsson  <jas@extundo.com>
8244
8245         * lib/arctwo.h (arctwo_setkey): Protect variable in CPP macro,
8246         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
8247
8248 2005-10-21  Simon Josefsson  <jas@extundo.com>
8249
8250         * gnulib-tool (func_import, func_create_testdir): Define automake
8251         conditional GL_COND_LIBTOOL if libtool is used (to be used by modules
8252         Makefile.am snippet),
8253         suggested by Bruno Haible <bruno@clisp.org>.
8254
8255         * modules/gc (Makefile.am): Use it.
8256
8257 2005-10-21  Bruno Haible  <bruno@clisp.org>
8258
8259         * gnulib-tool (func_import, func_create_testdir): Add quoting to last
8260         patch.
8261
8262 2005-10-19  Simon Josefsson  <jas@extundo.com>
8263
8264         * tests/test-gc-rijndael.c: New file.
8265
8266         * modules/gc-rijndael, modules/gc-rijndael-test: New files.
8267
8268 2005-10-19  Simon Josefsson  <jas@extundo.com>
8269
8270         * tests/test-gc-md4.c, tests/test-gc-md5.c: Test gc_hash_buffer
8271         interface too.
8272
8273 2005-10-19  Simon Josefsson  <jas@extundo.com>
8274
8275         * tests/test-gc-arcfour.c: New file.
8276
8277         * modules/gc-arcfour, modules/gc-arcfour-tests: New files.
8278
8279 2005-10-19  Simon Josefsson  <jas@extundo.com>
8280
8281         * modules/gc-md4, modules/gc-md4-tests: New file.
8282
8283         * tests/test-gc-md4.c: New file.
8284
8285 2005-10-19  Simon Josefsson  <jas@extundo.com>
8286
8287         * m4/gc-md4.m4: New file.
8288
8289 2005-10-19  Simon Josefsson  <jas@extundo.com>
8290
8291         * m4/gc-hmac-md5.m4, gc-hmac-sha1.m4, gc-md4.m4,
8292         gc-md5.m4, gc-sha1.m4: Fix typo, suggested by Stepan Kasal
8293         <kasal@ucw.cz>.
8294
8295 2005-10-19  Simon Josefsson  <jas@extundo.com>
8296
8297         * m4/gc-arcfour.m4: New file.
8298
8299         * m4/gc-rijndael.m4: New file.
8300
8301 2005-10-19  Simon Josefsson  <jas@extundo.com>
8302
8303         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support MD4.
8304
8305 2005-10-19  Simon Josefsson  <jas@extundo.com>
8306
8307         * lib/gc-gnulib.c: Support ARCFOUR.
8308
8309 2005-10-19  Simon Josefsson  <jas@extundo.com>
8310
8311         * lib/gc-gnulib.c: Implement gc_cipher_* API, currently only with AES
8312         support.
8313
8314         * lib/gc.h: Add ECB enum type.
8315
8316         * lib/hmac-md5.c, hmac-sha1.c: Include memxor.h.
8317
8318 2005-10-18  Simon Josefsson  <jas@extundo.com>
8319
8320         * tests/test-md5.c: New file.
8321
8322         * modules/md5-tests: New file.
8323
8324 2005-10-18  Simon Josefsson  <jas@extundo.com>
8325
8326         * tests/test-md4.c: New file.
8327
8328         * modules/md4, modules/md4-tests: New files.
8329
8330 2005-10-18  Simon Josefsson  <jas@extundo.com>
8331
8332         * m4/md4.m4: New file.
8333
8334 2005-10-18  Simon Josefsson  <jas@extundo.com>
8335
8336         * lib/md4.h, lib/md4.c: New files, based on md5.?.
8337
8338 2005-10-17  Stepan Kasal  <kasal@ucw.cz>
8339
8340         * gnulib-tool (func_create_testdir): Omit the second check whether
8341         BUILT_SOURCES in nonempty.
8342
8343 2005-10-17  Simon Josefsson  <jas@extundo.com>
8344
8345         * tests/test-rijndael.c: New file.
8346
8347 2005-10-17  Simon Josefsson  <jas@extundo.com>
8348
8349         * modules/sha1: Depend on stdint instead of md5.
8350
8351         * modules/md5: Depend on stdint, remove uint32_t.
8352
8353 2005-10-17  Simon Josefsson  <jas@extundo.com>
8354
8355         * modules/gc-sha1-tests: New file.
8356
8357         * tests/test-gc-sha1.c: New file.
8358
8359 2005-10-17  Simon Josefsson  <jas@extundo.com>
8360
8361         * m4/md5.m4: Remove call to uint32_t.m4.
8362
8363 2005-10-17  Simon Josefsson  <jas@extundo.com>
8364
8365         * lib/sha1.c: Use uint32_t instead of md5_uint32.t
8366
8367         * lib/sha1.h: Use stdint.h and uint32_t instead of md5_uint32 from
8368         md5.h.
8369
8370         * lib/md5.c: Use uin32_t.  Fix non-gcc UNALIGNED_P macro.
8371
8372         * lib/md5.h: Use stdint.h and uint32_t.  Doc fix.
8373
8374 2005-10-17  Simon Josefsson  <jas@extundo.com>
8375
8376         * lib/gc.h, gc-libgcrypt.c: Add more hash types/functions.
8377
8378 2005-10-17  Simon Josefsson  <jas@extundo.com>
8379
8380         * lib/gc.h, gc-libgcrypt.c: Add ciphers.
8381
8382 2005-10-17  Simon Josefsson  <jas@extundo.com>
8383
8384         * lib/gc-libgcrypt.c (gc_hmac_sha1): Fix assert.
8385
8386         * lib/gc.h (gc_nonce, gc_pseudo_random, gc_random): Add prototypes.
8387
8388 2005-10-17  Bruno Haible  <bruno@clisp.org>
8389
8390         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Change the return statement so
8391         that it can also be used in a test.
8392
8393 2005-10-16  Bruno Haible  <bruno@clisp.org>
8394
8395         * gnulib-tool (func_emit_tests_Makefile_am): Also define
8396         TESTS_ENVIRONMENT, so that individual tests can augment it.
8397
8398         * gnulib-tool (func_create_testdir): Use an intermediate target for
8399         building $(BUILT_SOURCES). Needed because BUILT_SOURCES can contain
8400         macros, like $(ALLOCA_H), which cannot be passed through the command
8401         line.
8402
8403 2005-10-15  Simon Josefsson  <jas@extundo.com>
8404
8405         * modules/rijndael-tests: New file.
8406
8407         * modules/rijndael: New file.
8408
8409 2005-10-15  Simon Josefsson  <jas@extundo.com>
8410
8411         * m4/rijndael.m4: New file.
8412
8413 2005-10-15  Simon Josefsson  <jas@extundo.com>
8414
8415         * lib/rijndael-api-fst.h, lib/rijndael-api-fst.c: New files.
8416
8417         * lib/rijndael-alg-fst.h, lib/rijndael-alg-fst.c: New files.
8418
8419 2005-10-14  Simon Josefsson  <jas@extundo.com>
8420
8421         * tests/test-arcfour.c: New file.
8422
8423         * modules/arcfour, modules/arcfour-tests: New files.
8424
8425 2005-10-14  Simon Josefsson  <jas@extundo.com>
8426
8427         * m4/arcfour.m4: New file.
8428
8429 2005-10-14  Simon Josefsson  <jas@extundo.com>
8430
8431         * lib/arcfour.h, lib/arcfour.c: New files.
8432
8433 2005-10-14  Roland McGrath  <roland@redhat.com>
8434
8435         Import from libc.  [BZ #1331]
8436         * lib/obstack.h [!__STDC__] (obstack_int_grow_fast): Fix misnamed
8437         macro argument.
8438         Reported by Matej Vela <vela@debian.org>.
8439
8440 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
8441
8442         * lib/obstack.c [defined _LIBC && defined USE_IN_LIBIO]: Don't
8443         include <wchar.h>; no longer needed.
8444
8445 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
8446
8447         * config/srclist.txt: Add glibc bug 321 for obstack.c, obstack.h.
8448
8449 2005-10-14  Jakub Jelinek  <jakub@redhat.com>
8450         and  Ulrich Drepper  <drepper@redhat.com>
8451
8452         Import from libc.
8453         * lib/obstack.c (print_and_abort) [defined _LIBC]: Use __fxprintf
8454         instead of inline stream orientation test and two separate
8455         function calls.  Pay no attention to USE_IN_LIBIO.
8456
8457 2005-10-13  Simon Josefsson  <jas@extundo.com>
8458
8459         * modules/gc-hmac-md5-tests: New file.
8460
8461         * tests/test-gc-hmac-sha1.c: New file.
8462
8463         * tests/test-gc.c (main): Remove MD5 and HMAC-MD5 tests.
8464
8465         * modules/gc-hmac-md5-tests: New file.
8466
8467         * tests/test-gc-md5.c: New file.
8468
8469         * modules/gc-md5-tests: New file.
8470
8471 2005-10-13  Simon Josefsson  <jas@extundo.com>
8472
8473         * lib/gc-pbkdf2-sha1.c (gc_pbkdf2_sha1): Optimize CEIL computation.
8474         Move memory allocation outside of loop.
8475
8476 2005-10-13  Paul Eggert  <eggert@cs.ucla.edu>
8477
8478         * lib/mkdir-p.c (make_dir_parents): Don't report an error if an
8479         intermediate directory is in a read-only file system.  Problem
8480         reported by Eric Blake.
8481
8482 2005-10-13  Oskar Liljeblad  <oskar@osk.mine.nu>
8483
8484         * modules/human (Depends-on): Depend on xstrtoumax, not xstrtol.
8485
8486 2005-10-12  Simon Josefsson  <jas@extundo.com>
8487
8488         * tests/test-hmac-sha1.c: New file.
8489
8490         * modules/hmac-sha1-tests: New file.
8491
8492         * modules/hmac-sha1: New file.
8493
8494 2005-10-12  Simon Josefsson  <jas@extundo.com>
8495
8496         * modules/gc-sha1: New file.
8497
8498 2005-10-12  Simon Josefsson  <jas@extundo.com>
8499
8500         * modules/gc-pbkdf2-sha1, modules/gc-pbkdf2-sha1-tests: New files.
8501
8502         * tests/test-gc-pbkdf2-sha1.c: New file.
8503
8504 2005-10-12  Simon Josefsson  <jas@extundo.com>
8505
8506         * modules/gc-md5, modules/gc-hmac-md5: New files.
8507
8508         * modules/gc (Files): Remove md5, memxor and hmac files.
8509
8510 2005-10-12  Simon Josefsson  <jas@extundo.com>
8511
8512         * m4/gc-pbkdf2-sha1.m4: New file.
8513
8514         * m4/gc-hmac-sha1.m4: New file.
8515
8516         * m4/gc-sha1: New file.
8517
8518         * m4/hmac-sha1.m4: New file.
8519
8520 2005-10-12  Simon Josefsson  <jas@extundo.com>
8521
8522         * m4/gc-md5.m4, m4/gc-hmac-md5.m4: New files.
8523
8524         * m4/gc.m4: Don't call gl_MD5, gl_MEMXOR or gl_HMAC_MD5.
8525
8526 2005-10-12  Simon Josefsson  <jas@extundo.com>
8527
8528         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Use Gc_rc for return types,
8529         suggested by Bruno Haible <bruno@clisp.org>.
8530
8531 2005-10-12  Simon Josefsson  <jas@extundo.com>
8532
8533         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support SHA-1.
8534
8535 2005-10-12  Simon Josefsson  <jas@extundo.com>
8536
8537         * lib/gc-pbkdf2-sha1.c: New file.
8538
8539         * lib/gc.h: Add gc_pbkdf2_sha1 prototype.
8540
8541 2005-10-12  Simon Josefsson  <jas@extundo.com>
8542
8543         * lib/gc-libgcrypt.c (gc_hmac_sha1): New function.
8544
8545         * lib/gc-gnulib.c (gc_hmac_sha1): New function.
8546
8547 2005-10-12  Simon Josefsson  <jas@extundo.com>
8548
8549         * lib/gc-gnulib.c: Condition MD5 and HMAC-MD5 use on GC_USE_MD5 and
8550         GC_USE_HMAC_MD5, respectively.
8551
8552         * lib/gc-libgcrypt.c (gc_md5): Fix assert call.
8553         (gc_md5): Fix typo.
8554
8555         * lib/gc.h (gc_hash_buffer): Use gc_hash in prototype.
8556
8557         * lib/gc-libgcrypt.c (gc_hash_buffer): Ditto.
8558
8559         * lib/gc-gnulib.c (gc_hash_buffer): Ditto.
8560
8561 2005-10-12  Bruno Haible  <bruno@clisp.org>
8562
8563         * m4/stdbool.m4 (gl_STDBOOL_H): Define as an alias of AM_STDBOOL_H.
8564         Reported by Stepan Kasal <kasal@ucw.cz>.
8565
8566 2005-10-11  Simon Josefsson  <jas@extundo.com>
8567
8568         * tests/test-crc.c: New file.
8569
8570         * modules/crc, modules/crc-tests: New files.
8571
8572 2005-10-11  Simon Josefsson  <jas@extundo.com>
8573
8574         * m4/crc.m4: New file.
8575
8576 2005-10-11  Simon Josefsson  <jas@extundo.com>
8577
8578         * lib/gc.h: Add gc_hash and gc_hash_buffer.
8579
8580         * lib/gc-gnulib.c (gc_hash_buffer): Add.  Reorder #include's.
8581
8582         * lib/gc-libgcrypt.c (gc_hash_buffer): Add.
8583
8584 2005-10-11  Simon Josefsson  <jas@extundo.com>
8585
8586         * lib/crc.h, lib/crc.c: New files.
8587
8588         * lib/gc.h (gc_hash_buffer): Add doc.
8589
8590 2005-10-11  Bruno Haible  <bruno@clisp.org>
8591
8592         * modules/c-strcasestr: New file.
8593         * MODULES.html.sh (String handling <string.h>): Add c-strcasestr.
8594
8595 2005-10-11  Bruno Haible  <bruno@clisp.org>
8596
8597         * modules/c-strcase: New file.
8598         * MODULES.html.sh (String handling <string.h>): Add c-strcase.
8599
8600 2005-10-11  Bruno Haible  <bruno@clisp.org>
8601
8602         * lib/strcasecmp.c: Include limits.h.
8603         (strcasecmp): Avoid integer overflow on exotic platforms.
8604         * lib/strncasecmp.c: Include limits.h.
8605         (strncasecmp): Avoid integer overflow on exotic platforms.
8606         Reported by Paul Eggert.
8607
8608 2005-10-11  Bruno Haible  <bruno@clisp.org>
8609
8610         * lib/c-strcasestr.h: New file, from GNU gettext.
8611         * lib/c-strcasestr.c: New file, from GNU gettext.
8612
8613 2005-10-11  Bruno Haible  <bruno@clisp.org>
8614
8615         * lib/c-strcase.h: New file, from GNU gettext.
8616         * lib/c-strcasecmp.c: New file, from GNU gettext.
8617         * lib/c-strncasecmp.c: New file, from GNU gettext.
8618
8619 2005-10-10  Paul Eggert  <eggert@cs.ucla.edu>
8620
8621         * modules/mempcpy (License): GPL -> LGPL.
8622         * modules/strchrnul (License): Likewise.
8623         * modules/sysexits (License): Likewise.
8624
8625 2005-10-08  Simon Josefsson  <jas@extundo.com>
8626
8627         * config/srclist.txt: Bug 1423 is closed, but 1439 remains.
8628
8629 2005-10-07  Simon Josefsson  <jas@extundo.com>
8630
8631         * m4/memxor.m4: Remove gl_C_RESTRICT call.
8632
8633 2005-10-06  Simon Josefsson  <jas@extundo.com>
8634
8635         * tests/test-hmac-md5.c: New file.
8636
8637         * modules/hmac-md5-tests: New file.
8638
8639         * modules/hmac-md5: New file.
8640
8641 2005-10-06  Simon Josefsson  <jas@extundo.com>
8642
8643         * m4/hmac-md5.m4: New file.
8644
8645         * m4/memxor.m4: Require gl_C_RESTRICT.
8646
8647 2005-10-06  Simon Josefsson  <jas@extundo.com>
8648
8649         * lib/memxor.c (memxor): Avoid casts and warnings.
8650
8651 2005-10-06  Simon Josefsson  <jas@extundo.com>
8652
8653         * lib/hmac-md5.c: New file.
8654
8655         * lib/hmac.h: New file.
8656
8657 2005-10-06  Paul Eggert  <eggert@cs.ucla.edu>
8658
8659         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check that bool
8660         promotes to int, not unsigned int, to catch the AIX 5.3
8661         compiler bug.
8662
8663 2005-10-05  Simon Josefsson  <jas@extundo.com>
8664
8665         * modules/memxor: New file.
8666
8667         * modules/iconv (Files): Move config.rpath to havelib, it is used
8668         there.
8669
8670         * modules/havelib (Files): Add config.rpath.
8671
8672 2005-10-05  Simon Josefsson  <jas@extundo.com>
8673
8674         * m4/memxor.m4: New file.
8675
8676 2005-10-05  Simon Josefsson  <jas@extundo.com>
8677
8678         * lib/memxor.c (memxor): Fix compiler error.
8679
8680         * lib/md5.h (MD5_DIGEST_SIZE, MD5_BLOCK_SIZE): Add, see also
8681         <http://sourceware.org/bugzilla/show_bug.cgi?id=1423>.
8682
8683         * lib/memxor.h, lib/memxor.c: New files.
8684
8685         * lib/getaddrinfo.h: Don't protect sys/types.h with HAVE_SYS_TYPES_H,
8686         we assume all systems have it, suggested by Jim Meyering
8687         <jim@meyering.net>.  Remove HAVE_SYS_SOCKET_H test too, to see if
8688         any systems lack sys/socket.h; mingw32 is known to lack it, but we
8689         don't support it yet anyway.  Also remove HAVE_NETDB_H test, for
8690         same reasons.
8691
8692 2005-10-05  Simon Josefsson  <jas@extundo.com>
8693
8694         * config/srclist.txt: Add glibc bug 1423 for md5.h.
8695
8696 2005-10-05  Paul Eggert  <eggert@cs.ucla.edu>
8697
8698         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Don't check for
8699         sys/socket.h, netdb.h, sys/types.h; the checks areno longer
8700         needed, since the source code now assumes these .h files.
8701
8702 2005-10-05  Derek Price  <derek@ximbiot.com>
8703
8704         * lib/getdelim.c (SIZE_MAX): New macro, if not already defined.
8705
8706 2005-10-05  Bruno Haible  <bruno@clisp.org>
8707
8708         * modules/stdint (License): Change to LGPL.
8709
8710 2005-10-04  Simon Josefsson  <jas@extundo.com>
8711
8712         * lib/getaddrinfo.h: Move sys/types.h include first, reported by "Mark
8713         D. Baushke" <mdb@gnu.org>.
8714
8715 2005-10-04  Bruno Haible  <bruno@clisp.org>
8716
8717         * lib/verify.h (verify_true): Provide alternative definition for C++.
8718
8719 2005-10-03  Paul Eggert  <eggert@cs.ucla.edu>
8720
8721         * lib/getdelim.c: Include getdelim.h first.  Include <limits.h>.
8722         (SSIZE_MAX): New macro, if not already defined.
8723         (getdelim): Fix buffer overrun on 64-bit hosts with lines longer
8724         than 2 GiB.
8725
8726 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
8727
8728         Sync from coreutils.
8729         * m4/openat.m4 (gl_FUNC_OPENAT): Check for fdopendir.
8730         * m4/ullong_max.m4 (gl_ULLONG_MAX): Simplify so that it merely
8731         defines ULONG_MAX_LT_ULLONG_MAX.  Thomas M.Ott reports that
8732         ULLONG_MAX doesn't work with 2.7.2.1.
8733
8734 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
8735
8736         * modules/xreadlink (Makefile.am): Remove lib_SOURCES.
8737         From Ben Pfaff.
8738
8739         * modules/exclude (Depends-on): Depend on verify.
8740         * modules/strtoimax (Depends-on): Likewise.
8741         * modules/utimecmp (Depends-on): Likewise.
8742
8743 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
8744
8745         * lib/exclude.c: Include verify.h.
8746         (verify): Remove.  All callers changed to use verify.h's version.
8747         * lib/strtoimax.c: Likewise.
8748         * lib/utimecmp.c: Likewis.e
8749
8750         Sync from coreutils.
8751         * lib/.cppi-disable: Add getaddrinfo.h, getdelim.h, getline.h,
8752         getpass.c, mbchar.h, mbuiter.h, strcase.h, strnlen.h, strnlen1.h.
8753         * lib/.cvsignore: Add fts.h, search.h, t-fpending.
8754         * lib/settime.c (settime): Fix { typo in previous patch.  Also, don't
8755         bother returning ENOSYS if settimeofday or stime fails; just let
8756         them return whatever errno they want to return.
8757         * lib/utimens.c: Include unistd.h, for dup2.
8758         (futimens): Fix typo: HAVE_FUTIMESAT was misspelled in an #if.
8759         (futimens) [! HAVE_FUTIMESAT]: If !file, set errno before returning -1.
8760
8761 2005-10-02  Jim Meyering  <jim@meyering.net>
8762
8763         Sync from coreutils.
8764         * m4/utimes.m4 (gl_FUNC_UTIMES): Detect the version of utimes
8765         from glibc-2.2.5 that fails for read-only files.
8766
8767 2005-10-02  Jim Meyering  <jim@meyering.net>
8768
8769         Sync from coreutils.
8770         * lib/fts-cycle.c [HAVE_CONFIG_H]: Include <config.h>.
8771         * lib/openat-die.c: Use `#ifdef HAVE_CONFIG_H', not
8772         `#if HAVE_CONFIG_H'.
8773         * lib/openat.c (fdopendir): Do not define if HAVE_FDOPENDIR.
8774         Remove AT_FDCWD test.
8775         Do not consume the fd unless successful.
8776         * lib/openat.h (fdopendir): Do not define if HAVE_FDOPENDIR.
8777         * lib/settime.c (settime): Move the HAVE_STIME block `up' into an #elif
8778         block, so that we don't even try to compile it if settimeofday is
8779         available.  This works around a compilation failure on OSF1 V5.1,
8780         due to stime requiring a `long int*' while tv_sec is `int'.
8781
8782 2005-10-02  Alfred M. Szmidt  <ams@gnu.org>
8783
8784         Sync from coreutils.
8785         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Compare $gl_have_path...
8786         against `yes', rather than just testing for nonempty.
8787
8788 2005-10-01  Simon Josefsson  <jas@extundo.com>
8789
8790         * m4/getaddrinfo.m4: Include sys/types.h for sys/socket.h, on FreeBSD
8791         and Darwin.
8792
8793         * m4/getaddrinfo.m4: Use AC_GNU_SOURCE, GNU only declare getaddrinfo
8794         as an (POSIX) extension.  Check for sys/types.h, sys/socket.h, and
8795         netdb.h too, needed by getaddrinfo.h.  Check if getaddrinfo,
8796         freeaddrinfo and gai_strerror are declared by the POSIX headers.
8797         Check if struct addrinfo is declared.
8798
8799 2005-10-01  Simon Josefsson  <jas@extundo.com>
8800
8801         * lib/getaddrinfo.h: Protect #include's of sys/socket.h and netdb.h.
8802         Only define struct addrinfo if !HAVE_STRUCT_ADDRINFO.  Protect
8803         AI_* and EAI_* definitions.  Protect function declarations.
8804
8805 2005-10-01  Jim Meyering  <jim@meyering.net>
8806
8807         Sync from coreutils.
8808
8809         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Look for getservbyname in these
8810         libraries [inet nsl socket xnet].  Nelson Beebe reported that with
8811         native cc on Solaris 7, getaddrinfo.c requires -lsocket.
8812         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
8813         in the inet and nsl libraries.  Required on Solaris 5.7.
8814
8815 2005-10-01  Jim Meyering  <jim@meyering.net>
8816
8817         Sync from coreutils.
8818         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
8819         in the inet and nsl libraries.  Required on Solaris 5.7.
8820
8821 2005-10-01  Eric Blake  <ebb9@byu.net>  (tiny change)
8822
8823         * lib/getdelim.c (getdelim): Remove unused variables.
8824
8825 2005-09-29  Paul Eggert  <eggert@cs.ucla.edu>
8826
8827         * lib/xtime.h (XTIME_PRECISION): Now of type int, not long long int,
8828         so that the code works even with ancient cpp.  Portability problem
8829         with GCC 2.7.2.1 reported by Thomas M.Ott.
8830
8831 2005-09-27  Paul Eggert  <eggert@cs.ucla.edu>
8832
8833         * modules/regex (Depends-on): Add strcase.
8834
8835         * modules/gethostname (Licence): Change from GPL to LGPL, since
8836         gethostname.c is a trivial implementation of a standard library
8837         function.
8838         * modules/poll (License): Change from GPL to LGPL, since it's
8839         derived from LGPL code.
8840
8841 2005-09-27  Jim Meyering  <jim@meyering.net>
8842
8843         * lib/getcwd.c: Change #ifdef<TAB>HAVE_CONFIG_H to #ifdef
8844         HAVE_CONFIG_H.
8845
8846         * lib/intprops.h (signed_type_or_expr__): Define.
8847         (INT_STRLEN_BOUND) [__GNUC__]: Use a slightly tighter bound
8848         for unsigned types.
8849
8850 2005-09-26  Paul Eggert  <eggert@cs.ucla.edu>
8851
8852         * lib/verify.h (verify_expr): Remove, replacing with:
8853         (verify_true): New macro that returns true instead of void.
8854         (verify_type__): Remove.
8855         (verify): Use verify_true rather than verify_type__.
8856
8857 2005-09-26  Bruno Haible  <bruno@clisp.org>
8858
8859         * modules/mbchar (Include): Mention that HAVE_WCHAR_H && HAVE_WCTYPE_H
8860         is necessary.
8861         (lib_SOURCES): Remove mbchar.c.
8862         * modules/mbfile (Include): Mention that HAVE_MBRTOWC is necessary.
8863         (Files): Add m4/mbrtowc.m4.
8864         * modules/mbiter: Likewise.
8865         * modules/mbuiter: Likewise.
8866
8867 2005-09-26  Bruno Haible  <bruno@clisp.org>
8868
8869         * m4/mbchar.m4 (gl_MBCHAR): Check for wchar.h and wctype.h. Don't
8870         compile mbchar.c if they are not both present.
8871         * m4/mbfile.m4 (gl_MBFILE): Require gl_FUNC_MBRTOWC.
8872         * m4/mbiter.m4 (gl_MBITER): Likewise.
8873         * m4/strstr.m4 (gl_PREREQ_STRSTR): Use AC_REQUIRE.
8874         * m4/strcasestr.m4 (gl_PREREQ_STRCASESTR): Likewise.
8875         * m4/strcase.m4 (gl_PREREQ_STRCASECMP): Likewise.
8876
8877 2005-09-25  Jim Meyering  <jim@meyering.net>
8878
8879         * modules/inet_ntop (Depends-on): Add socklen, since inet_ntop.c
8880         also uses socklen_t.
8881
8882 2005-09-24  Paul Eggert  <eggert@cs.ucla.edu>
8883
8884         * lib/utimens.c (ENOSYS): Define if not already defined.
8885         (futimens): Support having a null PATH if the file descriptor
8886         is nonnegative.
8887
8888         * lib/regex_internal.h (__GNUC_PREREQ, always_inline, inline, pure):
8889         Remove.
8890         (__attribute): Define to empty unless GCC 3.1 or later.
8891         This works around a core dump on OpenBSD 3.4, which has GCC
8892         2.95.3, which dumps core when given __attribute__(()).  It also
8893         simplifies other tests, since we really don't want to bother with
8894         worrying about which ancient version of GCC supported what.
8895         Original problem reported by Yoann Vandoorselaere, with part of
8896         the fix suggested by Derek Price.
8897
8898 2005-09-24  Jim Meyering  <jim@meyering.net>
8899
8900         * lib/verify.h (verify_type__): Use `unsigned int' as the bitfield type
8901         so we can once again use a positive bitfield width of 1 -- now we
8902         don't have to explain why we were using a bitfield width of 2.
8903
8904 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
8905
8906         * m4/regex.m4 (gl_REGEX): If replacing, define regcomp to rpl_regcomp,
8907         and similarly for the other external symbols.  Problem reported
8908         by James Gallager.
8909
8910         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Catch Sun Studio 10u1 on Linux
8911         bug reported by Jim Meyering.
8912
8913         * m4/utimens.m4 (gl_UTIMENS): Check for futimesat.
8914         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Undo previous change;
8915         not needed, since socklen is a prerequisite module.
8916
8917 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
8918
8919         * lib/getaddrinfo.c [HAVE_NETINET_IN_H]: Include <netinet/in.h>.
8920         Problem reported by Eric Blake.
8921         (getaddrinfo): Initialize se so that it's not garbage.
8922         Redo internal storage allocation so that it doesn't make unportable
8923         assumptions about alignment.
8924         Fix a memory leak.
8925
8926         * lib/utimens.c (futimens): Use futimesat if available.
8927         Prefer it to futimes since it doesn't have the futimes bug.
8928
8929         * lib/verify.h (GL_CONCAT0, GL_CONCAT): Remove.
8930         (verify): Don't use the __LINE__ trick, as it doesn't work in general.
8931         Instead, declare a function that returns a pointer to an array,
8932         and use verify_type__ to declare the size of the array.
8933         Problem and germ of a solution reported by Bruno Haible.
8934         (verify_type__): Use 2, not 1, for bitfield size, to avoid
8935         a warning with Irix 6.5 cc.  Problem reported by Bruno Haible.
8936
8937 2005-09-23  Jim Meyering  <jim@meyering.net>
8938
8939         Sync from coreutils.
8940         Correct build failure (socklen_t not defined) on at least
8941         mips-sgi-irix6.5 and alphaev67-dec-osf5.1.
8942         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Require gl_SOCKLEN_T.
8943
8944 2005-09-23  Jim Meyering  <jim@meyering.net>
8945
8946         * modules/getaddrinfo (Depends-on): Add socklen.
8947
8948 2005-09-23  Bruno Haible  <bruno@clisp.org>
8949
8950         * tests/test-verify.c: New file.
8951
8952 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
8953
8954         Sync from coreutils.
8955
8956         * modules/argmatch (Depends-on): Add verify.
8957         * modules/getloadavg (Depends-on): Depend on fcntl-safer, not
8958         unistd-safer.
8959         * modules/save-cwd (Depends-on): Likewise.
8960
8961         * modules/openat (Files): Add lib/openat-die.c.
8962         (Depends-on): Remove error, exitfail.
8963         Add dirname.
8964
8965         * modules/verify: New file.
8966         * MODULES.html.sh (Diagnostics <assert.h>): New section,
8967         with "verify" module.
8968
8969 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
8970
8971         Sync from coreutils.
8972
8973         * m4/backupfile.m4, calloc.m4, chown.m4, cloexec.m4, dup2.m4:
8974         * m4/fileblocks.m4, free.m4, ftruncate.m4, getcwd.m4, getpagesize.m4:
8975         * m4/getugroups.m4, group-member.m4, idcache.m4, link-follow.m4:
8976         * m4/mkstemp.m4, mktime.m4, mountlist.m4, nanosleep.m4, pathmax.m4:
8977         * m4/physmem.m4, posixver.m4, putenv.m4, safe-read.m4, same.m4:
8978         * m4/save-cwd.m4, stdio-safer.m4, unistd-safer.m4, unlinkdir.m4:
8979         * m4/userspec.m4, xgetcwd.m4, xreadlink.m4:
8980         Don't bother checking for string.h, stdlib.h, unistd.h.
8981         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't require
8982         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK; that's now the lstat
8983         module's job.
8984         * m4/jm-macros.m4 (gl_MACROS): Likewise.
8985         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_LSTAT.
8986
8987         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): New macro.
8988         (gl_GETDATE): Use it.
8989
8990         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Don't bother checking for unistd.h.
8991
8992 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
8993
8994         Sync from coreutils.
8995
8996         * lib/.cppi-disable: Add regcomp.c, regex_internal.c, regex_internal.h,
8997         stat-time.h.
8998         * lib/argmatch.h: Include verify.h
8999         (ARGMATCH_VERIFY): Use verify rather than rolling our own.
9000         (ARGMATCH_ASSERT): Remove; unused.
9001         * lib/canonicalize.c: Assume STDC_HEADERS.
9002         * lib/exclude.c: Include "strcase.h".
9003         * lib/regex_internal.h [!defined _LIBC]: Likewise.
9004         * lib/getusershell.c: Include stdio--.h rather than stdio.h
9005         and stdio-safer.h.
9006         (getusershell): Call fopen, not fopen_safer.
9007         * lib/save-cwd.c: Include fcntl--.h rather than fcntl.h.
9008         Do not include unistd-safer.h.
9009         (save_cwd): Don't call fd_safer; no longer needed
9010         now that we include fcntl--.h.
9011
9012         * lib/getdate.y (relative_time): New type.
9013         (RELATIVE_TIME_0): New constant.
9014         (parser_control): Use relative_time instead of doing it ourselves.
9015         (%union): Add new relative_time rel member.
9016         (tYEAR_UNIT, tMONTH_UNIT, tHOUR_UNIT, tMINUTE_UNIT, tSEC_UNIT):
9017         Now typeless.
9018         (relunit, relunit_snumber): Now of type rel.
9019         (zone, rel, relunit, get_date): Adjust to above changes.
9020
9021         * lib/getloadavg.c: Include fcntl--.h rather than fcntl.h.
9022         Do not include unistd-safer.h.
9023         (getloadavg): Don't call fd_safer; no longer needed
9024         now that we include fcntl--.h.
9025
9026         * lib/mkdir-p.c (ENOSYS): Define to EEXIST if not defined.
9027         (make_dir_parents): Treat ENOSYS like EEXIST.
9028
9029         Improve quality of diagnostics on restore_cwd failure.
9030         * lib/mkdir-p.h (make_dir): Remove.  All uses replaced by mkdir.
9031         (make_dir_parents): Last arg is now int * (for errno), not bool *.
9032         * lib/mkdir-p.c (make_dir, make_dir_parents): Likewise.
9033         Rewrite "mkdir -p" algorithm to avoid the need for "stat"
9034         each time through the loop.  Do not diagnose restore_cwd failure;
9035         that is the caller's job (and perhaps the caller does not care).
9036
9037         * lib/mkdir-p.c (CLEANUP_CWD, CLEANUP): Remove.
9038         (make_dir_parents): Revamp to avoid need for CLEANUP_CWD, CLEANUP.
9039         If the file already exists but is not a directory, don't bother
9040         to try to make its parents.
9041         Close potential file descriptor leak if we can't chdir("/") (!).
9042         Don't always return true if chdir($PWD) fails; return true only
9043         if the requested action was done successfully (except for the
9044         chdir($PWD)).
9045         Don't log final directory unless we actually made it.
9046         Refactor to avoid duplicate code to fix up permissions.
9047         Don't attempt to fix up parent permissions if chdir($PWD) fails.
9048
9049         * lib/strftime.c (my_strftime): Rewrite the previous change slightly,
9050         to make it a bit faster and (I hope) clearer.
9051         * lib/strftime.c (my_strftime): Add support for %:z, %::z, %:::z.
9052         Fix bug in formats like %2N.
9053
9054         * lib/verify.h: New file.
9055
9056 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
9057
9058         Sync from coreutils.
9059         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Check for netinet/in.h.
9060
9061 2005-09-22  Jim Meyering  <jim@meyering.net>
9062
9063         Sync from coreutils.
9064
9065         * m4/lstat.m4 (gl_FUNC_LSTAT):
9066         Use AC_LIBSOURCES to require lstat.c and lstat.h.
9067         Remove obsolete comment.
9068         * m4/xreadlink.m4: Use AC_LIBSOURCES and AC_LIBOBJ.
9069         * m4/xstrtod.m4: Likewise.
9070
9071         * m4/openat.m4 (gl_FUNC_OPENAT): Add openat-die.c.
9072
9073 2005-09-22  Jim Meyering  <jim@meyering.net>
9074
9075         Sync from coreutils.
9076
9077         * lib/backupfile.c: Use ARGMATCH_VERIFY, just in case.
9078
9079         * lib/posixtm.c (posixtime) [lint]: Initialize *all* of tm0, not just
9080         the .tm_year member, since otherwise gcc-4.0 would now warn about
9081         tm_zone, tm_gmtoff, tm_isdst, tm_yday, tm_wday.
9082
9083         * lib/quotearg.c (quotearg_n_options): Change code to be suboptimal, in
9084         order to avoid an unsuppressible warning from gcc on 64-bit systems.
9085
9086         * lib/getdate.y (get_date): Undo part of the 2005-04-04 change, so that
9087         the command "date -d'2005-03-27 +1 day'" succeeds once again, even
9088         when run in a time zone for which daylight savings time is in effect
9089         for the starting date.
9090
9091         * lib/mkdir-p.c (make_dir_parents): Don't let a failed chdir($PWD)
9092         stop us from restricting permissions of just-created absolute-named
9093         directories.
9094         * lib/mkdir-p.c (CLEANUP_CWD): Return *true*, not false when failing
9095         to restore initial working directory.
9096         * lib/mkdir-p.c (make_dir_parents): New parameter:
9097         different_working_dir, to tell caller if/when we change the working
9098         directory and are unable to return to the initial one.
9099         * lib/mkdir-p.h (make_dir_parents): Update prototype.
9100         * lib/mkdir-p.c (CLEANUP_CWD): Change one more `return 1' to
9101         `return false'.  This fixes a bug introduced on 2004-07-30.
9102
9103         * lib/openat.c (fdopendir): Be sure to close the supplied
9104         file descriptor before returning.  This makes our replacement
9105         implementation a little closer to Solaris's, where fdopendir
9106         ties the file descriptor to the returned DIR* pointer.
9107         * lib/openat.c (unlinkat): New function.
9108         * lib/openat.h (unlinkat): Add prototype.
9109         * lib/openat-die.c (openat_save_fail): Rename from openat_save_die.
9110         (openat_restore_fail): Rename from openat_restore_die.
9111         * lib/openat.c, openat.h: Reflect s/_die/_fail/ renaming.
9112
9113         Provide an alternative to exiting immediately upon save_cwd or
9114         restore_cwd failure.  Now, an application can arrange e.g.,
9115         to perform a longjump in that case.
9116         * lib/openat.c: Include dirname.h.
9117         Use IS_ABSOLUTE_FILE_NAME rather than testing for leading slash.
9118         (rpl_openat, fdopendir, fstatat): Call openat_save_die
9119         and openat_restore_die rather than calling error directly.
9120         Don't include "error.h" or "exitfail.h"; they're no longer needed.
9121
9122         * lib/openat-die.c (openat_save_die, openat_restore_die): New file.
9123         * lib/openat.h (openat_save_die, openat_restore_die): Declare and
9124         define.
9125
9126         * lib/strftime.c [FPRINTFTIME] (fprintftime): Provide a new interface:
9127         size_t fprintftime (FILE *fp, char const *fmt, struct tm const *tm,
9128                             int utc, int nanoseconds);
9129         Background:
9130         date should not have to allocate a megabyte of virtual memory to
9131         handle a format argument like +%1048575T.  When implemented with
9132         strftime, it must allocate such a buffer, use strftime to fill it
9133         in, print it, then free it.
9134         With fprintftime, it simply prints everything and exits.
9135         With no need for memory allocation, that's one fewer way to fail.
9136         * lib/strftime.c (my_strftime): Parse the colons of %:::z *after* the
9137         optional field width, not before, so we accept %9:z, not %:9z.
9138         (my_strftime): Be sure to use L_('x') for literals.
9139
9140         * lib/backupfile.c, lib/canon-host.c, lib/canonicalize.c, lib/chown.c:
9141         * lib/cloexec.c, lib/dup-safer.c, lib/dup2.c, lib/euidaccess.c:
9142         * lib/fd-safer.c, lib/fileblocks.c, lib/fopen-safer.c, lib/fsusage.c:
9143         * lib/ftruncate.c, lib/getcwd.c, lib/getcwd.h, lib/getloadavg.c:
9144         * lib/getopt_.h, lib/getpagesize.h, lib/getugroups.c:
9145         * lib/group-member.c, lib/human.h, lib/idcache.c, lib/mkdir-p.c:
9146         * lib/mountlist.c, lib/nanosleep.c, lib/pathmax.h, lib/physmem.c:
9147         * lib/posixver.c, lib/putenv.c, lib/raise.c, lib/safe-read.c:
9148         * lib/same.c, lib/save-cwd.c, lib/setenv.c, lib/settime.c:
9149         * lib/tempname.c, lib/unlinkdir.c, lib/unsetenv.c, lib/userspec.c:
9150         * lib/xgethostname.c, lib/xreadlink.c:
9151         Assume HAVE_UNISTD_H, i.e., include <unistd.h> unconditionally.
9152
9153         * lib/chown.c, lib/cloexec.c, lib/dup-safer.c, lib/dup2.c:
9154         * lib/fsusage.c, lib/getcwd.c, lib/getloadavg.c, lib/mountlist.c:
9155         * lib/openat.h, lib/save-cwd.c, lib/tempname.c:
9156         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
9157         and don't include <sys/file.h>).
9158
9159 2005-09-22  Eric Blake  <ebb9@byu.net>  (tiny change)
9160
9161         Sync from coreutils.
9162
9163         * lib/getloadavg.c (getloadavg) [__CYGWIN__]: Port to cygwin.
9164         [__linux__]: Allocate a big enough buffer for /proc/loadavg.
9165         [!LDAV_DONE]: Avoid unused variable warning.
9166
9167 2005-09-21  Bruno Haible  <bruno@clisp.org>
9168
9169         * lib/unicodeio.h (unicode_to_mb): New declaration.
9170
9171 2005-09-20  Derek Price  <derek@ximbiot.com>
9172
9173         * lib/getaddrinfo.c: Don't include <netdb.h> included from
9174         getaddrinfo.h.
9175
9176 2005-09-20  Bruno Haible  <bruno@clisp.org>
9177
9178         * gnulib-tool: Remove trailing slashes from the values specified for
9179         --source-base, --m4-base, --tests-base, --aux-dir.
9180         Suggested by Simon Josefsson <jas@extundo.com>.
9181
9182 2005-09-20  Bruno Haible  <bruno@clisp.org>
9183
9184         * gnulib-tool (func_all_modules, func_modules_transitive_closure,
9185         func_modules_to_filelist, func_import, func_create_testdir): Make all
9186         sorting results locale-independent, so that gnulib-cache.m4 doesn't
9187         change when gnulib-tool is invoked in a different locale.
9188
9189 2005-09-19  Simon Josefsson  <jas@extundo.com>
9190
9191         * m4/socklen.m4: Fix typo.
9192
9193 2005-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
9194
9195         Use a consistent style for including <config.h>.
9196         * lib/__fpending.c, lib/acl.c, lib/argmatch.c, lib/argp-help.c,
9197         lib/argp-parse.c, lib/argp-pvh.c, lib/backupfile.c, lib/basename.c,
9198         lib/c-stack.c, lib/calloc.c, lib/check-version.c, lib/cloexec.c,
9199         lib/closeout.c, lib/copy-file.c, lib/creat-safer.c, lib/cycle-check.c,
9200         lib/dirfd.c, lib/dirname.c, lib/dup-safer.c, lib/dup2.c,
9201         lib/euidaccess.c, lib/exclude.c, lib/exitfail.c, lib/fatal-signal.c,
9202         lib/fd-safer.c, lib/file-type.c, lib/fileblocks.c, lib/filemode.c,
9203         lib/filenamecat.c, lib/findprog.c, lib/fnmatch.c, lib/fopen-safer.c,
9204         lib/free.c, lib/fsusage.c, lib/ftruncate.c, lib/full-write.c,
9205         lib/fwriteerror.c, lib/getaddrinfo.c, lib/getcwd.c, lib/getdelim.c,
9206         lib/getline.c, lib/getlogin_r.c, lib/getndelim2.c, lib/getnline.c,
9207         lib/getopt1.c, lib/getpass.c, lib/group-member.c, lib/hard-locale.c,
9208         lib/hash-pjw.c, lib/hash.c, lib/human.c, lib/idcache.c,
9209         lib/inet_ntop.c, lib/isdir.c, lib/long-options.c, lib/malloc.c,
9210         lib/memcasecmp.c, lib/memcmp.c, lib/memcoll.c, lib/memcpy.c,
9211         lib/memmove.c, lib/mkdir-p.c, lib/modechange.c, lib/mountlist.c,
9212         lib/open-safer.c, lib/physmem.c, lib/pipe-safer.c, lib/pipe.c,
9213         lib/poll.c, lib/posixver.c, lib/progname.c, lib/progreloc.c,
9214         lib/putenv.c, lib/quote.c, lib/quotearg.c, lib/readline.c,
9215         lib/readlink.c, lib/realloc.c, lib/regex.c, lib/rename.c, lib/rmdir.c,
9216         lib/rpmatch.c, lib/safe-read.c, lib/same.c, lib/save-cwd.c,
9217         lib/savedir.c, lib/sig2str.c, lib/strcspn.c, lib/strerror.c,
9218         lib/stripslash.c, lib/strncasecmp.c, lib/strndup.c, lib/strnlen.c,
9219         lib/strnlen1.c, lib/strsep.c, lib/strstr.c, lib/strtod.c,
9220         lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c,
9221         lib/time_r.c, lib/userspec.c, lib/utimecmp.c, lib/version-etc-fsf.c,
9222         lib/version-etc.c, lib/wait-process.c, lib/xalloc-die.c, lib/xgetcwd.c,
9223         lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c, lib/xreadlink.c,
9224         lib/xsetenv.c, lib/xstrndup.c, lib/xstrtoimax.c, lib/xstrtol.c,
9225         lib/xstrtoumax.c, lib/yesno.c:
9226         Standardize inclusion of config.h.
9227         * lib/__fpending.h, lib/dirfd.h, lib/getdate.h, lib/human.h,
9228         lib/inttostr.h:  Removed inclusion of config.h from header files.
9229         * lib/inttostr.c:  Adjusted in-tree users.
9230         * lib/timespec.h: Remove superfluous warning to include config.h.
9231         * lib/atexit.c, lib/chdir-long.c, lib/chown.c, lib/fchown-stub.c,
9232         lib/getgroups.c, lib/gettimeofday.c, lib/lchown.c, lib/lstat.c,
9233         lib/mkdir.c, lib/mkstemp.c, lib/nanosleep.c, lib/openat.c, lib/raise.c,
9234         lib/readtokens0.c, lib/readutmp.c, lib/unlinkdir.c: Guard inclusion of
9235         config.h with HAVE_CONFIG_H.
9236
9237 2005-09-19  Jim Meyering  <jim@meyering.net>
9238
9239         * modules/pathmax (License): Change to LGPL.
9240
9241 2005-09-19  Derek Price  <derek@ximbiot.com>
9242
9243         * config/srclist.txt: glibc's glob.h is now in lib/glob-libc.h.
9244
9245 2005-09-19  Bruno Haible  <bruno@clisp.org>
9246
9247         * gnulib-tool (import): Provide default for --tests-base.
9248
9249 2005-09-19  Bruno Haible  <bruno@clisp.org>
9250
9251         * doc/quote.texi: New file, extracted from gnulib.texi.
9252         * doc/ctime.texi: New file, extracted from gnulib.texi.
9253         * doc/inet_ntoa.texi: New file, extracted from gnulib.texi.
9254         * doc/gnulib-tool.texi: New file, extracted from gnulib.texi.
9255         * doc/gnulib.texi: Include them.
9256
9257 2005-09-18  Bruno Haible  <bruno@clisp.org>
9258
9259         Portability fix.
9260         * gnulib-tool (func_readlink): New function.
9261         (func_ln_if_changed): Use it.
9262
9263 2005-09-18  Bruno Haible  <bruno@clisp.org>
9264
9265         * gnulib-tool: Support --with-tests also with --import.
9266         (func_emit_tests_Makefile_am): Use variables $m4base and $testsbase.
9267         (func_import): Use variables $testsbase and $inctests. Emit a
9268         gl_TESTS_BASE form into gnulib-cache.m4. Create $testsbase/Makefile.am.
9269         Remind the user to add AC_CONFIG_FILES($testsdir/Makefile) and
9270         SUBDIRS += $testsdir.
9271         (func_create_testdir): Update.
9272
9273 2005-09-18  Bruno Haible  <bruno@clisp.org>
9274
9275         * gnulib-tool: Revise --dry-run implementation. Use variable $doit
9276         instead of $dry_run.
9277         (func_cp_if_changed, func_mv_if_changed): Remove functions.
9278         (func_ln_if_changed): Don't handle dry-run here.
9279         (func_import): In dry-run mode, detect more precisely which actions
9280         would be performed, and don't use "...ing" verbs.
9281
9282 2005-09-18  Bruno Haible  <bruno@clisp.org>
9283
9284         * gnulib-tool (func_tmpdir): New function, taken from GNU gettextize.
9285         (func_import): Use join on two temporary files instead of three nested
9286         loops, in order to determine which files are new or old.
9287
9288 2005-09-18  Bruno Haible  <bruno@clisp.org>
9289
9290         * gnulib-tool (func_import): Comment out code that spits out the
9291         new files with --dry-run.
9292
9293 2005-09-18  Bruno Haible  <bruno@clisp.org>
9294
9295         * doc/gnulib.texi (Invoking gnulib-tool): 50% rewritten.
9296
9297 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
9298
9299         * lib/stat-time.h: New file.
9300         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP, ATIME_CMP, CTIME_CMP):
9301         (MTIME_CMP, TIMESPEC_NS): Remove.  Now done by stat-time.h,
9302         in a different way.
9303         (timespec_cmp): New function.
9304         * lib/utimecmp.c: Include stat-time.h.
9305         (SYSCALL_RESOLUTION): Depend on whether various struct stat
9306         members exist, not on the obsolescent ST_MTIM_NSEC.
9307         (utimecmp): Use the new stat-time functions rater than TIMESPEC_NS.
9308
9309 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
9310
9311         * config/srclist.txt: Remove glibc bug 1033 and uncomment mktime.c.
9312
9313 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
9314
9315         * MODULES.html.sh (File system functions): Add stat-time.
9316         * modules/stat-time: New file.
9317         * modules/timespec (Files): Remove m4/st_mtim.m4; this
9318         is now done in a different way, by the stat-time module.
9319         * modules/utimecmp (Depends-on): Add stat-time.
9320
9321 2005-09-15  Paul Eggert  <eggert@cs.ucla.edu>
9322
9323         * m4/st_mtim.m4: Remove.  Superseded by...
9324         * m4/stat-time.m4: New file.
9325         * m4/timespec.m4 (gl_TIMESPEC): Require AC_C_INLINE.
9326         Do not invoke AC_STRUCT_ST_MTIM_NSEC; no longer needed.
9327
9328 2005-09-15  Derek Price  <derek@ximbiot.com>
9329
9330         * m4/strstr.m4 (gl_FUNC_STRSTR): Don't define strstr here.
9331
9332 2005-09-15  Derek Price  <derek@ximbiot.com>
9333
9334         * lib/regex_internal.h: Blank `pure' for GNUC < 3.
9335         * lib/regex_internal.c: Ditto, using this...
9336         (__GNUC_PREREQ): ...new macro.
9337         * lib/regcomp.c, regexec.c: Blank `always_inline' for GNUC < 3.1
9338         using...
9339         (__GNUC_PREREQ): ...this new macro.
9340
9341         * lib/strstr.h: Include string.h. Define strstr as a macro here.
9342
9343 2005-09-15  Derek Price  <derek@ximbiot.com>
9344             Paul Eggert  <eggert@cs.ucla.edu>
9345
9346         * lib/regcomp.c, regexec.c, regex_internal.c: Back out previous
9347         changes, consolidating in...
9348         * lib/regex_internal.h: ...this file.
9349
9350 2005-09-13  Jim Meyering  <jim@meyering.net>
9351
9352         * lib/canon-host.c: Filter through gnu indent and reword comments
9353         slightly.
9354         * lib/canon-host.h (ch_strerror_r): Tweak cpp indentation and spacing.
9355
9356 2005-09-13  Derek Price  <derek@ximbiot.com>
9357
9358         * lib/canon-host.c (canon_host_r): Set *cherror on memory allocation
9359         failure.
9360         Reported by Jim Meyering  <jim@meyering.net>.
9361
9362 2005-09-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
9363
9364         * lib/base64.c: Typo.
9365         (base64_encode): Put b64str in initialized data section.
9366
9367 2005-09-12  Paul Eggert  <eggert@cs.ucla.edu>
9368
9369         Merge glibc and coreutils changes into gnulib, plus a few
9370         extra fixes.
9371         * lib/md5.c: Use #error rather than a string.
9372         (CYCLIC): New macro, from glibc source.  Use it instead of rol.
9373         * lib/md5.h (__GNUC_PREREQ, __THROW): Define if not defined already.
9374         (__attribute__): Define to empty for non recent-GCC.
9375         (__md5_buffer, __md5_finish_ctx, __md5_init_ctx, __md5_process_block):
9376         (__md5_process_bytes, __md5_read_ctx, __md5_stream):
9377         Renamed from their non-__ counterparts, with new macros replacing
9378         them if not _LIBC.  Add __THROW attribute.
9379         (rol): Remove.
9380         (struct md5_ctx): Align buffer if using GCC.
9381         * lib/sha1.h (struct sha1_ctx): Likewise.
9382         * lib/sha1.c (SWAP): Renamed from the NOTSWAP.  All uses changed.
9383         The old name was backwards.
9384         (NOTSWAP): Remove; not used.
9385         (rol): New macro, moved here from md5.h.
9386         (sha1_process_block): Remove a FIXME that doesn't make sense.
9387
9388 2005-09-12  Derek Price  <derek@ximbiot.com>
9389
9390         Return usable errors from canon-host.
9391         * lib/canon-host.h: New file.
9392         * lib/canon-host.c (canon_host): Wrap...
9393         (canon_host_r): ...this new function, which now relies exclusively on
9394         getaddrinfo.
9395         (ch_strerror): New function.
9396         (last_cherror): New global.
9397         * lib/getaddrinfo.c: Move include of getaddrinfo.h first to test
9398         interface.
9399         (getaddrinfo): Add AI_CANONNAME functionality.  Don't do arithmetic on
9400         void *.
9401         (freeaddrinfo): Free ai->ai_canonname when set.
9402
9403 2005-09-12  Derek Price  <derek@ximbiot.com>
9404
9405         Make canon-host require getaddrinfo.
9406         * m4/canon-host.m4 (gl_CANON_HOST): Remove most dependencies.
9407         AC_LIBSOURCE canon-host.h.  Call...
9408         (gl_PREREQ_CANON_HOST): ...this new function, which requires
9409         gl_GETADDRINFO.
9410         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Compile gai_strerror when needed.
9411
9412 2005-09-12  Derek Price  <derek@ximbiot.com>
9413
9414         * modules/canon-host: Add canon-host.h.  Depend on getaddrinfo.  Make
9415         LGPL.
9416         * modules/getaddrinfo: Add link to opengroup spec.  Depend on strdup.
9417
9418 2005-09-12  Derek Price  <derek@ximbiot.com>
9419
9420         * lib/gai_strerror.c: Include config.h when available.  Include
9421         getaddrinfo.h before other headers to test interface.
9422         Reported by Larry Jones <lawrence.jones@ugs.com>.
9423
9424 2005-09-12  Derek Price  <derek@ximbiot.com>
9425             Paul Eggert  <eggert@cs.ucla.edu>
9426
9427         * modules/glob (Files): Add glob-libc.h.
9428
9429 2005-09-12  Derek Price  <derek@ximbiot.com>
9430             Paul Eggert  <eggert@cs.ucla.edu>
9431
9432         * m4/glob.m4 (gl_GLOB_SUBSTITUTE): AC_LIBSOURCES for glob.c,
9433         glob_.h, glob-libc.h.
9434         (gl_PREREQ_GLOB): Remove _SYS_CDEFS_H hack; no longer needed.
9435
9436 2005-09-12  Derek Price  <derek@ximbiot.com>
9437             Paul Eggert  <eggert@cs.ucla.edu>
9438
9439         * lib/glob-libc.h: Renamed from glob_.h.  The new version is
9440         taken from libc's glob.h, except with '#ifdef __GLOB_GNULIB'
9441         protecting things that should be done only in gnulib contexts.
9442         * lib/glob_.h: New file, containing only the glob things needed for
9443         gnulib.
9444         (GLOB_PREFIX): Remove.  All uses changed to look for __GLOB_GNULIB.
9445         (__GLOB_CONCAT, __GLOB_XCONCAT, __GLOB_ID): Remove; no longer needed.
9446         (glob, globfree, glob_pattern_p): Now defined simply in terms of
9447         rpl_glob, rpl_globfree, rpl_glob_pattern_p.
9448         (__GLOB_GNULIB): New macro, to keep the glob.h changes clearer
9449         and to respect the namespace rules better.
9450
9451 2005-09-08  Simon Josefsson  <jas@extundo.com>
9452
9453         * modules/socklen: New file.
9454
9455 2005-09-08  Simon Josefsson  <jas@extundo.com>
9456
9457         * m4/socklen.m4: New file.
9458
9459 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
9460
9461         * modules/utimens (Files): Add m4/utimbuf.m4, since
9462         m4/utimens.m4 requires gl_CHECK_TYPE_STRUCT_UTIMBUF.
9463         Reported by Sergey Poznyakoff.
9464
9465 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
9466
9467         * lib/glob.c (glob, globfree, __glob_pattern_p): Use old-style function
9468         definitions, since that's the preferred style in glibc.
9469         Fix a minor spacing issue, and update copyright notice to match
9470         glibc's.
9471
9472 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
9473
9474         * config/srclist.txt: Remove glibc bug 1061; it's been fixed.
9475
9476 2005-09-06  Simon Josefsson  <jas@extundo.com>
9477
9478         * lib/getpass.c (getpass): Fix typo, test for HAVE_TCSETATTR and not
9479         TCSETATTR.  Reported by Derek Price <derek@ximbiot.com>.
9480
9481 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
9482
9483         * lib/regex_internal.h (bitset_not): Add parens to avoid gcc -Wall
9484         warning.
9485
9486 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
9487
9488         * config/srclist.txt: Add glibc bug 1302.
9489
9490 2005-09-05  Paul Eggert  <eggert@cs.ucla.edu>
9491
9492         Change bitset word type from unsigned int to unsigned long int,
9493         as this has better performance on typical 64-bit hosts.
9494         Port bitset code to hosts with unusual word sizes.
9495         * lib/regcomp.c (build_equiv_class, build_charclass, build_range_exp):
9496         (build_collating_symbol):
9497         Prefer bitset to re_bitset_ptr_t in prototypes, when the actual
9498         argument is a bitset.  This is merely a style issue, but it makes
9499         it clearer that an entire array is expected.
9500         (re_compile_fastmap_iter, init_dfa, init_word_char, optimize_subexps):
9501         * lib/regcomp.c (lower_subexp, parse_bracket_exp, built_charclass_op):
9502         Port to the case where bitset_word is not the same as unsigned int.
9503         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
9504         (bitset_not, bitset_merge, bitset_set_all, bitset_mask):
9505         Likewise.
9506         * lib/regexec.c (check_dst_limits_calc_pos_1,
9507         check_subexp_matching_top):
9508         (build_trtable, group_nodes_into_DFAstates):
9509         Likewise.
9510         * lib/regcomp.c (re_compile_fastmap_iter, utf8_sb_map, optimize_utf8):
9511         Don't assume that SBC_MAX is a multiple of BITSET_WORD_BITS.
9512         * lib/regex_internal.h (bitset_set_all, bitset_not): Likewise.
9513         * lib/regexec.c (group_nodes_into_DFAstates): Likewise.
9514         * lib/regcomp.c (utf8_sb_map): Don't assume UINT_MAX == 0xffffffff.
9515         * lib/regcomp.c (optimize_subexps, lower_subexp):
9516         Work even if bitset_word has holes in its bitwise representation.
9517         * lib/regex_internal.h (BITSET_WORD_BITS): Likewise.
9518         * lib/regexec.c (check_dst_limits_calc_pos_1,
9519         check_subexp_matching_top):
9520         Likewise.
9521         * lib/regex_internal.c (re_string_reconstruct):
9522         Don't assume UCHAR_MAX == 255.
9523         * lib/regex_internal.h (bitset_set_all): Likewise.
9524         * lib/regex_internal.h (BITSET_WORD_BITS): Renamed from UINT_BITS.
9525         All uses changed.
9526         (BITSET_WORDS): Renamed from BITSET_UINTS.  All uses changed.
9527         (bitset_word): New type, replacing 'unsigned int' for bitset uses.
9528         All uses changed.
9529         (BITSET_WORD_MAX): New macro.
9530         (bitset_set, bitset_clear, bitset_contain, bitset_empty):
9531         (bitset_set_all, bitset_copy):  Now inline functions, not macros.
9532         (bitset_empty, bitset_copy):
9533         Prefer sizeof (bitset) to multiplying it out ourselves.
9534         (bitset_not_merge): Remove; unused.
9535         (bitset_contain): Return bool, not unsigned int with one bit on.
9536         All callers changed.
9537         * lib/regexec.c (build_trtable): Don't assume bitset has no stricter
9538         alignment than re_node_set; do this by defining a new internal
9539         type struct dests_alloc and using it to allocate memory.
9540
9541 2005-09-05  Bruno Haible  <bruno@clisp.org>
9542
9543         * gnulib-tool (func_import): Fix comparison in handling of symbolic
9544         links.
9545
9546 2005-09-04  Martin Lambers  <marlam@marlam.de>  (tiny change)
9547
9548         * modules/size_max (Makefile.am): Add size_max.h
9549
9550 2005-09-04  Derek Price  <derek@ximbiot.com>
9551
9552         * gnulib-tool (func_import): Fix reversed $symbolic logic.
9553
9554 2005-09-03  Simon Josefsson  <jas@extundo.com>
9555
9556         * gnulib-tool: Fix typo.
9557
9558 2005-09-03  Simon Josefsson  <jas@extundo.com>
9559
9560         * config/srclist.txt: Add glibc bug 1293.
9561
9562 2005-09-03  Derek Price  <derek@ximbiot.com>
9563
9564         * m4/getlogin_r (gl_GETLOGIN_R): Fix cut & paste error.
9565         From Larry Jones <lawrence.jones@ugs.com>.
9566
9567 2005-09-02  Simon Josefsson  <jas@extundo.com>
9568
9569         * modules/socklen: New file.
9570
9571 2005-09-02  Simon Josefsson  <jas@extundo.com>
9572
9573         * modules/havelib: New module.
9574
9575         * modules/gettext, modules/iconv, modules/lock, modules/readline:
9576         Use havelib.
9577
9578 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
9579
9580         Check for arithmetic overflow when calculating sizes, to prevent
9581         some buffer-overflow issues.  These patches are conservative, in the
9582         sense that when I couldn't determine whether an overflow was possible,
9583         I inserted a run-time check.
9584         * lib/regex_internal.h (re_xmalloc, re_xrealloc, re_x2realloc): New
9585         macros.
9586         (SIZE_MAX) [!defined SIZE_MAX]: New macro.
9587         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc):
9588         (re_xnrealloc, re_x2nrealloc): New inline functions.
9589         * lib/regcomp.c (init_dfa, analyze, build_range_exp,
9590         parse_bracket_exp):
9591         (build_equiv_class, build_charclass): Check for arithmetic overflow
9592         in size expression calculations.
9593         * lib/regex_internal.c (re_string_realloc_buffers):
9594         (build_wcs_upper_buffer, re_node_set_add_intersect):
9595         (re_node_set_init_union, re_node_set_insert, re_node_set_insert_last):
9596         (re_dfa_add_node, register_state): Likewise.
9597         * lib/regexec.c (re_search_stub, re_copy_regs, re_search_internal):
9598         (prune_impossible_nodes, push_fail_stack, set_regs, check_arrival):
9599         (build_trtable, extend_buffers, match_ctx_init, match_ctx_add_entry):
9600         (match_ctx_add_subtop, match_ctx_add_sublast): Likewise.
9601
9602 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
9603
9604         * modules/inttostr (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
9605         m4/ulonglong.m4.  Problem reported by Martin Lambers.
9606
9607 2005-09-02  Bruno Haible  <bruno@clisp.org>
9608
9609         Support for lib vs. lib64 distinction on biarch platforms.
9610         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): New macro.
9611         (AC_LIB_PREFIX): Require it. Use $acl_libdirstem instead of 'lib'.
9612         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Likewise.
9613
9614 2005-09-02  Bruno Haible  <bruno@clisp.org>
9615
9616         * gnulib-tool (import): In the other first-use case, provide defaults
9617         as well.
9618
9619 2005-09-02  Bruno Haible  <bruno@clisp.org>
9620
9621         * config/srclist.txt: lib-link.m4 and lib-prefix.m4 currently have
9622         patches not yet found in the latest gettext release.
9623
9624 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
9625
9626         * lib/glob.c (GET_LOGIN_NAME_MAX): Renamed from LOGIN_NAME_MAX,
9627         to avoid a collision with bits/local_lim.h in glibc.
9628         All uses changed.  Problem reported by Dmitry V. Levin in
9629         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=1060>.
9630
9631         * lib/regex_internal.c (build_wcs_upper_buffer): Fix portability
9632         bugs in int versus size_t comparisons.
9633         (re_string_context_at): Fix bug where the code assumed that
9634         Idx is signed.
9635
9636         Use bool where appropriate.
9637         * lib/regcomp.c (re_set_fastmap): ICASE arg is bool, not int.
9638         All callers changed.
9639         (calc_eclosure_iter): Likewise, for ROOT arg.
9640         (parse_bracket_element): Likewise, for ACCEPT_HYPHEN arg.
9641         (build_charclass_op): Likewise, for NON_MATCH arg.
9642         * lib/regex_internal.c (re_string_allocate, re_string_construct):
9643         (re_string_construct_common): Likewise, for ICASE arg.
9644         * lib/regexec.c (re_search_2_stub, re_search_stub):
9645         Likewise, for RET_LEN arg.
9646         (check_matching): Likewise, for FL_LONGEST_MATCH arg.
9647         (set_regs): Likewise, for FL_BACKTRACK arg.
9648         * lib/regcomp.c (re_compile_fastmap_iter, optimize_utf8):
9649         (duplicate_node_closure, calc_inveclosure, calc_eclosure):
9650         (calc_eclosure_iter, parse_bracket_exp):
9651         Use bool for internal variables that are booleans.
9652         * lib/regexec.c (re_search_internal, check_matching,
9653         proceed_next_node):
9654         (set_regs, build_sifted_states, sift_states_bkref):
9655         (check_arrival_add_next_nodes, check_arrival_expand_ecl_sub):
9656         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
9657         (find_collation_sequence_value):
9658         Likewise.
9659         * lib/regex_internal.c (re_node_set_insert, re_node_set_insert_last):
9660         (re_node_set_compare):
9661         Return bool, not int. All callers changed.
9662         * lib/regexec.c (check_halt_node_context, check_dst_limits):
9663         (build_trtable, check_node_accept): Likewise.
9664         * lib/regex_internal.h: Include stdbool.h.
9665
9666         Fix bugs uncovered when converting to bool.
9667         * lib/regcomp.c (calc_eclosure_iter): Check for storage allocation
9668         failure instead of charging ahead blindly.
9669         * lib/regex_internal.c (register_state): Likewise.
9670         * lib/regexec.c (re_search_2_stub): Use simpler method than boolean
9671         for freeing internal storage.
9672         (group_nodes_into_DFA_states): Use unsigned int, not int, for
9673         bitset pieces used as boolean, to avoid undefined behavior
9674         on hosts that do int overflow checking.
9675
9676 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
9677
9678         * config/srclist.txt: Add glibc bugs 1285-1287.
9679
9680 2005-09-01  Jim Meyering  <jim@meyering.net>
9681
9682         * m4/lchown.m4: Require gl_FUNC_CHOWN, for the definition of
9683         CHOWN_MODIFIES_SYMLINK, which is used by lchown.c.
9684         Require gl_STAT_MACROS, too.
9685
9686 2005-09-01  Bruno Haible  <bruno@clisp.org>
9687
9688         * gnulib-tool (import): In the first-use case, provide defaults.
9689
9690 2005-09-01  Bruno Haible  <bruno@clisp.org>
9691
9692         * gnulib-tool (func_import): Remove the .tmp files.
9693
9694 2005-09-01  Bruno Haible  <bruno@clisp.org>
9695
9696         * gnulib-tool (func_import): Fix handling of symbolic links.
9697
9698 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
9699
9700         On 64-bit hosts (where size_t is 64 bits and int is 32 bits), the
9701         old glibc regex code mishandles strings longer than 2**31 bytes.
9702         This patch fixes this when the regex code is used in gnulib
9703         (i.e., outside glibc).
9704
9705         This patch should not affect the use of the regex code inside
9706         glibc.  No doubt this problem also needs to be handled for glibc
9707         as well, but the result will be an incompatible change to the
9708         glibc ABI, and the old ABI will have to be supported too.  That
9709         can be the the subject for another patch.
9710
9711         * lib/regex.h (_REGEX_LARGE_OFFSETS): New feature-test macro,
9712         governing whether the rest of this patch is active.  By default,
9713         the macro is disabled and the patch has no effect.
9714         (regoff_t) [defined _REGEX_LARGE_OFFSETS]: Define to off_t, not int.
9715         (__re_idx_t, __re_size_t, __re_long_size_t): New types.
9716         (struct re_pattern_buffer, re_search, re_search_2, re_match):
9717         (re_match_2, re_set_registers): Use the new types.
9718         * lib/regex_internal.h (Idx, re_hashval_t): New types.
9719         (REG_MISSING, REG_ERROR, REG_VALID_INDEX, REG_VALID_NONZERO_INDEX):
9720         New macros.
9721         (re_node_set, re_charset_t, re_token_t, re_string_realloc_buffers):
9722         (re_string_context_at, bin_tree_t, re_dfastate_t):
9723         (struct re_state_table_entry, state_array_t, re_sub_match_last_t):
9724         (re_sub_match_top_t, re_match_context_t, re_sift_context_t):
9725         (struct re_fail_stack_ent_t, struct re_fail_stack_t, struct re_dfa_t):
9726         (re_string_char_size_at, re_string_wchar_at):
9727         (re_string_elem_size_at):
9728         Use the new types and macros to port to 64-bit hosts.
9729         Use unsigned types for internal values, so that the code
9730         mostly works even for arrays larger than SSIZE_MAX.
9731         * lib/regcomp.c (re_compile_internal, init_dfa, duplicate_node):
9732         (search_duplicated_node, calc_eclosure_iter, fetch_number):
9733         (parse_reg_exp, parse_branch, parse_expression, parse_sub_exp):
9734         (build_equiv_class, build_charclass, re_compile_fastmap_iter):
9735         (free_dfa_content, create_initial_state, optimize_utf8, analyze):
9736         (optimize_subexps, calc_first, link_nfa_nodes, duplicate_node_closure):
9737         (calc_inveclosure, parse_dup_op, build_range_exp):
9738         (build_collating_symbol, parse_bracket_exp, build_charclass_op):
9739         (fetch_number, create_token_tree, mark_opt_subexp):
9740         Likewise.
9741         * lib/regex_internal.c (re_string_construct_common,
9742         create_ci_newstate):
9743         (create_cd_newstate, re_string_allocate, re_string_construct):
9744         (re_string_realloc_buffers, build_wcs_upper_buffer):
9745         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
9746         (re_string_reconstruct, re_string_peek_byte_case):
9747         (re_string_fetch_byte_case, re_string_context_at):
9748         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
9749         (re_node_set_init_copy, re_node_set_add_intersect):
9750         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
9751         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
9752         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
9753         (re_acquire_state, re_acquire_state_context, register_state):
9754         Likewise.
9755         * lib/regex.c (match_ctx_init, match_ctx_add_entry,
9756         search_cur_bkref_entry):
9757         (match_ctx_add_subtop, match_ctx_add_sublast, sift_ctx_init):
9758         (re_search_internal, re_search_2_stub, re_search_stub)
9759         (re_copy_regs, check_matching, check_halt_state_context, update_regs):
9760         (push_fail_stack, sift_states_iter_mb, build_sifted_states):
9761         (update_cur_sifted_state, check_dst_limits):
9762         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
9763         (check_subexp_limits, sift_states_bkref, merge_state_array):
9764         (check_subexp_matching_top, get_subexp, get_subexp_sub):
9765         (find_subexp_node, check_arrival, check_arrival_add_next_nodes):
9766         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
9767         (expand_bkref_cache, check_node_accept_bytes):
9768         (group_nodes_into_DFAstates, check_node_accept, regexec, re_match):
9769         (re_search, re_match_2, re_search_2, prune_impossible_nodes):
9770         (acquire_init_state_context, check_halt_node_context):
9771         (proceed_next_node, pop_fail_stack, set_regs, free_fail_stack_return):
9772         (sift_states_backward, clean_state_log_if_needed):
9773         (sub_epsilon_src_nodes, add_epsilone_src_nodes, merge_state_with_log):
9774         (find_recover_state, transit_state_sb, transit_state_mb):
9775         (transit_state_bkref, build_trtable, match_ctx_clean):
9776         Likewise.
9777         * lib/regcomp.c (parse_dup_op): Add an extra test if Idx is unsigned,
9778         to work around an assumption that REG_MISSING is negative.
9779
9780         * lib/regcomp.c (re_comp) [defined _REGEX_RE_COMP || defined _LIBC]:
9781         (seek_collating_symbol_entry) [defined _LIBC]:
9782         (lookup_collation_sequence_value) [defined _LIBC]:
9783         (build_range_exp, build_collating_symbol) [defined _LIBC]:
9784         Use prototypes rather than old-style function definitions.
9785         * lib/regexec.c (re_exec) [defined _REGEX_RE_COMP || defined _LIBC]:
9786         (transit_state_sb) [0]:
9787         (find_collation_sequence_value) [defined _LIBC]: Likewise.
9788
9789         * lib/regexec.c (re_search_internal): Simplify update of rm_so and
9790         rm_eo.
9791
9792         * lib/regcomp.c (re_compile_fastmap_iter, init_dfa, init_word_char):
9793         (optimize_subexps, lower_subexp):
9794         Don't assume 1<<31 has defined behavior on hosts with 32-bit int,
9795         since the signed shift might overflow.  Use 1u<<31 instead.
9796         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
9797         Likewise.
9798         * lib/regexec.c (check_dst_limits_calc_pos_1,
9799         check_subexp_matching_top): Likewise.
9800
9801         * lib/regcomp.c (optimize_subexps, lower_subexp):
9802         Use CHAR_BIT rather than 8, for clarity.
9803         * lib/regexec.c (check_dst_limits_calc_pos_1):
9804         (check_subexp_matching_top): Likewise.
9805         * lib/regcomp.c (init_dfa): Make table_size unsigned, so that we don't
9806         have to worry about portability issues when shifting it left.
9807         Remove no-longer-needed test for table_size > 0.
9808         * lib/regcomp.c (parse_sub_exp): Do not shift more bits than there are
9809         in a word, as the resulting behavior is undefined.
9810         * lib/regexec.c (check_dst_limits_calc_pos_1): Likewise;
9811         in one case, a <= should have been an <, and in another case the
9812         whole test was missing.
9813         * lib/regex_internal.h (BYTE_BITS): Remove.  All uses changed to
9814         the standard name CHAR_BIT.
9815         * lib/regexec.c (match_ctx_add_entry): Don't assume that ~0 == -1;
9816         this is not true on one's complement and signed-magnitude hosts.
9817
9818         * lib/regex_internal.h (re_sub_match_top_t): Remove unused member
9819         next_last_offset.
9820         (struct re_dfa_t): Remove unused member states_alloc.
9821         * lib/regcomp.c (init_dfa): Don't initialize unused members.
9822
9823 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
9824
9825         * m4/regex.m4 (gl_REGEX): Require AC_SYS_LARGEFILE, Define
9826         _REGEX_LARGE_OFFSETS).  Test for regoff_t/off_t bug in 64-bit
9827         and large-file glibc and in 32-bit large-file Solaris.
9828
9829 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
9830
9831         * lib/regex_internal.c (re_string_reconstruct): Don't assume buffer
9832         lengths fit in regoff_t; this isn't true if regoff_t is the same
9833         width as size_t.
9834         * lib/regex.c (re_search_internal): 5th arg is LAST_START
9835         (= START + RANGE) instead of RANGE.  This avoids overflow
9836         problems when regoff_t is the same width as size_t.
9837         All callers changed.
9838         (re_search_2_stub): Check for overflow when adding the
9839         sizes of the two strings.
9840         (re_search_stub): Check for overflow when adding START
9841         to RANGE; if it occurs, substitute the extreme value.
9842
9843 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
9844
9845         * config/srclist.txt: Add glibc bugs 1273, 1278-1282, 1284.
9846
9847 2005-08-31  Jim Meyering  <jim@meyering.net>
9848
9849         * lib/regcomp.c (search_duplicated_node): Make first pointer arg
9850         a pointer-to-const.
9851         * lib/regex_internal.c (create_ci_newstate, create_cd_newstate):
9852         (register_state): Likewise.
9853         * lib/regexec.c (search_cur_bkref_entry, check_dst_limits):
9854         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
9855         (group_nodes_into_DFAstates): Likewise.
9856
9857 2005-08-31  Jim Meyering  <jim@meyering.net>
9858
9859         * check-module: Add a FIXME comment.
9860
9861 2005-08-31  Eric Blake  <ebb9@byu.net>
9862
9863         * modules/unistd-safer (Files): Add unistd--.h.
9864         * modules/stdio-safer (Files): Add stdio--.h.
9865
9866 2005-08-31  Derek Price  <derek@ximbiot.com>
9867
9868         * lib/getdelim.c (getdelim): Return EOF on EOF.
9869         Reported by Larry Jones <lawrence.jones@ugs.com>.
9870
9871 2005-08-31  Bruno Haible  <bruno@clisp.org>
9872
9873         Avoid unnecessary diffs in the generated lib/Makefile.am.
9874         * gnulib-tool (func_emit_lib_Makefile_am): Don't write the cmd into
9875         the generated files.
9876         (func_import): Don't set cmd.
9877
9878 2005-08-31  Bruno Haible  <bruno@clisp.org>
9879
9880         * lib/strstr.c: Include <stddef.h>, for NULL.
9881         * lib/strcasestr.c: Likewise.
9882         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
9883
9884 2005-08-31  Bruno Haible  <bruno@clisp.org>
9885
9886         * gnulib-tool: New option --macro-prefix.
9887         (func_import): Use macro_prefix.
9888         (import): Handle option --macro-prefix.
9889
9890 2005-08-31  Bruno Haible  <bruno@clisp.org>
9891
9892         * gnulib-tool (import): Rename most ac_* variables to cached_*.
9893         Also use new variables cached_lgpl, cached_libtool.
9894
9895 2005-08-31  Bruno Haible  <bruno@clisp.org>
9896
9897         * gnulib-tool (func_import): Require AC_GNU_SOURCE etc. instead of
9898         always instantiating them.
9899
9900 2005-08-31  Bruno Haible  <bruno@clisp.org>
9901
9902         * gnulib-tool (func_import): Read the previous cached settings
9903         from gnulib-cache.m4 and gnulib-comp.m4. Remove files that were
9904         earlier added by gnulib but are now dropped. Warn when a gnulib file
9905         overwrites a non-gnulib file.
9906
9907 2005-08-31  Bruno Haible  <bruno@clisp.org>
9908
9909         * gnulib-tool (func_import): Generate two files gnulib-cache.m4 and
9910         gnulib-comp.m4 instead of a single gnulib.m4, to make it easy for
9911         projects that don't keep autogenerated files in CVS. Put into
9912         actioncmd only the specified modules, not the transitive closure.
9913
9914 2005-08-31  Bruno Haible  <bruno@clisp.org>
9915
9916         * gnulib-tool (func_import): Fix defaulting of $libname and $libtool.
9917         Create directories that shall be filled.
9918         (import): Don't look for gl_* macros in configure.ac. Recurse across
9919         all directories containing a gnulib-cache.m4 files, if meaningful.
9920
9921 2005-08-31  Bruno Haible  <bruno@clisp.org>
9922
9923         * gnulib-tool (func_import): Emit also a stub for gl_LIBTOOL.
9924         (import): Set seen_libtool when we see gl_LIBTOOL.
9925
9926 2005-08-31  Bruno Haible  <bruno@clisp.org>
9927
9928         * gnulib-tool (func_import): Also copy m4/gnulib-tool.m4. Omit
9929         declaration macro definitions from generated gnulib.m4.
9930
9931 2005-08-30  "Oskar Liljeblad"  <oskar@osk.mine.nu>
9932
9933         * lib/iconvme.h: Add prototype for iconv_alloc.
9934
9935 2005-08-29  Simon Josefsson  <jas@extundo.com>
9936
9937         * lib/iconvme.c: Fix errno.
9938
9939 2005-08-29  Bruno Haible  <bruno@clisp.org>
9940
9941         * gnulib-tool: Enclose all occurrences of $destdir in "...", so
9942         that it works when the directory contains spaces.
9943
9944 2005-08-29  Bruno Haible  <bruno@clisp.org>
9945
9946         * gnulib-tool (import): Avoid unnecessary spaces in $avoidlist.
9947
9948 2005-08-29  Bruno Haible  <bruno@clisp.org>
9949
9950         * gnulib-tool (func_import): Emit more comments into gnulib.m4.
9951         Emit more advice.
9952
9953 2005-08-29  Bruno Haible  <bruno@clisp.org>
9954         and Stepan Kasal  <kasal@ucw.cz>
9955
9956         * check-module: If more parameters are given, check each of them
9957         separately; add more exceptions, as noted by Jim Meyering.
9958         (check_module): New procedure.
9959         (%exempt_header): Now contains all exceptions.
9960
9961 2005-08-29  Ben Pfaff  <blp@cs.stanford.edu>
9962
9963         * modules/byteswap (Makefile.am): Fix rule to not assume GNU make.
9964
9965 2005-08-29  "Oskar Liljeblad"  <oskar@osk.mine.nu>
9966
9967         * lib/iconvme.c: Split iconv_string into iconv_alloc.
9968
9969 2005-08-28  Bruno Haible  <bruno@clisp.org>
9970
9971         * m4/gnulib-tool.m4: New file.
9972
9973 2005-08-27  Jim Meyering  <jim@meyering.net>
9974
9975         * modules/unistd-safer (Files): Add pipe-safer.c.
9976         * modules/fcntl-safer (Files): Add creat-safer.c.
9977
9978 2005-08-27  Jim Meyering  <jim@meyering.net>
9979
9980         * m4/stdlib-safer.m4: New file.  From coreutils.
9981         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add stdio--.h.
9982         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Add creat-safer.c to the
9983         AC_LIBSOURCES list and arrange to compile it via AC_LIBOBJ.
9984         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise, add pipe-safer.c.
9985         Add pipe-safer.c and unistd--.h to the AC_LIBSOURCES list.
9986
9987 2005-08-27  Jim Meyering  <jim@meyering.net>
9988
9989         * lib/fopen-safer.c: Merge minor changes from coreutils.
9990         * lib/dup-safer.c: Likewise.
9991         * lib/fd-safer.c: Likewise.
9992
9993         Merge from coreutils.
9994         * lib/stdio--.h: New file.
9995         * lib/stdlib--.h: New file.
9996         * lib/mkstemp-safer.c: New file.
9997
9998         GNU tar needs these.
9999         * lib/pipe-safer.c: New file.
10000         * lib/creat-safer.c: New file.
10001         * lib/fcntl--.h (creat): Define to creat_safer.
10002         * lib/fcntl-safer.h: Include <sys/types.h> and declare creat_safer.
10003         * lib/unistd--.h (pipe): Define to pipe_safer.
10004         * lib/unistd-safer.h: Declare pipe_safer.
10005
10006 2005-08-26  Simon Josefsson  <jas@extundo.com>
10007
10008         * lib/getpass.c: Use _WIN32 instead of WIN32, suggested by Bruno
10009         Haible <bruno@clisp.org>.
10010
10011 2005-08-26  Paul Eggert  <eggert@cs.ucla.edu>
10012
10013         * lib/regex_internal.h: Remove all references to
10014         RE_NO_INTERNAL_PROTOTYPES; no longer neeeded now that we assume C89
10015         or better.
10016         (bitset_not, bitset_merge, bitset_not_merge):
10017         (bitset_mask, re_string_allocate, re_string_construct):
10018         (re_string_reconstruct, re_string_destruct, re_string_elem_size_at):
10019         (re_string_char_size_at, re_string_wchar_at, re_string_peek_byte_case):
10020         (re_string_fetch_byte_case, re_node_set_alloc, re_node_set_init_1):
10021         (re_node_set_init_2, re_node_set_init_copy, re_node_set_add_intersect):
10022         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
10023         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
10024         (re_node_set_remove_at, re_dfa_add_node, re_acquire_state):
10025         (re_acquire_state_context):
10026         Remove unnecessary forward decls.
10027         (re_string_char_size_at, re_string_wchar_at, re_string_elem_size_at):
10028         Put __attribute at function definition,
10029         now that the function decl has been removed.
10030         * lib/regex_internal.c (re_string_peek_byte_case):
10031         (re_string_fetch_byte_case, re_node_set_compare, re_node_set_contains):
10032         Likewise.
10033
10034 2005-08-25  Stepan Kasal  <kasal@ucw.cz>
10035
10036         * m4/regex.m4: Add AC_PREREQ(2.50).
10037         (gl_REGEX): If --with-included-regex was given, skip the autodetection.
10038
10039 2005-08-25  Simon Josefsson  <jas@extundo.com>
10040
10041         * m4/getpass.m4: Check for termios.h, tcgetattr, tcsetattr, and
10042         __fsetlocking.
10043
10044 2005-08-25  Simon Josefsson  <jas@extundo.com>
10045
10046         * lib/getpass.c: Add WIN32 implementation.  Conditionalize use of
10047         termios.h, tcgetattr, tcsetattr and __fsetlocking.  Remove some
10048         GLIBC specific code.
10049
10050 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
10051
10052         Make regex safe for g++.  This fixes one real bug (an "err"
10053         that should have been "*err").  g++ problem reported by
10054         Sam Steingold.
10055         * lib/regex_internal.h (re_calloc): New macro, consistent with
10056         re_malloc etc.  All callers of calloc changed to use re_calloc.
10057         * lib/regex_internal.c (build_wcs_upper_buffer): Return reg_errcode_t,
10058         not int.  All callers changed.
10059         * lib/regcomp.c (re_compile_fastmap_iter): Don't use
10060         alloca (mb_cur_max); just use an array of size MB_LEN_MAX.
10061         * lib/regexec.c (push_fail_stack): Use re_realloc, not realloc.
10062         (find_recover_state): Change "err" to "*err"; this fixes what
10063         appears to be a real bug.
10064         (check_arrival_expand_ecl_sub): Be consistent about reg_errcode_t
10065         versus int.
10066
10067 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
10068
10069         * modules/regex (Depends-on): Add malloc, since the code
10070         assumes that !malloc(0) means failure.
10071
10072 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
10073
10074         * lib/regexec.c (set_regs): Don't alloca with an unbounded size.
10075
10076         alloca modernization/simplification for regex.
10077         * lib/regex.c: Remove portability cruft for alloca.  This no longer
10078         needs to be at the start of the file, and can be moved into
10079         regex_internal.h and simplified.
10080         * lib/regex_internal.h: Include <alloca.h>.
10081         (__libc_use_alloca) [!defined _LIBC]: New macro.
10082         * lib/regexec.c (build_trtable): Remove "#ifdef _LIBC", since the code
10083         now works outside glibc.
10084
10085 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
10086
10087         * config/srclist.txt: Add glibc bugs 1241, 1245.
10088
10089 2005-08-25  Jim Meyering  <jim@meyering.net>
10090
10091         * lib/open-safer.c: Include <config.h>.
10092         Otherwise, we'd lose LARGEFILE support in any file using
10093         e.g. "fcntl--.h"
10094
10095 2005-08-25  Bruno Haible  <bruno@clisp.org>
10096
10097         * m4/minmax.m4: Require autoconf 2.52.
10098         (gl_MINMAX_IN_HEADER): Add comments. Use m4_pushdef/m4_popdef instead
10099         of define/undefine. Use AS_TR_SH and AS_TR_CPP as more robust
10100         alternatives of translit over the alphabet.
10101         Based on a patch from Stepan Kasal <kasal@ucw.cz>.
10102
10103 2005-08-24  Simon Josefsson  <jas@extundo.com>
10104
10105         * tests/test-getpass.c: New file.
10106
10107 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
10108
10109         * m4/regex.m4 (gl_REGEX): Use POSIX-compliant spellings when testing
10110         for GNU regex features.
10111
10112 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
10113
10114         * lib/regcomp.c (regerror): 2nd arg is 'restrict', as per POSIX.
10115         * lib/regex.h (regerror): Likewise.
10116
10117         * lib/regex.c: Do not include <sys/types.h>, as POSIX no longer
10118         requires this.  (The code never needed it.)
10119
10120         * lib/regcomp.c, regex_internal.c, regex_internal.h, regexec.c:
10121         All uses of recently-renamed identifiers changed to use the new,
10122         POSIX-compliant names.  The code will build and run just fine
10123         without these changes, but it's better to eat our own dog food
10124         and use the standard-conforming names.
10125
10126         * lib/regex.h: Fix a multitude of POSIX name space violations.
10127         These changes have an effect only for programs that define
10128         _POSIX_C_SOURCE, _POSIX_SOURCE, or _XOPEN_SOURCE; they
10129         do not change anything for programs compiled in the normal way.
10130         Also, there is no effect on the ABI.
10131
10132         (_REGEX_SOURCE): New macro.
10133         Do not include <stddef.h> if _XOPEN_SOURCE and VMS are both
10134         defined and _GNU_SOURCE is not; this fixes a name space violation.
10135
10136         Rename the following macros to obey POSIX requirements.
10137         The old names are still visible as macros if _REGEX_SOURCE is defined.
10138         (REG_BACKSLASH_ESCAPE_IN_LISTS): renamed from
10139         RE_BACKSLASH_ESCAPE_IN_LISTS.
10140         (REG_BK_PLUS_QM): renamed from RE_BK_PLUS_QM.
10141         (REG_CHAR_CLASSES): renamed from RE_CHAR_CLASSES.
10142         (REG_CONTEXT_INDEP_ANCHORS): renamed from RE_CONTEXT_INDEP_ANCHORS.
10143         (REG_CONTEXT_INDEP_OPS): renamed from RE_CONTEXT_INDEP_OPS.
10144         (REG_CONTEXT_INVALID_OPS): renamed from RE_CONTEXT_INVALID_OPS.
10145         (REG_DOT_NEWLINE): renamed from RE_DOT_NEWLINE.
10146         (REG_DOT_NOT_NULL): renamed from RE_DOT_NOT_NULL.
10147         (REG_HAT_LISTS_NOT_NEWLINE): renamed from RE_HAT_LISTS_NOT_NEWLINE.
10148         (REG_INTERVALS): renamed from RE_INTERVALS.
10149         (REG_LIMITED_OPS): renamed from RE_LIMITED_OPS.
10150         (REG_NEWLINE_ALT): renamed from RE_NEWLINE_ALT.
10151         (REG_NO_BK_BRACES): renamed from RE_NO_BK_BRACES.
10152         (REG_NO_BK_PARENS): renamed from RE_NO_BK_PARENS.
10153         (REG_NO_BK_REFS): renamed from RE_NO_BK_REFS.
10154         (REG_NO_BK_VBAR): renamed from RE_NO_BK_VBAR.
10155         (REG_NO_EMPTY_RANGES): renamed from RE_NO_EMPTY_RANGES.
10156         (REG_UNMATCHED_RIGHT_PAREN_ORD): renamed from
10157         RE_UNMATCHED_RIGHT_PAREN_ORD.
10158         (REG_NO_POSIX_BACKTRACKING): renamed from RE_NO_POSIX_BACKTRACKING.
10159         (REG_NO_GNU_OPS): renamed from RE_NO_GNU_OPS.
10160         (REG_DEBUG): renamed from RE_DEBUG.
10161         (REG_INVALID_INTERVAL_ORD): renamed from RE_INVALID_INTERVAL_ORD.
10162         (REG_IGNORE_CASE): renamed from RE_ICASE.  This renaming is a bit
10163         unusual, since we can't clash with the POSIX REG_ICASE.
10164         (REG_CARET_ANCHORS_HERE): renamed from RE_CARET_ANCHORS_HERE.
10165         (REG_CONTEXT_INVALID_DUP): renamed from RE_CONTEXT_INVALID_DUP.
10166         (REG_NO_SUB): renamed from RE_NO_SUB.
10167         (REG_SYNTAX_EMACS): renamed from RE_SYNTAX_EMACS.
10168         (REG_SYNTAX_AWK): renamed from RE_SYNTAX_AWK.
10169         (REG_SYNTAX_GNU_AWK): renamed from RE_SYNTAX_GNU_AWK.
10170         (REG_SYNTAX_POSIX_AWK): renamed from RE_SYNTAX_POSIX_AWK.
10171         (REG_SYNTAX_GREP): renamed from RE_SYNTAX_GREP.
10172         (REG_SYNTAX_EGREP): renamed from RE_SYNTAX_EGREP.
10173         (REG_SYNTAX_POSIX_EGREP): renamed from RE_SYNTAX_POSIX_EGREP.
10174         (REG_SYNTAX_ED): renamed from RE_SYNTAX_ED.
10175         (REG_SYNTAX_SED): renamed from RE_SYNTAX_SED.
10176         (_REG_SYNTAX_POSIX_COMMON): renamed from _RE_SYNTAX_POSIX_COMMON.
10177         (REG_SYNTAX_POSIX_BASIC): renamed from RE_SYNTAX_POSIX_BASIC.
10178         (REG_SYNTAX_POSIX_MINIMAL_BASIC): renamed from
10179         RE_SYNTAX_POSIX_MINIMAL_BASIC.
10180         (REG_SYNTAX_POSIX_EXTENDED): renamed from RE_SYNTAX_POSIX_EXTENDED.
10181         (REG_SYNTAX_POSIX_MINIMAL_EXTENDED): renamed from
10182         RE_SYNTAX_POSIX_MINIMAL_EXTENDED.
10183         (REG_DUP_MAX): renamed from RE_DUP_MAX.  No need to undef it.
10184         (REG_UNALLOCATED): Renamed from REGS_UNALLOCATED.
10185         (REG_REALLOCATE): Renamed from REGS_REALLOCATE.
10186         (REG_FIXED): Renamed from REGS_FIXED.
10187         (REG_NREGS): Renamed from RE_NREGS.
10188
10189         (REG_ICASE, REG_NEWLINE, REG_NOSUB): Do not depend on the values
10190         of other REG_* macros, since POSIX says the user is allowed to
10191         #undef these macros selectively.
10192
10193         (reg_errcode_t): Update comment stating what other tables need
10194         to be consistent.
10195
10196         Rename the following enum values to obey POSIX requirements.
10197         The old names are still visible as macros.
10198         (_REG_ENOSYS): Renamed from REG_ENOSYS.  Define even if _XOPEN_SOURCE
10199         is not defined, since GNU is supposed to be a superset of POSIX as
10200         much as possible, and since we want reg_errcode_t to be a signed
10201         type for implementation consistency.
10202         (_REG_NOERROR): Renamed from REG_NOERROR.
10203         (_REG_NOMATCH): Renamed from REG_NOMATCH.
10204         (_REG_BADPAT): Renamed from REG_BADPAT.
10205         (_REG_ECOLLATE): Renamed from REG_ECOLLATE.
10206         (_REG_ECTYPE): Renamed from REG_ECTYPE.
10207         (_REG_EESCAPE): Renamed from REG_EESCAPE.
10208         (_REG_ESUBREG): Renamed from REG_ESUBREG.
10209         (_REG_EBRACK): Renamed from REG_EBRACK.
10210         (_REG_EPAREN): Renamed from REG_EPAREN.
10211         (_REG_EBRACE): Renamed from REG_EBRACE.
10212         (_REG_BADBR): Renamed from REG_BADBR.
10213         (_REG_ERANGE): Renamed from REG_ERANGE.
10214         (_REG_ESPACE): Renamed from REG_ESPACE.
10215         (_REG_BADRPT): Renamed from REG_BADRPT.
10216         (_REG_EEND): Renamed from REG_EEND.
10217         (_REG_ESIZE): Renamed from REG_ESIZE.
10218         (_REG_ERPAREN): Renamed from REG_ERPAREN.
10219         (REG_ENOSYS, REG_NOERROR, REG_NOMATCH, REG_BADPAT, REG_ECOLLATE):
10220         (REG_ECTYPE, REG_EESCAPE, REG_ESUBREG, REG_EBRACK, REG_EPAREN):
10221         (REG_EBRACE, REG_BADBR, REG_ERANGE, REG_ESPACE, REG_BADRPT, REG_EEND):
10222         (REG_ESIZE, REG_ERPAREN): Now macros, not enum constants.
10223
10224         (_REG_RE_NAME, _REG_RM_NAME): New macros.
10225         (REG_TRANSLATE_TYPE): Renamed from RE_TRANSLATE_TYPE.  All uses
10226         changed.  But support the old name if the new one is not defined
10227         and if _REGEX_SOURCE.
10228
10229         Change the following member names in struct re_pattern_buffer.
10230         The old names are still supported if !_REGEX_SOURCE.
10231         The new names are always supported, regardless of _REGEX_SOURCE.
10232         (re_buffer): Renamed from buffer.
10233         (re_allocated): Renamed from allocated.
10234         (re_used): Renamed from used.
10235         (re_syntax): Renamed from syntax.
10236         (re_fastmap): Renamed from fastmap.
10237         (re_translate): Renamed from translate.
10238         (re_can_be_null): Renamed from can_be_null.
10239         (re_regs_allocated): Renamed from regs_allocated.
10240         (re_fastmap_accurate): Renamed from fastmap_accurate.
10241         (re_no_sub): Renamed from no_sub.
10242         (re_not_bol): Renamed from not_bol.
10243         (re_not_eol): Renamed from not_eol.
10244         (re_newline_anchor): Renamed from newline_anchor.
10245
10246         Change the following member names in struct re_registers.
10247         The old names are still supported if !_REGEX_SOURCE.
10248         The new names are always supported, regardless of _REGEX_SOURCE.
10249         (rm_num_regs): Renamed from num_regs.
10250         (rm_start): Renamed from start.
10251         (rm_end): Renamed from end.
10252
10253         (re_set_syntax, re_compile_pattern, re_compile_fastmap):
10254         (re_search, re_search_2, re_match, re_match_2, re_set_registers):
10255         Prepend __ to parameter names.
10256
10257         Undo yesterday's changes.
10258
10259 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
10260
10261         * config/srclist.txt: Remove glibc bug 1233 and add 1236, which
10262         supersedes it. Add glibc bugs 1237, 1238, 1240.  Comment out
10263         lib/regex.c.
10264
10265 2005-08-24  Jim Meyering  <jim@meyering.net>
10266
10267         Sync from coreutils.
10268         * m4/fcntl-safer.m4: New file.
10269
10270         * m4/xgetcwd.m4: Use AC_LIBSOURCES and AC_LIBOBJ to indicate source
10271         and object files for this module.
10272
10273 2005-08-24  Jim Meyering  <jim@meyering.net>
10274
10275         Sync from coreutils.
10276         * lib/fcntl--.h, lib/fcntl-safer.h, lib/open-safer.c: New files.
10277
10278 2005-08-24  Jim Meyering  <jim@meyering.net>
10279
10280         * modules/xgetcwd (Makefile.am): Remove `lib_SOURCES += ...' line,
10281         now that xgetcwd.m4 requires xgetcwd.c and xgetcwd.h.
10282
10283 2005-08-24  Jim Meyering  <jim@meyering.net>
10284
10285         * modules/fcntl-safer: New module.
10286         * modules/fts (Depends-on): Add fcntl-safer.
10287         * MODULES.html.sh (File descriptor based Input/Output):
10288         Add fcntl-safer.
10289
10290 2005-08-24  Bruno Haible  <bruno@clisp.org>
10291
10292         Support for unit test modules.
10293         * modules/README: Mention tests modules.
10294         * modules/TEMPLATE-TESTS: New file.
10295         * gnulib-tool: New options --extract-tests-module, --with-tests and
10296         --tests-base (unused for the moment).
10297         (testsbase, inctests): New variables.
10298         (func_all_modules): Exclude TEMPLATE-TESTS and *-tests.
10299         (func_verify_module): Exclude TEMPLATE-TESTS.
10300         (func_verify_nontests_module, func_verify_tests_module): New functions.
10301         (func_get_dependencies): Add implicit dependency for tests modules.
10302         (func_get_tests_module): New function.
10303         (func_modules_transitive_closure): When --with-tests was specified,
10304         include the unit tests as well, unless explicitly avoided.
10305         (func_emit_lib_Makefile_am): Ignore the tests modules here.
10306         (func_emit_tests_Makefile_am): New function.
10307         (func_create_testdir): When --with-tests was specified, emit a
10308         tests/ directory.
10309         * MODULES.html.sh (Future developments): Update.
10310
10311 2005-08-24  Bruno Haible  <bruno@clisp.org>
10312
10313         * modules/tls-tests: New file.
10314         * tests/test-tls.c: New file, from GNU gettext.
10315
10316 2005-08-24  Bruno Haible  <bruno@clisp.org>
10317
10318         * modules/lock-tests: New file.
10319         * tests/test-lock.c: New file, from GNU gettext.
10320
10321 2005-08-24  Bruno Haible  <bruno@clisp.org>
10322
10323         * lib/lock.h: Add multiple inclusion guard.
10324         * lib/tls.h: Add multiple inclusion guard.
10325
10326 2005-08-24  Bruno Haible  <bruno@clisp.org>
10327
10328         * gnulib-tool: Add support for the --aux-dir option to
10329         --create-testdir, --create-megatestdir, --test, --megatest.
10330         (func_create_testdir, func_create_megatestdir): Optionally emit a
10331         AC_CONFIG_AUX_DIR directive.
10332         (create-testdir, create-megatestdir, test, megatest): Provide a
10333         default value for $auxdir.
10334
10335 2005-08-24  Bruno Haible  <bruno@clisp.org>
10336
10337         * gnulib-tool (import): Use compound statement instead of subshell
10338         where possible.
10339
10340 2005-08-24  Bruno Haible  <bruno@clisp.org>
10341
10342         * gnulib-tool (import): Change --aux-dir default to "build-aux".
10343
10344 2005-08-24  Bruno Haible  <bruno@clisp.org>
10345
10346         * gnulib-tool (func_version): Update.
10347
10348 2005-08-24  Bruno Haible  <bruno@clisp.org>
10349
10350         * gnulib-tool (func_import, func_create_testdir,
10351         func_create_megatestdir): Quote all autoconf macro arguments.
10352
10353 2005-08-24  Bruno Haible  <bruno@clisp.org>
10354
10355         * gnulib-tool (func_create_megatestdir): Call autoreconf without the
10356         option --force, because --force causes the aclocal.m4 of each
10357         subdirectory to be newer than the corresponding config.h.in.
10358
10359 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
10360
10361         * m4/regex.m4 (gl_INCLUDED_REGEX): Remove; no longer used.
10362         All contents moved to gl_REGEX.
10363         (gl_REGEX): Don't bother checking whether lib/regex.c exists;
10364         assume that it does.
10365
10366 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
10367
10368         * lib/regex.h (REG_NOSYS)
10369         [!defined _XOPEN_SOURCE && 200112L <= _POSIX_C_SOURCE]:
10370         Define, since POSIX requires it as of 2001.
10371         (_REG_ENOSYS)
10372         [! (defined _XOPEN_SOURCE || 200112L <= _POSIX_C_SOURCE)]:
10373         New private symbol, used to keep the enum signed in all cases.
10374         * lib/regex.h (RE_NO_EMPTY_RANGES): Fix doc bug reported by James
10375         Youngman in
10376         <http://lists.gnu.org/archive/html/bug-gnulib/2005-07/msg00132.html>.
10377
10378         * lib/regex_internal.c (re_string_skip_chars, register_state):
10379         (calc_state_hash):
10380         Remove forward decls; no longer needed now that we use prototypes.
10381         * lib/regexec.c (acquire_init_state_context, check_halt_node_context):
10382         (proceed_next_node, pop_fail_stack, sub_epsilon_src_nodes):
10383         (clean_state_log_if_needed): Likewise.
10384
10385 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
10386
10387         * config/srclist.txt: Add glibc bugs 1231-1233.
10388
10389 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
10390
10391         Fix problems reported by Sam Steingold in
10392         <http://lists.gnu.org/archive/html/bug-gnulib/2005-08/msg00007.html>.
10393         * lib/regexec.c (sift_states_bkref): Fix portability bug: the code
10394         assumed that reg_errcode_t is a signed type, which is not
10395         necessarily true if _XOPEN_SOURCE is not defined.
10396         * lib/regex_internal.c (calc_state_hash): Put 'inline' before type,
10397         since some compilers warn about it otherwise.
10398
10399 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
10400
10401         * lib/regcomp.c (create_initial_state): Remove duplicate decl.
10402         (init_word_char, create_initial_state, duplicate_node_closure):
10403         (fetch_token, peek_token_bracket, build_range_exp):
10404         (build_collating_symbol): Remove forward decls; no longer needed
10405         now that we use prototypes.
10406
10407         * lib/regcomp.c:
10408         (re_compile_pattern, re_set_syntax, re_compile_fastmap):
10409         (re_compile_fastmap_iter, regcomp, regerror, regfree):
10410         (re_compile_internal, init_dfa, init_word_char, free_workarea_compile):
10411         (create_initial_state, optimize_utf8, analyze, postorder, preorder):
10412         (optimize_subexps, lower_subexps, lower_subexp, calc_first, calc_next):
10413         (link_nfa_nodes, duplicate_node_closure, search_duplicated_node):
10414         (duplicate_node, calc_inveclosure, calc_eclosure, calc_eclosure_iter):
10415         (fetch_token, peek_token, peek_token_bracket, parse, parse_reg_exp):
10416         (parse_branch, parse_expression, parse_sub_exp, parse_dup_op):
10417         (build_range_exp, build_collating_symbol, parse_bracket_exp):
10418         (parse_bracket_element, parse_bracket_symbol, build_equiv_class):
10419         (build_charclass, build_charclass_op, fetch_number, create_tree):
10420         (create_token_tree, mark_opt_subexp, duplicate_tree):
10421         Use prototypes rather than old-style definitions.
10422
10423         * lib/regex_internal.c:
10424         (re_string_allocate, re_string_construct, re_string_realloc_buffers):
10425         (re_string_construct_common, build_wcs_buffer, build_wcs_upper_buffer):
10426         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
10427         (re_string_reconstruct, re_string_peek_byte_case):
10428         (re_string_fetch_byte_case, re_string_destruct, re_string_context_at):
10429         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
10430         (re_node_set_init_copy, re_node_set_add_intersect):
10431         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
10432         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
10433         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
10434         (re_acquire_state, re_acquire_state_context, register_state):
10435         (create_ci_newstate, create_cd_newstate, free_state):
10436         Likewise.
10437         * lib/regexec.c (regexec, re_match, re_search, re_match_2,
10438         re_search_2):
10439         (re_search_2_stub, re_search_stub, re_copy_regs, re_set_registers):
10440         (re_search_internal, prune_impossible_nodes):
10441         (acquire_init_state_context, check_matching, static):
10442         (check_halt_node_context, check_halt_state_context, proceed_next_node):
10443         (push_fail_stack, pop_fail_stack, set_regs, free_fail_stack_return):
10444         (update_regs, sift_states_backward, build_sifted_states):
10445         (clean_state_log_if_needed, merge_state_array):
10446         (update_cur_sifted_state, add_epsilon_src_nodes):
10447         (sub_epsilon_src_nodes, check_dst_limits, check_dst_limits_calc_pos_1):
10448         (check_dst_limits_calc_pos, check_subexp_limits, sift_states_bkref):
10449         (sift_states_iter_mb, transit_state, merge_state_with_log, static):
10450         (find_recover_state, check_subexp_matching_top, transit_state_mb):
10451         (transit_state_bkref, get_subexp, get_subexp_sub, find_subexp_node):
10452         (check_arrival, check_arrival_add_next_nodes):
10453         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
10454         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
10455         (check_node_accept_bytes, check_node_accept, extend_buffers):
10456         (match_ctx_init, match_ctx_clean, match_ctx_free, match_ctx_add_entry):
10457         (search_cur_bkref_entry, match_ctx_add_subtop, match_ctx_add_sublast):
10458         (sift_ctx_init):
10459         Likewise.
10460
10461         * lib/regex_internal.h:
10462         (re_string_allocate, re_string_construct, re_string_reconstruct):
10463         (re_string_realloc_buffers, build_wcs_buffer, build_wcs_upper_buffer):
10464         (build_upper_buffer, re_string_translate_buffer, re_string_destruct):
10465         (re_string_elem_size_at, re_string_char_size_at, re_string_wchar_at):
10466         (re_string_context_at, re_string_peek_byte_case):
10467         (re_string_fetch_byte_case): Declare even if RE_NO_INTERNAL_PROTOTYPES
10468         is defined, since we now use prototypes always.
10469
10470         * lib/regex.h (_RE_ARGS): Remove.  No longer needed, since we assume
10471         C89 or better.  All uses removed.
10472
10473 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
10474
10475         * config/srclist.txt: Add glibc bugs 1220-1227.
10476
10477 2005-08-20  Jim Meyering  <jim@meyering.net>
10478
10479         * lib/regexec.c (regexec, re_search_stub) [!_LIBC]: Omit declaration
10480         of unused local, dfa.
10481
10482 2005-08-20  Bruno Haible  <bruno@clisp.org>
10483
10484         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_GNU_SOURCE.
10485
10486 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
10487
10488         * lib/regex_internal.c (re_string_realloc_buffers, re_node_set_insert):
10489         (re_node_set_insert_last, re_dfa_add_node):
10490         Rename local variables to avoid GCC shadowing warnings.
10491
10492 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
10493
10494         * lib/regex_internal.c (re_acquire_state, re_acquire_state_context)
10495         [defined lint]: Suppress bogus uninitialized-variable warnings.
10496
10497         * lib/regcomp.c (duplicate_node): Return new index, not an error code,
10498         and let the caller return REG_ESPACE if out of space.  This
10499         removes an uninitialied-variable warning with GCC 4.0.1, and also
10500         avoids taking the address of a local variable.  All callers
10501         changed.
10502
10503 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
10504
10505         * config/srclist.txt: Comment out $LIBCSRC/posix/regex_internal.c,
10506         $LIBCSRC/posix/regexec.c.
10507         Add glibc bug 1217 for regcomp.c.
10508
10509 2005-08-19  Jim Meyering  <jim@meyering.net>
10510
10511         * lib/regexec.c (proceed_next_node): Redo local variables to
10512         avoid GCC shadowing warnings.
10513
10514 2005-08-18  Bruno Haible  <bruno@clisp.org>
10515
10516         * lib/strstr.c (strstr): Fix return value in multibyte case.
10517         * lib/strcasestr.c (strcasestr): Likewise.
10518
10519 2005-08-17  Paul Eggert  <eggert@cs.ucla.edu>
10520
10521         * lib/regex.h: Remove useless space-before-tab.  From coreutils.
10522
10523 2005-08-17  Jim Meyering  <jim@meyering.net>
10524
10525         Make the %s format (seconds since the epoch) work for a negative
10526         number and when used with a zero-padded field width, e.g. %015s.
10527
10528         * lib/strftime.c (my_strftime): Move the `do_number_sign_and_padding'
10529         label so that it precedes the code to set `digits'.  Otherwise,
10530         %0Ns wouldn't work.  Before this change, `date -d @-22 +%05s' would
10531         print `00-22'.  Now, it prints `-0022', as it should.
10532
10533 2005-08-17  Bruno Haible  <bruno@clisp.org>
10534
10535         * modules/strstr (Files): Add m4/mbrtowc.m4.
10536         (Depends-on): Add mbuiter.
10537
10538 2005-08-17  Bruno Haible  <bruno@clisp.org>
10539
10540         * modules/strcasestr: New file.
10541         * MODULES.html.sh (String handling, based on ANSI C 89): Add
10542         strcasestr.
10543
10544 2005-08-17  Bruno Haible  <bruno@clisp.org>
10545
10546         * modules/strcase (Depends-on): Add mbuiter. Remove strnlen1, mbchar.
10547
10548 2005-08-17  Bruno Haible  <bruno@clisp.org>
10549
10550         * modules/mbuiter: New file.
10551         * MODULES.html.sh (Extended multibyte and wide character utilities):
10552         Add mbuiter.
10553
10554 2005-08-17  Bruno Haible  <bruno@clisp.org>
10555
10556         * m4/strstr.m4 (gl_FUNC_STRSTR): Use the replacement function always.
10557         (gl_PREREQ_STRSTR): Use gl_FUNC_MBRTOWC.
10558
10559 2005-08-17  Bruno Haible  <bruno@clisp.org>
10560
10561         * m4/strcasestr.m4: New file.
10562
10563 2005-08-17  Bruno Haible  <bruno@clisp.org>
10564
10565         * lib/strstr.h: Ignore HAVE_STRSTR, always declare the gnulib function.
10566         * lib/strstr.c: Completely rewritten, with multibyte locale support.
10567
10568 2005-08-17  Bruno Haible  <bruno@clisp.org>
10569
10570         * lib/strcasestr.h: New file.
10571         * lib/strcasestr.c: New file.
10572
10573 2005-08-17  Bruno Haible  <bruno@clisp.org>
10574
10575         * lib/strcasecmp.c: Use mbuiter.h.
10576
10577 2005-08-17  Bruno Haible  <bruno@clisp.org>
10578
10579         * lib/mbuiter.h: New file.
10580
10581 2005-08-16  Paul Eggert  <eggert@cs.ucla.edu>
10582
10583         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Do not override the results
10584         of gl_GETOPT_SUBSTITUTE.  That way, if both gl_GETOPT_SUBSTITUTE
10585         and gl_GETOPT are both invoked via different paths (as happens
10586         with GNU tar CVS because it uses both argp and getopt), the former
10587         wins.
10588
10589 2005-08-16  Bruno Haible  <bruno@clisp.org>
10590
10591         * modules/tls: New file.
10592         * MODULES.html.sh (Multithreading): Add tls.
10593
10594 2005-08-16  Bruno Haible  <bruno@clisp.org>
10595
10596         * modules/strnlen1: New file.
10597         * MODULES.html.sh (String handling): Add strnlen1.
10598
10599 2005-08-16  Bruno Haible  <bruno@clisp.org>
10600
10601         * modules/strcase (Files): Add m4/mbrtowc.m4.
10602         (Depends-on): Add strnlen1, mbchar.
10603
10604 2005-08-16  Bruno Haible  <bruno@clisp.org>
10605
10606         * modules/mbiter: New file.
10607         * MODULES.html.sh (Extended multibyte and wide character utilities):
10608         Add mbiter.
10609
10610 2005-08-16  Bruno Haible  <bruno@clisp.org>
10611
10612         * modules/mbfile: New file.
10613         * MODULES.html.sh (Extended multibyte and wide character utilities):
10614         Add mbfile.
10615
10616 2005-08-16  Bruno Haible  <bruno@clisp.org>
10617
10618         * modules/mbchar: New file.
10619         * MODULES.html.sh (Extended multibyte and wide character utilities):
10620         New section.
10621
10622 2005-08-16  Bruno Haible  <bruno@clisp.org>
10623
10624         * m4/tls.m4: New file, from GNU gettext.
10625
10626 2005-08-16  Bruno Haible  <bruno@clisp.org>
10627
10628         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Use the replacement function
10629         always.
10630         (gl_PREREQ_STRCASECMP): Use gl_FUNC_MBRTOWC.
10631
10632 2005-08-16  Bruno Haible  <bruno@clisp.org>
10633
10634         * m4/mbiter.m4: New file.
10635
10636 2005-08-16  Bruno Haible  <bruno@clisp.org>
10637
10638         * m4/mbfile.m4: New file.
10639
10640 2005-08-16  Bruno Haible  <bruno@clisp.org>
10641
10642         * m4/mbchar.m4: New file.
10643
10644 2005-08-16  Bruno Haible  <bruno@clisp.org>
10645
10646         * lib/tls.h: New file, from GNU gettext.
10647         * lib/tls.c: New file, from GNU gettext.
10648
10649 2005-08-16  Bruno Haible  <bruno@clisp.org>
10650
10651         * lib/strnlen1.h: New file.
10652         * lib/strnlen1.c: New file.
10653
10654 2005-08-16  Bruno Haible  <bruno@clisp.org>
10655
10656         * lib/strcasecmp.c (struct mbiter_multi): Remove at_end field.
10657         (mbi_init): Update.
10658         (mbi_avail, mbi_advance): Let the iteration end before the terminating
10659         NUL byte, not after it.
10660
10661 2005-08-16  Bruno Haible  <bruno@clisp.org>
10662
10663         * lib/strcase.h (strcasecmp): Add note in comments.
10664         * lib/strncasecmp.c: Use code from strcasecmp.c.
10665         * lib/strcasecmp.c: Use mbchar module. Define private mbiter variant.
10666         (strcasecmp): Work correctly in multibyte locales.
10667
10668 2005-08-16  Bruno Haible  <bruno@clisp.org>
10669
10670         * lib/mbiter.h: New file.
10671
10672 2005-08-16  Bruno Haible  <bruno@clisp.org>
10673
10674         * lib/mbfile.h: New file.
10675
10676 2005-08-16  Bruno Haible  <bruno@clisp.org>
10677
10678         * lib/mbchar.h: New file.
10679         * lib/mbchar.c: New file.
10680
10681 2005-08-16  Bruno Haible  <bruno@clisp.org>
10682
10683         * lib/mbchar.h (mb_cmp, mb_casecmp): Order the invalid characters after
10684         the valid ones. Makes the comparison operations transitive:
10685         cmp (a, b) < 0 && cmp (b, c) < 0 ==> cmp (a, c) < 0.
10686         * lib/strcasecmp.c (strcasecmp): Use mb_casecmp.
10687
10688 2005-08-15  Simon Josefsson  <jas@extundo.com>
10689
10690         * modules/ssize_t (License): Change to 'unlimited'.
10691
10692         * gnulib-tool (sed_extract_prog): Recognize 'unlimited' license.
10693
10694 2005-08-15  Paul Eggert  <eggert@cs.ucla.edu>
10695
10696         * config/srclist.txt: Comment out $LIBCSRC/posix/regex.h.
10697         Add comments for each pending glibc patch.
10698
10699 2005-08-15  Bruno Haible  <bruno@clisp.org>
10700
10701         * lib/regex.h (__restrict_arr): Don't define to __restrict if
10702         __cplusplus is defined.
10703
10704 2005-08-14  Jim Meyering  <jim@meyering.net>
10705
10706         Sync from coreutils.
10707
10708         * lib/fts-cycle.c (setup_dir, enter_dir, leave_dir, free_dir):
10709         Use the hash-table-based cycle-detection code not just when
10710         FTS_TIGHT_CYCLE_CHECK if specified, but also with FTS_LOGICAL.
10711         Reported by James Youngman in
10712         <http://lists.gnu.org/archive/html/bug-gnulib/2005-08/msg00011.html>.
10713         * lib/fts_.h: Mention that with FTS_LOGICAL, we use
10714         FTS_TIGHT_CYCLE_CHECK.
10715         * lib/fts.c (fts_cross_check) [FTS_DEBUG]:
10716         s/active_dir_ht/fts_cycle.ht/. This lets us compile with -DFTS_DEBUG,
10717         once again.
10718         * lib/fts.c [! _LIBC]: Include "lstat.h" rather than rolling our own.
10719         * lib/fts.c (fd_safer): Remove decl.
10720         Include fcntl--.h rather than unistd-safer.h
10721         (fts_safe_changedir): Don't call fd_safer; no longer needed
10722         now that we include fcntl--.h.
10723
10724 2005-08-12  Simon Josefsson  <jas@extundo.com>
10725
10726         * modules/getndelim2: Use ssize_t module.
10727         * modules/getnline: Likewise.
10728         * modules/safe-read: Likewise.
10729         * modules/xreadlink: Likewise.
10730
10731         * modules/ssize_t: New file.
10732
10733 2005-08-12  Simon Josefsson  <jas@extundo.com>
10734
10735         * m4/readline.m4: Look for termcap, curses or ncurses if required.
10736
10737 2005-08-12  Simon Josefsson  <jas@extundo.com>
10738
10739         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
10740         ssize_t.
10741
10742 2005-08-12  Simon Josefsson  <jas@extundo.com>
10743
10744         * MODULES.html.sh (Extra functions based on ANSI C 89: Misc): Add
10745         readline, getdelim and check_version.
10746         (Support for systems lacking ISO C 99: Sizes of integer types):
10747         Add size_max.
10748
10749 2005-08-12  Bruno Haible  <bruno@clisp.org>
10750
10751         * m4/readline.m4 (gl_FUNC_READLINE): Look for ncurses first.
10752
10753 2005-08-11  Simon Josefsson  <jas@extundo.com>
10754
10755         * modules/readline: New file.
10756
10757         * modules/strnlen (Files): Add strnlen.h.
10758
10759 2005-08-11  Simon Josefsson  <jas@extundo.com>
10760
10761         * m4/readline.m4: New file.
10762
10763 2005-08-11  Simon Josefsson  <jas@extundo.com>
10764
10765         * lib/readline.h, readline.c: New file.
10766
10767 2005-08-11  Simon Josefsson  <jas@extundo.com>
10768
10769         * doc/gnulib.texi (Initial import, Finishing touches): Mention
10770         gl_AVOID.
10771
10772 2005-08-11  Bruno Haible  <bruno@clisp.org>
10773
10774         * lib/strnlen.h (strnlen): Change parameter name to match comment.
10775
10776 2005-08-10  Stepan Kasal  <kasal@ucw.cz>
10777
10778         * m4/onceonly_2_57.m4: Really require Autoconf 2.57.
10779
10780 2005-08-10  Simon Josefsson  <jas@extundo.com>
10781
10782         * tests/test-iconvme.c: New file.
10783
10784 2005-08-10  Simon Josefsson  <jas@extundo.com>
10785
10786         * m4/strnlen.m4: New file.
10787
10788         * m4/strndup.m4: Don't check for strnlen declaration, done in
10789         strnlen.m4.
10790
10791 2005-08-10  Simon Josefsson  <jas@extundo.com>
10792
10793         * lib/strndup.c: Use strnlen.h.
10794
10795         * lib/strnlen.h: New file.
10796
10797 2005-08-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
10798
10799         * README: Typos.
10800
10801 2005-08-02  Simon Josefsson  <jas@extundo.com>
10802
10803         * modules/readline: New file.
10804
10805 2005-08-02  Simon Josefsson  <jas@extundo.com>
10806
10807         * modules/getdelim: New file.
10808
10809         * modules/getline: Rewrite, don't use getndelim2.
10810
10811 2005-08-02  Simon Josefsson  <jas@extundo.com>
10812
10813         * m4/getline.m4: Separate out getdelim stuff into separate module.
10814
10815         * m4/getdelim.m4: New file.
10816
10817 2005-08-02  Simon Josefsson  <jas@extundo.com>
10818
10819         * lib/getline.h, getline.c: Rewrite.
10820
10821         * lib/getdelim.h, lib/getdelim.c: New files, ported from glibc.
10822
10823 2005-07-31  Bruno Haible  <bruno@clisp.org>
10824
10825         * lib/lock.h (gl_lock_initializer): New macro.
10826         (gl_lock_define_initialized): Use it.
10827         (gl_rwlock_initializer): New macro.
10828         (gl_rwlock_define_initialized): Use it.
10829         (gl_recursive_lock_initializer): New macro.
10830         (gl_recursive_lock_define_initialized): Use it.
10831
10832 2005-07-30  Karl Berry  <karl@gnu.org>
10833
10834         * doc/gnulib.texi (Initial import): mention -I$(top_builddir)/lib.
10835         Report from Ben Pfaff, regarding getopt.
10836
10837 2005-07-26  Paul Eggert  <eggert@cs.ucla.edu>
10838
10839         Add support to getopt for Emacs, which doesn't use LIBOBJS in the
10840         normal way.
10841         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE_HEADER): New macro.
10842         (gl_GETOPT_SUBSTITUTE): Use it.  Invoke gl_PREREQ_GETOPT.
10843         (gl_GETOPT_IFELSE, gl_GETOPT_CHECK_HEADERS): New macros.
10844         (gl_GETOPT): Use the new macros.  Most of the implementation
10845         is moved to the new macros.  This is for programs like Emacs
10846         that don't want all the functionality of gl_GETOPT.
10847
10848 2005-07-26  Bruno Haible  <bruno@clisp.org>
10849
10850         * m4/lock.m4: Update from GNU gettext.
10851
10852 2005-07-26  Bruno Haible  <bruno@clisp.org>
10853
10854         * lib/lock.h: Update from GNU gettext.
10855         * lib/lock.c: Update from GNU gettext.
10856
10857 2005-07-25  Paul Eggert  <eggert@cs.ucla.edu>
10858
10859         * m4/regex.m4 (gl_INCLUDED_REGEX): Use AC_RUN_IFELSE instead of the
10860         obsolescent AC_TRY_RUN.  Include the default includes files, for
10861         'exit'.
10862
10863 2005-07-24  Bruno Haible  <bruno@clisp.org>
10864
10865         * modules/visibility: New file.
10866         * MODULES.html.sh (Misc): Add visibility.
10867
10868 2005-07-24  Bruno Haible  <bruno@clisp.org>
10869
10870         * m4/visibility.m4: New file.
10871
10872 2005-07-24  Bruno Haible  <bruno@clisp.org>
10873
10874         * doc/visibility.texi: New file.
10875
10876 2005-07-22  Bruno Haible  <bruno@clisp.org>
10877
10878         * modules/alloca-opt (Makefile.am): Remove explicit dependency on
10879         $(ALLOCA_H), redundant through BUILT_SOURCES.
10880         * modules/argz (Makefile.am): Remove explicit dependency on $(ARGZ_H),
10881         redundant through BUILT_SOURCES.
10882         * modules/byteswap (Makefile.am): Remove explicit dependency on
10883         $(BYTESWAP_H), redundant through BUILT_SOURCES.
10884         * modules/fnmatch (Makefile.am): Remove explicit dependency on
10885         $(FNMATCH_H), redundant through BUILT_SOURCES.
10886         * modules/getopt (Makefile.am): Remove explicit dependency on
10887         $(GETOPT_H), redundant through BUILT_SOURCES.
10888         * modules/glob (Makefile.am): Remove explicit dependency on $(GLOB_H),
10889         redundant through BUILT_SOURCES.
10890         * modules/poll (Makefile.am): Remove explicit dependency on $(POLL_H),
10891         redundant through BUILT_SOURCES.
10892         * modules/stdbool (Makefile.am): Remove explicit dependency on
10893         $(STDBOOL_H), redundant through BUILT_SOURCES.
10894         * modules/stdint (Makefile.am): Remove explicit dependency on
10895         $(STDINT_H), redundant through BUILT_SOURCES.
10896         * modules/sysexits (Makefile.am): Add $(SYSEXITS_H) to BUILT_SOURCES.
10897         Remove explicit dependency on $(SYSEXITS_H).
10898         Reported by Alexandre Duret-Lutz <adl@src.lip6.fr>.
10899
10900 2005-07-18  Simon Josefsson  <jas@extundo.com>
10901
10902         * lib/check-version.c (check_version): Accept identical versions too.
10903
10904 2005-07-18  Bruno Haible  <bruno@clisp.org>
10905
10906         * modules/lock: New file.
10907         * MODULES.html.sh (Multithreading): New section.
10908
10909 2005-07-18  Bruno Haible  <bruno@clisp.org>
10910
10911         * m4/lock.m4: New file, from GNU gettext.
10912
10913 2005-07-18  Bruno Haible  <bruno@clisp.org>
10914
10915         * lib/lock.h: New file, from GNU gettext.
10916         * lib/lock.c: New file, from GNU gettext.
10917
10918 2005-07-18  Bruno Haible  <bruno@clisp.org>
10919
10920         * lib/lock.h (gl_once_t): New type.
10921         (gl_once_define, gl_once): New macros.
10922         * lib/lock.c (fresh_once): New variable.
10923         (glthread_once, glthread_once_call, glthread_once_singlethreaded): New
10924         functions.
10925
10926 2005-07-16  Simon Josefsson  <jas@extundo.com>
10927
10928         * doc/gnulib.texi (Library version handling): Add ELF symbol collision
10929         workaround, suggested by Bruno.
10930
10931 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
10932
10933         * modules/xalloc (Depends-on): Add xalloc-die.
10934         * modules/xvasprintf (Depends-on): Add xalloc-die.
10935
10936 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
10937
10938         * lib/quotearg.c: Add translator comment suggested by Bruno Haible,
10939         with a minor change.
10940
10941 2005-07-15  Bruno Haible  <bruno@clisp.org>
10942
10943         * m4/poll.m4 (gl_FUNC_POLL): Check against MacOS X 10.4 poll() bug.
10944         When using lib/poll.c, define poll as rpl_poll.
10945
10946 2005-07-14  Paul Eggert  <eggert@cs.ucla.edu>
10947
10948         * modules/argp (Depends-on): Remove unlocked-io.
10949
10950 2005-07-14  Derek Price  <derek@ximbiot.com>
10951
10952         * m4/glob.m4 (gl_GLOB): Cache glob interface check result.  Add check
10953         for glob symlink bug.
10954
10955 2005-07-14  Bruno Haible  <bruno@clisp.org>
10956
10957         * m4/argp.m4 (gl_ARGP): Remove invocation of gl_FUNC_GLIBC_UNLOCKED_IO.
10958         Instead, test for *_unlocked function declarations directly.
10959
10960 2005-07-11  Simon Josefsson  <jas@extundo.com>
10961
10962         * modules/size_max: New file.
10963
10964         * modules/xsize: Depend on size_max module for size_max.m4.
10965
10966 2005-07-11  Simon Josefsson  <jas@extundo.com>
10967
10968         * lib/size_max.h: New file.
10969
10970 2005-07-11  Paul Eggert  <eggert@cs.ucla.edu>
10971
10972         * lib/version-etc-fsf.c (version_etc_copyright): Parameterize the
10973         copyright symbol and the year.
10974         * lib/version-etc.c (COPYRIGHT_YEAR): New constant.
10975         (version_etc_va): Use parameterized copyright notice.
10976         Reword to conform to the current GNU coding standards.
10977
10978 2005-07-11  Karl Berry  <karl@gnu.org>
10979
10980         * doc/gnulib.texi (Quoting): new node.
10981         (Initial import): more info, from Patrice.
10982
10983 2005-07-11  Bruno Haible  <bruno@clisp.org>
10984
10985         * gnulib-tool (func_usage): Document option --avoid.
10986         (Command line options): Handle --avoid.
10987         (func_acceptable): New function.
10988         (func_modules_transitive_closure): Use it.
10989
10990 2005-07-11  Bruno Haible  <bruno@clisp.org>
10991
10992         * MODULES.html.sh: Use shortcut URLs to the www.opengroup.org site.
10993         Reported by Jim Meyering.
10994
10995 2005-07-10  Bruno Haible  <bruno@clisp.org>
10996
10997         * m4/size_max.m4 (gl_SIZE_MAX): Cast ~(size_t)0 back to size_t.
10998         Needed when size_t is smaller than 'unsigned int'.
10999         Reported by Paul Eggert.
11000
11001 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
11002
11003         * modules/argp (Depends-on): Add unlocked-io
11004
11005 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
11006
11007         * lib/argp-namefrob.h: Include unlocked-io.h. Removed unnecessary
11008         block of defines.
11009
11010 2005-07-08  Paul Eggert  <eggert@cs.ucla.edu>
11011
11012         * config/srclist.txt: Comment out regcomp.c, since we have a porting
11013         fix now.
11014
11015 2005-07-08  Eric Blake  <ebb9@byu.net>  (tiny change)
11016         and Paul Eggert  <eggert@cs.ucla.edu>
11017
11018         * lib/regcomp.c (init_dfa, build_range_exp): Store __btowc value
11019         in wint_t, not wchar_t.  Remove now-unnecessary cast.
11020
11021 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
11022
11023         * modules/regex (Files): Add lib/regex_internal.c,
11024         lib/regex_internal.h, lib/regexec.c, lib/regcomp.c, m4/codeset.m4.
11025         (Depends-on): Add extensions.
11026         (Makefile.am): Remove lib_SOURCES; now done by m4 code.
11027
11028 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
11029
11030         * m4/backupfile.m4 (gl_BACKUPFILE): Use AC_CHECK_FUNCS_ONCE on
11031         pathconf.
11032         * m4/same.m4 (gl_SAME): Likewise.
11033         Require AC_SYS_LONG_FILE_NAMES; bug reported by Gerrit P. Haase.
11034
11035         * m4/regex.m4: Adjust to new libc regex implementation.
11036         (gl_INCLUDED_REGEX): Add AC_LIBSOURCES for
11037         all the .c and .h parts of (the new) regex.
11038         Quote the m4 stuff better.
11039         Check for RE_ICASE bug of old gnulib.
11040         Check for REG_STARTEND of recent libc.
11041         Rename local variables from jm_* to gl_*.
11042         Quote operand of "test -f".
11043         Say "recent enough" version of libc, not "version 2".
11044         (gl_PREREQ_REGEX): Remove AC_FUNC_ALLOCA, since alloca is a
11045         prerequisite module.  Remove AC_HEADER_STDC; no longer needed.
11046         Check for locale.h, isblank, mbrtowc, wcrtomb, wcscoll.
11047         Remove check for btowc, isascii.
11048         Require AM_LANGINFO_CODESET.
11049
11050 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
11051
11052         * lib/regex.c, regex.h: Sync from libc.
11053         * lib/regcomp.c, lib/regexec_internal.c, lib/regex_internal.h:
11054         * lib/regexec.c:
11055         New files, synced from libc, except that regex_internal.h
11056         currently has a small porting fix.
11057
11058 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
11059
11060         * config/srclist.txt: Add regcomp.c, regex.c, regex.h,
11061         regex_internal.c, regexec.c.
11062         Add regex_internal.h too, but as a comment, since the libc version
11063         is currently broken in gnulib mode.
11064
11065 2005-07-06  Paul Eggert  <eggert@cs.ucla.edu>
11066
11067         Support programs like Emacs that use gnulib but not gettext.
11068         * MODULES.html.sh (Internationalization functions): Add gettext-h.
11069         * modules/gettext-h: New file.
11070         * modules/gettext (Files): Remove lib/gettext.h.
11071         (Depends-on): Add gettext-h.
11072         (Makefile.am): Remove lib_SOURCES.
11073         * modules/argmatch, modules/c-stack, modules/closeout:
11074         * modules/copy-file, modules/csharpcomp, modules/csharpexec:
11075         * modules/execute, modules/file-type, modules/getaddrinfo:
11076         * modules/getopt, modules/human, modules/javacomp:
11077         * modules/javaexec, modules/mkdir-p, modules/obstack:
11078         * modules/openat, modules/pagealign_alloc, modules/pipe:
11079         * modules/quotearg, modules/regex, modules/rpmatch:
11080         * modules/unicodeio, modules/userspec, modules/version-etc:
11081         * modules/wait-process, modules/xalloc-die, modules/xmemcoll:
11082         * modules/xsetenv:
11083         Depend on gettext-h, not gettext.
11084
11085 2005-07-05  Paul Eggert  <eggert@cs.ucla.edu>
11086
11087         * gnulib-tool (func_import): Add support for 'public domain' license.
11088         * modules/alloca, modules/atexit, modules/memmove:
11089         Now public domain, not GPL.
11090         * modules/dup2, modules/getpagesize, modules/malloc, modules/memset:
11091         * modules/realloc, modules/strerror, modules/strtod:
11092         Now LGPL, not GPL.
11093
11094 2005-07-05  Bruno Haible  <bruno@clisp.org>
11095
11096         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): Upgrade to version from current
11097         autoconf CVS. Needed for mingw.
11098
11099 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
11100
11101         Remove the dependency of the strftime module on the tzset module.
11102         * modules/strftime (Depends-on): Remove dependency on tzset.
11103
11104 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
11105
11106         Remove the dependency of the strftime module on the tzset module.
11107         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't require
11108         gl_FUNC_TZSET_CLOBBER.
11109
11110 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
11111
11112         Remove the dependency of the strftime module on the tzset module.
11113         * lib/strftime.c (my_strftime)
11114         [! defined _LIBC && ! HAVE_RUN_TZSET_TEST]:
11115         Copy the input structure, to work around some of the bug with
11116         Solaris 2.5.1 and Solaris 2.6.  If you still care about these old
11117         Solaris releases, you should also use the tzset module, but we won't
11118         require it as a dependency any more since we don't want LGPLed code
11119         to depend on GPLed code.
11120
11121 2005-07-02  Jim Meyering  <jim@meyering.net>
11122
11123         * m4/chown.m4, cloexec.m4, dup2.m4, fsusage.m4:
11124         * m4/getcwd-path-max.m4, getcwd.m4, mkstemp.m4, mountlist.m4:
11125         * m4/pagealign_alloc.m4, save-cwd.m4, unistd-safer.m4:
11126         Don't check for fcntl.h, and don't test for HAVE_FCNTL_H.
11127
11128 2005-07-02  Jim Meyering  <jim@meyering.net>
11129
11130         * lib/backupfile.c (backup_args): Change a `0' to NULL.
11131
11132 2005-07-01  Paul Eggert  <eggert@cs.ucla.edu>
11133
11134         * lib/xnanosleep.c: Include timespec.h, since OpenBSD 3.4 <time.h>
11135         declares only 'struct timespec;' (!).
11136
11137 2005-07-01  Jim Meyering  <jim@meyering.net>
11138
11139         * lib/chown.c, cloexec.c, dup-safer.c, dup2.c, fsusage.c, getcwd.c:
11140         * lib/getloadavg.c, mountlist.c, openat.h, pagealign_alloc.c:
11141         * lib/save-cwd.c, tempname.c:
11142         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
11143         and don't include <sys/file.h>).
11144
11145 2005-06-29  Jim Meyering  <jim@meyering.net>
11146
11147         * lib/mkdir-p.c (make_dir_parents): Don't apply sizeof to a hard-coded
11148         type name.  Use the variable name instead.
11149         * lib/idcache.c (getuser, getuidbyname, getgroup, getgidbyname):
11150         Likewise.
11151
11152 2005-06-28  Simon Josefsson  <jas@extundo.com>
11153
11154         * modules/check-version (Files): Add check-version.m4.
11155
11156 2005-06-28  Simon Josefsson  <jas@extundo.com>
11157
11158         * m4/check-version.m4: New file, suggested by Jim Meyering
11159         <jim@meyering.net>.
11160
11161 2005-06-28  Simon Josefsson  <jas@extundo.com>
11162
11163         * lib/check-version.h, lib/check-version.c: New files.
11164
11165 2005-06-28  Simon Josefsson  <jas@extundo.com>
11166
11167         * lib/base64.c (base64_encode): Indent.  Rename 'b64' to avoid
11168         collision with global variable.  Better indentation.  Don't
11169         increment buffer pointer beyond buffer end.  Based on comments
11170         from Paul Eggert <eggert@cs.ucla.edu>.
11171
11172         * lib/base64.h: Indent.
11173
11174 2005-06-28  Simon Josefsson  <jas@extundo.com>
11175
11176         * doc/gnulib.texi (Library version handling): New section.
11177
11178 2005-06-28  Jim Meyering  <jim@meyering.net>
11179
11180         * check-module (find_included_lib_files): Hard-code another
11181         pair of exceptions: fts.c includes fts-cycle.c and unistd-safer.h
11182         but modules/fts-lgpl (correctly) does not list those files.
11183
11184         * modules/canonicalize (Files): Add lib/pathmax.h.
11185
11186 2005-06-25  Simon Josefsson  <jas@extundo.com>
11187
11188         * modules/check-version: New file.
11189
11190 2005-06-24  Paul Eggert  <eggert@cs.ucla.edu>
11191
11192         * lib/canon-host.c (canon-host): Append trailing "," to 0 in
11193         initializer of struct addrinfo, as an indication that we don't
11194         care how many members the structure has.
11195
11196 2005-06-24  Derek Price  <derek@ximbiot.com>
11197         and Bruno Haible  <bruno@clisp.org>
11198
11199         Remove stat module & update lstat.
11200         * m4/lstat.m4 (gl_FUNC_LSTAT): Drop AC_FUNC_LSTAT in favor of
11201         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
11202         * m4/stat.m4: Remove this file.
11203
11204 2005-06-24  Derek Price  <derek@ximbiot.com>
11205         and Bruno Haible  <bruno@clisp.org>
11206
11207         Remove stat module & update lstat.
11208         * lib/stat.c: Remove this file...
11209         (slash_aware_lstat): ...moving this content and its support...
11210         * lib/lstat.c (rpl_lstat): ...into here.
11211         * lib/lstat.h: New file.
11212
11213 2005-06-24  Derek Price  <derek@ximbiot.com>
11214         and Bruno Haible  <bruno@clisp.org>
11215
11216         Remove stat module & update lstat.
11217         * config/srclist.txt (libc sources): Remove stat.
11218
11219 2005-06-24  Derek Price  <derek@ximbiot.com>
11220         and Bruno Haible  <bruno@clisp.org>
11221
11222         Remove stat module & update lstat.
11223         * MODULES.html.sh (stat): Remove.
11224         * MODULES.html: Regenerated.
11225         * modules/lstat (Description): Correct function name.
11226         (Files): Add "lstat.h".
11227         (Depends-on): Remove stat, add xalloc, stat-macros.
11228         * modules/stat: Remove this file.
11229         (Include): Add "lstat.h", remove <sys/stat.h>.
11230
11231 2005-06-23  Paul Eggert  <eggert@cs.ucla.edu>
11232
11233         * lib/mktime.c: Include <string.h> even if !DEBUG.  (From glibc.)
11234         (ranged_convert): Don't save conversion in a temporary struct.
11235         This causes a warning with GCC 4.0.0, and anyway in the typical
11236         case it's not worth the extra 100 bytes or so of code.
11237         (ranged_convert, __mktime_internal): When calling a function via a
11238         pointer P, use P () rather than (*P) (), as we now assume C89 or
11239         better.
11240
11241 2005-06-22  Paul Eggert  <eggert@cs.ucla.edu>
11242
11243         * lib/readutmp.c (desirable_utmp_entry): Fix bug where "who -b" and
11244         "who -r" failed to give output.  Problem reported by Tim Waugh.
11245
11246         * lib/xmalloc.c (HAVE_GNU_CALLOC): New constant.
11247         (xcalloc): Use it to avoid needless tests.
11248         Problem reported by Jim Meyering.
11249
11250 2005-06-20  Derek Price  <derek@ximbiot.com>
11251
11252         * m4/bison.m4: Note that precious decls of YACC & YFLAGS will be
11253         unnecessary for Autoconfs > 2.59c.
11254
11255 2005-06-16  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
11256
11257         * lib/argp.h (__option_is_short): Check upper limit of
11258         __key. Isprint() requires its argument to have the value
11259         of an unsigned char or EOF.
11260
11261 2005-06-16  Jim Meyering  <jim@meyering.net>
11262
11263         * lib/calloc.c (rpl_calloc): Allocate a 1-byte buffer (not 1xS or Nx1)
11264         when either N or S is zero.
11265
11266 2005-06-16  Derek Price  <derek@ximbiot.com>
11267
11268         * m4/bison.m4: Declare YACC & YFLAGS precious.
11269
11270 2005-06-10  Paul Eggert  <eggert@cs.ucla.edu>
11271
11272         * lib/fnmatch.c (fnmatch): If there is an encoding error in a
11273         multibyte string or pattern, fall back on unibyte matching.
11274         Problem reported by James Youngman.
11275
11276 2005-06-08  Bruno Haible  <bruno@clisp.org>
11277
11278         * modules/csharpcomp: New file.
11279         * MODULES.html.sh (C#): Add csharpcomp.
11280
11281 2005-06-08  Bruno Haible  <bruno@clisp.org>
11282
11283         * m4/csharpcomp.m4: New file, from GNU gettext.
11284
11285 2005-06-08  Bruno Haible  <bruno@clisp.org>
11286
11287         * lib/csharpcomp.h: New file, from GNU gettext.
11288         * lib/csharpcomp.c: New file, from GNU gettext.
11289         * lib/csharpcomp.sh.in: New file, from GNU gettext.
11290
11291 2005-06-08  Bruno Haible  <bruno@clisp.org>
11292
11293         * lib/binary-io.h (fileno): Undefine before defining it. Avoids a gcc
11294         warning on mingw.
11295
11296 2005-06-07  Derek Price  <derek@ximbiot.com>
11297
11298         Sync from CVS.
11299         * lib/glob_.h: Indent nested #ifdef.
11300
11301 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
11302
11303         Sync from coreutils.
11304         Use "file name" when talking about file names, instead of "filename"
11305         or "path", as per the GNU coding standards.
11306         * lib/mkdir-p.c: Renamed from makepath.c.
11307         (make_dir_parents): Renamed from make_path.  All callers changed.
11308         * lib/mkdir-p.h: Likewise.  All includers changed.
11309         * lib/filenamecat.c: Renamed from path-concat.c.
11310         (file_name_concat): Renamed from path_concat.  All callers changed.
11311         [TEST_FILE_NAME_CONCAT]: Renamed from TEST_PATH_CONCAT.
11312         * lib/filenamecat.h: Likewise.  All includers changed.
11313         * lib/acl.c: Don't use "path" or "filename" to mean "file name"
11314         in comments or local variable names.
11315         * lib/basename.c: Likewise.
11316         * lib/canonicalize.c, canonicalize.h: Likewise.
11317         * lib/dirname.c, dirname.h: Likewise.
11318         * lib/euidaccess.c: Likewise.
11319         * lib/exclude.c: Likewise
11320         * lib/fnmatch_.h, fnmatch_loop.c: Likewise.
11321         * lib/fsusage.c, fsuage.h: Likewise.
11322         * lib/fts.c, fts_.h: Likewise.
11323         * lib/getcwd.c: Likewise.
11324         * lib/getloadavg.c: Likewise.
11325         * lib/mkstemp.c: Likewise.
11326         * lib/mountlist.c, mountlist.h: Likewise.
11327         * lib/openat.c, openat.h: Likewise.
11328         * lib/readlink-stub.c: Likewise.
11329         * lib/readutmp.c, readutmp.h: Likewise.
11330         * lib/rename.c: Likewise.
11331         * lib/rmdir.c: Likewise.
11332         * lib/same.c: Likewise.
11333         * lib/savedir.c: Likewise.
11334         * lib/stripslash.c: Likewise.
11335         * lib/tempname.c: Likewise.
11336         * lib/xreadlink.c: Likewise.
11337         * lib/exclude.c (excluded_file_name): Renamed from excluded_filename.
11338         All uses changed.
11339         * lib/exclude.h: Likewise.
11340
11341         * lib/euidaccess.c (getuid, getgid, getuid, getegid)
11342         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
11343         * lib/idcache.c (getpwuid, getpwnam, getgrgid, getgrnam)
11344         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
11345         * lib/pathmax.h: Include <limits.h> unconditionally, since other
11346         files have been getting away with it for years (MORE/BSD 4.3
11347         is extinct now).
11348         * lib/userspec.c (getpwnam, getgrnam, getgrgid)
11349         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
11350
11351         * lib/pathmax.h (_POSIX_PATH_MAX) [!defined _POSIX_PATH_MAX]:
11352         Define to 256, not 255, as per modern POSIX.
11353
11354 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
11355
11356         Sync from coreutils.
11357         Use "file name" when talking about file names, instead of "filename"
11358         or "path", as per the GNU coding standards.
11359         * MODULES.html.sh: mkdir-p renamed from makepath.
11360         filenamecat renamed from path-concat.
11361         * modules/filenamecat: Renamed from modules/path-concat.
11362         (Files): filenamecat.h and filenamecat.c renamed from
11363         path-concat.h and path-concat.c.
11364         (configure.ac): gl_FILE_NAME_CONCAT, not gl_PATH_CONCAT.
11365         (Include): filenamecat.h, not path-concat.h.
11366         * modules/mkdir-p: Renamed from modules/makepath.
11367         (Files): mkdir-p.h and mkdir-p.c renamed from makepath.h and
11368         makepath.c.
11369         (configure.ac): gl_MKDIR_PARENTS, not gl_MAKEPATH.
11370         (Include): mkdir-p.h, not makepath.h.
11371
11372 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
11373
11374         Sync from coreutils.
11375         * m4/mkdir-p.m4: Renamed from makepath.m4.
11376         (gl_MKDIR_PARENTS): Renamed from gl_MAKEPATH.  All uses changed.
11377         Rename files from makepath.c to mkdir-p.c, and from
11378         makepath.h to mkdir-p.h.
11379         * m4/filenamecat.m4: Renamed from path-concat.m4.
11380         (gl_FILE_NAME_CONCAT): Renamed from gl_PATH_CONCAT.  All uses changed.
11381         Rename files from path-concat.c to filenamecat.c,
11382         and from path-concat.h to filenamecat.h.
11383         * m4/getcwd-path-max.m4: Don't use "path" or "filename" to mean
11384         "file name" in local variables or comments.
11385         * m4/rename.m4: Likewise.
11386
11387 2005-06-01  Bruno Haible  <bruno@clisp.org>
11388
11389         * modules/csharpexec: New file.
11390         * MODULES.html.sh (C#): New section.
11391
11392 2005-06-01  Bruno Haible  <bruno@clisp.org>
11393
11394         * m4/csharp.m4: New file, from GNU gettext.
11395         * m4/csharpexec.m4: New file, from GNU gettext.
11396
11397 2005-06-01  Bruno Haible  <bruno@clisp.org>
11398
11399         * lib/csharpexec.h: New file, from GNU gettext.
11400         * lib/csharpexec.c: New file, from GNU gettext.
11401         * lib/csharpexec.sh.in: New file, from GNU gettext.
11402
11403 2005-05-31  Derek Price  <derek@ximbiot.com>
11404             Paul Eggert  <eggert@cs.ucla.edu>
11405
11406         Sync from cvs.
11407         * m4/glob.m4: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
11408
11409 2005-05-31  Derek Price  <derek@ximbiot.com>
11410             Paul Eggert  <eggert@cs.ucla.edu>
11411
11412         Sync from cvs.
11413         * lib/glob_.h: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
11414
11415 2005-05-29  Derek Price  <derek@ximbiot.com>
11416
11417         * config/srclist.txt (glob_.h, glob.c): Add these files.
11418
11419 2005-05-29  Derek Price  <derek@ximbiot.com>
11420
11421         * MODULES.html.sh: Add glob to Enhanced POSIX.2001 section.
11422         * modules/glob: New file.
11423         * modules/getlogin_r: Add link to POSIX spec in description.
11424
11425 2005-05-29  Derek Price  <derek@ximbiot.com>
11426             Paul Eggert  <eggert@cs.ucla.edu>
11427
11428         * m4/glob.m4: New file.
11429
11430 2005-05-29  Derek Price  <derek@ximbiot.com>
11431             Paul Eggert  <eggert@cs.ucla.edu>
11432
11433         * lib/glob_.h, lib/glob.c: New files.
11434
11435 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
11436
11437         * modules/fts (Files): Remove m4/inttypes-pri.m4.
11438         * modules/fts-lgpl (Depends-on): Remove gettext.
11439
11440 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
11441
11442         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't check for inttypes.h or stdint.h,
11443         and don't require gt_INTTYPES_PRI.
11444
11445 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
11446
11447         * lib/getlogin_r.c (getlogin_r): Don't set errno to 0 on return.
11448
11449         * lib/fts.c: Don't worry about debugging on pre-C99-compatible hosts;
11450         the configuration hassle isn't worth it.
11451         Include inttypes.h and stdint.h unconditionally if FTS_DEBUG.
11452         (LONGEST_MODIFIER, PRIuMAX): Remove.
11453
11454 2005-05-27  Bruno Haible  <bruno@clisp.org>
11455
11456         * lib/getlogin_r.h: Remove second include of <stddef.h>.
11457
11458 2005-05-26  Paul Eggert  <eggert@cs.ucla.edu>
11459
11460         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Define
11461         _POSIX_PTHREAD_SEMANTICS for Solaris.
11462
11463 2005-05-25  Derek Price  <derek@ximbiot.com>
11464
11465         * MODULES.html.sh: Add getlogin_r to POSIX.2001 support section.
11466
11467 2005-05-25  Derek Price  <derek@ximbiot.com>
11468             Paul Eggert  <eggert@cs.ucla.edu>
11469
11470         * modules/getlogin_r, m4/getlogin_r.m4: New files.
11471         * lib/getlogin_r.c, getlogin_r.h: New files.
11472
11473 2005-05-25  Bruno Haible  <bruno@clisp.org>
11474             Derek Price  <derek@ximbiot.com>
11475
11476         * lib/getlogin_r.h: Simplify API documentation.
11477
11478 2005-05-23  Derek Price  <derek@ximbiot.com>
11479
11480         * modules/minmax (Files): Add m4/minmax.m4.
11481         (configure.ac): Add gl_MINMAX.
11482
11483 2005-05-22  Paul Eggert  <eggert@cs.ucla.edu>
11484
11485         * lib/fts.c (fd_safer) [_LGPL_PACKAGE]: New static function,
11486         so that unistd-safer.h (GPL'ed code) need not be included.
11487
11488 2005-05-22  Bruno Haible  <bruno@clisp.org>
11489
11490         * m4/minmax.m4: New file.
11491         Based on a patch by Derek Price <derek@ximbiot.com>.
11492
11493 2005-05-22  Bruno Haible  <bruno@clisp.org>
11494
11495         * lib/stdint_.h (_STDINT_H_HAVE_INT64): New macro. Use it in #ifdefs.
11496         (INT64_MIN): Fix definition.
11497         Suggested by Paul Eggert <eggert@cs.ucla.edu>.
11498
11499         * lib/stdint_.h (_STDINT_H_NEED_SIGNED_INT_TYPES): Renamed from
11500         NEED_SIGNED_INT_TYPES.
11501
11502         * lib/stdint_.h (_STDINT_H_HAVE_SYSTEM_INTTYPES): Renamed from
11503         HAVE_SYSTEM_INTTYPES.
11504
11505 2005-05-22  Bruno Haible  <bruno@clisp.org>
11506
11507         * lib/minmax.h: Include <limits.h> only when it defines MIN, MAX.
11508         Also include <sys/param.h> if it defines MIN, MAX.
11509         Based on a patch by Derek Price <derek@ximbiot.com>.
11510
11511 2005-05-21  Jim Meyering  <jim@meyering.net>
11512
11513         * modules/fts (Files): Add m4/inttypes-pri.m4.
11514         (Depends-on): Add lstat and remove gettext.  Alphabetize.
11515
11516 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
11517
11518         New fts module.
11519         * lib/fts.c: Don't include "cycle-check.h" or "hash.h".
11520         (setup_dir, free_dir): New functions.
11521         (enter_dir, leave_dir): Define trivial
11522         alternatives of _LGPL_PACKAGE.  Move to fts-cycle.c if !_LGPL_PACKAGE.
11523         (HT_INITIAL_SIZE, ENTER_DIR): Remove.  All uses removed.
11524         (LEAVE_DIR): Fix typo: pass Fts and Ent to leave_dir.
11525         (struct Active_dir, AD_compare, AD_hash, enter_dir, leave_dir):
11526         Move to fts-cycle.c.
11527         (fts_open): Use setup_dir.
11528         (fts_close): Use free_dir.
11529         (fts_read): Have just one copy of the ENTER_DIR code rather than three.
11530         This adds a label and some gotos, but the alternatives were messier.
11531         Check for memory allocation failure when entering a dir.
11532         (fts_stat) [_LGPL_PACKAGE]: Bring back glibc cycle detection code.
11533         * lib/fts_.h (_LGPL_PACKAGE) [defined _LIBC]: New macro.
11534         (FTS): New member fts_cycle, that is a union that contains the
11535         old active_dir_ht and cycle_state.  All uses changed to mention
11536         fts_cycle.ht and fts_cycle.state.
11537         * lib/fts-cycle.c: New file, containing GPL'ed code migrated out of
11538         fts.c, with the following changes:
11539         (setup_dir, free_dir): New functions.
11540         (enter_dir): Now returns bool.  Return true if successful, false
11541         if memory exhausted.  All callers changed.
11542         Do not bother partly cleaning up on
11543         memory allocation failure; that is free_dir's job.
11544         However, free ad if hash_insert fails, to avoid memory leak.
11545         (enter_dir, leave_dir): Accommodate change to FTS by inspecting
11546         fts->fts_options to see which union member to use.
11547
11548 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
11549
11550         * m4/fts.m4 (gl_FUNC_FTS_CORE): Renamed from gl_FUNC_FTS.
11551         (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): New macros.
11552
11553 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
11554
11555         * MODULES.html.sh (File system functions): Add fts, fts-lgpl.
11556
11557 2005-05-20  Jim Meyering  <jim@meyering.net>
11558
11559         * lib/unlinkdir.h (cannot_unlink_dir) [UNLINK_CANNOT_UNLINK_DIR]:
11560         Now a macro, to pacify GCC.
11561
11562 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
11563
11564         * m4/chown.m4 (gl_FUNC_CHOWN): Correct sense of test for honoring IDs
11565         of -1.
11566
11567 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
11568
11569         * lib/chown.c (rpl_chown): Return -1 on failure.
11570
11571 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
11572
11573         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME]):
11574         Don't check for stddef.h.
11575         * m4/fts.m4 (gl_FUNC_FTS): Don't require AC_HEADER_STDC, as we
11576         don't use its results.
11577         Don't check for fcntl.h, stddef.h, stdlib.h, string.h, unistd.h,
11578         since we include them unconditionally.  Don't require
11579         AM_STDBOOL_H, since stdbool is a prerequisite.
11580         Don't require AC_C_CONST, AC_TYPE_SIZE_T or check for ptrdiff_t
11581         since we assume C89 or better.
11582         Don't require AC_FUNC_CLOSEDIR_VOID, AC_FUNC_LSTAT, or AC_FUNC_STAT,
11583         as we don't use their results.
11584         Don't check for fchdir, memmove, memset, strrchr, as we use
11585         them unconditionally.
11586         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't define
11587         GETTIMEOFDAY_CLOBBERS_LOCALTIME_BUFFER, since nobody uses it.
11588
11589 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
11590
11591         * lib/canonicalize.c: Include canonicalize.h first, to test interface.
11592         Include <stddef.h> unconditionally, since we assume C89 now.
11593         All uses of PTR_INT_TYPE replaced by ptrdiff_t.
11594         * lib/fts.c: Include fts_.h first, to check interface.
11595         Do not include intprops.h; no longer needed.
11596         Include cycle-check.h and hash.h, since fts_.h no longer does.
11597         Remove unnecessary casts of closedir to void.
11598         (fts_build): Use a simpler method (not involving TYPE_SIGNED) to
11599         decide whether to decrement nlinks.
11600         * lib/fts_.h: Do not include hash.h or cycle-check.h; no longer needed.
11601         (FTS): Use struct hash_table * instead of Hash_table, so that
11602         we no longer need to include hash.h here.
11603
11604 2005-05-18  Jim Meyering  <jim@meyering.net>
11605
11606         * modules/dirfd (License): Change to LGPL.  Most of the code
11607         is already in the public domain.
11608
11609 2005-05-18  Jim Meyering  <jim@meyering.net>
11610
11611         * m4/fts.m4 (AC_LIBSOURCES): Add intprops.h to the list.
11612         Reported by Yoann Vandoorselaere.
11613
11614 2005-05-17  Jim Meyering  <jim@meyering.net>
11615
11616         * m4/fts.m4: New file, from coreutils.
11617
11618 2005-05-17  Jim Meyering  <jim@meyering.net>
11619
11620         * lib/fts.c, lib/fts_.h: New files, from coreutils.
11621
11622 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
11623
11624         Sync from coreutils.
11625         * m4/unlinkdir.m4: New file.
11626
11627 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
11628
11629         Sync from coreutils.
11630         * lib/unlinkdir.c, lib/unlinkdir.h: New files.
11631         * lib/gethrxtime.c, lib/gethrxtime.h, lib/getpass.h, lib/mountlist.h,
11632         lib/path-concat.c, lib/regex.h, lib/unlocked-io.h, lib/xtime.h:
11633         White space changes only.
11634         * lib/makepath.c (make_path): Port to hosts where leading "//" is
11635         special.
11636         * lib/yesno.c: Include getline.h, not ctype.h.
11637         (yesno): Don't remove leading white space; POSIX doesn't allow it.
11638         Use getline to remove arbitrary restriction on response length.
11639
11640 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
11641
11642         * config/srclist-update: Spell out "Street" in FSF postal
11643         mail address; this is the style the FSF seems to prefer.
11644
11645         * build-aux/depcomp, build-aux/install-sh, build-aux/mdate-sh,
11646         build-aux/missing, build-aux/mkinstalldirs: Sync from Automake;
11647         this updates FSF postal mail address.
11648
11649         Sync from coreutils.
11650         * modules/unlinkdir: New file.
11651         * modules/yesno (Depends-on): Add getline.
11652         * MODULES.html.sh (File system functions): Add unlinkdir.
11653
11654 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
11655
11656         * lib/byteswap_.h, lib/getsubopt.h, lib/iconvme.h, lib/strsep.c,
11657         lib/strsep.h:
11658         Change the initial comment to refer to GPL, not LGPL.
11659         gnulib-tool will change it to LGPL as needed.
11660
11661         * lib/__fpending.c, lib/acl.c, lib/acl.h, lib/alloca_.h, lib/allocsa.c,
11662         lib/allocsa.h, lib/argmatch.c, lib/argmatch.h, lib/argp-ba.c,
11663         lib/argp-eexst.c, lib/argp-fmtstream.c, lib/argp-fmtstream.h,
11664         lib/argp-fs-xinl.c, lib/argp-help.c, lib/argp-namefrob.h,
11665         lib/argp-parse.c, lib/argp-pv.c, lib/argp-pvh.c, lib/argp-xinl.c,
11666         lib/argp.h, lib/argz.c, lib/argz_.h, lib/asnprintf.c, lib/asprintf.c,
11667         lib/atanl.c, lib/backupfile.c, lib/backupfile.h, lib/base64.c,
11668         lib/base64.h, lib/basename.c, lib/binary-io.h, lib/byteswap_.h,
11669         lib/c-ctype.c, lib/c-ctype.h, lib/c-stack.c, lib/c-stack.h,
11670         lib/c-strtod.c, lib/calloc.c, lib/canon-host.c, lib/canonicalize.c,
11671         lib/canonicalize.h, lib/ceill.c, lib/chdir-long.c, lib/chdir-long.h,
11672         lib/chown.c, lib/classpath.c, lib/classpath.h, lib/cloexec.c,
11673         lib/closeout.c, lib/closeout.h, lib/concatpath.c, lib/config.charset,
11674         lib/copy-file.c, lib/copy-file.h, lib/cycle-check.c, lib/cycle-check.h,
11675         lib/diacrit.c, lib/diacrit.h, lib/dirfd.c, lib/dirfd.h, lib/dirname.c,
11676         lib/dirname.h, lib/dummy.c, lib/dup-safer.c, lib/dup2.c, lib/eealloc.h,
11677         lib/error.c, lib/error.h, lib/euidaccess.c, lib/exclude.c,
11678         lib/exclude.h, lib/execute.c, lib/execute.h, lib/exit.h,
11679         lib/exitfail.c, lib/exitfail.h, lib/expl.c, lib/fatal-signal.c,
11680         lib/fatal-signal.h, lib/fd-safer.c, lib/file-type.c, lib/file-type.h,
11681         lib/fileblocks.c, lib/filemode.c, lib/filemode.h, lib/findprog.c,
11682         lib/findprog.h, lib/floorl.c, lib/fnmatch.c, lib/fnmatch_.h,
11683         lib/fnmatch_loop.c, lib/fopen-safer.c, lib/free.c, lib/frexpl.c,
11684         lib/fsusage.c, lib/fsusage.h, lib/full-read.c, lib/full-read.h,
11685         lib/full-write.c, lib/full-write.h, lib/fwriteerror.c,
11686         lib/fwriteerror.h, lib/gai_strerror.c, lib/gcd.c, lib/gcd.h,
11687         lib/getaddrinfo.c, lib/getaddrinfo.h, lib/getcwd.c, lib/getcwd.h,
11688         lib/getdate.h, lib/getdate.y, lib/getdomainname.c, lib/getdomainname.h,
11689         lib/getgroups.c, lib/gethostname.c, lib/gethrxtime.c, lib/gethrxtime.h,
11690         lib/getline.c, lib/getline.h, lib/getloadavg.c, lib/getndelim2.c,
11691         lib/getndelim2.h, lib/getnline.c, lib/getnline.h, lib/getopt.c,
11692         lib/getopt1.c, lib/getopt_.h, lib/getopt_int.h, lib/getpagesize.h,
11693         lib/getpass.c, lib/getpass.h, lib/getsubopt.c, lib/getsubopt.h,
11694         lib/gettext.h, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c,
11695         lib/getusershell.c, lib/group-member.c, lib/group-member.h,
11696         lib/hard-locale.c, lib/hard-locale.h, lib/hash-pjw.c, lib/hash-pjw.h,
11697         lib/hash.c, lib/hash.h, lib/human.c, lib/human.h, lib/iconvme.c,
11698         lib/iconvme.h, lib/idcache.c, lib/inet_ntop.h, lib/intprops.h,
11699         lib/inttostr.c, lib/inttostr.h, lib/isdir.c, lib/javacomp.c,
11700         lib/javacomp.h, lib/javacomp.sh.in, lib/javaexec.c, lib/javaexec.h,
11701         lib/javaexec.sh.in, lib/lbrkprop.h, lib/lchown.c, lib/ldexpl.c,
11702         lib/linebreak.c, lib/linebreak.h, lib/linebuffer.c, lib/linebuffer.h,
11703         lib/localcharset.c, lib/localcharset.h, lib/logl.c, lib/long-options.c,
11704         lib/long-options.h, lib/lstat.c, lib/makepath.c, lib/makepath.h,
11705         lib/malloc.c, lib/mathl.h, lib/mbswidth.c, lib/mbswidth.h, lib/md5.c,
11706         lib/md5.h, lib/memcasecmp.c, lib/memcasecmp.h, lib/memchr.c,
11707         lib/memcmp.c, lib/memcoll.c, lib/memcoll.h, lib/memcpy.c, lib/memmem.c,
11708         lib/memmem.h, lib/mempcpy.c, lib/mempcpy.h, lib/memrchr.c,
11709         lib/memrchr.h, lib/memset.c, lib/minmax.h, lib/mkdir.c, lib/mkdtemp.c,
11710         lib/mkdtemp.h, lib/mkstemp.c, lib/mktime.c, lib/modechange.c,
11711         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
11712         lib/obstack.c, lib/obstack.h, lib/openat.c, lib/openat.h,
11713         lib/pagealign_alloc.c, lib/pagealign_alloc.h, lib/path-concat.c,
11714         lib/path-concat.h, lib/pathmax.h, lib/pathname.h, lib/physmem.c,
11715         lib/physmem.h, lib/pipe.c, lib/pipe.h, lib/poll.c, lib/poll_.h,
11716         lib/posixtm.c, lib/posixtm.h, lib/posixver.c, lib/printf-args.c,
11717         lib/printf-args.h, lib/printf-parse.c, lib/printf-parse.h,
11718         lib/progname.c, lib/progname.h, lib/progreloc.c, lib/putenv.c,
11719         lib/quote.c, lib/quote.h, lib/quotearg.c, lib/quotearg.h, lib/raise.c,
11720         lib/readlink.c, lib/readtokens.c, lib/readtokens.h, lib/readtokens0.c,
11721         lib/readtokens0.h, lib/readutmp.c, lib/readutmp.h, lib/realloc.c,
11722         lib/ref-add.sin, lib/ref-del.sin, lib/regex.c, lib/regex.h,
11723         lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c,
11724         lib/safe-read.h, lib/safe-write.c, lib/safe-write.h, lib/same.c,
11725         lib/same.h, lib/save-cwd.c, lib/save-cwd.h, lib/savedir.c,
11726         lib/savedir.h, lib/setenv.c, lib/setenv.h, lib/settime.c,
11727         lib/sh-quote.c, lib/sh-quote.h, lib/sha1.c, lib/sha1.h, lib/sig2str.c,
11728         lib/sig2str.h, lib/sincosl.c, lib/snprintf.c, lib/snprintf.h,
11729         lib/sqrtl.c, lib/stat-macros.h, lib/stat.c, lib/stdbool_.h,
11730         lib/stdint_.h, lib/stdio-safer.h, lib/stpcpy.c, lib/stpcpy.h,
11731         lib/stpncpy.c, lib/stpncpy.h, lib/strcase.h, lib/strcasecmp.c,
11732         lib/strchrnul.c, lib/strchrnul.h, lib/strcspn.c, lib/strdup.c,
11733         lib/strdup.h, lib/strerror.c, lib/strftime.c, lib/strftime.h,
11734         lib/stripslash.c, lib/strndup.c, lib/strndup.h, lib/strnlen.c,
11735         lib/strpbrk.c, lib/strpbrk.h, lib/strsep.c, lib/strsep.h, lib/strstr.c,
11736         lib/strstr.h, lib/strtod.c, lib/strtoimax.c, lib/strtok_r.c,
11737         lib/strtok_r.h, lib/strtol.c, lib/strtoll.c, lib/strtoul.c,
11738         lib/strtoull.c, lib/strverscmp.c, lib/strverscmp.h, lib/sysexit_.h,
11739         lib/tempname.c, lib/time_r.c, lib/time_r.h, lib/timegm.c, lib/timegm.h,
11740         lib/timespec.h, lib/trigl.c, lib/trigl.h, lib/ucs4-utf16.h,
11741         lib/ucs4-utf8.h, lib/unicodeio.c, lib/unicodeio.h, lib/unistd-safer.h,
11742         lib/unlocked-io.h, lib/unsetenv.c, lib/userspec.c, lib/utf16-ucs4.h,
11743         lib/utf8-ucs4.h, lib/utime.c, lib/utimecmp.c, lib/utimecmp.h,
11744         lib/utimens.c, lib/vasnprintf.c, lib/vasnprintf.h, lib/vasprintf.c,
11745         lib/vasprintf.h, lib/version-etc-fsf.c, lib/version-etc.c,
11746         lib/version-etc.h, lib/vsnprintf.c, lib/vsnprintf.h, lib/w32spawn.h,
11747         lib/wait-process.c, lib/wait-process.h, lib/xalloc-die.c, lib/xalloc.h,
11748         lib/xallocsa.c, lib/xallocsa.h, lib/xasprintf.c, lib/xgetcwd.c,
11749         lib/xgetcwd.h, lib/xgetdomainname.c, lib/xgetdomainname.h,
11750         lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c,
11751         lib/xreadlink.c, lib/xreadlink.h, lib/xsetenv.c, lib/xsetenv.h,
11752         lib/xsize.h, lib/xstrndup.c, lib/xstrndup.h, lib/xstrtod.c,
11753         lib/xstrtod.h, lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h,
11754         lib/xstrtoumax.c, lib/xtime.h, lib/xvasprintf.c, lib/xvasprintf.h,
11755         lib/yesno.c, lib/yesno.h:
11756         Update FSF postal mail address.
11757
11758 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
11759
11760         * MODULES.html.sh, README, gnulib-tool, tests/test-base64.c,
11761         tests/test-memmem.c, tests/test-stpncpy.c:
11762         Update FSF postal mail address.
11763
11764 2005-05-13  Bruno Haible  <bruno@clisp.org>
11765
11766         * lib/stdint_.h (int64_t, uint64_t, int_least64_t, uint_least64_t,
11767         int_fast64_t, uint_fast64_t, intmax_t, uintmax_t, INT64_MIN, INT64_MAX,
11768         UINT64_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX,
11769         INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTMAX_MIN,
11770         INTMAX_MAX, UINTMAX_MAX, INT64_C, UINT64_C, INTMAX_C, UINTMAX_C):
11771         Add support for 64-bit integers in the MSVC compiler.
11772
11773 2005-05-12  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
11774
11775         * modules/getdate (Makefile.am): Add getdate.c to EXTRA_DIST
11776
11777 2005-05-12  Eric Blake  <ebb9@byu.net>  (tiny change)
11778
11779         * gnulib-tool (func_import): Sort and uniquify recommended includes.
11780
11781 2005-05-11  Paul Eggert  <eggert@cs.ucla.edu>
11782
11783         * doc/getdate.texi (General date syntax): Don't say that date
11784         date --iso-8601=ns generates acceptable dates; it doesn't yet.
11785         Problem reported by Nic Ferrier.
11786
11787 2005-05-10  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
11788
11789         * lib/getaddrinfo.c: Don't fail when SOCK_STREAM or SOCK_DGRAM are
11790         specified in ai_socktype. Fix invalid ai_protocol
11791         check. ai_protocol is usually set to 0 or depending on
11792         ai_family/ai_socktype to IPPROTO_TCP / IPPROTO_UDP.  Checking for
11793         SOCK_STREAM / SOCK_DGRAM in ai_protocol was invalid.  Set
11794         ai_socktype / ai_protocol in the returned addrinfo structure.
11795
11796 2005-05-10  Simon Josefsson  <jas@extundo.com>
11797
11798         * m4/getaddrinfo.m4: Look in libnsl/libsocket for getaddrinfo, from
11799         Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
11800
11801 2005-05-10  Karl Berry  <karl@gnu.org>
11802
11803         * doc/fdl.texi, gpl.texi, lgpl.texi, COPYING: update FSF address
11804         (from http://www.gnu.org/licenses).
11805         * doc/COPYING.LIB: also rename to COPYING.LESSER.
11806         * doc/COPYING.DOC: remove; per rms, only needed in doc files, so
11807         fdl.texi suffices.
11808
11809 2005-05-10  Karl Berry  <karl@gnu.org>
11810
11811         * config/srclist.txt (COPYING.LESSER): rename from COPYING.LIB.
11812         (COPYING.DOC): remove.
11813
11814         * config/srclist-update: new FSF address.
11815
11816 2005-05-10  Derek Price  <derek@ximbiot.com>
11817
11818         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 bug, not decl, when
11819         possible.
11820
11821 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
11822             Bruno Haible  <bruno@clisp.org>
11823
11824         * modules/inet_ntop: New file.
11825         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
11826         inet_ntop.
11827
11828 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
11829             Bruno Haible  <bruno@clisp.org>
11830
11831         * m4/inet_ntop.m4: New file.
11832
11833 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
11834             Bruno Haible  <bruno@clisp.org>
11835
11836         * lib/inet_ntop.h: New file.
11837         * lib/inet_ntop.c: New file, from glibc with modifications.
11838
11839 2005-05-09  Paul Eggert  <eggert@cs.ucla.edu>
11840
11841         * modules/time_r (License): Change to LGPL.
11842         * modules/extensions (License): Change to LGPL.  Actually,
11843         the license is more permissive than that, but currently gnulib-tool
11844         doesn't know how to handle more-permissive licenses.
11845
11846         * modules/stat-macros (Depends-on): Don't depend on stat-macros (!).
11847         Problem reported by Dave Love.
11848
11849 2005-05-08  Jim Meyering  <jim@meyering.net>
11850
11851         * lib/classpath.c (PATH_SEPARATOR): Remove insignificant trailing
11852         blank.
11853
11854 2005-05-06  Paul Eggert  <eggert@cs.ucla.edu>
11855
11856         * modules/argmatch (Depends-on): Add stdbool.
11857         * modules/backupfile (Depends-on): Likewise.
11858         * modules/chdir-long (Depends-on): Likewise.
11859         * modules/closeout (Depends-on): Likewise.
11860         * modules/cycle-check (Depends-on): Likewise.
11861         * modules/dirname (Depends-on): Likewise.
11862         * modules/fnmatch (Depends-on): Likewise.
11863         * modules/fsusage (Depends-on): Likewise.
11864         * modules/fwriteerror (Depends-on): Likewise.
11865         * modules/getcwd (Depends-on): Likewise.
11866         * modules/getloadavg (Depends-on): Likewise.
11867         * modules/hard-locale (Depends-on): Likewise.
11868         * modules/makepath (Depends-on): Likewise.
11869         * modules/mountlist (Depends-on): Likewise.
11870         * modules/nanosleep (Depends-on): Likewise.
11871         * modules/posixtm (Depends-on): Likewise.
11872         * modules/quotearg (Depends-on): Likewise.
11873         * modules/readtokens (Depends-on): Likewise.
11874         * modules/readtokens0 (Depends-on): Likewise.
11875         * modules/readutmp (Depends-on): Likewise.
11876         * modules/save-cwd (Depends-on): Likewise.
11877         * modules/strftime (Depends-on): Likewise.
11878         * modules/userspec (Depends-on): Likewise.
11879         * modules/utimecmp (Depends-on): Likewise.
11880         * modules/xgetcwd (Depends-on): Likewise.
11881         * modules/xnanosleep (Depends-on): Likewise.
11882         * modules/xstrtod (Depends-on): Likewise.
11883         * modules/yesno (Depends-on): Likewise.
11884
11885 2005-05-05  Paul Eggert  <eggert@cs.ucla.edu>
11886
11887         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 getopt, and avoid
11888         needless checks.
11889
11890 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
11891
11892         Merge from coreutils.  Among other things,
11893         add bulletproofing for cases where stdin, stdout, or stderr are closed.
11894         * lib/fd-safer.c: New file.
11895         * lib/fcntl-safer.h, open-safer.c: Remove.
11896         * lib/chdir-long.c: Fix comment "fetish" -> "coreutils".
11897         * lib/dup-safer.c: Include unistd-safer.h first.
11898         Don't include errno.h.
11899         (dup_safer) [!defined F_DUPFD]: Let fd_safer do the real work.
11900         * lib/file-type.h: Don't assume invoker included sys/stat.h first.
11901         * lib/file-type.c: Rely on file-type.h change.
11902         * lib/getloadavg.c: Include unistd-safer.h.
11903         (getloadavg): Use safer open.
11904         * lib/getusershell.c: Include "stdio-safer.h".
11905         (getusershell): Use safer fopen.
11906         * lib/long-options.c (long_options): Use NULL rather than 0.
11907         * lib/modechange.h (mode_free): Remove; all callers changed to invoke
11908         'free'.
11909         * lib/modechange.c: Likewise.
11910         xstrtol.h, stdbool.h, stddef.h: Don't include; no longer needed.
11911         (MODE_DONE): New constant.
11912         (struct mode_change): Remove 'next' member.
11913         (make_node_op_equals): New function; like the old one of the
11914         same name, except it allocates an array.
11915         (mode_compile, mode_create_from_ref): Use it.
11916         (mode_compile): Allocate result as an array, not a linked list.
11917         Parse octal string ourself, so that we catch mistakes like "+0".
11918         (mode_adjust): Arg is an array, not a linked list.
11919         * lib/modechange.c: Include stat-macros.h, xalloc.h.
11920         (S_ISDIR, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR):
11921         (S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH, S_IRXWU):
11922         (S_IRWXG, S_IRWXO, CHMOD_MODE_BITS):
11923         Remove.  This is now stat-macros.h's job.
11924         (talloc): Remove.  All callers replaced by xalloc, so that
11925         our invokers don't have to worry about reporting memory failures.
11926         (make_node_op_equals): Remove.
11927         (MODE_ORDINARY_CHAGE, MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
11928         New constants.
11929         (struct mode_change): Moved here from modechange.h.
11930         (mode_append_entry): Remove.
11931         (mode_compile): Remove MASKED_OPS arg, since it encouraged
11932         apps to have incorrect behavior.  Use simpler algorithm for head
11933         and tail.  Don't futz with umask; that's now the job of mode_adjust.
11934         Detect more invalid usages rather than having somewhat-random behavior.
11935         Don't insert an "a=" action, as that leads to incorrect behavior.
11936         (mode_compile, mode_create_from_ref): Return NULL on error instead
11937         of an enum, since now there's only one way to have an error.  All
11938         callers changed.
11939         (mode_adjust): Accept new arg UMASK_VALUE, and interpret it
11940         at the correct time.  Simplify calculation of "+u" and its ilk.
11941         Don't mishandle "+X".
11942         (mode_free): Remove "register" and localize decls.
11943         * lib/modechange.h (MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
11944         (struct mode_change): Move to modechange.c; callers don't
11945         need to see this stuff.
11946         (MODE_MASK_EQUALS, MODE_MASK_PLUS, MODE_MASK_MINUS, MODE_MASK_ALL):
11947         (MODE_INVALID, MODE_MEMORY_EXHAUSTED, MODE_BAD_REFERENCE): Remove.
11948         (mode_change, mode_adjust): Reflect the new signatures noted above.
11949         * lib/nanosleep.c (rpl_nanosleep): Include "timespec.h" before macros
11950         that might redefine system include files.
11951         (siginterrupt) [!HAVE_SIGINTERRUPT]: New macro.
11952         (my_usleep): Use NULL rather than (void *) 0.
11953         (rpl_nanosleep) [!defined SA_NOCLDSTOP]:
11954         Use siginterrupt to specify that system calls should be interrupted.
11955         (rpl_nanosleep): Move initialization of suspended closer to call of
11956         my_usleep.
11957         * lib/readutmp.h (read_utmp): New arg OPTIONS.  All uses changed.
11958         * lib/readutmp.c: Likewise.  Include signal.h, stdbool.h.
11959         (desirable_utmp_entry): New function.
11960         (read_utmp) [defined UTMP_NAME_FUNCTION]: Redo memory allocation
11961         using x2nrealloc, to simplify logic.
11962         (read_utmp) [!defined UTMP_NAME_FUNCTION]: Check for overflow in
11963         size calculation.  Do not assume utmp file is a regular file.
11964         * lib/readutmp.h (UT_PID): Moved here from ../src/who.c.
11965         (READ_UTMP_CHECK_PIDS): New constant.
11966         * lib/save-cwd.c: Include unistd-safer.h.
11967         (save_cwd): Use fd_safer.
11968         * lib/tempname.c (S_ISDIR, S_IRUSR, S_IRUSR, S_IWUSR, S_IXUSR): Remove.
11969         [!_LIBC] Include "stat-macros.h" instead.
11970         * lib/unistd-safer.h (fd_safer): New decl.
11971
11972 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
11973
11974         * modules/getloadavg (Depends-on): Add unistd-safer.
11975         * modules/getusershell (Depends-on): Add stdio-safer.
11976         * modules/lstat (Depends-on): Remove xalloc.
11977         * modules/mkstemp (Depends-on): Add stat-macros.
11978         * modules/modechange (Depends-on): Remove xstrtol.
11979         Add stat-macros, xalloc.
11980         * modules/save-cwd (Depends-on): Add unistd-safer.
11981         * modules/stdio-safer (Makefile.am): Remove lib_SOURCES.
11982         * modules/unistd-safer (Files): Add lib/fd-safer.c
11983         (Makefile.am): Remove lib_SOURCES.
11984
11985         * MODULES.html.sh (Enhancements for POSIX:2001 functions):
11986         Remove fcntl-safer; unistd-safer supersedes it.
11987
11988 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
11989
11990         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Don't require
11991         AC_HEADER_STAT.
11992         * m4/lchown.m4 (gl_FUNC_CHOWN): Likewise.
11993         (gl_PREREQ_CHOWN): Remove.
11994         * m4/lstat.m4 (gl_FUNC_LSTAT): Require AC_FUNC_LSTAT instead of calling
11995         it.  Don't require AC_HEADER_STAT.
11996         (gl_PREREQ_LSTAT): Remove.
11997         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Check stdint.h only once.
11998         Don't require AC_HEADER_STAT.
11999         * m4/rmdir.m4 (gl_FUNC_RMDIR): Don't require AC_HEADER_STAT.
12000         (gl_PREREQ_RMDIR): Remove.
12001         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Don't
12002         mention stat-macros.h or AC_HEADER_STAT, since we'll make
12003         the stat-macros module a prerequisite.
12004         * m4/file-type.m4 (gl_FILE_TYPE): Likewise.
12005         * m4/filemode.m4 (gl_FILEMODE): Likewise.
12006         * m4/makepath.m4 (gl_MAKEPATH): Likewise.
12007         * m4/modechange.m4 (gl_MODECHANGE): Likewise.
12008         * m4/clock_time.m4 (gl_CLOCK_TIME): Use gl_ rather than fetish_ for
12009         variable names.
12010         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Renamed from
12011         fetish_FUNC_RMDIR_NOTEMPTY.  All uses changed.  Use gl_ for
12012         variable prefixes.
12013         * m4/fcntl-safer.m4: Remove.
12014         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Use AC_LIBSOURCES and AC_LIBOBJ.
12015         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise.
12016         Invoke gl_PREREQ_FD_SAFER.
12017         (gl_PREREQ_FD_SAFER): New macro.
12018         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Check for siginterrupt.
12019         * m4/readutmp.m4 (gl_READUTMP): Require AC_C_INLINE.
12020         Use AC_CHECK_HEADERS_ONCE and AC_CHECK_FUNCS_ONCE when possible.
12021         Remove duplicate call to AC_LIBOBJ(readutmp).
12022         (gl_PREREQ_READUTMP): Remove.  All uses inlined.
12023
12024         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Check for message, not for
12025         MAP_ANON.  Problem reported by Moriyoshi Koizumi to bug-cvs.
12026
12027 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
12028
12029         * MODULES.html.sh (Misc): Add byteswap.
12030
12031 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
12032
12033         * modules/getcwd (Depends-on): Add extensions.
12034         * modules/openat (Depends-on): Likewise.
12035
12036 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
12037
12038         * modules/byteswap: New file.
12039
12040 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
12041
12042         * m4/byteswap.m4: New file.
12043
12044 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
12045
12046         * lib/byteswap_.h: New file.
12047
12048 2005-04-25  Karl Berry  <karl@gnu.org>
12049
12050         * m4/gettext.m4: Update from GNU gettext 0.14.4.
12051
12052 2005-04-25  Albert Chin  <china@thewrittenword.com>
12053
12054         * lib/regex.c: Include <stdio.h>, as a workaround to a Compaq Desktop
12055         Toolkit C bug.
12056
12057 2005-04-21  Oskar Liljeblad  <oskar@osk.mine.nu>
12058
12059         * gnulib-tool (Options): Add -s for --symlink/--symbolic.
12060         (func_ln_if_changed) Remove forcibly for no error message
12061         in case file does not exist.
12062
12063 2005-04-19  Simon Josefsson  <jas@extundo.com>
12064
12065         * gnulib-tool (Options): Make --symlink mean --symbolic.
12066
12067 2005-04-18  Oskar Liljeblad  <oskar@osk.mine.nu>
12068
12069         * doc/gnulib.texi (Initial import): Fix.  Mention --aux-dir.
12070
12071 2005-04-16  Simon Josefsson  <jas@extundo.com>
12072
12073         * modules/getpass-gnu (Makefile.am): Don't mention getpass.h.
12074
12075 2005-04-15  Simon Josefsson  <jas@extundo.com>
12076
12077         * m4/getpass.m4 (gl_FUNC_GETPASS): Use AC_LIBSOURCES.
12078
12079 2005-04-15  Simon Josefsson  <jas@extundo.com>
12080
12081         * gnulib-tool: Rename --symlink to --symbolic.
12082
12083 2005-04-15  Oskar Liljeblad  <oskar@osk.mine.nu>
12084
12085         * gnulib-tool: Add -s, --symlink option to gnulib-tool to make
12086         symbolic links to files instead of copying/moving.  Add --aux-dir,
12087         specifying directory relative --dir where auxiliary build tools
12088         are placed.
12089
12090 2005-04-14  Bruno Haible  <bruno@clisp.org>
12091
12092         * modules/allocsa (License): Change to LGPL.
12093         Requested by Yoann Vandoorselaere <yoann@prelude-ids.org>.
12094
12095 2005-04-13  Paul Eggert  <eggert@cs.ucla.edu>
12096
12097         * lib/getdate.y (zone): Allow relunit_snumber after tZONE, so
12098         that "UTC +1 second" continues to work.  Problem reported
12099         by Dmitry V. Levin.
12100         (relunit_snumber): New rule.
12101         (relunit): Use it.
12102
12103 2005-04-12  Paul Eggert  <eggert@cs.ucla.edu>
12104
12105         * lib/getdate.y (universal_time_zone_table): New constant.
12106         (time_zone_table): Remove GMT, UT, UTC entries; they're now in
12107         universal_time_zone_table.
12108         (lookup_zone): Prefer universal_time_zone_table to
12109         local_time_zone_table, so that "GMT" time stamps are allowed in
12110         London during the summer.  Problem reported by Ian Abbott.
12111
12112 2005-04-12  Jim Meyering  <jim@meyering.net>
12113
12114         * lib/human.c (humblock): Set *options even when returning due to
12115         xstrtoumax conversion failure.  Thanks to a used-uninitialized
12116         warning from gcc-4.
12117
12118 2005-04-09  Jim Meyering  <jim@meyering.net>
12119
12120         * lib/posixtm.c (posixtime) [lint]: Avoid spurious warning from gcc-4's
12121         -Wuninitialized: initialize tm0.tm_year.
12122
12123 2005-04-04  Paul Eggert  <eggert@cs.ucla.edu>
12124
12125         * lib/getdate.y (parser_control): rels_seen is now a boolean, not a
12126         count, since there's no maximum.  All uses changed.
12127         Add member dsts_seen.
12128         (local_zone): Accumulate dsts_seen rather than relying on tm_isdst
12129         not being INT_MAX.
12130         (get_date): Initialize dsts_seen, and check that it doesn't go over 1.
12131         Use pc_rels_seen to decide whther a date is absolute.
12132
12133         * lib/getdate.y (number): Don't overwrite year.
12134         (get_date): Initialize pc.year.digits to 0, not 4, to enable above
12135         check.
12136
12137 2005-04-02  Simon Josefsson  <jas@extundo.com>
12138
12139         * lib/getaddrinfo.h: Fix OpenBSD compilation failure, inspired by tiny
12140         patch from Yoann Vandoorselaere <yoann@prelude-ids.org>.
12141
12142 2005-03-28  Eric Blake  <ebb9@byu.net>  (tiny change)
12143
12144         * m4/getcwd-path-max.m4: Return success on systems such as Cygwin
12145         where no absolute path name can be longer than PATH_MAX.
12146
12147 2005-03-27  Jim Meyering  <jim@meyering.net>
12148
12149         * lib/argmatch.c: Clarify comment: null-terminated -> NULL-terminated.
12150
12151 2005-03-26  Paul Eggert  <eggert@cs.ucla.edu>
12152
12153         * lib/intprops.h (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND):
12154         "one's complement" -> "ones' complement" in comment, as per Knuth.
12155         "value of type" -> "type or expression" in comment.
12156         * lib/mktime.c, strftime.c: Propagate intprops.h comment nits.
12157
12158 2005-03-26  Jim Meyering  <jim@meyering.net>
12159
12160         Comment nits.
12161         * lib/intprops.h: Add the apostrophe in `(one|two)'s complement'.
12162         Correct typos: s/or/of/.
12163
12164 2005-03-26  Jim Meyering  <jim@meyering.net>
12165
12166         * modules/check-include-files: Move to ../ and rename to...
12167         * check-module: ...this.
12168
12169 2005-03-25  Jim Meyering  <jim@meyering.net>
12170
12171         * modules/xvasprintf (Files): Add xalloc.h.
12172
12173 2005-03-23  Paul Eggert  <eggert@cs.ucla.edu>
12174
12175         * modules/gettext (Files): config/config.rpath ->
12176         build-aux/config.rpath
12177         * modules/iconv (Files): Likewise.
12178         Problem reported by Oskar Liljeblad.
12179
12180 2005-03-23  Jim Meyering  <jim@meyering.net>
12181
12182         * modules/check-include-files: New script to check for
12183         missing dependencies, multiple includes, etc.
12184
12185         * modules/c-strtold (Depends-on): Add xalloc.
12186         * modules/c-strtod (Depends-on): Add xalloc.
12187         * modules/hash (Depends-on): Add xalloc.
12188         (Files): Remove lib/xalloc.h.
12189
12190         * modules/gethrxtime (Files): Add lib/gethrxtime.h.
12191         * modules/userspec (Files): Add lib/inttostr.h.
12192
12193 2005-03-23  Jim Meyering  <jim@meyering.net>
12194
12195         * lib/canonicalize.c: Remove duplicate `#include "stat-macros.h"'.
12196
12197 2005-03-22  Jim Meyering  <jim@meyering.net>
12198
12199         * modules/stat-macros: New module.
12200         * modules/canonicalize, modules/euidaccess, modules/file-type,
12201         * modules/filemode, modules/lchown, modules/makepath,
12202         * modules/rmdir, modules/stat: Depend on new stat-macros module
12203         rather than listing lib/stat-macros.h manually.
12204         Don't add stat-macros.h to lib_SOURCES or list it in Files: section.
12205
12206 2005-03-22  Jim Meyering  <jim@meyering.net>
12207
12208         * m4/stat-macros.m4 (gl_STAT_MACROS): New file/macro.
12209
12210 2005-03-22  Bruno Haible  <bruno@clisp.org>
12211
12212         * config/srclist.txt: Replace target directory 'config' with
12213         'build-aux'.
12214         * config/config.guess, config.sub, config.rpath, depcomp, install-sh:
12215         * config/mdate-sh, missing, mkinstalldirs, texinfo.tex: Move to
12216         ../build-aux/.
12217
12218 2005-03-21  Paul Eggert  <eggert@cs.ucla.edu>
12219
12220         * modules/chdir-long (Depends-on): Add mempcpy.
12221
12222         * modules/acl, modules/backupfile, modules/c-strtod,
12223         modules/c-strtold, modules/canon-host, modules/canonicalize,
12224         modules/cloexec, modules/closeout, modules/dirfd, modules/dirname,
12225         modules/exclude, modules/exitfail, modules/file-type,
12226         modules/filemode, modules/fpending, modules/fsusage, modules/getcwd,
12227         modules/getdate, modules/getline, modules/getpagesize,
12228         modules/getpass, modules/getugroups, modules/group-member,
12229         modules/hard-locale, modules/hash, modules/human, modules/idcache,
12230         modules/inttostr, modules/long-options, modules/makepath,
12231         modules/md5, modules/memcasecmp, modules/memcoll,
12232         modules/modechange, modules/mountlist, modules/path-concat,
12233         modules/pathmax, modules/physmem, modules/posixtm, modules/posixver,
12234         modules/quote, modules/quotearg, modules/readtokens, modules/readutmp,
12235         modules/safe-read, modules/safe-write, modules/same, modules/savedir,
12236         modules/settime, modules/sha1, modules/sig2str, modules/strdup,
12237         modules/strftime, modules/strndup, modules/strverscmp,
12238         modules/timespec, modules/unlocked-io, modules/userspec,
12239         modules/utimecmp, modules/utimens, modules/xalloc, modules/xstrtol,
12240         modules/yesno:
12241         Remove lib_SOURCES line from Makefile.am section, as this is now
12242         done automatically by the corresponding Autoconf macro.
12243
12244 2005-03-21  Jim Meyering  <jim@meyering.net>
12245
12246         Changes imported from coreutils.
12247
12248         * lib/cycle-check.c: Don't include xalloc.h.
12249
12250         * lib/path-concat.c: Don't include assert.h.
12251         (path_concat): Remove assertion that would have triggered
12252         for ABASE starting with more than one slash.
12253         Reported by Andreas Schwab.
12254
12255         * lib/path-concat.c (path_concat): Set *BASE_IN_RESULT
12256         properly when ABASE is an absolute file name.
12257         Correct the description of this function.
12258         Include <assert.h>.
12259         Add an assertion and a test driver.
12260         This fixes a bug introduced on 2004-07-02.
12261         Andreas Schwab reported the resulting failure of cp --parents:
12262         http://lists.gnu.org/archive/html/bug-coreutils/2005-01/msg00130.html
12263
12264 2005-03-21  Jim Meyering  <jim@meyering.net>
12265
12266         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Invoke gl_FUNC_MEMRCHR.
12267         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Check for memrchr decl.
12268
12269 2005-03-21  Jim Meyering  <jim@meyering.net>
12270         and  Paul Eggert  <eggert@cs.ucla.edu>
12271
12272         * m4/acl.m4, m4/backupfile.m4, m4/c-strtod.m4, m4/canon-host.m4,
12273         m4/canonicalize.m4, m4/cloexec.m4, m4/closeout.m4, m4/dirfd.m4,
12274         m4/dirname.m4, m4/exclude.m4, m4/exitfail.m4, m4/file-type.m4,
12275         m4/filemode.m4, m4/fpending.m4, m4/fsusage.m4, m4/getcwd.m4,
12276         m4/getdate.m4, m4/getline.m4, m4/getpagesize.m4, m4/getpass.m4,
12277         m4/getugroups.m4, m4/group-member.m4, m4/hard-locale.m4, m4/hash.m4,
12278         m4/human.m4, m4/idcache.m4, m4/inttostr.m4, m4/long-options.m4,
12279         m4/makepath.m4, m4/md5.m4, m4/memcasecmp.m4, m4/memcoll.m4,
12280         m4/modechange.m4, m4/mountlist.m4, m4/nanosleep.m4, m4/path-concat.m4,
12281         m4/pathmax.m4, m4/physmem.m4, m4/posixtm.m4, m4/posixver.m4,
12282         m4/quote.m4, m4/quotearg.m4, m4/readtokens.m4, m4/readutmp.m4,
12283         m4/safe-read.m4, m4/safe-write.m4, m4/same.m4, m4/savedir.m4,
12284         m4/settime.m4, m4/sha1.m4, m4/sig2str.m4, m4/strdup.m4, m4/strftime.m4,
12285         m4/strndup.m4, m4/strverscmp.m4, m4/timespec.m4, m4/unlocked-io.m4,
12286         m4/userspec.m4, m4/utimecmp.m4, m4/utimens.m4, m4/xalloc.m4,
12287         m4/xnanosleep.m4, m4/xstrtol.m4, m4/yesno.m4:
12288         Use AC_LIBSOURCES and AC_LIBOBJ to indicate source and object files
12289         for these modules.
12290
12291 2005-03-18  Paul Eggert  <eggert@cs.ucla.edu>
12292
12293         * lib/strftime.c (my_strftime): If the underlying strftime returns 0
12294         (which shouldn't happen), generate nothing instead of returning 0
12295         immediately, so that nstrftime (NULL, ...) doesn't return 0.
12296
12297 2005-03-16  Bruno Haible  <bruno@clisp.org>
12298
12299         * modules/stdint (Makefile.am): Use HAVE_LONG_LONG_64BIT instead of
12300         HAVE_LONGLONG_64BIT.
12301
12302 2005-03-16  Bruno Haible  <bruno@clisp.org>
12303
12304         * m4/stdint.m4 (gl_STDINT_H): Define HAVE_LONG_LONG_64BIT instead of
12305         HAVE_LONGLONG_64BIT.
12306
12307 2005-03-16  Bruno Haible  <bruno@clisp.org>
12308
12309         * lib/stdint_.h: Use HAVE_LONG_LONG_64BIT instead of
12310         HAVE_LONGLONG_64BIT.
12311
12312 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
12313
12314         * lib/strftime.c (my_strftime): Prepend space to format so that we can
12315         reliably distinguish strftime failure from empty output on POSIX
12316         hosts.
12317
12318 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
12319
12320         * lib/iconvme.c (SIZE_MAX): New macro, if not already defined.
12321         (iconv_string): Don't guess a size-zero buffer, as that might cause
12322         buffer overrun.  Instead, avoid multiplying by MB_LEN_MAX if the
12323         result would be 'too large', where 'too large' is (heuristically)
12324         the square root of SIZE_MAX, divided by MB_LEN_MAX to allay
12325         overflow concerns.  This will prevent some unwanted malloc failures
12326         when the inputs are very large.
12327
12328 2005-03-15  Karl Berry  <karl@gnu.org>
12329
12330         * config/srclist.txt (config.rpath): from gettext.
12331         * config/config.rpath: update.
12332
12333 2005-03-15  Bruno Haible  <bruno@clisp.org>
12334
12335         * lib/regex.c (byte_re_match_2_internal): Rename local variable 'not'
12336         to 'negate'.
12337
12338         * lib/regex.c (byte_re_match_2_internal): Reduce scope of same_str_p
12339         variable.
12340
12341         * lib/regex.c (EXTEND_BUFFER, regcomp): Cast the realloc/malloc
12342         results.
12343
12344 2005-03-14  Simon Josefsson  <jas@extundo.com>
12345
12346         * lib/timegm.h: Use proper prototype CPP guards, reported by Dave Love
12347         <fx@gnu.org>.
12348
12349 2005-03-14  Paul Eggert  <eggert@cs.ucla.edu>
12350
12351         * lib/mktime.c (TYPE_TWOS_COMPLEMENT, TYPE_ONES_COMPLEMENT,
12352         TYPE_SIGNED_MAGNITUDE, TYPE_MINIMUM, TYPE_MAXIMUM): Sync from
12353         intprops.h.
12354         * lib/strtol.c: Likewise.
12355
12356 2005-03-14  Jim Meyering  <jim@meyering.net>
12357
12358         * lib/strftime.c (my_strftime) [HAVE_STRFTIME && ! (_NL_CURRENT
12359         && HAVE_STRUCT_ERA_ENTRY)]: Initialize the first byte of ubuf[]
12360         to be nonzero so that we (and caller) can detect the difference
12361         between a valid zero-length expansion and an error return, even
12362         when the underlying strftime fails before writing anything into
12363         that location.
12364
12365 2005-03-14  Bruno Haible  <bruno@clisp.org>
12366
12367         * m4/lib-link.m4, gettext.m4, nls.m4, po.m4:
12368         Update from GNU gettext 0.14.3.
12369
12370 2005-03-10  Jim Meyering  <jim@meyering.net>
12371
12372         * m4/save-cwd.m4 (gl_SAVE_CWD): Check for fchdir.
12373
12374 2005-03-10  Jim Meyering  <jim@meyering.net>
12375
12376         * lib/save-cwd.c [!HAVE_FCHDIR]: Define open, fchdir, and chdir_long
12377         so that this module works on systems without fchdir.
12378
12379 2005-03-09  Paul Eggert  <eggert@cs.ucla.edu>
12380
12381         Factor int-properties macros into a single file, except for
12382         glibc-related files.
12383         * lib/intprops.h: New file.
12384         * lib/getloadavg.c: Include it instead of limits.h.
12385         (INT_STRLEN_BOUND): Remove.
12386         * lib/human.c: Include intprops.h.
12387         (group_number): Use INT_STRLEN_BOUND instead of rolling it ourself.
12388         * lib/human.h (LONGEST_HUMAN_READABLE): Use 146/485 rather than
12389         302/1000.
12390         * lib/inttostr.h: Include intprops.h instead of limits.h.
12391         (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND): Remove.
12392         * lib/mktime.c (TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT): New macros,
12393         for consistency with intprops.h.
12394         (time_t_is_integer, twos_complement_arithmetic): Use them.
12395         * lib/sig2str.h: Include <signal.h>, intprops.h.
12396         (INT_STRLEN_BOUND): Remove.
12397         * lib/strftime.c (TYPE_SIGNED): Remove.
12398         (INT_STRLEN_BOUND): Switch to same implementation as intprops.h.
12399         * lib/strtol.c: Adjust comments to match intprops.h.
12400         * lib/userspec.c: Include intprops.h.
12401         (TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Remove.
12402         * lib/utimecmp.c, xnanosleep.c, xstrtol.c: Likewise.
12403         * lib/utimecmp.c (utimecmp): Use TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT
12404         instead of rolling our own expressions.
12405         * lib/xstrtol.c: Include xstrtol.h first, to test interface.
12406
12407         * lib/strftime.c: Include <stdbool.h>.  Use bool where appropriate,
12408         instead of int.
12409         (my_strftime): Do not mishandle years close to INT_MAX, by doing
12410         the right thing even if adding 1900 would overflow.  Similarly
12411         for tm_mon + 1 and tm_yday + 1.
12412         Make %Y always equivalent to %C%y, and similarly for %G and %g.
12413         (DO_NUMBER, DO_NUMBER_SPACEPAD): Set digits to d, not a conditional.
12414         (DO_SIGNED_NUMBER): New macro.
12415         (my_strftime) [HAVE_TZNAME]: Don't dump core if tp->tm_dst > 1.
12416
12417 2005-03-07  Bruno Haible  <bruno@clisp.org>
12418
12419         * m4/mmap-anon.m4 (MAP_FILE, MAP_FAILED): Remove definitions.
12420
12421 2005-03-07  Bruno Haible  <bruno@clisp.org>
12422
12423         * lib/pagealign_alloc.c (MAP_FILE, MAP_FAILED): Define fallbacks.
12424
12425 2005-03-04  Derek R. Price  <derek@ximbiot.com>
12426
12427         * gnulib-tool (func_cp_if_changed, func_mv_if_changed): New functions.
12428         (func_import): Only replace files via --import when they have actually
12429         changed.
12430
12431 2005-03-03  Derek R. Price  <derek@ximbiot.com>
12432
12433         * m4/mmap-anon.m4: New file.
12434         * m4/pagealign_alloc.m4: New file.
12435
12436 2005-03-03  Derek R. Price  <derek@ximbiot.com>
12437             Bruno Haible  <bruno@clisp.org>
12438
12439         * modules/pagealign_alloc: New file.
12440         * MODULES.html.sh (Memory management functions): Add pagealign_alloc.
12441
12442 2005-03-03  Derek R. Price  <derek@ximbiot.com>
12443             Bruno Haible  <bruno@clisp.org>
12444
12445         * lib/pagealign_alloc.h: New file.
12446         * lib/pagealign_alloc.c: New file.
12447
12448 2005-03-03  Bruno Haible  <bruno@clisp.org>
12449
12450         * m4/inttypes.m4, isc-posix.m4, once-only.m4:
12451         Use an all-permissive copyright notice, recommended by RMS.
12452
12453 2005-03-02  Bruno Haible  <bruno@clisp.org>
12454
12455         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Undo the replacement here. Because
12456         of AIX, the replacement has to be done only after <string.h> is
12457         included, therefore not in config.h. stpncpy.h does the replacement,
12458         and stpncpy.c uses it.
12459
12460 2005-03-02  Bruno Haible  <bruno@clisp.org>
12461
12462         * lib/stpncpy.h (stpncpy): Define as a macro without arguments, so that
12463         stpncpy.c uses it.
12464
12465 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
12466
12467         Remove workaround for bug in Linux kernel 2.6.8 or thereabouts.
12468         The workaround isn't strictly needed for POSIX conformance, and
12469         it's too much of a pain to configure and maintain.  We'll ask
12470         people to fix their kernels instead.
12471         * lib/xnanosleep.c: Don't include gethrxtime.h or xtime.h.
12472         (NANOSLEEP_BUG_WORKAROUND): Remove.
12473         (xnanosleep): Remove the workaround.
12474
12475 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
12476
12477         * modules/gettime (Makefile.am): Remove lib_SOURCES line.
12478         Reported by Derek Price.
12479         (Include): Add "timespec.h".
12480
12481         * modules/xnanosleep (Depends-on): Remove gethrxtime.
12482
12483 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
12484
12485         * m4/xnanosleep.m4 (gl_XNANOSLEEP): Remove configuration attempting
12486         to detect nanosleep bug.
12487
12488 2005-03-01  Bruno Haible  <bruno@clisp.org>
12489
12490         * lib/vasnprintf.c (EOVERFLOW): Define to a fallback if needed.
12491
12492 2005-02-26  Paul Eggert  <eggert@cs.ucla.edu>
12493
12494         * modules/gethrxtime: New file.
12495         * modules/xnanosleep (Files): Add m4/xnanosleep.m4.
12496         (Depends-on): Add gethrxtime.
12497         (configure.ac): Add gl_XNANOSLEEP.
12498         (Makefile.am): Remove lib_SOURCES line.
12499
12500 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
12501
12502         * m4/gethrxtime.m4, m4/xnanosleep.m4: New files.
12503         * m4/gettime.m4 (gl_GETTIME): Check for nanotime.
12504
12505 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
12506
12507         * lib/gethrxtime.h, lib/gethrxtime.c, lib/xtime.h: New files.
12508         * lib/timespec.h (gettime): Return void, since it always
12509         succeeds now.  All uses changed.
12510         * lib/gettime.c (gettime) Likewise.
12511         [HAVE_NANOTIME]: Prefer nanotime.
12512         Assume gettimeofday succeeds, as POSIX requires.
12513         Assime time () succeeds, since other code already does.
12514         * lib/xnanosleep.c: Include xtime.h and gethrxtime.h, not xalloc.h.
12515         (timespec_subtract): Remove.
12516         (NANOSLEEP_BUG_WORKAROUND): New constant.
12517         (xnanosleep): Use gethrxtime rather than gettime; this simplifies
12518         things considerably.  Use it only on GNU/Linux hosts, since the
12519         workaround shouldn't be needed elsewhere.
12520
12521 2005-02-24  Bruno Haible  <bruno@clisp.org>
12522
12523         * modules/gettext (Files): Add m4/glibc2.m4.
12524
12525 2005-02-24  Bruno Haible  <bruno@clisp.org>
12526
12527         * m4/gettext.m4, intdiv0.m4, intmax.m4, inttypes-pri.m4, lcmessage.m4:
12528         * m4/lib-link.m4, lib-prefix.m4, nls.m4, po.m4, printf-posix.m4:
12529         * m4/progtest.m4:
12530         Update from GNU gettext 0.14.2.
12531         * m4/glibc2.m4: New file, from GNU gettext 0.14.2.
12532
12533 2005-02-24  Bruno Haible  <bruno@clisp.org>
12534
12535         * lib/localcharset.c: Update from GNU gettext 0.14.2.
12536         * lib/config.charset: Update from GNU gettext 0.14.2.
12537
12538 2005-02-24  Bruno Haible  <bruno@clisp.org>
12539
12540         * lib/gettext.h: Update from GNU gettext 0.14.2.
12541
12542 2005-02-23  Simon Josefsson  <jas@extundo.com>
12543
12544         * m4/iconvme.m4: New file.
12545
12546 2005-02-23  Jim Meyering  <jim@meyering.net>
12547
12548         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Revert yesteday's
12549         change.
12550         Thanks to Bruno Haible for catching it.
12551
12552 2005-02-22  Simon Josefsson  <jas@extundo.com>
12553
12554         * modules/iconvme: New file.
12555
12556         * MODULES.html.sh: Add iconvme.
12557
12558 2005-02-22  Simon Josefsson  <jas@extundo.com>
12559
12560         * lib/iconvme.h, lib/iconvme.c: New files, from libc.
12561
12562 2005-02-22  Simon Josefsson  <jas@extundo.com>
12563
12564         * config/srclist.txt: Sync iconvme.h, iconvme.c from libc.
12565
12566 2005-02-22  Jim Meyering  <jim@meyering.net>
12567
12568         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Fix typo:
12569         s/ifndef/ifdef/.
12570
12571 2005-02-20  Neil Conway  <neilc@samurai.com>
12572
12573         * lib/xgethostname.c (xgethostname): Check for ENOMEM, which is
12574         returned by OSX/Darwin if the specified buffer is not large
12575         enough for the hostname.
12576
12577 2005-02-03  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
12578
12579         * lib/argp-help.c (__argp_help): Create a fake struct argp_state and
12580         pass it to _help, otherwise the latter coredumps trying to
12581         dereference state.root_argp.
12582
12583 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
12584
12585         * modules/chdir-long (Depends-on): Add memrchr.
12586         * modules/memrchr (Files): Add lib/memrchr.h.
12587         (Include): "memrchr.h".
12588
12589 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
12590
12591         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Add AC_LIBSOURCES, for memrchr.h.
12592
12593 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
12594
12595         * lib/memrchr.h: New file.
12596         * lib/chdir-long.c: Include it.
12597         * lib/memrchr.c [!defined _LIBC]: Include it rather than <string.h>
12598         Don't bother including stddef.h.
12599
12600 2005-02-01  Paul Eggert  <eggert@cs.ucla.edu>
12601
12602         * lib/mountlist.h (MOUNTLIST_H_): New macro, to protect against double
12603         inclusion.
12604         Include <sys/types.h>, for dev_t.
12605         (ME_DUMMY, ME_REMOTE): Move from here....
12606         * lib/mountlist.c (ME_DUMMY, ME_REMOTE): To here.
12607         (ME_DUMMY): Count "subfs" as a dummy.  Problem reported by
12608         Dmitry V. Levin.
12609         Include mountlist.h first, to test the interface.
12610
12611 2005-01-29  Bruno Haible  <bruno@clisp.org>
12612
12613         * lib/progname.c (program_name): Initialize.
12614         Needed when linking statically on MacOS X.
12615
12616 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
12617
12618         Sync from coreutils.
12619         * modules/getloadavg (Files): Remove m4/getloadavg.m4.
12620         (Depends-on): Add c-strtod.
12621         (configure.ac): Replace gl_FUNC_GETLOADAVG with AC_FUNC_GETLOADAVG.
12622
12623 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
12624
12625         Sync from coreutils.
12626         * m4/getloadavg.m4, glibc.m4, search-libs.m4: Remove.
12627
12628         Remove files that are specific to coreutils.
12629         * m4/check-decl.m4, jm-macros.m4, lib-check.m4, prereq.m4: Remove.
12630
12631 2005-01-28  Bruno Haible  <bruno@clisp.org>
12632
12633         * modules/javacomp: New file.
12634         * MODULES.html.sh (Java): Add javacomp.
12635
12636 2005-01-28  Bruno Haible  <bruno@clisp.org>
12637
12638         * m4/javacomp.m4: New file, from GNU gettext.
12639
12640 2005-01-28  Bruno Haible  <bruno@clisp.org>
12641
12642         * lib/javacomp.sh.in: New file, from GNU gettext.
12643         * lib/javacomp.h: New file, from GNU gettext.
12644         * lib/javacomp.c: New file, from GNU gettext.
12645
12646 2005-01-26  Simon Josefsson  <jas@extundo.com>
12647
12648         * lib/gai_strerror.c: Use GPL in header.
12649
12650 2005-01-26  Bruno Haible  <bruno@clisp.org>
12651
12652         * modules/javaexec: New file.
12653         * MODULES.html.sh (Java): Add javaexec.
12654
12655 2005-01-26  Bruno Haible  <bruno@clisp.org>
12656
12657         * m4/javaexec.m4: New file, from GNU gettext.
12658
12659 2005-01-26  Bruno Haible  <bruno@clisp.org>
12660
12661         * lib/javaexec.sh.in: New file, from GNU gettext.
12662         * lib/javaexec.h: New file, from GNU gettext.
12663         * lib/javaexec.c: New file, from GNU gettext.
12664
12665 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
12666
12667         * modules/lchown (Depends-on): Remove lchown.h
12668
12669 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
12670
12671         * m4/sysexits.m4 (gl_SYSEXITS): Reverted logic. SYSEXITS_H
12672         must be defined if the header file was not found, in order
12673         to provide a replacement. Reported by Todd Vierling <tv@duh.org>
12674
12675 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
12676
12677         * lib/argp-help.c (hol_entry_help): Avoid using non-constant
12678         initializers for struct pentry_state.
12679         (__argp_error): Check return value of __asprintf
12680         (__argp_failure): Translate error message
12681
12682         * lib/argp-parse.c: Removed braces around the expansion of N_()
12683
12684 2005-01-23  Paul Eggert  <eggert@cs.ucla.edu>
12685
12686         * m4/acl.m4, afs.m4, alloca.m4, argp.m4, assert.m4, atexit.m4,
12687         backupfile.m4, base64.m4, bison.m4, c-bs-a.m4, c-stack.m4,
12688         c-strtod.m4, calloc.m4, canon-host.m4, canonicalize.m4,
12689         clock_time.m4, cloexec.m4, closeout.m4, d-ino.m4, d-type.m4,
12690         dirfd.m4, dirname.m4, dos.m4, dup2.m4, error.m4, euidaccess.m4,
12691         exclude.m4, exitfail.m4, extensions.m4, fcntl-safer.m4,
12692         file-type.m4, fileblocks.m4, filemode.m4, fnmatch.m4, fpending.m4,
12693         free.m4, fstypename.m4, fsusage.m4, ftruncate.m4, getaddrinfo.m4,
12694         getcwd-path-max.m4, getcwd.m4, getdate.m4, getdomainname.m4,
12695         getgroups.m4, gethostname.m4, getline.m4, getndelim2.m4,
12696         getnline.m4, getopt.m4, getpagesize.m4, getpass.m4, getsubopt.m4,
12697         gettime.m4, gettimeofday.m4, getugroups.m4, getusershell.m4,
12698         group-member.m4, hard-locale.m4, hash.m4, host-os.m4, human.m4,
12699         idcache.m4, inttostr.m4, isdir.m4, jm-winsz1.m4, jm-winsz2.m4,
12700         link-follow.m4, long-options.m4, ls-mntd-fs.m4, lstat.m4,
12701         makepath.m4, mathl.m4, md5.m4, memcasecmp.m4, memchr.m4,
12702         memcmp.m4, memcoll.m4, memcpy.m4, memmem.m4, memmove.m4,
12703         memrchr.m4, memset.m4, mkdir-slash.m4, mkstemp.m4, mktime.m4,
12704         modechange.m4, mountlist.m4, nanosleep.m4, obstack.m4,
12705         path-concat.m4, pathmax.m4, perl.m4, physmem.m4, poll.m4,
12706         posixtm.m4, posixver.m4, putenv.m4, quote.m4, quotearg.m4,
12707         readdir.m4, readtokens.m4, readutmp.m4, regex.m4, rename.m4,
12708         restrict.m4, rmdir-errno.m4, rmdir.m4, rpmatch.m4, same.m4,
12709         savedir.m4, settime.m4, sha1.m4, sig2str.m4, snprintf.m4,
12710         sockpfaf.m4, st_dm_mode.m4, st_mtim.m4, stat.m4, stdint.m4,
12711         stdio-safer.m4, strchrnul.m4, strdup.m4, strerror.m4,
12712         strerror_r.m4, strftime.m4, strndup.m4, strnlen.m4, strsep.m4,
12713         strtod.m4, strtoimax.m4, strtok_r.m4, strtol.m4, strtoll.m4,
12714         strtoul.m4, strtoull.m4, strtoumax.m4, strverscmp.m4, sysexits.m4,
12715         time_r.m4, timegm.m4, timespec.m4, tm_gmtoff.m4, tzset.m4,
12716         uint32_t.m4, uintptr_t.m4, unistd-safer.m4, unlink-busy.m4,
12717         unlocked-io.m4, uptime.m4, userspec.m4, utimbuf.m4, utime.m4,
12718         utimecmp.m4, utimens.m4, utimes-null.m4, vsnprintf.m4, xalloc.m4,
12719         xgetcwd.m4, xreadlink.m4, xstrndup.m4, xstrtod.m4, xstrtoimax.m4,
12720         xstrtol.m4, xstrtoumax.m4, yesno.m4:
12721         Use an all-permissive copyright notice, recommended by RMS.
12722
12723 2005-01-21  Paul Eggert  <eggert@cs.ucla.edu>
12724
12725         * modules/chdir-long (Depends-on): Remove mempcpy.
12726
12727 2005-01-21  Jim Meyering  <jim@meyering.net>
12728
12729         * lib/openat.h (AT_SYMLINK_NOFOLLOW): Define to 4096, so it's the
12730         same value as for Solaris 9.
12731
12732         * lib/chdir-long.c (chdir_long): Rewrite to remove limitation on
12733         component length.  This included changing the parameter to be
12734         of type `char *' rather than `char const *'.
12735         * lib/chdir-long.h (chdir_long): Update prototype.
12736
12737         * lib/openat.c (fdopendir, fstatat): New functions.
12738         * lib/openat.h: Include headers required for use of DIR and struct
12739         stat.
12740         [AT_SYMLINK_NOFOLLOW]: Define.
12741         (fdopendir, fstatat): Add prototypes.
12742
12743 2005-01-21  Bruno Haible  <bruno@clisp.org>
12744
12745         * modules/classpath: New file.
12746         * MODULES.html.sh (Java): Add classpath.
12747
12748 2005-01-21  Bruno Haible  <bruno@clisp.org>
12749
12750         * lib/classpath.h: New file, from GNU gettext.
12751         * lib/classpath.c: New file, from GNU gettext.
12752
12753 2005-01-20  Simon Josefsson  <jas@extundo.com>
12754
12755         * modules/version-etc-fsf: New file.
12756
12757 2005-01-20  Simon Josefsson  <jas@extundo.com>
12758
12759         * lib/version-etc-fsf.c: New file, with version_etc_copyright.
12760         * lib/version-etc.c: Remove version_etc_copyright.
12761         * lib/version-etc.h (version_etc_copyright): Use [] instead of * in
12762         prototype, suggested by Paul Eggert <eggert@CS.UCLA.EDU>.
12763
12764 2005-01-20  Simon Josefsson  <jas@extundo.com>
12765
12766         * lib/base64.h (isbase64): Add.
12767
12768         * lib/base64.c (isb64): Rename to isbase64, use to_uchar instead of
12769         using a unsigned prototype, don't inline.
12770         (base64_decode): Use it.
12771
12772 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
12773
12774         * m4/save-cwd.m4 (gl_SAVE_CWD): Remove check for fcntl; we now assume
12775         it.
12776
12777 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
12778
12779         * lib/save-cwd.c (save_cwd): Remove code to support the case
12780         where fchdir is missing or flaky.
12781
12782 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
12783
12784         * MODULES.html.sh (Command-line arguments): Add version-etc-fsf.
12785
12786 2005-01-19  Paul Eggert  <eggert@cs.ucla.edu>
12787
12788         * modules/mempcpy (Makefile.am): Remove mention of mempcpy.h;
12789         AC_LIBSOURCES now does this.
12790         * MODULES.html.sh (Sizes of integer types <limits.h>): New element,
12791         with new ullong_max module.
12792
12793 2005-01-19  Bruno Haible  <bruno@clisp.org>
12794
12795         * modules/sh-quote: New file.
12796         * MODULES.html.sh (Executing programs): Add sh-quote.
12797
12798 2005-01-19  Bruno Haible  <bruno@clisp.org>
12799
12800         * lib/sh-quote.h: New file, from GNU gettext.
12801         * lib/sh-quote.c: New file, from GNU gettext.
12802
12803 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
12804
12805         Merge from coreutils.
12806         * m4/ullong_max.m4: New file.
12807         * m4/jm-macros.m4 (gl_MACROS): Require gl_ULLONG_MAX.
12808         (gl_MACROS): Assume localeconv exists.
12809
12810 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
12811
12812         Merge changes from coreutils, as described below in several
12813         changelogs dated today.
12814
12815         * lib/save-cwd.c: Include "save-cwd.h" before other include files.
12816         (O_DIRECTORY): Remove; not needed here, since "." must be
12817         a directory.  All uses removed.
12818         (save_cwd): Use __sgi || __sun, not sun || __sun.  __sun is
12819         universal on Suns, and we also need to test for IRIX.
12820         Revamp code to use 'if' rather than '#if'.
12821         Avoid unnecessary comparison of cwd->desc to 0.
12822
12823         * lib/utimens.c (futimens): Robustify the previous patch, by checking
12824         for known valid error numbers rather than observed invalid ones.
12825
12826 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
12827
12828         * modules/ullong_max: New file.
12829
12830         * modules/chdir-long, modules/openat: New files.
12831         * modules/save-cwd (Depends-on): Depend on chdir-long.
12832         (Makefile.am): Remove lib_SOURCES; now handled by AC_LIBSOURCES.
12833
12834 2005-01-18  Jim Meyering  <jim@meyering.net>
12835
12836         Merge from coreutils.
12837         * m4/chdir-long.m4, m4/openat.m4: New files.
12838         * m4/save-cwd.m4 (gl_SAVE_CWD): Add AC_LIBSOURCES for save-cwd.c,
12839         save-cwd.h.  Add AC_LIBOBJ for save-cwd.
12840         * m4/chown.m4 (gl_FUNC_CHOWN): When cross-compiling, assume that chown
12841         is sane and DOES follow symlinks.  Besides, testing 20 different
12842         systems found no broken chown implementations.
12843         Prompted by a change in rsync's copy of this macro.
12844         * m4/jm-macros.m4 (gl_MACROS): Require gl_FUNC_CHDIR_LONG.
12845
12846         * m4/lchown.m4 (gl_FUNC_LCHOWN): Use AC_LIBSOURCES.
12847
12848         * m4/utimes.m4: Work around tests/touch/empty-file failure on a system
12849         (sparc64, Linux-2.4.28, glibc-2.3.3) that didn't honor utimes'
12850         NULL-means-set-to-current-time semantics.
12851         Remove temporary file immediately, rather than waiting
12852         for configure's at-exit trap code to do it.
12853
12854 2005-01-18  Jim Meyering  <jim@meyering.net>
12855
12856         * lib/version-etc.c (version_etc_copyright): Update copyright date.
12857
12858         * lib/utimens.c (futimens): Account for the fact that futimes
12859         can also fail with errno == ENOSYS or errno == ENOENT.
12860         Patch from Dmitry V. Levin.
12861
12862         Change the name of the robust chdir function from chdir to chdir_long.
12863         * lib/save-cwd.c: Include chdir-long.h rather than chdir.h.
12864         (restore_cwd): Use chdir_long, not chdir.
12865         * lib/chdir-long.c: Renamed from chdir.c.
12866         * lib/chdir-long.h: Renamed from chdir.h.
12867         [!defined PATH_MAX]: Define chdir_long to chdir on systems like the
12868         Hurd.
12869
12870 2005-01-18  Bruno Haible  <bruno@clisp.org>
12871
12872         * m4/allocsa.m4, m4/codeset.m4, m4/copy-file.m4, m4/eaccess.m4:
12873         * m4/eealloc.m4, m4/eoverflow.m4, m4/execute.m4, m4/fatal-signal.m4:
12874         * m4/findprog.m4, m4/glibc21.m4, m4/iconv.m4, m4/intmax_t.m4:
12875         * m4/inttypes_h.m4, m4/lib-ld.m4, m4/lib-link.m4, m4/lib-prefix.m4:
12876         * m4/linebreak.m4, m4/localcharset.m4, m4/longdouble.m4:
12877         * m4/longlong.m4, m4/mbrtowc.m4, m4/mbstate_t.m4, m4/mbswidth.m4:
12878         * m4/mkdtemp.m4, m4/pipe.m4, m4/readlink.m4, m4/safe-read.m4:
12879         * m4/safe-write.m4, m4/setenv.m4, m4/sig_atomic_t.m4:
12880         * m4/signalblocking.m4, m4/signed.m4, m4/size_max.m4, m4/ssize_t.m4:
12881         * m4/stdbool.m4, m4/stdint_h.m4, m4/stpcpy.m4, m4/stpncpy.m4:
12882         * m4/strcase.m4, m4/strcspn.m4, m4/strpbrk.m4, m4/strstr.m4:
12883         * m4/ucs4-utf.m4, m4/uintmax_t.m4, m4/ulonglong.m4, m4/unicodeio.m4:
12884         * m4/utf-ucs4.m4, m4/vasnprintf.m4, m4/vasprintf.m4:
12885         * m4/wait-process.m4, m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4:
12886         Use an all-permissive copyright notice, recommended by RMS.
12887
12888 2005-01-18  Bob Proulx  <bob@proulx.com>
12889
12890         * lib/obstack.c [DEFAULT_ALIGNMENT]: Use an intermediate type to
12891         simplify offsetof() macro construct to avoid compile failure with
12892         native HP-UX 11.0 ANSI C compiler.
12893
12894 2005-01-17  Bruno Haible  <bruno@clisp.org>
12895
12896         * lib/stpncpy.c: Remove HAVE_STPNCPY and gnu_stpncpy renaming,
12897         redundant because stpncpy.m4 takes care of it.
12898
12899 2005-01-17  Bruno Haible  <bruno@clisp.org>
12900
12901         * lib/progreloc.c: Include xalloc.h instead of xmalloc.h.
12902
12903 2005-01-17  Bruno Haible  <bruno@clisp.org>
12904
12905         * lib/progreloc.c (xstrdup): Define as strdup if no xmalloc should be
12906         used.
12907
12908 2005-01-17  Bruno Haible  <bruno@clisp.org>
12909
12910         * lib/fwriteerror.h (fwriteerror): Change specification to include
12911         fclose.
12912         * lib/fwriteerror.c: Include <stdbool.h>.
12913         (fwriteerror): At the end, close the file stream. Record whether
12914         stdout was already closed.
12915
12916 2005-01-17  Bruno Haible  <bruno@clisp.org>
12917
12918         * lib/execute.c (environ): Declare if needed.
12919         * lib/pipe.c (environ): Likewise.
12920         Reported by Michael Schloh von Bennewitz <michael.schloh@cw.com>.
12921
12922 2005-01-11  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
12923
12924         * modules/argp: Depend on vsnprintf
12925
12926 2005-01-10  Jim Meyering  <jim@meyering.net>
12927
12928         * modules/closeout (Depends-on): Add atexit.
12929
12930 2005-01-06  Bruno Haible  <bruno@clisp.org>
12931
12932         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Rename stpncpy to gnu_stpncpy here.
12933
12934 2005-01-04  Paul Eggert  <eggert@cs.ucla.edu>
12935
12936         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Move these conditional
12937         definitions to be after all include files, to avoid collisions.
12938         Problem reported by Bob Proulx.
12939
12940 2005-01-04  Jim Meyering  <jim@meyering.net>
12941
12942         Changes imported from coreutils.
12943         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Rather than using "conftestXXXXXX"
12944         as the mkstemp template, use a temporary directory and an
12945         8.3-friendly template to avoid trouble on systems like DJGPP.
12946         Reported by Juan M. Guerrero via Stepan Kasal.
12947         * m4/(gl_FUNC_MKSTEMP): Include <unistd.h> for the declaration of
12948         close. Remove the temporary directory right away, rather than waiting
12949         for configure's at-exit trap code to do it.
12950         Suggestion from Stepan Kasal.
12951
12952 2005-01-01  Simon Josefsson  <jas@extundo.com>
12953
12954         * gnulib-tool: Print #include directives when --import'ing.
12955
12956 2004-12-28  Simon Josefsson  <jas@extundo.com>
12957
12958         * tests/test-base64.c: Include required header files.  Remove
12959         unused variables.
12960
12961 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
12962
12963         * modules/error (Depends-on): Remove gettext.
12964
12965 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
12966
12967         * lib/error.c [!_LIBC && !ENABLE_NLS]: Do not include "gettext.h";
12968         not needed.  This removes a dependency on the gettext module.
12969         [defined _LIBC]: Do not include <libintl.h>; not needed.
12970
12971 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
12972
12973         * m4/c-strtod.m4 (gl_C99_STRTOLD): New macro.
12974         (gl_C_STRTOD): Use it instead of AC_CHECK_DECLS_ONCE(strtold).
12975
12976 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
12977
12978         * lib/c-strtod.c (STRTOD): Depend on HAVE_C99_STRTOLD, not
12979         HAVE_DECL_STRTOLD.
12980
12981 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
12982
12983         * modules/getdate (Depends-on): Remove alloca-opt.
12984
12985 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
12986
12987         * m4/getdate.m4 (gl_GETDATE): Remove AC_FUNC_ALLOCA.
12988
12989 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
12990
12991         * lib/argp-parse.c: Include <stddef.h>.
12992         (alignof, alignto): New macros.
12993         (parser_init): Don't assume that void * is aligned sufficiently
12994         for struct option.
12995
12996         * lib/getdate.y (YYSTACK_USE_ALLOCA): Define to 0, since there's no
12997         need to extend the stack.
12998         (YYINITDEPTH): New macro, so that the initial stack isn't overly
12999         large.
13000
13001 2004-12-22  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
13002
13003         * lib/argp-parse.c (parser_init): Avoid arithmetics on void pointers.
13004
13005 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
13006
13007         * modules/regex (lib_SOURCES): Remove regex.c, undoing previous
13008         (2004-10-24) change.  Apparently this was a false alarm.
13009
13010         * modules/getdate: Depend on alloca-opt, not alloca.
13011
13012 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
13013
13014         * lib/alloca_.h: Conditionalize on _GNULIB_ALLOCA_H, not _ALLOCA_H.
13015         Remove now-obsolete comment about AIX.
13016         * lib/getdate.y: Include <alloca.h> only if HAVE_ALLOCA.
13017         (YYSTACK_USE_ALLOCA): Define to 0 if !HAVE_ALLOCA.
13018         (YYMAXDEPTH): New macro.
13019
13020 2004-12-18  Simon Josefsson  <jas@extundo.com>
13021
13022         * modules/alloca: Depend on alloca-opt, instead of duplicating it.
13023
13024 2004-12-18  Bruno Haible  <bruno@clisp.org>
13025
13026         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Also test for sigaction.
13027
13028 2004-12-18  Bruno Haible  <bruno@clisp.org>
13029
13030         * lib/fatal-signal.c (fatal_signals): Make non-const.
13031         (init_fatal_signals): New function.
13032         (uninstall_handlers, install_handlers): Ignore signals that were set to
13033         SIG_IGN.
13034         (at_fatal_signal): Call init_fatal_signals.
13035         (init_fatal_signal_set): Likewise. Ignore signals that were set to
13036         SIG_IGN.
13037         Reported by Paul Eggert.
13038
13039 2004-12-18  Bruno Haible  <bruno@clisp.org>
13040
13041         * doc/alloca.texi: New file.
13042         * doc/alloca-opt.texi: New file.
13043
13044 2004-12-17  Jim Meyering  <jim@meyering.net>
13045
13046         * config/install-sh: Use `(exit N); exit N', not `(exit N); exit'.
13047         Otherwise, install-sh could exit with improper exit status when
13048         exiting via a trapped interrupt.  Thanks to a report from Bob Proulx.
13049
13050 2004-12-16  Simon Josefsson  <jas@extundo.com>
13051
13052         * tests/test-base64.c: Add license.
13053
13054 2004-12-15  Stepan Kasal  <address@hidden>
13055
13056         * gnulib-tool (func_emit_lib_Makefile_am): Shorten a long sed command.
13057
13058 2004-12-12  Paul Eggert  <eggert@cs.ucla.edu>
13059
13060         * modules/getcwd (Files): Add m4/d-ino.m4.
13061         Suggested by Mark D. Baushke.
13062
13063 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
13064
13065         * lib/getdate.y (textint): New member "negative".
13066         (time_zone_hhmm): New function.
13067         Expect 14 shift-reduce conflicts, not 13.
13068         (o_colon_minutes): New rule.
13069         (time, zone): Use it to add support for +HH:MM, UTC+HH:MM.
13070         (yylex): Set the "negative" member of signed numbers.
13071
13072 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
13073
13074         * doc/getdate.texi (Time of day items, Time zone items):
13075         Describe new formats +00:00, UTC+00:00.
13076
13077 2004-12-07  Paul Eggert  <eggert@cs.ucla.edu>
13078
13079         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Fix typo in previous change:
13080         spurious "-l"s.  Problem reported by Stepan Kasal.
13081
13082 2004-12-06  Paul Eggert  <eggert@cs.ucla.edu>
13083
13084         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): New macro, to work around bug
13085         in Autoconf 2.59.  Problem reported by Mark D. Baushke.
13086
13087 2004-12-04  Simon Josefsson  <jas@extundo.com>
13088
13089         * modules/getaddrinfo (License): Add LGPL, reported by Yoann
13090         Vandoorselaere <yoann@prelude-ids.org>.
13091
13092 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
13093
13094         Changes imported from coreutils.
13095         * m4/hard-locale.m4 (gl_HARD_LOCALE): Assume locale.h and setlocale
13096         exist.
13097         * m4/human.m4 (gl_HUMAN): Assume locale.h and localeconv exist.
13098
13099 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
13100
13101         Changes imported from coreutils.
13102         * lib/hard-locale.c: Assume <locale.h> exists.
13103         Include "strdup.h".
13104         (GLIBC_VERSION): New macro.
13105         (hard_locale): Assume setlocale exists.
13106         Rewrite to avoid #ifdef.
13107         Use strdup rather than malloc + strcpy.
13108         * lib/human.c: Assume <locale.h> exists.
13109         (human_readable): Assume localeconv exists.
13110
13111 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
13112
13113         * modules/hard-locale (Depends-on): Add strdup.
13114
13115 2004-12-01  Jakub Jelinek  <jakub@redhat.com>
13116
13117         * lib/mktime.c (__mktime_internal): If SEC_REQUESTED != SEC,
13118         convert T2, not T.  (Imported from libc.)
13119
13120 2004-11-30  Simon Josefsson  <jas@extundo.com>
13121
13122         * modules/restrict (License): Change to LGPL.
13123
13124 2004-11-30  Simon Josefsson  <jas@extundo.com>
13125
13126         * m4/restrict.m4: Add copyright and copying conditions.
13127
13128 2004-11-30  Simon Josefsson  <jas@extundo.com>
13129
13130         * m4/base64.m4: New file.
13131
13132 2004-11-30  Simon Josefsson  <jas@extundo.com>
13133
13134         * MODULES.html.sh (Extra functions based on ANSI C 89): Add
13135         base64.
13136
13137         * tests/test-base64.c: New file.
13138
13139         * modules/base64: New file.
13140
13141 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
13142
13143         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX):
13144         Define HAVE_PARTLY_WORKING_GETCWD if getcwd is partly working.
13145
13146         * m4/readutmp.m4 (gl_READUTMP): Don't check for sys/param.h.
13147
13148 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
13149
13150         * lib/getcwd.c (is_ENAMETOOLONG): New macro.
13151         (__getcwd.c): Don't restore errno; glibc doesn't.
13152         [HAVE_PARTLY_WORKING_GETCWD && !defined AT_FDCWD]: Try system getcwd
13153         first, falling back to our code only if its results look suspicious.
13154         Ensure that the resulting buffer is only as large as necessary.
13155
13156         * lib/readutmp.c: Include readutmp.h first.
13157         Include <errno.h>, since readutmp.h no longer does that.
13158         * lib/readutmp.h: Don't include <errno.h>,
13159         <sys/param.h>, <time.h>; not needed to establish interface.
13160         (errno): Remove decl.
13161         (HAVE_STRUCT_XTMP_UT_TYPE): Remove; no longer needed.
13162         (UT_TYPE_EQ, UT_TYPE_NOT_DEFINED, UT_TYPE_BOOT_TIME,
13163         UT_TYPE_USER_PROCESS, IS_USER_PROCESS): New macros.
13164
13165 2004-11-28  Simon Josefsson  <jas@extundo.com>
13166
13167         * lib/base64.h, base64.c: New file.
13168
13169 2004-11-27  Paul Eggert  <eggert@cs.ucla.edu>
13170
13171         * lib/getcwd.h: New file, which I forgot to check in on 2004-11-25.
13172
13173 2004-11-26  Paul Eggert  <eggert@cs.ucla.edu>
13174
13175         * modules/getcwd (Files): Add lib/getcwd.h, m4/getcwd.m4.
13176         (Depends-on): Remove pathmax, same.  Add mempcpy.
13177         (configure.ac): GL_FUNC_GETCWD_PATH_MAX -> gl_FUNC_GETCWD.
13178         (Makefile.am): Append getcwd.h to lib_SOURCES.
13179         (Include): Add getcwd.h.
13180         (Maintainer): Change from Jim Meyering to "all, glibc",
13181         since getdate now uses intended-for-glibc code.
13182         * modules/xgetcwd (Files): Remove m4/getcwd.m4.
13183         (Depends-on): Depend on getcwd.  Do not depend on pathmax.
13184
13185 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
13186
13187         Fix problems reported by Scott S. Tinsley for HP-UX 11.11 using
13188         HP's ANSI C compiler.
13189         * lib/fsusage.c (statvfs) [HAVE_SYS_STATVFS_H]: Remove decl.
13190         Declaring int functions causes warnings on some modern systems and
13191         shouldn't be needed to compile on ancient ones.
13192         * lib/same.c (MIN) [defined MIN]: Don't define, since it's already
13193         defined.
13194
13195         * lib/getcwd.c: Replace by a copy of glibc/sysdeps/posix/getcwd.c, but
13196         with the following changes.
13197         (__set_errno): Parenthesize properly.
13198         Include <stdbool.h>.
13199         (MIN, MAX, MATCHING_INO): New macros.
13200         (__getcwd): Define with prototype, not K&R form.
13201         Use heuristics to allocate default buffer on stack if possible.
13202         If AT_FDCWD is defined, use openat and fstatat to avoid O(N**2)
13203         behavior, and to avoid the PATH_MAX limit when computing
13204         ../../../../...
13205         Use MATCHING_INO to compare inode number to file.
13206         Check for arithmetic overflow in size calculations.
13207         Fix bug in reallocation of dot array that caused getcwd to fail
13208         on directories nested deeper than 75.
13209         Be more careful about saving errno on error.
13210         Do not use realloc; use only free+malloc, as this is a bit
13211         more flexible and avoids a needless copy operation.
13212         Do not inspect st_dev and st_ino for symbolic links; POSIX
13213         doesn't specify the latter.
13214         Check for closedir errors.
13215         Avoid needless casts.
13216         Use "#ifdef weak_alias" around weak_alias, to be like other
13217         glibc code.
13218         The following changes to getcwd.c have effect only when used in
13219         gnulib; they have no effect inside glibc proper.
13220         (#pragma alloca) [defined _AIX && !defined __GNUC__]: Remove,
13221         as alloca isn't used.
13222         (alloca, __alloca): Likewise.
13223         [!_LIBC]: Include "getcwd.h", "mempcpy.h".
13224         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
13225         unconditionally, as gnulib assumes C89 or better.
13226         Do not include <sys/param.h>.
13227         (errno) [!defined __GNU_LIBRARY__ && !defined STDC_HEADERS]: Remove
13228         no-longer-necessary 'extern int errno' decl; gnulib assumes C89 or
13229         better.
13230         (NULL) [!defined NULL]: Remove; we assume C89 or better.
13231         Include <dirent.h> in a way that is compatible with modern Autoconf.
13232         (_D_ALLOC_NAMELEN, _D_EXACT_NAMLEN):
13233         New macros, if not already defined.
13234         Include <unistd.h> if _LIBC, not if __GNU_LIBRARY__.
13235         Use "_LIBC", not "defined _LIBC", for consistency.
13236         (HAVE_MEMPCPY): Remove; no longer needed now that gnulib has
13237         a mempcpy module.
13238         (__lstat, __closedir, __opendir, __readdir) [!_LIBC]: New macros.
13239         (GETCWD_RETURN_TYPE): Remove.  All uses replaced by char *.
13240         * lib/xgetcwd.c: David MacKenzie's old code was removed, so give
13241         credit only to Jim Meyering and adjust the copyright dates.
13242         Do not include <limits.h>, <stdio.h>, <sys/types.h>,
13243         <stdlib.h>, <unistd.h>, "pathmax.h".
13244         Instead, include "xgetcwd.h" (first) and "getcwd.h".
13245         (INITIAL_BUFFER_SIZE): Remove.
13246         (xgetcwd): Rely on getcwd, since we now depend on a reliable one.
13247
13248 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
13249
13250         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Renamed from
13251         GL_FUNC_GETCWD_PATH_MAX for consistency.  All uses changed.
13252         Use the _ONCE methods, for efficiency.
13253         Check for fcntl.h.  In test program, include <errno.h>
13254         and <fcntl.h> if available.  Remove old K&R cruft from
13255         test program.  Check for common errors in GNU/Linux,
13256         OpenBSD, and Solaris.  Just set gl_cv_func_getcwd_path_max;
13257         don't do AC_LIBOBJ, as that's getcwd.m4's job.
13258         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Renamed from
13259         AC_FUNC_GETCWD_NULL.  All used changed.  Change cache variable
13260         name accordingly.
13261         (gl_FUNC_GETCWD, gl_PREREQ_GETCWD): New macros.  Revamp to
13262         accommodate new getcwd.c.
13263         * m4/jm-macros.m4 (gl_MACROS): Don't require GL_FUNC_GETCWD_PATH_MAX.
13264         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_MEMPCPY.
13265         * m4/xgetcwd.m4 (gl_XGETCWD): Replace with gl_FUNC_GETCWD, since
13266         that's all we need now.
13267
13268 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
13269
13270         * m4/argp.m4 (gl_ARGP): Require gl_GETOPT_SUBSTITUTE unconditionally:
13271         argp-parse.c depends on getopt internals, that means we should
13272         always use our getopt, to be on the safe side.
13273         * m4/getopt.m4 (gl_GETOPT): Check if GETOPT_H is already set, in
13274         order not to spoil the result of an eventual previous invocation
13275         of gl_GETOPT_SUBSTITUTE.
13276
13277 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
13278
13279         * lib/getopt_.h: Re-addition of __getopt_argv_const caused
13280         redefinition warnings. To avoid them, include the defines
13281         in `#if !defined __need_getopt ... #endif'. The only place
13282         where __getopt_argv_const is used is in definitions
13283         of getopt_long and getopt_long_only below, which are as well
13284         protected by `#ifndef __need_getopt'.
13285         [defined __GETOPT_PREFIX && !defined __need_getopt]: Undef
13286         __need_getopt after including <stdio.h> and <unistd.h> These
13287         headers might have defined it.
13288
13289 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
13290
13291         * m4/utimens.m4 (gl_UTIMENS): Check for futimes function.
13292
13293 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
13294
13295         * lib/utimens.c (__attribute__, ATTRIBUTE_UNUSED): New macros.
13296         (futimens): New function, which uses futimes if available.
13297         (futimens, utimens): Support timespec==NULL, with same semantics
13298         as utime and utimens.
13299         * lib/utimens.h (futimens): New decl.
13300
13301 2004-11-23  Jim Meyering  <jim@meyering.net>
13302
13303         * lib/getopt_.h: Remove trailing blanks.
13304
13305 2004-11-23  Jim Meyering  <jim@meyering.net>
13306
13307         * lib/__fpending.c: Add comment.
13308
13309 2004-11-22  Paul Eggert  <eggert@cs.ucla.edu>
13310
13311         * modules/canonicalize (Depends-on): Add xreadlink.
13312         Problem reported by James Youngman.
13313
13314 2004-11-20  Paul Eggert  <eggert@cs.ucla.edu>
13315
13316         * lib/getopt_.h (__GETOPT_CONCAT, __GETOPT_XCONCAT, __GETOPT_ID):
13317         New macros.
13318         (getopt, getopt_long, getopt_long_only, optarg, opterr, optind,
13319         optopt): Use them instead of invoking ## directly; otherwise, the
13320         symbols will be __GETOPT_PREFIXgetopt rather than rpl_getopt.
13321
13322 2004-11-19  Bruno Haible  <bruno@clisp.org>
13323
13324         * lib/strtok_r.c: Move comments from here...
13325         * lib/strtok_r.h: ... to here.
13326
13327 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
13328
13329         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Check for buggy calloc
13330         implementations that mishandle size_t overflow.
13331
13332 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
13333
13334         * lib/realloc.c (rpl_realloc): Call 'free' if n==0, since realloc
13335         might fail.  Problem reported by Yoann Vandoorselaere.
13336         * lib/calloc.c (rpl_calloc): Defend against buggy calloc
13337         implementations that mishandle size_t overflow.
13338
13339 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
13340
13341         * modules/canon-host (Depends-on): Add strdup.
13342
13343 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
13344
13345         * m4/canon-host.m4 (gl_CANON_HOST): Check for getaddrinfo.
13346
13347 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
13348
13349         * lib/canon-host.c: Include "strdup.h".
13350         (canon_host): Use getaddrinfo if available, so that IPv6 works.
13351         Use strdup instead of malloc/strcpy to duplicate strings.
13352
13353         * lib/human.h (LONGEST_HUMAN_READABLE): Add 1 for space before unit.
13354         (human_space_before_unit): New constant.
13355         * lib/human.c (human_readable): Support it.
13356
13357         * lib/xgetcwd.c: Include <limits.h>, for PATH_MAX.
13358         (xgetcwd): Set errno correctly when failing.
13359         Work around Solaris 9 bug: getcwd sets errno==ERANGE even though
13360         the failure is actually due to a PATH_MAX problem.
13361
13362         Further getopt changes to make it more likely that glibc will
13363         buy the changes back.
13364         * lib/getopt.c (POSIXLY_CORRECT): New constant.
13365         (getopt): Use it, so to preserve glibc semantic
13366         * lib/getopt1.c (getopt_long, getopt_long_only): Arg is char * const *
13367         when compiling for libc.
13368         * lib/getopt_.h (__getopt_argv_const): Bring it back.
13369         (getopt_long, getopt_long_only): Use it.
13370
13371         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
13372         _getopt_internal): New arg POSIXLY_CORRECT.  All callers changed.
13373         (getopt): Argv is now char * const *, as per standard.
13374         (_getopt_internal_r, _getopt_internal): Argv is now char **,
13375         not char *__getopt_argv_const *.
13376         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
13377         _getopt_long_only_r): Likewise.
13378         * lib/getopt_.h (getopt, getopt_long, geopt_long_only): Likewise.
13379         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
13380         _getopt_long_r, _getopt_long_only_r): Likewise.
13381         * lib/getopt_.h (__getopt_argv_const): Remove.
13382         (getopt): Argv is now char * const *, as per standard.
13383
13384         * lib/getdate.y (tORDINAL): New token.
13385         (day, relunit): Allow it for relative times.
13386         (relative_time_table): Use tORDINAL for ordinals.
13387
13388 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
13389
13390         * doc/getdate.texi (General date syntax): "next" is 1, not 2.
13391         Document that "second" isn't allowed as an ordinal number.
13392
13393 2004-11-16  Jim Meyering  <jim@meyering.net>
13394
13395         * modules/closeout (Depends-on): Add fpending.
13396
13397 2004-11-15  Jim Meyering  <jim@meyering.net>
13398
13399         * lib/closeout.c: Include "__fpending.h" once again.
13400         Include <stdbool.h>.
13401         (close_stdout): Don't fail just because stdout was closed initially,
13402         since some programs don't write to stdout in the normal course of
13403         operation (other than --version and --help), and we don't want this
13404         function to make e.g. `touch file >&-' fail.
13405         But do fail if it was closed and someone has tried to write to it.
13406         E.g., `printf foo >&-' must fail.
13407
13408 2004-11-13  Jim Meyering  <jim@meyering.net>
13409
13410         * m4/jm-macros.m4: Do require gl_FUNC_FPENDING.
13411
13412 2004-11-12  Simon Josefsson  <jas@extundo.com>
13413
13414         * config/srclist.txt: Add strtok_r.c, glibc bought our changes, but a
13415         small doc fix is still pending.
13416
13417 2004-11-11  Simon Josefsson  <jas@extundo.com>
13418
13419         * modules/strtok_r: New file.
13420
13421         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
13422         strtok_r.
13423
13424 2004-11-11  Simon Josefsson  <jas@extundo.com>
13425
13426         * m4/strtok_r.m4: New file.
13427
13428         * m4/getopt.m4: Replace opterr.
13429
13430 2004-11-11  Simon Josefsson  <jas@extundo.com>
13431
13432         * lib/strtok_r.h, strtok_r.c: New file.
13433
13434 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
13435
13436         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): Define __GETOPT_PREFIX instead
13437         of replacing opterr, getopt, etc.  This should handle the
13438         powerpc-apple-darwin5.5 problem recently noted by Simon Josefsson.
13439
13440 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
13441
13442         * lib/getopt_.h (__getopt_argv_const): New macro, to be used so that
13443         we can stop lying to compilers about the constness of argv when we
13444         are compiled outside glibc.
13445         (getopt, getopt_long, getopt_long_only): Use it.
13446         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
13447         _getopt_internal, getopt): Likewise.
13448         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
13449         _getopt_long_only_r): Likewise.
13450         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
13451         _getopt_long_r, _getopt_long_only_r): Likewise.
13452
13453         * lib/getopt_.h [defined __GETOPT_PREFIX && !defined __need_getopt]:
13454         Include <stdlib.h> and <stdio.h>, and <unistd.h> if available.
13455         Then rename getopt to __GETOPT_PREFIX##getopt, and so forth for
13456         the other external symbols.
13457         (getopt) [!defined __GNU_LIBRARY]: Use prototype, not old-style
13458         declaration, since the above renaming now works around collisions.
13459
13460 2004-11-11  Jim Meyering  <jim@meyering.net>
13461
13462         * lib/linebreak.c: Remove trailing blanks.
13463         * lib/alloca_.h: Likewise.
13464         * lib/acosl.c: Likewise.
13465         * lib/euidaccess.c: Likewise.
13466         * lib/allocsa.h: Likewise.
13467
13468 2004-11-10  Simon Josefsson  <jas@extundo.com>
13469
13470         * m4/getaddrinfo.m4: New file.
13471
13472 2004-11-10  Simon Josefsson  <jas@extundo.com>
13473
13474         * lib/getaddrinfo.h, lib/getaddrinfo.c: New files.
13475
13476 2004-11-10  Simon Josefsson  <jas@extundo.com>
13477
13478         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
13479         getaddrinfo.
13480
13481         * modules/getaddrinfo: New file.
13482
13483 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
13484
13485         * m4/prereq.m4 (gl_PREREQ): Require gt_FUNC_SETENV.
13486
13487 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
13488
13489         * lib/mktime.c (SHR): New macro, which is a portable
13490         substitute for >> that should work even on Crays.
13491         (TIME_T_MIDPOINT, ydhms_diff, __mktime_internal): Use it.
13492         Problem reported by Mark D. Baushke in
13493         <http://lists.gnu.org/archive/html/bug-gnulib/2004-11/msg00071.html>.
13494         * lib/getdate.y (SHR): Likewise.
13495         (tm_diff): Use it.
13496         * lib/strftime.c (SHR): Likewise.
13497         (tm_diff): Use it.
13498         * lib/quotearg.c (struct quoting_options): Use unsigned int for
13499         quote_these_too, so that right shifts are well defined.  All uses
13500         changed.
13501
13502 2004-11-10  Jim Meyering  <jim@meyering.net>
13503
13504         Ensure that no close failure goes unreported.
13505         * lib/closeout.c (close_stdout): Always close stdout.  I.e., don't
13506         return early when it seems there's nothing to flush.
13507         Don't include __fpending.h.
13508
13509 2004-11-10  Jim Meyering  <jim@meyering.net>
13510
13511         * modules/closeout (Depends-on): Remove fpending.
13512
13513 2004-11-10  Jim Meyering  <jim@meyering.net>
13514
13515         * m4/jm-macros.m4 (gl_MACROS): Don't require gl_FUNC_FPENDING.
13516
13517 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
13518
13519         * m4/strftime.m4 (_gl_STRFTIME_PREREQS): Remove.  Move its body to
13520         gl_FUNC_STRFTIME.
13521         (gl_FUNC_STRFTIME): Use AC_CHECK_FUNCS_ONCE and AC_CHECK_HEADERS_ONCE
13522         and AC_REQUIRE when possible, to avoid duplicate checks.
13523         Check for <wchar.h>.
13524
13525 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
13526
13527         * lib/strftime.c (DO_MULTIBYTE): Check for wchar.h, too.
13528
13529 2004-11-09  Bruno Haible  <bruno@clisp.org>
13530
13531         * m4/sockpfaf.m4: New file.
13532
13533 2004-11-05  Bruno Haible  <bruno@clisp.org>
13534
13535         * lib/readlink.c: Include stddef.h, needed for size_t on Woe32.
13536         Reported by Mark D. Baushke <mdb@cvshome.org>.
13537
13538 2004-11-04  Bruno Haible  <bruno@clisp.org>
13539
13540         2004-09-11  Bruno Haible  <bruno@clisp.org>
13541                 * allocsa.valgrind: New file.
13542         2004-02-06  Bruno Haible  <bruno@clisp.org>
13543                 * allocsa.h (sa_alignof): Define differently with HP-UX cc, to
13544                 avoid a bug of this cc on HP-UX 10.20 dealing with enums.
13545                 Reported by Christopher Seip <chris.seip@hp.com>.
13546
13547 2004-11-04  Bruno Haible  <bruno@clisp.org>
13548
13549         * modules/allocsa (Files): Add lib/allocsa.valgrind.
13550         (Makefile.am): Distribute it.
13551
13552 2004-11-03  Paul Eggert  <eggert@cs.ucla.edu>
13553
13554         * lib/xreadlink.c (xreadlink): AIX and HP-UX readlink return -1
13555         with errno == ERANGE if the buffer is too small.
13556         Problem reported by Mark D. Baushke.
13557
13558 2004-11-03  Albert Chin  <china@thewrittenword.com>
13559             Paul Eggert  <eggert@cs.ucla.edu>
13560
13561         * m4/uint32_t.m4 (gl_AC_TYPE_UINT32_T): When determining uint32_t
13562         equivalent, substitute $ac_type for equivalent type rather than
13563         blindly using uint32_t *always* which won't work if uint32_t is not
13564         available.  Define _UINT32_T to work around typedef of uint32_t if
13565         <sys/sched.h>, <pthread.h>, or <semaphore.h> used on Solaris
13566         2.5.1.
13567
13568 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
13569
13570         * m4/jm-macros.m4: Sync from coreutils.
13571         (gl_MACROS): Check for mbrlen, for pathchk.
13572         (gl_CHECK_ALL_TYPES): Require AC_TYPE_MBSTATE_T, for pathchk.
13573
13574 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
13575
13576         * lib/xreadlink.c (MAXSIZE): New macro.
13577         (xreadlink): Use it instead of SSIZE_MAX.  Ensure initial buffer
13578         size does not exceed MAXSIZE.  Avoid cast.
13579         As suggested by Mark D. Baushke in
13580         <http://lists.gnu.org/archive/html/bug-gnulib/2004-11/msg00009.html>,
13581         if readlink fails with buffer size just under MAXSIZE, try again
13582         with MAXSIZE.
13583
13584 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
13585
13586         * config/srclist.txt: Add mktime.c; glibc bought all our changes.
13587
13588 2004-11-02  Derek R. Price  <derek@ximbiot.com>
13589         and  Paul Eggert  <eggert@cs.ucla.edu>
13590
13591         * lib/getdate.y [!TEST]: Include <stdio.h>, since we use sprintf now.
13592         (get_date): Overparenthesize to avoid GCC warning.
13593
13594 2004-11-02  Bruno Haible  <bruno@clisp.org>
13595
13596         * m4/setenv.m4 (gt_FUNC_SETENV): Define VOID_UNSETENV if unsetenv()
13597         returns void.
13598
13599 2004-11-02  Bruno Haible  <bruno@clisp.org>
13600
13601         * lib/setenv.h (unsetenv): Define as a macro if the system's unsetenv()
13602         function returns void.
13603
13604 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
13605
13606         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for declarations of
13607         fflush_unlocked, flockfile, funlockfile, funlockfile,
13608         fputs_unlocked, putc_unlocked.
13609
13610 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
13611
13612         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
13613         (funlockfile, fputs_unlocked, putc_unlocked): Don't define if
13614         already declared.
13615
13616 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
13617
13618         * modules/getdate (Files): Add doc/getdate.texi.
13619         (Depends-on): Add setenv, xalloc.
13620
13621 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
13622
13623         * lib/getdate.y: Add support for TZ="foo" within a date string.
13624         Fix some bugs near time_t boundaries.  Reject dates with
13625         out-of-range components, e.g., "Sept 31".
13626         Include <stdlib.h>, "setenv.h", "xalloc.h".
13627         (ISDIGIT_LOCALE): Remove; unused.
13628         Note that the TZ and time functions used here are not reentrant.
13629         (mktime_ok, get_tz): New functions.
13630         (TZBUFSIZE): New constant.
13631         (get_date): Parse leading TZ="foo".  Reject out-of-range components;.
13632         This requires that we sometimes generate our own TZ="XXX..." setting.
13633
13634 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
13635
13636         * doc/getdate.texi: New file, from coreutils with modifications for
13637         the new TZ parsing.
13638
13639 2004-10-27  Derek R. Price  <derek@ximbiot.com>
13640
13641         * lib/mktime.c (not_equal_tm): Remove redundant check.
13642
13643 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
13644
13645         * modules/regex (lib_SOURCES): Add regex.c.
13646         Reported by James Youngman in
13647         <http://lists.gnu.org/archive/html/bug-gnulib/2004-10/msg00199.html>.
13648
13649 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
13650
13651         * lib/getdate.y: Use Bison 1.875 features, and some minor
13652         code cleanups.  This change does not affect semantics.
13653         Don't include <stdlib.h>; no longer needed.
13654         Don't include unlocked-io.h; only the "#if TEST" code uses
13655         stdio, and performance isn't crucial there.
13656         (PC, YYLEX_PARAM, YYPARSE_PARAM): Remove; replaced by
13657         Bison 1.875 features as described below.
13658         All uses of "PC." replaced by "pc->".
13659         (YYSTYPE): Add a forward declaration.
13660         (yylex, yyerror): Use full prototypes in forward decls.
13661         Use "%pure-parser" rather than obsolescent "%pure_parser".
13662         Use %parse-param and %lex-param instead of obsolescent
13663         YYPARSE_PARAM and YYLEX_PARAM.
13664         (meridian_table, month_and_day_table, time_units_table,
13665         relative_time_table, time_zone_table, military_table,
13666         lookup_zone, lookup_word, get_date):
13667         Use NULL instead of 0 where appropriate.
13668         (to_hour): Avoid abort (), to avoid a dependency on
13669         stdlib.h.
13670         (yyerror, yylex): Now accepts parser_control * arg.
13671         (main) [TEST]: Use '\0' rather than 0 for char.
13672
13673 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
13674
13675         * m4/getpagesize.m4 (gl_GETPAGESIZE): Check for <sys/param.h>.
13676
13677 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
13678
13679         * lib/getpagesize.c (getpagesize): Don't assume <sys/param.h> exists.
13680         It's now the caller's responsibility to handle the case where
13681         !HAVE_GETPAGESIZE && !defined getpagesize.
13682
13683         * lib/mktime.c (leapyear): Arg is long int, not int.
13684
13685 2004-10-18  Paul Eggert  <eggert@cs.ucla.edu>
13686
13687         * lib/argp-fs-xinl.c, argp-xinl.c: Update from glibc.
13688
13689 2004-10-17  Paul Eggert  <eggert@cs.ucla.edu>
13690
13691         * gnulib-tool (func_emit_lib_Makefile_am): Fix typo: a $ was
13692         missing.  Problem reported by James Youngman.
13693
13694 2004-10-16  Simon Josefsson  <jas@extundo.com>
13695
13696         * gnulib-tool: Fix comments.  Fix parse problem.
13697         (func_emit_lib_Makefile_am): Don't hard code a in libgl_a_SOURCES.
13698
13699 2004-10-15  Paul Eggert  <eggert@cs.ucla.edu>
13700
13701         * m4/getopt.m4 (gl_GETOPT): Detect and reject the incompatible BSD
13702         implementation of getopt_long.  Problem reported by Alexander Taler in:
13703         http://lists.gnu.org/archive/html/bug-gnulib/2004-10/msg00103.html
13704
13705 2004-10-15  Bruno Haible  <bruno@clisp.org>
13706
13707         * gnulib-tool: Untabify. Initialize supplied_libname.
13708         (func_usage): More homogenous output.
13709         (func_modules_transitive_closure, func_modules_to_filelist,
13710         func_emit_lib_Makefile_am): New functions.
13711         (func_import): New function, extracted from big case statement. Use
13712         func_get_license, func_modules_transitive_closure,
13713         func_modules_to_filelist, func_emit_lib_Makefile_am. Initialize
13714         opt_lgpl. Don't use test -a, as it's not portable.
13715         (func_create_testdir): Use func_modules_transitive_closure,
13716         func_modules_to_filelist, func_emit_lib_Makefile_am.
13717
13718 2004-10-15  Bruno Haible  <bruno@clisp.org>
13719
13720         * gnulib-tool (func_import): Let gl_INIT define LTALLOCA when needed.
13721
13722 2004-10-15  Bruno Haible  <bruno@clisp.org>
13723
13724         * gnulib-tool (func_emit_lib_Makefile_am): Add markers to separate
13725         the portions belonging to each module.
13726         Suggested by Derek Robert Price <derek@ximbiot.com>.
13727
13728 2004-10-12  Simon Josefsson  <jas@extundo.com>
13729
13730         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
13731         (fputs_unlocked, putc_unlocked) [!_LIBCS && !USE_UNLOCKED_IO]: Map
13732         to real functions.
13733
13734 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
13735
13736         * modules/vsnprintf: New file.
13737
13738 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
13739
13740         * m4/vsnprintf.m4: New file.
13741
13742 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
13743
13744         * lib/vsnprintf.h: New file.
13745         * lib/vsnprintf.c: New file.
13746
13747 2004-10-11  Bruno Haible  <bruno@clisp.org>
13748
13749         * MODULES.html.sh (Support for systems lacking ISO C 99): Add
13750         vsnprintf.
13751
13752 2004-10-10  Paul Eggert  <eggert@cs.ucla.edu>
13753
13754         * config/srclistvars.sh: Add GNUSTANDARDS (for eggert only).
13755
13756 2004-10-07  Bruno Haible  <bruno@clisp.org>
13757
13758         * lib/snprintf.c (snprintf): Avoid a memory allocation if the result
13759         fits into the provided buffer.
13760
13761 2004-10-06  Paul Eggert  <eggert@cs.ucla.edu>
13762
13763         * lib/diacrit.c, diacrit.h: Add GPL notice.
13764
13765         * lib/atanl.c, logl.c: Add GPL notice, to match glibc's added LGPL
13766         notice.
13767         * lib/atanl.c (atanl): Keep the code as similar to glibc as possible.
13768         * lib/logl.c (logl): Keep the code as similar to glibc as possible.
13769         This avoids a potential constant-folding bug.
13770
13771 2004-10-05  Bruno Haible  <bruno@clisp.org>
13772
13773         * m4/strsep.m4 (gl_FUNC_STRSEP): Require AC_GNU_SOURCE. Don't check
13774         for the declaration of strsep.
13775
13776 2004-10-05  Bruno Haible  <bruno@clisp.org>
13777
13778         * lib/strsep.h: Don't declare strsep() if HAVE_STRSEP.
13779
13780 2004-10-04  Simon Josefsson  <jas@extundo.com>
13781
13782         * modules/memmem: New file.
13783         * tests/test-memmem.c: New file.
13784         * MODULES.html.sh (Extra functions based on ANSI C 89): Add memmem.
13785
13786 2004-10-04  Simon Josefsson  <jas@extundo.com>
13787
13788         * m4/memmem.m4: New file.
13789
13790 2004-10-04  Simon Josefsson  <jas@extundo.com>
13791
13792         * lib/memmem.h: New file.
13793         * lib/memmem.c: New file, taken from glibc.
13794
13795 2004-10-04  Simon Josefsson  <jas@extundo.com>
13796
13797         * lib/error.c, md5.c, regex.c: Use '#if USE_UNLOCKED_IO' instead of
13798         '#ifdef USE_UNLOCKED_IO'.
13799
13800 2004-10-04  Simon Josefsson  <jas@extundo.com>
13801
13802         * config/srclist.txt: Add memmem from glibc.
13803
13804 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
13805
13806         * modules/xalloc (Files, Makefile.am): Remove xstrdup.c.
13807
13808         * modules/argmatch, modules/argp, modules/closeout, modules/error,
13809         modules/exclude, modules/getdate, modules/getline,
13810         modules/getndelim2, modules/getpass, modules/getpass-gnu,
13811         modules/getusershell, modules/linebuffer, modules/md5,
13812         modules/mountlist, modules/posixtm, modules/readtokens,
13813         modules/readutmp, modules/regex, modules/sha1,
13814         modules/version-etc, modules/yesno:
13815         Remove dependency on unlocked-io.
13816
13817 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
13818
13819         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Remove.  All uses removed.
13820
13821         * m4/unlocked-io.m4: Add copyright notice.
13822         (gl_FUNC_GLIBC_UNLOCKED_IO): Define USE_UNLOCKED_IO.
13823
13824 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
13825
13826         * lib/xalloc.h (xmemdup): Renamed from xclone.  All uses changed.
13827         * lib/xmalloc.c (xmemdup): Likewise.
13828         * lib/xalloc.h (CCLONE, CLONE, NEW, XCALLOC, XMALLOC, XREALLOC,
13829         XFREE): Remove these long-obsolescent macros.
13830         * lib/xmalloc.c (xstrdup): Implementation moved here from xstrdup.c
13831         * lib/xstrdup.c: Remove.
13832
13833         * lib/regex.c (re_comp): Cast gettext return value to char *,
13834         Problem reported by Martin Neitzel via Mark D. Baushke.
13835
13836 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
13837
13838         * lib/argmatch.c, closeout.c, error.c, exclude.c, getdate.y,
13839         getndelim2.c, getpass.c, getusershell.c, linebuffer.c,
13840         md5.c, mountlist.c, posixtm.c, readtokens.c, readutmp.c,
13841         regex.c, sha1.c, version-etc.c, yesno.c:
13842         Include "unlocked-io.h" only if USE_UNLOCKED_IO.
13843         * lib/unlocked-io.h: Don't worry about USE_UNLOCKED_IO; that's now
13844         the includer's responsibility.
13845
13846         Sync from coreutils.
13847
13848         * lib/modechange.c (mode_compile): Don't decrement a pointer that
13849         points to the start of a string, as the C Standard says the
13850         resulting behavior is undefined.
13851
13852         * lib/backupfile.h (enum backuptype): Rename none -> no_backups,
13853         simple -> simple_backups, numbered_existing ->
13854         numbered_existing_backups, numbered -> numbered_backups
13855         to avoid shadowing problems.  All uses changed.
13856         * lib/argmatch.c (enum backuptype) [defined TEST]: Likewise.
13857         * lib/backupfile.c (check_extension, numbered_backup):
13858         Rename locals to avoid shadowing 'basename'.
13859         * lib/backupfile.h (VALID_BACKUP_TYPE): Don't evaluate arg more than
13860         once.
13861
13862         * lib/.cppi-disable: Add getopt_.h, getopt_int.h.
13863         * lib/.cvsignore: Add getopt.h.
13864
13865 2004-10-04  Bruno Haible  <bruno@clisp.org>
13866
13867         * modules/README: New file.
13868         * gnulib-tool (func_all_modules, func_verify_module): modules/README is
13869         not a module.
13870
13871 2004-10-02  Jim Meyering  <jim@meyering.net>
13872
13873         * lib/dirfd.h, getpagesize.h: Add copyright notice.
13874
13875 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
13876
13877         * modules/strsep: New file.
13878
13879 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
13880
13881         * m4/strsep.m4: New file.
13882
13883 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
13884
13885         * lib/strsep.h: New file.
13886         * lib/strsep.c: New file.
13887
13888 2004-10-01  Simon Josefsson  <jas@extundo.com>
13889
13890         * lib/snprintf.c (snprintf): Handle size==0.
13891
13892 2004-10-01  Simon Josefsson  <jas@extundo.com>
13893             Bruno Haible  <bruno@clisp.org>
13894
13895         * lib/snprintf.c: Include <stdarg.h>, <stdlib.h>, <string.h>.
13896         (snprintf): Declare 'args'.
13897
13898 2004-10-01  Paul Eggert  <eggert@cs.ucla.edu>
13899
13900         * lib/snprintf.c: Remove comments as to why each header is needed.
13901
13902 2004-10-01  Bruno Haible  <bruno@clisp.org>
13903
13904         * MODULES.html.sh: Add strsep.
13905
13906 2004-09-30  Simon Josefsson  <jas@extundo.com>
13907
13908         * modules/snprintf: New file.
13909
13910 2004-09-30  Simon Josefsson  <jas@extundo.com>
13911
13912         * m4/snprintf.m4: New file.
13913
13914 2004-09-30  Simon Josefsson  <jas@extundo.com>
13915
13916         * lib/snprintf.h, lib/snprintf.c: New files.
13917
13918 2004-09-30  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
13919
13920         * lib/argp-help.c (canon_doc_option): Fixed coredump if *name==NULL
13921         (hol_entry_help): Never translate an empty string.
13922         Do not translate option tag (opt->name) if OPTION_NO_TRANS is set
13923         * lib/argp.h (OPTION_NO_TRANS): New option.
13924
13925 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
13926
13927         * modules/argp (Maintainer): Replace Simon Josefsson
13928         by Sergey Poznyakoff.
13929
13930 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
13931
13932         * config/srclist.txt: Comment-out argp/argp.h, until we get the argp
13933         changes merged back into glibc.
13934
13935 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
13936
13937         * MODULES.html.sh (Support for systems lacking ISO C 99): Add snprintf.
13938
13939 2004-09-29  Oskar Liljeblad  <oskar@osk.mine.nu>
13940
13941         * lib/xvasprintf.c: Include xalloc.h.
13942         (xvasprintf): Use xalloc_die, not xmalloc_die.
13943
13944 2004-09-29  Bruno Haible  <bruno@clisp.org>
13945
13946         * modules/alloca-opt: New file, derived from modules/alloca.
13947         * modules/allocsa: Depend on alloca-opt instead of alloca.
13948         * modules/setenv: Likewise.
13949         * modules/vasnprintf: Likewise.
13950         * MODULES.html.sh: Add alloca-opt.
13951
13952 2004-09-28  Simon Josefsson  <jas@extundo.com>
13953
13954         * gnulib-tool: New parameter --lgpl, to asseert that modules are
13955         LGPL, and to replace license template from GPL to LGPL.
13956
13957 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
13958
13959         * modules/dummy: Change license to LGPL.
13960
13961 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
13962
13963         * lib/dummy.c: Change copyright notice to FSF, and license to GPL.
13964
13965 2004-09-24  Simon Josefsson  <jas@extundo.com>
13966
13967         * modules/minmax (License): Change from GPL to LGPL.
13968
13969 2004-09-23  Simon Josefsson  <jas@extundo.com>
13970
13971         * gnulib-tool (--import): Typo.
13972
13973 2004-09-23  Simon Josefsson  <jas@extundo.com>
13974
13975         * gnulib-tool (--import): Make sure *.m4 end up in m4/ by default.
13976
13977 2004-09-22  Bruno Haible  <bruno@clisp.org>
13978
13979         * modules/*: Add 'License' field.
13980         * gnulib-tool: Accept --extract-license option.
13981         (func_get_license): New function.
13982
13983 2004-09-21  Bruno Haible  <bruno@clisp.org>
13984
13985         * modules/vasnprintf (Files): Add m4/stdint_h.m4, m4/inttypes_h.m4.
13986         Reported by Simon Josefsson.
13987
13988 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
13989
13990         * modules/inttostr (Files): Add m4/longlong.m4, since it uses
13991         gl_AC_TYPE_LONG_LONG.
13992
13993 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
13994
13995         * config/srclist.txt: Add getsubopt.c, since libc bought our changes.
13996
13997 2004-09-18  Simon Josefsson  <jas@extundo.com>
13998         and  Paul Eggert  <eggert@cs.ucla.edu>
13999
14000         * gnulib-tool: Replace various ad-hoc automake/autoconf/aclocal
14001         calls with autoreconf.  Define GL_LIB.
14002
14003 2004-09-14  Karl Berry  <karl@gnu.org>
14004
14005         * config/srclist.txt: unsync setenv.c, sigh.
14006
14007 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
14008
14009         * lib/argp-pvh.c (argp_program_version_hook): Provide initial value.
14010         Problem reported by Bruno Haible in:
14011         http://lists.gnu.org/archive/html/bug-tar/2004-09/msg00023.html
14012
14013 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
14014
14015         * config/srclist.txt: Comment out argp-pvh.c.
14016
14017 2004-09-11  Paul Eggert  <eggert@cs.ucla.edu>
14018
14019         * lib/mempcpy.h: Wrap the entire include file inside #ifndef mempcpy,
14020         in case some system header has #define'd it.  Problem reported by
14021         Soeren D. Schulze in
14022         <http://lists.gnu.org/archive/html/bug-gnulib/2004-09/msg00017.html>.
14023
14024 2004-09-09  Karl Berry  <karl@gnu.org>
14025
14026         * regex.[ch]: delete from the root.  These were supposed to be
14027                 synced with emacs cvs, but this has not happened for about
14028                 a year, and anyway nothing else uses emacs regex.[ch].
14029                 bug-gnulib mail from Jeff Bailey, 9 Sep 2004 15:49:24 -0700.
14030                 lib/regex[.ch] is untouched.
14031
14032 2004-09-09  Bruno Haible  <bruno@clisp.org>
14033
14034         * modules/vasnprintf (Files): Add m4/eoverflow.m4.
14035
14036 2004-09-09  Bruno Haible  <bruno@clisp.org>
14037
14038         * m4/eoverflow.m4: New file, taken from GNU libiconv eilseq.m4 with
14039         modifications.
14040         * m4/vasnprintf.m4 (gl_FUNC_VASNPRINTF): Require gl_EOVERFLOW.
14041
14042 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
14043
14044         * modules/xvasprintf: New file.
14045         * MODULES.html.sh (Extra functions based on ANSI C 89): Add vasprintf.
14046
14047 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
14048
14049         * lib/xvasprintf.h: New file.
14050         * lib/xvasprintf.c: New file.
14051         * lib/xasprintf.c: New file.
14052
14053 2004-09-08  Bruno Haible  <bruno@clisp.org>
14054
14055         * m4/stdint.m4: New file, taken from GNU clisp with modifications.
14056
14057 2004-09-08  Bruno Haible  <bruno@clisp.org>
14058
14059         * lib/vasnprintf.c (VASNPRINTF): Signal EOVERFLOW if the resulting
14060         length is > INT_MAX.
14061         * lib/vasprintf.c (vasprintf): Don't test for length > INT_MAX any
14062         more.
14063
14064 2004-09-08  Bruno Haible  <bruno@clisp.org>
14065
14066         * lib/stdint_.h: New file, taken from GNU clisp.
14067
14068 2004-09-08  Bruno Haible  <bruno@clisp.org>
14069             Oskar Liljeblad  <oskar@osk.mine.nu>
14070
14071         * modules/stdint: New file.
14072         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdint.
14073
14074 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
14075
14076         Import from coreutils.
14077         * lib/userspec.c: Don't use <alloca.h>, so that we don't use alloca on
14078         strings on unbounded length.  alloca's performance benefits aren't
14079         that important here.
14080         (V_STRDUP): Remove.
14081         (parse_with_separator): New function, with most of the internals
14082         of the old parse_user_spec.  Allow user to omit both user and group,
14083         for compatibility with FreeBSD.
14084         Clone only the user name, not the entire spec.
14085         Do not set *uid, *gid unless entirely successful.
14086         Avoid memory leak in some failing cases.
14087         Fix regression for USER.GROUP reported by Dmitry V. Levin in
14088         <http://lists.gnu.org/archive/html/bug-coreutils/2004-08/msg00102.html>
14089         (parse_user_spec): Rewrite to use parse_with_separator.
14090
14091 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
14092
14093         * modules/userspec: Don't depend on alloca.
14094
14095 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
14096
14097         * m4/userspec.m4 (gl_USERSPEC): Don't require AC_FUNC_ALLOCA.
14098
14099 2004-08-17  Paul Eggert  <eggert@cs.ucla.edu>
14100
14101         * MODULES.html.sh: Add xalloc-die, c-strtod, c-strtold, raise,
14102         readtokens0, getcwd, fcntl-safer, canonicalize, cycle-check,
14103         utimecmp, utimens, xnanosleep.  Rename sha to sha1.
14104
14105 2004-08-16  Simon Josefsson  <jas@extundo.com>
14106
14107         * gnulib-tool: Use sed instead of autoconf --trace, inspired by
14108         libtoolize behaviour by "Gary V. Vaughan" <gary@gnu.org>.
14109         Add --dry-run for --import.
14110         Let user provided command line parameters override configure.ac
14111         settings.
14112
14113 2004-08-12  Simon Josefsson  <jas@extundo.com>
14114
14115         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): New macro,
14116         as discussed with Paul Eggert in threads rooted at
14117         <http://lists.gnu.org/archive/html/bug-gnulib/2004-06/msg00039.html>
14118         and
14119         <http://lists.gnu.org/archive/html/bug-gnulib/2004-07/msg00001.html>.
14120         Before, the test was empty, and relied on ELIDE_CODE in source
14121         code.)
14122         (gl_PREREQ_GETOPT): New macro.
14123         (gl_GETOPT): Use them.
14124
14125 2004-08-12  Simon Josefsson  <jas@extundo.com>
14126
14127         * lib/getopt.c, getopt1.c: Remove ELIDE_CODE hack.
14128         * lib/getopt_.h: Renamed from getopt.h.
14129
14130 2004-08-12  Simon Josefsson  <jas@extundo.com>
14131
14132         * gnulib-tool: Add --source-base, --m4-base, --libtool options.
14133         Change default library name from libfoo to libgnu.
14134         Now, if you have a configure.ac that says:
14135                 gl_SOURCE_BASE(gl)
14136                 gl_M4_BASE(gl/m4)
14137                 gl_MODULES(error getopt etcetera)
14138                 gl_INIT
14139         you can import all you need by running:
14140                 ../gnulib/gnulib-tool --import
14141
14142         * modules/getopt (Files): Rename getopt.h to getopt_.h.
14143         (Makefile.am): Rewrite, use logic from argz.
14144         (Include): Use <getopt.h> instead of "getopt.h".
14145
14146 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
14147
14148         * modules/argp (Files): Add m4/unlocked-io.m4.
14149         (Depends-on): Add extensions.
14150
14151 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
14152
14153         * m4/argp.m4 (gl_ARGP): Do not check for argp.h or argp_parse; nobody
14154         uses HAVE_ARGP_H or HAVE_ARGP_PARSE.
14155         Require gl_FUNC_GLIBC_UNLOCKED_IO, gl_USE_SYSTEM_EXTENSIONS.
14156         Check for program_invocation_name, program_invocation_short_name,
14157         flockfile, funlockfile, features.h, _getopt_long_only_r.
14158
14159 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
14160
14161         * lib/argp-help.c, argp-parse.c: Use "gettext.h" instead of
14162         its complicated substitute.
14163         * lib/argp-help.c: Include <errno.h>, for program_invocation_short_name
14164         and program_invocation_name.
14165         (__argp_basename) [!_LIBC]: Remove; the only use was
14166         replaced by its body.
14167         (__argp_short_program_name): Change condition from
14168         !defined __argp_short_program_name to
14169         ! (defined _LIBC || HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME),
14170         to match argp-namefrob.h.
14171         (__argp_failure): Don't assume strerror_r returns char *.
14172         * lib/argp-parse.c (N_): Define unconditionally.
14173         (argp_default_options): Fill out initializers with 0 to avoid
14174         gcc warnings.
14175
14176 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
14177
14178         * config/srclist.txt: Remove getopt.c, getopt.h (renamed to getopt_.h),
14179         getopt1.c.
14180
14181 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
14182
14183         Merge from coreutils.
14184
14185         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for wmemchr and wmemcpy.
14186
14187         * m4/obstack.m4 (gl_PREREQ_OBSTACK): Require
14188         gl_AC_HEADER_INTTYPES_H, gl_AC_HEADER_STDINT_H, gl_AC_TYPE_UINTMAX_T.
14189
14190 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
14191
14192         Merge from coreutils.
14193
14194         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Don't set to 1 if missing
14195         wmemchr or wmemcpy.  Problem reported by Robert Dahlem
14196         for Reliant Unix 5.43.
14197
14198         * lib/obstack.c: Include <inttypes.h> and <stdint.h> if available.
14199         (union fooround): Use uintmax_t, not long int.
14200         The rest is a merge from libc:
14201         [defined _LIBC]: Include <shlib-compat.h>.
14202         (_obstack) [defined _LIBC]: Remove after 2.3.4.
14203
14204         * lib/settime.c (settime): Recode to avoid warning with
14205         Sun Forte C 6U2.
14206
14207         * lib/strverscmp.c: Convert to UTF-8.
14208
14209 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
14210
14211         * modules/obstack (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
14212         m4/uintmax_t.m4.
14213
14214 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
14215
14216         * modules/xalloc-die: New file.
14217         * modules/xalloc: Remove dependencies on error, gettext, exitfail.
14218
14219         * modules/md5 (Files): Add m4/uint32_t.m4.
14220         * modules/sha1: Renamed from modules/sha.
14221         (Files):
14222         Rename lib/sha.h to lib/sha1.h.
14223         Rename lib/sha.c to lib/sha1.c.
14224         Rename m4/sha.m4 to m4/sha1.m4.
14225         (lib_SOURCES): Likewise.
14226         (configure.ac): Rename gl_SHA to gl_SHA1.
14227         (Include): sha.h -> sha1.h.
14228
14229 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
14230
14231         * m4/uint32_t.m4, m4/uintptr_t.m4: New files.
14232         * m4/sha1.m4: Renamed from sha.m4.
14233         (gl_SHA1): Renamed from gl_SHA.  All uses changed.
14234
14235 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
14236
14237         * lib/obstack.h (obstack_empty_p):
14238         Don't assume that chunk->contents is suitably aligned.
14239         * lib/obstack.c (_obstack_begin, _obstack_begin_1, _obstack_newchunk):
14240         Likewise. Problem reported by Benno in
14241         <http://sources.redhat.com/ml/libc-alpha/2004-08/msg00055.html>.
14242
14243         * lib/chown.c (rpl_chown): Work even if the file is writeable but not
14244         readable.  This could be improved further but it'd take some work.
14245
14246 2004-08-08  Simon Josefsson  <jas@extundo.com>
14247
14248         * modules/xgethostname (Depends-on): Remove exit and error (not
14249         used).
14250
14251         * modules/getpass-gnu: Add getpass.h.
14252         (Depends-on): Add stdbool.
14253         * modules/getpass: Add getpass.h.
14254
14255 2004-08-08  Simon Josefsson  <jas@extundo.com>
14256
14257         * m4/getpass.m4 (gl_FUNC_GETPASS, gl_FUNC_GETPASS_GNU):
14258         Check getpass declaration.
14259
14260 2004-08-08  Simon Josefsson  <jas@extundo.com>
14261
14262         * lib/xgethostname.c: Don't include error.h (not used).
14263
14264         * lib/getpass.h: Add.
14265         * lib/getpass.c: Include getpass.h first.
14266
14267 2004-08-08  Paul Eggert  <eggert@cs.ucla.edu>
14268
14269         * lib/xalloc-die.c: New file.
14270         * lib/xalloc.h (xalloc_fail_func, xalloc_msg_memory_exhausted): Remove.
14271         All uses removed.
14272         * lib/xmalloc.c (xalloc_fail_func, xalloc_msg_memory_exhausted):
14273         Likewise. Move inclusions of gettext.h, error.h, exitfail.h to
14274         xalloc-die.c.
14275         (_, N_, xalloc_die): Move to xalloc-die.c.
14276         * lib/userspec.c (parse_user_spaec): Use xstrdup rather than strdup,
14277         so that we needn't mess with xalloc_msg_memory_exhausted.
14278
14279         * lib/sha1.h: Renamed from sha.h.
14280         (SHA1_H): Renamed from _SHA_H.
14281         (sha1_ctx): Renamed from sha_ctx.
14282         (sha1_init_ctx): Renamed from sha_init_ctx.
14283         (sha1_process_block): Renamed from sha_process_block.
14284         (sha1_process_bytes): Renamed from sha_process_bytes.
14285         (sha1_finish_ctx): Renamed from sha_finish_ctx.
14286         (sha1_read_ctx): Renamed from sha_read_ctx.
14287         (sha1_stream): Renamed from sha_stream.
14288         (sha1_buffer): Renamed from sha_buffer.
14289         * lib/sha1.c: Likewise; renamed from sha.c.
14290         Do not include <sys/types.h>.
14291         Include <stddef.h> rather than <stdlib.h>.
14292
14293 2004-08-08  Bruno Haible  <bruno@clisp.org>
14294
14295         * lib/pathname.h (FILE_SYSTEM_PREFIX_LEN): Renamed from
14296         FILESYSTEM_PREFIX_LEN.
14297         * lib/progreloc.c: Likewise.
14298         * lib/concatpath.c (concatenated_pathname): Use FILE_SYSTEM_PREFIX_LEN.
14299
14300 2004-08-06  Simon Josefsson  <jas@extundo.com>
14301
14302         * modules/progname (Depends-on): Don't depend on stdbool.
14303
14304 2004-08-06  Simon Josefsson  <jas@extundo.com>
14305
14306         * modules/getsubopt: New file.
14307         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
14308         getsubopt.
14309
14310 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
14311
14312         More merge from coreutils.
14313
14314         * m4/utimens.m4, m4/utimecmp.m4: New files.
14315         * m4/backupfile.m4, euidacces.m4, acl.m4, afs.m4, calloc.m4, dirfd.m4,
14316         fsusage.m4, jm-macros.m4, ls-mntd-fs.m4, md5.m4, mountlist.m4,
14317         prereq.m4, sha.m4: Import changes from coreutils.
14318
14319 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
14320
14321         More merge from coreutils.
14322         * modules/raise, modules/readtokens0, modules/utimens:
14323         * modules/utimecmp, module/xnanosleep: New files.
14324         * modules/strftime: Add lib/strftime.h.
14325         Change include from <time.h> to "strftime.h".
14326         * modules/yesno: Add lib/yesno.h.
14327         * modules/backupfile: Remove lib/addext.c.
14328         * modules/euidaccess: Add stat-macros.h.
14329         * modules/canonicalize, modules/euidaccess,
14330         modules/filemode, modules/lchown, modules/makepath,
14331         modules/rmdir, modules/stat: Likewise.
14332
14333 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
14334
14335         Merge from tar.
14336         * lib/argp-help.c (make_hol, hol_append): Don't assume that
14337         SIZE_MAX is a valid preprocessor constant.
14338         (__argp_basename): Change from "#ifndef _LIBC"
14339         to "#ifndef __argp_short_program_name", so that
14340         we don't compile these functions for tar.
14341
14342         More merges from coreutils.
14343         * lib/raise.c, lib/readtokens0.h, lib/readtokens0.c, lib/strftime.h:
14344         * lib/utimens.h, lib/utimens.c, lib/utimecmp.h, lib/utimecmp.c:
14345         * lib/xnanosleep.h, lib/xnanosleep.c, lib/yesno.h: New files.
14346         * lib/addext.c: Remove; no longer needed.
14347         * lib/yesno.c, lib/argmatch.h, lib/argmatch.c, lib/backupfile.h,
14348         lib/backupfile.c, lib/euidaccess.c, lib/filemode.c, lib/closeout.c,
14349         lib/dup2.c, lib/exclude.c, lib/fileblocks.c, lib/filemode.c,
14350         lib/fnmatch.c, lib/fnmtahc_loop.c, lib/fopen-safer.c, lib/fsusage.c,
14351         lib/fsusage.h, lib/ftruncate.c, lib/full-write.c, lib/getdate.y,
14352         lib/getloadavg.c, lib/getugroups.c, lib/hard-locale.c,
14353         lib/hard-locale.h, lib/hash.c, lib/human.c, lib/human.h, lib/lchown.c,
14354         lib/lchown.h, lib/makepath.c, lib/makepath.h, lib/md5.c, lib/md5.h,
14355         lib/memchr.c, lib/memcoll.c, lib/memrchr.c, lib/modechange.c,
14356         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
14357         lib/posixtm.c, lib/putenv.c, quotearg.c, lib/quotearg.h,
14358         lib/readtokens.c, lib/readutmp.c, lib/readutmp.h, lib/rmdir.c,
14359         lib/safe-read.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c,
14360         lib/sig2str.c, lib/stat.c, lib/strtoimax.c, lib/strverscmp.c,
14361         lib/userspec.c, lib/utime.c, lib/version-etc.c., lib/xgethostname.c,
14362         lib/xmemcoll.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtod.h,
14363         lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h, lib/xstrtoumax.c:
14364         Import changes from coreutils.
14365
14366 2004-08-05  Simon Josefsson  <jas@extundo.com>
14367
14368         * m4/strdup.m4: Always run gl_PREREQ_STRDUP, since strdup.h need it.
14369
14370 2004-08-05  Simon Josefsson  <jas@extundo.com>
14371
14372         * m4/getsubopt.m4: New file.
14373
14374 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
14375
14376         Merge from coreutils.
14377
14378         * m4/c-strtod.m4, m4/canonicalize.m4, m4/fcntl-safer.m4:
14379         * m4/getcwd-path-max.m4: New files.
14380
14381         * m4/dos.m4 (gl_AC_DOS): filesystem -> file system renaming.
14382         FILESYSTEM_PREFIX_LEN ->
14383         FILE_SYSTEM_PREFIX_LEN.
14384         FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX ->
14385         FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX.
14386         FILESYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR ->
14387         FILE_SYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR.
14388
14389         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't require gl_AC_DOS, the
14390         prerequisite modules now handle the DOS stuff.
14391         Don't check for unistd.h.
14392
14393 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
14394
14395         Merge from coreutils.
14396
14397         * lib/.gdb-history: Remove; this doesn't belong here.
14398
14399         * lib/c-strtod.c, lib/c-strtod.h, lib/c-strtold.c, lib/cycle-check.c:
14400         * lib/cycle-check.h, lib/dev-ino.h, lib/canonicalize.h:
14401         * lib/canonicalize.c, lib/fcntl-safer.h, lib/fcntl-safer.c:
14402         * lib/getcwd.c: New files.
14403
14404         * lib/dirname.h: Include <stdbool.h>.
14405         (FILE_SYSTEM_PREFIX_LEN): Renamed from FILESYSTEM_PREFIX_LEN,
14406         for consistency with POSIX terminology.  All uses changed.
14407         (IS_ABSOLUTE_FILE_NAME, IS_RELATIVE_FILE_NAME): New macros.
14408         (strip_trailing_slashes): Use bool for booleans.
14409         * lib/stripslash.c (strip_trailing_slashes): Likewise.
14410
14411         * lib/error.c: Work around bug in OpenBSD 3.4 sterror_r: it
14412         sometimes returns a positive errno value even when it succeeds.
14413         (print_errno_message) [!LIBC]: Fall back on strerror if
14414         __strerror_r fails.
14415
14416         * lib/path-concat.c (mempcpy): Don't define if a system header defines
14417         it. Don't include stdio.h, stdlib.h, unistd.h, strdup.h.
14418         (longest_relative_suffix): New function.
14419         (path_concat): Use it.  Assume first argument is not NULL.
14420         Port to DOS.  Omit redundant separators.
14421         Report an error instead of returning NULL.
14422         Use mempcpy instead of memcpy.
14423         (xpath_concat): Remove: not declared or used.
14424
14425         * lib/same.h: Include <stdbool.h>
14426         (same_name): Return bool, not int.
14427         * lib/same.c (same_name): Likewise.
14428         (errno): Don't declare; we assume C89 or better now.
14429
14430         * lib/stat-macros (S_ISCTG, S_ISOFD, S_ISOFL): New macros,
14431         if not already defined.
14432
14433         * lib/xgetcwd.c (errno): Don't declare; we assume C89 or better now.
14434         * lib/dup-safer.c (errno): Likewise.
14435
14436 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
14437
14438         Merge from coreutils.
14439         * modules/c-strtod, modules/c-strtold, modules/canonicalize:
14440         * modules/cycle-check, modules/fcntl-safer, modules/getcwd: New files.
14441         * modules/path-concat: Don't depend on strdup.
14442
14443 2004-08-03  Simon Josefsson  <jas@extundo.com>
14444
14445         * lib/strdup.h: Only use HAVE_DECL_STRDUP if defined.
14446         * lib/progname.h: Don't include stdbool.h.
14447
14448 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
14449
14450         * modules/fatal: Remove, as the "fatal" module wasn't used or working.
14451         * MODULES.html.sh (func_all_modules): Remove fatal.
14452
14453 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
14454
14455         * m4/fatal.m4: Remove, as the "fatal" module wasn't used or working.
14456
14457 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
14458
14459         * lib/fatal.c, fatal.h: Remove as the "fatal" module wasn't used or
14460         working.
14461
14462 2004-08-02  Simon Josefsson  <jas@extundo.com>
14463
14464         * lib/getsubopt.h: New file, with comments from Bruno Haible.
14465         * lib/getsubopt.c: New file, from glibc, but slightly modified based on
14466         suggestions from Paul Eggert <eggert@cs.ucla.edu>.
14467
14468 2004-08-01  Simon Josefsson  <jas@extundo.com>
14469
14470         * lib/xgetdomainname.c: Include stdlib.h, for free().
14471
14472 2004-07-19  Bruno Haible  <bruno@clisp.org>
14473
14474         * MODULES.html.sh (func_all_modules): Add dummy.
14475
14476 2004-07-16  Simon Josefsson  <jas@extundo.com>
14477
14478         * modules/dummy: New file.
14479
14480 2004-07-16  Simon Josefsson  <jas@extundo.com>
14481
14482         * lib/dummy.c: New file.
14483
14484 2004-07-16  Bruno Haible  <bruno@clisp.org>
14485
14486         * lib/backupfile.h: Add extern "C" for C++.
14487         * lib/closeout.h: Likewise.
14488         * lib/copy-file.h: Likewise.
14489         * lib/findprog.h: Likewise.
14490         * lib/full-write.h: Likewise.
14491         * lib/pathname.h: Likewise.
14492         * lib/progname.h: Likewise.
14493         * lib/stpcpy.h: Likewise.
14494         * lib/stpncpy.h: Likewise.
14495         * lib/strcase.h: Likewise.
14496         * lib/strstr.h: Likewise.
14497         * lib/xalloc.h: Likewise.
14498
14499         * lib/mbswidth.h: Add extern "C" for C++.
14500         Reported by Albert Chin-A-Young <china@thewrittenword.com>.
14501
14502 2004-07-13  Robert Millan  <robertmh@gnu.org>
14503
14504         * m4/host-os.m4: s/KNetBSD/kNetBSD/g and s/KFreeBSD/kFreeBSD/g.
14505
14506 2004-07-09  Simon Josefsson  <jas@extundo.com>
14507
14508         * lib/getndelim2.c: Include stddef.h, for ptrdiff_t.  (FreeBSD 4.9
14509         failed without this.)
14510
14511 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
14512
14513         * modules/chown (Files): Add lib/fchown-stub.c, since
14514         gl_PREREQ_CHOWN invokes AC_LIBOBJ(fchown-stub).
14515
14516 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
14517
14518         * lib/fchown-stub.c: New file.
14519
14520 2004-06-24  Jim Meyering  <jim@meyering.net>
14521
14522         * lib/obstack.h (obstack_base): Cast to (void *), per documentation.
14523
14524 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
14525
14526         * modules/argz: Omit "#include".
14527
14528         * MODULES.html.sh (func_all_modules): Add calloc, to match
14529         2004-06-01 addition of calloc module.
14530
14531 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
14532
14533         * m4/argz.m4: New file, which is autoupdated from libtool.
14534
14535 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
14536
14537         * lib/argz.c, lib/argz_.h: New files, which are autoupdated from
14538         libtool.
14539
14540 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
14541
14542         * config/srclist-update: Don't insist on "USA." before the
14543         close-comment, as libtool omits the period and puts the */ on a
14544         separate line.
14545         * config/srclist.txt: Add argz.c, argz_.h, argz.m4.
14546         * config/srclistvars.sh: Add LIBTOOL (for eggert only).
14547
14548 2004-06-22  Gary V. Vaughan  <gary@gnu.org>
14549
14550         * modules/argz: New file.
14551         * MODULES.html.sh (func_all_modules): Add argz.
14552
14553 2004-06-12  Jim Meyering  <jim@meyering.net>
14554         and  Paul Eggert  <eggert@cs.ucla.edu>
14555
14556         * modules/hash (Files): Add lib/xalloc.h.
14557         * modules/pipe (Depends-on): Add wait-process.
14558         * modules/stat (Depends-on): Add xalloc.
14559         * modules/userspec (Files): Add lib/userspec.h.
14560         * modules/xstrto
14561
14562         Upgrade from gettext-0.13.
14563         * modules/gettext (Files): Add m4/intmax.m4, m4/longdouble.m4,
14564         m4/longlong.m4, m4/printf-posix.m4, m4/signed.m4, m4/size_max.m4,
14565         m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4.
14566
14567 2004-06-10  Jim Meyering  <jim@meyering.net>
14568
14569         * lib/calloc.c: New file.
14570
14571 2004-06-06  Paul Eggert  <eggert@cs.ucla.edu>
14572
14573         * lib/getdate.y (yylex): Allow space between sign and number.
14574         Problem reported by Dan Jacobson.
14575
14576 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
14577
14578         Merge from coreutils CVS.
14579
14580         * m4/backupfile.m4, dirname.m4, human.m4, inttypes.m4, longlong.m4,
14581         makepath.m4, memchr.m4, memcmp.m4, mountlist.m4, path-concat.m4,
14582         putenv.m4, quotearg.m4, readutmp.m4, strtoimax.m4, strtoll.m4,
14583         strtoull.m4, strtoumax.m4, ulonglong.m4, vasnprintf.m4,
14584         xstrtol.m4: Fix copyright date and/or serial number.
14585
14586         * m4/chown.m4 (gl_PREREQ_CHOWN): Check for fcntl.h.
14587         See if we need an fchown replacement.
14588         (gl_FUNC_CHOWN_FOLLOWS_SYMLINK): New macro.
14589         (gl_FUNC_CHOWN): Require gl_FUNC_CHOWN_FOLLOWS_SYMLINK,
14590         and use the replacement function if we detect either defect.
14591
14592         * m4/prereq.m4 (gl_PREREQ): Add gl_ALLOCSA, gl_CLOEXEC, gl_INTTOSTR,
14593         gl_UTIMECMP.
14594
14595 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
14596         and  Jim Meyering  <jim@meyering.net>
14597
14598         Merge from coreutils CVS.
14599
14600         * lib/stat-macros.h: New file, with contents from file-type.h
14601         and coreutils' system.h.
14602         * lib/file-type.c: Include "stat-macros.h".
14603         * lib/file-type.h (file_type): Move all macro definitions to new file,
14604         stat-macros.h.
14605
14606         * lib/chown.c (rpl_chown) [CHOWN_FAILS_TO_HONOR_ID_OF_NEGATIVE_ONE]:
14607         Wrap old code with this conditional.
14608         [CHOWN_MODIFIES_SYMLINK]: Try to work around a chown
14609         function that does not dereference symlinks.
14610         * lib/lchown.c (lchown) [CHOWN_MODIFIES_SYMLINK]: Just call chown.
14611
14612         * lib/xreadlink.c: Include xreadlink.h first, to catch .h file
14613         dependency problems.
14614         (xreadlink): Accept new arg SIZE, for efficiency.
14615         All decls and uses changed.
14616         * lib/xreadlink.h: Include <stddef.h>, for size_t.
14617
14618         * lib/.cppi-disable: Add alloca_.h, allocsa.h, exit.h, getndelim2.h,
14619         gettext.h, localcharset.h, strdup.h, strndup.h, strtoul.c, time_r.h.
14620
14621         * lib/.cvsignore: Add alloca.h, fnmatch.h, poll.h, stdbool.h,
14622         sysexits.h.
14623
14624 2004-06-01  Jim Meyering  <jim@meyering.net>
14625
14626         * m4/calloc.m4: New file.
14627
14628 2004-05-31  Paul Eggert  <eggert@cs.ucla.edu>
14629
14630         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Detect _Bool bug in HP aC++/ANSI
14631         C B3910B A.05.55 [Dec 04 2003].  Problem reported by Jim Meyering.
14632         Also, fix a typo in a diagnostic.
14633
14634 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
14635
14636         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Do not require AC_FUNC_MALLOC
14637         or AC_FUNC_REALLOC.
14638
14639 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
14640
14641         * lib/xmalloc.c (HAVE_MALLOC, HAVE_REALLOC): Do not require these
14642         macros to be defined.
14643         (xnmalloc_inline, xnrealloc_inline, xcalloc): Do not die if
14644         the allocator returns NULL because the requested size is zero.
14645
14646 2004-05-20  Paul Eggert  <eggert@cs.ucla.edu>
14647
14648         * lib/malloc/obstack.c (_obstack) [defined _LIBC]: Bring back this
14649         var.  Add comment explaining why libc still defines it.  This
14650         merges the following patch from glibc:
14651         http://sources.redhat.com/ml/libc-alpha/2004-05/msg00157.html
14652
14653 2004-05-20  Andreas Schwab  <schwab@suse.de>
14654
14655         * m4/free.m4: Replace free if it not known to work, not the other
14656         way round.
14657
14658 2004-05-19  Paul Eggert  <eggert@cs.ucla.edu>
14659
14660         * lib/obstack.c (_obstack): Remove unused variable.  It hasn't been
14661         present in glibc since revision 1.1 of this file.
14662         * lib/obstack.h (_obstack_free, obstack_1grow, obstack_1grow_fast,
14663         obstack_alignment_mask, obstack_alloc, obstack_base,
14664         obstack_blank, obstack_blank_fast, obstack_chunk_size,
14665         obstack_copy, obstack_copy0, obstack_finish, obstack_grow,
14666         obstack_grow0, obstack_init, obstack_int_grow,
14667         obstack_int_grow_fast, obstack_make_room, obstack_memory_used,
14668         obstack_next_free, obstack_object_size, obstack_ptr_grow,
14669         obstack_ptr_grow_fast, obstack_room): Remove declarations of
14670         nonexistent functions.
14671
14672 2004-05-18  Karl Berry  <karl@gnu.org>
14673
14674         * config/srclist.txt: break link for vasnprintf.c.
14675
14676 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
14677
14678         Port obstack to the AS/400, where pointers are 16 bytes wide and
14679         you cannot cast an integer to a valid pointer.  This patch is
14680         currently waiting to be integrated into glibc; see
14681         <http://sources.redhat.com/ml/libc-alpha/2004-05/msg00073.html>.
14682
14683         * lib/obstack.h (__PTR_TO_INT, __INT_TO_PTR): Remove.
14684         All uses of __INT_TO_PTR (PTR_TO_INT ...) replaced by __PTR_ALIGN.
14685         (__BPTR_ALIGN, __PTR_ALIGN): New macros.
14686         (struct obstack): temp member is now a union of a pointer and
14687         an integer, instead of an integer.  All integer uses changed.
14688         This does not affect the physical layout of struct obstack,
14689         except on hosts (like the AS/400) where the size or alignment of
14690         void * is greater than that of ptrdiff_t.
14691         (obstack_finish) [! (defined __GNUC__ && defined __STDC__ &&
14692         __STDC__)]: Store temporary in pointer member of union, not
14693         integer member.
14694         * lib/obstack.c: Include <stddef.h>, for offsetof.
14695         (struct fooalign): Remove; it doesn't need a name.
14696         (union fooround): Change double to long double, and add void *.
14697         (DEFAULT_ALIGNMENT): Use offsetof to compute.
14698         (DEFAULT_ALIGNMENT, DEFAULT_ROUNDING): Now an enum constant,
14699         not a macro.  Hence the values are always int; so remove all
14700         casts-to-int in uses.
14701
14702 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
14703
14704         * config/srclist.txt: Break link for argp-help.c and argp-parse.c until
14705         we can get this patch merged into glibc.
14706
14707 2004-05-17  Derek R. Price  <derek@ximbiot.com>
14708             Paul Eggert  <eggert@cs.ucla.edu>
14709
14710         * m4/argp: Depend on alloca.
14711
14712 2004-05-17  Derek R. Price  <derek@ximbiot.com>
14713             Paul Eggert  <eggert@cs.ucla.edu>
14714
14715         * lib/argp-help.c, argp-parse.c: Assume <alloca.h> rather than
14716         freecoding.
14717
14718 2004-05-17  Bruno Haible  <bruno@clisp.org>
14719
14720         * lib/vasnprintf.c (VASNPRINTF): Correctly handle the case of a
14721         precision that consists of a '.' followed by an empty digit string.
14722         Patch by Tor Lillqvist <tml@iki.fi>.
14723
14724 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
14725
14726         * m4/alloca.m4 (gl_FUNC_ALLOCA): Define HAVE_ALLOCA_H always,
14727         for backward compatibility with older code.  We need our own
14728         alloca.h if _AIX is defined.  Define HAVE_ALLOCA if we discover
14729         it under some other name, and our alloca.h will define it.
14730
14731 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
14732             Derek Price  <derek@ximbiot.com>
14733
14734         * lib/alloca.c: Include <alloca.h>, to get our interface.
14735         * lib/alloca_.h: Use __alloca on AIX, so that we don't have to
14736         include <alloca.h> first.  Use C89 prototype for alloca; this
14737         requires including <stddef.h> for size_t.  Use extern "C" if C++.
14738         Use #elif for simplicity, since we can assume C89 now.
14739         Don't try to source the system alloca.h since it will not be found
14740         and to prevent recursively including its replacement.
14741         * lib/fnmatch.c: Include <alloca.h> instead of opencoding.
14742         * lib/regex.c: Likewise.
14743
14744 2004-05-16  Derek Price  <derek@ximbiot.com>
14745             Paul Eggert  <eggert@cs.ucla.edu>
14746
14747         getline cleanup.  This changes the getndelim2 API: both order of
14748         arguments, and meaning of delim2 (now uses EOF, not 0, to indicate
14749         no delimiter).
14750
14751         * lib/getline.c: Don't include stddef.h or stdio.h, since our
14752         interface does that.
14753         (getline): Always use getdelim, so that we don't have two
14754         copies of this code.
14755         * lib/getndelim2.c: Include <limits.h>, <inttypes.h>, <stdint.h>
14756         if available.
14757         (PTRDIFF_MAX, SIZE_MAX, SSIZE_MAX): Define if not defined.
14758         (GETNDELIM2_MAXIMUM): New macro.
14759         (getndelim2): Reorder arguments.  delim==EOF now means no delimiter,
14760         instead of the old practice of delim2==0.  All callers changed.
14761         Return -1 on overflow, instead of returning junk.
14762         Do not set *linesize unless allocation succeeds.
14763         * lib/getndelim2.h: Do not include stddef.h; no longer needed, now
14764         that we include sys/types.h.
14765         * lib/getnline.h: Likewise.
14766         * lib/getndelim2.h (GETNLINE_NO_LIMIT): New macro.
14767         (getndelim2): Reorder arguments.
14768         * lib/getnline.c (getnline, getndelim):
14769         Don't discard the NMAX argument.
14770         (getnline): Invoke getndelim, to avoid code duplication.
14771         * lib/getnline.h (GETNLINE_NO_LIMIT): New macro, used instead
14772         of (size_t) -1 by callers of the getnline family.
14773
14774 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
14775
14776         * m4/gettime.m4 (gl_GETTIME): Require gl_TIMESPEC.
14777         Check for gettimeofday.
14778         * m4/settime.m4 (gl_SETTIME): Require gl_TIMESPEC.
14779         Check for settimeofday, stime.
14780
14781 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
14782
14783         * lib/nanosleep.c (suspended): Change its type from int to
14784         sig_atomic_t volatile.
14785         (first_call): Make it private to rpl_nanosleep, and have it
14786         be zero initially as that's a bit faster.
14787         (my_usleep): Round up fractional times instead of truncating them,
14788         as this is the usual meaning for 'sleep'.
14789
14790         * lib/gettime.c (gettime): Fall back on `time' if `gettimeofday'
14791         doesn't work.
14792         * lib/settime.c: Include <unistd.h>, for stime (on Solaris 8, anyway).
14793         (ENOSYS): Define if not defined.
14794         (settime): Fall back on stime if it exists and settimeofday fails.
14795         But don't bother with fallbacks if a method fails with errno == EPERM.
14796
14797 2004-05-11  Jim Meyering  <jim@meyering.net>
14798
14799         Prior to this change, the save_cwd caller required read access to the
14800         current directory on most systems (ones with the fchdir function).
14801
14802         * lib/save-cwd.c (save_cwd) [HAVE_FCHDIR]: If opening `.' read-only
14803         fails, try write-only, and finally, resort to using xgetcwd.
14804
14805 2004-05-06  Paul Eggert  <eggert@cs.ucla.edu>
14806
14807         * lib/obstack.c, obstack.h: Import changes from libc.
14808
14809 2004-04-28  Bruno Haible  <bruno@clisp.org>
14810
14811         * lib/findprog.c (find_in_path): Treat Cygwin like Windows, since it
14812         also implicitly appends .exe to executables.
14813         * lib/localcharset.c (ISSLASH): Treat Cygwin like Windows, since it now
14814         accepts Windows pathnames.
14815         * lib/pathname.h (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
14816         Treat Cygwin like Windows, since it now accepts Windows pathnames.
14817         * lib/progreloc.c (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
14818         Treat Cygwin like Windows, since it now accepts Windows pathnames.
14819         Reported by Derek Robert Price <derek@ximbiot.com>.
14820
14821 2004-04-21  Karl Berry  <karl@gnu.org>
14822
14823         * config/srclist.txt (localcharset.c): break sync.
14824
14825 2004-04-20  Paul Eggert  <eggert@twinsun.com>
14826
14827         * m4/host-os.m4: Add a copyright notice.
14828
14829 2004-04-20  Jim Meyering  <jim@meyering.net>
14830
14831         Change UTILS_ to gl_ in AC_DEFINE'd names.
14832         Change utils_- and jm_-prefixed variables, too.
14833         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Renamed from
14834         UTILS_FUNC_MKDIR_TRAILING_SLASH.
14835         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Renamed from UTILS_FUNC_MKSTEP.
14836
14837         * m4/dirfd.m4 (gl_FUNC_DIRFD): Rename from UTILS_FUNC_DIRFD.
14838         Don't emit trailing blanks.
14839         Also rename jm_-prefixed variables to have gl_ prefix.
14840
14841         * m4/host-os.m4 (gl_HOST_OS): Rename from UTILS_HOST_OS.
14842         Also rename jm_-prefixed variables to have gl_ prefix.
14843
14844         * m4/jm-macros.m4: Reflect the renamings.
14845         * m4/prereq.m4: Likewise.
14846
14847 2004-04-20  Jim Meyering  <jim@meyering.net>
14848
14849         * lib/getndelim2.c (getndelim2): Upon realloc failure, don't leak
14850         memory.
14851
14852 2004-04-20  Jim Meyering  <jim@meyering.net>
14853             Bruno Haible  <bruno@clisp.org>
14854
14855         * lib/localcharset.c (get_charset_aliases) [!VMS && !WIN32]: Don't leak
14856         memory when realloc fails.
14857
14858 2004-04-19  Jim Meyering  <jim@meyering.net>
14859
14860         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Require gl_FUNC_FREE,
14861         now that readutmp.c may call `free (0)'.
14862
14863 2004-04-19  Bruno Haible  <bruno@clisp.org>
14864
14865         * m4/mbrtowc.m4: Change jm_ to gl_ in cache variables as well.
14866         * m4/inttypes_h.m4: Likewise.
14867         * m4/stdint_h.m4: Likewise.
14868         * m4/intmax_t.m4: Likewise.
14869         * m4/uintmax_t.m4: Likewise.
14870
14871 2004-04-18  Jim Meyering  <jim@meyering.net>
14872
14873         * m4/prereq.m4: Don't forbid jm_ prefix.
14874
14875         * m4/afs.m4, m4/allocsa.m4, m4/assert.m4, m4/backupfile.m4:
14876         * m4/bison.m4, m4/check-decl.m4, m4/chown.m4, m4/d-ino.m4:
14877         * m4/d-type.m4, m4/dirname.m4, m4/dos.m4, m4/error.m4, m4/fpending.m4:
14878         * m4/fstypename.m4, m4/fsusage.m4, m4/ftruncate.m4, m4/getdate.m4:
14879         * m4/getgroups.m4, m4/gettext.m4, m4/glibc21.m4, m4/group-member.m4:
14880         * m4/human.m4, m4/intmax.m4, m4/intmax_t.m4, m4/inttostr.m4:
14881         * m4/inttypes.m4, m4/inttypes_h.m4, m4/jm-macros.m4, m4/jm-winsz1.m4:
14882         * m4/jm-winsz2.m4, m4/lchown.m4, m4/lib-check.m4, m4/link-follow.m4:
14883         * m4/localcharset.m4, m4/longlong.m4, m4/ls-mntd-fs.m4, m4/lstat.m4:
14884         * m4/makepath.m4, m4/mbrtowc.m4, m4/mbswidth.m4, m4/memchr.m4:
14885         * m4/memcmp.m4, m4/mkdtemp.m4, m4/mkstemp.m4, m4/mountlist.m4:
14886         * m4/nanosleep.m4, m4/path-concat.m4, m4/perl.m4, m4/prereq.m4:
14887         * m4/putenv.m4, m4/quotearg.m4, m4/regex.m4, m4/stat.m4:
14888         * m4/stdint_h.m4, m4/strftime.m4, m4/strtoimax.m4, m4/strtoll.m4:
14889         * m4/strtoull.m4, m4/strtoumax.m4, m4/timespec.m4, m4/uintmax_t.m4:
14890         * m4/ulonglong.m4, m4/unlink-busy.m4, m4/unlocked-io.m4, m4/uptime.m4,
14891         * m4/utimbuf.m4, m4/utime.m4, m4/utimes-null.m4, m4/vasnprintf.m4:
14892         * m4/xstrtoimax.m4, m4/xstrtol.m4, m4/xstrtoumax.m4:
14893         Change jm_ to gl_ in AC_DEFINE'd names. Update all uses.
14894
14895 2004-04-18  Jim Meyering  <jim@meyering.net>
14896
14897         * lib/readutmp.c (read_utmp) [UTMP_NAME_FUNCTION]: Upon realloc
14898         failure, don't leak memory and do call END_UTMP_ENT.
14899
14900 2004-04-16  Jim Meyering  <jim@meyering.net>
14901
14902         * m4/prereq.m4 (jm_PREREQ_STAT): Remove macro.  It is specific to
14903         coreutils' stat program.
14904         (gl_PREREQ): Don't require jm_PREREQ_STAT.
14905
14906 2004-04-11  Paul Eggert  <eggert@twinsun.com>
14907
14908         * lib/inttostr.h: Include <limits.h> unconditionally, since we assume
14909         C89.
14910         (CHAR_BIT): Remove, since we assume C89.
14911         Include <stdint.h> if available, as per current Autoconf CVS advice.
14912
14913 2004-03-31  Jim Meyering  <jim@meyering.net>
14914
14915         * m4/prereq.m4: Require AC_FUNC_MALLOC, not jm_FUNC_MALLOC.
14916         Require AC_FUNC_REALLOC, not jm_FUNC_REALLOC.
14917         * m4/xalloc.m4: Likewise.
14918
14919 2004-03-30  Paul Eggert  <eggert@twinsun.com>
14920
14921         Merge from coreutils.
14922
14923         * m4/inttostr.m4: New file.
14924         * m4/getdate.m4 (gl_GETDATE): Remove time-related stuff.
14925         Require AM_STDBOOL_H and gl_TIMESPEC instead.
14926         Require gl_CLOCK_TIME.
14927         * m4/clock_time.m4 (gl_CLOCK_TIME): Require AC_GNU_SOURCE.
14928
14929 2004-03-30  Paul Eggert  <eggert@twinsun.com>
14930
14931         * lib/cloexec.h, cloexec.c (set_cloexec_flag): Return int
14932         not bool, to be more consistent with Unix conventions.
14933         Suggested by Bruno Haible.
14934
14935         Merge from coreutils.
14936
14937         * lib/imaxtostr.c, lib/inttostr.c, lib/inttostr.h, lib/offtostr.c:
14938         * lib/umaxtostr.c: New files.
14939
14940         * lib/getdate.h: Include stdbool.h, and timespec.h instead of
14941         the usual <time.h> dance.
14942         (get_date): Change signature to support fractional time stamps.
14943         All callers changed.
14944         * lib/getdate.y: Include "getdate.h" first, as we can now
14945         assume C89 and don't need to worry about 'const'.
14946         Similarly, include "unlocked-io.h" near start, not in middle.
14947         Include <limits.h>.
14948         (textint.value): Use long int rather than int.
14949         (textint.digits): Use size_t rather than int.
14950         (BILLION, LOG10_BILLION): New constants.
14951         (parser_control): New member rel_ns.  Members day_ordinal,
14952         time_zone, month, day, hour, minutes, rel_year, rel_month,
14953         rel_day, rel_hour, rel_minutes, rel_seconds
14954         are now long int, not int.  Member seconds is now struct timespec,
14955         not int.  New member timespec_seen.  Members dates_seen, days_seen,
14956         local_zones_seen, rels_seen, times_seen, zones_seen are now size_t,
14957         not int.
14958         (%union.intval): Now long int, not int.
14959         New member timespec.
14960         (tSDECIMAL_NUMBER, tUDECIMAL_NUMBER): New tokens.
14961         (seconds, signed_seconds, unsigned_seconds): New nonterminals.
14962         (spec): Now is a timespec or an item list.
14963         (timespec, items): New nonterminals.
14964         (time, rel, relunit, number, get_date):
14965         Add support for fractional seconds.
14966         (time): Fix bug: seconds weren't cleared in "00:00 +0000" syntax.
14967         (gmtime, localtime, mktime): Remove decls; not needed with C89.
14968         (to_hour): First arg is now long int, not int.
14969         (to_year): Returns long int, not int.
14970         Don't treat year -70 like 70.
14971         (tm_diff): Returns long int, not int.
14972         (lookup_word): Use bool instead of int when appropriate.
14973         (yylex): Use size_t for count, not int.
14974         Detect overflow when parsing large integer constants.
14975         Add support for fractions.
14976         (get_date): Make pointers 'const' if possible.
14977         Use more-portable code to detect integer overflow.
14978         (main) [TEST]: Adjust to above changes.  Test for localtime failure.
14979         Don't use ctime; it's not reliable if the year has >4 digits.
14980
14981         * lib/human.c (humblock): Inspect BLOCKSIZE if BLOCK_SIZE isn't set.
14982         This is for compatibility with BSD.
14983
14984         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP): Define.
14985         (ATIME_CMP, CTIME_CMP, MTIME_CMP, TIMESPEC_NS): Likewise.
14986         From coreutils' system.h.
14987
14988         * lib/userspec.c: Don't include "posixver.h".
14989         (parse_user_spec): Fall back on USER.GROUP parsing, regardless
14990         of POSIX version, as POSIX 1003.1-2001 allows that behavior as a
14991         compatible extension.  Simplify code by removing a boolean int
14992         that was always nonzero if a string was nonnull.
14993
14994 2004-03-30  Jim Meyering  <jim@meyering.net>
14995
14996         Merge from coreutils.
14997
14998         Avoid a configure-time warning about sys/ucred.h on OSF V4.0.
14999         * m4/ls-mntd-fs.m4: Test for sys/ucred.h separately, since
15000         on some systems one must include <grp.h> before it.
15001         Reported by Christian Krackowizer.
15002
15003 2004-03-30  Jim Meyering  <jim@meyering.net>
15004
15005         Merge from coreutils.
15006
15007         * lib/mountlist.c [HAVE_SYS_UCRED_H]: Include grp.h before sys/ucred.h.
15008
15009         * lib/readtokens.c (readtoken): Don't leak 64 bytes when reading
15010         an empty input stream.
15011
15012         * lib/readtokens.c: Include <stdbool.h>.
15013         (readtoken): Use `size_t' rather than int/long.
15014         All callers adjusted.
15015         Use `bool' rather than `int' where appropriate.
15016         Use memset rather than an explicit loop.
15017         Use x2nrealloc rather than xrealloc.
15018         Allow the use of `\0' as a delimiter.
15019         (readtokens): Likewise.
15020         * lib/readtokens.h (readtoken, readtokens): Update prototypes.
15021
15022 2004-03-30  Jim Meyering  <jim@meyering.net>
15023
15024         * m4/realloc.m4: Remove file, since now it does no more than
15025         AC_REQUIRE([AC_FUNC_REALLOC]), and that can be done via
15026         the `configure.ac' section of module/realloc.
15027         * m4/malloc.m4: Likewise, but for AC_FUNC_MALLOC.
15028
15029 2004-03-30  Bruno Haible  <bruno@clisp.org>
15030
15031         * lib/getloadavg.c (getloadavg): Don't assume setlocale returns
15032         nonnull.
15033
15034 2004-03-29  Paul Eggert  <eggert@twinsun.com>
15035
15036         Merge changes to getloadavg.c from coreutils and Emacs.
15037
15038         * lib/getloadavg.c [!defined HAVE_SETLOCALE] (setlocale):
15039         Define to an expression, not to the empty string.
15040         Include cloexec.h and xalloc.h.
15041         (getloadavg): Restore LC_NUMERIC locale after setting it temporarily.
15042         Use set_cloexec_flag rather than rolling our own.
15043         * lib/cloexec.c, lib/cloexec.h: New files.
15044
15045 2004-03-29  Paul Eggert  <eggert@twinsun.com>
15046
15047         * m4/cloexec.m4: New file.
15048
15049 2004-03-18  Paul Eggert  <eggert@twinsun.com>
15050
15051         * lib/getopt.h: Sync with libc CVS.
15052
15053 2004-03-18  Paul Eggert  <eggert@twinsun.com>
15054             Bruno Haible  <bruno@clisp.org>
15055
15056         * m4/mbswidth.m4 (gl_MBSWIDTH): Also test whether <wchar.h> declares
15057         mbswidth.
15058
15059 2004-03-18  Paul Eggert  <eggert@twinsun.com>
15060             Bruno Haible  <bruno@clisp.org>
15061
15062         * lib/mbswidth.h: Include <wchar.h> only if
15063         HAVE_DECL_MBSWIDTH_IN_WCHAR_H, not on all platforms that have
15064         <wchar.h>.
15065         * lib/mbswidth.c: Include <stdio.h> and <time.h> before <wchar.h>.
15066
15067 2004-03-09  Paul Eggert  <eggert@twinsun.com>
15068
15069         * lib/argp-parse.c, getopt.c, getopt.h, getopt1.c:
15070         Sync with libc CVS.
15071         * lib/getopt_int.h: New file, also synced from libc.
15072
15073 2004-03-09  Paul Eggert  <eggert@twinsun.com>
15074
15075         * config/srclistvars.sh: Add GNUWWWLICENSES for eggert.
15076         * config/srclist.txt: Sync getopt with libc.  Add getopt_int.h.
15077         Bring back getopt.c, getopt.h, getopt1.c.
15078
15079 2004-03-07  Paul Eggert  <eggert@twinsun.com>
15080
15081         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Renamed from jm_PREREQ_C_STACK.
15082         All uses changed.  Check for sa_sigaction member; this fixes
15083         a bug first reported by Jason Andrade in
15084         <http://mail.gnu.org/archive/html/bug-textutils/2003-03/msg00027.html>.
15085
15086 2004-03-07  Paul Eggert  <eggert@twinsun.com>
15087
15088         * lib/c-stack.c (SIGACTION_WORKS): New macro.  Use it instead of long
15089         '#if' expressions.  Unlike the code it replaces, it does not
15090         depend on (defined _SC_PAGESIZE).  However, it does depend on
15091         HAVE_STRUCT_SIGACTION_SA_SIGACTION; this last change fixes a bug
15092         first reported by Jason Andrade in
15093         <http://mail.gnu.org/archive/html/bug-textutils/2003-03/msg00027.html>.
15094
15095 2004-02-25  Simon Josefsson  <jas@extundo.com>
15096
15097         * m4/strdup.m4 (gl_PREREQ_STRDUP): Check whether strdup is declared.
15098
15099 2004-02-25  Simon Josefsson  <jas@extundo.com>
15100
15101         * lib/strdup.h: New file.
15102         * lib/strdup.c: Include it.
15103         * lib/path-concat.c: Include strdup.h. Drop strdup declaration.
15104         * lib/userspec.c: Include strdup.h. Drop strdup declaration.
15105
15106 2004-02-23  Karl Berry  <karl@gnu.org>
15107
15108         * doc/maintain.texi, doc/standards.texi, doc/make-stds.texi: new files
15109         (from fencepost.gnu.org:/gd/gnuorg).
15110
15111 2004-02-23  Karl Berry  <karl@gnu.org>
15112
15113         * config/srclistvars.sh (GNUORG) [karl]: redefine.
15114         * config/srclist.txt: add maintain/standards documents.
15115
15116 2004-02-18  Bruno Haible  <bruno@clisp.org>
15117
15118         * m4/xsize.m4 (gl_XSIZE): Require AC_C_INLINE.
15119         Reported by Derek Robert Price <derek@ximbiot.com>.
15120
15121 2004-02-16  Karl Berry  <karl@gnu.org>
15122
15123         * config/mkinstalldirs, install-sh: update from automake.
15124
15125 2004-02-06  Karl Berry  <karl@gnu.org>
15126
15127         * m4/po.m4: update from gettext 0.14.1.
15128
15129 2004-02-06  Karl Berry  <karl@gnu.org>
15130
15131         * lib/config.charset: update from gettext 0.14.1.
15132
15133 2004-02-05  Paul Eggert  <eggert@twinsun.com>
15134
15135         Add comments and code, prompted by suggestions from Bruno Haible
15136         for sh-quote.
15137         * lib/quotearg.h (quotearg_alloc): New decl.  Improve the comments
15138         describing the enum quoting_style values.
15139         * lib/quotearg.c (quotearg_alloc): New function.
15140         (quotearg_buffer_restyled): Treat lone { and } as special.
15141         Treat = as special.  Work around bug with older shells
15142         that "see" a '\' that is really the 2nd byte of a multibyte char.
15143         Quote empty string with shell_quoting_style.
15144
15145 2004-02-03  Bruno Haible  <bruno@clisp.org>
15146
15147         * m4/pipe.m4: New file, from GNU gettext.
15148
15149 2004-02-03  Bruno Haible  <bruno@clisp.org>
15150
15151         * lib/pipe.h: New file, from GNU gettext.
15152         * lib/pipe.c: New file, from GNU gettext.
15153
15154 2004-01-27  Bruno Haible  <bruno@clisp.org>
15155
15156         * m4/execute.m4: New file, from GNU gettext.
15157
15158 2004-01-27  Bruno Haible  <bruno@clisp.org>
15159
15160         * lib/execute.h: New file, from GNU gettext.
15161         * lib/execute.c: New file, from GNU gettext.
15162         * lib/w32spawn.h: New file, from GNU gettext.
15163
15164 2004-01-24  Paul Eggert  <eggert@twinsun.com>
15165
15166         Merge from diffutils.
15167
15168         * lib/file-type.c (file_type): Add typed memory objects.
15169         * lib/file-type.h (S_TYPEISTMO): New macro.
15170
15171         * lib/c-stack.h (c_stack_action): Remove argv argument.
15172         * lib/c-stack.c (c_stack_action): Likewise.  All uses changed.
15173         (die): Don't calculate message unless segv_action returns.
15174         (get_stack_location, min_address_from_argv, max_address_from_argv,
15175         volatile stack_base, volatile_stack_size): Remove.
15176         (segv_handler): If ! HAVE_XSI_STACK_OVERFLOW_HEURISTIC, assume
15177         that every segmentation violation is a stack overflow.  (Ouch!)
15178         See Debian bug 136249 (still outstanding) for more info about why
15179         HAVE_XSI_STACK_OVERFLOW_HEURISTIC fails on Linux kernels.
15180
15181 2004-01-24  Paul Eggert  <eggert@twinsun.com>
15182
15183         Exit-status fix from coreutils.
15184
15185         Use exit_failure consistently in place of EXIT_FAILURE,
15186         so that program exit statuses are consistent on failure.
15187
15188         * lib/argmatch.c (ARGMATCH_DIE) [! defined ARGMATCH_DIE]:
15189         Include "exitfail.h", and use exit_failure rather than EXIT_FAILURE.
15190         * lib/argmatch.h: Comment fix to match the above.
15191         * lib/obstack.c (obstack_exit_failure) [!defined _LIBC]:
15192         Now a macro referring to exit_failure, instead of a separate
15193         variable.  Include "exitfail.h" to get it.
15194         * lib/xstrtol.h: Include "exitfail.h".
15195         (STRTOL_FATAL_ERROR): Exit with status exit_failure, not 2.
15196
15197         * lib/long-options.c (parse_long_options): Use prototype
15198         for usage function arg.  Pass it EXIT_SUCCESS rather than 0,
15199         for clarity.
15200
15201 2004-01-21  Jim Meyering  <jim@meyering.net>
15202
15203         * lib/mktime.c (__mktime_internal) [!_LIBC]: Define to mktime_internal
15204         so as not to conflict with a different-sized __mktime_internal
15205         function in GNU libc.
15206         * lib/timegm.c (__mktime_internal) [!_LIBC]: Likewise.
15207         Problem building statically-linked `ls' reported by Michael Brunnbauer.
15208
15209 2004-01-20  Karl Berry  <karl@gnu.org>
15210
15211         * config/config.guess: update from config.
15212
15213         * config/srclistvars.sh: GNUWWWLICENSES for karl.
15214
15215 2004-01-20  Bruno Haible  <bruno@clisp.org>
15216
15217         Safer stack allocation.
15218         * lib/setenv.c: Include allocsa.h.
15219         (alloca): Remove fallback definition.
15220         (freea): Remove macro.
15221         (__add_to_environ) [!_LIBC]: Use allocsa instead of alloca. Use freesa
15222         instead of freea.
15223
15224 2004-01-20  Bruno Haible  <bruno@clisp.org>
15225
15226         * m4/eealloc.m4: New file, from GNU gettext.
15227
15228 2004-01-20  Bruno Haible  <bruno@clisp.org>
15229
15230         * m4/allocsa.m4: New file, from GNU gettext.
15231
15232 2004-01-20  Bruno Haible  <bruno@clisp.org>
15233
15234         * lib/xallocsa.h: New file, from GNU gettext.
15235         * lib/xallocsa.c: New file, from GNU gettext.
15236
15237 2004-01-20  Bruno Haible  <bruno@clisp.org>
15238
15239         * lib/wait-process.c: On Windows, include windows.h. Needed on mingw.
15240
15241 2004-01-20  Bruno Haible  <bruno@clisp.org>
15242
15243         * lib/wait-process.c (wait_subprocess): Add ignore_sigpipe argument.
15244         * lib/wait-process.c (wait_subprocess): Likewise. Handle SIGPIPE
15245         specially.
15246
15247 2004-01-20  Bruno Haible  <bruno@clisp.org>
15248
15249         * lib/wait-process.c (wait_process): Disable the 2003-10-31 waitid()
15250         patch.
15251
15252 2004-01-20  Bruno Haible  <bruno@clisp.org>
15253
15254         * lib/wait-process.c (cleanup_slaves): Use ANSI C declaration.
15255
15256 2004-01-20  Bruno Haible  <bruno@clisp.org>
15257
15258         * lib/eealloc.h: New file.
15259
15260 2004-01-20  Bruno Haible  <bruno@clisp.org>
15261
15262         * lib/binary-io.h: Avoid warnings on Cygwin.
15263
15264 2004-01-20  Bruno Haible  <bruno@clisp.org>
15265
15266         * lib/allocsa.h: New file, from GNU gettext.
15267         * lib/allocsa.c: New file, from GNU gettext.
15268
15269 2004-01-18  Karl Berry  <karl@gnu.org>
15270
15271         * doc/gpl.texi, doc/lgpl.texi: new files.
15272
15273 2004-01-18  Karl Berry  <karl@gnu.org>
15274
15275         * config/srclistvars.sh (GNUWWWLICENSES): new variable.
15276         * config/srclist.txt ({fdl,gpl,lgpl}.text): get from there.
15277
15278 2004-01-15  Paul Eggert  <eggert@twinsun.com>
15279
15280         Merge from coreutils.
15281
15282         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for uintptr_t.
15283         * m4/posixver.m4 (gl_POSIXVER): Require gl_DEFAULT_POSIX2_VERSION.
15284         (gl_DEFAULT_POSIX2_VERSION): Move
15285         the documentation from 'configure' into 'config.hin',
15286         so that 'configure --help' isn't burdened by it and
15287         we don't have to worry about its formatting there.
15288         Reword the documentation so that it's more succinct
15289         and can be run together into a single paragraph.
15290         * m4/same.m4 (gl_SAME): Check for pathconf.
15291
15292 2004-01-15  Paul Eggert  <eggert@twinsun.com>
15293
15294         Merge from coreutils.
15295
15296         * lib/posixver.c: Include posixver.h.
15297
15298         * lib/same.c: Include <stdbool.h>, <limits.h>.
15299         (_POSIX_NAME_MAX): Define if not defined.
15300         (MIN): New macro.
15301         (same_name): If file names are silently truncated, report
15302         that the file names are the same if they are the same after
15303         the silent truncation.
15304
15305         * lib/xstrtod.h (xstrtod): Accept an extra arg, specifying the
15306         conversion function.
15307         * lib/xstrtod.c (xstrtod): Likewise.  All callers changed to
15308         include c-strtod.h and use c_strtod.  Don't include stdlib.h; no
15309         longer needed.
15310
15311 2004-01-15  Jim Meyering  <jim@meyering.net>
15312
15313         Merge from coreutils.
15314
15315         * m4/clock_time.m4 (gl_CLOCK_TIME): Don't set LIB_CLOCK_GETTIME
15316         if no library is required.
15317         * m4/jm-macros.m4: Don't require UTILS_SYS_OPEN_MAX.
15318         * m4/jm-macros.m4 (jm_MACROS): Require gl_FUNC_FREE.
15319         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.58.
15320         (AC_LANG_SOURCE): Remove definition, now that we require autoconf-2.58.
15321         * m4/jm-macros.m4 (jm_MACROS): Don't require AC_FUNC_FTW.
15322         * m4/lib-check.m4 (jm_LIB_CHECK): Do not set LIB_CRYPT to the
15323         value, $ac_cv_search_crypt, if it's "none required".
15324         * m4/posixver.m4 (gl_DEFAULT_POSIX2_VERSION): New macro.
15325         * m4/prereq.m4 (jm_PREREQ): Require AC_FUNC_GETLOADAVG,
15326         not gl_FUNC_GETLOADAVG.
15327         * m4/prereq.m4 (jm_PREREQ): Require gl_READTOKENS, gl_MD5, gl_MAKEPATH,
15328         gl_LONG_OPTIONS, and gl_IDCACHE, gl_GETUGROUPS.
15329
15330 2004-01-15  Jim Meyering  <jim@meyering.net>
15331
15332         Merge from coreutils.
15333
15334         * lib/md5.h (rol) [__GNUC__ && __i386__]: Don't use `asm' code.  These
15335         days, gcc-3.x does better all by itself.  Patch from Dean Gaudet:
15336         http://mail.gnu.org/archive/html/bug-coreutils/2003-11/msg00144.html
15337
15338         * lib/posixver.c (DEFAULT_POSIX2_VERSION): Use definition of new,
15339         optional configure-time default.
15340
15341         * lib/version-etc.c (version_etc_copyright): Update copyright date.
15342
15343         * lib/xreadlink.c (xreadlink): Correct outdated comment.
15344
15345 2004-01-15  Alexandre Duret-Lutz  <adl@gnu.org>
15346
15347         Merge from coreutils.
15348
15349         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Do not set LIB_NANOSLEEP to the
15350         value, $ac_cv_search_nanosleep, if it's "none required".
15351
15352 2004-01-14  Paul Eggert  <eggert@twinsun.com>
15353
15354         * lib/fnmatch_loop.c (ALLOCA_LIMIT): Remove macro, which collided
15355         with like-named macro in fnmatch.c.
15356         (EXT): Use an internal constant instead.
15357
15358         Merge fnmatch patches from glibc.
15359         * lib/fnmatch.c (mbsinit): Remove define.
15360         Add libc_hidden_ver (__fnmatch, fnmatch).
15361         * lib/fnmatch_loop.c (FCT): Cast to int32_t and UCHAR when appropriate.
15362         Adjust to renaming of collseq_table_lookup to __collseq_table_lookup.
15363
15364 2004-01-14  Karl Berry  <karl@gnu.org>
15365
15366         * config/install-sh: update from automake.
15367
15368 2004-01-13  Karl Berry  <karl@gnu.org>
15369
15370         * config/install-sh: update from automake.
15371
15372 2004-01-09  Karl Berry  <karl@gnu.org>
15373
15374         * config/install-sh: update from automake.
15375
15376 2004-01-05  Karl Berry  <karl@gnu.org>
15377
15378         * config/config.{sub,guess}: update from config.
15379
15380 2003-12-31  Karl Berry  <karl@gnu.org>
15381
15382         * config/depcomp: update from automake.
15383
15384 2003-12-14  Karl Berry  <karl@gnu.org>
15385
15386         * lib/config.charset: update from gettext-runtime.
15387
15388 2003-12-03  Paul Eggert  <eggert@twinsun.com>
15389
15390         * lib/getgroups.c (getgroups): xmalloc takes one argument, not two.
15391         Bug reported by Alfred M. Szmidt.
15392
15393 2003-12-03  Bruno Haible  <bruno@clisp.org>
15394
15395         * m4/gettext.m4: Upgrade from gettext-0.13.
15396         * m4/po.m4: Upgrade from gettext-0.13.
15397         * m4/size_max.m4 (gl_SIZE_MAX): Don't use the _ONCE macros here.
15398         * m4/intmax.m4: New file, from gettext-0.13.
15399         * m4/printf-posix.m4: New file, from gettext-0.13.
15400
15401 2003-11-29  Karl Berry  <karl@gnu.org>
15402
15403         * lib/argp-{help.c,parse.c,namefrob.h}, argp.h: update from libc.
15404
15405 2003-11-25  Paul Eggert  <eggert@twinsun.com>
15406             Bruno Haible  <bruno@clisp.org>
15407
15408         * lib/printf-parse.h: Don't include sys/types.h.
15409         (ARG_NONE): New macro.
15410         (char_directive): Change type of *arg_index fields to size_t.
15411         * lib/printf-parse.c: Don't include sys/types.h.
15412         (SSIZE_MAX): Remove macro.
15413         (PRINTF_PARSE): Change the type of the arg_index variables to size_t.
15414         Remove unnecessary overflow check.
15415         * lib/vasnprintf.c (VASNPRINTF): Update for type change of *arg_index
15416         fields.
15417
15418 2003-11-25  Bruno Haible  <bruno@clisp.org>
15419
15420         * modules/vasnprintf (Files): Remove m4/ssize_t.m4.
15421
15422 2003-11-25  Bruno Haible  <bruno@clisp.org>
15423
15424         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Don't require
15425         gt_TYPE_SSIZE_T.
15426
15427 2003-11-24  Paul Eggert  <eggert@twinsun.com>
15428
15429         * modules/alloca: Remove dependency on xalloc.
15430
15431 2003-11-24  Paul Eggert  <eggert@twinsun.com>
15432
15433         * lib/alloca.c: Remove dependency on xalloc module.
15434         (xalloc_die): Remove.
15435         (memory_full) [!defined emacs]: New macro.
15436         [!defined emacs]: Don't include xalloc.h.
15437         (alloca): Invoke memory_full, not xalloc_die, if malloc fails or
15438         address arithmetic overflows.  Change datatypes a bit to avoid
15439         unnecessary casts.
15440
15441 2003-11-22  Jim Meyering  <jim@meyering.net>
15442
15443         * lib/xmalloc.c (x2nrealloc_inline): Fix typos in comments:
15444         s/size/size_t/.
15445
15446 2003-11-21  Karl Berry  <karl@gnu.org>
15447
15448         * config/config.{sub,guess}: update from config.
15449
15450 2003-11-18  Karl Berry  <karl@gnu.org>
15451
15452         * config/config.{sub,guess}: update from config.
15453
15454         * config/(printf-{parse,args}.[ch]): sync broken, sigh.
15455
15456 2003-11-17  Paul Eggert  <eggert@twinsun.com>
15457
15458         * README: Mention that S+T cannot overflow if S is the size of
15459         an existing object and T is sufficiently small.
15460
15461 2003-11-17  Jim Meyering  <jim@meyering.net>
15462
15463         On systems without utime and without a utimes function capable of
15464         dealing with a NULL struct utimbuf* argument, this utime replacement
15465         could -- in unusual circumstances -- leak a file descriptor.
15466         * lib/utime.c: Include <unistd.h> and <errno.h>.
15467         (utime_null): Be sure to close `fd' and to preserve errno.
15468         Reported by Geoff Collyer via Arnold Robbins.
15469
15470 2003-11-17  Bruno Haible  <bruno@clisp.org>
15471
15472         * modules/vasnprintf (Files): Add m4/ssize_t.m4.
15473         (Depends-on): Add xsize.
15474
15475 2003-11-17  Bruno Haible  <bruno@clisp.org>
15476
15477         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Require gt_TYPE_SSIZE_T.
15478
15479 2003-11-17  Bruno Haible  <bruno@clisp.org>
15480
15481         * lib/vasnprintf.c (alloca): Remove fallback definition.
15482         (freea): Remove definition.
15483         (VASNPRINTF): Use alloca only for small sizes, say <= 4000 bytes.
15484         Reported by Paul Eggert.
15485
15486 2003-11-16  Paul Eggert  <eggert@twinsun.com>
15487             Bruno Haible  <bruno@clisp.org>
15488
15489         Protect against address arithmetic overflow.
15490         * lib/printf-args.h: Include stddef.h.
15491         (arguments): Change type of field 'count' to size_t.
15492         * lib/printf-args.c (printf_fetchargs): Use size_t instead of
15493         'unsigned int' where appropriate.
15494         * lib/printf-parse.h: Include sys/types.h.
15495         (char_directive): Change type of *arg_index fields to ssize_t.
15496         (char_directives): Change type of fields 'count', max_*_length to
15497         size_t.
15498         * lib/printf-parse.c: Include sys/types.h and xsize.h.
15499         (SSIZE_MAX): Define fallback value.
15500         (PRINTF_PARSE): Use size_t instead of 'unsigned int' and ssize_t
15501         instead of 'int' where appropriate. Check a_allocated, d_allocated
15502         against overflow. Reject %m$ argument numbers > SSIZE_MAX + 1.
15503         * lib/vasnprintf.c: Include xsize.h.
15504         (VASNPRINTF): Use size_t instead of 'unsigned int' where appropriate.
15505         Check alloca, malloc, realloc, ENSURE_ALLOCATION arguments against
15506         overflow. Avoid wraparound when converting a width or precision from
15507         decimal to binary.
15508
15509 2003-11-16  Bruno Haible  <bruno@clisp.org>
15510
15511         Update from GNU gettext.
15512         * lib/printf-parse.c: Generalize to it can be compiled for wide
15513         strings.
15514         (PRINTF_PARSE, CHAR_T, DIRECTIVE, DIRECTIVES): New macros.
15515         * lib/vasnprintf.c: Generalize to it can be compiled for wide strings.
15516         (VASNPRINTF, CHAR_T, DIRECTIVE, DIRECTIVES, PRINTF_PARSE, USE_SNPRINTF,
15517         SNPRINTF): New macros.
15518         Don't include <alloca.h> if the file is used inside libintl.
15519         (local_wcslen): New function, for Solaris 2.5.1.
15520         (VASNPRINTF): Use it instead of wcslen.
15521
15522 2003-11-16  Bruno Haible  <bruno@clisp.org>
15523
15524         * lib/xsize.h (xmax): New function.
15525         (xsum, xsum3, xsum4): Declare as "pure" functions.
15526
15527 2003-11-12  Paul Eggert  <eggert@twinsun.com>
15528
15529         * modules/xalloc (Files): Undo latest change, since xalloc.h
15530         no longer needs SIZE_MAX or PTRDIFF_MAX.
15531
15532 2003-11-12  Paul Eggert  <eggert@twinsun.com>
15533
15534         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Do not require gl_SIZE_MAX or
15535         gl_PTRDIFF_MAX.
15536
15537 2003-11-12  Paul Eggert  <eggert@twinsun.com>
15538
15539         * lib/xstrtol.c (__xstrtol): Remove "break" immediately after
15540         "return", to pacify some unknown compiler.  Problem reported
15541         by Joerg Schilling.
15542
15543 2003-11-12  Paul Eggert  <eggert@twinsun.com>
15544
15545         * lib/xalloc.h: Do not include <limits.h> or <stdint.h>.
15546         (xalloc_oversized): Use sizeof (ptrdiff_t) and sizeof (size_t) for
15547         the heuristic, rather than PTRDIFF_MAX and SIZE_MAX.  This
15548         heuristic is just as accurate as far as we know, and it removes a
15549         dependency on size_max.m4 and ptrdiff_max.m4.
15550
15551 2003-11-11  Bruno Haible  <bruno@clisp.org>
15552
15553         * modules/xsize (Files): Add m4/size_max.m4.
15554         * modules/xalloc (Files): Add m4/size_max.m4, m4/ptrdiff_max.m4.
15555
15556 2003-11-11  Bruno Haible  <bruno@clisp.org>
15557
15558         * m4/size_max.m4: New file.
15559         * m4/ptrdiff_max.m4: New file.
15560         * m4/xsize,m4 (gl_XSIZE): Require gl_SIZE_MAX.
15561         * m4/xalloc.m4 (gl_PREREQ_XALLOC): New macro.
15562         (gl_XALLOC): Invoke it.
15563
15564 2003-11-11  Bruno Haible  <bruno@clisp.org>
15565
15566         * lib/xsize.h (SIZE_MAX): Remove fallback definition.
15567         * lib/xalloc.h: Include limits.h. Assume SIZE_MAX and PTRDIFF_MAX are
15568         defined.
15569
15570 2003-11-10  Paul Eggert  <eggert@twinsun.com>
15571
15572         * lib/xalloc.h (xalloc_oversized): [! (defined PTRDIFF_MAX &&
15573         PTRDIFF_MAX < SIZE_MAX)]: Fix off-by-one error that would have
15574         rejected some allocations of exactly SIZE_MAX - 2 bytes.
15575         From Bruno Haible.
15576         [defined PTRDIFF_MAX && PTRDIFF_MAX < SIZE_MAX]: Use SIZE_MAX,
15577         not (size_t) -1, since it's defined here.
15578
15579 2003-11-09  Karl Berry  <karl@gnu.org>
15580
15581         * config/mkinstalldirs, depcomp, mdate-sh: update from automake.
15582
15583 2003-11-06  Paul Eggert  <eggert@twinsun.com>
15584
15585         * lib/xalloc.h [HAVE_STDINT_H]: Include <stdint.h>.
15586         (xalloc_oversized) [! (PTRDIFF_MAX < SIZE_MAX)]:
15587         Reject sizes of exactly SIZE_MAX bytes.
15588         * lib/xreadlink.c: Include "xalloc.h" before checking whether SIZE_MAX
15589         is defined, since "xalloc.h" now defines SIZE_MAX on modern hosts.
15590
15591 2003-11-05  Bruno Haible  <bruno@clisp.org>
15592
15593         * lib/xsize.h: Include limits.h, to avoid a possible collision with
15594         SIZE_MAX defined in <limits.h> on Solaris.
15595
15596 2003-11-04  Jim Meyering  <jim@meyering.net>
15597
15598         * modules/sysexits: Use the `$(VAR)' notation for AC_SUBST'd
15599         variable names, rather than @VAR@.
15600         * modules/poll: Likewise.
15601
15602 2003-11-04  Bruno Haible  <bruno@clisp.org>
15603
15604         * modules/xsize: New file.
15605         * modules/linebreak: Depend on xsize.
15606         * MODULES.html.sh (func_all_modules): Add xsize.
15607
15608 2003-11-04  Bruno Haible  <bruno@clisp.org>
15609
15610         * m4/xsize.m4: New file.
15611
15612 2003-11-04  Bruno Haible  <bruno@clisp.org>
15613
15614         * lib/xsize.h: New file.
15615         * lib/linebreak.c: Include xsize.h.
15616         (mbs_possible_linebreaks, mbs_width_linebreaks): Check malloc()
15617         argument for overflow.
15618         Suggested by Paul Eggert.
15619
15620 2003-11-03  Karl Berry  <karl@gnu.org>
15621
15622         * config/config.{guess,sub}: update from config.
15623
15624 2003-11-03  Jim Meyering  <jim@meyering.net>
15625
15626         * modules/userspec (lib_SOURCES): Add userspec.h.
15627         (Include): Add "userspec.h".
15628         Improve description.
15629
15630 2003-11-03  Jim Meyering  <jim@meyering.net>
15631
15632         * lib/userspec.c: Include "userspec.h".
15633         * lib/userspec.h: New file.
15634
15635 2003-11-03  Bruno Haible  <bruno@clisp.org>
15636
15637         * m4/wait-process.m4 (gl_WAIT_PROCESS): Also check for waitid.
15638
15639 2003-11-03  Bruno Haible  <bruno@clisp.org>
15640
15641         * lib/wait-process.c (wait_process): Use waitid with WNOWAIT if
15642         available, to avoid (extremely rare) race condition.
15643         Suggested by Paul Eggert.
15644
15645 2003-11-02  Karl Berry  <karl@gnu.org>
15646
15647         * config/srclist.txt (vasprintf.c): sync broken, sigh.
15648
15649 2003-10-31  Paul Eggert  <eggert@twinsun.com>
15650
15651         * lib/mountlist.h (struct mount_entry.me_type_malloced): New member.
15652         * lib/mountlist.c (SIZE_MAX): Define if not defined already.
15653         (read_filesystem_list): Set and use me_type_malloced.
15654         Use "sizeof *me" rather than "sizeof (struct mount_entry)" (or
15655         whatever the type happens to be), for brevity and consistency.
15656         Check for size calculation overflow on Alphas running OSF/1.
15657
15658 2003-10-31  Jim Meyering  <jim@meyering.net>
15659
15660         * lib/hash.c: Include "xalloc.h" for use of xalloc_oversized.
15661
15662         * lib/linebuffer.c: Include <string.h> for declaration of memset.
15663
15664 2003-10-30  Paul Eggert  <eggert@twinsun.com>
15665             Bruno Haible  <bruno@clisp.org>
15666
15667         * lib/vasprintf.c: Include <limits.h>, <stdlib.h>.
15668         (vasprintf): Fail if the resulting length doesn't fit in an 'int'.
15669
15670 2003-10-30  Paul Eggert  <eggert@cs.ucla.edu>
15671
15672         * m4/host-os.m4 (UTILS_HOST_OS): Change netbsd*-gnu pattern back to
15673         netbsd*-gnu*.  Suggested by Robert Millan.
15674
15675 2003-10-29  Paul Eggert  <eggert@twinsun.com>
15676
15677         * modules/group-member: Depend on stdbool.
15678
15679 2003-10-29  Paul Eggert  <eggert@twinsun.com>
15680
15681         * m4/xalloc.m4 (gl_XALLOC): Undo previous change.
15682
15683 2003-10-29  Paul Eggert  <eggert@twinsun.com>
15684
15685         * m4/host-os.m4 (UTILS_HOST_OS): Resurrect netbsd*-gnu.  Add comments
15686         to it, and to knetbsd*-gnu and kfreebsd*-gnu.  Remove the '*' from
15687         after the 'gnu' in these cases.  This fixes some bugs in the
15688         previous change, and is based on suggestions by Robert Millan.
15689
15690 2003-10-29  Paul Eggert  <eggert@twinsun.com>
15691
15692         * lib/xalloc.h (xalloc_oversized): Now a macro, not a function,
15693         so that it works even if SIZE_MAX < N.  Do not include <stdbool.h>;
15694         no longer needed.
15695         * lib/quotearg.c (quotearg_n_options): Use it.
15696         * lib/group-member.c: Include <stdbool.h>.
15697         (free_group_info): Arg is now const *; don't free arg.
15698         (get_group_info): Now returns bool and accepts struct group_info *,
15699         rather than returning a malloc'ed struct group_info *.
15700         All uses changed.  Check for overflow in internal size calculation.
15701
15702         * lib/getusershell.c (readname): Simplify the code by using x2nrealloc
15703         rather than xmalloc/xrealloc.
15704         * lib/linebuffer.c (initbuffer, readlinebuffer): Simplify the code by
15705         using x2realloc rather than xmalloc/xrealloc.  Also, fix a C
15706         conformance bug: the old code used a pointer after freeing the
15707         storage that it addressed.
15708         * lib/hash.c (hash_initialize): Simplify the code by using
15709         xalloc_oversized rather than doing it by hand.
15710         * lib/getgroups.c (getgroups): Don't use xrealloc, since we don't need
15711         the buffer preserved.  Use free and xmalloc instead.
15712         * lib/quotearg.c (quotearg_n_options): Likewise.
15713         Use a simpler test for size overflow.  Don't use xalloc_oversized
15714         because unsigned int might be wider than size_t (!); this suggests
15715         that we should switch from unsigned int to size_t for slot numbers.
15716
15717 2003-10-28  Paul Eggert  <eggert@twinsun.com>
15718
15719         * m4/host-os.m4 (UTILS_HOST_OS): Identify GNU/KFreeBSD and
15720         GNU/KNetBSD.  These implementations use glibc atop the FreeBSD and
15721         NetBSD kernels.  Requested by Richard Stallman.
15722
15723 2003-10-27  Paul Eggert  <eggert@twinsun.com>
15724
15725         * lib/exclude.c (new_exclude): Use xzalloc rather than xmalloc
15726         to allocate the returned structure.  Do not allocate a subarray,
15727         as x2nrealloc will do that.
15728         (add_exclude): Use x2nrealloc to reallocate ex->exclude,
15729         instead of xnrealloc.
15730         (add_exclude_file): Use x2realloc instead of malloc + xnrealloc.
15731
15732 2003-10-27  Bruno Haible  <bruno@clisp.org>
15733
15734         * lib/stdbool_.h: Better support for BeOS.
15735
15736 2003-10-26  Paul Eggert  <eggert@twinsun.com>
15737
15738         * m4/xalloc.m4 (gl_XALLOC): Requore AC_C_INLINE, since xalloc.h
15739         now uses inline.
15740
15741 2003-10-26  Paul Eggert  <eggert@twinsun.com>
15742
15743         * lib/xalloc.h (xalloc_oversized): New static inline function, for
15744         callers that want to do their own size-overflow checking.  Include
15745         <stdbool.h>, since xalloc_oversized returns bool.
15746         * lib/xalloc.c (array_size_overflow): Remove.  All callers changed
15747         to use xalloc_oversized.
15748
15749         Add two functions x2realloc, x2nrealloc, for programs that grow
15750         arrays dynamically by doubling their sizes.
15751         * lib/xalloc.h (x2realloc, x2nrealloc): New decls.
15752         * lib/xmalloc.c (x2nrealloc_inline, x2nrealloc, x2realloc):
15753         New functions.
15754
15755         Port to C99 semantics for 'inline' of external functions.
15756         Bug reported by Bruno Haible.
15757         * lib/xmalloc.c (xnmalloc_inline): New static inline function,
15758         with the old contents of xnmalloc.
15759         (xnmalloc, xmalloc): Use it.
15760         (xnrealloc_inline): New static inline function,
15761         with the old contents of xnrealloc.
15762         (xnrealloc, xrealloc): Use it.
15763
15764         * lib/alloc.c (alloca): xmalloc cannot return NULL, so don't test for
15765         that.
15766
15767 2003-10-26  Karl Berry  <karl@gnu.org>
15768
15769         * config/srclist.txt (COPYING.DOC): no longer available from
15770         /gd/gnuorg; don't know where the ultimate source is.
15771
15772 2003-10-25  Paul Eggert  <eggert@twinsun.com>
15773
15774         Fix several address-calculation bugs in the hash modules,
15775         plus some minor code cleanup.
15776
15777         * lib/hash.h: Include <stdbool.h>, for bool.
15778         * lib/hash.c: Don't include <stdbool.h>, since hash.h does it now.
15779         * lib/hash.h (Hash_hasher, hash_get_n_buckets, hash_get_n_buckets_used,
15780         hash_get_n_entries, hash_get_max_bucket_length,
15781         hash_get_entries, hash_do_for_each, hash_string, hash_initialize,
15782         hash_rehash): Use size_t rather than unsigned.
15783         * lib/hash.c (struct hash_table, hash_get_n_buckets,
15784         hash_get_n_buckets_used, hash_get_n_entries,
15785         hash_get_max_bucket_length, hash_table_ok, hash_print_statistics,
15786         hash_get_entries, hash_do_for_each, hash_string, is_prime,
15787         next_prime, hash_initialize, hash_rehash, hash_delete, hash_print):
15788         Likewise.
15789         (SIZE_MAX): Define if not defined.
15790         (hash_get_max_bucket_length, hash_table_ok, hash_lookup,
15791         hash_get_first, hash_get_next, hash_get_entries, hash_do_for_each,
15792         hash_print):
15793         Use const * when possible.
15794         (hash_string): Use (unsigned char) *P rather than *(unsigned char *) P.
15795         (check_tuning): Fix bug: if tuning parameters were very close to
15796         0 or 1, rounding errors could have caused subscript violations.
15797         (hash_initialize, allocate_entry, hash_print): Remove unnecessary cast.
15798         (hash_initialize): Add 'fail:' label
15799         to free table and return NULL, and use it to simplify code.
15800         Use calloc rather than clearing the storage ourself.
15801         (hash_initialize, hash_rehash): Check for arithmetic overflow in
15802         buffer size calculations.
15803         * lib/hash-pjw.h (hash_pjw): Use size_t, not unsigned.
15804         Include <stddef.h>, for size_t.
15805         * lib/hash-pjw.c (hash_pjw): Likewise.
15806         Switch to method described by Bruno Haible.
15807         Include <limits.h>, for CHAR_BIT.
15808         (SIZE_BITS): New macro.
15809
15810 2003-10-23  Paul Eggert  <eggert@twinsun.com>
15811
15812         * m4/getline.m4 (AM_FUNC_GETLINE):
15813         Don't include getndelim2.o twice into LIBOBJS; this breaks on some
15814         hosts.  Problem reported by Derek Robert Price in
15815         <http://mail.gnu.org/archive/html/bug-gnulib/2003-10/msg00092.html>.
15816         This patch can be withdrawn after Autoconf 2.58 is required for gnulib.
15817         * m4/getndelim2.m4 (gl_GETNDELIM2): Likewise.
15818
15819 2003-10-21  Paul Eggert  <eggert@twinsun.com>
15820
15821         * lib/getndelim2.c (getndelim2): When size calculation overflows,
15822         ceiling the allocation at NMAX bytes rather than silently
15823         discarding input bytes before NMAX is reached.  This makes
15824         a difference only if NMAX exceeds SIZE_MAX / 2.
15825
15826         * lib/obstack.c: Merge from glibc.
15827         [defined _LIBC]: Include <obstack.h>, not "obstack.h".
15828         Add libc_hidden_def (_obstack_newchunk).
15829         (_obstack_free) [! defined _LIBC]: Remove.
15830         [defined _LIBC]: Make a strong alias from obstack_free, rather than
15831         a clone of the function body.
15832         (fputs) [defined _LIBC && defined USE_IN_LIBIO]: Remove.
15833         [defined _LIBC && !defined USE_IN_LIBIO]: Include <libio/iolibio.h>.
15834
15835         * lib/obstack.h: Indenting cleanup, to make it easier to merge with
15836         glibc.
15837         (obstack_grow, obstack_grow0): Remove unnecessary parentheses around
15838         arg to memcpy.
15839
15840         * lib/obstack.h (obstack_1grow_fast): Properly parenthesize arg.
15841         (obstack_ptr_grow_fast, obstack_int_grow_fast):
15842         Don't use lvalue casts, as GCC plans to remove support for them
15843         in GCC 3.5.  Reported by Joseph S. Myers.  This bug
15844         was also present in the non-GCC version, indicating that this
15845         code had always been buggy and had never been widely used.
15846         (obstack_1grow, obstack_ptr_grow, obstack_int_grow, obstack_blank):
15847         Use the fast variant of each macro, rather than copying the
15848         definiens of the fast variant; that way, we'll be more likely to
15849         catch future bugs in the fast variants.
15850
15851 2003-10-20  Bruno Haible  <bruno@clisp.org>
15852
15853         * modules/wait-process: New file.
15854         * MODULES.html.sh (func_all_modules): Add wait-process.
15855
15856 2003-10-20  Bruno Haible  <bruno@clisp.org>
15857
15858         * m4/wait-process.m4: New file.
15859
15860 2003-10-20  Bruno Haible  <bruno@clisp.org>
15861
15862         * lib/wait-process.h: New file, from GNU gettext.
15863         * lib/wait-process.c: New file, from GNU gettext.
15864
15865 2003-10-19  Jim Meyering  <jim@meyering.net>
15866
15867         * lib/vasnprintf.c (vasnprintf): Work around losing snprintf on
15868         HPUX 10.20.
15869
15870 2003-10-18  Karl Berry  <karl@gnu.org>
15871
15872         * config/config.guess: update from config.
15873
15874 2003-10-16  Paul Eggert  <eggert@twinsun.com>
15875
15876         * lib/getgroups.c: Include <errno.h>, <stdlib.h>.
15877         (getgroups): First arg is int, not size_t.
15878         Don't let 'free' mangle errno.
15879
15880 2003-10-16  Paul Eggert  <eggert@twinsun.com>
15881
15882         * README: Mention that gnulib assumes that (foo *) NULL + 0 == NULL.
15883
15884 2003-10-16  Karl Berry  <karl@gnu.org>
15885
15886         * config/config.{guess,sub}: update from config.
15887
15888 2003-10-16  Jim Meyering  <jim@meyering.net>
15889
15890         * lib/xmalloc.c: Include <string.h>, for declarations of memset and
15891         memcpy.
15892
15893 2003-10-15  Paul Eggert  <eggert@twinsun.com>
15894
15895         * lib/exclude.c: Do not include <inttypes.h> or <stdint.h>.
15896         (SIZE_MAX): Remove.
15897         (new_exclude, add_exclude_file): Initial size no longer needs to
15898         be a power of 2.
15899         (add_exclude, add_exclude_file): Use xnrealloc instead of rolling
15900         our own address arithmetic overflow checking.
15901
15902         * lib/fnmatch.c (SIZE_MAX): Define if standard headers don't.
15903         (fnmatch): Do not alloca more than 2000 wide characters;
15904         instead, use malloc for large buffers.
15905         Check for address arithmetic overflow, and return -1
15906         with errno set to ENOMEM in that case.
15907         * lib/fnmatch_loop.c (ALLOCA_LIMIT): New macro.
15908         (NEW_PATTERN): Do not alloca more than 8000 bytes;
15909         instead, return -1.  Check for address arithmetic overflow.
15910
15911 2003-10-14  Paul Eggert  <eggert@twinsun.com>
15912
15913         Handle invalid suffixes and overflow independently, so that
15914         callers can treat them independently as needed.  Fix some bugs in
15915         suffix handling, e.g., "100k@" was not diagnosed as an invalid
15916         suffix for a human-readable blocksize.  The major caller-visible
15917         change is the addition of a new
15918         LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW enum value, indicating
15919         that both overflow and suffix chars were found.
15920
15921         * lib/human.c (humblock): Don't check separately for invalid suffix
15922         char; that is xstrtoumax's job (now that its bug is fixed).
15923         * lib/xstrtoimax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [defined
15924         INTMAX_MAX]: New macros.
15925         * lib/xstrtol.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM, TYPE_MINIMUM,
15926         TYPE_MAXIMUM): New macros.
15927         (bkm_scale, bkm_scale_by_power): Return strtol_error, not int.
15928         (bkm_scale, bkm_scale_by_power, __xstrtol): Return maximal values
15929         if overflow occurs, as it's what __strtol does and it's more useful
15930         in practice.
15931         (__xstrtol): If __strtol reports some error other than ERANGE,
15932         reflect it to the caller as LONGINT_INVALID.  If it reports
15933         ERANGE, continue the rest of parsing, and report LONGINT_OVERFLOW
15934         | LONGINT_INVALID_SUFFIX_CHAR if both errors occur.
15935         * lib/xstrtol.h (LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW): New enum
15936         value.
15937         (_STRTOL_ERROR): Handle it.  Abort when given unknown error codes.
15938         * lib/xstrtoul.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM): New macros.
15939         * lib/xstrtoumax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM)
15940         [defined UINTMAX_MAX]: New macros.
15941
15942 2003-10-14  Bruno Haible  <bruno@clisp.org>
15943
15944         * modules/fatal-signal: Add m4/sig_atomic_t.m4 to file list.
15945
15946 2003-10-14  Bruno Haible  <bruno@clisp.org>
15947
15948         * m4/sig_atomic_t: New file, from GNU gettext.
15949         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Require gt_TYPE_SIG_ATOMIC_T.
15950
15951 2003-10-14  Bruno Haible  <bruno@clisp.org>
15952
15953         * lib/fatal-signal.h: Improved comments. Suggested by Paul Eggert.
15954         * lib/fatal-signal.c: Use sig_atomic_t. Suggested by Paul Eggert.
15955         Also use volatile where needed.
15956
15957 2003-10-12  Paul Eggert  <eggert@twinsun.com>
15958
15959         * modules/xalloc: Do not depend on 'exit'.  Depend on 'stdbool'.
15960         Change maintainer from Bruno Haible to 'all'.
15961
15962 2003-10-12  Paul Eggert  <eggert@twinsun.com>
15963
15964         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Require AC_C_INLINE.
15965
15966 2003-10-12  Paul Eggert  <eggert@twinsun.com>
15967
15968         * lib/xalloc.h (xnmalloc, xzalloc, xnrealloc, xclone): New decls.
15969         (XMALLOC, XCALLOC, XREALLOC, XFREE, CCLONE, CLONE): Deprecate,
15970         and define in terms of the other primitives.
15971         * lib/xmalloc.c: Include stdbool.h; do not include exit.h.
15972         (SIZE_MAX): Define if not already defined.
15973         (array_size_overflow): New function.
15974         (xalloc_die): Abort instead of exiting if 'error' returns.
15975         (xnmalloc, xnrealloc, xzalloc, xclone): New functions.
15976         (xmalloc, xrealloc): Use them.
15977         (xcalloc): Check for address arithmetic overflow.
15978         * lib/xstrdup.c (xstrdup): Use xclone, since memcpy should be
15979         a bit faster than strcpy.
15980
15981 2003-10-10  Simon Josefsson  <jas@extundo.com>
15982
15983         * modules/argp (Depends-on): Add restrict and strcase.
15984
15985 2003-10-10  Simon Josefsson  <jas@extundo.com>
15986
15987         * m4/argp.m4: Add AC_C_INLINE.
15988
15989 2003-10-08  Paul Eggert  <eggert@twinsun.com>
15990
15991         Merge getpass from libc, plus a few fixes.
15992
15993         * lib/getpass.c (HAVE_STDIO_EXT) [_LIBC]: Define to 1.
15994         Include <stdbool.h>.
15995         Include <stdio_ext.h> if HAVE_STDIO_H, otherwise define
15996         __fsetlocking to empty.
15997         [_LIBC]: Do not include "getline.h" or "unlocked-io.h", but
15998         do include <bits/libc-lock.h>.
15999         Do not include <fcntl.h>; not needed.
16000         [_LIBC]: Include <wchar.h>.
16001         (NOTCANCEL_MODE): New macro.
16002         (flockfile, funlockfile) [_LIBC]: New macros.
16003         (__libc_cleanup_push, __libc_cleanup_pop, __getline, __tcgetattr)
16004         [!_LIBC]: New macros.
16005         (call_fclose): New function.
16006         (getpass): Use it.  Save tty stream separately; this simplifies the
16007         code and makes it more reliable if stdin happens to equal stdout.
16008         Invoke __fsetlocking on tty.
16009         Handle thread cancellation if needed.
16010         Namespace cleanup (use __tcgetattr, __getline).
16011         Use bool for Booleans.
16012         [USE_IN_LIBIO]: Handle wide streams.
16013         [!_LIBC]: Unconditionally do the fseek, since we don't know what
16014         stream might go where.
16015
16016         * lib/unlocked-io.h: Include <stdio.h>, so that the caller
16017         doesn't have to include <stdio.h> before us.
16018         (clearerr_unlocked, feof_unlocked, ferror_unlocked,
16019         fflush_unlocked, fgets_unlocked, fputc_unlocked, fputs_unlocked,
16020         fread_unlocked, fwrite_unlocked, getc_unlocked, getchar_unlocked,
16021         putc_unlocked, putchar_unlocked): Define to the unlocked counterpart
16022         if not declared, so that we can use getpass.c code from libc without
16023         rewriting it.
16024         (flockfile, ftrylockfile, funlockfile): New macros.
16025
16026 2003-10-08  Paul Eggert  <eggert@twinsun.com>
16027
16028         * modules/getpass: Depend on stdbool.
16029
16030 2003-10-08  Paul Eggert  <eggert@twinsun.com>
16031
16032         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for stdio_ext.h.
16033
16034 2003-10-07  Karl Berry  <karl@gnu.org>
16035
16036         * config/config.{guess,sub}: update from config.
16037
16038 2003-10-06  Jim Meyering  <jim@meyering.net>
16039             Bruno Haible  <bruno@clisp.org>
16040
16041         This lets translators provide better translations for the
16042         "Written by ..." part of --version output.
16043         * lib/version-etc.h: Include stdarg.h.
16044         (version_etc_copyright): Declare as readonly.
16045         (version_etc): Make this function variadic with a NULL-terminated list
16046         of author name strings.
16047         (version_etc_va): New declaration.
16048         * lib/version-etc.c: Include stdarg.h, stdlib.h.
16049         (version_etc_copyright): Declare as readonly.
16050         (version_etc_va): New function. Provide a different translatable string
16051         for each possible number of authors < 10. Abbreviate when there are 10
16052         authors or more.
16053         (version_etc): Make this function variadic. Call version_etc_va.
16054         Suggestion from Gary V. Vaughan.
16055
16056         * lib/long-options.h (parse_long_options): Change prototype: the
16057         authors string is moved to the end and becomes variadic.
16058         * lib/long-options.c: Include stdarg.h.
16059         (parse_long_options): Make this function variadic, too.
16060         Call version_etc_va, not version_etc.
16061
16062 2003-10-06  Bruno Haible  <bruno@clisp.org>
16063
16064         * modules/version-etc-2: Remove file.
16065         * MODULES.html.sh (func_all_modules): Remove version-etc-2.
16066
16067 2003-10-06  Bruno Haible  <bruno@clisp.org>
16068
16069         * modules/fatal-signal: New file.
16070         * MODULES.html.sh (func_all_modules): Add fatal-signal.
16071
16072 2003-10-06  Bruno Haible  <bruno@clisp.org>
16073
16074         * m4/fatal-signal.m4: New file.
16075         * m4/signalblocking.m4: New file, from GNU gettext.
16076
16077 2003-10-06  Bruno Haible  <bruno@clisp.org>
16078
16079         * lib/version-etc-2.h: Remove file.
16080         * lib/version-etc-2.c: Remove file.
16081
16082 2003-10-06  Bruno Haible  <bruno@clisp.org>
16083
16084         * lib/fatal-signal.h: New file, from GNU gettext.
16085         * lib/fatal-signal.c: New file, from GNU gettext.
16086
16087 2003-10-05  Paul Eggert  <eggert@twinsun.com>
16088
16089         * README: Rework advice for preventing empty .o files.
16090         Don't recommend ELIDE constructs.  Recommend <stddef.h>,
16091         not <sys/types.h>.
16092
16093 2003-10-04  Karl Berry  <karl@gnu.org>
16094
16095         * lib/argp*: update from libc.
16096
16097 2003-10-04  Karl Berry  <karl@gnu.org>
16098
16099         * config/config.{guess,sub}: update from config.
16100
16101 2003-10-02  Bruno Haible  <bruno@clisp.org>
16102
16103         * modules/lchown (Include): Add lchown.h.
16104         * modules/time_r (Include): Use "..." syntax.
16105         * modules/xgetdomainname (Include): Add xgetdomainname.h.
16106
16107 2003-10-01  Simon Josefsson  <jas@extundo.com>
16108
16109         * MODULES.html.sh (func_all_modules): Move gethostname from section
16110         'based on' to section 'lacking' POSIX:2001.
16111
16112 2003-10-01  Larry Jones  <lawrence.jones@eds.com>
16113
16114         * lib/getpass.c (getpass): Use a no-op fseek when switching from input
16115         to output mode on the same stream.
16116
16117 2003-09-29  Paul Eggert  <eggert@twinsun.com>
16118
16119         * lib/strftime.c (tm_diff) [! HAVE_TM_GMTOFF]:
16120         Fix arg typo in previous patch.
16121
16122 2003-09-28  Jim Meyering  <jim@meyering.net>
16123
16124         * lib/error.c: Correct cpp indentation.
16125
16126 2003-09-27  Paul Eggert  <eggert@twinsun.com>
16127
16128         * modules/free: New file.
16129
16130 2003-09-27  Paul Eggert  <eggert@twinsun.com>
16131
16132         * m4/free.m4: New file.
16133
16134 2003-09-27  Paul Eggert  <eggert@twinsun.com>
16135
16136         * lib/minmax.h (MIN, MAX)
16137         [__STDC__ && defined __GNUC__ && __GNUC__ >= 2]:
16138         Omit the special code that used __typeof__, since we worry that
16139         it could be more trouble than it's worth.  See:
16140         http://mail.gnu.org/archive/html/bug-gnulib/2003-01/msg00090.html
16141         http://mail.gnu.org/archive/html/bug-gnulib/2003-01/msg00095.html
16142
16143         * lib/free.c: New file.
16144
16145 2003-09-27  Oskar Liljeblad  <oskar@osk.mine.nu>
16146
16147         Trivial fixes to Makefile.am parts of module listings.
16148         * modules/strstr: Append strstr.h to lib_SOURCES.
16149         * modules/strcase: Likewise, for strcase.h.
16150
16151 2003-09-27  Karl Berry  <karl@gnu.org>
16152
16153         * config/mkinstalldirs: update from automake.
16154
16155 2003-09-26  Paul Eggert  <eggert@twinsun.com>
16156
16157         * lib/error.c (SIZE_MAX) [!defined SIZE_MAX]: Define.
16158         (error_tail): Do not loop, reallocating temporary buffer, since
16159         the output cannot contain more wide characters than the input
16160         contains bytes, the size must be big enough already.  This avoids
16161         one potential size overflow calculation.  Check for size overflow
16162         when calculating temporary buffer size.  Free temporary buffer
16163         when done, if it was allocated with malloc; this plugs a memory
16164         leak.  Remove casts from void * to pointers, that are no longer
16165         needed now that we're assuming C89 or better.
16166
16167         Merge error changes from glibc.
16168
16169         * lib/error.c, error.h: Update copyright notice header to match glibc.
16170         * lib/error.c [defined _LIBC]: Include <errno.h>, <bits/libc-lock.h>.
16171         (error, error_at_line) [defined _LIBC && defined __libc_ptf_call]:
16172         Disable cancellation while printing error.
16173         * lib/error.h: Prepend __ to parameter names.
16174
16175 2003-09-26  Jim Meyering  <jim@meyering.net>
16176
16177         * lib/error.c (error_tail): Move some declarations
16178         into inner scope where the local variables are used.
16179
16180 2003-09-26  Bruno Haible  <bruno@clisp.org>
16181
16182         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Add comments about the AIX
16183         stpncpy().
16184         Don't define stpncpy through config.h; it's now done through stpncpy.h.
16185
16186 2003-09-26  Bruno Haible  <bruno@clisp.org>
16187
16188         * lib/stpncpy.h (gnu_stpncpy): New declaration.
16189         (stpncpy): Define as alias for gnu_stpncpy.
16190         * lib/stpncpy.c [!_LIBC]: Define gnu_stpncpy, not stpncpy.
16191
16192 2003-09-25  Simon Josefsson  <jas@extundo.com>
16193
16194         * lib/xgetdomainname.h: New file.
16195         * lib/xgetdomainname.c: New file.
16196
16197 2003-09-25  Simon Josefsson  <jas@extundo.com>
16198             Bruno Haible  <bruno@clisp.org>
16199
16200         * modules/getdomainname: New file.
16201         * modules/xgetdomainname: New file.
16202         * MODULES.html.sh (func_all_modules): Add getdomainname,
16203         xgetdomainname.
16204
16205 2003-09-25  Simon Josefsson  <jas@extundo.com>
16206             Bruno Haible  <bruno@clisp.org>
16207
16208         * m4/getdomainname.m4: New file.
16209
16210 2003-09-25  Simon Josefsson  <jas@extundo.com>
16211             Bruno Haible  <bruno@clisp.org>
16212
16213         * lib/getdomainname.h: New file.
16214         * lib/getdomainname.c: New file.
16215
16216 2003-09-25  Karl Berry  <karl@gnu.org>
16217
16218         * lib/argp-fmtstream.c, argp-help.c: update from libc.
16219
16220 2003-09-25  Karl Berry  <karl@gnu.org>
16221
16222         * config/install-sh: update from automake.
16223
16224 2003-09-25  Bruno Haible  <bruno@clisp.org>
16225
16226         * modules/version-etc-2: New file, from modules/version-etc with
16227         modifications.
16228         * MODULES.html.sh (func_all_modules): Add version-etc-2.
16229
16230 2003-09-25  Bruno Haible  <bruno@clisp.org>
16231
16232         * lib/version-etc-2.h: New file, from version-etc.h with modifications.
16233         * lib/version-etc-2.c: New file, from version-etc.c with modifications.
16234
16235 2003-09-24  Simon Josefsson  <jas@extundo.com>
16236
16237         * modules/xgethostname: Add xgethostname.h.
16238
16239 2003-09-24  Paul Eggert  <eggert@twinsun.com>
16240
16241         * lib/linebuffer.c (freebuffer): Don't free the argument, just
16242         the buffer associated with the argument.  Bug reported by
16243         Simon Josefsson.
16244
16245 2003-09-24  Paul Eggert  <eggert@twinsun.com>
16246
16247         * README: Document assumptions that 'int' is at least 32 bits
16248         wide, that integer arithmetic is 2's complement without overflow,
16249         that there are no holes in integer values, that adding sizes of
16250         two nonoverlapping objects can't overflow, and that all-bits-zero
16251         yields scalar zero.  Fix spelling and capitalization typos.
16252
16253 2003-09-19  Karl Berry  <karl@gnu.org>
16254
16255         * lib/argp.h: update from libc.
16256
16257 2003-09-17  Paul Eggert  <eggert@twinsun.com>
16258
16259         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Call AC_BEFORE first,
16260         to avoid spurious warnings like "AC_RUN_IFELSE was called before
16261         gl_USE_SYSTEM_EXTENSIONS" from autoreconf.
16262
16263 2003-09-17  Paul Eggert  <eggert@twinsun.com>
16264
16265         * gnulib-tool: Use "test -h", not "test -L", for portability
16266         to Solaris 8 /bin/sh.  (This bug is fixed in Solaris 9.)
16267         (tags_regexp): Remove, since \| doesn't conform to POSIX.
16268         (sed_extract_prog): Issue s commands one-by-one, rather than
16269         using \| in one s command.
16270
16271 2003-09-16  Paul Eggert  <eggert@twinsun.com>
16272
16273         * lib/linebuffer.c (readlinebuffer): Return NULL immediately upon
16274         input error, instead of returning NULL the next time we are called
16275         (and therefore losing track of errno).
16276
16277 2003-09-16  Bruno Haible  <bruno@clisp.org>
16278
16279         * gnulib-tool (func_create_testdir): Warn about duplicated
16280         dependencies.
16281
16282 2003-09-15  Paul Eggert  <eggert@twinsun.com>
16283
16284         * modules/argmatch, modules/fatal, modules/obstack,
16285         modules/xalloc, modules/xgethostname: Sort dependencies by
16286         importance, not alphabetically.
16287
16288 2003-09-15  Paul Eggert  <eggert@twinsun.com>
16289
16290         * lib/getndelim2.c (getndelim2): Don't trash errno when a read
16291         fails, so that the caller gets the proper errno.
16292
16293         * lib/readutmp.c (read_utmp): Likewise.
16294         Check for fstat error.  Close stream and free storage
16295         when failing.
16296
16297 2003-09-14  Karl Berry  <karl@gnu.org>
16298
16299         * config/srclist.txt (strdup.c): disable for c89 changes.
16300
16301 2003-09-14  Jim Meyering  <jim@meyering.net>
16302
16303         * lib/getloadavg.c: Correct cpp indentation.
16304         * lib/strdup.c: Likewise.
16305         * lib/vasnprintf.c: Likewise.
16306
16307 2003-09-14  Bruno Haible  <bruno@clisp.org>
16308
16309         * modules/fwriteerror: New file.
16310         * MODULES.html.sh (func_all_modules): Add fwriteerror.
16311
16312 2003-09-14  Bruno Haible  <bruno@clisp.org>
16313
16314         * lib/fwriteerror.h: New file.
16315         * lib/fwriteerror.c: New file.
16316
16317 2003-09-12  Paul Eggert  <eggert@twinsun.com>
16318
16319         * modules/argmatch, modules/exitfail, modules/fatal, modules/obstack,
16320         modules/xgethostname, modules/xalloc: Depend on exit.
16321
16322 2003-09-12  Paul Eggert  <eggert@twinsun.com>
16323
16324         * m4/error.m4: Require AC_FUNC_STRERROR_R rather than invoking it.
16325
16326         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Require AC_AIX
16327         and AC_MINIX, too, so that their extensions are available.
16328
16329         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Remove.  All uses removed.
16330         This macro has been superseded by gl_BACKUPFILE.
16331
16332         More patches to assume C89 or better.
16333
16334         * m4/error.m4 (gl_ERROR): Don't check for vprintf.
16335
16336         * m4/check-decl.m4 (jm_CHECK_DECLS): Include <string.h>, <stdlib.h>
16337         unconditionally.
16338         * m4/closeout.m4 (gl_CLOSEOUT): Don't check for stdlib.h.
16339         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER):
16340         Include <string.h>, <stdlib.h> unconditionally.
16341         * m4/lstat.m4 (gl_PREREQ_LSTAT): Don't check for stdlib.h, free.
16342         * m4/readdir.m4 (GL_FUNC_READDIR): Don't check for string.h.
16343         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Don't check for standard C
16344         headers or for string.h.
16345         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Don't check for stdlib.h
16346         or strtoul.
16347
16348         * m4/mkstemp.m4 (jm_PREREQ_TEMPNAME): Do not require standard C
16349         headers.
16350         * m4/strdup.m4 (gl_PREREQ_STRDUP): Likewise.
16351         * m4/userspec.m4 (gl_USERSPEC): Likewise.
16352         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Likewise.
16353         * m4/xstrtod.m4 (gl_XSTRTOD): Likewise.
16354         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
16355         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't check for limits.h,
16356         memcpy, memset.
16357         (jm_FUNC_GNU_STRFTIME): Don't require standard C headers.
16358         * m4/strtod.m4 (gl_FUNC_STRTOD): Do not check for float.h.
16359         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Do not check for stdlib.h,
16360         strtol.
16361         * m4/strtol.m4 (gl_FUNC_STRTOL): Do not check for limits.h.
16362         * m4/userspec.m4 (gl_USERSPEC): Do not check for string.h.
16363         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Do not check for string.h, strtol,
16364         strtoul.
16365
16366 2003-09-12  Paul Eggert  <eggert@twinsun.com>
16367
16368         * lib/argmatch.c, fatal.c, xgethostname.c, xmalloc.c: Include exit.h.
16369         * lib/obstack.c [!defined _LIBC]: Likewise.
16370         * lib/argmatch.c (EXIT_FAILURE): Remove; now done by exit.h
16371         * lib/exitfail.c, fatal.c, xgethostname.c, xmalloc.c: Likewise.
16372         * lib/exitfail.c: Don't include stdlib.h; no longer needed.
16373
16374         More changes to assume C89 or better.
16375
16376         * lib/error.c (error_tail): Assume vprintf.
16377
16378         * lib/argmatch.c (getenv): Remove decl.
16379         * lib/progreloc.c (get_full_program_name): Define via prototype.
16380         * lib/setenv.c (clearenv): Likewise.
16381         * lib/stpncpy.c: Do not include <string.h> or <sys/types.h>; not
16382         needed.
16383         * lib/strdup.c: Include <stdlib.h>, <string.h> unconditionally.
16384         (malloc, memcpy): Remove decls.
16385         * lib/strftime.c (HAVE_LIMITS_H, STDC_HEADERS) [defined _LIBC]: Remove.
16386         (HAVE_MEMCPY) [defined emacs && !defined HAVE_BCOPY]: Remove.
16387         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
16388         (memcpy): Remove macro.
16389         (MEMCPY) [!defined COMPILE_WIDE]: Define to memcpy unconditionally.
16390         (__P): Remove.  All uses removed.
16391         (PTR): Remove.  All uses changed to void *.
16392         (CHAR_BIT, NULL): Remove.
16393         (spaces, zeros, memset_space, memset_zero)
16394         [!defined memset && !defined HAVE_MEMSET && !defined _LIBC]:
16395         Remove.
16396         (LOCALE_PARAM, LOCALE_PARAM_DECL): Remove.
16397         (memcpy_lowcase, memcpy_uppcase, tm_diff, iso_week_days):
16398         Define with prototype.
16399         Remove now-unnecessary prototype decl.
16400         (extra_args_spec): Assume ANSI C.  All uses changed.
16401         (extra_args_spec_iso): Remove.
16402         (my_strftime, emacs_strftimeu): Define via prototype.
16403         * lib/strtod.c: Include <float.h>, <stdlib.h>, <string.h>
16404         unconditionally.
16405         (DBL_MAX, DBL_MIN, HUGE_VAL, NULL): Remove decls.
16406         * lib/strtoimax.c: Include <stdlib.h> unconditionally.
16407         (strtoul, strtol): Remove decls.
16408         * lib/strtol.c (STDC_HEADERS, HAVE_LIMITS_H, NULL, ULONG_MAX,
16409         LONG_MAX): Remove.
16410         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
16411         (LOCALE_PARAM_DECL): Remove.  All uses changed to LOCALE_PARAM_PROTO.
16412         (LOCALE_PARAM_PROTO): New macro.
16413         (INTERNAL, INTERNAL1, WEAKNAME): Assume ANSI C, not K&R.
16414         (INTERNAL (strtol), strtol): Define with a prototype.
16415         (PARAMS): Remove.  All uses removed.
16416         * lib/tempname.c: Include <string.h> unconditionally.
16417         * lib/userspec.c: Include <stdlib.h>, <string.h> unconditionally.
16418         * lib/xgethostname.c (main): Define with a prototype.
16419         * lib/xmalloc.c: Include "xalloc.h" first, to check interface.
16420         Include <stdlib.h> unconditionally.
16421         (calloc, malloc, realloc, free): Remove decls.
16422         * lib/xstrtod.c: Include "xstrtod.h" first, to check interface.
16423         Include <stdlib.h> unconditionally.  Sort include file names.
16424         (strtod): Remove.
16425         (xstrtod): Define with a prototype.
16426         * lib/xstrtol.c: Include <stdlib.h>, <string.h> unconditionally.
16427         (strtol, strtoul): Remove decls.
16428
16429 2003-09-11  Paul Eggert  <eggert@twinsun.com>
16430
16431         More patches to assume C89 or better.
16432         * m4/strndup.m4 (gl_PREREQ_STRNDUP): Remove STDC_HEADERS check.
16433         * m4/strnlen.m4 (gl_PREREQ_STRNLEN): Don't check for memory.h,
16434         string.h, memchr, STDC_HEADERS.
16435
16436 2003-09-11  Paul Eggert  <eggert@twinsun.com>
16437
16438         * lib/strndup.c: Don't include <stdio.h>, <sys/types.h>.
16439         Include <stdlib.h>, <string.h> unconditionally.
16440         Remove now-unnecessary cast to char *.
16441         * lib/strnlen.c: Include <string.h> unconditionally.
16442         * lib/yesno.c (yesno): Define with a prototype.
16443
16444 2003-09-11  Bruno Haible  <bruno@clisp.org>
16445
16446         * config/srclist.txt (setenv.c, unsetenv.c): Disable for the moment.
16447
16448 2003-09-10  Jim Meyering  <jim@meyering.net>
16449
16450         * lib/error.c: Correct indentation of cpp directives.
16451
16452 2003-09-10  Bruno Haible  <bruno@clisp.org>
16453
16454         * m4/strcspn.m4 (gl_PREREQ_STRCSPN): Remove <string.h> check.
16455         * m4/strpbrk.m4 (gl_PREREQ_STRPBRK): Remove <string.h> check.
16456         * m4/strstr.m4 (gl_PREREQ_STRSTR): Remove <string.h> check.
16457         * m4/unicodeio.m4 (gl_UNICODEIO): Remove <string.h> check.
16458         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove
16459         <stdlib.h> and <string.h> checks.
16460         * m4/xreadlink.m4 (gl_XREADLINK): Remove <stdlib.h> check.
16461         * m4/yesno.m4 (gl_YESNO): Remove <stdlib.h> check.
16462
16463 2003-09-10  Bruno Haible  <bruno@clisp.org>
16464
16465         * lib/strcspn.c: Include <string.h> unconditionally.
16466         * lib/strpbrk.c: Include <string.h> unconditionally.
16467         * lib/strstr.c: Include <string.h> unconditionally.
16468         * lib/unicodeio.c: Include <string.h> unconditionally.
16469         * lib/setenv.c: Include <stdlib.h> and <string.h> unconditionally.
16470         * lib/unsetenv.c: Likewise.
16471         * lib/xreadlink.c: Include <stdlib.h> unconditionally.
16472         * lib/yesno.c: Include <stdlib.h> unconditionally.
16473         (rpmatch): Add prototype.
16474
16475 2003-09-09  Paul Eggert  <eggert@twinsun.com>
16476
16477         More patches to assume C89 or better.
16478         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Don't check for stdlib.h.
16479         * m4/getopt.m4 (gl_GETOPT): Don't check for string.h.
16480         * m4/getugroups.m4 (gl_GETUGROUPS): Do not check for standard C headers
16481         or for string.h.
16482         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Do not check for
16483         stdlib.h.
16484         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): Do not require standard
16485         C headers.
16486         * m4/hard-locale.m4 (gl_HARD_LOCALE): Do not check for stdlib.h,
16487         string.h.
16488         * m4/hash.m4 (gl_HASH): Do not check for stdlib.h, malloc, free.
16489         * m4/human.m4 (gl_HUMAN): Do not check for stdlib.h, string.h, getenv.
16490         * m4/idcache.m4 (gl_IDCACHE): Do not check for standard C headers,
16491         or for string.h.
16492         * m4/long-options.m4 (gl_LONG_OPTIONS): Do not check for stdlib.h.
16493         * m4/makepath.m4 (gl_MAKEPATH): Do not check for string.h or standard
16494         C headers.
16495         * m4/md5.m4 (gl_MD5): Don't check for limits.h, standard C headers,
16496         memcpy.
16497         * m4/sha.m4 (gl_SHA): Don't check for standard Cheaders, memcpy.
16498         * m4/memchr.m4 (jm_PREREQ_MEMCHR): Don't check for limits.h, stdlib.h.
16499         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): Don't check for string.h.
16500         * m4/memcoll.m4 (gl_MEMCOLL): Likewise.
16501         * m4/memrchr.c (gl_PREREQ_MEMRCHR): Don't check for limits.h.
16502         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): Don't check for stdlib.h,
16503         string.h, free.
16504         * m4/mktime.m4 (gl_PREREQ_MKTIME): Don't check for standard C headers.
16505         * m4/modechange.m4 (gl_MODECHANGE): Don't check for standard C headers.
16506         * m4/mountlist.m4 (gl_PREREQ_MOUNTLIST_EXTRA): Don't check for standard
16507         C headers, or for string.h.
16508         * m4/obstack.m4 (gl_OBSTACK): Don't check for stddefe.h, string.h.
16509         (gl_PREREQ_OBSTACK): Don't check for stdlib.h.
16510         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't check for standard C
16511         headers, memory.h, stdlib.h, string.h, strings.h.
16512         * m4/posixtm.m4 (gl_POSIXTM): Don't check for stdlib.h, string.h.
16513         * m4/posixver.m4 (gl_POSIXVER): Don't check for getenv.
16514         * m4/putenv.m4 (gl_PREREQ_PUTENV): Don't check for string.h, memcpy,
16515         strchr.
16516         * m4/readtokens.m4 (gl_READTOKENS): Don't check for standard C
16517         headers, memory.h, string.h.
16518         * m4/regex.m4 (jm_PREREQ_REGEX): Do not check for limits.h, string.h.
16519         * m4/rename.m4 (gl_PREREQ_RENAME): Do not check for stdlib.h, string.h,
16520         free.
16521         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Don't check for standard C
16522         headers.
16523         * m4/same.m4 (gl_SAME): Don't check for stdlib.h, string.h, free.
16524         * m4/save-cwd.m4 (gl_SAVE_CWD): Don't check for standard C headers.
16525         * m4/savedir.m4 (gl_SAVEDIR): Don't check for standard C headers.
16526         * m4/strchrnul.m4 (gl_PREREQ_STRCHRNUL): Don't check for string.h.
16527         * m4/xgetcwd.m4 (gl_XGETCWD): Don't check for stdlib.h.
16528
16529 2003-09-09  Paul Eggert  <eggert@twinsun.com>
16530
16531         More K&R removal.
16532
16533         * lib/acosl.c (main): Use a prototype.
16534         * lib/asinl.c, cosl.c, expl.c, frexpl.c, ldexpl.c, sinl.c,
16535         tanl.c: Likewise.
16536
16537         * lib/getloadavg.c (getloadavg, main): Define via prototypes.
16538
16539         * lib/getopt.h (struct option.name): Assume C89, and use 'const'.
16540         (getopt, etopt_long, getopt_long_only, _getopt_internal)
16541         [defined __GNU_LIBRARY__]: Assume C89, so we can always declare
16542         with a prototype.
16543         * lib/getopt.c (const): Remove macro.
16544         Include <string.h> unconditionally.
16545         (my_index): Remove; all uses changed to strchr.
16546         (strlen): Remove decl.
16547         (exchange): Remove forward decl; no longer needed.
16548         (exchange, _getopt_initialize, _getopt_internal, getopt, main):
16549         Define with prototype.
16550         * lib/getopt1.c (const): Remove macro.
16551         (getopt_long, getopt_long_only, main): Define with prototype.
16552
16553         * lib/getugroups.c: Include <string.h> unconditionally.
16554
16555         * lib/getusershell.c: Include <stdlib.h> unconditionally.
16556         (getusershell, setusershell, endusershell, readname, main):
16557         Define with prototypes.
16558
16559         * lib/group-member.c: Include group-member.h first.
16560         Include <stdlib.h> unconditionally.
16561
16562         * lib/hard-locale.c: Include hard-locale.h first.
16563         Include <stdlib.h>, <string.h> unconditionally.
16564
16565         * lib/hash.c (free, malloc): Remove decls.
16566         Include <stdlib.h> unconditionally.
16567
16568         * lib/human.c: Include <stdlib.h>, <string.h> unconditionally.
16569         (getenv): Do not declare.
16570
16571         * lib/idcache.c: Include <string.h> unconditionally.
16572
16573         * lib/long-options.c: Include long-options.h first, to test interface.
16574         Include <stdlib.h> unconditionally.
16575
16576         * lib/makepath.c: Include makepath.h first, to test interface.
16577         Include <stdlib.h> and <string.h> unconditionally.
16578
16579         * lib/linebuffer.c: Include <stdlib.h>.
16580         (free): Remove decl.
16581
16582         * lib/malloc.c: Include <stdlib.h>, for malloc; don't bother with
16583         stddef.h. rpl_malloc returns void *, not char *.
16584         * lib/realloc.c (rpl_realloc): Likewise.  Also, define with a
16585         prototype.
16586
16587         * lib/md5.h: Include <limits.h> unconditionally.
16588         (UINT_MAX_32_BITS): Don't worry about non-__STDC__ case.
16589         (__P): Remove; all uses removed.
16590         * lib/md5.c: Include "md5.h" first.
16591         (md5_init_ctx, md5_read_ctx, md5_finish_ctx, md5_stream,
16592         md5_buffer, md5_process_bytes, md5_process_block):
16593         Define with prototypes.
16594         * lib/sha.h (__P): Remove all uses.  (It wasn't defined??)
16595         * lib/sha.c: Include "sha.h" first.
16596         Include <stdlib.h>, <string.h> unconditionally.
16597
16598         * lib/memchr.c (__ptr_t): Remove; all uses changed to void *.
16599         * lib/memcmp.c (__ptr_t): Likewise.
16600         * lib/memrchr.c (__ptr_t): Likewise.
16601         * lib/memchr.c, memcmp.c, memcoll.c, memrchr.c:
16602         Include <string.h> unconditionally.
16603         * lib/memchr.c, memrchr.c: Include <limits.h> unconditionally.
16604         * lib/memchr.c: Include <stdlib.h> unconditionally.
16605         * lib/memchr.c (LONG_MAX): Remove.
16606         * lib/memrchr.c (LONG_MAX): Likewise.
16607         * lib/memchr.c (__memchr): Define via a prototype.
16608         * lib/memrchr.c (__memrchr): Likewise.
16609         * lib/memcmp.c (__P): Remove, and remove all uses.
16610         (memcmp_bytes, memcmp_common_alignment, memcmp_not_common_alignment):
16611         Remove forward decls; no longer needed.
16612         * lib/memcpy.c, memmove.c, memset.c: Include <stddef.h>.
16613         Use types required by C89 in prototype.
16614
16615         * lib/mkdir.c: Include <stdlib.h>, <string.h> unconditionally.
16616         * lib/savedir.c: Likewise.
16617         * lib/mkdir.c (free): Remove decl.
16618         * lib/rmdir.c (rmdir): Define with a prototype.
16619         * lib/savedir.c: Include savedir.h first, to test interface.
16620
16621         * lib/mktime.c (STDC_HEADERS): Remove.
16622         Include <stdlib.h>, <string.h> unconditionally.
16623
16624         * lib/modechange.c: Include <stdlib.h> unconditionally.
16625         (malloc): Remove decl.
16626
16627         * lib/mountlist.c: Include <stdlib.h>, <string.h> unconditionally.
16628         (free): Remove decl.
16629
16630         * lib/obstack.h (PTR_INT_TYPE) [!defined __PTRDIFF_TYPE__]:
16631         Define to ptrdiff_t, without bothering to check HAVE_STDDEF_H.
16632         (This type really should be intptr_t, but that's a C99ism.)
16633         (_obstack_memcpy): Remove: all uses changed to memcpy.
16634         Include <string.h> unconditionally.
16635         (struct obstack): Assume __STDC__ for types of members
16636         chunkfun, freefun, extra_arg.
16637         (_obstack_newchunk, _obstack_free, _obstack_begin, _obstack_begin_1,
16638         _obstack_memory_used, obstack_alloc_failed_handler, obstack_init,
16639         obstack_begin, obstack_specify_allocation,
16640         obstack_specify_allocation_with_arg, obstack_chunkfun,
16641         obstack_freefun, obstack_free) [! (defined __STDC__ && __STDC__)]:
16642         Remove unprototyped decls and the macros that use them.
16643         * lib/obstack.c (POINTER): Remove.  All uses changed to void *.
16644         (obstack_alloc_failed_handler, CALL_CHUNKFUN, CALL_FREEFUN,
16645         _obstack_begin, _obstack_begin_1, _obstack_allocated_p)
16646         (defined __STDC__ && __STDC__)]:
16647         Remove nonprototyped code.
16648         Include <stdlib.h> unconditionally.
16649         (_obstack_begin, _obstack_begin_1, _obstack_newchunk,
16650         _obstack_allocated_p, _obstack_free, obstack_free,
16651         _obstack_memory_used, print_and_abort):
16652         Define using prototypes.
16653         (obstack_1grow, obstack_1grow_fast, obstack_alloc, obstack_base,
16654         obstack_blank, obstack_blank_fast, obstack_copy, obstack_copy0,
16655         obstack_finish, obstack_grow, obstack_grow0, obstack_make_room,
16656         obstack_next_free, obstack_object_size, obstack_room) [0]:
16657         Remove unused, unprototyped code.
16658
16659         * lib/path-concat.c: Include <stdlib.h>, <string.h> unconditionally.
16660
16661         * lib/physmem.c (physmem_total, physmem_available, main): Define
16662         with prototypes.
16663
16664         * lib/posixtm.c: Include <stdlib.h>, <string.h> unconditionally.
16665         (main): Define with a prototype.
16666
16667         * lib/posixver.c (getenv): Remove decl.
16668
16669         * lib/putenv.c (malloc): Returns void *, not char *.
16670         Include <string.h> unconditionally.
16671         (strchr, memcpy, NULL): Do not define.
16672
16673         * lib/readtokens.c: Include readtokens.h first, to test interface.
16674         Include <stdlib.h>, <string.h> unconditionally.
16675         (init_tokenbuffer): Define with a prototype.
16676
16677         * lib/regex.c (PARAMS): Remove.  All uses removed.
16678         All uses of _RE_ARGS removed, too.
16679         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
16680         unconditionally.
16681         (bzero): Assume memset exists.
16682         (memcmp, memcpy, NULL): Remove.
16683         (SIGN_EXTEND_CHAR): Remove; all uses replaced by casts to signed
16684         char, or assignments to local vars of type signed char.
16685         (init_syntax_once, PREFIX(extract_number_and_incr),
16686         PREFIX(print_partial_compiled_pattern),
16687         PREFIX(print_compiled_pattern), PREFIX(print_double_string),
16688         convert_mbs_to_wcs, print_fastmap, re_set_syntax,
16689         PREFIX(regex_grow_registers), PREFIX(regex_compile),
16690         PREFIX(store_op1), PREFIX(store_op2), PREFIX(insert_op1),
16691         PREFIX(insert_op2), PREFIX(at_begline_loc_p),
16692         PREFIX(at_endline_loc_p), group_in_compile_stack, insert_space,
16693         wcs_compile_range, byte_compile_range, truncate_wchar,
16694         PREFIX(re_compile_fastmap), re_compile_fastmap, re_set_registers,
16695         re_search, re_search_2, PREFIX(re_search_2), re_match, re_match_2,
16696         count_mbs_length, wcs_re_match_2_internal,
16697         byte_re_match_2_internal, PREFIX(group_match_null_string_p),
16698         PREFIX(alt_match_null_string_p),
16699         PREFIX(common_op_match_null_string_p), PREFIX(bcmp_translate),
16700         re_compile_pattern, re_comp, re_exec, regcomp, regexec, regerror,
16701         regfree, PREFIX(extract_number)): Define with prototype.  Remove
16702         now-unnecessary declaration, if any.
16703         (byte_compile_range, PREFIX(regex_compile), re_comp, re_exec,
16704         regcomp, regexec):
16705         Remove now-unnecessary casts among pointer types.
16706         * lib/regex.h (_RE_ARGS): Remove.  All uses removed.
16707
16708         * lib/rename.c: Include <stdlib.h>, <string.h> unconditionally.
16709         (free): Remove decl.
16710
16711         * lib/rpmatch.c: Include <stdlib.h> unconditionally.
16712
16713         * lib/same.c: Include <stdlib.h>, <string.h> unconditionally.
16714         (free): Remove decl.
16715
16716         * lib/save-cwd.c: Include <stdlib.h> unconditionally.
16717         * lib/xgetcwd.c: Likewise.
16718
16719         * lib/stat.c: Include <stdlib.h>, <string.h> unconditionally.
16720         (free): Remove decl.
16721
16722         * lib/strchrnul.c (strchrnul): Define with a prototype.
16723         Fix bug: c_in was not converted to char before searching.
16724
16725         The following changes are not K&R related:
16726
16727         * lib/group-member.h: Include <sys/types.h>, so that this file is
16728         self-contained.
16729         * lib/makepath.h: Likewise.
16730
16731         * lib/getusershell.c (readname, default_index, line_size, readname):
16732         Use size_t, not int, for sizes.
16733         (readname): If the size overflows, report an error instead of
16734         looping forever.
16735
16736 2003-09-09  Paul Eggert  <eggert@twinsun.com>
16737
16738         * config/srclist.txt: Do not get getopt.h, getopt1.c, or regex.h from
16739         libc.
16740
16741 2003-09-09  Paul Eggert  <eggert@twinsun.com>
16742
16743         * README: New section: portability guidelines.
16744
16745 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
16746
16747         * m4/getndelim2.m4 (gl_PREREQ_GETNDELIM2): Assume stdlib.h per the
16748         C89 spec.
16749
16750 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
16751
16752         * lib/getndelim2.c: Assume stdlib.h per the C89 spec.
16753
16754 2003-09-08  Paul Eggert  <eggert@twinsun.com>
16755
16756         Assume C89 or better; remove K&R cruft.
16757         A few of these changes were first proposed by Derek Robert Price
16758         in <http://mail.gnu.org/archive/html/bug-gnulib/2003-07/msg00105.html>.
16759
16760         * lib/addext.c: Include <string.h> unconditionally.
16761         * lib/backupfile.c: Include <string.h>, <stdlib.h> unconditionally.
16762         Don't declare getenv or malloc.
16763
16764         * lib/alloca.c: Include <string.h>, <stdlib.h> unconditionally.
16765         (POINTER_TYPE, pointer): Remove; all uses changed to void *.
16766         (NULL): Remove.
16767         (find_stack_direction, alloca): Use prototypes.
16768
16769         * lib/atexit.c (atexit): Define using a prototype.
16770
16771         * lib/basename.c, dirname.c, stripslash.c:
16772         Include <string.h> unconditionally.
16773
16774         * lib/bcopy.c: Include <stddef.h>.
16775         (bcopy): Define with prototype, using 'const' and 'void' and 'size_t'.
16776
16777         * lib/canon-host.c: Include <stdlib.h>, <string.h> unconditionally.
16778
16779         * lib/error.h (error, error_at_line, error_print_progname)
16780         [! (defined (__STDC__) && __STDC__)]: Remove decls.
16781         * lib/error.c: Include error.h first, to check interface.
16782         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
16783         (VA_START): Remove; all uses changeed to va_start.
16784         (exit, strerror): Remove decls.
16785         (error_print_progname): Prototype uncondionally.
16786         Don't include <errno.h>; no longer needed.
16787         (private_strerror): Remove.
16788         (error_tail): Always define.
16789         (error, error_at_line): Assume C89 or better; always use prototypes.
16790         * lib/fatal.c: Include "fatal.h" first, to test interface.
16791         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
16792         (VA_START): Remove; all uses changed to va_start.
16793         [! (HAVE_VPRINTF || HAVE_DOPRNT || _LIBC)]: Remove support for
16794         this case.
16795         (exit): Remove decl.
16796         (fatal): Prototype unconditionally.  Assume va_start works.
16797         Abort at end, to pacify gcc.
16798
16799         * lib/euidaccess.c (main): Define with a prototype.
16800
16801         * lib/exclude.c: Include <stdlib.h>, <string.h> unconditionally.
16802
16803         * lib/exitfail.c: Include <stdlib.h> unconditionally.
16804
16805         * lib/fnmatch_.h (__P): Remove.  All uses changed to assume
16806         prototypes.
16807         * lib/fnmatch.c: Include fnmatch.h first, to test interface.
16808         Include <string.h>, <stddef.h>, <stdlib.h> unconditionally.
16809         (getenv): Remove decl.
16810         (fnmatch): Define using a prototype.
16811         * lib/fnmatch_loop.c (FCT): Remove forward decl; no longer needed.
16812         (FCT): Define using a prototype.
16813
16814         * lib/getdate.y: Include <stdlib.h>, <string.h> unconditionally.
16815
16816         * lib/gethostname.c: Include <stddef.h>.
16817         (gethostname): Define with prototype.  Length is size_t, not int.
16818
16819 2003-09-08  Paul Eggert  <eggert@twinsun.com>
16820
16821         Assume C89 or better; remove K&R cruft.
16822         * m4/alloca.m4 (gl_PREREQ_ALLOCA): Don't check for stdlib.h, string.h.
16823         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for stdlib.h,
16824         string.h, getenv, malloc.
16825         * m4/dirname.m4 (gl_DIRNAME): Don't check for string.h or C standard
16826         headers.
16827         * m4/canon-host.m4 (gl_CANON_HOST): Don't check for string.h, stdlib.h.
16828         * m4/error.m4 (jm_PREREQ_ERROR): Do not require STDC headers, and
16829         do not check for strerror.
16830         * m4/exclude.m4: Do not check for stdlib.h, string.h, strings.h.
16831         * m4/exitfail.m4 (gl_EXITFAIL): Do not check for stdlib.h.
16832         * m4/fatal.m4 (gl_FATAL): Do not require STDC headers, and
16833         do not check for doprnt or vprintf.
16834         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH_EXTRA): Remove.  All uses removed.
16835         * m4/getdate.m4 (gl_GETDATE): Don't check for stdlib.h or string.h.
16836
16837 2003-09-08  Paul Eggert  <eggert@twinsun.com>
16838
16839         * lib/getversion.c: Remove; was migrated to backupfile.c in 1997.
16840         getversion.c should have been removed then, but was accidentally
16841         preserved.
16842
16843         * lib/utime.c [!HAVE_UTIMES_NULL]: Include <sys/stat.h>, <fcntl.h>.
16844         (utime_null): Fix typo: 'st' was sometimes called 'sb'.
16845
16846 2003-09-08  Karl Berry  <karl@gnu.org>
16847
16848         * config/config.sub, config.guess, srclistvars.sh: update from savannah
16849                 config, forget about prep.
16850
16851         * config/depcomp, missing: update from automake.
16852
16853 2003-09-07  Paul Eggert  <eggert@twinsun.com>
16854
16855         * modules/time_r: Depend on 'restrict'.  Fix from Simon Josefsson in
16856         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00028.html>.
16857
16858 2003-09-07  Paul Eggert  <eggert@twinsun.com>
16859
16860         * lib/time_r.c (gmtime_r, localtime_r): Fix silly typo: missing arg to
16861         copy_tm_result.  Bug reported by Simon Josefsson in
16862         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00028.html>.
16863
16864 2003-09-06  Paul Eggert  <eggert@twinsun.com>
16865
16866         * m4/time_r.m4: New file.
16867         * m4/mktime.m4 (gl_PREREQ_MKTIME): Remove check for limits.h.
16868         * m4/timegm.m4 (gl_FUNC_TIMEGM): Assume that timegm is buggy if mktime
16869         is. Check for timegm declaration.
16870         (gl_PREREQ_TIMEGM): Require gl_FUNC_MKTIME.
16871         Do not check for gmtime_r.
16872         Replace mktime if __mktime_internal does not exist and if mktime
16873         hasn't been replaced already.
16874
16875 2003-09-06  Paul Eggert  <eggert@twinsun.com>
16876
16877         * lib/time_r.c, lib/time_r.h: New files.
16878
16879         * lib/mktime.c (my_mktime_localtime_r): Remove; all uses changed to
16880         __localtime_r.
16881         (__localtime_r) [!defined _LIBC]: New macro.  Include <time_r.h>.
16882         (__mktime_internal) [!defined _LIBC]: Now extern, not static.
16883
16884         * lib/strftime.c (my_strftime_gmtime_r): Remove; all uses changed to
16885         __gmtime_r.
16886         (my_strftime_localtime_r): Remove; all uses changed to __localtime_r.
16887         (__gtime_r, __localtime_r) [!HAVE_TM_GMTOFF]: New macros.
16888         Include <time_r.h>.
16889
16890         * lib/timegm.c: Switch to glibc implementation, with the following
16891         changes:
16892         [defined HAVE_CONFIG_H]: Include <config.h>.
16893         [!defined _LIBC]: Include "timegm.h" rather than <time.h>.
16894         (__mktime_internal) [!defined _LIBC]: New decl.
16895         (__gmtime_r) [!defined _LIBC]: New macro and function.
16896         (timegm): Use a prototype, since gnulib assumes C89.
16897         Do not bother declaring tmp to be const, as it's not really usefu.
16898         * lib/timegm.h: Hoist "#include <time.h>" out of #ifdef.
16899         (timegm): Declare only if HAVE_DECL_TIMEGM.
16900
16901 2003-09-06  Paul Eggert  <eggert@twinsun.com>
16902
16903         * MODULES.html.sh (func_all_modules): Add time_r.
16904         * modules/time_r: New file.
16905         * modules/mktime, modules/strftime, modules/timegm: Depend on time_r.
16906         * modules/timegm: Depend on mktime.  Change maintainer to "all, glibc".
16907
16908 2003-09-03  Paul Eggert  <eggert@twinsun.com>
16909
16910         * lib/human.c (human_readable): Fix bug that rounded 10501 to 10k.
16911         Bug reported by Lute Kamstra in
16912         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00003.html>.
16913
16914         * lib/getdate.y (relative_time_table): Use tDAY_UNIT for "tomorrow",
16915         "yesterday", "today", and "now" rather than tMINUTE_UNIT.  Of
16916         course with correspondingly smaller numbers for tomorrow and
16917         yesterday.  From Tadayoshi Funaba.  Originally installed into
16918         sh-utils on 1999-08-07, but the patch got lost (I guess during the
16919         coreutils merge?).
16920
16921 2003-08-31  Simon Josefsson  <jas@extundo.com>
16922
16923         * modules/timegm: New file.
16924         * MODULES.html.sh (func_all_modules): Add timegm.
16925
16926 2003-08-31  Simon Josefsson  <jas@extundo.com>
16927
16928         * m4/timegm.m4: New file.
16929
16930 2003-08-31  Simon Josefsson  <jas@extundo.com>
16931
16932         * lib/timegm.h: New file.
16933         * lib/timegm.c: New file.  Based on
16934         wget-1.8.2/src/http.c:mktime_from_utc.
16935
16936 2003-08-31  Karl Berry  <karl@gnu.org>
16937
16938         * lib/argp.h: update from libc.
16939
16940 2003-08-28  Bruno Haible  <bruno@clisp.org>
16941
16942         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Remove AC_DEFINE of fnmatch here.
16943         This avoids havoc on compilers for which '#define fnmatch rpl_fnmatch'
16944         followed by '#define fnmatch fnmatch_posix' gives an error.
16945
16946 2003-08-28  Bruno Haible  <bruno@clisp.org>
16947
16948         * lib/binary-io.h: Undefine O_BINARY before defining it. This avoids a
16949         warning on QNX, which defines O_BINARY to 000000.
16950
16951 2003-08-27  Jim Meyering  <jim@meyering.net>
16952
16953         * m4/mkstemp.m4: Require that the system mkstemp be able to create
16954         70 temporary files, not just 30.  Tru64 V4.0F's mkstemp function
16955         would fail after 32.  Reported by Danny Levinson.  Details here:
16956         http://mail.gnu.org/archive/html/bug-coreutils/2003-08/msg00124.html
16957
16958 2003-08-24  Bruno Haible  <bruno@clisp.org>
16959
16960         * lib/binary-io.h: Include <stdio.h>, to avoid a compilation error when
16961         MSVC7 <stdio.h> is included later.
16962
16963 2003-08-22  Simon Josefsson  <jas@extundo.com>
16964
16965         * modules/strndup (Makefile.am): Add strndup.h to lib_SOURCES.
16966
16967 2003-08-20  Karl Berry  <karl@gnu.org>
16968
16969         * m4/lib-ld.m4: serial 1003 from gettext, no changes besides serial.
16970
16971 2003-08-20  Bruno Haible  <bruno@clisp.org>
16972
16973         * modules/progname: New file.
16974         * MODULES.html.sh (func_all_modules): Add progname.
16975
16976 2003-08-20  Bruno Haible  <bruno@clisp.org>
16977
16978         * lib/progname.h: New file, from GNU gettext.
16979         * lib/progname.c: New file, from GNU gettext.
16980         * lib/progreloc.c: New file, from GNU gettext.
16981
16982 2003-08-19  Jim Meyering  <jim@meyering.net>
16983
16984         * m4/lib-ld.m4: Revert yesterday's change, per Bruno's request here:
16985         http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00155.html
16986
16987 2003-08-19  Bruno Haible  <bruno@clisp.org>
16988
16989         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Don't check for <string.h> any
16990         more.
16991
16992 2003-08-19  Bruno Haible  <bruno@clisp.org>
16993
16994         * lib/xstrdup.c: Assume <string.h> exists.
16995
16996 2003-08-18  Paul Eggert  <eggert@twinsun.com>
16997
16998         * modules/stdbool: Add BUILT_SOURCES.  Prefer $@ to target name
16999         in makefile rules.
17000
17001 2003-08-18  Jim Meyering  <jim@meyering.net>
17002
17003         * m4/getloadavg.m4: Use [\t ], not [ \t] (where \t is a literal TAB).
17004         * m4/lib-ld.m4: Likewise.
17005
17006 2003-08-18  Jim Meyering  <jim@meyering.net>
17007
17008         * lib/setenv.h: Indent nested cpp directive.
17009         * lib/vasnprintf.c: Remove trailing blanks.
17010
17011 2003-08-17  Simon Josefsson  <jas@extundo.com>
17012
17013         * modules/xstrndup: New file.
17014         * MODULES.html.sh (func_all_modules): Add xstrndup.
17015
17016 2003-08-17  Simon Josefsson  <jas@extundo.com>
17017
17018         * modules/argp: Fix autoconf macro name. Add more dependencies.
17019
17020 2003-08-17  Simon Josefsson  <jas@extundo.com>
17021
17022         * m4/xstrndup.m4: New file.
17023
17024 2003-08-17  Simon Josefsson  <jas@extundo.com>
17025
17026         * m4/argp.m4: New file.
17027
17028 2003-08-17  Simon Josefsson  <jas@extundo.com>
17029             Bruno Haible  <bruno@clisp.org>
17030
17031         * lib/xstrndup.h: New file.
17032         * lib/xstrndup.c: New file.
17033
17034 2003-08-17  Bruno Haible  <bruno@clisp.org>
17035
17036         * modules/strndup (Files, Include): Add lib/strndup.h.
17037
17038 2003-08-17  Bruno Haible  <bruno@clisp.org>
17039
17040         * modules/euidaccess (Files): Add lib/euidaccess.h.
17041
17042 2003-08-17  Bruno Haible  <bruno@clisp.org>
17043
17044         * lib/strndup.h: New file.
17045
17046 2003-08-17  Bruno Haible  <bruno@clisp.org>
17047
17048         * gnulib-tool (func_create_testdir): Handle gl_USE_SYSTEM_EXTENSIONS
17049         like AC_GNU_SOURCE.
17050         * modules/extensions (configure.ac): Comment out the invocation of
17051         gl_USE_SYSTEM_EXTENSIONS.
17052
17053 2003-08-16  Paul Eggert  <eggert@twinsun.com>
17054
17055         Merges from coreutils, etc.
17056         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Insert ':' to prevent a syntax
17057         error in gl_FUNC_MATCH.  This fixes a bug I introduced on 2003-05-28.
17058         * m4/readlink.m4 (gl_PREREQ_READLINK): Renamed from gl_PREREQ_READLINE,
17059         fixing a typo.
17060         * m4/host-os.m4 (UTILS_HOST_OS): Add GNU/NetBSD, GNU/FreeBSD.
17061         * m4/hash.m4 (gl_HASH): Use AM_STDBOOL_H, not AC_HEADER_STDBOOL.
17062
17063 2003-08-16  Paul Eggert  <eggert@twinsun.com>
17064
17065         Document merge from coreutils.
17066         * modules/alloca: Append $(ALLOCA_H) to BUILT_SOURCES.
17067         * modules/fnmatch: Append $(FNMATCH_H) to BUILT_SOURCES.
17068         * modules/utime: Add m4/utimes-null.m4.
17069
17070 2003-08-16  Paul Eggert  <eggert@twinsun.com>
17071
17072         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Do not normalize white
17073         space, undoing this 2003-08-12 change:
17074         <http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00080.html>
17075
17076 2003-08-16  Paul Eggert  <eggert@twinsun.com>
17077
17078         * config/srclist.txt: Get regex.h, strdup.c, strtoll.c,
17079         strtoul.c from libc, undoing this 2003-08-12 change:
17080         <http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00080.html>
17081
17082 2003-08-16  Jim Meyering  <jim@meyering.net>
17083
17084         Merges from coreutils.
17085         * m4/readdir.m4 (GL_FUNC_READDIR): Change name to have GL_ (not jm_)
17086         prefix.  Adjust cache variables similarly.  Create 500 rather than
17087         just 300 files, to exercise bug on Darwin6.5, too.
17088         * m4/perl.m4 (jm_PERL): Use $am_missing_run, not undefined
17089         $missing_dir.
17090         * m4/jm-winsz1.m4: Require AC_SYS_POSIX_TERMIOS, not
17091         AM_SYS_POSIX_TERMIOS.
17092         Reported by mkc@mathdogs.com.
17093         Also change use of $am_cv_sys_posix_termios
17094         to $ac_cv_sys_posix_termios.  Reported by Andreas Schwab.
17095         * m4/getgroups.m4 (jm_FUNC_GETGROUPS): Rewrite to use AC_FUNC_GETGROUPS
17096         and (if needed) to call AC_LIBOBJ and to set GETGROUPS_LIB.
17097         * m4/fsusage.m4 [__GLIBC__]: GNU libc's statvfs stats each mount point
17098         in /proc/mounts until it finds one with matching device number.  This
17099         is unnecessary when the FILE argument *is* a mount point.  No stat call
17100         is necessary in that case.  So, disable the statvfs-testing code on
17101         systems with GNU libc.  Reported by Andrei Gaponenko via Tim Waugh
17102         as RedHat bug# 84846.
17103         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
17104         to 1MB, so as not to render systems with no stack size limit (e.g.,
17105         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
17106         Include <unistd.h>.  On some systems,
17107         it is required for the definition of _SC_PAGESIZE.
17108
17109 2003-08-16  Jim Meyering  <jim@meyering.net>
17110
17111         Merge from coreutils.
17112         * lib/xstrtoimax.c: #else #if -> #elif.
17113         * lib/xstrtoumax.c: Likewise.
17114
17115 2003-08-16  Jim Meyering  <jim@meyering.net>
17116
17117         * m4/utimes.m4 (gl_FUNC_UTIMES): New file.
17118         * m4/utimes.m4: Removed.
17119         * m4/utimes-null.m4: Renamed from utimes.m4.
17120
17121         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
17122         to 1MB, so as not to render systems with no stack size limit (e.g.,
17123         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
17124         Include <unistd.h>.  On some systems,
17125         it is required for the definition of _SC_PAGESIZE.
17126
17127 2003-08-16  Jim Meyering  <jim@meyering.net>
17128         and Paul Eggert  <eggert@cs.ucla.edu>
17129
17130         Merges from coreutils, etc.
17131
17132         * m4/jm-macros.m4 (AC_LANG_SOURCE(C)): New macro, undefine, then define
17133         using the latest version from cvs.  This avoids problems with #line
17134         directives using a vendor (Sun) compiler.
17135         (jm_MACROS): Bump prerequisite from 2.52g to 2.57.
17136         Don't set GETGROUPS_LIB here; now it's
17137         done via getgroups.m4's wrapper function.
17138         AC_SUBST OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, and MAN here,
17139         rather than just in sh-util/configure.in, so that the
17140         now-shared-by-fileutils-and-textutils lib/Makefile.am are all the
17141         same.
17142         Use AC_CONFIG_LIBOBJ_DIR(lib) to tell the new
17143         AC_FUNC_GETLOADAVG where to find getloadavg.c.
17144         Require AC_FUNC_FTW, gt_INTTYPES_PRI, gl_CLOCK_TIME,
17145         UTILS_SYS_OPEN_MAX, GL_FUNC_GETCWD_PATH_MAX, GL_FUNC_READDIR,
17146         gl_FSUSAGE, gl_MOUNTLIST, AC_FUNC_CANONICALIZE_FILE_NAME.
17147         Remove code that is now done by the newly-required macros.
17148         Append $(EXEEXT) to DF_PROG.
17149         AC_LIBOBJ fchdir-stub if fchdir doesn't exist; similarly for fchown.
17150         Do not invoke or require the following here,
17151         since prereq.m4 or some gnulib .m4 now does this for us:
17152         gl_REGEX, UTILS_FUNC_MKDIR_TRAILING_SLASH, jm_BISON, gl_FUNC_MKTIME,
17153         jm_FUNC_LSTAT, jm_FUNC_STAT, jm_FUNC_REALLOC, jm_FUNC_MALLOC,
17154         jm_FUNC_NANOSLEEP, jm_FUNC_READDIR, jm_FUNC_MEMCMP,
17155         jm_FUNC_GLIBC_UNLOCKED_IO, AC_FUNC_FNMATCH_GNU, jm_FUNC_PUTENV,
17156         jm_AC_PREREQ_XSTRTOUMAX, jm_AC_PREREQ_XSTRTOIMAX,
17157         AC_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, AC_FUNC_VPRINTF,
17158         vb_FUNC_RENAME, UTILS_FUNC_MKSTEP, jm_FUNC_UTIME, AM_FUNC_GETLINE,
17159         AC_FUNC_OBSTACK.
17160         Do not replace the following functions, as this is now the job
17161         of some gnulib .m4: strcasecmp, strncasecmp, dup2, gethostname,
17162         getusershell, sig2str, strcspn, stpcpy, strstr, strtol, strtoul
17163         strpbrk, euidaccess, memcmp, rmdir, rpmatch, strndup, strverscmp,
17164         atexit getpass, strdup, getpagesize.
17165         Replace 'raise'.
17166         Do not check for the following functions, as this is now the job
17167         of some gnulib .m4: bcopy, canonicalize_file_name, fchdir, ftime,
17168         getcwd, getmntinfo, resolvepath.  But check for sysctl, setreuid,
17169         setregid.
17170         (jm_CHECK_ALL_HEADERS): Do not check for fenv.h.
17171         Check for sys/sysctl.h.
17172         (jm_CHECK_ALL_TYPES): Do not require AC_STRUCT_TM, AC_STRUCT_TIMEZONE,
17173         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Invoke gt_TYPE_SSIZE_T instead
17174         of checking for ssize_t ourselves.
17175
17176         * m4/prereq.m4 (jm_PREREQ): Don't invoke macros; AC_REQUIRE them.
17177         Require every macro that gnulib/modules/* suggests for us.
17178         (jm_PREREQ_ADDEXT): New macro.
17179         (jm_PREREQ_STAT): Check for 'struct statfs' on Ultrix 4.4.
17180         Require jm_AC_TYPE_LONG_LONG instead of invoking it.
17181
17182         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): New macro.
17183         (gl_PHYSMEM): Use it.
17184         Also check for `table' function.
17185         Check for new headers and functions.
17186         Add check for sys/sysmp.h.
17187         With suggestions from Kaveh Ghazi.
17188         Ignore headers that are present but cannot be compiled.  This
17189         avoids spurious warnings on Solaris 9 sparc with Forte Developer 7
17190         C 5.4.
17191
17192 2003-08-15  Paul Eggert  <eggert@twinsun.com>
17193
17194         Document merge from coreutils.
17195         * modules/userspec: Depend on posixver.
17196         * modules/strftime: Depend on tzset.
17197
17198 2003-08-15  Paul Eggert  <eggert@twinsun.com>
17199
17200         * lib/config.charset, ref-add.sin, ref-del.sin: Use three spaces,
17201         rather than tab, after '#' in shell-script copyright notices.
17202         Suggested by Bruno Haible.
17203
17204 2003-08-15  Paul Eggert  <eggert@twinsun.com>
17205
17206         * config/srclist-update: Use three spaces, rather than tab, after '#'
17207         in shell-script copyright notices.  Suggested by Bruno Haible.
17208         Remove unnecessary parenthesization in regular expression.
17209
17210 2003-08-15  Jim Meyering  <jim@meyering.net>
17211
17212         Merge from coreutils.
17213         * lib/xgethostname.c: Include <stdlib.h>.
17214         (xghostname): Don't exit for anything other than memory-related
17215         failure; just return NULL.
17216         * lib/userspec.c: Include "posixver.h".
17217         (parse_user_spec): Accept `.' as a separator only
17218         in pre-POSIX-200112 mode.
17219         * lib/strtoimax.c: Use #elif rather than #else #if.
17220         * lib/strftime.c (my_strftime) [!_LIBC && HAVE_TZNAME && HAVE_TZSET]:
17221         Remove function, now that we can rely on a working tzset function.
17222         [!_LIBC]: Ensure that the required autoconf test has been run.
17223         [!defined _NL_CURRENT && HAVE_STRFTIME]:
17224         Use underlying_strftime for %r.
17225         * lib/sha.c: Merge in some clean-up and optimization changes from
17226         glibc.
17227         * lib/sha.c (sha_stream) [BLOCKSIZE]: Move definition to top of file.
17228         Ensure that it is a multiple of 64.
17229         Rearrange loop exit tests so as to avoid performing an
17230         additional fread after encountering an error or EOF.
17231         * lib/realloc.c: Update copyright date.
17232
17233 2003-08-15  Jim Meyering  <jim@meyering.net>
17234         and Paul Eggert  <eggert@twinsun.com>
17235
17236         Merge from coreutils.
17237         * lib/readutmp.h (HAVE_UTMPX_H): Undef if struct utmp has the ut_exit
17238         member but strut utmpx does not.  Needed for AIX 4.3.3.
17239         (UT_EXIT_E_TERMINATION, UT_EXIT_E_EXIT): Define.
17240
17241 2003-08-15  Jim Meyering  <jim@meyering.net>
17242         and Paul Eggert  <eggert@cs.ucla.edu>
17243
17244         Merges from coreutils, etc.
17245         * m4/strftime.m4 (_jm_STRFTIME_PREREQS):
17246         Require gl_FUNC_TZSET_CLOBBER.
17247         * m4/readutmp.m4 (gl_READUTMP): Check for ut_exit.ut_exit,
17248         ut_exit.e_exit, ut_exit.ut_termination, and ut_exit.e_termination
17249         members.
17250
17251 2003-08-14  Paul Eggert  <eggert@twinsun.com>
17252
17253         Help the merge from coreutils.
17254         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): New macro.
17255         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use it.
17256         * m4/tzset.m4: Use it too.
17257
17258 2003-08-14  Paul Eggert  <eggert@twinsun.com>
17259
17260         * modules/tzset: New file.
17261
17262 2003-08-14  Jim Meyering  <jim@meyering.net>
17263
17264         Merges from coreutils.
17265         * modules/fnmatch: Use the `$(FNMATCH_H)' notation for AC_REPLACED
17266         variable names, rather than @FNMATCH_H@.
17267         * modules/alloca: Likewise for $(ALLOCA_H).
17268
17269         * modules/fnmatch (fnmatch.h): Use `$@' in the commands, in place of
17270         the three copies of the literal target, `fnmatch.h'.
17271         * modules/alloca (alloca.h): Likewise.
17272
17273 2003-08-14  Jim Meyering  <jim@meyering.net>
17274
17275         Merge from coreutils.
17276         * m4/tzset.m4: New file.
17277         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Move the
17278         MOUNTED_VMOUNT test to precede the MOUNTED_GETMNTENT1 tests, since
17279         otherwise, AIX 5.1 systems would end up using the latter.
17280         MOUNTED_GETMNTENT1 support is inadequate on such systems: 1) detecting
17281         whether a file system is remote doesn't work  2) the MOUNTED_VMOUNT
17282         code reports the HOSTNAME:/MOUNT_POINT, while the MOUNTED_GETMNTENT1
17283         code reports merely /MOUNT_POINT.  Reported by Mike Jetzer.
17284
17285 2003-08-14  Jim Meyering  <jim@meyering.net>
17286
17287         Merge from coreutils.
17288         * lib/obstack.h: Whitespace changes.
17289         * lib/mountlist.c: Remove anachronistic casts of xmalloc, xrealloc,
17290         and xcalloc return values.
17291         (read_filesystem_list) [MOUNTED_GETFSSTAT]:
17292         Use MNT_NOWAIT, rather than MNT_WAIT.  Otherwise, `df DIR' could
17293         hang on OSF/1 5.1 for DIR on both local and remote file systems.
17294         Reported by (and fix confirmed by) Nelson H. F. Beebe.
17295         (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
17296         error from mntctl.
17297         Use mntctl's return value to drive the entry-processing loop, since
17298         we can't rely on the value of the vmt_length member in the last
17299         entry.  On some systems doing so could result in exhausting
17300         virtual memory.  Based in part on a patch from Mike Jetzer.
17301
17302 2003-08-14  Jim Meyering  <jim@meyering.net>
17303         and Paul Eggert  <eggert@twinsun.com>
17304
17305         Merges from coreutils, plus other fixes.
17306         * lib/physmem.c: Merge in portability changes from gcc/libiberty
17307         to support AIX, IRIX, Tru64, and Windows.  See the ChangeLog there
17308         for credits and details.  Thanks to Kaveh Ghazi for helping
17309         to keep these files in sync.
17310         (ARRAY_SIZE): Define it.
17311         (physmem_total, physmem_available): Add comments. From Kaveh Ghazi.
17312         * lib/memcasecmp.c: Remove unnecessary parentheses after 'defined'.
17313         (memcasecmp): Don't assume size_t fits in unsigned int.
17314         Remove casts and duplicate code.
17315         * lib/md5.c: Include <string.h> and <stdlib.h> unconditionally.
17316         (memcpy): Remove definition.
17317         Merge in some clean-up and optimization changes from glibc.
17318         [BLOCKSIZE]: Move definition to top of file.
17319         Ensure that it is a multiple of 64.
17320         Rearrange loop exit tests so as to avoid performing an
17321         additional fread after encountering an error or EOF.
17322         * lib/md5.h (md5_uintptr): Define.
17323         * lib/makepath.c (CLEANUP_CWD): Report an error if we failed to
17324         return to the initial working directory.  Preserve errno
17325         for caller.
17326         * lib/idcache.c: Include "xalloc.h".
17327         (xmalloc, xrealloc): Remove decls.
17328         (getuser): Remove casts no longer required in C89.
17329         * lib/human.c: Include stdio.h, for sprintf.
17330         * lib/group-member.c: Include "xalloc.h".
17331         (xmalloc, xrealloc): Remove decls.
17332         (get_group_info): Remove casts no longer required in C89.
17333         * lib/getusershell.c (readname): Remove casts no longer required in
17334         C89.
17335         * lib/gettimeofday.c (rpl_gmtime, rpl_tzset): New functions.
17336         * lib/getline.c: Whitespace fix, from coreutils.
17337
17338 2003-08-13  Paul Eggert  <eggert@twinsun.com>
17339
17340         * m4/exclude.m4 (gl_EXCLUDE): Require AC_C_INLINE, AC_HEADER_STDC.
17341         Check for isascii.
17342
17343         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
17344         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
17345         Undo previous (whitespace-only) change.
17346
17347 2003-08-13  Paul Eggert  <eggert@twinsun.com>
17348
17349         * lib/exclude.c: Include <ctype.h>
17350         (IN_CTYPE_DOMAIN): New macro.
17351         (is_space): New fn.
17352         (add_exclude_file): If LINE_END is a space, ignore trailing spaces
17353         and empty lines.
17354
17355         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
17356         Undo previous (whitespace-only) change.
17357
17358 2003-08-13  Paul Eggert  <eggert@twinsun.com>
17359
17360         * config/srclist-update: Change update back to the old behavior,
17361         leaving whitespace alone.  Use one 'sed' command rather than a
17362         pipeline.
17363         (fixlicense): Now a variable, not a function.
17364         (remove_trailing_blanks): Remove.
17365         (fixfile): Don't invoke unexpand or cat, or remove trailing blanks.
17366         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
17367         Undo previous (whitespace-only) change.
17368
17369 2003-08-12  Paul Eggert  <eggert@twinsun.com>
17370
17371         Merge from coreutils.
17372         * modules/euidaccess: Add lib_SOURCES, include for new
17373         file euidaccess.h
17374
17375 2003-08-12  Paul Eggert  <eggert@twinsun.com>
17376
17377         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
17378         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
17379         Normalize leading white space and remove trailing white space.
17380
17381         Merge from coreutils
17382         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Check for euidaccess decl.
17383
17384         * m4/lib-ld.m4, lib-link.m4, lib-prefix.m4: Regenerate from gettext
17385         0.12.1.  These files are now being upgraded automatically by
17386         ../config/srclist-update.
17387
17388 2003-08-12  Paul Eggert  <eggert@twinsun.com>
17389
17390         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
17391         Normalize leading white space and remove trailing white space.
17392         * lib/ref-add.sin, ref-del.sin: Use '#' before empty line in copyright
17393         notice, as per ../config/srclist-update.
17394
17395         Merge from coreutils.
17396         * lib/euidaccess.h: New file.
17397         * lib/euidaccess.c: Include it.
17398         * lib/.cppi-disable: Add printf-args.h, printf-parse.h, stdbool_.h,
17399         vasnprintf.h, vasprintf.h.  Remove strdup.c, gettext.h.
17400         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Normalize white space.
17401
17402 2003-08-12  Paul Eggert  <eggert@twinsun.com>
17403
17404         * config/srclist-update: Add copyright notice.
17405         (remove_id_lines, remove_trailing_blanks): New constants.
17406         (fixfile): Use them to normalize spacing a bit in copied files.
17407         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
17408         Normalize leading white space and remove trailing white space.
17409
17410         * config/texinfo.tex: Sync with texinfo.
17411
17412         * config/srclist.txt: Don't get regex.h, strdup.c, strtoll.c,
17413         strtoul.c from libc, to merge coreutils whitespace changes.
17414
17415         * config/srclist.txt: Get the following m4 files from gettext:
17416         codeset.m4, gettext.m4, glibc21.m4, iconv.m4, intdiv0.m4,
17417         inttypes-pri.m4, lcmessage.m4, lib-ld.m4, lib-link.m4, lib-prefix.m4,
17418         longdouble.m4, nls.m4, po.m4, progtest.m4, signed.m4, wchar_t.m4,
17419         wint_t.m4.
17420
17421 2003-08-12  Karl Berry  <karl@gnu.org>
17422
17423         * config/srclist.txt: can't sync vasnprintf.c any more, changes have
17424         been made.
17425
17426 2003-08-11  Paul Eggert  <eggert@twinsun.com>
17427
17428         * modules/gnu-source, m4/gnu-source.m4:
17429         Remove; we're assuming Autoconf 2.54 or later now.
17430         Suggested by Bruno Haible.
17431         * MODULES.html.sh (func_all_modules): Remove gnu-source.
17432
17433 2003-08-11  Bruno Haible  <bruno@clisp.org>
17434
17435         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Also check for wcslen.
17436
17437 2003-08-11  Bruno Haible  <bruno@clisp.org>
17438
17439         * lib/vasnprintf.c (local_wcslen): New function, for Solaris 2.5.1.
17440         (vasnprintf): Use it instead of wcslen.
17441
17442 2003-08-11  Bruno Haible  <bruno@clisp.org>
17443
17444         * lib/stdbool_.h (_Bool): Undo last change; instead use a negative enum
17445         value to ensure that _Bool promotes to int. Use #define for _Bool when
17446         using the Solaris C compiler. Adds comments suggested by Paul Eggert.
17447
17448 2003-08-10  Karl Berry  <karl@gnu.org>
17449
17450         * lib/regex.h: update from libc (whitespace fix).
17451
17452 2003-08-09  Paul Eggert  <eggert@twinsun.com>
17453
17454         Merge some files from coreutils.  These changes were
17455         originally made by Jim Meyering.
17456         * lib/acl.c: Include <sys/types.h> before <sys/stat.h>;
17457         many older Unixes require this.
17458         * lib/alloca.c (alloca): Remove cast to argument of free;
17459         no longer needed in C89.
17460         * lib/alloca_.h, regex.h: Fix white space to match
17461         what GNU indent does.
17462
17463 2003-08-09  Paul Eggert  <eggert@twinsun.com>
17464
17465         * m4/regex.m4 (jm_INCLUDED_REGEX): Change "\201" to "\371";
17466         apparently Emacs's Unicode mode got confused before my 2003-08-05
17467         checkin.
17468
17469 2003-08-08  Paul Eggert  <eggert@twinsun.com>
17470
17471         * m4/extensions.m4: New file.
17472         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC):
17473         Require gl_USE_SYSTEM_EXTENSIONS.
17474         * m4/unlocked-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO):
17475         Require gl_USE_SYSTEM_EXTENSIONS rather than AC_GNU_SOURCE.
17476
17477 2003-08-08  Paul Eggert  <eggert@twinsun.com>
17478
17479         * MODULES.html.sh (func_all_modules): Add extensions, gnu-source.
17480         * modules/extensions, modules/gnu-source: New files.
17481         * modules/timespec, modules/unlocked-io: Depend on extensions.
17482
17483 2003-08-07  Paul Eggert  <eggert@twinsun.com>
17484
17485         * modules/restrict: New file.
17486         * MODULES.html.sh (func_all_modules): Add restrict.
17487         * modules/regex: Depend on restrict.
17488
17489 2003-08-07  Paul Eggert  <eggert@twinsun.com>
17490
17491         * m4/restrict.m4: New file.
17492         * m4/regex.m4 (jm_PREREQ_REGEX): Add gl_C_RESTRICT.
17493
17494 2003-08-07  Bruno Haible  <bruno@clisp.org>
17495
17496         * modules/getndelim2 (Makefile.am): Add the files to EXTRA_DIST, not
17497         lib_SOURCES, because getndelim2.m4 now uses AC_LIBOBJ(getndelim2).
17498
17499 2003-08-07  Bruno Haible  <bruno@clisp.org>
17500
17501         * m4/getndelim2.m4 (gl_GETNDELIM2): Use AC_LIBOBJ(getndelim2). This
17502         makes the module 'getndelim2' compatible with the module 'getline'.
17503
17504 2003-08-05  Paul Eggert  <eggert@twinsun.com>
17505
17506         * m4/regex.m4 (jm_INCLUDED_REGEX): Replace a single non-ASCII
17507         byte with "\201" to avoid glitches when editing that source file
17508         with multi-gnome-terminal.
17509
17510 2003-08-05  Paul Eggert  <eggert@twinsun.com>
17511
17512         * lib/bumpalloc.h: Remove.
17513
17514 2003-08-05  Paul Eggert  <eggert@twinsun.com>
17515
17516         * MODULES.html.sh (func_all_modules): Remove bumpalloc.
17517         * modules/bumpalloc: Remove.
17518
17519 2003-08-04  Paul Eggert  <eggert@twinsun.com>
17520
17521         * lib/getloadavg.c: Change copyright notice and spacing to conform to
17522         GNU coding style.
17523
17524         Merge from coreutils.
17525         * lib/error.c [!USE_IN_LIBIO]: Omit this case; assume USE_IN_LIBIO is
17526         1. From glibc.
17527         * lib/getdate.y (date): Also accept dates like May-23-2003; suggestion
17528         from Karl Berry, implemented by Jim Meyering.
17529         * lib/getgroups.c: Include "xalloc.h" instead of declaring xalloc fns;
17530         from Dmitry V. Levin.
17531         Remove anachronistic cast of xrealloc.
17532         * lib/fnmatch_.h (__const): Remove.  Use 'const'.
17533         * lib/fnmatch_loop.c (NEW_PATTERN): Cast alloca return value to proper
17534         type. Otherwise, it wouldn't compile with at least /bin/cc on
17535         ymp-cray-unicos9.0.2.X.
17536         Combine two mostly-identical uses of alloca into one.
17537         Thanks to the Cray-Cyber project for access to a Cray Y-MP.
17538
17539 2003-08-04  Dave Love  <d.love@dl.ac.uk>
17540
17541         [From Emacs.]
17542
17543         * lib/getloadavg.c: Check `__unix' as well as `unix'.  Use #ifdef, not
17544         #if.  Check HAVE_LIBKSTAT as well as LOAD_AVE_TYPE.  Check
17545         F_SETFD, not FD_SETFD.  Use HAVE_STRUCT_NLIST_N_UN_N_NAME, not
17546         obsolete NLIST_NAME_UNION.
17547         [__GNU__]: Undef BSD and FSCALE.
17548         [!NLIST_STRUCT]: Remove conditional definition of NLIST_STRUCT.
17549
17550 2003-08-03  Paul Eggert  <eggert@twinsun.com>
17551
17552         * lib/stdbool_.h (_Bool): Make it signed char, instead of
17553         an enum type, so that it's guaranteed to promote to int.  See:
17554         <http://mail.gnu.org/archive/html/bug-gnulib/2003-07/msg00124.html>
17555
17556 2003-08-03  Karl Berry  <karl@gnu.org>
17557
17558         * config/depcomp: update from automake.
17559
17560 2003-07-31  Paul Eggert  <eggert@twinsun.com>
17561
17562         * lib/strerror.c: Include config.h, limits.h.  Declare sprintf.
17563         (strerror): Don't assume that a printable int fits in 14 bytes.
17564
17565 2003-07-31  Bruno Haible  <bruno@clisp.org>
17566
17567         * modules/getpass-gnu: New file.
17568         * MODULES.html.sh (func_all_modules): Add getpass-gnu.
17569
17570 2003-07-31  Bruno Haible  <bruno@clisp.org>
17571
17572         * m4/getpass.m4 (gl_FUNC_GETPASS_GNU): New macro.
17573
17574 2003-07-24  Karl Berry  <karl@gnu.org>
17575
17576         * config/missing: update from automake.
17577
17578 2003-07-24  Derek Robert Price  <derek@ximbiot.com>
17579             Bruno Haible  <bruno@clisp.org>
17580
17581         * lib/getline.h (getline, getdelim): Change return type to ssize_t.
17582         * lib/getline.c (getline, getdelim): Likewise.
17583         Remove _GNU_SOURCE define; now it's defined in config.h through
17584         m4/getline.m4.
17585
17586 2003-07-23  Karl Berry  <karl@gnu.org>
17587
17588         * config/config.sub: update from prep.
17589
17590 2003-07-22  Paul Eggert  <eggert@twinsun.com>
17591
17592         * modules/xalloc (Depends-on): Add exitfail.
17593         * modules/xmemcoll: Likewise.
17594
17595 2003-07-22  Paul Eggert  <eggert@twinsun.com>
17596
17597         * lib/xalloc.h (XCALLOC, XREALLOC, CCLONE): Fix under- and
17598         over-parenthesization in macros.
17599
17600         Sync with coreutils.
17601
17602         * lib/xalloc.h (XMALLOC, XCALLOC, XREALLOC): Remove casts not
17603         required by C99.
17604
17605         Use `exit_failure' for xalloc and xmemcoll instead of their own
17606         private exit-failure variables.
17607         * lib/xalloc.h (xalloc_exit_failure): Remove.
17608         * lib/xmalloc.c: Likewise.  Include exitfail.h.
17609         (xalloc_die): Use exit_failure instead of xalloc_exit_failure.
17610         * lib/xmemcoll.h (xmemcoll_exit_failure): Remove.
17611         * lib/xmemcoll.c: Likewise.  Include exitfail.h.
17612         (xmemcoll): Use exit_failure instead of xalloc_exit_failure.
17613
17614 2003-07-20  Jim Meyering  <jim@meyering.net>
17615
17616         * modules/closeout (Depends-on): Add exitfail.
17617         Suggestion from Bruno Haible.
17618
17619 2003-07-19  Karl Berry  <karl@gnu.org>
17620
17621         * config/config.sub: update from prep.
17622
17623 2003-07-18  Paul Eggert  <eggert@twinsun.com>
17624
17625         * lib/closeout.h (close_stdout_set_status, close_stdout_status):
17626         Remove.
17627         * lib/closeout.c: Likewise.  Include "closeout.h" right after config.h,
17628         to test that it can stand by itself.  Include "exitfail.h".
17629         Clients should set exit_failure instead.
17630         (EXIT_FAILURE): Remove; no longer needed.  Do not include <stdlib.h>.
17631
17632 2003-07-18  Bruno Haible  <bruno@clisp.org>
17633
17634         * modules/getndelim2: New file.
17635         * modules/getline: Share files with module getndelim2.
17636         * modules/getnline: Depend on getndelim2 instead of sharing files with
17637         it. Add getnline.c to lib_SOURCES.
17638         * MODULES.html.sh (func_all_modules): Add getndelim2.
17639
17640 2003-07-18  Bruno Haible  <bruno@clisp.org>
17641
17642         * m4/getndelim2.m4: New file.
17643         * m4/getline.m4 (AM_FUNC_GETLINE): Add AC_LIBOBJ of getndelim2.c and
17644         invoke gl_PREREQ_GETNDELIM2.
17645         (gl_PREREQ_GETLINE): Drop AC_HEADER_STDC, now done by
17646         gl_PREREQ_GETNDELIM2.
17647         * m4/getnline.m4 (gl_GETNLINE): Drop AC_HEADER_STDC, now done by
17648         gl_GETNDELIM2.
17649
17650 2003-07-18  Bruno Haible  <bruno@clisp.org>
17651
17652         * lib/getndelim2.h: New file.
17653         * lib/getndelim2.c: Make into a module of its own. Include config.h,
17654         getndelim2.h.
17655         (getndelim2): Make non-static. Change return type to ssize_t.
17656         * lib/getline.h: Change argument names.
17657         * lib/getline.c: Include getndelim2.h instead of getndelim2.c.
17658         * lib/getnline.c: Include getndelim2.h.
17659
17660 2003-07-18  Andreas Schwab  <schwab@suse.de>
17661
17662         * lib/memcoll.c (memcoll) [!HAVE_STRCOLL]: Clear errno.
17663
17664 2003-07-17  Karl Berry  <karl@gnu.org>
17665
17666         * config/config.sub: update from prep.
17667
17668 2003-07-17  Bruno Haible  <bruno@clisp.org>
17669
17670         * modules/getnline: New file.
17671         * modules/getline: Add lib/getndelim2.c to source file list.
17672         * MODULES.html.sh (func_all_modules): Add getnline.
17673
17674 2003-07-17  Bruno Haible  <bruno@clisp.org>
17675
17676         * m4/getnline.m4: New file.
17677
17678 2003-07-17  Bruno Haible  <bruno@clisp.org>
17679
17680         * m4/Makefile.am.in: Remove file.
17681         * m4/Makefile.am: Remove file.
17682         * m4/Makefile.in: Remove file.
17683
17684 2003-07-17  Bruno Haible  <bruno@clisp.org>
17685
17686         * lib/getnline.h: New file.
17687         * lib/getnline.c: New file.
17688         * lib/getndelim2.c: New file, extracted from getline.c.
17689         (getndelim2): Renamed from getdelim2, with added nmax argument.
17690         * lib/getline.c: Include getndelim2.c.
17691         (getdelim2): Moved out to getndelim2.c.
17692         (getline, getdelim): Update.
17693
17694 2003-07-17  Bruno Haible  <bruno@clisp.org>
17695
17696         * lib/Makefile.am: Remove file.
17697         * lib/Makefile.in: Remove file.
17698
17699 2003-07-17  Bruno Haible  <bruno@clisp.org>
17700
17701         * configure.in: Remove file.
17702         * Makefile.in: Remove file.
17703
17704 2003-07-17  Bruno Haible  <bruno@clisp.org>
17705
17706         * MODULES.html.sh: Put the </BODY> right before </HTML>.
17707
17708 2003-07-16  Karl Berry  <karl@gnu.org>
17709
17710         * config/srclist-update: was running fixlicense twice, which caused
17711                 texinfo.tex to be nullified for some reason.  Simplify,
17712                 $gplsrc is no longer needed as far as I can see?
17713
17714 2003-07-16  Jim Meyering  <jim@meyering.net>
17715
17716         * modules/save-cwd: Depend on xgetcwd.  From Derek Price.
17717
17718 2003-07-15  Paul Eggert  <eggert@twinsun.com>
17719
17720         * config/srclist.txt: Get the following files from gettext-runtime/intl
17721         instead: config.charset, localcharset.c, localcharset.h, ref-add.sin,
17722         ref-del.sin.  From Bruno Haible.
17723         * config/srclist-update (fixfile): Change grep pattern again, since the
17724         previous fix didn't work (there was another trailing $).  Use
17725         '[$]' to escape the $s.
17726
17727 2003-07-15  Karl Berry  <karl@gnu.org>
17728
17729         * lib/vasnprintf.c: update from gettext.
17730
17731 2003-07-15  Karl Berry  <karl@gnu.org>
17732
17733         * config/srclist-update (fixfile): Change grep pattern, since 'Id'
17734         gets expanded when surrounded by '$'.
17735
17736 2003-07-15  Jim Meyering  <jim@meyering.net>
17737
17738         * modules/save-cwd: Don't depend on error.  From Derek Price.
17739
17740 2003-07-15  Jim Meyering  <jim@meyering.net>
17741
17742         * lib/makepath.c (make_path): Enclose diagnostic in _(...).
17743
17744 2003-07-14  Simon Josefsson  <jas@extundo.com>
17745
17746         * modules/mempcpy: New file.
17747         * MODULES.html.sh (func_all_modules): Add mempcpy.
17748
17749 2003-07-14  Simon Josefsson  <jas@extundo.com>
17750
17751         * m4/mempcpy.m4: New file.
17752
17753 2003-07-14  Simon Josefsson  <jas@extundo.com>
17754
17755         * lib/mempcpy.h: New file.
17756         * lib/mempcpy.c: New file.
17757
17758 2003-07-14  Paul Eggert  <eggert@twinsun.com>
17759
17760         * modules/getdate, modules/posixtm: Depend on mktime.
17761
17762 2003-07-14  Paul Eggert  <eggert@twinsun.com>
17763
17764         * lib/ceill.c, expl.c, floorl.c, frexpl.c, ldexpl.c, mathl.h,
17765         sincosl.c, sqrtl.c, trigl.c, trigl.h, poll.c, poll_.h, mkstemp.c,
17766         unicodeio.c, unicodeio.h, unlocked-io.h:
17767         Switch from LGPL to GPL.
17768
17769 2003-07-14  Paul Eggert  <eggert@twinsun.com>
17770
17771         * lib/asnprintf.c, asprintf.c, config.charset, gettext.h,
17772         localcharset.c, localcharset.h, mkdtemp.c, printf-args.c,
17773         printf-args.h, printf-parse.c, printf-parse.h, ref-add.sin,
17774         ref-del.sin, setenv.c, unsetenv.c, vasnprintf.c, vasnprintf.h,
17775         vasprintf.c, vasprintf.h: Regenerate.  These files are now being
17776         updated automatically by ../config/srclist-update.  This changes
17777         their license from LPGL to GPL.
17778
17779 2003-07-14  Paul Eggert  <eggert@twinsun.com>
17780
17781         * config/srclist.txt: Add tons more gettext files.  $GETTEXT is now
17782         assumed to refer to the root of the most recent stable gettext version.
17783         * config/srclistvars.sh: Add defaults for eggert.
17784         * config/srclist-update: Convert LGPL to GPL in shell scripts, too.
17785         Match "This program" as well as "The program".  This is needed
17786         for gettext.
17787
17788 2003-07-14  Jim Meyering  <jim@meyering.net>
17789
17790         Don't emit diagnostics.  Let callers do that.
17791         * lib/save-cwd.c: Don't include "error.h".
17792         (save_cwd): Don't call error.  Ensure that errno is valid
17793         when returning nonzero.
17794
17795         * lib/save-cwd.h (restore_cwd): Update prototype.
17796         * lib/save-cwd.c (restore_cwd): Remove two parameters.
17797         Simplify.  Don't call error upon failure.  Let callers do that.
17798         (save_cwd): Mention that Irix 5.3 has the same problem as SunOS 4
17799         when auditing is enabled.  But don't bother updating the #if.
17800
17801 2003-07-11  Alexandre Duret-Lutz  <adl@gnu.org>
17802
17803         * lib/obstack.h (__INT_TO_PTR): Revert change of 2003-03-13;
17804         it breaks C++ compilation.
17805         [!__GNUC__ || !__STDC__] (obstack_finish): Cast result to void*.
17806
17807 2003-07-10  Simon Josefsson  <jas@extundo.com>
17808
17809         * modules/strchrnul (Makefile.am): Add strchrnul.h.
17810
17811 2003-07-10  Jim Meyering  <jim@meyering.net>
17812
17813         * m4/clock_time.m4: Remove trailing blank.
17814         * m4/intmax_t.m4: Likewise.
17815
17816 2003-07-10  Jim Meyering  <jim@meyering.net>
17817
17818         * lib/vasnprintf.c: Remove trailing blanks.
17819         Make cpp indentation consistent.
17820
17821 2003-07-09  Paul Eggert  <eggert@twinsun.com>
17822
17823         * lib/alloca_.h, euidaccess.c, getpass.c, memrchr.c, obstack.h,
17824         posixver.c, strftime.c, strnlen.c, strverscmp.c:
17825         Switch from LGPL to GPL.
17826
17827 2003-07-09  Paul Eggert  <eggert@twinsun.com>
17828
17829         * config/srclist.txt: Sort sublists.  Add
17830         $LIBCSRC/sysdeps/generic/strtoul.c. In comments, add more libc files
17831         that differ from gnulib for one reason or another; we'd like this list
17832         to be smaller but for now let's document what we have.
17833
17834 2003-07-08  Paul Eggert  <eggert@twinsun.com>
17835
17836         * config/srclist-update: Port to POSIX 1003.1-2001 hosts by avoiding
17837         the use of GNU extensions.  Change "x=`eval echo $x`" to the shorter
17838         and sweeter "eval x=$x".
17839         * config/srclist.txt: Get lib/argp* from glibc.
17840
17841 2003-07-07  Paul Eggert  <eggert@twinsun.com>
17842
17843         * lib/mktime.c: Fix some boundary cases and remove need for floating
17844         point.
17845
17846         Issue a compile-time diagnostic if time_t is floating point, or if
17847         two's complement arithmetic is not in effect, or if arithmetic
17848         right shift does not propagate the sign.  These assumptions were
17849         all in the original code but they weren't checked.
17850
17851         (TIME_T_MIDPOINT, verify): New macros.
17852         (__isleap): Remove; it has integer overflow problems.
17853         (leapyear): New function, without those problems.
17854         (ydhms_tm_diff): Remove; splitting into two parts.
17855         (ydhms_diff): New function, containing the arithmetic part of
17856         the old ydhms_tm_diff function.  Issue a compile-time
17857         diagnostic if we are not using C99 integer division.
17858         Avoid casts when possible.
17859         (guess_time_tm): New function, containing the checking part of
17860         the old ydhms_tm_diff function.  Return the new value, rather than
17861         the difference between it and the old.  Accept a new argument T
17862         so that *T specifies the old value.  Check for overflow in the result.
17863
17864         (__mktime_internal): Use a time_t offset, not a long int offset.
17865         This undoes the 2003-06-04 change, which is no longer needed now
17866         that we have better overflow checking.
17867         (localtime_offset): Likewise.
17868
17869         (__mktime_internal): Avoid harmful overflow on hosts where time_t
17870         and long are 64-bit but int is only 32-bit.
17871         (ydhms_diff): Use long int to store year1 and yday1.
17872         Issue a compile-time diagnostic if long int is not wide enough.
17873
17874         (__mktime_internal): Use long int to store adjusted year and yday.
17875         Use plain C rather than preprocessor commands, if that doesn't
17876         affect efficiency.
17877         Check for overflow (and try to repair) after each probe
17878         rather than checking only at the very end.  This avoids some bugs
17879         (e.g., southern hemisphere, behind GMT, and GMT offset at minimum time
17880         does not equal GMT offset at maximum time).
17881         Use integer to check for overflow rather than floating point; this
17882         is more portable to non-IEEE hosts, and is a tad faster.
17883         When we detect that we are oscillating between two values,
17884         don't check whether tm_isdst has the requested value, since
17885         we already know the answer.  When tm_isdst has the wrong value,
17886         use a different heuristic to find the right one, based on the
17887         extreme values actually observed in practice in tz2003a,
17888         rather than the (overly optimistic) "previous 3 calendar quarters".
17889
17890         (not_equal_tm, print_tm, check_result): Use "const T" rather than
17891         "T const" to accommodate glibc style.
17892         (check_result): Use less-confusing report format.  "long" -> "long int.
17893         (main): Likewise.
17894         Don't loop if the iteration overflows time_t.
17895         Allow a negative step in the iteration.
17896
17897 2003-07-06  Karl Berry  <karl@gnu.org>
17898
17899         * config/depcomp: update from automake.
17900         * config/config.sub: update from prep.
17901
17902 2003-07-03  Karl Berry  <karl@gnu.org>
17903
17904         * config/config.guess: update from prep.
17905
17906 2003-07-01  Paul Eggert  <eggert@twinsun.com>
17907
17908         * m4/xreadlink.m4 (gl_XREADLINK): Don't check for sys/types.h, since
17909         xreadlink.c now includes it unconditionally.
17910
17911 2003-07-01  Paul Eggert  <eggert@twinsun.com>
17912
17913         * lib/xreadlink.c: Include <sys/types.h> unconditionally, instead of
17914         having it depend on HAVE_SYS_TYPES_H.
17915
17916 2003-07-01  Bruno Haible  <bruno@clisp.org>
17917
17918         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Don't include <unistd.h>.
17919         <sys/types.h> should be sufficient.
17920         Reported by Paul Eggert.
17921
17922 2003-06-26  Karl Berry  <karl@gnu.org>
17923
17924         * config/depcomp: update from automake.
17925
17926 2003-06-26  Bruno Haible  <bruno@clisp.org>
17927
17928         * modules/human: Depend on module stdbool.
17929
17930 2003-06-25  Bruno Haible  <bruno@clisp.org>
17931
17932         * modules/readlink: New file.
17933         * modules/xreadlink: Depend on it.
17934         * MODULES.html.sh (func_all_modules): Add readlink.
17935
17936 2003-06-25  Bruno Haible  <bruno@clisp.org>
17937
17938         * m4/readlink.m4: New file.
17939
17940 2003-06-25  Bruno Haible  <bruno@clisp.org>
17941
17942         * lib/readlink.c: New file.
17943
17944 2003-06-22  Karl Berry  <karl@gnu.org>
17945
17946         * config/srclist.txt: update mkinstalldirs from automake.
17947         * config/mkinstalldirs: update.
17948
17949 2003-06-22  Bruno Haible  <bruno@clisp.org>
17950
17951         Portability to mingw32.
17952         * m4/ssize_t.m4: New file, from GNU gettext.
17953         * m4/safe-read.m4 (gl_PREREQ_SAFE_READ): Require gt_TYPE_SSIZE_T.
17954         * m4/xreadlink.m4 (gl_XREADLINK): Require gt_TYPE_SSIZE_T.
17955
17956 2003-06-22  Bruno Haible  <bruno@clisp.org>
17957
17958         * modules/safe-read: Add m4/ssize_t.m4.
17959         * modules/xreadlink: Add m4/ssize_t.m4.
17960
17961 2003-06-20  Bruno Haible  <bruno@clisp.org>
17962
17963         Assume C89, so PARAMS isn't needed.
17964         * lib/unicodeio.h (PARAMS): Remove.
17965         * lib/unicodeio.c: Don't use PARAMS.
17966
17967 2003-06-18  Karl Berry  <karl@gnu.org>
17968
17969         * config/config.{guess,sub}: update from prep.
17970
17971 2003-06-18  Jim Meyering  <jim@meyering.net>
17972
17973         Merge changes from coreutils.
17974         * lib/readutmp.c: Include <string.h> and <stdlib.h> unconditionally.
17975         Remove explicit declarations of xmalloc and realloc.
17976         Include xalloc.h.
17977         (read_utmp): Remove anachronistic cast of xmalloc.
17978
17979 2003-06-17  Paul Eggert  <eggert@twinsun.com>
17980
17981         Assume C89, so PARAMS isn't needed.
17982         * lib/backupfile.h (PARAMS): Remove.  All uses removed.
17983         * lib/closeout.h, lib/dirname.h, lib/filemode.h, lib/fsusage.h,
17984         lib/getdate.h, lib/getline.h, lib/group-member.h, lib/hard-locale.h,
17985         lib/hash.h, lib/linebuffer.h, lib/long-options.h, lib/makepath.h,
17986         lib/memcasecmp.h, lib/memcoll.h, lib/modechange.h, lib/mountlist.h,
17987         lib/path-concat.h, lib/physmem.h, lib/posixtm.h, lib/quote.h,
17988         lib/readutmp.h, lib/same.h, lib/save-cwd.h, lib/savedir.h,
17989         lib/stdio-safer.h, lib/strtoimax.c, lib/strverscmp.h,
17990         lib/unistd-safer.h, lib/version-etc.h, lib/xalloc.h, lib/xreadlink.h,
17991         lib/xstrtod.h, lib/xstrtol.h: Likewise.
17992         * lib/filemode.h, lib/hard-locale.h, lib/memcoll.h, lib/modechange.h,
17993         lib/physmem.h, lib/same.h, lib/strverscmp.h: Do not include config.h;
17994         no longer needed. Anyway, config.h should always be included before any
17995         other file.
17996
17997 2003-06-11  Simon Josefsson  <jas@extundo.com>
17998
17999         * modules/sysexits: New file.
18000         * MODULES.html.sh (func_all_modules): Add sysexits.
18001
18002 2003-06-11  Simon Josefsson  <jas@extundo.com>
18003
18004         * lib/sysexit_.h: New file.
18005
18006 2003-06-11  Derek Price  <derek@ximbiot.com>
18007
18008         * lib/stat.c [LSTAT]: Compile/use slash_aware_lstat only if it is
18009         necessary.
18010
18011 2003-06-11  Bruno Haible  <bruno@clisp.org>
18012
18013         * m4/sysexits.m4: New file.
18014
18015 2003-06-10  Simon Josefsson  <jas@extundo.com>
18016
18017         * lib/argp.h: New file, from glibc.
18018         * lib/argp-ba.c: New file, from glibc.
18019         * lib/argp-eexst.c: New file, from glibc.
18020         * lib/argp-fmtstream.c: New file, from glibc.
18021         * lib/argp-fmtstream.h: New file, from glibc.
18022         * lib/argp-fs-xinl.c: New file, from glibc.
18023         * lib/argp-help.c: New file, from glibc.
18024         * lib/argp-namefrob.h: New file, from glibc.
18025         * lib/argp-parse.c: New file, from glibc.
18026         * lib/argp-pv.c: New file, from glibc.
18027         * lib/argp-pvh.c: New file, from glibc.
18028         * lib/argp-xinl.c: New file, from glibc.
18029
18030 2003-06-10  Simon Josefsson  <jas@extundo.com>
18031
18032         * modules/strchrnul: New file.
18033
18034 2003-06-10  Simon Josefsson  <jas@extundo.com>
18035
18036         * modules/argp: New file.
18037
18038 2003-06-10  Simon Josefsson  <jas@extundo.com>
18039
18040         * m4/strchrnul.m4: New file.
18041
18042 2003-06-10  Simon Josefsson  <jas@extundo.com>
18043
18044         * lib/strchrnul.h: New file.
18045         * lib/strchrnul.c: New file.
18046
18047 2003-06-10  Bruno Haible  <bruno@clisp.org>
18048
18049         * MODULES.html.sh (func_all_modules): Add strchrnul and argp.
18050
18051 2003-06-07  Karl Berry  <karl@gnu.org>
18052
18053         * config/config.{guess,sub}: update from prep.
18054
18055 2003-06-07  Jim Meyering  <jim@meyering.net>
18056
18057         * modules/strtod: Use $(...) notation, not @...@ for
18058         AC_REPLACE'd variables.
18059         * modules/localcharset: Likewise.
18060
18061 2003-06-07  Jim Meyering  <jim@meyering.net>
18062
18063         * lib/readtokens.h: Put `Free Software Foundation, Inc.'
18064         in place of my name in the copyright comment.
18065         Remove definition and uses of __P.
18066
18067         From coreutils.
18068         * lib/stat.c: Don't declare xmalloc explicitly.
18069         Instead, include "xalloc.h".
18070         * lib/readtokens.c (readtokens): Remove anachronistic casts of xmalloc,
18071         xrealloc, and xcalloc return values.
18072         * lib/xgetcwd.c (xgetcwd): Include "xgetcwd.h".
18073         Improve comment.
18074         * lib/xgetcwd.h: Remove definition/uses of PARAMS.
18075
18076 2003-06-07  Bruno Haible  <bruno@clisp.org>
18077
18078         * modules/poll (Makefile.am): Use explicit creation rule for poll.h, to
18079         avoid AC_CONFIG_LINKS.
18080         * modules/fnmatch (Makefile.am): Use explicit creation rule for
18081         fnmatch.h, to avoid AC_CONFIG_LINKS.
18082         * modules/alloca (Makefile.am): Make creation of alloca.h Ctrl-C safe.
18083
18084 2003-06-07  Bruno Haible  <bruno@clisp.org>
18085
18086         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH, gl_FUNC_FNMATCH_POSIX,
18087         gl_FUNC_FNMATCH_GNU): Set FNMATCH_H instead of invoking
18088         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
18089         directory.
18090         * m4/poll.m4 (gl_FUNC_POLL): Set POLL_H instead of invoking
18091         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
18092         directory.
18093
18094 2003-06-06  Jim Meyering  <jim@meyering.net>
18095
18096         Merge from coreutils.
18097         * lib/same.c: (same_name): Declare *_basename locals to be `const'.
18098         Consolidate declarations and initializations of *_base* locals.
18099
18100         Merge from coreutils.
18101         This avoids a core dump on systems without GNU putenv,
18102         when running `env -u SOME_ALREADY_UNSET_VARIABLE'.
18103         * lib/putenv.c (__set_errno, LOCK, UNLOCK): Define.
18104         (unsetenv): New static function, from GNU libc.
18105         (rpl_putenv): Use it.
18106
18107         * lib/modechange.c: Remove trailing blanks.
18108
18109         Merge from coreutils.
18110         * lib/fsusage.c: Remove declaration of statfs.
18111         It conflicted with one from OSF/1 5.1 in <sys/mount.h>.
18112
18113         * lib/posixtm.c: Include <stdbool.h> unconditionally.
18114
18115 2003-06-06  Jim Meyering  <jim@meyering.net>
18116
18117         * lib/stdbool_.h: Renamed from stdbool.h.in.
18118
18119 2003-06-06  Jim Meyering  <jim@meyering.net>
18120             Bruno Haible  <bruno@clisp.org>
18121
18122         * modules/stdbool: Reflect renaming: stdbool.h.in -> stdbool_.h.
18123         Adjust Makefile.am snippet not to redirect directly to target.
18124         Use $(STDBOOL_H) notation, not @STDBOOL_H@ for AC_REPLACE'd variables.
18125
18126 2003-06-05  Paul Eggert  <eggert@twinsun.com>
18127
18128         * lib/mktime.c (__mktime_internal): When resolving a tm_isdst
18129         mismatch, look in future quarters as well as past.  This fixes a
18130         bug when processing fall-backwards gaps immediately after a long
18131         period of daylight-saving time.
18132
18133         * lib/mktime.c: Assume freestanding C89 or better.
18134         (HAVE_LIMITS_H): Remove.  Assume it's 1.
18135         (__P): Remove; not used.
18136         (CHAR_BIT, INT_MIN, INT_MAX): Remove; <limits.h> defines them.
18137         (mktime, not_equal_tm, print_tm, check_result,
18138         main): Use prototypes.  Use const * where appropriate.
18139         (main): Fix typo in testing code that uncovered by above changes.
18140         (Local Variables): Remove -DHAVE_LIMITS_H from compile-command.
18141
18142 2003-06-04  Paul Eggert  <eggert@twinsun.com>
18143
18144         * m4/human.m4 (gl_HUMAN): Require AM_STDBOOL_H.  Check for
18145         locale.h, localeconv.  This merges changes from coreutils.
18146
18147         * m4/mktime.m4 (AC_FUNC_MKTIME): New macro, taken from Autoconf CVS.
18148         It can be removed after the next Autoconf is released.
18149         * m4/exclude.m4 (gl_EXCLUDE): Don't check for sys/types.h; no loner
18150         needed.
18151
18152 2003-06-04  Paul Eggert  <eggert@twinsun.com>
18153
18154         * lib/mktime.c: Fix Debian bug 177940
18155         <http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=177940>.
18156         (localtime_offset): Now long int, not time_t, because we want it
18157         to be guaranteed to be signed.  All uses changed.
18158         (__mktime_internal): If overflow would occur when adding offset,
18159         don't add it.
18160
18161         Merge 'human' changes from coreutils.  Rewrite to support
18162         locale-specific notations like thousands separators.
18163         * lib/human.c: Simplify authorship notice.
18164         Include human.h immediately after config.h.
18165         <sys/types.h>, <stdio.h>: Do not include; no longer needed.
18166         <limits.h>: Do not include, since human.h does.
18167         (SIZE_MAX, UINTMAX_MAX): New macros.
18168         <strings.h>: Include if HAVE_STRINGS_H, not if !HAVE_STRING_H.
18169         <locale.h>: Include if HAVE_LOCALE_H and HAVE_LOCALECONV.
18170         (HUMAN_READABLE_SUFFIX_LENGTH_MAX): New macro.
18171         (power_letter): Renamed from suffixes.
18172         (generate_suffix_backwards): Remove.
18173         (adjust_value): Now takes int style (because of human.h changes)
18174         and long double value (for greater precision on some platforms).
18175         (group_number): New function.
18176         (human_readable): Use it.  Use integer options, not enum.
18177         Put the options before the sizes in the arg list.
18178         Support all the new options.
18179         The old human_readable function has been removed;
18180         use inttostr.h instead.
18181         (human_readable, default_block_size, humblock):
18182         Use uintmax_t, not int, for block sizes.
18183         (human_readable_inexact, block_size_types): Remove.
18184         (block_size_opts): New constant.
18185         (human_options): Renamed from human_block_size, with new signature
18186         that allows block sizes up to UINTMAX_MAX.  All callers changed.
18187         * lib/human.h: Add copyright and authorship notice.
18188         Include <limits.h> and <stdbool.h> unconditionally.
18189         (PARAMS): Remove.  All uses removed.
18190         (LONGEST_HUMAN_READABLE): Add support for thousands separator.
18191         (enum human_inexact_style): Remove tag; now a nameless enum.
18192         (human_floor, human_ceiling, human_round_to_even): Now have
18193         values 2, 0, 1 rather than -1, 1, 0.
18194         (human_group_digits, human_suppress_point_zero, human_autoscale,
18195         human_base_1024, human_SI, human_B): New constants.
18196         (human_readable_inexact, human_block_size): Remove.
18197         (human_readable): Size args are now uintmax_t, not int.
18198         (human_options): New decl.
18199
18200         * lib/exclude.c: (new_exclude, add_exclude): Remove casts that are
18201         unnecessary now that we assume C89 or better.  This change
18202         imported from coreutils.
18203
18204         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
18205         arbitrarily.  This is the same patch as 2003-05-28, but it got lost
18206         in the 2003-05-30 sync from glibc.
18207
18208         .h files should stand alone, but we shouldn't include <sys/types.h>
18209         if we can get away with just <stddef.h>.
18210
18211         * lib/__fpending.h, addext.c, backupfile.c, exclude.c, getline.c,
18212         malloc.c, putenv.c, realloc.c, strcasecmp.c: Include <stddef.h>
18213         rather than <sys/types.h>, as we merely need size_t.
18214         * lib/dirname.h, memcoll.h, xalloc.h, xmemcoll.h: Include <stddef.h>,
18215         to get size_t.
18216         * lib/hash.h, linebuffer.h, readtokens.h, stdio-safer.h, version-etc.h:
18217         Include <stdio.h>, to get FILE.
18218         * lib/memcasecmp.c: Don't include <sys/types.h>, as we can assume
18219         memcasecmp.h has included <stddef.h> and all we need is size_t.
18220         * lib/memcoll.c: Include "memcoll.h", which gets us size_t and checks
18221         our interface, instead of including <sys/types.h>
18222
18223 2003-06-04  Paul Eggert  <eggert@twinsun.com>
18224
18225         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): Comment out for
18226         now, as glibc mktime is buggy on non-glibc systems.
18227
18228 2003-06-03  Karl Berry  <karl@gnu.org>
18229
18230         * config/config.sub: update from prep.
18231
18232 2003-06-02  Paul Eggert  <eggert@twinsun.com>
18233
18234         [from coreutils]
18235         Fix some minor time-related bugs with POSIX time arguments.
18236         Some valid time stamps were being rejected (notably -1, and
18237         time stamps before 1900 on 64-bit hosts).  And some invalid
18238         time stamps were being accepted, e.g. September 31.
18239
18240         * lib/posixtm.h (posixtime): Return bool instead of time_t, so
18241         that we can return (time_t) -1 successfully.
18242         * lib/posixtm.c: Likewise.
18243         [HAVE_STDBOOL_H]: Include <stdbool.h>.
18244         (bool, false, true) [!HAVE_STDBOOL_H]: New type.
18245         (t): Remove static var.
18246         (year, posix_time_parse): Now takes struct tm * arg to modify, instead
18247         of static var.  All uses changed.
18248         (year): Do not reject years before 1900; they can occur with
18249         64-bit time_t.
18250         (posix_time_parse): Do not check for out-of-range components;
18251         that is now the caller's responsibility, since our checks were
18252         only approximations.
18253         (posixtime): Use mktime to check for out-of-range components,
18254         since it knows them exactly.
18255         If mktime returns (time_t) -1, check whether an error actually occurred
18256         by invoking localtime on -1.
18257         (main) [TEST_POSIXTIME]: Check for input data errors, and report
18258         posixtime failures better.
18259         Improve the test data (in comments only).
18260
18261 2003-06-02  Karl Berry  <karl@gnu.org>
18262
18263         * config/mkinstalldirs (version): new variable.
18264         (--version): new option.
18265         (usage): improve message.
18266
18267 2003-05-30  Karl Berry  <karl@gnu.org>
18268
18269         * lib/mktime.c: update from libc.
18270
18271 2003-05-30  Bruno Haible  <bruno@clisp.org>
18272
18273         * modules/gettext: Add files m4/nls.m4 and m4/po.m4.
18274         * config/config.rpath: Upgrade to gettext-0.12.1.
18275
18276 2003-05-30  Bruno Haible  <bruno@clisp.org>
18277
18278         * m4/gettext.m4: Upgrade to gettext-0.12.1.
18279         * m4/nls.m4: New file, from gettext-0.12.1.
18280         * m4/po.m4: New file, from gettext-0.12.1.
18281         * m4/progtest.m4: Upgrade to gettext-0.12.1.
18282
18283 2003-05-30  Bruno Haible  <bruno@clisp.org>
18284
18285         * lib/config.charset: Upgrade to gettext-0.12.1 and libiconv-1.9.1.
18286         * lib/localcharset.h: Likewise.
18287         * lib/localcharset.c: Likewise.
18288
18289 2003-05-29  Karl Berry  <karl@gnu.org>
18290
18291         * config/config.rpath: update from gettext.
18292
18293 2003-05-28  Paul Eggert  <eggert@twinsun.com>
18294
18295         Assume the headers required for C89 freestanding compilers.
18296         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for limits.h.
18297         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Likewise.
18298         * m4/human.m4 (gl_HUMAN): Likewise.
18299         * m4/pathmax.m4 (gl_PATHMAX): Likewise.
18300         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Likewise.
18301         * m4/userspec.m4 (gl_USERSPEC): Likewise.
18302         * m4/xreadlink.m4 (gl_XREADLINK): Likewise.
18303         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
18304         * m4/quote.m4 (gl_QUOTE): Don't check for stddef.h.
18305
18306 2003-05-28  Paul Eggert  <eggert@twinsun.com>
18307
18308         Assume the headers required for C89 freestanding compilers.
18309         * lib/addext.c, lib/backupfile.c, lib/fsusage.c, lib/human.c,
18310         lib/pathmax.h, lib/rpmatch.c, lib/userspec.c, lib/xreadlink.c,
18311         lib/xstrtol.c: Include <limits.h> without checking for HAVE_LIMITS_H.
18312         * lib/backupfile.c, lib/fsusage.c, lib/hash.c, lib/human.c,
18313         lib/safe-read.c, lib/userspec.c, lib/xstrtol.c (CHAR_BIT): Don't
18314         define, since <limits.h> is guaranteed to do that.
18315         * lib/fatal.c: Include <stdarg.h> without checking for __STDC__.
18316         * lib/exclude.c: Include <stdbool.h> unconditionally.
18317         * lib/tempname.c: Include <stddef.h> unconditionally.
18318         * lib/hash.c: Include <limits.h>, since we no longer define CHAR_BIT.
18319         * lib/modechange.c, rpmatch.c (NULL): Don't define, since
18320         <stddef.h> does that.
18321         * lib/quote.c: Dont include <stddef.h> or <sys/types.h>; not needed.
18322         * lib/safe-read.c (INT_MAX): Don't define, since <limits.h> does that.
18323         * lib/safe-read.c (TYPE_MINIMUM, TYPE_MAXIMUM): Remove; no longer
18324         needed.
18325         * lib/xstrtol.c: Likewise.
18326         * lib/safe-read.c: Remove TYPE_SIGNED; no longer needed.
18327         * lib/savedir.c: Include <stddef.h> instead of defining NULL.
18328
18329         * lib/addext.c (addext): Use assignment rather than cast, to avoid
18330         warnings on some platforms.
18331
18332         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
18333         arbitrarily.
18334
18335 2003-05-26  Jim Meyering  <jim@meyering.net>
18336
18337         Merge in a change from coreutils:
18338         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Test the cache variable, not one
18339         that is guaranteed to be `no'.  Use `no_such_member' to indicate
18340         that condition, rather than `-1' which is slightly misleading.
18341         Change the name of the cache variable to have the gl_ prefix.
18342         Prompted by a patch from Richard Dawe for DJGPP.
18343
18344 2003-05-24  Karl Berry  <karl@gnu.org>
18345
18346         * config/config.guess: update from prep.
18347
18348 2003-05-22  Karl Berry  <karl@gnu.org>
18349
18350         * gnulib-tool (func_usage): =LIBRARY not =libRARY in help msg.
18351
18352 2003-05-20  Karl Berry  <karl@gnu.org>
18353
18354         * config/config.guess: update from prep.
18355
18356 2003-05-18  Karl Berry  <karl@gnu.org>
18357
18358         * config/srclistvars.sh (TEXMF): use TEXMFROOT instead, since TEXMF
18359         might actually be set by the user.
18360
18361         * config/depcomp, install-sh, mdate-sh: update from automake.
18362
18363 2003-05-17  Bruno Haible  <bruno@clisp.org>
18364
18365         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Fix a quoting bug leading to an
18366         invalid expansion for AC_EGREP_CPP.
18367         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Likewise.
18368         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
18369         Suggested by Akim Demaille <akim@epita.fr> in
18370         http://mail.gnu.org/archive/html/bug-autoconf/2003-05/threads.html
18371
18372 2003-05-12  Jim Meyering  <jim@meyering.net>
18373
18374         * lib/strftime.c (my_strftime): Let the `-' (no-pad) flag affect
18375         the space-padded-by-default conversion specifiers, %e, %k, %l.
18376
18377 2003-05-12  Bruno Haible  <bruno@clisp.org>
18378
18379         * lib/linebreak.c (iconv_string_length): Don't return -1 just because
18380         the string is longer than 4 KB.
18381
18382 2003-05-11  Karl Berry  <karl@gnu.org>
18383
18384         * config/config.{guess,sub}: update from prep.
18385
18386 2003-05-09  Bruno Haible  <bruno@clisp.org>
18387
18388         * modules/error: Add m4/strerror_r.m4 to file list.
18389
18390 2003-05-03  Bruno Haible  <bruno@clisp.org>
18391
18392         Upgrade to Unicode-4.0.
18393         * lib/linebreak.c (nonspacing_table_data): Change width of U+00AD,
18394         U+0350..U+0357, U+035D..U+035F, U+0600..U+0603, U+0610..U+0615,
18395         U+0656..U+0658, U+0A01, U+0AE2..U+0AE3, U+0CBC, U+17B4..U+17B5,
18396         U+17DD, U+1920..U+1922, U+1927..U+192B, U+1932, U+1939..U+193B
18397         from 1 to 0. Change width of U+0CBF, U+0CC6, U+180E from 0 to 1.
18398         (uc_width): Change width of U+4DC0..U+4DFF from 2 to 1. Change width
18399         of U+2A6D7..U+2F7FF, U+2FA1E..U+2FFFD, U+30000..U+3FFFD from 1 to 2.
18400         Change width of U+E0100..U+E01EF from 1 to 0.
18401
18402 2003-04-25  Jim Meyering  <jim@meyering.net>
18403
18404         * lib/copy-file.c (copy_file_preserving): Declare buf_size to be
18405         of type size_t, not int.
18406
18407 2003-04-25  Bruno Haible  <bruno@clisp.org>
18408
18409         * lib/copy-file.c: Include <stddef.h>, for size_t.
18410
18411 2003-04-21  Paul Eggert  <eggert@twinsun.com>
18412
18413         * m4/error.m4 (gl_ERROR): Do not put under dynamic conditions some
18414         code which expansion is under static control.  Patch imported from
18415         Akim Demaille's patch to Bison; see
18416         <http://mail.gnu.org/archive/html/bison-patches/2003-03/msg00057.html>.
18417
18418 2003-04-14  Bruno Haible  <bruno@clisp.org>
18419
18420         * m4/error.m4 (jm_PREREQ_ERROR): Use AC_FUNC_VPRINTF.
18421
18422 2003-04-11  Jim Meyering  <jim@meyering.net>
18423
18424         Merge changes from Coreutils.
18425
18426         2003-03-22  Jim Meyering  <jim@meyering.net>
18427
18428         * lib/strftime.c (widen): Cast alloca return value to proper type.
18429
18430         2003-01-19  Ulrich Drepper  <drepper@redhat.com>
18431
18432         From GNU libc.
18433         * lib/strftime.c (my_strftime): Handle very large width
18434         specifications for numeric values correctly.  Improve checks for
18435         overflow.
18436
18437         2003-01-19  Jim Meyering  <jim@meyering.net>
18438
18439         * lib/strftime.c (widen) [COMPILE_WIDE]: Merge nearly-identical
18440         definitions.
18441         (nl_get_alt_digit) [! defined my_strftime]: Define.
18442         (my_strftime) [_NL_CURRENT]: Merge nearly-identical uses of
18443         _nl_get_alt_digit and _nl_get_walt_digit.
18444
18445         * lib/strftime.c (my_strftime): Merge in locale-related changes from
18446         libc. These changes have no effect outside of _LIBC.
18447
18448 2003-04-10  Bruno Haible  <bruno@clisp.org>
18449
18450         * modules/findprog: New file.
18451         * MODULES.html.sh (func_all_modules): Add it.
18452
18453 2003-04-10  Bruno Haible  <bruno@clisp.org>
18454
18455         * m4/findprog.m4: New file.
18456         * m4/eaccess.m4: New file.
18457
18458 2003-04-10  Bruno Haible  <bruno@clisp.org>
18459
18460         * lib/findprog.h: New file, from GNU gettext.
18461         * lib/findprog.c: New file, from GNU gettext.
18462
18463 2003-04-05  Jim Meyering  <jim@meyering.net>
18464
18465         Merge changes from Coreutils.
18466
18467         * lib/exclude.h (PARAMS): Remove definition and uses.
18468         * lib/exclude.c: Remove uses of `PARAMS'.
18469
18470         * lib/dirname.c [TEST_DIRNAME]: Update build instructions for test.
18471         Add test-cases for DOS filenames. Declare program_name.
18472         (main): Set up program_name.  Patch by Rich Dawe.
18473
18474         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
18475         error from mntctl.
18476         Use mntctl's return value to drive the entry-processing loop, since
18477         we can't rely on the value of the vmt_length member in the last
18478         entry.  On some systems doing so could result in exhausting
18479         virtual memory.  Based in part on a patch from Mike Jetzer.
18480
18481 2003-04-04  Bruno Haible  <bruno@clisp.org>
18482
18483         * modules/linebreak: New file.
18484         * MODULES.html.sh (func_all_modules): Add it.
18485
18486 2003-04-04  Bruno Haible  <bruno@clisp.org>
18487
18488         * m4/linebreak.m4: New file.
18489
18490 2003-04-04  Bruno Haible  <bruno@clisp.org>
18491
18492         * lib/linebreak.h: New file, from GNU gettext.
18493         * lib/linebreak.c: New file, from GNU gettext with slight
18494         modifications.
18495         * lib/lbrkprop.h: New file, from GNU gettext.
18496
18497 2003-04-03  Bruno Haible  <bruno@clisp.org>
18498
18499         * modules/utf8-ucs4: New file.
18500         * modules/utf16-ucs4: New file.
18501         * modules/ucs4-utf8: New file.
18502         * modules/ucs4-utf16: New file.
18503         * MODULES.html.sh (func_all_modules): Add them.
18504
18505 2003-04-03  Bruno Haible  <bruno@clisp.org>
18506
18507         * m4/utf-ucs4.m4: New file.
18508         * m4/ucs4-utf.m4: New file.
18509
18510 2003-04-03  Bruno Haible  <bruno@clisp.org>
18511
18512         * lib/utf8-ucs4.h: New file, from GNU gettext.
18513         * lib/utf16-ucs4.h: New file, from GNU gettext.
18514         * lib/ucs4-utf8.h: New file, from GNU gettext.
18515         * lib/ucs4-utf16.h: New file, from GNU gettext.
18516
18517 2003-04-02  Bruno Haible  <bruno@clisp.org>
18518
18519         * modules/binary-io: New file.
18520         * MODULES.html.sh (func_all_modules): Add it.
18521
18522 2003-04-02  Bruno Haible  <bruno@clisp.org>
18523
18524         * lib/binary-io.h: New file, from GNU gettext.
18525
18526 2003-04-01  Bruno Haible  <bruno@clisp.org>
18527
18528         * modules/pathname: New file.
18529         * MODULES.html.sh (func_all_modules): Add it.
18530
18531 2003-04-01  Bruno Haible  <bruno@clisp.org>
18532
18533         * lib/pathname.h: New file, from GNU gettext.
18534         * lib/concatpath.c: New file, from GNU gettext.
18535
18536 2003-03-30  Bruno Haible  <bruno@clisp.org>
18537
18538         * m4/copy-file.m4 (gl_COPY_FILE): Add check for chown().
18539
18540 2003-03-30  Bruno Haible  <bruno@clisp.org>
18541
18542         * lib/copy-file.c (copy_file_preserving): Don't set owner if the
18543         function chown() doesn't exist.
18544
18545 2003-03-28  Bruno Haible  <bruno@clisp.org>
18546
18547         * modules/copy-file: New file.
18548         * MODULES.html.sh (func_all_modules): Add it.
18549
18550 2003-03-28  Bruno Haible  <bruno@clisp.org>
18551
18552         * m4/copy-file.m4: New file.
18553
18554 2003-03-28  Bruno Haible  <bruno@clisp.org>
18555
18556         * lib/copy-file.h: New file, from GNU gettext.
18557         * lib/copy-file.c: New file, from GNU gettext.
18558
18559 2003-03-18  Jim Meyering  <jim@meyering.net>
18560
18561         * lib/quote.c (quote_n): Fix typo in comment.
18562
18563 2003-03-18  Bruno Haible  <bruno@clisp.org>
18564
18565         * m4/onceonly.m4: Use m4_defn instead of defn, for better error
18566         checking.
18567         * m4/onceonly_2_57.m4: Likewise.
18568
18569 2003-03-17  Bruno Haible  <bruno@clisp.org>
18570
18571         * m4/onceonly.m4: Require autoconf 2.54 or newer.
18572         (m4_quote): Remove macro.
18573         * m4/onceonly_2_57.m4: Require autoconf 2.54 or newer.
18574
18575 2003-03-14  Jim Meyering  <jim@meyering.net>
18576
18577         Merge changes from Coreutils.
18578         * lib/obstack.h (obstack_object_size): Declare temporary, __o,
18579         to be const, in order to avoid warnings.
18580         (obstack_room): Likewise.
18581         (obstack_empty_p): Likewise.
18582
18583 2003-03-14  Bruno Haible  <bruno@clisp.org>
18584
18585         * m4/onceonly_2_57.m4 (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE,
18586         AC_CHECK_DECLS_ONCE): Quote AC_FOREACH variable-expansions properly.
18587
18588 2003-03-13  Paul Eggert  <eggert@twinsun.com>
18589
18590         Merge changes from Bison.
18591         * lib/obstack.h: (__INT_TO_PTR) [__STDC__]: Cast result to
18592         (void *) to avoid diagnostic with native c89 on SGI IRIX 6.5
18593         when compiling Bison 1.875's `bitset bset = obstack_alloc
18594         (bobstack, bytes);'.  Problem reported by Nelson H. F. Beebe.
18595         * lib/hash.c: Include <stdbool.h> unconditionally.
18596
18597 2003-03-13  Paul Eggert  <eggert@twinsun.com>
18598
18599         * m4/onceonly.m4 (m4_quote): New macro.
18600         (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE, AC_CHECK_DECLS_ONCE):
18601         Quote AC_FOREACH variable-expansions properly.
18602
18603 2003-03-13  Paul Eggert  <eggert@twinsun.com>
18604
18605         * doc/COPYING.DOC, fdl.texi: Sync with latest FSF version.
18606
18607 2003-03-09  Paul Eggert  <eggert@twinsun.com>
18608
18609         * lib/argmatch.c (EXIT_FAILURE): Define if the system doesn't.
18610         Reported by Bruce Becker; see:
18611         http://mail.gnu.org/archive/html/bug-bison/2003-03/msg00017.html
18612
18613 2003-03-03  Paul Eggert  <eggert@twinsun.com>
18614             Bruno Haible  <bruno@clisp.org>
18615
18616         * lib/mbswidth.h: Include <wchar.h>. Needed for UnixWare 7.1.1.
18617         Reported by John Hughes, see
18618         http://mail.gnu.org/archive/html/bug-bison/2003-02/msg00030.html
18619
18620 2003-02-20  Bruno Haible  <bruno@clisp.org>
18621
18622         * MODULES.html.sh (func_all_modules): Add poll.
18623
18624 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
18625
18626         * modules/poll: New file.
18627
18628 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
18629
18630         * lib/poll_.h: New file.
18631         * lib/poll.c: New file.
18632
18633 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
18634
18635         * m4/poll.m4: New file.
18636
18637 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
18638
18639         * modules/mathl: New file.
18640
18641 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
18642
18643         * lib/mathl.h: New file.
18644         * lib/acosl.c: New file.
18645         * lib/asinl.c: New file.
18646         * lib/atanl.c: New file.
18647         * lib/ceill.c: New file.
18648         * lib/cosl.c: New file.
18649         * lib/expl.c: New file.
18650         * lib/floorl.c: New file.
18651         * lib/frexpl.c: New file.
18652         * lib/ldexpl.c: New file.
18653         * lib/logl.c: New file.
18654         * lib/sincosl.c: New file.
18655         * lib/sinl.c: New file.
18656         * lib/sqrtl.c: New file.
18657         * lib/tanl.c: New file.
18658         * lib/trigl.c: New file.
18659         * lib/trigl.h: New file.
18660
18661 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
18662
18663         * m4/mathl.m4: New file.
18664
18665 2003-02-18  Bruno Haible  <bruno@clisp.org>
18666
18667         * MODULES.html.sh (func_all_modules): Add mathl.
18668
18669 2003-02-17  Bruno Haible  <bruno@clisp.org>
18670
18671         * modules/mkdtemp: New module.
18672         * MODULES.html.sh (func_all_modules): Add it.
18673
18674 2003-02-17  Bruno Haible  <bruno@clisp.org>
18675
18676         * m4/mkdtemp.m4: New file, from GNU gettext with modifications.
18677
18678 2003-02-17  Bruno Haible  <bruno@clisp.org>
18679
18680         * lib/mkdtemp.h: New file, from GNU gettext.
18681         * lib/mkdtemp.c: New file, from GNU gettext.
18682
18683 2003-02-02  Jim Meyering  <jim@meyering.net>
18684
18685         * m4/regex.m4 (jm_INCLUDED_REGEX): Detect broken re_search in
18686         e.g. glibc-2.2.93.
18687
18688 2003-01-31  Bruno Haible  <bruno@clisp.org>
18689
18690         * m4/rename.m4 (vb_FUNC_RENAME): Add a redirection from 'rename' to
18691         'rpl_rename'.
18692         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Add a redirection from 'strnlen' to
18693         'rpl_strnlen'.
18694         * m4/strtod.m4 (gl_FUNC_STRTOD): Add a redirection from 'strtod' to
18695         'rpl_strtod'.
18696         * m4/utime.m4 (jm_FUNC_UTIME): Add a redirection from 'utime' to
18697         'rpl_utime'.
18698
18699 2003-01-31  Bruno Haible  <bruno@clisp.org>
18700
18701         * lib/rename.c: #undef rename before defining rpl_rename.
18702         * lib/strnlen.c: #undef strnlen, define rpl_strnlen instead of strnlen.
18703
18704 2003-01-30  Bruno Haible  <bruno@clisp.org>
18705
18706         * modules/vasnprintf, modules/vasprintf: New modules.
18707         * MODULES.html.sh (func_all_modules): Add them.
18708
18709 2003-01-30  Bruno Haible  <bruno@clisp.org>
18710
18711         * m4/signed.m4: New file, from GNU gettext.
18712         * m4/longdouble.m4: New file, from GNU gettext.
18713         * m4/wchar_t.m4: New file, from GNU gettext.
18714         * m4/wint_t.m4: New file, from GNU gettext.
18715         * m4/vasnprintf.m4: New file.
18716         * m4/vasprintf.m4: New file.
18717
18718 2003-01-30  Bruno Haible  <bruno@clisp.org>
18719
18720         * lib/printf-args.h: New file, from GNU gettext.
18721         * lib/printf-args.c: New file, from GNU gettext.
18722         * lib/printf-parse.h: New file, from GNU gettext.
18723         * lib/printf-parse.c: New file, from GNU gettext.
18724         * lib/vasnprintf.h: New file, from GNU gettext.
18725         * lib/vasnprintf.c: New file, from GNU gettext.
18726         * lib/asnprintf.c: New file, from GNU gettext.
18727         * lib/vasprintf.h: New file, from GNU gettext with modifications.
18728         * lib/vasprintf.c: New file, from GNU gettext.
18729         * lib/asprintf.c: New file, from GNU gettext.
18730
18731 2003-01-29  Bruno Haible  <bruno@clisp.org>
18732
18733         * modules/stpncpy: New module.
18734         * MODULES.html.sh (func_all_modules): Add it.
18735
18736 2003-01-29  Bruno Haible  <bruno@clisp.org>
18737
18738         * m4/stpncpy.m4: New file.
18739
18740 2003-01-29  Bruno Haible  <bruno@clisp.org>
18741
18742         * lib/stpncpy.h: New file, from GNU gettext with modifications.
18743         * lib/stpncpy.c: New file, from GNU gettext with modifications.
18744
18745 2003-01-28  Bruno Haible  <bruno@clisp.org>
18746
18747         * modules/c-ctype: New module.
18748         * MODULES.html.sh (func_all_modules): Add it.
18749
18750 2003-01-28  Bruno Haible  <bruno@clisp.org>
18751
18752         * lib/c-ctype.h: New file, from GNU gettext, with changes suggested by
18753         Paul Eggert.
18754         * lib/c-ctype.c: New file, from GNU gettext, with changes suggested by
18755         Paul Eggert.
18756
18757 2003-01-27  Bruno Haible  <bruno@clisp.org>
18758
18759         * modules/xsetenv: New module.
18760         * MODULES.html.sh (func_all_modules): Add it.
18761
18762 2003-01-27  Bruno Haible  <bruno@clisp.org>
18763
18764         * lib/xsetenv.h: New file, from GNU gettext.
18765         * lib/xsetenv.c: New file, from GNU gettext.
18766
18767 2003-01-23  Jim Meyering  <jim@meyering.net>
18768
18769         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Correct typo: s/-1/no/ that kept this
18770         from working on systems without dirfd (at least Irix and OSF1/Tru64).
18771
18772 2003-01-23  Bruno Haible  <bruno@clisp.org>
18773
18774         * modules/minmax: New module.
18775         * MODULES.html.sh (func_all_modules): Add it.
18776
18777 2003-01-23  Bruno Haible  <bruno@clisp.org>
18778
18779         * lib/minmax.h: New file, from GNU gettext, with comments from Paul
18780         Eggert.
18781
18782 2003-01-22  Bruno Haible  <bruno@clisp.org>
18783
18784         * modules/exit: New module.
18785         * MODULES.html.sh (func_all_modules): Add it.
18786
18787 2003-01-22  Bruno Haible  <bruno@clisp.org>
18788
18789         * lib/exit.h: New file, from GNU gettext.
18790
18791 2003-01-19  Bruno Haible  <bruno@clisp.org>
18792
18793         * gnulib-tool: Recognize option --extract-maintainer.
18794         (func_get_maintainer): New function.
18795         * modules/*: Add Maintainer entry.
18796
18797 2003-01-16  Jim Meyering  <jim@meyering.net>
18798
18799         * m4/regex.m4: The `regex' struct is both input and output.
18800         Initialize it before each use.  Patch by Tim Waugh.
18801
18802 2003-01-16  Bruno Haible  <bruno@clisp.org>
18803
18804         * MODULES.html.sh: Add a table of contents. Add the module name as
18805         leftmost column. Add hyperlinks.
18806
18807 2003-01-15  Bruno Haible  <bruno@clisp.org>
18808
18809         * m4/md5.m4 (gl_MD5): Require AC_C_INLINE.
18810
18811 2003-01-15  Bruno Haible  <bruno@clisp.org>
18812
18813         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): Also test the LL suffix.
18814         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Also test the ULL
18815         suffix.
18816
18817 2003-01-15  Bruno Haible  <bruno@clisp.org>
18818
18819         * m4/alloca.m4 (gl_FUNC_ALLOCA): Invoke AC_EGREP_CPP prerequisites.
18820
18821 2003-01-15  Bruno Haible  <bruno@clisp.org>
18822
18823         * lib/stpcpy.h (stpcpy): Use ANSI C function declarations.
18824         * lib/strcase.h (strcasecmp, strncasecmp): Likewise.
18825
18826 2003-01-14  Jim Meyering  <jim@meyering.net>
18827
18828         * lib/same.c (same_name): Tweak a comment.
18829
18830 2003-01-14  Bruno Haible  <bruno@clisp.org>
18831
18832         * lib/same.c (same_name): Reorder tests so as to avoid calling stat()
18833         when a string comparison is sufficient.
18834
18835 2003-01-14  Bruno Haible  <bruno@clisp.org>
18836
18837         * lib/readtokens.c (readtoken): Cast character to 'unsigned char', not
18838         'unsigned int'.
18839
18840 2003-01-14  Bruno Haible  <bruno@clisp.org>
18841
18842         * lib/hash-pjw.c: Add comment about low quality of this function.
18843
18844 2003-01-13  Bruno Haible  <bruno@clisp.org>
18845
18846         * modules/stpcpy: Distribute lib/stpcpy.h.
18847         * modules/setenv: Depend on alloca. Distribute lib/setenv.h.
18848
18849 2003-01-13  Bruno Haible  <bruno@clisp.org>
18850
18851         * modules/*: Add a description.
18852         * modules/strpbrk: Fix Makefile.am snippet.
18853         * modules/strtoimax: Fix dependencies.
18854         * modules/strtoumax: Likewise.
18855
18856 2003-01-13  Bruno Haible  <bruno@clisp.org>
18857
18858         * gnulib-tool (func_create_testdir): Substitute lib_OBJECTS.
18859         * modules/alloca (Makefile.am): All object files depend on alloca.h.
18860         * modules/stdbool (Makefile.am): All object files depend on stdbool.h.
18861
18862 2003-01-13  Bruno Haible  <bruno@clisp.org>
18863
18864         * gnulib-tool (func_create_testdir): Store config/* files in the main
18865         directory.
18866         * config.rpath: Move to ...
18867         * config/config.rpath: ... here.
18868         * modules/gettext: Contains config/config.rpath, not config.rpath.
18869         * modules/iconv: Likewise.
18870
18871 2003-01-12  Paul Eggert  <eggert@twinsun.com>
18872
18873         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
18874         to avoid collisions with libcurses and libreadline.
18875
18876         * m4/getstr.m4: Remove.
18877         * m4/getline.m4 (gl_PREREQ_GETLINE): Require AC_HEADER_STDC.
18878
18879 2003-01-12  Paul Eggert  <eggert@twinsun.com>
18880
18881         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
18882         to avoid collisions with libcurses and libreadline.
18883
18884         * lib/Makefile.am (libfetish_a_SOURCES): Remove getstr.c, getstr.h.
18885         * lib/getstr.h, getstr.c: Remove.
18886         * lib/getline.c: Include "getline.h", to check interface.
18887         Move body of old getstr.c here: this defines MIN_CHUNK and
18888         declares getdelim2, which is renamed from getstr.
18889         (getline, getdelim): Adjust to renaming of getstr -> getdelim2.
18890
18891         * lib/linebuffer.c (readlinebuffer): Renamed from readline.
18892         All uses changed.
18893         * lib/linebuffer.h: Likewise.
18894         (readline): Remove backward-compatibility macro.
18895
18896 2003-01-12  Paul Eggert  <eggert@twinsun.com>
18897
18898         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
18899         to avoid collisions with libcurses and libreadline.
18900         * getstr: Remove.
18901         * MODULES.html.sh: Remove getstr.
18902         * modules/getline: Depend on unlocked-io, not getstr.
18903
18904 2003-01-12  Jim Meyering  <jim@meyering.net>
18905
18906         * lib/makepath.c: Don't test HAVE_ERRNO_H.  It's not necessary.
18907
18908 2003-01-10  Bruno Haible  <bruno@clisp.org>
18909
18910         * modules/alloca: Change Makefile.am requirements. Simplify Include
18911         requirements. Add lib/alloca_.h to file list.
18912
18913 2003-01-10  Bruno Haible  <bruno@clisp.org>
18914
18915         * m4/alloca.m4 (gl_FUNC_ALLOCA): Also define ALLOCA_H.
18916
18917 2003-01-10  Bruno Haible  <bruno@clisp.org>
18918
18919         * lib/alloca_.h: New file.
18920         * lib/getdate.y: Unconditionally include alloca.h.
18921         * lib/makepath.c: Likewise.
18922         * lib/setenv.c: Likewise.
18923         * lib/userspec.c: Likewise.
18924
18925 2003-01-09  Karl Berry  <karl@gnu.org>
18926
18927         * MODULES.html.sh: include `dirname $0` in PATH, to find
18928         gnulib-tool.
18929
18930 2003-01-09  Bruno Haible  <bruno@clisp.org>
18931
18932         * modules/stdbool: Change configure.ac, Makefile.am requirements.
18933         Simplify Include requirements. Add lib/stdbool.h.in to file list.
18934
18935 2003-01-09  Bruno Haible  <bruno@clisp.org>
18936
18937         * m4/stdbool.m4 (AM_STDBOOL_H): New macro.
18938
18939 2003-01-09  Bruno Haible  <bruno@clisp.org>
18940
18941         * lib/stdbool.h.in: New file.
18942
18943 2003-01-09  Bruno Haible  <bruno@clisp.org>
18944
18945         * gnulib-tool (func_all_modules): Ignore files ending in ~.
18946         * MODULES.html.sh: Likewise.
18947
18948 2003-01-08  Jim Meyering  <jim@meyering.net>
18949
18950         * lib/full-write.c: Undefine and define-away `const' after inclusion
18951         of errno.h, not before.  Suggestion from Bruno Haible.
18952
18953 2003-01-08  Bruno Haible  <bruno@clisp.org>
18954
18955         * modules/full-read: Depend on full-write.
18956
18957 2003-01-08  Bruno Haible  <bruno@clisp.org>
18958
18959         * lib/safe-read.c: Include specification header first, to ensure its
18960         selfcontainedness.
18961         * lib/full-write.c: Likewise.
18962
18963 2003-01-07  Jim Meyering  <jim@meyering.net>
18964
18965         * lib/full-write.c: Rework so that it may serve to define full_read,
18966         too.
18967         * lib/full-read.c: Simply #define FULL_READ and include full-write.c.
18968
18969 2003-01-07  Bruno Haible  <bruno@clisp.org>
18970
18971         * lib/strtoimax.c: Include <stdint.h> as an alternative to
18972         <inttypes.h>.
18973         * lib/xstrtol.h: Likewise.
18974         * lib/xstrtoimax.c: Likewise.
18975         * lib/xstrtoumax.c: Likewise.
18976         * lib/human.h: Likewise.
18977
18978         * lib/tempname.c: Include <inttypes.h> too. Avoids a compilation error
18979         on systems that have <inttypes.h> but not <stdint.h>.
18980
18981 2003-01-07  Bruno Haible  <bruno@clisp.org>
18982
18983         * MODULES.html.sh: Add copyright notice.
18984         (missed_files): Omit CVS directory entries.
18985         (func_module): Make it work with sed-3.02.
18986         * MODULES.txt: Remove file.
18987
18988 2003-01-06  Jim Meyering  <jim@meyering.net>
18989
18990         * lib/version-etc.c: Update year in translatable copyright string.
18991
18992 2003-01-03  Karl Berry  <karl@gnu.org>
18993
18994         * config/config.{guess,sub}: update from prep.
18995
18996 2003-01-02  Karl Berry  <karl@gnu.org>
18997
18998         * doc/COPYING.DOC: belatedly updated to 1.2.
18999
19000 2003-01-01  Karl Berry  <karl@gnu.org>
19001
19002         * gnulib-tool (func_verify_module): report module name $module in
19003         error message, not $1.
19004         * gnulib-tool (create-testdir): don't complain if destdir couldn't
19005         be created, only if it doesn't exist.
19006         * gnulib-tool (last_checkin_date): don't expand the $Date here.
19007
19008 2002-12-31  Paul Eggert  <eggert@twinsun.com>
19009
19010         * m4/memcoll.m4 (gl_MEMCOLL): Require AC_FUNC_MEMCMP.
19011
19012 2002-12-31  Paul Eggert  <eggert@twinsun.com>
19013
19014         * lib/memcoll.c (memcoll): Fall back on a simple algorithm using
19015         memcmp if strcoll doesn't work.
19016
19017 2002-12-31  Bruno Haible  <bruno@clisp.org>
19018
19019         * lib/utime.c (utime_null): No need to call ftruncate if the file was
19020         nonempty.
19021
19022 2002-12-31  Bruno Haible  <bruno@clisp.org>
19023
19024         * lib/memcoll.c (STRCOLL): New macro.
19025         (memcoll): Use it.
19026
19027 2002-12-31  Bruno Haible  <bruno@clisp.org>
19028
19029         * lib/localcharset.h: New file.
19030         * lib/localcharset.c: Include it.
19031         * lib/unicodeio.c: Likewise.
19032
19033 2002-12-31  Bruno Haible  <bruno@clisp.org>
19034
19035         * lib/getstr.h (getstr): Define, to avoid clash with libcurses.
19036         * lib/linebuffer.h (readline): Define, to avoid clash with libreadline.
19037
19038 2002-12-31  Bruno Haible  <bruno@clisp.org>
19039
19040         * lib/getline.h: Include <stddef.h>, for size_t.
19041
19042         * lib/unicodeio.h: Include <stddef.h>, for size_t.
19043         * lib/unicodeio.c: Don't include <stddef.h>.
19044
19045 2002-12-31  Bruno Haible  <bruno@clisp.org>
19046
19047         * lib/getdate.y (get_date): Test HAVE_STRUCT_TM_TM_ZONE, not
19048         HAVE_TM_ZONE.
19049
19050 2002-12-24  Karl Berry  <karl@gnu.org>
19051
19052         * config/config.guess: update from prep.
19053
19054 2002-12-24  Bruno Haible  <bruno@clisp.org>
19055
19056         General infrasructure.
19057         * m4/README: Rewritten.
19058         * m4/onceonly.m4: New file.
19059         * m4/onceonly_2_57.m4: New file.
19060
19061         Module atexit.
19062         * m4/atexit.m4: New file.
19063
19064         Module strtod.
19065         * m4/strtod.m4: New file.
19066
19067         Module strtol.
19068         * m4/strtol.m4: New file.
19069
19070         Module strtoul.
19071         * m4/strtoul.m4: New file.
19072
19073         Module memchr.
19074         * m4/memchr.m4: New file.
19075
19076         Module memcmp.
19077         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): New macro.
19078         (jm_FUNC_MEMCMP): Invoke it.
19079
19080         Module memcpy.
19081         * m4/memcpy.m4: New file.
19082
19083         Module memmove.
19084         * m4/memmove.m4: New file.
19085
19086         Module memset.
19087         * m4/memset.m4: New file.
19088
19089         Module strcspn.
19090         * m4/strcspn.m4: New file.
19091
19092         Module strpbrk.
19093         * m4/strpbrk.m4: New file.
19094
19095         Module strstr.
19096         * m4/strstr.m4: New file.
19097
19098         Module strerror.
19099         * m4/strerror.m4: New file.
19100
19101         Module mktime.
19102         * m4/mktime.m4: Renamed from jm-mktime.m4.
19103         (gl_PREREQ_MKTIME): New macro.
19104         (gl_FUNC_MKTIME): Renamed from jm_FUNC_MKTIME. Invoke gl_PREREQ_MKTIME.
19105
19106         Module malloc.
19107         * m4/malloc.m4 (gl_PREREQ_MALLOC): New macro.
19108         (jm_FUNC_MALLOC): Use AC_FUNC_MALLOC. Invoke gl_PREREQ_MALLOC.
19109         Don't define HAVE_DONE_WORKING_MALLOC_CHECK, since nothing uses it.
19110
19111         Module realloc.
19112         * m4/realloc.m4 (gl_PREREQ_REALLOC): New macro.
19113         (jm_FUNC_REALLOC): Use AC_FUNC_REALLOC. Invoke gl_PREREQ_REALLOC.
19114         Don't define HAVE_DONE_WORKING_REALLOC_CHECK, since nothing uses it.
19115
19116         Module strftime.
19117         * m4/tm_gmtoff.m4: New file, extracted from strftime.m4.
19118         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Use AC_FUNC_STRFTIME.
19119         Don't test for bcopy (we are not emacs). Invoke AC_TYPE_MBSTATE_T and
19120         gl_TM_GMTOFF.
19121         (_jm_STRFTIME_PREREQS, jm_FUNC_GNU_STRFTIME): Use onceonly macros.
19122
19123         Module xalloc.
19124         * m4/xalloc.m4: New file.
19125
19126         Module alloca.
19127         * m4/alloca.m4: New file.
19128
19129         Module putenv.
19130         * m4/putenv.m4 (gl_PREREQ_PUTENV): New macro.
19131         (jm_FUNC_PUTENV): Invoke it.
19132
19133         Module setenv.
19134         * m4/setenv.m4 (gt_FUNC_SETENV): New macro.
19135         (gt_CHECK_VAR_DECL): Fix quoting error that led to infinite loop in m4
19136         when invoked twice.
19137         (gt_PREREQ_SETENV, gt_PREREQ_UNSETENV): New macros, replacing old
19138         gt_FUNC_SETENV.
19139
19140         Module memrchr.
19141         * m4/memrchr.m4: New file.
19142
19143         Module stpcpy.
19144         * m4/stpcpy.m4: New file.
19145
19146         Module strcase.
19147         * m4/strcase.m4: New file.
19148
19149         Module strdup.
19150         * m4/strdup.m4: New file.
19151
19152         Module strnlen.
19153         * m4/strnlen.m4: New file.
19154
19155         Module strndup.
19156         * m4/strndup.m4: New file.
19157
19158         Module xstrtod.
19159         * m4/xstrtod.m4: New file.
19160
19161         Module xstrtol.
19162         * m4/xstrtol.m4: New file.
19163
19164         Module getdate.
19165         * m4/getdate.m4: New file.
19166
19167         Module unlocked-io.
19168         * m4/unlocked-io.m4: Renamed from jm-glibc-io.m4.
19169         (jm_FUNC_GLIBC_UNLOCKED_IO): Invoke AC_GNU_SOURCE. Use onceonly macros.
19170         * m4/jm-glibc-io.m4n: Remove file.
19171
19172         Module long-options.
19173         * m4/long-options.m4: New file.
19174
19175         Module md5.
19176         * m4/md5.m4: New file.
19177
19178         Module sha.
19179         * m4/sha.m4: New file.
19180
19181         Module getstr.
19182         * m4/getstr.m4: New file.
19183
19184         Module getline.
19185         * m4/getline.m4 (gl_PREREQ_GETLINE): New macro.
19186         (AM_FUNC_GETLINE): Invoke AC_GNU_SOURCE. Use <stdlib.h>, not
19187         <sys/types.h>, for size_t. Use the function name gnu_getline, not
19188         simply getline. Infoke gl_PREREQ_GETLINE.
19189
19190         Module obstack.
19191         * m4/obstack.m4: New file.
19192
19193         Module hash.
19194         * m4/hash.m4: New file.
19195
19196         Module readtokens.
19197         * m4/readtokens.m4: New file.
19198
19199         Module strverscmp.
19200         * m4/strverscmp.m4: New file.
19201
19202         Module stdbool.
19203         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Add test for _Bool. Needed for
19204         OSF/1.
19205
19206         Module strtoll.
19207         * m4/strtoll.m4: New file.
19208
19209         Module strtoull.
19210         * m4/strtoull.m4: New file.
19211
19212         Module strtoimax.
19213         * m4/strtoimax.m4: New file.
19214
19215         Module strtoumax.
19216         * m4/strtoumax.m4: New file.
19217
19218         Module xstrtoimax.
19219         * m4/xstrtoimax.m4 (jm_XSTRTOIMAX): Renamed from
19220         jm_AC_PREREQ_XSTRTOIMAX.
19221         Moved the strtol prerequisites to strtol.m4.
19222         Moved the strtoll prerequisites to strtoll.m4.
19223         Moved the strtoimax prerequisites to strtoimax.m4.
19224
19225         Module xstrtoumax.
19226         * m4/xstrtoumax.m4 (jm_XSTRTOUMAX): Renamed from
19227         jm_AC_PREREQ_XSTRTOUMAX.
19228         Moved the strtoul prerequisites to strtoul.m4.
19229         Moved the strtoull prerequisites to strtoull.m4.
19230         Moved the strtoumax prerequisites to strtoumax.m4.
19231
19232         Module chown.
19233         * m4/chown.m4 (gl_PREREQ_CHOWN): New macro.
19234         (jm_FUNC_CHOWN): Use AC_FUNC_CHOWN. Invoke gl_PREREQ_CHOWN.
19235
19236         Module dup2.
19237         * m4/dup2.m4: New file.
19238
19239         Module ftruncate.
19240         * m4/ftruncate.m4 (gl_PREREQ_FTRUNCATE): New macro.
19241         (jm_FUNC_FTRUNCATE): Use AC_REPLACE_FUNCS. Invoke gl_PREREQ_FTRUNCATE.
19242
19243         Module getgroups.
19244         * m4/getgroups.m4 (gl_PREREQ_GETGROUPS): New macro.
19245         (jm_FUNC_GETGROUPS): Use AC_FUNC_GETGROUPS. Invoke gl_PREREQ_GETGROUPS.
19246
19247         Module gettimeofday.
19248         * m4/gettimeofday.m4 (gl_PREREQ_GETTIMEOFDAY): New macro.
19249         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use onceonly macros. Invoke
19250         gl_PREREQ_GETTIMEOFDAY.
19251
19252         Module mkdir.
19253         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): New macro.
19254         (UTILS_FUNC_MKDIR_TRAILING_SLASH): Invoke gl_PREREQ_MKDIR.
19255
19256         Module mkstemp.
19257         * m4/mkstemp.m4 (gl_PREREQ_MKSTEMP): New macro.
19258         (jm_PREREQ_TEMPNAME): New macro, from prereq.m4. Also invoke
19259         jm_AC_TYPE_UINTMAX_T.
19260         (UTILS_FUNC_MKSTEMP): Invoke gl_PREREQ_MKSTEMP and jm_PREREQ_TEMPNAME.
19261
19262         Module stat.
19263         * m4/stat.m4 (gl_PREREQ_STAT): New macro.
19264         (jm_FUNC_STAT): Use AC_FUNC_STAT. Invoke gl_PREREQ_STAT.
19265
19266         Module lstat.
19267         * m4/lstat.m4 (gl_PREREQ_LSTAT): New macro.
19268         (jm_FUNC_LSTAT): Use AC_FUNC_LSTAT. Invoke gl_PREREQ_LSTAT.
19269
19270         Module timespec.
19271         * m4/timespec.m4 (gl_TIMESPEC): New macro.
19272         (jm_CHECK_TYPE_STRUCT_TIMESPEC): Add check for <sys/time.h>.
19273         * m4/st_mtim.m4: Indentation.
19274
19275         Module nanosleep.
19276         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): New macro.
19277         (jm_FUNC_NANOSLEEP): Add check for <sys/time.h>. Invoke
19278         gl_PREREQ_NANOSLEEP.
19279
19280         Module regex.
19281         * m4/regex.m4 (jm_PREREQ_REGEX): New macro.
19282         (jm_INCLUDED_REGEX): Invoke jm_PREREQ_REGEX.
19283         (gl_REGEX): New macro.
19284
19285         Module rename.
19286         * m4/rename.m4 (gl_PREREQ_RENAME): New macro.
19287         (vb_FUNC_RENAME): Invoke gl_PREREQ_RENAME.
19288
19289         Module rmdir.
19290         * m4/rmdir.m4: New file.
19291
19292         Module utime.
19293         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Use onceonly macros.
19294         * m4/utime.m4 (gl_PREREQ_UTIME): New macro.
19295         (jm_FUNC_UTIME): Invoke gl_PREREQ_UTIME.
19296
19297         Module dirname.
19298         * m4/dirname.m4: New file.
19299
19300         Module getopt.
19301         * m4/getopt.m4: New file.
19302
19303         Module unistd-safer.
19304         * m4/unistd-safer.m4: New file.
19305
19306         Module fnmatch.
19307         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Include <stdlib.h>, for exit()
19308         declaration.
19309         (gl_PREREQ_FNMATCH_EXTRA): New macro.
19310         (gl_FUNC_FNMATCH_POSIX): New macro.
19311         (gl_FUNC_FNMATCH_GNU): Renamed from AC_FUNC_FNMATCH_GNU. Invoke
19312         gl_PREREQ_FNMATCH_EXTRA. Use the function name gnu_fnmatch, not
19313         simply fnmatch.
19314
19315         Module exclude.
19316         * m4/exclude.m4: New file.
19317
19318         Module human.
19319         * m4/human.m4: New file.
19320
19321         Module acl.
19322         * m4/acl.m4: Nop.
19323
19324         Module backupfile.
19325         * m4/backupfile.m4: New file.
19326         * m4/d-ino.m4: Indentation.
19327
19328         Module fsusage.
19329         * m4/fsusage.m4 (gl_FSUSAGE): New macro.
19330         (jm_STATFS_TRUNCATES): New macro, from coreutils-4.5.4/configure.ac.
19331         (gl_PREREQ_FSUSAGE_EXTRA): New macro.
19332
19333         Module dirfd.
19334         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Invoke some AC_EGREP_CPP
19335         requirements.
19336
19337         Module euidaccess.
19338         * m4/euidaccess.m4: New file.
19339
19340         Module file-type.
19341         * m4/file-type.m4: New file.
19342
19343         Module fileblocks.
19344         * m4/fileblocks.m4: New file.
19345
19346         Module filemode.
19347         * m4/filemode.m4: New file.
19348
19349         Module isdir.
19350         * m4/isdir.m4: New file.
19351
19352         Module lchown.
19353         * m4/lchown.m4 (gl_PREREQ_LCHOWN): New macro.
19354         (jm_FUNC_LCHOWN): Invoke gl_PREREQ_LCHOWN.
19355
19356         Module makepath.
19357         * m4/makepath.m4: New file.
19358
19359         Module modechange.
19360         * m4/modechange.m4: New file.
19361
19362         Module mountlist.
19363         * m4/mountlist.m4: New file.
19364         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Use onceonly macros.
19365         Indentation.
19366
19367         Module path-concat.
19368         * m4/path-concat.m4: New file.
19369
19370         Module pathmax.
19371         * m4/pathmax.m4: New file.
19372
19373         Module same.
19374         * m4/same.m4: New file.
19375
19376         Module save-cwd.
19377         * m4/save-cwd.m4: New file.
19378
19379         Module savedir.
19380         * m4/savedir.m4: New file.
19381
19382         Module xgetcwd.
19383         * m4/xgetcwd.m4: New file.
19384         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Use onceonly macros.
19385
19386         Module xreadlink.
19387         * m4/xreadlink.m4: New file.
19388
19389         Module safe-read.
19390         * m4/safe-read.m4: New file.
19391
19392         Module safe-write.
19393         * m4/safe-write.m4: New file.
19394
19395         Module closeout.
19396         * m4/closeout.m4: New file.
19397
19398         Module stdio-safer.
19399         * m4/stdio-safer.m4: New file.
19400
19401         Module getpass.
19402         * m4/getpass.m4: New file.
19403
19404         Module getugroups.
19405         * m4/getugroups.m4: New file.
19406
19407         Module group-member.
19408         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): New macro.
19409         (jm_FUNC_GROUP_MEMBER): Invoke AC_GNU_SOURCE, gl_PREREQ_GROUP_MEMBER.
19410
19411         Module idcache.
19412         * m4/idcache.m4: New file.
19413
19414         Module userspec.
19415         * m4/userspec.m4: New file.
19416
19417         Module gettime.
19418         * m4/clock_time.m4: New file.
19419         * m4/gettime.m4: New file.
19420
19421         Module settime.
19422         * m4/settime.m4: New file.
19423
19424         Module posixtm.
19425         * m4/posixtm.m4: New file.
19426
19427         Module gethostname.
19428         * m4/gethostname.m4: New file.
19429
19430         Module canon-host.
19431         * m4/canon-host.m4: New file.
19432
19433         Module gettext.
19434         * m4/codeset.m4: New file, from gettext-0.11.5.
19435         * m4/gettext.m4: New file, from gettext-0.11.5.
19436         * m4/glibc21.m4: New file, from gettext-0.11.5.
19437         * m4/iconv.m4: New file, from gettext-0.11.5.
19438         * m4/intdiv0.m4: New file, from gettext-0.11.5.
19439         * m4/inttypes-pri.m4: New file, from gettext-0.11.5.
19440         * m4/inttypes.m4: New file, from gettext-0.11.5.
19441         * m4/inttypes_h.m4: New file, from gettext-0.11.5 with modifications.
19442         * m4/isc-posix.m4: New file, from gettext-0.11.5.
19443         * m4/lcmessage.m4: New file, from gettext-0.11.5.
19444         * m4/lib-ld.m4: New file, from gettext-0.11.5.
19445         * m4/lib-link.m4: New file, from gettext-0.11.5.
19446         * m4/lib-prefix.m4: New file, from gettext-0.11.5.
19447         * m4/progtest.m4: New file, from gettext-0.11.5.
19448         * m4/stdint_h.m4: New file, from gettext-0.11.5 with modifications.
19449         * m4/uintmax_t.m4: New file, from gettext-0.11.5 with modifications.
19450         * m4/ulonglong.m4: New file, from gettext-0.11.5 with modifications.
19451
19452         Module localcharset.
19453         * m4/localcharset.m4: New file.
19454
19455         Module hard-locale.
19456         * m4/hard-locale.m4: New file.
19457
19458         Module mbswidth.
19459         * m4/mbswidth.m4 (gl_MBSWIDTH): Renamed from jm_PREREQ_MBSWIDTH. Use
19460         onceonly macros.
19461         * m4/mbrtowc.m4: Add comment.
19462
19463         Module memcasecmp.
19464         * m4/memcasecmp.m4: New file.
19465
19466         Module memcoll.
19467         * m4/memcoll.m4: New file.
19468
19469         Module unicodeio.
19470         * m4/unicodeio.m4: New file.
19471
19472         Module rpmatch.
19473         * m4/rpmatch.m4: New file.
19474
19475         Module yesno.
19476         * m4/yesno.m4: New file.
19477
19478         Module exitfail.
19479         * m4/exitfail.m4: New file.
19480
19481         Module c-stack.
19482         * m4/c-stack.m4 (gl_C_STACK): New macro.
19483         (jm_PREREQ_C_STACK): Check for <sys/time.h>. Use onceonly macros.
19484
19485         Module error.
19486         * m4/error.m4 (gl_ERROR): New macro.
19487         (jm_PREREQ_ERROR): Use onceonly macros.
19488
19489         Module fatal.
19490         * m4/fatal.m4: New file.
19491
19492         Module getloadavg.
19493         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Use onceonly macros.
19494         (gl_FUNC_GETLOADAVG, gl_PREREQ_GETLOADAVG): New macros.
19495
19496         Module getpagesize.
19497         * m4/getpagesize.m4: New file.
19498
19499         Module getusershell.
19500         * m4/getusershell.m4: New file.
19501
19502         Module physmem.
19503         * m4/physmem.m4: New file.
19504
19505         Module posixver.
19506         * m4/posixver.m4: New file.
19507
19508         Module quotearg.
19509         * m4/quotearg.m4: New file.
19510
19511         Module quote.
19512         * m4/quote.m4: New file.
19513
19514         Module readutmp.
19515         * m4/readutmp.m4: New file, based on jm_PREREQ_READUTMP from prereq.m4.
19516
19517         Module sig2str.
19518         * m4/sig2str.m4: New file.
19519
19520         Other.
19521         * m4/longlong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Remove, moved to
19522         ulonglong.m4.
19523         * m4/intmax_t.m4: New file.
19524         * m4/d-type.m4: Indentation.
19525         * m4/jm-macros.m4: Update.
19526         * m4/prereq.m4 (jm_PREREQ): Update.
19527         (jm_PREREQ_ADDEXT): Remove, obsoleted by backupfile.m4.
19528         (jm_PREREQ_CANON_HOST): Remove, obsoleted by canon-host.m4.
19529         (jm_PREREQ_DIRNAME): Remove, obsoleted by dirname.m4.
19530         (jm_PREREQ_EXCLUDE): Remove, obsoleted by exclude.m4.
19531         (jm_PREREQ_GETPAGESIZE): Remove, obsoleted by getpagesize.m4.
19532         (jm_PREREQ_HARD_LOCALE): Remove, obsoleted by hard-locale.m4.
19533         (jm_PREREQ_HASH): Remove, obsoleted by hash.m4.
19534         (jm_PREREQ_HUMAN): Remove, obsoleted by human.m4.
19535         (jm_PREREQ_MEMCHR): Remove, obsoleted by memchr.m4.
19536         (jm_PREREQ_PHYSMEM): Remove, obsoleted by physmem.m4.
19537         (jm_PREREQ_POSIXVER): Remove, obsoleted by posixver.m4.
19538         (jm_PREREQ_QUOTEARG): Remove, obsoleted by quotearg.m4.
19539         (jm_PREREQ_READUTMP): Remove, obsoleted by readutmp.m4.
19540         (jm_PREREQ_REGEX): Remove, obsoleted by regex.m4.
19541         (jm_PREREQ_STRNLEN): Remove, obsoleted by strnlen.m4.
19542         (jm_PREREQ_TEMPNAME): Remove, obsoleted by mkstemp.m4.
19543         (jm_PREREQ_XGETCWD): Remove, obsoleted by xgetcwd.m4.
19544         (jm_PREREQ_XREADLINK): Remove, obsoleted by xreadlink.m4.
19545         * m4/readdir.m4 (jm_FUNC_READDIR): Use onceonly macros.
19546
19547 2002-12-24  Bruno Haible  <bruno@clisp.org>
19548
19549         * MODULES.txt: Update according to m4/ changes.
19550
19551         Module gettext.
19552         * config.rpath: New file, from gettext-0.11.5.
19553
19554         * modules/*: New module descriptions.
19555         * gnulib-tool: New file.
19556         * MODULES.html.sh: New file.
19557
19558 2002-12-21  Karl Berry  <karl@gnu.org>
19559
19560         * doc/fdl.texi: update to version 1.2.
19561
19562 2002-12-19  Karl Berry  <karl@gnu.org>
19563
19564         * config/config.guess: update from prep.
19565
19566 2002-12-18  Bruno Haible  <bruno@clisp.org>
19567
19568         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't test for localtime_r.
19569         * m4/jm-mktime.m4 (jm_FUNC_MKTIME): Likewise.
19570
19571 2002-12-17  Bruno Haible  <bruno@clisp.org>
19572
19573         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Remove checks for limits.h,
19574         stdlib.h, string.h.
19575
19576 2002-12-17  Bruno Haible  <bruno@clisp.org>
19577
19578         * lib/canon-host.c (strdup): Remove unused declaration.
19579
19580         * lib/fsusage.c: Include full_read.h.
19581         (get_fs_usage): Use full_read instead of safe_read.
19582
19583         * lib/utime.c (utime_null): Use SAFE_READ_ERROR.
19584
19585 2002-12-12  Karl Berry  <karl@gnu.org>
19586
19587         * config/config.guess: update from prep.
19588
19589 2002-12-11  Bruno Haible  <bruno@clisp.org>
19590
19591         * m4/setenv.m4: New file, from gettext-0.11.5.
19592
19593 2002-12-11  Bruno Haible  <bruno@clisp.org>
19594
19595         * lib/setenv.h: Rewritten to cope with systems that have setenv() but
19596         not unsetenv().
19597         * lib/setenv.c, unsetenv.c: Taken from glibc-2.2.4 with the following
19598         modifications:
19599
19600         2002-12-11  Bruno Haible  <bruno@clisp.org>
19601
19602                 * setenv.c (alloca): Fall back to malloc.
19603                 (freea): New macro.
19604                 (setenv): Use freea() to free memory allocated with alloca().
19605
19606         2002-11-13  Bruno Haible  <bruno@clisp.org>
19607
19608                 * setenv.c (compar_fn_t, __add_to_environ, setenv): Use ANSI C
19609                 function declarations.
19610                 * unsetenv.c (unsetenv): Likewise.
19611
19612         2002-03-04  Bruno Haible  <bruno@clisp.org>
19613
19614                 Portability to AIX 4.3.3.
19615                 * unsetenv.c: New file, extracted from setenv.c.
19616                 * setenv.c: Move the unsetenv() function to unsetenv.c.
19617
19618         2001-12-20  Bruno Haible  <bruno@clisp.org>
19619
19620                 * setenv.c (__add_to_environ): Don't call realloc(NULL,...),
19621                 use malloc instead. For SunOS 4.
19622
19623         2001-12-11  Bruno Haible  <bruno@clisp.org>
19624
19625                 * setenv.c: Declare alloca.
19626                 (compar_fn_t): New typedef.
19627                 (KNOWN_VALUE, STORE_VALUE): Use it.
19628
19629         * lib/Makefile.am (libfetish_a_SOURCES): Add setenv.c, unsetenv.c,
19630         setenv.h.
19631
19632 2002-12-10  Paul Eggert  <eggert@twinsun.com>
19633
19634         Port exclude.c and exclude.h to more non-GNU systems, e.g. Solaris 7.
19635         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE, EXCLUDE_WILDCARDS):
19636         Choose values that are less likely to collide with system fnmatch
19637         options.
19638         * lib/exclude.c (FNM_CASEFOLD, FNM_LEADING_DIR): Define to 0 if not
19639         defined (e.g., a pure POSIX system).
19640         (EXCLUDE_macros_do_not_collide_with_FNM_macros): Use FNM_PATHNAME
19641         instead of FNM_FILE_NAME, for compatibility with pure POSIX sytems.
19642
19643 2002-12-06  Paul Eggert  <eggert@twinsun.com>
19644
19645         Undo the 2001-07-02 change for jm-glibc-io, as it was too much of
19646         a pain in practice to deal with generated m4 files.  This change
19647         goes together with the 2002-12-04 unlocked-io.h change in ../lib.
19648
19649         * m4/Makefile.am.in (Makefile.am): Don't mention jm-glibc-io.m4n
19650         and jm-glibc-io.m4, as they are no longer a special case.
19651         * m4/jm-glibc-io.m4: Rename from jm-glibc-io.m4n, and remove the
19652         kludge and the auto-generation stuff.  Check only whether the
19653         functions are declared, not whether they exist, since older hosts
19654         that don't declare the functions can't use the optimization anyway.
19655
19656 2002-12-06  Jim Meyering  <jim@meyering.net>
19657
19658         * lib/error.c: Be consistent: change `#ifndef _LIBC' to `#if !_LIBC'.
19659
19660         Merge in changes from libc's misc/error.c, in preparation
19661         for the merge of gnulib's changes back into libc.
19662
19663         * lib/error.c (_): Define only if not already defined.
19664         Move definition to follow all #include directives.
19665         Include unlocked-io.h only if !_LIBC.
19666         [_LIBC]: Include <libio/libioP.h>.
19667         [USE_IN_LIBIO]: Include <libio/iolibio.h>
19668         (fflush): Tweak definition to use INTUSE.
19669         (putc): Define.
19670
19671 2002-12-05  Paul Eggert  <eggert@twinsun.com>
19672
19673         * lib/alloca.c [defined emacs]: Include "lisp.h".
19674         (xalloc_die) [defined emacs]: New macro.
19675         (free) [defined emacs && defined EMACS_FREE]: Define to EMACS_FREE.
19676         [! defined emacs]: Include <xalloc.h>.
19677         (POINTER_TYPE) [!defined POINTER_TYPE]: New macro.
19678         (pointer): Typedef to POINTER_TYPE *.
19679         (malloc): Remove decl; we now always use xmalloc.
19680         (alloca): Use old-style definition, since Emacs needs this.
19681         Check for arithmetic overflow when computing combined size.
19682
19683 2002-12-04  Paul Eggert  <eggert@twinsun.com>
19684
19685         Do not generate unlocked-io.h automatically, since it's easier to
19686         maintain it by hand.
19687
19688         * lib/unlocked-io.h: New file, from GNU diffutils,
19689         but with proper copyright notice and attribution.
19690         * lib/gen-uio: Remove.
19691         * lib/Makefile.am: Add copyright notice.
19692         (libfetish_a_SOURCES): Add unlocked-io.h.
19693         (BUILT_SOURCES, all-local): Remove unlocked-io.h.
19694         (DISTCLEANFILES, io_functions): Remove macros.
19695         (EXTRA_DIST): Remove gen_uio.
19696         (unlocked-io.h): Remove rule.
19697
19698 2002-12-04  Jim Meyering  <jim@meyering.net>
19699
19700         Reflect the fact that stat.c and lstat.c are no longer generated.
19701         * lib/Makefile.am (BUILT_SOURCES): Remove stat.c and lstat.c.
19702         (DISTCLEANFILES): Likewise.
19703         (EXTRA_DIST): Likewise.
19704         (all_local): Don't depend on stat.c or lstat.c.
19705         (stat.c, lstat.c): Remove rules.
19706         (EXTRA_DIST): Remove xstat.in.
19707
19708         * lib/xstat.in: Remove file.  Contents moved into stat.c.
19709         * lib/stat.c: New file.  Contents mostly from xstat.in.
19710         * lib/stat.c: Rework so that it may serve to define rpl_lstat, too.
19711         * lib/lstat.c: New file. Simply #define LSTAT and include stat.c.
19712
19713         * lib/safe-read.c: Rework so that it may serve to define safe_write,
19714         too.
19715         * lib/safe-write.c: Simply #define SAFE_WRITE and include safe-read.c.
19716
19717 2002-12-03  Jim Meyering  <jim@meyering.net>
19718
19719         * lib/safe-read.c, safe-write.c: Change variable names and comments,
19720         but not semantics, to minimize the differences between these two files.
19721         (safe_read): Change comment to mention SAFE_READ_ERROR.
19722
19723         * lib/safe-read.c (IS_EINTR): Define.
19724         (safe_read): Use IS_EINTR in place of in-function cpp directives.
19725
19726 2002-12-02  Jim Meyering  <jim@meyering.net>
19727
19728         * lib/safe-read.c (EINTR): Define.
19729         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
19730         (INT_MAX): Provide fallback.
19731         (safe_read): Rewrite to iterate IFF the read fails with EINTR.
19732
19733         * lib/safe-read.h (SAFE_READ_ERROR): Define.
19734
19735 2002-12-02  Bruno Haible  <bruno@clisp.org>
19736
19737         * lib/safe-write.c (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM):
19738         Define, taken from safe-read.c.
19739         (INT_MAX): Provide fallback.
19740         (safe_write): Rewrite to iterate IFF the write fails with EINTR.
19741         * lib/safe-write.h (SAFE_WRITE_ERROR): Define.
19742
19743         * lib/safe-read.c (EINTR): Remove definition.
19744         (safe_read): Don't use EINTR if it is absent.
19745
19746 2002-12-01  Jim Meyering  <jim@meyering.net>
19747
19748         * lib/safe-read.c: (safe_read): Also exit the loop when read returns
19749         zero.
19750         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM, INT_MAX): Define.
19751
19752 2002-11-27  Paul Eggert  <eggert@twinsun.com>
19753
19754         * lib/hash.c (hash_lookup, hash_get_first, hash_get_next,
19755         hash_find_entry, hash_rehash): Replace `if (limit <= value) abort ();'
19756         with `if (! (value < limit)) abort ();', for readability.
19757
19758 2002-11-26  Karl Berry  <karl@gnu.org>
19759
19760         * lib/strdup.c: copy from libc again, with jim's ok.
19761         * lib/.cppi-disable: re-add strdup.c
19762
19763 2002-11-25  Karl Berry  <karl@gnu.org>
19764
19765         * lib/strtoll.c: copy from libc, meaning we now #include <strtol.c>
19766         instead of "strtol.c".
19767
19768 2002-11-25  Karl Berry  <karl@gnu.org>
19769
19770         * config/install-sh: update from automake for variable quoting, $0 in
19771         error msgs, etc.
19772
19773         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): new entry.
19774         * config/srclist.txt ($LIBCSRC/sysdeps/generic/strtoll.c lib gpl): new
19775         entry.
19776
19777 2002-11-25  Jim Meyering  <jim@meyering.net>
19778
19779         * lib/mktime.c: Sync from libc, now that it has the latest fix.
19780
19781 2002-11-24  Karl Berry  <karl@gnu.org>
19782
19783         * lib/error.c, getopt.c, getopt.h, getopt1.c, obstack.c, regex.c,
19784         regex.h, strdup.c, strtoll.c, tempname.c: change license to gpl.
19785
19786 2002-11-24  Jim Meyering  <jim@meyering.net>
19787
19788         Update from coreutils:
19789
19790         * lib/mktime.c: Merge in changes from libc.
19791
19792         Avoid a link-time failure on some Linux systems.
19793         * lib/mktime.c (STATIC): Define to be empty (_LIBC) or `static'
19794         (otherwise).
19795         (__mon_yday): Declare with the STATIC attribute.
19796         (__mktime_internal): Likewise.
19797         Based on a report from Greg Schafer.
19798
19799 2002-11-23  Jim Meyering  <jim@meyering.net>
19800
19801         * lib/sig2str.c (str2signum, sig2str): Avoid a warning from gcc:
19802         Use `unsigned', not `int', as type of index.
19803
19804         * lib/xstat.in [@BEGIN_LSTAT_ONLY@]: Include <string.h>.
19805
19806         * lib/fsusage.c: Remove unneeded parentheses around operands of
19807         `defined'.
19808
19809 2002-11-22  Paul Eggert  <eggert@twinsun.com>
19810
19811         * lib/quotearg.h: Allow multiple inclusion by surrounding with
19812         "#ifndef QUOTEARG_H_".  Include <stddef.h>, for size_t,
19813         so that we can be included first.
19814         (PARAMS): Remove; we now assume C89 or later.  All uses removed.
19815         * lib/quotearg.c: Include quotearg.h immediately after config.h.
19816         No need to include stddef.h or sys/types.h any more.
19817         Surround local include files with "", not "<>".
19818         Assume HAVE_LIMITS_H unconditionally, as we assume C89.
19819         Similarly, assume HAVE_C_BACKSLASH_A, CHAR_BIT, UCHAR_MAX, UINT_MAX,
19820         HAVE_STDLIB_H, HAVE_STRING_H, STDC_HEADERS.
19821         (HAVE_MBSINIT): Undef if !HAVE_MBRTOWC.
19822         (mbsinit): Define to 1 if !defined mbsinit && !HAVE_MBSINIT.
19823         (ISPRINT): Remove; no longer needed now that we assume C89.
19824
19825         (clone_quoting_options, quotearg_buffer, quotearg_n_options):
19826         Preserve errno.
19827
19828         (quotearg_buffer_restyled, quotearg_n, quotearg_n_style,
19829         quotearg_char): Use SIZE_MAX rather than
19830         (size_t) -1 when we are talking about "infinity".
19831
19832         (quotearg_buffer_restyled): Fix bug when quoting trigraphs.
19833
19834 2002-11-22  Paul Eggert  <eggert@twinsun.com>
19835
19836         * lib/hash.c: Avoid use of <assert.h>, as the GNU Coding Standards
19837         hint that one should use `if (! x) abort ();' rather than `assert
19838         (x);', and anyway it's one less thing to worry about configuring.
19839         (hash_lookup, hash_get_first, hash_get_next, hash_find_entry,
19840         hash_rehash, hash_insert): Use abort rather than assert.
19841
19842 2002-11-22  Bruno Haible  <bruno@clisp.org>
19843
19844         * lib/safe-read.h: Assume C89. Add comments.
19845         (safe_read): Change return type to size_t.
19846         * lib/safe-read.c (safe_read): Change return type to size_t. Handle
19847         byte counts > SSIZE_MAX correctly.
19848         * lib/safe-write.h: New file.
19849         * lib/safe-write.c: New file.
19850         * lib/full-read.h: New file.
19851         * lib/full-read.c: New file.
19852         * lib/full-write.h: Assume C89. Add comments.
19853         * lib/full-write.c: Include safe-write.h.
19854         (full_write): Rewritten to use safe_write.
19855         Suggested by Jim Meyering and Paul Eggert.
19856
19857 2002-11-21  Jim Meyering  <jim@meyering.net>
19858
19859         * lib/strdup.c (strdup): Tweak comment and initial #if/#include.
19860
19861         Merge in changes from the coreutils.
19862
19863         2002-09-25  Paul Eggert  <eggert@twinsun.com>
19864         * lib/fsusage.c [! HAVE_INTTYPES_H && HAVE_STDINT_H] Include
19865         <stdint.h>.
19866         (UINTMAX_MAX) [!defined UINTMAX_MAX]: New macro.
19867         (PROPAGATE_ALL_ONES): Work even if X is unsigned and narrower than
19868         int.  Work more efficiently if X is the same width as uintmax_t.
19869         Do not compare X to -1, to avoid bogus compiler warning.
19870         (get_fs_usage): (uintmax_t) -1 -> UINTMAX_MAX to avoid a cast.
19871         Don't assume that f_frsize and f_bsize are the same type.
19872
19873         * lib/mountlist.c: #undef MNT_IGNORE before defining it, to avoid
19874         warning on FreeBSD.
19875
19876         * lib/makepath.c (make_path): Restore umask *before* creating the final
19877         component.
19878         (make_path): Minor reformatting.
19879
19880         * lib/xmalloc.c: Adjust to work with new autoconf macros,
19881         AC_FUNC_MALLOC and AC_FUNC_REALLOC: test #ifndef
19882         HAVE_MALLOC/HAVE_REALLOC.
19883
19884         * lib/mountlist.h (ME_DUMMY): Don't count entries of type `auto' as
19885         dummy ones.  At least on GNU/Linux systems, `auto' means something
19886         else.
19887         From Michael Stone.
19888
19889 2002-11-21  Bruno Haible  <bruno@clisp.org>
19890
19891         Remove case insensitive option matching.
19892         * lib/argmatch.h (argcasematch): Remove declaration.
19893         (ARGCASEMATCH): Remove macro.
19894         (__xargmatch_internal): Remove case_sensitive argument.
19895         (XARGMATCH): Update.
19896         (XARGCASEMATCH): Remove macro.
19897         * lib/argmatch.c (argmatch): Renamed from __argmatch_internal. Remove
19898         case_sensitive argument.
19899         (argcasematch): Remove function.
19900         (__xargmatch_internal): Remove case_sensitive argument.
19901         (main): Use XARGMATCH instead of XARGCASEMATCH.
19902
19903         * lib/xmalloc.c: Change compile-time error message. Add comment about
19904         required autoconf version.
19905
19906 2002-11-20  Paul Eggert  <eggert@twinsun.com>
19907
19908         Merge argmatch cleanups from Bison.  Assume C89.
19909
19910         * lib/argmatch.c: Include config.h here, not in argmatch.h.
19911         Include stdlib.h, for EXIT_FAILURE.
19912         Always include <string.h>, since we assume C89.
19913         (EXIT_FAILURE): Remove pre-C89 bug workaround.
19914         * lib/argmatch.h: Do not include <config.h> or <sys/types.h>.
19915         Include <stddef.h> instead, since it's all we need for size_t.
19916         (PARAMS): Remove.  All uses removed.
19917         (ARRAY_CARDINALITY): Do not bother to #undef.
19918         (ARRAY_CARDINALITY, ARGMATCH, ARGCASEMATCH, invalid_arg,
19919         ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
19920         Remove unnecessary parentheses.
19921         (ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
19922         Insert necessary parentheses.
19923         (ARGMATCH_CONSTRAINT, ARGMATCH_VERIFY): New macros.
19924         (ARGMATCH_ASSERT): Use ARGMATCH_CONSTRAINT.
19925
19926 2002-11-19  Bruno Haible  <bruno@clisp.org>
19927
19928         * lib/mbswidth.c: Include mbswidth.h right at the beginning.
19929         * lib/mbswidth.h: Include <stddef.h>, for size_t.
19930
19931         * lib/mbswidth.h (PARAMS): Remove macro.
19932         (mbswidth, mbsnwidth): Use ANSI C function declarations.
19933         * lib/mbswidth.c (mbswidth, mbsnwidth): Likewise.
19934
19935         * lib/gcd.h (PARAMS): Remove macro.
19936         (gcd): Use ANSI C function declarations.
19937         * lib/gcd.c (gcd): Likewise.
19938
19939 2002-11-15  Bruno Haible  <bruno@clisp.org>
19940
19941         * lib/strcspn.c: Include <stddef.h>.
19942         (strcspn): Use ANSI C function declaration. Change return type to
19943         size_t. Use NULL.
19944         * lib/strpbrk.c: Minimize diffs to glibc. Include <stddef.h>.
19945         (strpbrk): Use NULL.
19946         * lib/strpbrk.h (PARAMS): Remove macro.
19947         (strpbrk): Use ANSI C function declaration.
19948         * lib/strstr.c: Don't include <sys/types.h>.
19949         * lib/strstr.h (PARAMS): Remove macro.
19950         (strstr): Use ANSI C function declarations.
19951
19952 2002-11-14  Karl Berry  <karl@gnu.org>
19953
19954         * config/mkinstalldirs: `do' on separate line, instead of
19955         `for var; do'.
19956
19957 2002-11-06  Bruno Haible  <bruno@clisp.org>
19958
19959         * lib/gcd.h (gcd): Change argument type to 'unsigned long'.
19960         * lib/gcd.c (gcd): Likewise.
19961
19962 2002-11-05  Bruno Haible  <bruno@clisp.org>
19963
19964         * lib/gcd.h: New file, from gettext-0.11.5.
19965         * lib/gcd.c: New file, from gettext-0.11.5.
19966
19967 2002-11-05  Bruno Haible  <bruno@clisp.org>
19968
19969         * lib/error.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
19970         * lib/getopt.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
19971         * lib/obstack.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
19972         * lib/regex.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
19973
19974         * lib/argmatch.c: Include gettext.h instead of <locale.h> and
19975         <libintl.h>.
19976         * lib/makepath.c: Include gettext.h instead of <locale.h> and
19977         <libintl.h>.
19978
19979         * lib/closeout.c: Include gettext.h instead of <libintl.h>.
19980         * lib/human.c: Include gettext.h instead of <libintl.h>.
19981         * lib/quotearg.c: Include gettext.h instead of <libintl.h>.
19982         * lib/rpmatch.c: Include gettext.h instead of <libintl.h>.
19983         * lib/unicodeio.c: Include gettext.h instead of <libintl.h>.
19984         * lib/userspec.c: Include gettext.h instead of <libintl.h>.
19985         * lib/version-etc.c: Include gettext.h instead of <libintl.h>.
19986         * lib/xmalloc.c: Include gettext.h instead of <libintl.h>.
19987         (textdomain): Remove definition.
19988         * lib/xmemcoll.c: Include gettext.h instead of <libintl.h>.
19989
19990         * lib/long-options.c: Remove include of <libintl.h> and definition of
19991         _.
19992         * lib/same.c: Remove include of <libintl.h> and definition of _.
19993
19994 2002-11-04  Owen Taylor  <otaylor@redhat.com>
19995
19996         * lib/config.charset: A few additions for Solaris.
19997
19998 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
19999
20000         Make it possible to build libcharset with CC=gcc CFLAGS="-x c++".
20001         * lib/localcharset.c (locale_charset): Declare as extern "C".
20002
20003 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
20004
20005         * lib/config.charset: msdos in uk_UA uses CP1125.
20006
20007 2002-11-04  Bruno Haible  <bruno@clisp.org>
20008
20009         * lib/stpcpy.h: New file, from GNU gettext-0.11.5.
20010         * lib/strcase.h: New file, from GNU gettext-0.11.5.
20011         * lib/strpbrk.h: New file, from GNU gettext-0.11.5.
20012         * lib/strstr.h: New file, from GNU gettext-0.11.5.
20013         * lib/xgetcwd.h: New file, from GNU gettext-0.11.5.
20014
20015 2002-11-04  Bruno Haible  <bruno@clisp.org>
20016
20017         * lib/localcharset.c (locale_charset): Don't return an empty string.
20018
20019 2002-11-04  Bruno Haible  <bruno@clisp.org>
20020
20021         * lib/localcharset.c (get_charset_aliases): Add more Windows specific
20022         aliases.
20023
20024 2002-11-04  Bruno Haible  <bruno@clisp.org>
20025
20026         * lib/config.charset: Update for newest glibc. Add canonical names
20027         ISO-8859-14, KOI8-T, TCVN5712-1, GEORGIAN-PS.
20028
20029 2002-11-04  Bruno Haible  <bruno@clisp.org>
20030
20031         * lib/config.charset: Add support for NetBSD.
20032
20033 2002-11-04  Bruno Haible  <bruno@clisp.org>
20034
20035         * lib/config.charset [msdosdjgpp]: For Russian, use CP866.
20036
20037 2002-11-01  Bruno Haible  <bruno@clisp.org>
20038
20039         * configure.in: Add AC_CONFIG_AUX_DIR call.
20040         (AC_OUTPUT): Add m4/Makefile, lib/Makefile. Remove doc/Makefile,
20041         test/Makefile.
20042         * Makefile.in (subdirs): Add m4, lib. Remove doc, test.
20043
20044 2002-09-28  Karl Berry  <karl@gnu.org>
20045
20046         * config/srclist.txt: can't copy install-sh/mkinstalldirs from
20047         installed automake until the next release, since changes have been
20048         made.
20049
20050 2002-09-25  Karl Berry  <karl@gnu.org>
20051
20052         * lib/strdup.c: copy from libc/string (via ../config/srclist*).
20053         * lib/getopt*: copy from libc/posix.
20054         * lib/gettext.h: copy from gettext.
20055         * lib/.cppi-disable: add strdup.c, gettext.h.
20056
20057 2002-09-25  Karl Berry  <karl@gnu.org>
20058
20059         * config/srclist.txt: enable gettext.h check.
20060         * config/config.{guess,sub}: update from prep.
20061         * config/depcomp, install-sh, mdate-sh, missing, mkinstalldirs: update
20062                 from automake 1.6.3.
20063         See srclist*.
20064
20065 2002-08-23  Stefan Monnier  <monnier@cs.yale.edu>
20066
20067         * regex.c (PATFETCH): Remove the translating fetch.
20068         (PATFETCH_RAW): Rename to PATFETCH.
20069         (set_image_of_range): New fun.
20070         (SET_RANGE_TABLE_WORK_AREA): Use it.
20071         (regex_compile): Don't translate the pattern chars so eagerly.
20072         Only do it when inserting an `exactn' bytecode or when handling
20073         a char-range.
20074         (mutually_exclusive_p): Avoid empty statement.
20075
20076 2002-07-06  Jim Meyering  <meyering@lucent.com>
20077
20078         * m4/README: Don't mention Makefile.am.in.
20079         Outline how I've tested changes to .m4 files.  Yep, it's a pain.
20080
20081 2002-07-01  Jim Meyering  <meyering@lucent.com>
20082
20083         * lib/c-stack.c: Include sys/time.h.
20084         From Volker Borchert.
20085
20086 2002-06-26  Paul Eggert  <eggert@twinsun.com>
20087
20088         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for btowc.
20089
20090 2002-06-26  Paul Eggert  <eggert@twinsun.com>
20091
20092         * lib/fnmatch.c, fnmatch_loop.c (WIDE_CHAR_SUPPORT):
20093         New macro.  Use it uniformly instead of
20094         (defined HAVE_WCTYPE_H && defined HAVE_WCHAR_H).
20095         It also uses HAVE_BTOWC, to fix a porting bug on Solaris 2.5.1
20096         reported by Vin Shelton.
20097
20098 2002-06-22  Paul Eggert  <eggert@twinsun.com>
20099
20100         * lib/c-stack.h (segv_handler, c_stack_action) [! defined SA_SIGINFO]:
20101         Do not assume SA_SIGINFO behavior.
20102         Bug reported by Jim Meyering on NetBSD 1.5.2.
20103
20104 2002-06-22  Jim Meyering  <meyering@lucent.com>
20105
20106         * m4/c-stack.m4: New file, from diffutils-2.8.2.
20107         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_C_STACK.
20108
20109         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Don't require AC__GNU_SOURCE,
20110         now that configure.ac uses AC_GNU_SOURCE.
20111         (jm_MACROS): Rename: jm_FUNC_FNMATCH to AC_FUNC_FNMATCH_GNU.
20112         * m4/prereq.m4 (jm_PREREQ_EXCLUDE): Likewise, wrt jm_FUNC_FNMATCH.
20113
20114         Update to latest tools.  Suggestions from Paul Eggert.
20115         * m4/stdbool.m4: New file, from diffutils-2.8.2.
20116         * m4/gnu-source.m4: Update from diffutils-2.8.2.
20117         * m4/fnmatch.m4: Likewise.
20118         * m4/prereq.m4: Change each use of AC_CHECK_HEADERS(stdbool.h)
20119         to AC_HEADER_STDBOOL
20120
20121 2002-06-22  Jim Meyering  <meyering@lucent.com>
20122
20123         * lib/fnmatch.c (ISASCII, ISPRINT): Undefine, to avoid warning about
20124         redefinition due to Solaris 2.6's definition in /usr/include/sys/euc.h.
20125
20126 2002-06-22  Jim Meyering  <meyering@lucent.com>
20127
20128         * lib/c-stack.c, lib/c-stack.h: New files, from diffutils-2.8.2.
20129
20130         * lib/exitfail.c, exitfail.h: Likewise.
20131         * lib/Makefile.am (libfetish_a_SOURCES): Add exitfail.c and exitfail.h.
20132
20133         * lib/Makefile.am (libfetish_a_SOURCES): Add fnmatch_.h in place
20134         of fnmatch.h.
20135         (EXTRA_DIST): Add fnmatch_loop.c.
20136         (libfetish_a_SOURCES): Add c-stack.c and c-stack.h.
20137
20138         * lib/fnmatch_loop.c: New file, from diffutils-2.8.2.
20139         * lib/fnmatch.c: Update from diffutils-2.8.2.
20140         * lib/fnmatch_.h: New file.  From diffutils-2.8.2.
20141         * lib/fnmatch.h: Remove file.
20142
20143 2002-06-21  Jim Meyering  <meyering@lucent.com>
20144
20145         * m4/c-bs-a.m4: Add comment, from diffutils-2.8.2.
20146         * m4/mbrtowc.m4: Likewise.
20147
20148         * m4/mbstate_t.m4: Update from diffutils-2.8.2.
20149         * m4/mbswidth.m4: Reflect name change:
20150         s/AC_MBSTATE_T/AC_TYPE_MBSTATE_T.
20151         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
20152
20153         * m4/lib-link.m4: Update from gettext-0.11.2.
20154         * m4/gettext.m4: Likewise.
20155
20156         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for hurd.h.
20157         From Alfred M. Szmidt.
20158
20159 2002-06-18  Paul Eggert  <eggert@twinsun.com>
20160
20161         * lib/file-type.h: Report an error if neither S_ISREG nor
20162         S_IFREG is defined, instead of using a test specific to glibc
20163         2.2.  This should be safe, since POSIX requires S_ISREG and
20164         Unix Version 7 had S_IFREG.  We don't need to check for
20165         <sys/types.h> since we don't use any symbols that it defines.
20166
20167 2002-06-15  Richard Dawe  <richdawe@bigfoot.com>
20168
20169         * lib/Makefile.am (lstat.c, stat.c, .sin.sed): Use t-$@, rather than
20170         $@-t, so that each temporary file name is unique and valid in the first
20171         8 characters, for operation under DOS.
20172
20173 2002-06-15  Paul Eggert  <eggert@twinsun.com>
20174
20175         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for st_author.
20176
20177 2002-06-15  Jim Meyering  <meyering@lucent.com>
20178
20179         Work even with DJGPP 2.03, which lacks support for symlinks.
20180         From Richard Dawe.
20181         * lib/xstat.in (S_ISLNK): Define to 0 if neither S_ISLNK nor S_IFLNK
20182         is defined.
20183         * lib/lchown.c (S_ISLNK): Likewise.
20184
20185 2002-06-15  Jim Meyering  <meyering@lucent.com>
20186
20187         * lib/file-type.h (FILE_TYPE_H): Guard entire contents with #ifndef.
20188         For GNU libc 2.2 and newer, ensure that <sys/types.h> and <sys/stat.h>
20189         have been included before this file.
20190
20191 2002-06-14  Jim Meyering  <meyering@lucent.com>
20192
20193         * lib/file-type.h: Use the version from diffutils-2.8.2.
20194         * lib/file-type.c: Likewise.
20195
20196 2002-06-07  Jim Meyering  <meyering@lucent.com>
20197
20198         * m4/prereq.m4 (jm_PREREQ_STAT): Check for sys/param.h and sys/mount.h.
20199         They're needed at least for NetBSD 1.5.2.
20200         ($statxfs_includes): Include those same headers.
20201         ($statxfs_includes): Include sys/vfs.h if available.
20202         ($statxfs_includes): Likewise for sys/statvfs.h.
20203         Check for the following members in both structs statfs and statvfs:
20204         f_basetype, f_type, f_fsid.__val, f_namemax, f_namelen.
20205
20206 2002-06-01  Jim Meyering  <meyering@lucent.com>
20207
20208         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename macro:
20209         s/D_TYPE_IN_DIRENT/HAVE_STRUCT_DIRENT_D_TYPE/.
20210
20211 2002-05-28  Jim Meyering  <meyering@lucent.com>
20212
20213         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `mkdir', not `rmdir'.
20214         Reported by Volker Borchert.
20215
20216 2002-05-27  Jim Meyering  <meyering@lucent.com>
20217
20218         Fix a problem seen only on nonconforming systems whereby ls.c's
20219         use of localtime, and then of gettimeofday would cause trouble:
20220         the localtime call used to initialize rpl_gettimeofday's save
20221         mechanism would clobber ls's current local time information so
20222         that in any long listing the first file would always be listed
20223         with date 1970-01-01.  Analysis by Volker Borchert.
20224
20225         * lib/gettimeofday.c (localtime): Undefine.
20226         (rpl_localtime): New function.
20227
20228 2002-05-27  Jim Meyering  <meyering@lucent.com>
20229
20230         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Also replace
20231         localtime.
20232
20233         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `rmdir' so we don't try to
20234         use the replacement function; it wouldn't resolve at link time.
20235         Reported by Volker Borchert.
20236
20237 2002-05-22  Jim Meyering  <meyering@lucent.com>
20238
20239         * lib/Makefile.am (libfetish_a_SOURCES): Add file-type.c and
20240         file-type.h.
20241         * lib/file-type.h: New file.
20242         * lib/file-type.c (file_type): New file/function.  Extracted from
20243         diffutils.
20244
20245 2002-04-30  Jim Meyering  <meyering@lucent.com>
20246
20247         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_STAT.
20248
20249 2002-04-29  Paul Eggert  <eggert@twinsun.com>
20250
20251         * m4/prereq.m4 (jm_PREREQ_SIG2STR): Remove; all callers changed.
20252
20253 2002-04-29  Paul Eggert  <eggert@twinsun.com>
20254
20255         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): Check for stdlib.h.
20256         Do not check for alloca.h (no longer used) or stdbool.h (was never
20257         used?).  Add AM_C_PROTOTYPES since hard-locale.h uses it.
20258
20259 2002-04-29  Paul Eggert  <eggert@twinsun.com>
20260
20261         * lib/hard-locale.c: Upgrade to version used in GNU Diffutils 2.8.1.
20262
20263 2002-04-29  Jim Meyering  <meyering@lucent.com>
20264
20265         * m4/jm-macros.m4 (jm_MACROS): Remove use of AC_FUNC_STRNLEN.
20266         * m4/prereq.m4: Add jm_PREREQ_STRNLEN.
20267         Use AC_FUNC_STRNLEN here instead.
20268
20269         * m4/jm-macros.m4: Don't AC_REQUIRE([AC_PROG_CC_STDC]).
20270         With autoconf-2.53a, it's part of AC_PROG_CC.
20271
20272 2002-04-28  Paul Eggert  <eggert@twinsun.com>
20273
20274         * m4/jm-macros.m4 (jm_MACROS): Add AC_REPLACE_FUNCS(sig2str).
20275         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_SIG2STR.
20276
20277 2002-04-28  Paul Eggert  <eggert@twinsun.com>
20278
20279         * lib/sig2str.h, lib/sig2str.c: New files.
20280         * lib/Makefile.am (libfetish_a_SOURCES): Add sig2str.h.
20281
20282 2002-04-28  Paul Eggert  <eggert@twinsun.com>
20283
20284         * lib/sig2str.h (SIGNUM_BOUND): Do not use WTERMSIG, to avoid
20285         depending on <sys/wait.h> and WTERMSIG.  Default to 64 instead
20286         of 127, since 64 is the largest conceivable number for ancient
20287         nonstandard hosts.
20288         * lib/sig2str.c: Do not include <sys/wait.h>; no longer needed.
20289
20290 2002-04-28  Jim Meyering  <meyering@lucent.com>
20291
20292         * lib/sig2str.c (WTERMSIG): Remove definition (unused).
20293
20294 2002-04-24  Jim Meyering  <meyering@lucent.com>
20295
20296         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): New macro.
20297         (jm_PREREQ): Use it.
20298
20299         * m4/getloadavg.m4: Check for these headers: locale.h unistd.h
20300         mach/mach.h fcntl.h.
20301         Check for this function: setlocale.
20302
20303 2002-04-24  Jim Meyering  <meyering@lucent.com>
20304
20305         * lib/gettext.h: New file, from Gettext.
20306         * lib/Makefile.am (INCLUDES): Remove -I../intl.
20307         (libfetish_a_SOURCES): Add gettext.h.
20308
20309 2002-04-16  Jim Meyering  <meyering@lucent.com>
20310
20311         * m4/prereq.m4 (jm_PREREQ_READUTMP): Also check for these members:
20312         ut_pid, ut_id, ut_exit.
20313
20314 2002-04-16  Jim Meyering  <meyering@lucent.com>
20315
20316         * lib/readutmp.h (UT_TYPE): Remove definition (now in who.c).
20317         (HAVE_STRUCT_XTMP_UT_EXIT, HAVE_STRUCT_XTMP_UT_ID): Define.
20318         (HAVE_STRUCT_XTMP_UT_PID, HAVE_STRUCT_XTMP_UT_TYPE): Define.
20319
20320 2002-04-12  Jim Meyering  <meyering@lucent.com>
20321
20322         * m4/ls-mntd-fs.m4 (checking for getmntinfo function...): Remove
20323         now-bogus check for f_type in sys/mount.h.  Instead, just test for the
20324         existence of the getmntinfo function.  Needed for Darwin 5.3.
20325
20326         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Also detect when dirfd is a macro.
20327         This is necessary at least on Darwin 5.3.
20328
20329         * m4/jm-macros.m4: Don't AC_REPLACE(strnlen), now that we use
20330         AC_FUNC_STRNLEN.  Otherwise, we'd end up putting two copies of
20331         strnlen.o in the library, and that makes some versions of ranlib
20332         object.
20333
20334 2002-04-12  Jim Meyering  <meyering@lucent.com>
20335
20336         * lib/dirfd.h (dirfd): Elide prototype if dirfd is a macro.
20337
20338 2002-04-09  Jim Meyering  <meyering@lucent.com>
20339
20340         * m4/malloc.m4: (jm_FUNC_MALLOC): Change the `checking ...' message
20341         to be more precise.  Rather than saying we're checking whether the
20342         function `works', say what we're testing.
20343         * m4/realloc.m4 (jm_FUNC_REALLOC): Likewise.
20344         Reported by Bruno Haible.
20345
20346 2002-03-10  Jim Meyering  <meyering@lucent.com>
20347
20348         * lib/makepath.c (make_path): Remove a comma from a diagnostic.
20349         Suggestion from Santiago Vila.
20350
20351 2002-03-08  Jim Meyering  <meyering@lucent.com>
20352
20353         * lib/rename.c: Mention that this wrapper is needed also on
20354         mips-dec-ultrix4.4 systems.
20355
20356 2002-03-02  Jim Meyering  <meyering@lucent.com>
20357
20358         * lib/gettime.c (gettime): Test HAVE_CLOCK_GETTIME,
20359         not HAVE_CLOCK_SETTIME.
20360
20361 2002-02-27  Paul Eggert  <eggert@twinsun.com>
20362
20363         * m4/jm-macros.m4 (jm_MACROS): Do not replace stime; no longer used.
20364         Check for clock_settime.
20365
20366 2002-02-27  Paul Eggert  <eggert@twinsun.com>
20367
20368         * lib/nanosleep.h: Rename to....
20369         * lib/timespec.h: New name for nanosleep.h.  All uses changed.
20370
20371         * lib/gettime.c: New file.
20372         * lib/settime.c: New file.
20373         * lib/stime.c: Remove.
20374
20375         * lib/Makefile.am (libfetish_a_SOURCES): Add gettime.c, settime.c,
20376         timespec.h.  Remove nanosleep.h.
20377
20378 2002-02-25  Paul Eggert  <eggert@twinsun.com>
20379
20380         * m4/acl.m4: New file.
20381         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_ACL.
20382         Do not check for acl or sys/acl.h, as AC_FUNC_ACL does that now.
20383
20384 2002-02-25  Paul Eggert  <eggert@twinsun.com>
20385
20386         * lib/acl.c, lib/acl.h: New files.
20387         * lib/Makefile.am (libfetish_a_SOURCES): Add acl.h, acl.c.
20388
20389 2002-02-24  Jim Meyering  <meyering@lucent.com>
20390
20391         * lib/strnlen.c (strnlen): Define-away/undef so that an inconsistent
20392         prototype in string.h (on at least AIX4.3.2.0 w/gcc-2.95.3) doesn't
20393         cause trouble.  Reported by Nelson Beebe.
20394
20395 2002-02-23  Paul Eggert  <eggert@twinsun.com>
20396
20397         * lib/path-concat.c (xpath_concat): Reorder code to pacify
20398         compilers that don't know that xalloc_die never returns.
20399
20400 2002-02-20  Jim Meyering  <meyering@lucent.com>
20401
20402         * lib/getdate.c: Regenerate using bison-1.33.
20403
20404 2002-02-17  Jim Meyering  <meyering@lucent.com>
20405
20406         * config/config.guess (main): Don't use `head -1'; it's no longer
20407         portable. Use `sed 1q' instead.
20408
20409 2002-02-16  gettextize  <bug-gnu-gettext@gnu.org>
20410
20411         * m4/codeset.m4: Upgrade to gettext-0.11.
20412         * m4/gettext.m4: Upgrade to gettext-0.11.
20413         * m4/glibc21.m4: Upgrade to gettext-0.11.
20414         * m4/iconv.m4: Upgrade to gettext-0.11.
20415         * m4/isc-posix.m4: Upgrade to gettext-0.11.
20416         * m4/lcmessage.m4: Upgrade to gettext-0.11.
20417         * m4/lib-ld.m4: New file, from gettext-0.11.
20418         * m4/lib-link.m4: New file, from gettext-0.11.
20419         * m4/lib-prefix.m4: New file, from gettext-0.11.
20420         * m4/progtest.m4: Upgrade to gettext-0.11.
20421
20422 2002-02-15  Paul Eggert  <eggert@twinsun.com>
20423
20424         * m4/prereq.m4 (jm_PREREQ_POSIXVER): New macro.
20425         (jm_PREREQ): Use it.
20426
20427 2002-02-15  Paul Eggert  <eggert@twinsun.com>
20428
20429         * lib/posixver.c, lib/posixver.h: New files.
20430         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
20431
20432 2002-02-02  Paul Eggert  <eggert@twinsun.com>
20433             Bruno Haible  <bruno@clisp.org>
20434
20435         * lib/unicodeio.h (print_unicode_char): Add exit_on_error argument.
20436         (fwrite_success_callback): New declaration.
20437         * lib/unicodeio.c (unicode_to_mb): New function, extracted from
20438         print_unicode_char. Call failure callback instead of error.
20439         (fwrite_success_callback): New function.
20440         (exit_failure_callback): New function.
20441         (fallback_failure_callback): New function.
20442         (print_unicode_char): Call unicode_to_mb.
20443
20444 2002-01-26  Jim Meyering  <meyering@lucent.com>
20445
20446         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.52g.
20447         * m4/strnlen.m4: Remove file, now that it's part of autoconf.
20448
20449 2002-01-26  Jim Meyering  <meyering@lucent.com>
20450
20451         * lib/Makefile.am (getdate$U.o): Depend on unlocked-io.h.
20452
20453 2002-01-22  Paul Eggert  <eggert@twinsun.com>
20454
20455         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_FSEEKO.
20456
20457 2002-01-22  Jim Meyering  <meyering@lucent.com>
20458
20459         * lib/Makefile.am (Makefile): Don't depend on $(BUILT_SOURCES).
20460         Otherwise, some versions of automake would omit the rule that makes
20461         Makefile from Makefile.in.
20462
20463 2002-01-21  Paul Eggert  <eggert@twinsun.com>
20464
20465         * lib/xmemcoll.h, lib/xmemcoll.c: New files.
20466         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
20467         * lib/memcoll.c: Include errno.h, and declare errno if not defined.
20468         (memcoll): Set errno to zero if there is no error.
20469
20470         * lib/quotearg.c (quotearg_buffer_restyled):
20471         Fix bug with quoting buffers containing NUL when backslashing escapes.
20472         This bug was exposed by the other changes in this patch.
20473         (quotearg_n_options): New arg ARGSIZE.
20474         All callers changed.
20475         (quoting_options_from_style): New function.
20476         (quotearg_n_style): Use it.
20477         (quotearg_n_style_mem): New function.
20478
20479         * lib/quotearg.h (quotearg_n_style_mem): New function.
20480
20481 2002-01-19  Jim Meyering  <meyering@lucent.com>
20482
20483         * m4/jm-macros.m4 (jm_MACROS): Use AC_FUNC_STRNLEN.
20484         Remove useless quotes: DF_PROG="df".
20485         * m4/strnlen.m4: New file.
20486
20487 2002-01-16  Paul Eggert  <eggert@twinsun.com>
20488
20489         * lib/backupfile.c (ISDIGIT): Comment fix.
20490         * lib/getdate.y (ISDIGIT): Likewise.
20491         * lib/posixtm.c (ISDIGIT, year): Likewise.
20492         * lib/strverscmp.c (ISDIGIT): Likewise.
20493         * lib/userspec.c (ISDIGIT): Likewise.
20494
20495 2002-01-16  Jim Meyering  <meyering@lucent.com>
20496
20497         * lib/getdate.y: Add three semicolons, each just before a closing
20498         brace. Bison (as of version 1.31) no longer papers over that mistake.
20499
20500 2002-01-05  Jim Meyering  <meyering@lucent.com>
20501
20502         * lib/version-etc.c (version_etc_copyright): Update copyright year.
20503
20504 2001-12-19  Paul Eggert  <eggert@twinsun.com>
20505
20506         * lib/closeout.c (close_stdout_status): If ferror (stdout), do
20507         not silently exit merely because the output buffer happens to
20508         have nothing pending.
20509
20510 2001-12-18  Paul Eggert  <eggert@twinsun.com>
20511
20512         See the big note in ../ChangeLog.
20513         * lib/human.c (suffixes): Prefer K to k for 1024.
20514         (generate_suffix_backwards): New function.
20515         (human_readable_inexact): Use it.
20516         * lib/xstrtol.c (__xstrtol): If there is no number but there
20517         is a valid suffix, assume 1.  "MB" now means decimal, "MiB" binary.
20518         Accept 'K' as well as 'k'.
20519
20520 2001-12-15  Jim Meyering  <meyering@lucent.com>
20521
20522         * lib/regex.h (__restrict_arr): Update from libc.
20523
20524         * lib/mountlist.h (ME_REMOTE): Recognize file systems of type smbfs
20525         as `remote' if the name starts with `//'.  Suggested by Michael Stone.
20526         (STREQ): Define.
20527
20528 2001-12-14  Jim Meyering  <meyering@lucent.com>
20529
20530         * m4/jm-macros.m4 (jm_MACROS): Check for iswspace.
20531         Suggestion from Bruno Haible.
20532
20533 2001-12-10  Jim Meyering  <meyering@lucent.com>
20534
20535         * lib/linebuffer.c: Remove explicit declarations of xmalloc and
20536         xrealloc, Instead, include "xalloc.h".
20537         (initbuffer): Don't cast xmalloc return value to char*.
20538         (readline): Reword comment.
20539         Don't cast xrealloc return value to char*
20540         Return NULL, not 0.
20541
20542 2001-12-09  Jim Meyering  <meyering@lucent.com>
20543
20544         * lib/modechange.c (mode_compile): Add cast to avoid pedantic warning
20545         about `signed and unsigned type in conditional expression'.
20546         * lib/posixtm.c (posix_time_parse): Likewise.
20547
20548         * lib/xreadlink.c (xreadlink): Add cast to avoid a pedantic warning.
20549
20550         * lib/readtokens.c (readtoken): Declare an index to be of type unsigned
20551         to avoid a pedantic warning.
20552
20553         * lib/getstr.c: Don't include assert.h.
20554         (getstr): Remove warning-evoking assertions.
20555         Return -1 if offset parameter is out of bounds.
20556         Change the type of a local from int to size_t.
20557
20558         * lib/strftime.c (my_strftime_localtime_r): Include this function
20559         definition in the `#if ! HAVE_TM_GMTOFF' block.
20560
20561         * lib/xgethostname.c: Remove declarations of xmalloc and xrealloc.
20562         Include xalloc.h instead.
20563
20564 2001-12-02  Jim Meyering  <meyering@lucent.com>
20565
20566         * lib/tempname.c: Don't declare getenv, thus reverting the change of
20567         2001-11-18.  It's no longer necessary, now that stdlib.h is always
20568         included.
20569
20570         * lib/regex.c [!__BOUNDED_POINTERS__]: Define away __bounded,
20571         __unbounded, and __ptrvalue.  Reported by Uwe H. Steinfeld.
20572
20573 2001-11-30  Akim Demaille  <akim@epita.fr>
20574
20575         * lib/xstrdup.c: Include xalloc.h, so that xstrdup is declared
20576         before being defined.
20577
20578 2001-11-27  Paul Eggert  <eggert@twinsun.com>
20579
20580         * lib/quotearg.h (quotearg_n, quotearg_n_style):
20581         First arg is int, not unsigned.
20582         * lib/quotearg.c (quotearg_n, quotearg_n_style): Likewise.
20583         (SIZE_MAX, UINT_MAX): New macros.
20584         (quotearg_n_options): Abort if N is negative.
20585         Avoid overflow check on hosts where size_t is 64 bits and int
20586         is 32 bits, as overflow is impossible there.
20587         Fix off-by-one typo that caused unnecessary reallocation.
20588
20589 2001-11-27  Jim Meyering  <meyering@lucent.com>
20590
20591         * lib/tempname.c: Merge with version from libc.
20592         * lib/regex.c: Likewise.
20593
20594         * lib/tempname.c: Include stdlib.h unconditionally.  On some old
20595         systems for which STDC_HEADERS is 0, it was not included, resulting in
20596         a warning about an integer-to-pointer conversion problem with getenv.
20597         Reported by Volker Borchert.
20598
20599 2001-11-26  Jim Meyering  <meyering@lucent.com>
20600
20601         * lib/gtod.h: Remove file.
20602         * lib/Makefile.am (libfetish_a_SOURCES): Remove gtod.h.
20603         * lib/gettimeofday.c: Don't include gtod.h.
20604         (GTOD_init): Remove function.
20605         (rpl_gettimeofday): Do its job here instead, rather than aborting.
20606         Suggestion from Volker Borchert.
20607
20608 2001-11-23  Jim Meyering  <meyering@lucent.com>
20609
20610         * lib/hash.h (struct hash_table): Don't define here.  Merely declare
20611         it.
20612         * lib/hash.c (struct hash_table): Define it here instead.
20613
20614 2001-11-22  Jim Meyering  <meyering@lucent.com>
20615
20616         * lib/hash.h: Bracket contents of file with #ifndef HASH_H_ ... #endif.
20617
20618 2001-11-20  Jim Meyering  <meyering@lucent.com>
20619
20620         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Update comment to reflect that
20621         SunOS 4.1.4 and Solaris 2.5.1 lose, too.
20622
20623 2001-11-19  Jim Meyering  <meyering@lucent.com>
20624
20625         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Don't bother with a temporary
20626         directory.  Use "conftestXXXXXX" as the template.
20627         Suggestion from Paul Eggert.
20628
20629         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Close each descriptor
20630         immediately, so the test doesn't mistakenly hit the max-open-files
20631         limit.
20632
20633 2001-11-18  Paul Eggert  <eggert@twinsun.com>
20634
20635         * lib/tempname.c (TMP_MAX): Remove; no longer needed.
20636         (TEMPORARIES): New macro.
20637         (__gen_tempname): Use TEMPORARIES rather than TMP_MAX.  This
20638         removes an artificial limitation (e.g. HP-UX 10.20, where
20639         TMP_MAX is 17576).
20640
20641 2001-11-18  Jim Meyering  <meyering@lucent.com>
20642
20643         * m4/prereq.m4 (jm_PREREQ_TEMPNAME): Check for declaration of getenv.
20644
20645 2001-11-18  Jim Meyering  <meyering@lucent.com>
20646
20647         * lib/tempname.c [!HAVE_DECL_GETENV]: Declare getenv to avoid warning
20648         on SunOS 4.
20649
20650         * lib/Makefile.am (Makefile): Depend on $(BUILT_SOURCES), so those
20651         files will be created before anything else.
20652
20653 2001-11-17  Paul Eggert  <eggert@twinsun.com>
20654
20655         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): Do not define
20656         WINSIZE_IN_PTEM if <termios.h> defines struct winsize.
20657
20658 2001-11-17  Jim Meyering  <meyering@lucent.com>
20659
20660         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): New file and macro.
20661         Prompted by a report from Bob Proulx.
20662
20663         * m4/jm-macros.m4 (jm_MACROS): Don't test for mkstemp here.
20664         Instead, require UTILS_FUNC_MKSTEMP.
20665
20666 2001-11-17  Jim Meyering  <meyering@lucent.com>
20667
20668         * m4/jm-macros.m4 (jm_MACROS): Remove code to set POW_LIBM.
20669         Now, that's done as part of AC_FUNC_STRTOD.
20670
20671 2001-11-17  Jim Meyering  <meyering@lucent.com>
20672
20673         * lib/modechange.c (mode_adjust): Fix error introduced on 1999-04-26
20674         that made e.g., `chmod a=,o=w,g=o F' cause F to be group readable
20675         rather than group writable.  Patch by Juan F. Codagnone.
20676
20677         * lib/readtokens.c: Remove explicit declarations of xmalloc and
20678         xrealloc, Instead, include "xalloc.h".
20679
20680         * lib/mountlist.c: Include unlocked-io.h after all system headers.
20681         Remove explicit declarations of xmalloc, xrealloc,
20682         and xstrdup.  Instead, include "xalloc.h".
20683
20684         * lib/argmatch.c, closeout.c, error.c, exclude.c: Include
20685         unlocked-io.h.
20686         * lib/fatal.c, getdate.y, getpass.c, getstr.c, getusershell.c:
20687         Likewise.
20688         * lib/mountlist.c, posixtm.c, readtokens.c, readutmp.c: Likewise.
20689
20690         * lib/regex.c, sha.c, version-etc.c, yesno.c: Likewise.
20691         Reported by Padraig Brady.
20692
20693         * lib/mkstemp.c: #undef mkstemp.
20694         Include config.h.
20695         (rpl_mkstemp): Rename from mkstemp.
20696         Protoize.
20697
20698 2001-11-16  Jim Meyering  <meyering@lucent.com>
20699
20700         * lib/physmem.c [HAVE_SYS_PSTAT_H]: Include <sys/pstat.h>.
20701         (physmem_total) [HAVE_PSTAT_GETSTATIC]: If sysconf couldn't be used to
20702         determine the amount of total physical memory, use pstat_getstatic.
20703         HPUX-11 doesn't define _SC_PHYS_PAGES.
20704         (physmem_available) [HAVE_PSTAT_GETSTATIC && HAVE_PSTAT_GETDYNAMIC]:
20705         If sysconf couldn't be used to determine the amount of available
20706         physical memory, use both pstat_getstatic and pstat_getdynamic.
20707         Based on a patch from Bob Proulx.
20708
20709 2001-11-10  Jim Meyering  <meyering@lucent.com>
20710
20711         * m4/prereq.m4 (jm_PREREQ_PHYSMEM): New function.
20712         (jm_PREREQ): Use it.
20713
20714 2001-11-09  Jim Meyering  <meyering@lucent.com>
20715
20716         * m4/jm-macros.m4: Require autoconf-2.52f.
20717         (AC_FUNC_ERROR_AT_LINE, AC_FUNC_OBSTACK, AC_FUNC_STRTOD):
20718         Use these AC_-prefixed names, not the AM_-prefixed ones.
20719
20720         * m4/afs.m4 (jm_AFS): Quote the body.  Patch by Akim Demaille.
20721
20722 2001-11-05  Jim Meyering  <meyering@lucent.com>
20723
20724         * lib/xstat.in (slash_aware_lstat): Correct a misleading comment.
20725
20726 2001-11-04  Jim Meyering  <meyering@lucent.com>
20727
20728         * m4/fpending.m4: Remove unused cruft that saved, set, and restored
20729         $DEFS.
20730
20731 2001-11-03  Jim Meyering  <meyering@lucent.com>
20732
20733         * m4/jm-glibc-io.m4n (jm_FUNC_GLIBC_UNLOCKED_IO): Quote first arg
20734         of AC_DEFUN.
20735
20736         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Rework so dirfd.c doesn't have to
20737         know the name of the variable in the macro definition.
20738
20739 2001-11-03  Jim Meyering  <meyering@lucent.com>
20740
20741         * lib/argmatch.h (ARGMATCH_TO_ARGUMENT): Remove casts of first two args
20742         in argmatch_to_argument call.
20743
20744         * lib/dirfd.c (dirfd): Reflect the fact that DIR_TO_FD now takes an
20745         argument.
20746
20747         * lib/hash.c (hash_clear): Fix a bug that could lead to an infloop or
20748         e.g., a fault due to an attempt to free a NULL pointer.
20749
20750 2001-11-01  Jim Meyering  <meyering@lucent.com>
20751
20752         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): New macro.
20753         * m4/jm-macros.m4 (jm_MACROS): Require UTILS_FUNC_DIRFD.
20754
20755 2001-11-01  Jim Meyering  <meyering@lucent.com>
20756
20757         * lib/dirfd.c, lib/dirfd.h: New files.
20758         * lib/Makefile.am (libfetish_a_SOURCES): Add dirfd.h.
20759
20760         * lib/hash.c (hash_print) [TESTING]: Clean up.
20761
20762 2001-10-22  Paul Eggert  <eggert@twinsun.com>
20763
20764         * lib/hard-locale.c (alloca): Define to __builtin_alloca if __GNUC__,
20765         to avoid a warning if -Wall.
20766
20767 2001-10-22  Jeff Bailey  <jbailey@outpost.dnsalias.org>
20768
20769         * README: New file
20770         * doc/*: Add COPYING, COPYING.LIB, COPYING.DOC, fdl.texi
20771         (per RMS's instructions, this is now the canonical source)
20772         * lgpl/, gpl/: New directories.
20773
20774 2001-10-21  Paul Eggert  <eggert@twinsun.com>
20775
20776         * lib/regex.c (uintptr_t): Remove macro and decl; it's config.h's job.
20777
20778 2001-10-21  Jim Meyering  <meyering@lucent.com>
20779
20780         * lib/obstack.c (_): Honor the setting of ENABLE_NLS.  Otherwise,
20781         this code would end up calling gettext even in packages built
20782         with --disable-nls.
20783         * lib/getopt.c (_): Likewise.
20784         * lib/regex.c (_): Likewise.
20785
20786 2001-10-20  Paul Eggert  <eggert@twinsun.com>
20787
20788         * m4/error.m4 (jm_PREREQ_ERROR):
20789         Do not invoke AC_CHECK_FUNCS with strerror_r, as
20790         AC_FUNC_STRERROR_R does that.
20791         Check for strerror declaration.
20792
20793         * m4/strerror_r.m4: Add copyright notice, as nontrivial m4 files
20794         are supposed to have them these days.
20795         (AC_FUNC_STRERROR_R): Always do char* test, so that it gets cached.
20796         Merge changes from latest Autoconf CVS.
20797         Rename ac_cv_func_strerror_r_works to ac_cv_func_strerror_r_char_p,
20798         and rename HAVE_WORKING_STRERROR_R to STRERROR_R_CHAR_P, since
20799         POSIX decided to standardize on the int flavor of strerror_r.
20800
20801 2001-10-20  Paul Eggert  <eggert@twinsun.com>
20802
20803         * lib/error.c (strerror_r): Do not declare unless !_LIBC.
20804         Do not check for HAVE_DECL_STRERROR_R missing unless STRERROR_R_CHAR_P.
20805         Use strerror_r that is only a macro, even if it is not a function.
20806         (strerror): Check for HAVE_DECL_STRERROR before declaring.
20807         (private_strerror): Use prototypes, not old-style function definition.
20808         (print_errno_message): New function.
20809         Support the POSIX 'int'-flavored strerror_r, as well as the traditional
20810         char*-flavored one.
20811         (error_tail, error, error_at_line): Use it.
20812
20813 2001-10-11  Jim Meyering  <meyering@lucent.com>
20814
20815         * lib/argmatch.c (argmatch_invalid): Use quotearg_n_style (0, ...
20816         and quote_n (1, ... to avoid clobbering a buffer.
20817
20818 2001-10-05  Jim Meyering  <meyering@lucent.com>
20819
20820         * lib/Makefile.am: (libfetish_a_SOURCES): Add hash-pjw.c and
20821         hash-pjw.h.
20822         * lib/hash-pjw.c: New file (factored out of fileutils' remove.c).
20823         * lib/hash-pjw.h: New file.
20824
20825 2001-09-30  Jim Meyering  <meyering@lucent.com>
20826
20827         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): See if
20828         `struct fsstat' has the `f_fstypename' member.
20829         Use that to define FS_TYPE, which is now used to make
20830         the getfsstat link test tighter.
20831
20832 2001-09-30  Jim Meyering  <meyering@lucent.com>
20833
20834         * lib/mountlist.c [MOUNTED_GETFSSTAT]:
20835         Include <sys/ucred.h>, for Apple Darwin.
20836         Include sys/mount.h and sys/fs_types.h only if available.
20837         (FS_TYPE): Define.
20838         (read_filesystem_list): Use FS_TYPE.
20839
20840 2001-09-29  Paul Eggert  <eggert@twinsun.com>
20841
20842         * lib/exclude.c (excluded_filename): 0 -> false, since it's
20843         a boolean context.
20844
20845 2001-09-29  Jim Meyering  <meyering@lucent.com>
20846
20847         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
20848         [one-argument getmntent function]): Include stdio.h before mntent.h.
20849         SunOS 4.1.x needs it for the declaration of `FILE'.
20850         Patch by Volker Borchert.
20851
20852         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
20853         Check for these headers: sys/param.h sys/ucred.h sys/mount.h
20854         sys/fs_types.h, and make the link-test for getfsstat guard #include
20855         directives with appropriate #if HAVE_*_H tests so that we can
20856         detect getfsstat on Apple Darwin1.3.7 systems.
20857         Reported by Nelson Beebe.
20858         Fix harmless typo in cache variable name: s/getsstat/getfsstat/.
20859
20860 2001-09-28  Paul Eggert  <eggert@twinsun.com>
20861
20862         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
20863         #defines strtoimax.  Also treat the other strto* functions
20864         like strtoimax.
20865
20866         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
20867         Check for strtoul and strtoumax,
20868         as those declarations are made even in the signed case.
20869         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX):
20870         Likewise, for strtol and strtoimax.
20871
20872 2001-09-28  Paul Eggert  <eggert@twinsun.com>
20873
20874         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
20875         #defines strtoimax.  Also treat the other strto* functions
20876         like strtoimax.
20877
20878         * lib/xstrtol.c (strtol): Do not declare if HAVE_DECL_STRTOL.
20879         (strtoul): Do not declare if HAVE_DECL_STRTOUL.
20880         (strtoimax, strtoumax): Do not declare if already defined as a macro.
20881
20882 2001-09-26  Jim Meyering  <meyering@lucent.com>
20883
20884         Most macros in unlocked-io.h had the wrong number of arguments.
20885         * lib/gen-uio: New script.
20886         (USE_UNLOCKED_IO): Define to 1 if not already defined.
20887         * lib/unlocked-io.hin: Remove file.
20888         * lib/Makefile.am (unlocked-io.h): Rewrite to use a separate script,
20889         rather than trying to embed it here.
20890         (EXTRA_DIST): Add gen-uio.  Remove unlocked-io.hin
20891         Reported by Padraig Brady.
20892
20893 2001-09-25  Volker Borchert  <bt@teknon.de>
20894
20895         * lib/gettimeofday.c (rpl_gettimeofday): Declare local variable
20896         `result'.
20897
20898 2001-09-24  Jim Meyering  <meyering@lucent.com>
20899
20900         * m4/gettext.m4: Use the version from gettext-0.10.40, not CVS.
20901
20902 2001-09-23  Jim Meyering  <meyering@lucent.com>
20903
20904         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add a compile-test
20905         instead of the mere test for existence of mntent.h.  The latter
20906         would get a false-positive on AIX 3.4 systems.
20907         In the outer getmntent if-block, don't die if neither of the getmntent
20908         tests succeeds.  Instead, just fall through and continue with the
20909         remaining tests.
20910
20911 2001-09-23  Jim Meyering  <meyering@lucent.com>
20912
20913         * lib/mountlist.c: Remove useless parentheses in #if directives.
20914         (MOUNTED) [!defined MOUNTED]: Define to _PATH_MOUNTED, for when
20915         the deprecated MOUNTED symbol is no longer defined in mntent.h.
20916
20917 2001-09-22  Jim Meyering  <meyering@lucent.com>
20918
20919         * m4/gettext.m4: New file.  From gettext.
20920         * m4/lcmessage.m4: Sync with gettext -- this changes only comments.
20921         * m4/progtest.m4: Likewise
20922         * m4/isc-posix.m4: Decrement serial number to sync with gettext.
20923         * m4/glibc21.m4: Likewise.
20924
20925         * m4/libintl.m4: Remove.  No longer used.
20926
20927 2001-09-22  Jim Meyering  <meyering@lucent.com>
20928
20929         * lib/localcharset.c: Update from latest gettext.
20930         * lib/config.charset: Likewise.
20931
20932 2001-09-20  Jim Meyering  <meyering@lucent.com>
20933
20934         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX): Check for declaration of
20935         strtoimax.
20936         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check for declaration of
20937         strtoumax.
20938
20939 2001-09-20  Jim Meyering  <meyering@lucent.com>
20940
20941         * lib/xstrtol.c (strtoimax): Guard declaration with
20942         `#if !HAVE_DECL_STRTOIMAX', rather than just `#ifndef strtoimax'.
20943         The latter fails because some systems (at least rs6000-ibm-aix4.3.3.0)
20944         have their own, conflicting declaration of strtoimax in sys/inttypes.h.
20945         (strtoumax): Likewise, for completeness (it wasn't necessary).
20946
20947 2001-09-17  Paul Eggert  <eggert@twinsun.com>
20948
20949         * lib/strtoimax.c (HAVE_LONG_LONG):
20950         Redefine to HAVE_UNSIGNED_LONG_LONG if unsigned.
20951         (strtoimax): Use sizeof (long), not sizeof strtol (ptr, endptr, base),
20952         to work around bug in IBM C compiler.
20953
20954 2001-09-17  Jim Meyering  <meyering@lucent.com>
20955
20956         * m4/chown.m4, fstypename.m4, getgroups.m4, gettimeofday.m4,
20957         * m4/jm-mktime.m4, lstat.m4, malloc.m4, memcmp.m4, mkdir-slash.m4,
20958         * m4/nanosleep.m4, putenv.m4, readdir.m4, realloc.m4, rename.m4,
20959         * m4/st_dm_mode.m4, stat.m4, strerror_r.m4, timespec.m4, utimbuf.m4,
20960         * m4/utimes.m4: Use AC_DEFINE rather than AC_DEFINE_UNQUOTED,
20961         whenever the right hand side need not be expanded by the shell.
20962
20963 2001-09-16  Paul Eggert  <eggert@twinsun.com>
20964
20965         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): Remove test for GNU C
20966         library.  It's not correct, as some older glibcs are buggy.
20967         fnmatch wasn't fixed until glibc 2.2.
20968
20969         Use AC_DEFINE, not AC_DEFINE_UNQUOTED, as there's no
20970         special shell magic here.
20971
20972 2001-09-16  Jim Meyering  <meyering@lucent.com>
20973
20974         * m4/mkdir-slash.m4 (UTILS_FUNC_MKDIR_TRAILING_SLASH): New file/macro.
20975         * m4/jm-macros.m4: Require it.
20976
20977 2001-09-16  Jim Meyering  <meyering@lucent.com>
20978
20979         * lib/mkdir.c: New file.
20980
20981 2001-09-15  Jim Meyering  <meyering@lucent.com>
20982
20983         * m4/jm-macros.m4: Check for help2man.
20984
20985 2001-09-11  Jim Meyering  <meyering@lucent.com>
20986
20987         * m4/host-os.m4 (UTILS_HOST_OS): New file/macro.
20988         The body, by Paul Eggert, was moved here from configure.in.
20989         * m4/jm-macros.m4: Require UTILS_HOST_OS.
20990
20991 2001-09-04  Paul Eggert  <eggert@twinsun.com>
20992
20993         * m4/prereq.m4 (jm_PREREQ_XREADLINK): New macro.
20994         (jm_PREREQ): Use it.
20995
20996 2001-09-04  Paul Eggert  <eggert@twinsun.com>
20997
20998         * lib/xreadlink.c (xreadlink): Omit size_t* arg.  All uses changed.
20999         Use ssize_t, not int, to store result of readlink.
21000         Check for ssize_t overflow as well as size_t overflow,
21001         as POSIX says the result of readlink is implementation-defined
21002         when ssize_t overflows.
21003         Remove unnecessary cast to char*.
21004         Use free+malloc instead of realloc, as the storage doesn't need
21005         to be preserved and it's clearer and can be more efficient that way.
21006         (SIZE_MAX, SSIZE_MAX): New macros, if <limits.h> doesn't declare.
21007         * lib/xreadlink.h (xreadlink): Update prototype.
21008
21009 2001-09-04  Paul Eggert  <eggert@twinsun.com>
21010
21011         * lib/xgetcwd.c: Revert some of the previous change; intead,
21012         fix the HAVE_GETCWD_NULL code to behave more like the
21013         !HAVE_GETCWD_NULL code used to.
21014
21015         Include "xalloc.h".
21016         (xgetcwd): Do not return NULL when memory is exhausted; instead,
21017         invoke xalloc_die.
21018
21019 2001-09-03  Paul Eggert  <eggert@twinsun.com>
21020
21021         * m4/prereq.m4 (jm_PREREQ_XGETCWD): Check for limits.h and
21022         sys/param.h, as pathmax.h includes them.
21023
21024 2001-09-03  Paul Eggert  <eggert@twinsun.com>
21025
21026         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_XGETCWD.
21027         (jm_PREREQ_XGETCWD): New macro.
21028
21029         * m4/getcwd.m4: New file.
21030
21031 2001-09-03  Paul Eggert  <eggert@twinsun.com>
21032
21033         * lib/xgetcwd.c: Fix the !HAVE_GETCWD_NULL code to behave more
21034         like the HAVE_GETCWD_NULL code.
21035         Include pathmax.h if not HAVE_GETCWD.
21036         Do not include xalloc.h.
21037         (INITIAL_BUFFER_SIZE): New symbol.
21038         Do not use xmalloc / xrealloc, since the caller is responsible for
21039         handling errors.  Preserve errno around `free' during failure.
21040         Do not overrun buffer when using getwd.
21041
21042 2001-09-03  Paul Eggert  <eggert@twinsun.com>
21043
21044         * lib/xgetcwd.c (xgetcwd): Use HAVE_GETCWD_NULL, not (defined
21045         __GLIBC__ && __GLIBC__ >= 2), to decide whether to use
21046         getcwd (NULL, 0).
21047
21048 2001-09-03  Paul Eggert  <eggert@twinsun.com>
21049
21050         * lib/exclude.c (fnmatch_no_wildcards): Fix confusion between
21051         usage of FNM_CASEFOLD and FNM_LEADING_DIR.  The bug was
21052         spotted by Jim Meyering.
21053
21054 2001-09-03  Jim Meyering  <meyering@lucent.com>
21055
21056         * lib/xreadlink.c (xreadlink): Preserve errno around `free' during
21057         failure.
21058
21059 2001-09-02  Jim Meyering  <meyering@lucent.com>
21060
21061         * lib/error.c: Update from GNU libc.
21062
21063 2001-09-01  Jim Meyering  <meyering@lucent.com>
21064
21065         * m4/jm-macros.m4 (jm_MACROS): Check for canonicalize_file_name.
21066         Used by df.
21067
21068 2001-09-01  Jim Meyering  <meyering@lucent.com>
21069
21070         * lib/xreadlink.c: New file.
21071         * lib/xreadlink.h: New file.
21072         * lib/Makefile.am (libfetish_a_SOURCES): Add xreadlink.c and
21073         xreadlink.h.
21074
21075         * lib/regex.c (uintptr_t) [!_LIBC]: Define to private_uintptr_t, so it
21076         doesn't conflict with sparc Solaris 7's definition in
21077         /usr/include/sys/int_types.h.
21078
21079         * lib/exclude.c: Use `""', not `<>' to #include non-system header
21080         files.
21081         (fnmatch_no_wildcards): Rewrite not to use function names, strcasecmp
21082         and strncasecmp as r-values.  Unixware didn't have declarations.
21083
21084 2001-08-31  Paul Eggert  <eggert@twinsun.com>
21085
21086         * lib/xstrtol.h: Add copyright notice.
21087         (_DECLARE_XSTRTOL): Improve quality of diagnostic for
21088         LONGINT_INVALID_SUFFIX_CHAR.
21089
21090 2001-08-31  Paul Eggert  <eggert@twinsun.com>
21091
21092         * lib/xstrtol.c (strtoimax): New decl.
21093
21094 2001-08-31  Paul Eggert  <eggert@twinsun.com>
21095
21096         * lib/xgetcwd.c: Don't include pathmax.h.
21097         Include stdlib.h and unistd.h if available.
21098         Include xalloc.h.
21099         (xmalloc, xstrdup, free): Remove decls.
21100         (xgetcwd): Don't assume sizes fit in unsigned.
21101         Check for overflow when computing sizes.
21102         Simplify reallocation code.
21103
21104 2001-08-31  Paul Eggert  <eggert@twinsun.com>
21105
21106         * lib/savedir.c (savedir): Remove size parameter, as POSIX says that
21107         a directory's st_size can have an arbitrary value, so the old
21108         usage could waste an arbitrary amount of memory.  All uses
21109         changed.
21110         * lib/savedir.h: Update prototype.
21111
21112 2001-08-31  Paul Eggert  <eggert@twinsun.com>
21113
21114         * lib/Makefile.am (libfetish_a_SOURCES): Remove strtoxmax.c.
21115
21116         * lib/strtoimax.c: Renamed from strtoxmax.c, removing the
21117         old strtoimax.c.
21118
21119         Also, make the following further changes to make this file's
21120         configuration more similar to that of strtol.c:
21121         (UNSIGNED): Renamed from STRTOUXMAX_UNSIGNED.  All uses changed.
21122         (strtoumax, uintmax_t, strtoull, strtol): Remove.
21123         (intmax_t, strtoimax, strtol, strtoll): New macros, if UNSIGNED.
21124         (strtoimax): Renamed from strtoumax.  All uses of unsigned values
21125         changed to signed values.
21126
21127         And make the following changes as well:
21128         Fix copyright notice, as 1999 was missing.
21129         (verify): New macro.
21130         (strtoimax): Check sizes at compile-time, not run-time.
21131         Prefer strtol to strtoll if both work.
21132         (main): Remove; it was not that useful and was a pain to maintain.
21133
21134         * lib/strtoumax.c: Include strtoimax.c, not strtouxmax.c.
21135
21136 2001-08-31  Jim Meyering  <meyering@lucent.com>
21137
21138         * lib/xgetcwd.c (xgetcwd): Reorganize to avoid some duplication.
21139         Use an initial, malloc'd, buffer of length 128 rather than
21140         a statically allocated one of length 1024.
21141
21142 2001-08-30  Paul Eggert  <eggert@twinsun.com>
21143
21144         Simplify code, partly by assuming autoconf 2.52 semantics.
21145
21146         * m4/Makefile.am (EXTRA_DIST): Remove uintmax_t.m4.
21147
21148         * m4/inttypes.m4 (AC_PREREQ): Bump to 2.52.
21149         (jm_AC_HEADER_INTTYPES_H): Remove; now done by autoconf in 2.52.
21150         All uses removed.
21151         (jm_AC_TYPE_INTMAX_T, jm_AC_TYPE_UINTMAX_T):
21152         Move AC_REQUIRE to next-to-top level, to avoid confusion.
21153         Use 2.52's AC_CHECK_TYPE instead of merely looking for the header.
21154         * m4/prereq.m4 (jm_PREREQ_HUMAN): Don't require
21155         jm_AC_HEADER_INTTYPES_H.
21156         * m4/jm-macros.m4 (jm_MACROS): Likewise.
21157
21158         * m4/uintmax_t.m4: Remove, as it duplicates inttypes.m4.
21159
21160         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
21161         Quote first arg of AC_DEFUN.
21162         Require jm_AC_TYPE_UINTMAX_T and jm_AC_TYPE_UNSIGNED_LONG_LONG
21163         since they are needed to parse the include file even if we need
21164         only xstrtoimax.  Simplify logic behind the args to AC_REPLACE.
21165         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Likewise,
21166         but with opposite signedness.
21167
21168 2001-08-30  Paul Eggert  <eggert@twinsun.com>
21169
21170         Merge 'exclude' changes from tar 1.13.22.
21171         This fixes one or two unlikely storage allocation overflow bugs,
21172         but doesn't change user-visible behavior otherwise.
21173
21174 2001-08-30  Paul Eggert  <eggert@twinsun.com>
21175
21176         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_EXCLUDE.
21177         (jm_PREREQ_EXCLUDE): New macro.
21178
21179 2001-08-30  Paul Eggert  <eggert@twinsun.com>
21180
21181         * lib/quotearg.c: BSD/OS 4.1 wchar.h requires FILE and struct
21182         tm to be declared.
21183
21184 2001-08-30  Paul Eggert  <eggert@twinsun.com>
21185
21186         * lib/hash.c: Remove '2001' from copyright notice.
21187
21188 2001-08-30  Paul Eggert  <eggert@twinsun.com>
21189
21190         * lib/full-write.h: New file.
21191         * lib/Makefile.am (libfetish_a_SOURCES): Add full-write.h.
21192         * lib/full-write.c: Correct credits, as cccp.c no longer
21193         exists and anyway it was so heavily changed from the old cccp
21194         code as to be unrecognizable.  Include full-write.h.
21195         (full_write) Return size_t, with short writes meaning failure.
21196         All callers changed.  This fixes a bug with large buffers
21197         on 64-bit hosts.
21198         * lib/utime.c: Include full-write.h.
21199
21200 2001-08-30  Paul Eggert  <eggert@twinsun.com>
21201
21202         * lib/exclude.c (bool): Declare, perhaps by including stdbool.h.
21203         (<sys/types.h>): Include only if HAVE_SYS_TYPES_H.
21204         (<stdlib.h>, <string.h>, <strings.h>, <inttypes.h>, <stdint.h>):
21205         Include if available.
21206         (<xalloc.h>): Include
21207         (SIZE_MAX): Define if <stdint.h> or <inttypes.h> doesn't.
21208         (verify): New macro.  Use it to verify that EXCLUDE macros do not
21209         collide with FNM macros.
21210         (struct patopts): New struct.
21211         (struct exclude): Use it, as exclude patterns now come with options.
21212         (new_exclude): Support above changes.
21213         (new_exclude, add_exclude_file):
21214         Initial size must now be a power of two to simplify overflow checking.
21215         (free_exclude, fnmatch_no_wildcards): New function.
21216         (excluded_filename): No longer requires options arg, as the options
21217         are determined by add_exclude.  Now returns bool, not int.
21218         (excluded_filename, add_exclude):
21219         Add support for the fancy new exclusion options.
21220         (add_exclude, add_exclude_file): Now takes int options arg.
21221         Check for arithmetic overflow when computing sizes.
21222         (add_exclude_file): xrealloc might modify errno, so don't
21223         realloc until after errno might be used.
21224
21225         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE,EXCLUDE_WILDCARDS):
21226         New macros.
21227         (free_exclude): New decl.
21228         (add_exclude, add_exclude_file): Now takes int options arg.
21229         (excluded_filename): No longer requires options arg, as the options
21230         are determined by add_exclude.  Now returns bool, not int.
21231
21232 2001-08-30  Paul Eggert  <eggert@twinsun.com>
21233
21234         * lib/alloca.c (alloca): Arg is of type size_t, not unsigned.
21235
21236 2001-08-27  Jim Meyering  <meyering@lucent.com>
21237
21238         * lib/Makefile.am (libfetish_a_SOURCES): Add strtoxmax.c
21239
21240         * lib/version-etc.c (N_): Remove definition.
21241         Revert most of last change.
21242         Instead, simply don't mark the `Copyright...' string for translation.
21243         Based on advice from Paul Eggert.
21244
21245         * lib/strtoxmax.c: Tweak comment.
21246
21247 2001-08-26  Jim Meyering  <meyering@lucent.com>
21248
21249         * m4/jm-macros.m4: Require jm_AC_PREREQ_XSTRTOIMAX.
21250
21251         * m4/xstrtoimax.m4: New file.
21252         * m4/xstrtoumax.m4: Add comments explaining why we
21253         AC_REPLACE_FUNCS(strtol).
21254
21255 2001-08-26  Jim Meyering  <meyering@lucent.com>
21256
21257         * lib/version-etc.c (version_etc_copyright_fmt): Replace literal year
21258         of copyright with `%s' so translators don't get an untranslated
21259         message in 2002.
21260         (COPYRIGHT_YEAR): Define.
21261         (version_etc): Use fprintf rather than fputs.
21262         Suggestion from Ulrich Drepper.
21263
21264         * lib/Makefile.am (libfetish_a_SOURCES): Add xstrtoimax.c.
21265
21266         * lib/strtoll.c: New file, from GNU libc.
21267         * lib/xstrtoimax.c: New file.
21268
21269         * lib/xstrtol.h: Add xstrtoimax.
21270         * lib/strtoumax.c: New file.  Simply include "strtoumax.c".
21271         * lib/strtoimax.c: New file.  Likewise, but first define
21272         STRTOUXMAX_SIGNED.
21273
21274         * lib/strtoumax.c: Factor to work both for unsigned and signed types,
21275         ...
21276         * lib/strtoxmax.c: ... then renamed to this.
21277
21278 2001-08-18  Paul Eggert  <eggert@twinsun.com>
21279
21280         * m4/inttypes.m4: Add AC_PREREQ(2.13).
21281         (jm_AC_HEADER_INTTYPES_H): Test for intmax_t, too.
21282         (jm_AC_TYPE_INTMAX_T): New macro.
21283         (jm_AC_TYPE_UINTMAX_T): Moved here from uintmax_t.m4.
21284
21285         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): New macro.
21286
21287         * m4/longlong.m4: Renamed from ulonglong.m4.
21288         * m4/inttypes.m4: Renamed from inttypes_h.m4.
21289         * m4/uintmax_t.m4: Removed.
21290
21291 2001-08-13  Paul Eggert  <eggert@twinsun.com>
21292
21293         * lib/Makefile.am (unlocked-io.h): Do not append "_unlocked" twice.
21294         Port to Solaris 8, where 'sed' requires a space after the 'r'
21295         command, and where sh dislikes "$/".  Clean up the spacing a bit.
21296         Redirect output to $tmp just once.
21297
21298 2001-08-12  Paul Eggert  <eggert@sic.twinsun.com>
21299
21300         * lib/addext.c (<errno.h>): Include.
21301         (errno): Declare if not defined.
21302         (addext): Work correctly when pathconf returns -1 and leaves
21303         errno alone because there is no limit.  Also, work even if
21304         pathconf returns a value greater than SIZE_MAX.
21305
21306 2001-08-12  Jim Meyering  <meyering@lucent.com>
21307
21308         * m4/afs.m4, assert.m4, bison.m4, check-decl.m4, chown.m4, d-ino.m4,
21309         d-type.m4, dos.m4, error.m4, fnmatch.m4, fpending.m4, fstypename.m4,
21310         fsusage.m4, ftruncate.m4, getgroups.m4, glibc.m4, gnu-source.m4,
21311         group-member.m4, jm-glibc-io.m4, jm-macros.m4, jm-mktime.m4,
21312         jm-winsz1.m4, jm-winsz2.m4, lchown.m4, lib-check.m4, libintl.m4,
21313         link-follow.m4, ls-mntd-fs.m4, lstat.m4, malloc.m4, mbrtowc.m4,
21314         mbstate_t.m4, mbswidth.m4, memcmp.m4, nanosleep.m4, perl.m4,
21315         prereq.m4, putenv.m4, readdir.m4, realloc.m4, regex.m4, rename.m4,
21316         rmdir-errno.m4, search-libs.m4, st_dm_mode.m4, st_mtim.m4, stat.m4,
21317         strftime.m4, timespec.m4, unlink-busy.m4, uptime.m4, utimbuf.m4,
21318         utime.m4, utimes.m4, xstrtoumax.m4:
21319         Quote the first argument in each use of AC_DEFUN.
21320
21321 2001-08-12  Jim Meyering  <meyering@lucent.com>
21322
21323         * lib/xgetcwd.c (xgetcwd) [defined __GLIBC__ && __GLIBC__ >= 2]:
21324         Simply `return getcwd (NULL, 0);'.
21325         [! (defined __GLIBC__ && __GLIBC__ >= 2)]:
21326         Use 1300 as initial value for length, not PATH_MAX.
21327
21328         * lib/pathmax.h: Clean up cpp syntax.
21329
21330 2001-08-12  Jim Meyering  <meyering@lucent.com>
21331
21332         * lib/gettimeofday.c: New file.
21333         * lib/gtod.h: New file.
21334         * lib/Makefile.am (libfetish_a_SOURCES): Add gtod.h.
21335
21336 2001-08-05  Jim Meyering  <meyering@lucent.com>
21337
21338         * m4/jm-macros.m4: Require autoconf-2.52.
21339
21340 2001-08-04  Jim Meyering  <meyering@lucent.com>
21341
21342         * lib/error.h (__attribute__): Remove `|| __STRICT_ANSI__' from #if
21343         stmt, to get in sync with glibc.
21344
21345 2001-08-03  Paul Eggert  <eggert@twinsun.com>
21346
21347         The following changes are from gettext 0.10.39 as maintained by
21348         Bruno Haible.
21349
21350         * lib/mbswidth.h (MBSW_REJECT_UNPRINTABLE, MBSW_REJECT_INVALID):
21351         Renamed from MBSW_ACCEPT_UNPRINTABLE and MBSW_ACCEPT_INVALID
21352         with inverted sense.  All uses changed.
21353
21354         * lib/mbswidth.c: Don't include <limits.h>.
21355         Include <stdlib.h> and <string.h> unconditionally.
21356         (iswcntrl, mbsinit, ISCNTRL): New macros.
21357         (mbsnwidth): Use K&R style function declarations.
21358         Don't bother checking for MB_LEN_MAX == 1, since the compiler
21359         can optimize it when MB_CUR_MAX == 1.
21360         The width of control characters is zero, not 1.
21361
21362 2001-08-03  Paul Eggert  <eggert@twinsun.com>
21363
21364         The following changes are from gettext 0.10.39 as maintained by
21365         Bruno Haible, except that getline.m4 continues to use AC_LIBOBJ.
21366
21367         * m4/codeset.m4: Upgrade to serial AM1.
21368         (AM_LANGINFO_CODESET): Renamed from jm_LANGINFO_CODESET;
21369         all uses changed.  Quote first arg of AC_DEFUN.
21370         (am_cv_langinfo_codeset): Renamed from jm_cv_langinfo_codeset.
21371
21372         * m4/iconv.m4: Upgrade to serial AM2.
21373         (AM_ICONV): Renamed from jm_ICONV; all uses changed.
21374         Add --with-libconv-prefix.
21375         Quote first arg of AC_DEFUN.  Add description for ICONV_CONST.
21376         (am_cv_func_iconv): Renamed from jm_cv_func_iconv.
21377         (am_cv_lib_iconv): Renamed from jm_cv_lib_iconv.
21378         (am_cv_proto_iconv): Renamed from jm_cv_proto_iconv.
21379         * m4/jm-macros.m4 (jm_MACROS): Reflect s/jm_/AM_/ renamings.
21380
21381         * m4/c-bs-a.m4 (AC_C_BACKSLASH_A): Quote first arg of AC_DEFUN.
21382         * m4/getline.m4 (AM_FUNC_GETLINE): Likewise.
21383         * m4/glibc21.m4 (jm_GLIBC21): Likewise.
21384         * m4/inttypes_h.m4 (jm_AC_HEADER_INTTYPES_H): Likewise.
21385         * m4/isc-posix.m4 (AC_ISC_POSIX): Likewise.
21386         * m4/lcmessage.m4 (AM_LC_MESSAGES): Likewise.
21387         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
21388         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Likewise.
21389         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Likewise.
21390
21391         * m4/getline.m4 (AM_FUNC_GETLINE): Don't bother checking for
21392         string.h any more.
21393
21394         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): If not found, print "no",
21395         not the default value.
21396
21397         2001-06-25  Bruno Haible  <haible@clisp.cons.org>
21398         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Don't require AM_C_PROTOTYPES.
21399         Also check for mbsinit.  Needed for SCO 3.2v5.0.2.
21400         Also include <string.h>; this is where AIX 3.2.5 declares wcwidth.
21401         Also check for iswcntrl, used for wcwidth fallback.
21402         Use AC_TRY_COMPILE to emulate AC_CHECK_DECLS, for portability
21403         to Autoconf 2.13.
21404
21405 2001-08-03  Jim Meyering  <meyering@lucent.com>
21406
21407         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Use `#include', not `@%:@include',
21408         as it was in the original.  Reported by Paul Eggert.
21409
21410 2001-07-16  Jim Meyering  <meyering@lucent.com>
21411
21412         * m4/gettimeofday.m4: New file.
21413         Prompted by a report from Bernhard Baehr.
21414
21415 2001-07-15  Jim Meyering  <meyering@lucent.com>
21416
21417         * m4/Makefile.am.in (Makefile.am): Remove most of the unlocked-io.h
21418         stuff. Now it's in ../Makefile.cfg.
21419
21420 2001-07-15  Jim Meyering  <meyering@lucent.com>
21421
21422         * lib/Makefile.am (EXTRA_DIST): Add unlocked-io.hin.
21423         (BUILT_SOURCES): Add unlocked-io.h.
21424         (io_functions): Define.
21425         (unlocked-io.h): New rule.
21426         (DISTCLEANFILES): Add unlocked-io.h.
21427         (all-local): Depend on unlocked-io.h, to ensure it is created.
21428
21429         * lib/unlocked-io.hin: New file
21430
21431         * lib/regex.c: Update from glibc.
21432
21433 2001-07-05  Jim Meyering  <meyering@lucent.com>
21434
21435         * lib/Makefile.am (noinst_HEADERS): Remove definition, per new automake
21436         recommendation.
21437         (libfetish_a_SOURCES): Put all .h files here instead.
21438         Remove a thus-exposed (better checks in automake) duplicate and
21439         two unnecessary .h files.
21440
21441 2001-07-04  Jim Meyering  <meyering@lucent.com>
21442
21443         * m4/Makefile.am.in (glibc-io.struct): New target.  Rework the code
21444         that generates jm-glibc-io.m4 so that it doesn't trigger any make
21445         distcheck failure.
21446
21447 2001-07-02  Jim Meyering  <meyering@lucent.com>
21448
21449         The following changes were prompted by suggestions from Bruno Haible.
21450
21451         * m4/jm-glibc-io.m4n: New file, the template from which jm-glibc-io.m4
21452         is now generated.
21453         * m4/Makefile.am.in (Makefile.am): Include jm-glibc-io.m4n in emitted
21454         definition of EXTRA_DIST.
21455         (Makefile.am): Emit the dependency, `all-local: jm-glibc-io.m4' to
21456         ensure that the generated file is created/updated whenever the list
21457         of $(unlocked_functions) is changed.
21458         (jm-glibc-io.m4): New rule.
21459         (unlocked-io.h): New rule -- currently unused.
21460
21461 2001-06-24  Jim Meyering  <meyering@lucent.com>
21462
21463         * m4/regex.m4 (jm_INCLUDED_REGEX): Use a quadrigraph to represent an
21464         unmatched right bracket, rather than kludging it with an extra,
21465         falsely-matching quote in a comment.  Patch by Akim Demaille.
21466
21467 2001-06-11  Jim Meyering  <meyering@lucent.com>
21468
21469         * lib/regex.c: Update from GNU libc.
21470
21471 2001-05-27  Jim Meyering  <meyering@lucent.com>
21472
21473         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for ut_type in struct utmpx.
21474         Check for ut_type in struct utmp.
21475
21476 2001-05-27  Jim Meyering  <meyering@lucent.com>
21477
21478         * lib/readutmp.h (UT_TYPE): Define.
21479
21480 2001-05-24  Jim Meyering  <meyering@lucent.com>
21481
21482         * lib/argmatch.c: Include "quote.h".
21483         (argmatch_invalid): Remove explicit `' quotes.  Instead, use the
21484         quote function.  Reported by Göran Uddeborg.
21485
21486 2001-05-22  Jim Meyering  <meyering@lucent.com>
21487
21488         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't use AC_LIBOBJ(strftime),
21489         now that we use the package-supplied version unconditionally.
21490         (jm_FUNC_STRFTIME): Don't replace strftime, for the same reason.
21491
21492 2001-05-21  Jim Meyering  <meyering@lucent.com>
21493
21494         * m4/regex.m4: Change a couple backticks to single quotes to avoid
21495         shell syntax errors.
21496
21497 2001-05-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
21498
21499         * m4/dos.m4 (jm_AC_DOS): Check for _WIN32, __WIN32__, and __MSDOS__.
21500
21501 2001-05-20  Paul Eggert  <eggert@twinsun.com>
21502
21503         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME):
21504         Don't bother to check library strftime, since
21505         we'll be using our own my_strftime function anyway.
21506         Define my_strftime instead of strftime.
21507
21508 2001-05-20  Alexandre Duret-Lutz  <duret_g@epita.fr>
21509
21510         * lib/dirname.c (dir_name): Compute append_dot using path, not newpath
21511         which is not yet declared.
21512
21513 2001-05-15  Jim Meyering  <meyering@lucent.com>
21514
21515         * m4/regex.m4: Use proper quoting so brackets appear in the test
21516         program.
21517         Reported by, and with help from, Bruno Haible.
21518
21519 2001-05-13  Jim Meyering  <meyering@lucent.com>
21520
21521         * m4/jm-macros.m4 (major_t, minor_t): Define to unsigned int if
21522         undefined.
21523
21524 2001-05-11  Paul Eggert  <eggert@twinsun.com>
21525
21526         dirname code cleanup.  base_name now behaves more compatibly
21527         with POSIX basename when given file names that have trailing
21528         slashes, and similarly for dir_name.  Add new primitives
21529         base_len and dir_len.  Put the directory-name-related decls
21530         into dirname.h.
21531
21532         * lib/addext.c (ISSLASH, base_name): Remove; now in dirname.h.
21533         * lib/backupfile.c (base_name): Likewise.
21534         * lib/basename.c (FILESYSTEM_PREFIX_LEN, PARAMS, ISSLASH): Likewise.
21535         * lib/dirname.c (FILESYSTEM_PREFIX_LEN, ISSLASH): Likewise.
21536         * lib/makepath.c (strip_trailing_slashes): Likewise.
21537         * lib/path-concat.c (DIRECTORY_SEPARATOR, FILESYSTEM_PREFIX_LEN,
21538         ISSLASH): Likewise.
21539         * lib/rename.c (strip_trailing_slashes): Likewise.
21540         * lib/same.c (base_name): Likewise.
21541         * lib/stripslash.c (ISSLASH): Likewise.
21542
21543         * lib/addext.c: Include <dirname.h> after size_t is defined.
21544         * lib/backupfile.c: Likewise.
21545
21546         * lib/addext.c (addext): Use base_len to trim redundant
21547         trailing slashes instead of doing it ourselves.
21548         But do not trim the last slash if it is not redundant.
21549
21550         * lib/backupfile.c (find_backup_file_name,
21551         max_backup_version): Use base_len instead of rolling it ourselves.
21552         Handle the case of "" and (on DOS) "C:" correctly.
21553
21554         * lib/basename.c: Do not include <stdio.h>, <assert.h>; no longer
21555         needed. Include <string.h>, <dirname.h>.
21556         (base_name): Allow file names ending in slashes, other than names
21557         that are all slashes.  In this case, return the basename followed
21558         by the slashes.  This is more general, and can be used in places
21559         where the original base_name purposely had an assertion failure.
21560         (base_len): New function.
21561
21562         * lib/dirname.c: Include <string.h> instead of <stdlib.h>.
21563         Do not include <assert.h>; no longer needed.
21564         Include xalloc.h.
21565         (memrchr): Remove decl.
21566         (dir_name_r): Remove.
21567         (dir_len): Renamed from dirlen.  All callers changed.
21568         Rewrite in terms of base_name, for simplicity and consistency.
21569         (dir_name): Never return NULL.  All callers changed.
21570         Do not include <stdlib.h> in test program; no longer needed.
21571         return 0; is fine for test program.
21572
21573         * lib/dirname.h (DIRECTORY_SEPARATOR, ISSLASH, FILESYSTEM_PREFIX_LEN):
21574         New macros.
21575         (base_name, base_len, dir_len, strip_trailing_slashes): New decls.
21576
21577         * lib/path-concat.c (path_concat): Use base_len to compute
21578         base length, not strlen; this means we cannot rely on memcpy
21579         to null-terminate.
21580
21581         * lib/same.c (STREQ): Remove.
21582         (same_name): Handle the case where the basename ends in trailing '/'.
21583
21584         * lib/stripslash.c (strip_trailing_slashes): Return nonzero if
21585         a slash was stripped.  Do not strip the last slash after a
21586         file system prefix.
21587
21588 2001-05-11  Paul Eggert  <eggert@twinsun.com>
21589
21590         * lib/Makefile.am (libfetish_a_SOURCES):
21591         Add strftime.c, since we now compile it on all hosts.
21592
21593         * lib/strftime.c (my_strftime):
21594         Define to nstrftime if emacs, but only if my_strftime is not defined.
21595         (extra_args, extra_args_spec, extra_args_spec_iso): Rename from
21596         ut_argument, ut_argument_spec, ut_argument_spec_iso, respectively.
21597         Add one more extra argument: a nanoseconds value.
21598         All uses changed.
21599         (ns): New macro.
21600         (my_strftime function): Add %N format.
21601         (emacs_strftimeu): Renamed from emacs_strftime,
21602         with extra ut argument.
21603
21604 2001-05-09  Paul Eggert  <eggert@twinsun.com>
21605
21606         * m4/jm-macros.m4 (jm_MACROS): Do not check for fseeko; no longer used.
21607
21608 2001-04-21  Jim Meyering  <meyering@lucent.com>
21609
21610         * m4/rmdir-errno.m4: Write to a new file, so that a restrictive umask
21611         doesn't interfere.
21612
21613 2001-04-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
21614
21615         * m4/ftruncate.m4: Check for chsize.
21616         Link with ftruncate.o unconditionally if ftruncate is missing.
21617         This was required when cross-compiling to i586-mingw32msvc.
21618
21619 2001-04-08  Jim Meyering  <meyering@lucent.com>
21620
21621         * lib/getdate.y (get_date): Set tm_isdst to -1 to ensure that it is
21622         recomputed; that's necessary when the offset spans a DST transition.
21623         Patch by David J. MacKenzie.  Reported by Hon-Yin Kok.
21624
21625 2001-04-02  Jim Meyering  <meyering@lucent.com>
21626
21627         * lib/regex.h, regex.c: Update from GNU libc.
21628
21629 2001-03-24  Jim Meyering  <meyering@lucent.com>
21630
21631         * m4/jm-macros.m4: Require autoconf-2.49d.
21632
21633 2001-03-20  Bruno Haible  <haible@clisp.cons.org>
21634
21635         * m4/iconv.m4 (jm_ICONV): Recommend GNU libiconv.
21636
21637 2001-03-19  Paul Eggert  <eggert@twinsun.com>
21638
21639         * lib/version-etc.c (version_etc_copyright): Update to 2001.
21640
21641 2001-03-17  Jim Meyering  <meyering@lucent.com>
21642
21643         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Remove my copy of AC_FUNC_MEMCMP,
21644         now that the version in autoconf is equivalent.
21645         (jm_FUNC_MEMCMP): Adjust to use AC_FUNC_MEMCMP.
21646
21647         * m4/error.m4 (jm_PREREQ_ERROR): Invoke AC_FUNC_STRERROR_R.
21648         Suggestion from Akim Demaille.
21649
21650         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_TEMPNAME.
21651         (jm_PREREQ_TEMPNAME): New function.
21652
21653 2001-03-16  Paul Eggert  <eggert@twinsun.com>
21654
21655         * lib/tempname.c (uint64_t): Define to uintmax_t if
21656         not defined, and if UINT64_MAX is not defined.
21657         Required at least for Vax Ultrix4.3, which doesn't define uint64_t.
21658         Reported by John David Anglin.
21659
21660 2001-03-15  Bruno Haible  <haible@clisp.cons.org>
21661
21662         * lib/localcharset.c (locale_charset): Allow wildcard syntax. Also
21663         resolve alias if codeset is empty.
21664         * lib/config.charset (BeOS): Use wildcard syntax.
21665
21666 2001-03-13  Jim Meyering  <meyering@lucent.com>
21667
21668         * lib/path-concat.c (path_concat)
21669         [FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't insert a backslash when
21670         concatenating e.g., `C:' and `foo'.
21671         From Bruno Haible.
21672
21673 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
21674
21675         * lib/localcharset.c (locale_charset): Don't use
21676         setlocale(LC_CTYPE,NULL). Don't return NULL.
21677         * lib/unicodeio.c (print_unicode_char): Simplify accordingly.
21678
21679 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
21680
21681         * lib/config.charset: Update for FreeBSD 4.2 and OSF/1 5.1. Add
21682         support for DOS/DJGPP.
21683
21684 2001-03-01  Paul Eggert  <eggert@twinsun.com>
21685
21686         * m4/jm-macros.m4 (jm_MACROS): Use mkstemp replacement if the system
21687         lacks mkstemp.  Compile our own tempname.c if we compile our own
21688         mkstemp.c, as mkstemp relies on tempname.
21689
21690 2001-03-01  Jim Meyering  <meyering@lucent.com>
21691
21692         * m4/dos.m4 (jm_AC_DOS): Remove extra backslashes, now that
21693         AH_VERBATIM really does output its argument verbatim.
21694
21695 2001-02-28  Paul Eggert  <eggert@twinsun.com>
21696
21697         * lib/Makefile.am (libfetish_a_SOURCES):
21698         Add dup-safer.c, fopen-safer.c.
21699         (noinst_HEADERS): Add stdio-safer.h, unistd-safer.h.
21700
21701         * lib/dup-safer.c, lib/fopen-safer.c, lib/stdio-safer.h:
21702         * lib/unistd-safer.h: New files.
21703
21704 2001-02-25  Paul Eggert  <eggert@twinsun.com>
21705
21706         The mkstemp replacement is taken from glibc 2.2.2, with some
21707         portability fixes for use outside glibc, as follows:
21708
21709         * lib/tempname.c (struct_stat64): New macro.
21710         (direxists, __gen_tempname): Use it.
21711         This avoids a portability problem with Solaris 8.
21712
21713         * lib/tempname.c (<config.h>): Include if HAVE_CONFIG_H.
21714         (<stddef.h>, <stdint.h>, <string.h>):
21715         Include only if STDC_HEADERS || _LIBC.
21716         (<fcntl.h>): Include only if HAVE_FCNTL_H || _LIBC.
21717         (<unistd.h>): Include only if HAVE_UNISTD_H || _LIBC.
21718         (<sys/time.h>): Include only if HAVE_SYS_TIME_H || _LIBC.
21719         (__set_errno): Define this macro if <errno.h> doesn't.
21720         (P_tmpdir, TMP_MAX, __GT_FILE, __GT_BIGFILE, __GT_DIR, __GT_NOCREATE):
21721         Define these macros if <stdio.h> doesn't.
21722         (S_ISDIR, S_IRUSR, S_IWUSR, S_IXUSR):
21723         Define these macros if <sys/stat.h>
21724         doesn't.  Ignore <sys/stat.h> S_ISDIR if STAT_MACROS_BROKEN.
21725         (stat64, __getpid, __gettimeofday, __mkdir, __open, __open64, lxstat64,
21726         __xstat64): Define if not _LIBC.
21727         (__secure_getenv): Define if ! (HAVE___SECURE_GETENV || _LIBC).
21728         (__gen_tempname): Invoke gettimeofday only if
21729         HAVE_GETTIMEOFDAY || _LIBC;
21730         otherwise, fall back on plain "time".
21731         Use macros like S_IRUSR | S_IWUSR rather than octal values like 0600.
21732
21733         * lib/mkstemp.c (__GT_FILE): Define to zero if not defined.
21734
21735         * lib/mkstemp.c, lib/tempname.c: New files, taken from glibc 2.2.2.
21736
21737 2001-02-18  Paul Eggert  <eggert@twinsun.com>
21738
21739         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for sys/resource.h.
21740
21741 2001-02-17  Paul Eggert  <eggert@twinsun.com>
21742
21743         * m4/mbrtowc.m4: New file, defining jm_FUNC_MBRTOWC.
21744         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH):
21745         Use jm_FUNC_MBRTOWC, not AC_CHECK_FUNCS(mbrtowc).
21746         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
21747
21748 2001-02-17  Paul Eggert  <eggert@twinsun.com>
21749
21750         * lib/mbswidth.c, quotearg.c (mbrtowc, mbsinit):
21751         Remove workaround macros for hosts that have mbrtowc but not
21752         mbstate_t, as we now insist on proper declarations for both
21753         before using mbrtowc.
21754
21755 2001-02-17  Jim Meyering  <meyering@lucent.com>
21756
21757         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Don't check for
21758         getmntent via AC_CHECK_FUNCS, since that would get a `no' and disrupt
21759         further attempts by AC_FUNC_GETMNTENT to check with e.g., -lgen on
21760         UnixWare 7.1.1.
21761
21762         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Adapt to use AC_CACHE_CHECK etc.,
21763         rather than AC_CACHE_VAL.
21764
21765 2001-02-17  Jim Meyering  <meyering@lucent.com>
21766
21767         * lib/strtoul.c: Sync from GNU libc.  Use double quotes, not <...>
21768         around included file name.
21769
21770         * lib/strnlen.c (__strnlen): Merge in a change from GNU libc.
21771
21772         * lib/strftime.c: Update from GNU libc (the only changes were to
21773         comments).
21774
21775 2001-02-17  Jim Meyering  <meyering@lucent.com>
21776
21777         * lib/regex.c: Update from libc.
21778
21779 2001-02-17  Bruno Haible  <haible@clisp.cons.org>
21780
21781         * lib/mbswidth.h (mbswidth): Also define as macro, to avoid prototype
21782         clash.
21783
21784 2001-02-16  Paul Eggert  <eggert@twinsun.com>
21785
21786         * lib/alloca.c (malloc): Undef before defining, since stdlib.h
21787         may have defined it.  Needed for Encore Umax-3.0.9.16b systems.
21788         Reported by Mark Hounschell via Paul Eggert.
21789
21790 2001-02-07  Jim Meyering  <meyering@lucent.com>
21791
21792         * m4/regex.m4 (jm_INCLUDED_REGEX): Add a test for the latest bug.
21793
21794 2001-02-05  Jim Meyering  <meyering@lucent.com>
21795
21796         * m4/jm-macros.m4: Require autoconf-2.14d (not yet released), because
21797         it includes the patch required for `large file' support with at least
21798         HP-UX's 10.20 /bin/cc.
21799
21800 2001-02-03  Jim Meyering  <meyering@lucent.com>
21801
21802         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Restore prior use of
21803         AS_IF, now that it works once again (mysteriously).
21804         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
21805
21806 2001-01-30  Jim Meyering  <meyering@lucent.com>
21807
21808         Don't use filenames that are 8.3-equivalent to "conftest" on DOS.
21809         * m4/chown.m4: Rename conftestchown to conftest.chown.
21810         * m4/rename.m4: s/conftestdir/conftest.d1/ and
21811         s/conftestdir2/conftest.d2/.
21812         * m4/utimes.m4: s/conftestdata/conftest.data/
21813         Inspired by Pavel Roskin's change in autoconf.
21814
21815 2001-01-30  Bruno Haible  <haible@clisp.cons.org>
21816
21817         * lib/config.charset: Update for FreeBSD 4.2.
21818
21819 2001-01-27  Jim Meyering  <meyering@lucent.com>
21820
21821         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Open-code what was
21822         a use of AS_IF.
21823         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
21824
21825 2001-01-26  Jim Meyering  <meyering@lucent.com>
21826
21827         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Check for stddef.h, now that
21828         quotearg.c includes it.
21829
21830 2001-01-26  Jim Meyering  <meyering@lucent.com>
21831
21832         * lib/quotearg.c: Include stddef.h.
21833         * lib/quote.c: Include stddef.h.
21834         Reported by Axel Kittenberger.
21835
21836         * lib/xmalloc.c [HAVE_DONE_WORKING_MALLOC_CHECK]: Enclose error-evoking
21837         line in double quotes so that it evokes a better diagnostic.
21838         [HAVE_DONE_WORKING_REALLOC_CHECK]: Likewise.
21839         Reported by Axel Kittenberger.
21840
21841 2001-01-24  Stefan Monnier  <monnier@cs.yale.edu>
21842
21843         * regex.c (mutually_exclusive_p): Don't blindly handle `charset_not'
21844         as if it was a `charset'.
21845
21846 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
21847
21848         * m4/iconv.m4 (jm_ICONV): Also check whether the iconv declaration
21849         has const.
21850
21851 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
21852
21853         * lib/unicodeio.c (print_unicode_char): Cast the second iconv() arg,
21854         to avoid a warning.  Add back 'const' to inptr.
21855
21856 2001-01-20  Jim Meyering  <meyering@lucent.com>
21857
21858         Be sure that headers are checked before used in code compiled
21859         for the type checks.
21860         * m4/jm-macros.m4 (jm_MACROS): Remove all header checks.
21861         In place of that, invoke jm_CHECK_ALL_TYPES.
21862         (jm_CHECK_ALL_HEADERS): New functions with the above checks.
21863         (jm_CHECK_ALL_TYPES): Require jm_CHECK_ALL_HEADERS.
21864         Alan Iwi reported a build failure on an f300-fujitsu-uxpv4.1_ES;
21865         The check for ssize_t was mistakenly run before the test for unistd.h.
21866
21867         The configure-time check for stdbool.h was missing.
21868         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_HASH.
21869         (jm_PREREQ_HASH): New function.
21870
21871 2001-01-17  Jim Meyering  <meyering@lucent.com>
21872
21873         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use AS_IF, not AS_IFELSE,
21874         for autoconf-2.49c.
21875         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Likewise.
21876
21877 2001-01-16  Jim Meyering  <meyering@lucent.com>
21878
21879         * lib/basename.c: Include <stdio.h>, needed by assert on SunOS 4.
21880         From Bruno Haible.
21881
21882 2001-01-14  Jim Meyering  <meyering@lucent.com>
21883
21884         * m4/rename.m4: Use temporary directories named conftestdir{,2}, not
21885         foo and bar.  Create conftestdir/ in the script, not in the C code.
21886         Remove directories in the script, not in the C code.
21887         Remove conftestdir{,2} before trying to create the directory.
21888         Make the entire configure script fail if the mkdir fails.
21889
21890 2001-01-14  Jim Meyering  <meyering@lucent.com>
21891
21892         * lib/rename.c: New file.  From Volker Borchert.
21893         Include stdlib.h, string.h or strings.h, and xalloc.h.
21894         Use strip_trailing_slashes rather than open-coding it.
21895
21896 2001-01-03  Paul Eggert  <eggert@twinsun.com>
21897
21898         * lib/strftime.c: Sync with glibc time/strftime.c 1.81.
21899
21900 2001-01-03  Jim Meyering  <meyering@lucent.com>
21901
21902         * lib/unicodeio.c (print_unicode_char): Remove `const' from declaration
21903         of local `inptr' to avoid warning with some system declarations of
21904         iconv.
21905
21906 2001-01-02  Volker Borchert  <bt@teknon.de>
21907
21908         * m4/rename.m4: New file.
21909         * m4/jm-macros.m4 (jm_MACROS): Require vb_FUNC_RENAME.
21910
21911 2001-01-01  Jim Meyering  <meyering@lucent.com>
21912
21913         * m4/prereq.m4 (jm_PREREQ_READUTMP): Include utmp.h (if available),
21914         even on systems with utmpx.h.  It's necessary for the declaration of
21915         utmp's ut_user member.  Reported by Andreas Jaeger.
21916
21917         * m4/check-decl.m4 (jm_CHECK_DECLS): Include grp.h and pwd.h if
21918         available. They are required for the declarations of getgrgid and
21919         getpwuid resp.
21920         (_jm_DECL_HEADERS): Check for grp.h and pwd.h.
21921         Reported by Andreas Jaeger.
21922
21923 2001-01-01  Alexandre Duret-Lutz  <duret_g@epita.fr>
21924
21925         * m4/libintl.m4 (AM_GNU_GETTEXT): Define MKINSTALLDIRS by
21926         expanding the value of $ac_aux_dir, as in AM_MISSING_HAS_RUN,
21927         so `make install' also works in VPATH builds.
21928
21929 2000-12-31  Alexandre Duret-Lutz  <duret_g@epita.fr>
21930
21931         * m4/libintl.m4 (AM_WITH_NLS): When using AC_CONFIG_AUX_DIR,
21932         prepend $(top_srcdir) to the value of MKINSTALLDIRS so that it
21933         can be used in subdirectories.
21934
21935 2000-12-29  Paul Eggert  <eggert@twinsun.com>
21936
21937         * lib/modechange.c: Do not assume that mode_t uses the
21938         traditional octal encoding.  E.g. "chmod 1 FOO" should set
21939         the other-execute bit of FOO even if S_IXOTH != 1.
21940
21941         (SUID, SGID, SVTX, RUSR, WUSR, XUSR, RGRP, WGRP, XGRP, ROTH,
21942         WOTH, XOTH, ALLM): New macros.
21943         (S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR,
21944          S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH):
21945         Use them.
21946         (S_ISGID): Fix typo; it was defaulting to the same value as S_ISUID.
21947         (S_IRWXU, S_IRWXG, S_IRWXO): Specify defaults in terms of the above.
21948         (mode_compile):
21949         No need to use uintmax_t; unsigned long is long enough.
21950         Don't bother to get suffix since we don't use it.
21951
21952 2000-12-26  Jim Meyering  <meyering@lucent.com>
21953
21954         * m4/dos.m4 (jm_AC_DOS): Rewrite (though it's still a stub) to work
21955         better with autoheader.
21956
21957 2000-12-24  Jim Meyering  <meyering@lucent.com>
21958
21959         * lib/hash.c (is_prime): Return explicit boolean values.
21960         (hash_get_first): Return NULL to appease Irix5.6's 89.
21961         Reported by Nelson Beebe.
21962
21963 2000-12-19  Bruno Haible  <haible@clisp.cons.org>
21964
21965         * lib/localcharset.c (locale_charset): Add support for Win32.
21966
21967 2000-12-18  Paul Eggert  <eggert@twinsun.com>
21968
21969         * lib/physmem.h, lib/physmem.c: New files.
21970
21971         * lib/Makefile.am (libfetish_a_SOURCES): Add physmem.c.
21972         (noinst_HEADERS): Add physmem.h.
21973
21974         * lib/xstrtol.c (__xstrtol): Add undocumented suffixes 'g' and
21975         't' for compatibility with Solaris 8 sort.
21976
21977 2000-12-18  Bruno Haible  <haible@clisp.cons.org>
21978
21979         * lib/config.charset: Add support for BeOS.
21980
21981 2000-12-17  Jim Meyering  <meyering@lucent.com>
21982
21983         * m4/dos.m4 (jm_AC_DOS): New file and macro.
21984         * m4/jm-macros.m4 (jm_MACROS): Require jm_AC_DOS.
21985
21986 2000-12-16  Jim Meyering  <meyering@lucent.com>
21987
21988         This bug had a serious impact on chown: `chown N:M FILE' (for integer
21989         N and M) would have treated it like `chown N:N FILE'.
21990
21991         * lib/userspec.c (parse_user_spec): Fix typo: s/u/g/.
21992
21993 2000-12-16  Jim Meyering  <meyering@lucent.com>
21994
21995         * lib/getusershell.c [!SHELLS_FILE && __DJGPP__]: Define
21996         SHELLS_FILE to a file name that's useful on djgpp systems.
21997         Include stdlib.h.
21998         (ADDITIONAL_DEFAULT_SHELLS): Define.
21999         (default_shells): Prepend ADDITIONAL_DEFAULT_SHELLS.
22000         Based mostly on a patch from Prashant TR.
22001
22002 2000-12-16  Bruno Haible  <haible@clisp.cons.org>
22003
22004         * lib/config.charset: Add ISO-8859-3, BIG5HKSCS, GB18030, JOHAB,
22005         VISCII, CP874, CP949, CP950, CP1250, CP1253, CP1254, CP1255, CP1256,
22006         CP1257 to the list of canonical encodings. Rename EUC-CN to GB2312.
22007
22008 2000-12-08  Andreas Schwab  <schwab@suse.de>
22009
22010         * lib/mbswidth.c (mbsnwidth): Don't loop endlessly when called with an
22011         invalid mulitbyte sequence and with the MBSW_ACCEPT_INVALID flag set.
22012
22013 2000-12-07  Jim Meyering  <meyering@lucent.com>
22014
22015         * lib/stripslash.c (ISSLASH): Define.
22016         (strip_trailing_slashes): Use ISSLASH rather than comparing against
22017         `/'.
22018         From Prashant TR.
22019
22020         * lib/dirname.c (FILESYSTEM_PREFIX_LEN): Define.
22021         (dir_name_r): Declare this function as static.
22022         [BACKSLASH_IS_PATH_SEPARATOR]: Fix a bug that'd
22023         manifest itself on a name containing a mix of slashes and
22024         backslashes.
22025         Make this function work with names starting with a DOS-style
22026         drive letter and colon prefix.
22027         (dir_name): Append `.' if necessary.
22028         Based mostly on patches from Prashant TR and Eli Zaretskii.
22029
22030         * lib/dirname.h (dir_name_r): Remove prototype.
22031
22032 2000-12-06  Paul Eggert  <eggert@twinsun.com>
22033
22034         * m4/off_t-format.m4: Remove this file.
22035         * m4/jm-macros.m4 (jm_MACROS): Remove jm_SYS_OFF_T_PRINTF_FORMAT.
22036
22037 2000-12-06  Jim Meyering  <meyering@lucent.com>
22038
22039         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): If we need the
22040         replacement strtoull, we may well need the replacement strtoul, too.
22041         Check for declarations of strtoul and strtoull.
22042         Check for strtol.  Mainly as a cue to cause automake to include
22043         strtol.c -- that file is included by each of strtoul.c and strtoull.c.
22044         Check for limits.h -- strtol.c needs it.
22045
22046 2000-12-05  Jim Meyering  <meyering@lucent.com>
22047
22048         * lib/dirname.c (dir_name_r): Add `const' in a few local declarations.
22049
22050 2000-12-04  Jim Meyering  <meyering@lucent.com>
22051
22052         * lib/path-concat.c: [!HAVE_DECL_MALLOC]: Declare malloc.
22053         Also include memory.h, stdlib.h, unistd.h if appropriate.
22054         Reported by Andreas Jaeger (conflicting declaration of malloc).
22055
22056 2000-12-02  Jim Meyering  <meyering@lucent.com>
22057
22058         * m4/off_t-format.m4 (OFF_T_PRINTF_FORMAT_STRING): New file/macro.
22059         * m4/jm-macros.m4 (jm_MACROS): require it.
22060
22061 2000-12-02  Jim Meyering  <meyering@lucent.com>
22062
22063         * lib/closeout.h: Make idempotent, to avoid some obscure warnings.
22064
22065 2000-12-01  Paul Eggert  <eggert@twinsun.com>
22066
22067         * lib/memrchr.c: Include <config.h> before any system include file.
22068
22069 2000-11-30  Jim Meyering  <meyering@lucent.com>
22070
22071         * m4/jm-macros.m4 (jm_MACROS): Check for stdint.h.
22072
22073 2000-11-30  Jim Meyering  <meyering@lucent.com>
22074
22075         * m4/getloadavg.m4: s/ifval/m4_ifval/ to accommodate new autoconf.
22076
22077 2000-11-29  Paul Eggert  <eggert@twinsun.com>
22078
22079         * lib/dirname.c (dir_name_r): Fix typo: int -> size_t.
22080
22081 2000-11-26  Jim Meyering  <meyering@lucent.com>
22082
22083         * lib/memcoll.c: Include sys/types.h.  From Werner Almesberger.
22084
22085 2000-11-22  Paul Eggert  <eggert@twinsun.com>
22086
22087         * lib/strftime.c (my_strftime): Do not invoke mbrlen with a
22088         size of (size_t) -1; it's not portable.
22089
22090 2000-11-17  Jim Meyering  <meyering@lucent.com>
22091
22092         * lib/strstr.c: Update from GNU libc.
22093
22094 2000-11-17  Akim Demaille  <akim@epita.fr>
22095
22096         * lib/obstack.h: Formatting changes.
22097         (obstack_grow, obstack_grow0): Don't cast WHERE at all: that would
22098         prevent type checking.
22099         (obstack_ptr_grow, obstack_ptr_grow_fast): When assigning, don't
22100         cast the value to (void *): assigning a `foo *' to a `void *'
22101         variable is valid.
22102         (obstack_int_grow, obstack_int_grow_fast): Don't cast AINT to int.
22103
22104 2000-11-16  Jim Meyering  <meyering@lucent.com>
22105
22106         * lib/strverscmp.c: Incorporate weak-alias-related changes from glibc.
22107
22108 2000-11-11  Jim Meyering  <meyering@lucent.com>
22109
22110         * lib/error.c: Add a couple #includes, merging from GNU libc version.
22111
22112 2000-11-10  Jim Meyering  <meyering@lucent.com>
22113
22114         * lib/obstack.h: Update from GNU libc.
22115         * lib/obstack.c: Likewise.
22116
22117 2000-11-08  Bruno Haible  <haible@clisp.cons.org>
22118
22119         * m4/jm-macros.m4 (jm_MACROS): Add test for wcrtomb.
22120
22121 2000-11-06  Paul Eggert  <eggert@twinsun.com>
22122
22123         * lib/getusershell.c (setusershell): Use rewind rather than
22124         fseek/fseeko, to avoid configuration hassles with fseeko.
22125         Don't bother opening SHELLS_FILE if shellstream is NULL;
22126         it's not necessary.
22127
22128 2000-11-05  Jim Meyering  <meyering@lucent.com>
22129
22130         * lib/makepath.h (make_dir): Declare.
22131         * lib/makepath.c (make_dir): Remove `static' attribute.
22132         Tweak a comment.
22133
22134 2000-11-04  Jim Meyering  <meyering@lucent.com>
22135
22136         * m4/regex.m4: Use the `m4_' prefix on `syscmd' and `m4_sysval'.
22137
22138 2000-11-04  Alexandre Duret-Lutz  <duret_g@epita.fr>
22139
22140         * lib/hash.c (hash_get_next): Fix a thinko:  when ENTRY is the
22141         last one in a bucket, advance to the next bucket.
22142
22143 2000-11-02  Vesselin Atanasov  <vesselin@bgnet.bg>
22144
22145         * lib/fnmatch.c: Do not comment out all the code if we are using
22146         the GNU C library, because in some cases we are replacing buggy
22147         code in the GNU C library itself.
22148
22149 2000-10-30  Stefan Monnier  <monnier@cs.yale.edu>
22150
22151         * regex.c (re_iswctype, re_wctype_to_bit): Fix braino.
22152         (regex_compile): Catch bogus \(\1\).
22153
22154 2000-10-30  Paul Eggert  <eggert@twinsun.com>
22155
22156         * lib/fnmatch.c (FOLD): Do not assume that characters are unsigned.
22157         (fnmatch): Fix some FNM_FILE_NAME and FNM_LEADING_DIR bugs,
22158         e.g. fnmatch("d*/*1", "d/s/1", FNM_FILE_NAME) incorrectly yielded zero.
22159
22160 2000-10-30  Paul Eggert  <eggert@twinsun.com>
22161
22162         * lib/error.h, getline.h, modechange.h:
22163         Remove "2000" from Copyright line, as the file hasn't been
22164         changed this year other than in the copyright notice.
22165
22166         * lib/xalloc.h: Add "2000" to Copyright line, as this file
22167         was changed this year.
22168
22169 2000-10-29  Jim Meyering  <meyering@lucent.com>
22170
22171         * m4/fsusage.m4: s/AC_SHELL_IFELSE/AS_IFELSE/ to match autoconf
22172         renaming.
22173         * m4/ls-mntd-fs.m4: Likewise
22174
22175 2000-10-29  Jim Meyering  <meyering@lucent.com>
22176
22177         * lib/xstat.in: Fix grammar in comment.
22178
22179 2000-10-29  Greg Louis  <glouis@dynamicro.on.ca>
22180
22181         * lib/regex.h (__restrict_arr): Move definition out of #ifndef block.
22182         Required because egcs-2.91.66 (aka 1.1.2) defines __restrict, but
22183         doesn't define __restrict_arr.
22184
22185 2000-10-28  Jim Meyering  <meyering@lucent.com>
22186
22187         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_MEMCHR.
22188         (jm_PREREQ_MEMCHR): New function.
22189
22190 2000-10-28  Jim Meyering  <meyering@lucent.com>
22191
22192         * lib/memchr.c: Update from libc.
22193         Adjust for portability:
22194         [HAVE_STDLIB_H]: Include stdlib.h.
22195         [HAVE_BP_SYM_H || _LIBC]: Guard inclusion of bp-sym.h.
22196         Undef __memchr, too.
22197         [!weak_alias]: Define __memchr to memchr.
22198
22199         * lib/regex.c: Update from libc.
22200         * lib/regex.h: Likewise.
22201         * lib/getopt1.c: Likewise.
22202         * lib/memcmp.c: Likewise.
22203
22204         * lib/getusershell.c (setusershell) [HAVE_FSEEKO]: Use fseeko.
22205         Avoid using fseek, when possible -- it's broken by design.
22206         Patch by Ulrich Drepper.
22207
22208 2000-10-27  Stefan Monnier  <monnier@cs.yale.edu>
22209
22210         * regex.c (POP_FAILURE_REG_OR_COUNT, re_match_2_internal)
22211         (re_match_2_internal, re_match_2_internal, re_match_2_internal):
22212         Giving in to popular pressure to shut up the compiler with casts.
22213
22214 2000-10-26  Jim Meyering  <meyering@lucent.com>
22215
22216         * lib/strftime.c: Update from libc.
22217
22218 2000-10-25  Stefan Monnier  <monnier@cs.yale.edu>
22219
22220         * regex.c: More `unsigned char' -> `re_char' changes.
22221         Also change several `int' into `re_wchar_t'.
22222         (PATTERN_STACK_EMPTY, PUSH_PATTERN_OP, POP_PATTERN_OP): Remove.
22223         (PUSH_FAILURE_POINTER): Don't cast any more.
22224         (POP_FAILURE_REG_OR_COUNT): Remove the cast that strips `const'.
22225         We want GCC to complain, since this piece of code makes
22226         re_match non-reentrant, which *should* be fixed.
22227         (GET_BUFFER_SPACE): Use size_t rather than unsigned long.
22228         (EXTEND_BUFFER): Use RETALLOC.
22229         (SET_LIST_BIT): Don't cast.
22230         (re_wchar_t): New type.
22231         (re_iswctype, re_wctype_to_bit): Make it crystal clear to GCC
22232         that those two functions will always properly return.
22233         (IMMEDIATE_QUIT_CHECK): Cast to void.
22234         (analyse_first): Use recursion rather than an explicit stack.
22235         (re_compile_fastmap): Can't fail anymore.
22236         (re_search_2): Don't check re_compile_fastmap for failure.
22237         (PUSH_NUMBER): Renamed from PUSH_FAILURE_COUNT.
22238         Now also sets the new value (passed in a new argument).
22239         (re_match_2_internal): Use it.
22240         Also, use a new var `reg' of type size_t when looping through regs
22241         rather than reuse the inappropriate `mcnt'.
22242
22243 2000-10-25  Jim Meyering  <meyering@lucent.com>
22244
22245         * lib/obstack.c: Update from libc.
22246
22247 2000-10-24  Kenichi Handa  <handa@etl.go.jp>
22248
22249         * regex.c (regex_compile): Change the way of handling a range from
22250         a char less than 256 to a char not less than 256.
22251
22252 2000-10-24  Andrew Innes  <andrewi@gnu.org>
22253
22254         * regex.c (IMMEDIATE_QUIT_CHECK): New macro, which does QUIT on
22255         NT-Emacs only.
22256         (re_match_2_internal): Use IMMEDIATE_QUIT_CHECK instead of QUIT,
22257         so that re_search functions only quit when callers expect them to.
22258
22259 2000-10-23  Jim Meyering  <meyering@lucent.com>
22260
22261         * lib/hard-locale.c (hard_locale): Revert last change -- it was simply
22262         wrong.  That set_locale call must not have any side effects.
22263         From Paul Eggert.
22264
22265 2000-10-22  Jim Meyering  <meyering@lucent.com>
22266
22267         * lib/md5.c (md5_process_block) [OP]: Use `rol', not CYCLIC.
22268         [CYCLIC]: Remove now-unused definition.
22269
22270         * lib/save-cwd.c (O_DIRECTORY): Define, if needed.
22271         (save_cwd) [HAVE_FCHDIR]: Use O_DIRECTORY when opening ".".
22272         Suggestion from Ulrich Drepper.
22273
22274 2000-10-21  Jim Meyering  <meyering@lucent.com>
22275
22276         * m4/check-decl.m4 (jm_CHECK_DECLS): Also check for memrchr.
22277         * m4/prereq.m4 (jm_PREREQ_DIRNAME): New macro.
22278         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memrchr.
22279
22280 2000-10-21  Jim Meyering  <meyering@lucent.com>
22281
22282         * lib/dirname.c (memrchr): Declare if necessary.
22283         (dir_name): Remove the restriction that there be no
22284         trailing slashes.  Now, this code skips past them, effectively
22285         ignoring them.
22286         [TEST_DIRNAME] (main): New unit tests.
22287
22288         * lib/memrchr.c: New file from GNU libc.
22289         Undef __memrchr, too.
22290         [!weak_alias]: Define __memrchr to memrchr.
22291         Guard weak_alias use with `#ifdef weak_alias'.
22292
22293 2000-10-21  Jim Meyering  <meyering@lucent.com>
22294
22295         * lib/dirname.c (dir_name_r): New function, factored out of dir_name.
22296         (dir_name): Use dir_name_r.
22297         * lib/dirname.h (dir_name_r): Declare it.
22298
22299 2000-10-17  Jim Meyering  <meyering@lucent.com>
22300
22301         * lib/quote.h (PARAMS): Define and use.
22302         Reported by Akim Demaille.
22303
22304         * lib/getopt.c: Update from libc.
22305
22306 2000-10-16  Jim Meyering  <meyering@lucent.com>
22307
22308         * lib/hard-locale.c (hard_locale): Use "", not 0 as 2nd arg to
22309         setlocale.
22310         From Jan Fedak.
22311
22312 2000-10-15  Stefan Monnier  <monnier@cs.yale.edu>
22313
22314         * regex.c (WIDE_CHAR_SUPPORT): Define if _LIBC as well.
22315
22316 2000-09-25  Jim Meyering  <meyering@lucent.com>
22317
22318         * lib/md5.h (rol): Define (from GnuPG).
22319
22320         * lib/sha.c: Give credit (GnuPG) where due.
22321         (M): Use rol rather than open-coding it.
22322         Add a FIXME comment.
22323
22324 2000-09-21  Jim Meyering  <meyering@lucent.com>
22325
22326         * lib/userspec.c (parse_user_spec): Remove debugging printf I'd added.
22327         Reported by Michael Stone.
22328
22329 2000-09-20  Jim Meyering  <meyering@lucent.com>
22330
22331         * lib/Makefile.am (libfetish_a_SOURCES): Add sha.c.
22332         (noinst_HEADERS): Add sha.h.
22333         Based on code from Scott G. Miller and from GnuPG.
22334
22335 2000-09-18  Jim Meyering  <meyering@lucent.com>
22336
22337         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Restore the initial value of
22338         LIBS. Otherwise, everyone ends up linking with -lelf for some
22339         configurations.
22340         Reported by Mike Stone.
22341
22342 2000-09-15  Jim Meyering  <meyering@lucent.com>
22343
22344         * lib/regex.c: Update from libc.
22345
22346 2000-09-10  Jim Meyering  <meyering@lucent.com>
22347
22348         * lib/getopt.c (_getopt_internal): Update from glibc.
22349
22350 2000-09-09  Jim Meyering  <meyering@lucent.com>
22351
22352         * lib/quotearg.c: Rename ISASCII to IN_CTYPE_DOMAIN, so people don't
22353         think it should be used as a general replacement for isascii.
22354         * lib/fnmatch.c: Likewise.
22355         * lib/mbswidth.c: Likewise
22356         * lib/regex.c: Likewise.
22357
22358         Don't use atoi.
22359         * lib/userspec.c: Include sys/param.h and limits.h.
22360         Include xstrtol.h.
22361         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
22362         (UID_T_MAX, GID_T_MAX, MAXUID, MAXGID): Define.
22363         (parse_user_spec): Use xstrtoul, not atoi when converting numeric
22364         UID, GID.  Check range.
22365
22366 2000-09-06  Jim Meyering  <meyering@lucent.com>
22367
22368         * lib/getopt.c (_getopt_internal): Update from glibc.
22369
22370 2000-08-30  Jim Meyering  <meyering@lucent.com>
22371
22372         * lib/strftime.c: Merge in changes from GNU libc.
22373
22374 2000-08-26  Jim Meyering  <meyering@lucent.com>
22375
22376         * m4/jm-macros.m4: Use jm_FUNC_FPENDING.
22377         * m4/fpending.m4: New file.
22378
22379 2000-08-26  Jim Meyering  <meyering@lucent.com>
22380
22381         * lib/closeout.c: Include "__fpending.h".
22382         (close_stdout_status): Return right away if there's nothing to flush.
22383
22384         * lib/Makefile.am (noinst_HEADERS): Add __fpending.h.
22385         * lib/__fpending.c: New file.
22386         * lib/__fpending.h: New file.
22387
22388 2000-08-20  Jim Meyering  <meyering@lucent.com>
22389
22390         * m4/check-decl.m4: Include utmp.h `#if HAVE_UTMP_H', rather than
22391         `#if !HAVE_UTMPX_H'.  The latter would lose on systems with neither
22392         utmp.h nor utmpx.h.  Reported by Eli Zaretskii.
22393
22394 2000-08-11  J. David Anglin  <dave@hiauly1.hia.nrc.ca>
22395
22396         Improve fileutils installation on systems where running
22397         programs (like install) can't be unlinked.
22398         * m4/unlink-busy.m4 (jm_FUNC_UNLINK_BUSY_TEXT): New file/macro.
22399         * m4/jm-macros.m4: Use jm_FUNC_UNLINK_BUSY_TEXT.
22400
22401 2000-08-07  Paul Eggert  <eggert@twinsun.com>
22402
22403         Standardize on "memory exhausted" instead of "Memory exhausted"
22404         or "virtual memory exhausted".
22405         * lib/obstack.c (print_and_abort): Use "memory exhausted", not
22406         "virtual memory exhausted".
22407         * lib/same.c (same_name): Invoke xalloc_die instead of printing
22408         our own message.
22409         * lib/userspec.c (parse_user_spec): Likewise.
22410         * lib/bumpalloc.h: comment fix
22411         * lib/same.c, userspec.c: Include xalloc.h.
22412
22413         * lib/xalloc.h (xalloc_msg_memory_exhausted): Now char const[],
22414         not char *const and pointing to a constant array.
22415         * lib/xmalloc.c (xalloc_msg_memory_exhausted): Likewise.
22416         (xrealloc): Comment fix.
22417
22418         * lib/userspec.c (parse_user_spec):
22419         Don't translate a message until just before returning,
22420         to avoid unnecessary translation.
22421
22422 2000-08-07  Jim Meyering  <meyering@lucent.com>
22423
22424         * lib/addext.c, argmatch.c, argmatch.h, backupfile.h, bumpalloc.h,
22425         chown.c, diacrit.h, dirname.h, dup2.c, exclude.h, fileblocks.c,
22426         fnmatch.c, fnmatch.h, fsusage.c, fsusage.h, getdate.h,
22427         getgroups.c, gethostname.c, getopt.h, group-member.c,
22428         hard-locale.c, hash.h, isdir.c, lchown.c, linebuffer.c,
22429         linebuffer.h, long-options.h, malloc.c, md5.c, md5.h, memchr.c,
22430         memcmp.c, memcoll.c, memset.c, mktime.c, modechange.h, obstack.h,
22431         pathmax.h, realloc.c, rmdir.c, safe-read.c, save-cwd.c, stime.c,
22432         stpcpy.c, strcasecmp.c, strcspn.c, strdup.c, stripslash.c,
22433         strstr.c, strtod.c, strtol.c, strtoul.c, strtoull.c, strtoumax.c,
22434         utime.c, version-etc.h, xalloc.h, xstrdup.c, xstrtoumax.c,
22435         yesno.c: Back out Copyright date changes for each file with no change
22436         this year.  This eases coordination with other programs using the same
22437         source code modules.  From Paul Eggert.
22438
22439 2000-08-06  Paul Eggert  <eggert@twinsun.com>
22440
22441         * m4/mbstate_t.m4 (AC_MBSTATE_T): Define mbstate_t to be int,
22442         not char, for compatibility with glibc 2.1.3 strftime.c.
22443
22444 2000-08-03  Greg McGary  <greg@mcgary.org>
22445
22446         * lib/regex.c (SET_HIGH_BOUND, MOVE_BUFFER_POINTER,
22447         ELSE_EXTEND_BUFFER_HIGH_BOUND): New macros.
22448         (EXTEND_BUFFER): Use them.
22449
22450 2000-08-01  Jim Meyering  <meyering@lucent.com>
22451
22452         * lib/dirname.c (ISSLASH): Define.
22453         (BACKSLASH_IS_PATH_SEPARATOR): Define.
22454         (dir_name) [BACKSLASH_IS_PATH_SEPARATOR]: Handle the case in which
22455         both `\' and `/' may be use as path separators.
22456         Based on a patch from Prashant TR.
22457
22458 2000-07-31  Paul Eggert  <eggert@twinsun.com>
22459
22460         * lib/quotearg.c (quotearg_n_options): Don't make the initial
22461         slot vector a constant, since it might get modified.
22462
22463 2000-07-31  Jim Meyering  <meyering@lucent.com>
22464
22465         * lib/xmalloc.c: Use `virtual memory exhausted', not
22466         `Memory exhausted'.
22467         * lib/obstack.c (print_and_abort): Likewise.
22468
22469 2000-07-30  Paul Eggert  <eggert@twinsun.com>
22470
22471         * lib/quotearg.c (quotearg_n_options): Preallocate a slot 0
22472         buffer, so that the caller can always quote one small
22473         component of a "memory exhausted" message in slot 0.
22474         From a suggestion by Jim Meyering.
22475
22476 2000-07-30  Jim Meyering  <meyering@lucent.com>
22477
22478         * lib/makepath.c (make_path): Quote the other instance, too.
22479
22480         * lib/quotearg.c (N_STATIC_SLOTVECS): Define.
22481         (STATIC_BUF_SIZE): Define.
22482         (quotearg_n_options): Use only statically allocated storage when
22483         N < N_STATIC_SLOTVECS and the length of the quoted result is smaller
22484         than STATIC_BUF_SIZE.
22485
22486 2000-07-29  Jim Meyering  <meyering@lucent.com>
22487
22488         * lib/diacrit.c (diacrit_diac): Use __MSDOS__ in favor of MSDOS.
22489         * lib/dirname.c (dir_name): Likewise.
22490
22491         * lib/basename.c (base_name): Use ISSLASH rather than comparing against
22492         `/'.
22493
22494         * lib/dirname.c (dir_name) [MSDOS]: Declare `lim' to be const.
22495         (dir_name): Assert that there are no trailing slashes.
22496
22497 2000-07-29  Bruno Haible  <haible@clisp.cons.org>
22498
22499         * lib/mbswidth.h (mbswidth): Add a flags argument.
22500         (mbswidth): New declaration.
22501         (MBSW_ACCEPT_INVALID, MBSW_ACCEPT_UNPRINTABLE): New macros.
22502         * lib/mbswidth.c (mbswidth): Add a flags argument.
22503         (mbsnwidth): New function.
22504
22505 2000-07-24  Jim Meyering  <meyering@lucent.com>
22506
22507         * lib/mbswidth.c: Remove useless #else.  From Bruno Haible.
22508
22509 2000-07-23  Paul Eggert  <eggert@twinsun.com>
22510
22511         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Check for wcwidth declaration.
22512
22513 2000-07-23  Paul Eggert  <eggert@twinsun.com>
22514
22515         * lib/quotearg.c: Streamline by invoking multibyte code only if needed.
22516         <wchar.h>: Include only if HAVE_MBRTOWC && 1 < MB_LEN_MAX.
22517         (MB_CUR_MAX): Redefine to 1 if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX).
22518         (quotearg_buffer_restyled): If a unibyte locale, don't bother to
22519         invoke multibyte primitives.
22520
22521 2000-07-23  Paul Eggert  <eggert@twinsun.com>
22522
22523         * lib/quotearg.c:
22524         Include <wchar.h> even if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX),
22525         so that mbstate_t is always defined.
22526
22527         Do not inspect MB_LEN_MAX, since it's incorrectly defined to
22528         be 1 in at least one GCC installation, and this configuration
22529         error is likely to be common.  Ignoring MB_LEN_MAX hurts
22530         performance on hosts that have mbrtowc but have only unibyte
22531         locales, but I assume these hosts are rare.
22532
22533 2000-07-23  Paul Eggert  <eggert@twinsun.com>
22534
22535         * lib/mbswidth.c (_XOPEN_SOURCE):
22536         Don't define; this causes problems on Solaris 7.
22537         (wcwidth) [!HAVE_DECL_WCWIDTH]: Declare.
22538
22539 2000-07-23  Jim Meyering  <meyering@lucent.com>
22540
22541         * m4/check-decl.m4 (jm_CHECK_DECLS): Check for declarations of these,
22542         too: getgrgid, getpwuid, getuid.
22543
22544 2000-07-23  Jim Meyering  <meyering@lucent.com>
22545
22546         * lib/basename.c (base_name): Add an assertion.
22547
22548 2000-07-23  Bruno Haible  <haible@clisp.cons.org>
22549
22550         * lib/quotearg.c: When the system forces us to redefine mbstate_t,
22551         shadow its mbsinit function.
22552
22553 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
22554
22555         * lib/mbswidth.h: New file.
22556         * lib/mbswidth.c: New file.
22557         * lib/Makefile.am (libfetish_a_SOURCES): Add mbswidth.c.
22558         (noinst_HEADERS): Add mbswidth.h.
22559
22560 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
22561
22562         * lib/config.charset: Add support for FreeBSD. Improve support for
22563         HP-UX and IRIX 6.
22564
22565 2000-07-16  Bruno Haible  <haible@clisp.cons.org>
22566
22567         * m4/mbswidth.m4: New file.
22568         * m4/prereq.m4 (jm_PREREQ): Call jm_PREREQ_MBSWIDTH.
22569
22570 2000-07-15  Jim Meyering  <meyering@lucent.com>
22571
22572         * lib/makepath.c: Include quote.h.
22573         (make_path): Convert "`%s'" in format strings to "%s", and wrap each
22574         corresponding argument in a `quote (...)' call.
22575         Give better diagnostics.
22576
22577         * lib/Makefile.am (libfetish_a_SOURCES): Add quote.c.
22578         (noinst_HEADERS): Add quote.h.
22579
22580         * lib/quote.c (quote, quote_n): New file.  Two functions taken verbatim
22581         from tar's src/misc.c.
22582         * lib/quote.h: New file.  Prototypes for same.
22583
22584 2000-07-14  Paul Eggert  <eggert@twinsun.com>
22585
22586         From a suggestion by Bruno Haible.
22587         * lib/quotearg.c (mbrtowc): Do not use HAVE_WCHAR_H in the definition.
22588         Use defined mbstate_t, not HAVE_MBSTATE_T_OBJECT,
22589         to decide whether to define the BeOS workaround macro;
22590         this adjusts to the change to AC_MBSTATE_T.
22591
22592 2000-07-14  Jim Meyering  <meyering@lucent.com>
22593
22594         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Require
22595         jm_AC_TYPE_UINTMAX_T.
22596
22597 2000-07-13  Paul Eggert  <eggert@twinsun.com>
22598
22599         * lib/quotearg.h (enum quoting style): New enum clocale_quoting_style.
22600
22601         * lib/quotearg.c (quoting_style_args, quoting_style_vals,
22602         quotearg_buffer_restyled): Add support for
22603         clocale_quoting_style.  Undo previous change to
22604         locale_quoting_style behavior, and undo the "{LEFT QUOTATION MARK}"
22605         and "{RIGHT QUOTATION MARK}" msgids.
22606
22607 2000-07-10  Paul Eggert  <eggert@twinsun.com>
22608
22609         From a suggestion by Bruno Haible.
22610         * m4/mbstate_t.m4 (AC_MBSTATE_T):
22611         Renamed from AC_MBSTATE_T_OBJECT.  All uses changed.
22612         Change from a two-part test, which defines both HAVE_MBSTATE_T_OBJECT
22613         and mbstate_t, to a single-part test that simply defines mbstate_t.
22614         * m4/prereq.m4 (jm_PREREQ_QUOTEARG):
22615         s/AC_MBSTATE_T_OBJECT/AC_MBSTATE_T/.
22616
22617 2000-07-10  Jim Meyering  <meyering@lucent.com>
22618
22619         * m4/strerror_r.m4: Mirror the correction made in autoconf.
22620
22621         * m4/gnu-source.m4: Output to confdefs.h directly.
22622         Suggestion from Akim Demaille.
22623
22624 2000-07-09  Paul Eggert  <eggert@twinsun.com>
22625
22626         The old behavior of quoting `like this' doesn't look good with
22627         newer, ISO-style fonts.  See:
22628         http://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html
22629
22630         Instead, quote "like this" by default.  Let the translator
22631         tailor the locale-specific quoting behavior by providing
22632         translations for {LEFT QUOTATION MARK} and {RIGHT QUOTATION MARK}.
22633
22634         * lib/quotearg.c (N_): New macro.
22635         (gettext_default): New function.
22636         (quotearg_buffer_restyled): Use
22637         gettext_default ("{LEFT QUOTATION MARK}", "\"") for left quote, and
22638         gettext_default ("{RIGHT QUOTATION MARK}", "\"") for right quote.
22639
22640 2000-07-09  Jim Meyering  <meyering@lucent.com>
22641
22642         * m4/jm-macros.m4 (jm_MACROS): Add a test to see if -lm is required
22643         to link seq.  If so, set SEQ_LIBM to -lm.  From Bruno Haible.
22644
22645         * m4/gnu-source.m4 (AC__GNU_SOURCE): New file/macro.
22646         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require it.
22647
22648 2000-07-09  Jim Meyering  <meyering@lucent.com>
22649
22650         * lib/Most files: Update copyright dates to include 2000.
22651
22652 2000-07-08  Jim Meyering  <meyering@lucent.com>
22653
22654         * lib/xgethostname.c (ENAMETOOLONG): Define to an unlikely value
22655         if not defined.
22656         (xgethostname): Remove now-unnecessary #ifdef.
22657         Move declaration of `err' into loop where it's used.
22658
22659 2000-07-05  Paul Eggert  <eggert@twinsun.com>
22660         and Bruno Haible  <haible@clisp.cons.org>
22661
22662         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Test for mbstate_t
22663         only if the test for an object-type mbstate_t fails.  This
22664         prevents us from mistakenly reporting that mbstate_t is a
22665         system object type after we "#define mbstate_t int" to work
22666         around its lack.
22667
22668 2000-07-05  Paul Eggert  <eggert@twinsun.com>
22669         and Bruno Haible  <haible@clisp.cons.org>
22670
22671         * lib/quotearg.c (mbrtowc): Declare returned type, since BeOS doesn't.
22672
22673 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
22674
22675         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Pass a reasonably large buffer
22676         to strerror_r.
22677         Include <ctype.h> for use of isalpha.
22678
22679 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
22680
22681         * lib/xgethostname.c (xgethostname): Protect against the SunOS 5.5 bug
22682         by allocating a larger buffer. Test the gethostname return value for
22683         being >= 0, not == 0, for BeOS.  Don't exhaust memory if gethostname
22684         returns an error and ENAMETOOLONG isn't defined.
22685
22686 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
22687
22688         * lib/quotearg.c (struct quoting_options): Simplify quote_these_too
22689         dimension.
22690
22691 2000-07-04  Jim Meyering  <meyering@lucent.com>
22692
22693         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use plain old `echo' instead
22694         of the deprecated AC_CHECKING.
22695
22696 2000-07-04  Jim Meyering  <meyering@lucent.com>
22697
22698         * lib/strndup.c: [!HAVE_DECL_STRNLEN]: Declare strnlen.
22699         Reported by Bruno Haible.
22700
22701 2000-07-04  Jim Meyering  <meyering@lucent.com>
22702
22703         * lib/quotearg.c: Make inclusion of <wchar.h> independent of whether
22704         HAVE_MBRTOWC is set.  Required at least for irix-5.6, which
22705         lacks mbrtowc.
22706
22707 2000-07-03  Paul Eggert  <eggert@twinsun.com>
22708
22709         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Port to autoconf 2.13.
22710         Add AC_CHECK_HEADERS(stdlib.h), since we use HAVE_STDLIB_H.
22711
22712 2000-07-03  Paul Eggert  <eggert@twinsun.com>
22713         and Bruno Haible  <haible@clisp.cons.org>
22714
22715         * lib/quotearg.c (mbrtowc):
22716         Assign to *pwc, and return 1 only if result is nonzero.
22717         (iswprint): Use ISPRINT when substituting our own mbrtowc.
22718
22719 2000-07-03  Jim Meyering  <meyering@lucent.com>
22720
22721         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strnlen.
22722
22723 2000-07-03  Jim Meyering  <meyering@lucent.com>
22724
22725         * lib/readutmp.h: [HAVE_UTMPX_H]: Include <utmp.h> if HAVE_UTMP_H.
22726         This is necessary to get a definition of e.g., UTMP_FILE on
22727         HP-UX 10.20.
22728         From Bob Proulx.
22729
22730 2000-07-02  Jim Meyering  <meyering@lucent.com>
22731
22732         * m4/mbstate_t.m4: Also define mbstate_t, if necessary.
22733
22734         * m4/chown.m4: Replace each use of AC_SUBST(LIBOBJS)/LIBOBJS=... with
22735         AC_LIBOBJ(function_name).
22736         * m4/chown.m4: Likewise.
22737         * m4/fnmatch.m4: Likewise.
22738         * m4/ftruncate.m4: Likewise.
22739         * m4/getgroups.m4: Likewise.
22740         * m4/getline.m4: Likewise.
22741         * m4/group-member.m4: Likewise.
22742         * m4/jm-macros.m4: Likewise.
22743         * m4/lstat.m4: Likewise.
22744         * m4/malloc.m4: Likewise.
22745         * m4/memcmp.m4: Likewise.
22746         * m4/nanosleep.m4: Likewise.
22747         * m4/putenv.m4: Likewise.
22748         * m4/realloc.m4: Likewise.
22749         * m4/regex.m4: Likewise.
22750         * m4/stat.m4: Likewise.
22751         * m4/strftime.m4: Likewise.
22752
22753 2000-07-02  Jim Meyering  <meyering@lucent.com>
22754
22755         * lib/quotearg.c (mbstate_t): Don't define here.
22756
22757 2000-07-02  Jim Meyering  <meyering@lucent.com>
22758
22759         * lib/nanosleep.c (SIGCONT): Define if not already defined.
22760
22761 2000-07-01  Jim Meyering  <meyering@lucent.com>
22762
22763         * m4/uptime.m4: Put double quotes around use of $cross_compiling.
22764
22765 2000-07-01  Jim Meyering  <meyering@lucent.com>
22766
22767         * m4/ls-mntd-fs.m4: Remove a `FIXME' comment and fix the associated
22768         problem.
22769
22770 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
22771
22772         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Rename BeOS specific
22773         macro from MOUNTED_NEXT_DEV to MOUNTED_FS_STAT_DEV.
22774
22775 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
22776
22777         * lib/mountlist.c: Use MOUNTED_FS_STAT_DEV instead of MOUNTED_NEXT_DEV,
22778         per change in ../m4/ls-mntd-fs.m4.
22779         (read_filesystem_list): Ignore symbolic links.
22780
22781 2000-06-29  Jim Meyering  <meyering@lucent.com>
22782
22783         * lib/same.c: Include <string.h> or <strings.h>, as appropriate,
22784         for declaration of strcmp.
22785
22786         * lib/long-options.c: Include <stdlib.h>, for declaration of exit.
22787
22788         * lib/mountlist.c (fsp_to_string) [HAVE_F_FSTYPENAME_IN_STATFS]:
22789         Avoid warning by casting result to `char *' to remove `const'.
22790
22791 2000-06-28  Jim Meyering  <meyering@lucent.com>
22792
22793         * m4/mbstate_t.m4: Use stdlib.h, not stdio.h.  The latter is not
22794         included by quotearg.c, for which we perform this test.  From
22795         Bruno Haible.
22796
22797 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
22798
22799         * m4/check-decl.m4 (_jm_DECL_HEADERS): Check for utmp.h as well.
22800         * m4/prereq.m4 (jm_PREREQ_READUTMP): Likewise. If either <utmp.h> or
22801         <utmpx.h> exists, put readutmp.o into LIBOBJS.
22802
22803 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
22804
22805         * lib/Makefile.am (libfetish_a_SOURCES): Remove readutmp.c.
22806
22807 2000-06-26  Paul Eggert  <eggert@twinsun.com>
22808
22809         savedir now sets errno on failure and invokes xmalloc to get memory.
22810         Fix a couple of other minor bugs while we're at it.
22811
22812         * lib/savedir.c (<unistd.h>): Do not include; there's no need.
22813         (NAMLEN): Remove macro.
22814         (malloc, realloc): Remove decls.
22815         (stpcpy): Likewise.
22816         ("xalloc.h"): Include.
22817         (NAME_SIZE_DEFAULT): New macro.
22818         (savedir): Use xmalloc / xrealloc to allocate memory.
22819         Use NAME_SIZE_DEFAULT if name_size is negative or overflows to zero.
22820         Skip "" directory entries.
22821         Use strlen to calculate directory entry length, since the old method
22822         is rarely used these days and isn't worth supporting.
22823         Don't use a pointer after freeing it.
22824         Check for integer overflow when calculating allocation size.
22825         Use memcpy to copy entries, instead of stpcpy.
22826         Set errno properly when returning NULL.
22827         Check for readdir error.
22828
22829 2000-06-26  Jim Meyering  <meyering@lucent.com>
22830
22831         * lib/posixtm.c [HAVE_STDLIB_H]: Include stdlib.h, for decl of abort.
22832
22833 2000-06-25  Jim Meyering  <meyering@lucent.com>
22834
22835         * m4/mbstate_t.m4: Include stdio.h before wchar.h to work around
22836         Linux header bug when _XOPEN_SOURCE is defined to 500.
22837
22838 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
22839
22840         * lib/unicodeio.c (print_unicode_char): Work around ansi2knr
22841         deficiency.
22842
22843 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
22844
22845         * lib/getusershell.c (xmalloc, xrealloc): Remove functions.
22846         Include xalloc.h.
22847         Don't include <stdlib.h>.  Don't declare malloc, realloc.
22848
22849 2000-06-24  Jim Meyering  <meyering@lucent.com>
22850
22851         * m4/strerror_r.m4: Revive this file -- to try out an experimental
22852         version of AC_FUNC_STRERROR_R that may work even on BeOS, a system
22853         for which strerror does return char*, but which lacks a conveniently
22854         accessible declaration of the function.  If the compile-test says
22855         strerror_r doesn't work, then resort to a `run'-test that works on
22856         BeOS and segfaults on DEC Unix.
22857
22858 2000-06-24  Jim Meyering  <meyering@lucent.com>
22859
22860         * lib/error.c [!HAVE_DECL_STRERROR_R]: Declare strerror_r.
22861
22862 2000-06-23  Paul Eggert  <eggert@twinsun.com>
22863
22864         * m4/mbstate_t.m4: New file, defining AC_MBSTATE_T_OBJECT.
22865         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Use it.  Add check for iswprint.
22866
22867 2000-06-23  Paul Eggert  <eggert@twinsun.com>
22868
22869         * lib/quotearg.c: Include <wctype.h> after <wchar.h>, for Solaris 2.5.
22870         (mbrtowc, mbstate_t): Define substitutes if
22871         HAVE_MBRTOWC && HAVE_WCHAR_H && !HAVE_MBSTATE_T_OBJECT.
22872         (iswprint): Define to 1 if !defined iswprint && !HAVE_ISWPRINT,
22873         not if ! (HAVE_MBRTOWC && HAVE_WCHAR_H).
22874
22875 2000-06-23  Jim Meyering  <meyering@lucent.com>
22876
22877         * m4/afs.m4: Add missing AC_MSG_RESULT.
22878         Reported by Bruno Haible.
22879
22880         * m4/fsusage.m4: s/AC_MSG_CHECKING/AC_CHECKING/.
22881         Suggestion from Bruno Haible.
22882
22883 2000-06-23  Jim Meyering  <meyering@lucent.com>
22884
22885         * lib/getpass.c: New file, from Bruno Haible.  Required for BeOS.
22886
22887 2000-06-21  Jim Meyering  <meyering@lucent.com>
22888
22889         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add getpass.
22890
22891 2000-06-21  Jim Meyering  <meyering@lucent.com>
22892
22893         * lib/Makefile.am (libfetish_a_SOURCES): Add getstr.c.
22894         (noinst_HEADERS): Add getstr.h.
22895
22896         * lib/getline.c (getstr): Move into a separate file.
22897         * lib/getstr.c (getstr): New file, extracted from getline.c, with
22898         the following changes: new parameter, delim2; both delim[12]
22899         parameters have type `int', not `char'.  The latter would lose
22900         with 8-bit delimiters.
22901         * lib/getstr.h: New file.
22902
22903 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
22904
22905         * lib/xgetcwd.c (xgetcwd): If the required pathname length is smaller
22906         than 1024, return a memory chunk of least possible size, instead
22907         of size PATH_MAX + 2. In the loop, increment the size proportionally.
22908         Use free/xmalloc instead of xrealloc to avoid copying for very long
22909         paths.
22910
22911 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
22912
22913         * lib/path-concat.c (path_concat): Don't access dir[-1] if dir is
22914         the empty string.
22915
22916 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
22917
22918         * lib/canon-host.c (canon_host): Use malloc and memcpy to copy an
22919         address, not strdup.  Include <stdlib.h> and don't declare free().
22920
22921 2000-06-19  Jim Meyering  <meyering@lucent.com>
22922
22923         * lib/getloadavg.c [HAVE_NLIST_H] (NLIST_STRUCT): Define.
22924
22925 2000-06-18  Jim Meyering  <meyering@lucent.com>
22926
22927         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Remove mkdir.
22928
22929         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): Change the
22930         `checking whether...' message to be consistent with that of the
22931         lstat test.
22932
22933 2000-06-18  Jim Meyering  <meyering@lucent.com>
22934
22935         * lib/mkdir.c: Remove file, due mainly to copyright incompatibility.
22936         Besides, these days every porting target provides a mkdir function.
22937
22938         * lib/strnlen.c: Include memory.h, string.h, and/or strings.h as
22939         needed. (this snippet comes from src/system.h).
22940
22941 2000-06-16  Bruno Haible  <haible@clisp.cons.org>
22942
22943         * m4/glibc21.m4 (jm_GLIBC21): Define GLIBC21 for Makefiles, not for C.
22944
22945 2000-06-15  Paul Eggert  <eggert@twinsun.com>
22946
22947         * lib/human.c (adjust_value): New function.
22948         (human_readable_inexact): Apply rounding style even when
22949         printing approximate values.
22950
22951 2000-06-14  Paul Eggert  <eggert@twinsun.com>
22952
22953         * lib/human.c (human_readable_inexact): Allow an input block
22954         size that is not a multiple of the output block size, and vice versa.
22955         Reported by Piergiorgio Sartor.
22956
22957 2000-06-14  Paul Eggert  <eggert@twinsun.com>
22958
22959         * lib/getdate.y (get_date): Apply relative times after time
22960         zone indicator, not before.  Reported by Todd A. Jacobs.
22961
22962 2000-06-13  Jim Meyering  <meyering@lucent.com>
22963
22964         * lib/Makefile.am (all-local): Depend on lstat.c and stat.c.
22965
22966         * lib/xstat.in [!HAVE_DECL_FREE]: Declare free in lstat.c.
22967
22968 2000-06-12  Paul Eggert  <eggert@twinsun.com>
22969
22970         * lib/xstat.in: Include <stdlib.h> in lstat, to declare "free".
22971
22972 2000-06-12  Jim Meyering  <meyering@lucent.com>
22973
22974         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Replace with
22975         AC_FUNC_GETLOADAVG from autoconf, and tweak the latter to accept an
22976         optional argument.
22977         * m4/jm-macros.m4: s/AM_FUNC_GETLOADAVG/AC_FUNC_GETLOADAVG/, and supply
22978         the optional argument, `lib'.
22979
22980 2000-06-08  Jim Meyering  <meyering@lucent.com>
22981
22982         * m4/largefile.m4: Remove file (now that it's part of autoconf).
22983
22984 2000-06-04  Paul Eggert  <eggert@twinsun.com>
22985
22986         Rewrite largefile configuration so that we don't need to run
22987         getconf and don't need AC_CANONICAL_HOST.  [I'm leaving the use of
22988         AC_CANONICAL_HOST in configure.in -- jmm]
22989
22990         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS,
22991         AC_SYS_LARGEFILE_SPACE_APPEND): Remove.
22992         (AC_SYS_LARGEFILE_TEST_INCLUDES): New macro.
22993         (AC_SYS_LARGEFILE_MACRO_VALUE): Change arguments from
22994         CODE-TO-SET-DEFAULT to VALUE, INCLUDES, FUNCTION-BODY.
22995         All uses changed.
22996         Instead of inspecting the output of getconf, try to compile the
22997         test program without and with the macro definition.
22998         (AC_SYS_LARGEFILE): Do not require AC_CANONICAL_HOST or check
22999         for getconf.  Instead, check for the needed flags by compiling
23000         test programs.
23001
23002 2000-06-04  Paul Eggert  <eggert@twinsun.com>
23003
23004         * lib/strnlen.c: Include <config.h> if HAVE_CONFIG_H.
23005
23006 2000-06-04  Jim Meyering  <meyering@lucent.com>
23007
23008         * lib/getugroups.c (getugroups): Cast -1 to gid_t, for systems like
23009         SunOS 4.1.4 for which gid_t is an unsigned type.
23010
23011 2000-06-03  Jim Meyering  <meyering@lucent.com>
23012
23013         * m4/prereq.m4 (jm_PREREQ_HUMAN): Use []-quoted list in AC_CHECK_DECLS,
23014         now that autoconf requires that.
23015
23016         * m4/jm-glibc-io.m4: Add a kludge to make autoheader emit the required
23017         #undefs.  E.g., #undef HAVE_DECL_FERROR_UNLOCKED.
23018         Use []-quoted list in AC_CHECK_DECLS, now that autoconf requires that.
23019
23020 2000-06-03  Jim Meyering  <meyering@lucent.com>
23021
23022         * lib/strnlen.c [!HAVE_DECL_MEMCHR]: Declare memchr.
23023
23024 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
23025
23026         * m4/glibc21.m4: New file.
23027         * m4/jm-macros.m4 (jm_MACROS): Call jm_GLIBC21.
23028
23029 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
23030
23031         * lib/Makefile.am (install-exec-local): On systems with glibc-2.1 or
23032         newer, don't install charset.alias.
23033         * lib/config.charset: Change the Linux/glibc rules so they become empty
23034         on glibc-2.1 or newer.
23035
23036 2000-06-02  Jim Meyering  <meyering@lucent.com>
23037
23038         * lib/mountlist.c: Back out last change.  Instead, do this...
23039         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Set the
23040         me_dummy member using the same `ignore'-testing code.
23041         * lib/mountlist.h (ME_DUMMY): Add `autofs' to the list of ignored
23042         fs_type strings.
23043         From Mark D. Roth.
23044
23045 2000-05-29  Jim Meyering  <meyering@lucent.com>
23046
23047         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Ignore
23048         mounts with the `ignore' attribute.  Based on a patch from
23049         Mark D. Roth.
23050
23051 2000-05-28  Jim Meyering  <meyering@lucent.com>
23052
23053         * m4/jm-macros.m4 (AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Rename from
23054         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
23055         * m4/stat.m4: Likewise.
23056         * m4/lstat.m4: Likewise.
23057         * m4/lstat-slash.m4: Remove file (absorbed into autoconf).
23058
23059         * m4/jm-macros.m4 (AC_FUNC_STRERROR_R): Rename from jm_FUNC_STRERROR_R.
23060         * m4/strerror_r.m4: Remove file (absorbed into autoconf).
23061
23062 2000-05-26  Jim Meyering  <meyering@lucent.com>
23063
23064         * m4/uptime.m4: Use `$cross_compiling', not `$ac_cv_prog_cc_cross'.
23065
23066 2000-05-24  Jim Meyering  <meyering@lucent.com>
23067
23068         * m4/prereq.m4: Use []-quoted list in AC_CHECK_MEMBERS, now that
23069         autoconf requires that.
23070         * m4/lib-check.m4: Likewise.
23071         * m4/jm-macros.m4: Likewise.
23072         * m4/strftime.m4: Likewise.
23073
23074         * m4/check-decl.m4 (jm_CHECK_DECLS): Use []-quoted list in
23075         AC_CHECK_DECLS, now that autoconf requires that.
23076
23077 2000-05-22  Jim Meyering  <meyering@lucent.com>
23078
23079         * m4/stat.m4: Require jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
23080         * m4/lstat.m4: Likewise.
23081
23082 2000-05-22  Jim Meyering  <meyering@lucent.com>
23083
23084         * lib/makepath.c: Remove old, now-unnecessary `#ifdef __MSDOS__' block.
23085
23086 2000-05-20  Jim Meyering  <meyering@lucent.com>
23087
23088         * m4/prereq.m4 (jm_PREREQ_HUMAN): New macro.
23089         (jm_PREREQ): Use it.
23090
23091 2000-05-18  Jim Meyering  <meyering@lucent.com>
23092
23093         * lib/hash.c (hash_rehash): Fix a nasty bug: copy the free entry list
23094         back, too, since it may have been modified by allocate_entry.
23095         (hash_delete): Rewrite to use neither the assignment operator
23096         nor the comma operator in an if-expression.
23097
23098 2000-05-15  Paul Eggert  <eggert@twinsun.com>
23099
23100         * lib/closeout.c:
23101         <sys/stat.h>, <sys/types.h>, <unistd.h>, (STDOUT_FILENO):
23102         Remove; no longer needed.
23103         "quotearg.h": Add include.
23104         (file_name): Do not bother to explicitly initialize to NULL; it's less
23105         efficient on some hosts.
23106         (close_stdout_status): Remove test as to whether stdout was already
23107         closed; it breaks for the case "echo x | sort >&-".
23108         Quote file name colons.
23109         Do not assume that _("write error") lacks format strings.
23110
23111 2000-05-15  Jim Meyering  <meyering@lucent.com>
23112
23113         * lib/version-etc.c (version_etc_copyright): Update the copyright
23114         string used in all --version output.
23115
23116 2000-05-14  Jim Meyering  <meyering@lucent.com>
23117
23118         * lib/closeout.c (close_stdout_set_file_name): New function.
23119         (close_stdout_status): Use new file-scoped global.
23120         Return right away if fstat says the stdout file descriptor is invalid.
23121         * lib/closeout.h (close_stdout_set_file_name): Declare.
23122
23123 2000-05-10  Jim Meyering  <meyering@lucent.com>
23124
23125         * lib/closeout.c [default_exit_status]: New file-scoped variable.
23126         (close_stdout_set_status): New function.
23127         * lib/closeout.h (close_stdout_set_status): Declare.
23128
23129 2000-05-09  Jim Meyering  <meyering@lucent.com>
23130
23131         * m4/gettext.m4: Rename this...
23132         * m4/libintl.m4: ...to this.
23133
23134 2000-05-08  Jim Meyering  <meyering@lucent.com>
23135
23136         * lib/long-options.c: Don't include closeout.h.
23137         (parse_long_options): Don't call close_stdout for --version.
23138
23139 2000-05-06  Paul Eggert  <eggert@twinsun.com>
23140
23141         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _XOPEN_SOURCE to
23142         be 500, instead of _GNU_SOURCE to be 1, to work around glibc
23143         2.1.3 bug.  This avoids a clash when files like regex.c define
23144         _GNU_SOURCE.
23145
23146 2000-05-06  Jim Meyering  <meyering@lucent.com>
23147
23148         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add atexit.
23149         (AC_REPLACE_FUNCS): Add strnlen.
23150
23151         * m4/rmdir-errno.m4 (fetish_FUNC_RMDIR_NOTEMPTY): New macro and file.
23152         * m4/jm-macros.m4: Require fetish_FUNC_RMDIR_NOTEMPTY.
23153
23154         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Save and restore LIBS around
23155         AC_SEARCH_LIBS call for nanosleep.
23156         (LIB_NANOSLEEP): Set and AC_SUBST.
23157
23158 2000-05-06  Jim Meyering  <meyering@lucent.com>
23159
23160         * lib/strnlen.c: Undefine __strnlen and strnlen.
23161         [!weak_alias]: Define __strnlen to strnlen.
23162
23163         * lib/atexit.c: New file, from libiberty.
23164
23165 2000-05-06  Jim Meyering  <meyering@lucent.com>
23166
23167         * lib/closeout.c (close_stdout_status): Also check for errors on the
23168         stderr stream.
23169
23170 2000-05-05  Jim Meyering  <meyering@lucent.com>
23171
23172         * m4/jm-macros.m4 (jm_MACROS): Save and restore LIBS around
23173         AC_SEARCH_LIBS call for clock_gettime.
23174         (LIB_CLOCK_GETTIME): Set and AC_SUBST.
23175
23176         * m4/search-libs.m4: Update from autoconf.
23177
23178         su doesn't work on Solaris 2.6.
23179         * m4/lib-check.m4: When checking for struct spwd.sp_pwdp, also include
23180         <shadow.h>.  Reported by Dragos Harabor.
23181
23182 2000-05-05  Bruno Haible  <haible@clisp.cons.org>
23183
23184         * lib/localcharset.c (get_charset_aliases): Use malloc, realloc and
23185         memcpy instead of xmalloc, xrealloc, path_concat.
23186         (locale_charset): Treat empty environment variables as absent.
23187         (DIRECTORY_SEPARATOR, ISSLASH): New macros.
23188
23189 2000-05-04  Jim Meyering  <meyering@lucent.com>
23190
23191         * lib/getopt.c: Update from glibc.
23192         * lib/obstack.c: Likewise.
23193         * lib/obstack.h: Likewise.
23194         * lib/regex.c: Likewise.  NB: K&R compiler support is dropped for this
23195         file
23196
23197         * lib/regex.h: Likewise.
23198         * lib/strndup.c: Likewise.
23199         * lib/strnlen.c: New file, from glibc.
23200
23201 2000-05-03  Jim Meyering  <meyering@lucent.com>
23202
23203         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strndup.
23204
23205 2000-05-02  Paul Eggert  <eggert@twinsun.com>
23206
23207         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _GNU_SOURCE if
23208         this is needed to make ftello visible (e.g. glibc 2.1.3).  Use
23209         compile-time test, rather than inspecting host and OS, to
23210         decide whether to define _LARGEFILE_SOURCE.
23211
23212 2000-05-01  Jim Meyering  <meyering@lucent.com>
23213
23214         * m4/fsusage.m4: Use AC_MSG_CHECKING instead of obsolete AC_CHECKING.
23215
23216         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add BeOS support.
23217         Based on a patch from Bruno Haible.
23218
23219 2000-05-01  Jim Meyering  <meyering@lucent.com>
23220
23221         * lib/full-write.c (full_write): Remove `FIXME' part of comment.
23222
23223 2000-04-29  Jim Meyering  <meyering@lucent.com>
23224
23225         * lib/path-concat.c: Declare strdup only if it's not defined.
23226         * lib/canon-host.c: Likewise.
23227
23228 2000-04-28  Jim Meyering  <meyering@lucent.com>
23229
23230         * lib/rpmatch.c [HAVE_LIMITS_H]: Include limits.h before regex.h to
23231         avoid redefinition warning on some systems (HPUX).  Otherwise, regex.h
23232         is included first, then limits.h is included by locale.h by libintl.h.
23233         From John David Anglin.
23234
23235 2000-04-25  Jim Meyering  <meyering@lucent.com>
23236
23237         * lib/makepath.c (S_IRWXUGO): Define.
23238         (make_path): Always perform explicit chmod if MODE specifies any
23239         of the `special' permission bits.  Prompted by a bug report against
23240         install from Mate Wierdl and Joost van Baal.
23241
23242 2000-04-18  Jim Meyering  <meyering@lucent.com>
23243
23244         * m4/prereq.m4 (jm_PREREQ_GETPAGESIZE): New macro.
23245         (jm_PREREQ): Use it.
23246
23247 2000-04-18  Jim Meyering  <meyering@lucent.com>
23248
23249         * lib/README: New file.
23250
23251         * lib/getpagesize.h [!getpagesize && HAVE_OS_H && B_PAGE_SIZE]: Define
23252         getpagesize.  For BeOS.  Based on a patch from Bruno Haible.
23253
23254 2000-04-17  Jim Meyering  <meyering@lucent.com>
23255
23256         Get it right :-)
23257         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Emit the
23258         actual #define via AH_VERBATIM.  Don't need separate AC_DEFINE.
23259         Suggestion from Akim Demaille.
23260
23261 2000-04-17  Jim Meyering  <meyering@lucent.com>
23262
23263         * lib/strftime.c (my_strftime) [strftime]: Declare strftime here, since
23264         the definition of it to rpl_strftime also defined-away the system's
23265         declaration.
23266
23267 2000-04-15  Jim Meyering  <meyering@lucent.com>
23268
23269         Use `C' to denote so-called `contiguous' files, the same way
23270         that tar does.
23271         * lib/filemode.c (S_ISCTG) [!S_ISCTG && S_IFCTG]: Define.
23272         (ftypelet): Use S_ISCTG.
23273         From Michael Deutschmann.
23274
23275 2000-04-14  Jim Meyering  <meyering@lucent.com>
23276
23277         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use the one-arg
23278         form of AC_DEFINE.  Otherwise, the #ifndef in AH_VERBATIM gets
23279         clobbered.
23280
23281 2000-04-14  Jim Meyering  <meyering@lucent.com>
23282
23283         * lib/strftime.c (my_strftime) [#ifdef strftime]: Declare strftime.
23284
23285 2000-04-13  Jim Meyering  <meyering@lucent.com>
23286
23287         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use new
23288         AH_VERBATIM to insert required #ifndef into config.h.in.
23289         Suggestion from Akim Demaille.
23290
23291 2000-04-12  Jim Meyering  <meyering@lucent.com>
23292
23293         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Use AC_CHECK_HEADERS, not
23294         `AC_CHECK_HEADER' to check for locale.h.  Thanks to a report from
23295         Christian Krackowizer.
23296
23297         More code moved from ../configure.in into (jm_CHECK_ALL_TYPES).
23298         * m4/jm-macros.m4 (_GNU_SOURCE): Define.
23299         (AC_SYS_LARGEFILE): Require.
23300         (AM_C_PROTOTYPES): Require.
23301
23302 2000-04-08  Jim Meyering  <meyering@lucent.com>
23303
23304         * lib/Makefile.am (charset.alias): Use t-$@, not $@-t so the DOS 8.3
23305         names don't conflict.  Reported by Eli Zaretskii.
23306
23307 2000-04-07  Jim Meyering  <meyering@lucent.com>
23308
23309         * lib/putenv.c: Move inclusion of errno.h so it follows that of
23310         sys/types.h, to work around system header problems on AIX 3.2.5.
23311         From Bruno Haible.
23312
23313 2000-04-07  Bruno Haible  <haible@clisp.cons.org>
23314
23315         * lib/unicodeio.c (print_unicode_char): Avoid triggering Solaris iconv
23316         bug.  Deal with the different error behavior of Irix iconv.
23317
23318 2000-04-05  Paul Eggert  <eggert@twinsun.com>
23319
23320         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Don't use -n32 on
23321         IRIX if the installer said otherwise.
23322
23323 2000-04-05  Jim Meyering  <meyering@lucent.com>
23324
23325         Portability tweaks required for ultrix4.3.
23326         * m4/check-decl.m4 [!HAVE_UTMPX_H] (headers): Include <utmp.h>.
23327         (jm_CHECK_DECLS): Add getutent to the list of functions.
23328         (_jm_DECL_HEADERS): Add utmpx.h.
23329         From John David Anglin.
23330
23331         * m4/strftime.m4: Back out the 2000-04-02 change.
23332         Instead of that change, simply undefine putenv in the test program.
23333
23334 2000-04-05  Jim Meyering  <meyering@lucent.com>
23335
23336         Portability tweaks required for ultrix4.3.
23337         * lib/readutmp.h [HAVE_UTMPX_H && !HAVE_DECL_GETUTENT]: Declare
23338         getutent.
23339         * lib/readutmp.c: Include sys/types.h before sys/stat.h.
23340         * lib/canon-host.c: Declare strdup.
23341         * lib/path-concat.c: Likewise.
23342         From John David Anglin.
23343
23344 2000-04-04  Jim Meyering  <meyering@lucent.com>
23345
23346         Be more DOS 8.3-friendly.
23347         * lib/ref-add.sin: Renamed from ref-add.sed.in.
23348         * lib/ref-del.sin: Renamed from ref-del.sed.in.
23349         * lib/Makefile.am: Reflect renaming.
23350         Reported by Eli Zaretskii.
23351
23352         Use a temporary file name that won't clash with `charset.alias'
23353         in the DOS 8.3 name space.
23354         * lib/Makefile.am (charset_tmp): Define.
23355         (install-exec-local): Use $(charset_tmp) instead of $(charset_alias)-t.
23356         (uninstall-local): Likewise.
23357         Reported by Eli Zaretskii.
23358
23359 2000-04-03  Jim Meyering  <meyering@lucent.com>
23360
23361         * m4/gettext.m4: Fix typo in comment.
23362
23363         * m4/codeset.m4 (AC_CHECK_HEADERS): Add langinfo.h (moved here from
23364         textutils/configure.in).  Suggestion from Paul Eggert.
23365         (AC_CHECK_FUNCS): Add nl_langinfo.  (also from textutils/configure.in)
23366
23367 2000-04-02  Paul Eggert  <eggert@twinsun.com>
23368
23369         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Set TZ environment
23370         variable in the shell rather than using putenv, which isn't
23371         portable.  This avoids the configure-time inter-test dependency
23372         on the potentially-renamed putenv function.
23373
23374 2000-03-30  Paul Eggert  <eggert@twinsun.com>
23375
23376         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Include <sys/stat.h>
23377         before checking struct stat.st_blksize, so that
23378         HAVE_STRUCT_STAT_ST_BLKSIZE is defined correctly.
23379
23380 2000-03-29  Paul Eggert  <eggert@twinsun.com>
23381
23382         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Check for strftime,
23383         since strftime.c uses HAVE_STRFTIME to decide whether to use
23384         the underlying strftime.
23385
23386 2000-03-29  Paul Eggert  <eggert@twinsun.com>
23387
23388         * lib/time/strftime.c (my_strftime): Make sure we call the system
23389         strftime, not ourselves, when invoking the underlying strftime.
23390
23391 2000-03-24  Jim Meyering  <meyering@lucent.com>
23392
23393         * lib/Makefile.am (EXTRA_DIST): Add ref-add.sed.in and ref-del.sed.in.
23394         (charset_alias): Define.
23395         (install-exec-local): Factor out common code.
23396         (uninstall-local): Split lines longer than 80.
23397         (ref-add.sed, ref-del.sed): Remove rules... (do the following instead)
23398         (SUFFIXES): Define.
23399         (.sed.in.sed): New rule.  Don't redirect directly to $@.
23400         (CLEANFILES): Add ref-add.sed and ref-del.sed.
23401
23402 2000-03-19  Bruno Haible  <haible@clisp.cons.org>
23403
23404         * lib/config.charset: Output a line containing "Packages using this
23405         file".
23406         * lib/ref-add.sed.in, lib/ref-del.sed.in: New files.
23407         * lib/Makefile.am (install-exec-local, uninstall-local, ref-add.sed,
23408         ref-del.sed): New rules.
23409
23410 2000-03-17  Jim Meyering  <meyering@lucent.com>
23411
23412         * lib/unicodeio.c (<string.h>): Include only #if HAVE_STRING_H.
23413         Otherwise, include <strings.h>
23414
23415 2000-03-17  Bruno Haible  <haible@clisp.cons.org>
23416
23417         * lib/unicodeio.c (utf8_wctomb): New function.
23418         (print_unicode_char): Pass the Unicode character to iconv in UTF-8
23419         format instead of in UCS-4 with platform dependent endianness.
23420
23421 2000-03-10  Jim Meyering  <meyering@lucent.com>
23422
23423         * m4/lib-check.m4: Look for getspnam in -lgen, too.
23424         From Marco Franzen.
23425
23426 2000-03-07  Paul Eggert  <eggert@twinsun.com>
23427
23428         * lib/savedir.c (savedir): Work even if directory size is
23429         negative; this can happen with some screwy NFS configurations.
23430
23431 2000-03-06  Jim Meyering  <meyering@lucent.com>
23432
23433         * lib/localcharset.c (get_charset_aliases): Don't try to free file_name
23434         if it's NULL (because we ran out of memory).  From Bruno Haible.
23435
23436 2000-03-05  Jim Meyering  <meyering@lucent.com>
23437
23438         * lib/localcharset.c ("path-concat.h"): Include.
23439         (get_charset_aliases): Use path_concat instead of ANSI string
23440         concatenation.
23441
23442         * lib/unicodeio.h (PARAMS): Define.
23443         Use it to guard prototype.
23444
23445 2000-03-04  Jim Meyering  <meyering@lucent.com>
23446
23447         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require AC_C_VOLATILE,
23448         for lib/localcharset.c.
23449
23450 2000-03-04  Jim Meyering  <meyering@lucent.com>
23451
23452         * lib/Makefile.am (install-exec-local): Create $(libdir) before
23453         installing into it.
23454         (uninstall-local): Uncomment this rule so `make distcheck' works
23455         once again.
23456
23457         * lib/unicodeio.c (<errno.h>): Include it.
23458         (errno): Declare if not defined.
23459
23460         * lib/localcharset.c: Add Bruno's comment justifying use of volatile.
23461
23462         * lib/config.charset: New version, incorporating remarks from a linux
23463         i18n mailing list.  From Bruno Haible.
23464
23465 2000-03-04  Bruno Haible  <haible@clisp.cons.org>
23466
23467         * m4/codeset.m4: New file.
23468         * m4/iconv.m4: New file.
23469         * m4/jm-macros.m4 (jm_MACROS): Call jm_LANGINFO_CODESET and jm_ICONV.
23470
23471 2000-03-03  Jim Meyering  <meyering@lucent.com>
23472
23473         * m4/regex.m4: Make sure re_compile_pattern accepts patterns like `{1'.
23474
23475 2000-03-02  Jim Meyering  <meyering@lucent.com>
23476
23477         * m4/timespec.m4: Require AC_HEADER_TIME before the cache check so
23478         the messages come out on separate lines.
23479
23480         * m4/jm-glibc-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO): Use AC_CHECK_DECLS,
23481         rather than jm_CHECK_DECLARATIONS.
23482         * m4/decl.m4: Remove now-unused file.
23483
23484         * m4/check-decl.m4 (AC_CHECK_DECLS): Add getlogin, ttyname, and
23485         geteuid.
23486
23487 2000-03-02  Jim Meyering  <meyering@lucent.com>
23488
23489         * lib/Makefile.am (EXTRA_DIST): Add config.charset.
23490
23491 2000-03-01  Jim Meyering  <meyering@lucent.com>
23492
23493         * lib/localcharset.c: Guard some #includes with `#if HAVE_...'.
23494         * lib/unicodeio.c: Likewise.
23495
23496 2000-03-01  Bruno Haible  <haible@clisp.cons.org>
23497
23498         * lib/config.charset: New file.
23499         * lib/localcharset.c: New file.
23500         * lib/unicodeio.h, lib/unicodeio.c: New files.
23501         * lib/Makefile.am (DEFS): Add -DLIBDIR=...
23502         (libfetish_a_SOURCES): Add localcharset.c and unicodeio.c.
23503         (noinst_HEADERS): Add unicodeio.h.
23504         (all-local, install-exec-local, charset.alias): New targets.
23505
23506 2000-02-28  Paul Eggert  <eggert@twinsun.com>
23507
23508         * lib/quotearg.c (ALERT_CHAR): New macro.
23509         (quotearg_buffer_restyled): Use it.
23510
23511 2000-02-27  Jim Meyering  <meyering@lucent.com>
23512
23513         * m4/check-decl.m4: Add getenv to the list.
23514
23515 2000-02-27  Jim Meyering  <meyering@lucent.com>
23516
23517         * lib/strtoumax.c: Fix typo in decl of strtoul: s/long long/long/.
23518         Guard declaration of strtoull also with `&& HAVE_UNSIGNED_LONG_LONG'.
23519
23520         * lib/backupfile.c: Guard inclusion of stdlib.h with
23521         `#if HAVE_STDLIB_H', not `#if STDC_HEADERS'.
23522         Declare malloc if needed.
23523
23524         * lib/backupfile.c: Use `#if !HAVE_DECL...' instead of
23525         `#ifndef HAVE_DECL..'
23526         now that autoconf always defines the HAVE_DECL_ symbols.
23527         * lib/human.c: Likewise.
23528         * lib/same.c: Likewise.
23529         * lib/strtoumax.c: Likewise.
23530
23531         * lib/backupfile.c: Arrange for cpp to fail if the configure-time
23532         declaration check was not run.
23533         * lib/hash.c: Likewise.
23534         * lib/human.c: Likewise.
23535         * lib/same.c: Likewise.
23536         * lib/strtoumax.c: Likewise.
23537
23538         * lib/userspec.c (parse_user_spec): If there is no `:' but there is a
23539         `.', then first look up the entire `.'-containing string as a login
23540         name.
23541
23542 2000-02-23  Jim Meyering  <meyering@lucent.com>
23543
23544         * m4/check-decl.m4: Now that we have the new AC_CHECK_DECLS, use it
23545         in place of my hack.
23546
23547 2000-02-18  Paul Eggert  <eggert@twinsun.com>
23548
23549         * lib/getdate.y: Handle two-digit years with leading zeros correctly.
23550         (textint): New typedef.
23551         (parser_control): Member year changed from int to textint.
23552         All uses changed.
23553         (YYSTYPE): Removed; replaced by %union with int and textint members.
23554         (tDAY, tDAY_UNIT, tDAYZONE, tHOUR_UNIT, tID, tLOCAL_ZONE, tMERIDIAN,
23555         tMINUTE_UNIT, tMONTH, tMONTH_UNIT tSEC_UNIT, tSNUMBER, tUNUMBER,
23556         tYEAR_UNIT, tZONE, o_merid): Now of type <intval>.
23557         (tSNUMBER, tUNUMBER): Now of type <textintval>.
23558         (date, number, to_year): Use width of number in digits, not its value,
23559         to determine whether it's a 2-digit year, or a 2-digit time.
23560         (yylex): Store number of digits of numeric tokens.
23561         Reported by John Kendall.
23562
23563         (parser_control): Changed from struct parser_control to typedef (for
23564         consistency).  All uses changed.
23565
23566         (tID): Removed; not used.
23567         (yylex): Return '?' for unknown identifiers, rather than (unused) tID.
23568
23569 2000-02-14  Paul Eggert  <eggert@twinsun.com>
23570
23571         * lib/getpagesize.h (getpagesize): Port to VMS for Alpha;
23572         adapted from changes to grep getpagesize.h by Martin P.J. Zinser.
23573
23574 2000-02-12  Jim Meyering  <meyering@lucent.com>
23575
23576         * lib/userspec.c (ISDIGIT): Define it.
23577         (isdigit): Remove definition.
23578         (is_number): Use ISDIGIT, not isdigit.
23579         <libintl.h>: Include.
23580         (_ and N_): Define.
23581         (parse_user_spec): Mark translatable strings.
23582
23583 2000-02-10  Jim Meyering  <meyering@lucent.com>
23584
23585         With these changes, nanosleep.[ch] are finally enough like the other
23586         lib/* replacement files to compile on a few more losing systems.
23587
23588         * lib/nanosleep.h: Don't include config.h.
23589         Remove prototype from declaration of nanosleep.
23590         (PARAMS): Remove now-unneeded definition.
23591         * lib/nanosleep.c: #undef nanosleep.
23592         (rpl_nanosleep): Rename from nanosleep.
23593
23594 2000-02-10  Jim Meyering  <meyering@lucent.com>
23595
23596         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Rename replacement function from
23597         gnu_nanosleep to rpl_nanosleep.
23598
23599 2000-02-09  Jim Meyering  <meyering@lucent.com>
23600
23601         * m4/lib-check.m4 (jm_LIB_CHECK): Fix typo: check for sp_pwdp in
23602         struct spwd, rather than in struct passwd.  Reported by Gaël Quéri.
23603
23604 2000-02-08  Akim Demaille  <akim@epita.fr>
23605
23606         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Quote square brackets with
23607         `[' and `]' and remove uses of `changequote'.
23608         (AC_SYS_LARGEFILE_MACRO_VALUE): Likewise.
23609         (AC_SYS_LARGEFILE): Likewise.
23610         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
23611         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Remove now-unnecessary use
23612         of changequote.
23613         * m4/regex.m4 (jm_INCLUDED_REGEX): Likewise.
23614         * m4/readdir.m4 (jm_FUNC_READDIR): Likewise
23615         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Likewise, and add `int' for main.
23616         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Likewise.
23617
23618 2000-02-05  Jim Meyering  <meyering@lucent.com>
23619
23620         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require most macros.
23621         Remove explicit use of AC_HEADER_TIME.  It is required by
23622         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Using AC_HEADER_TIME and
23623         `AC_REQUIRE'ing jm_CHECK_TYPE_STRUCT_TIMESPEC provoked a but
23624         in autoconf whereby the expansion of the latter ended up preceding
23625         the expansion of its prerequisite, AC_HEADER_TIME.
23626         Reported by Volker Borchert.
23627
23628 2000-02-03  Jim Meyering  <meyering@lucent.com>
23629
23630         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for utmpxname.
23631
23632 2000-02-03  Jim Meyering  <meyering@lucent.com>
23633
23634         * lib/readutmp.c (read_utmp): Guard with `#ifdef UTMP_NAME_FUNCTION',
23635         rather than with `#if HAVE_UTMPNAME'.
23636
23637 2000-02-02  Jim Meyering  <meyering@lucent.com>
23638
23639         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Fix typo that resulted in no
23640         definition of HAVE_PATHCONF: s/AC_CHECK_FUNC/AC_CHECK_FUNCS/.
23641         Reported by Eli Zaretskii.
23642
23643 2000-02-01  Jim Meyering  <meyering@lucent.com>
23644
23645         * lib/readutmp.h (UT_USER): Add parens.  From Andreas Schwab.
23646
23647 2000-01-31  Jim Meyering  <meyering@lucent.com>
23648
23649         * m4/check-decl.m4 (jm_CHECK_DECLS): Add nanosleep to the list of
23650         functions.  Add the time.h and sys/time.h headers along with the
23651         AC_REQUIRE'ment of AC_HEADER_TIME.
23652
23653 2000-01-31  Jim Meyering  <meyering@lucent.com>
23654
23655         * lib/nanosleep.h (nanosleep): Guard declaration with
23656         `#if ! HAVE_DECL_NANOSLEEP'.
23657         Without this, OFS gets a redeclaration error for rpl_nanosleep, due to
23658         the declaration in that vendor's sys/timers.h.
23659         Reported by Christian Krackowizer.
23660
23661         * lib/quotearg.c (ISASCII): Add #undef and move definition to follow
23662         inclusion of wctype.h to work around Solaris 2.6 namespace pollution.
23663         (ISPRINT): Likewise.
23664         Reported by Tom Tromey.
23665
23666 2000-01-30  Jim Meyering  <meyering@lucent.com>
23667
23668         * m4/lib-check.m4: Clean up some kludgy old shadow password tests.
23669
23670         * m4/prereq.m4 (utmp_includes): Define.
23671         Check for ut_user and ut_name members in both struct utmpx
23672         and struct utmp.
23673
23674 2000-01-30  Jim Meyering  <meyering@lucent.com>
23675
23676         * lib/readutmp.c (extract_trimmed_name): Use UT_USER instead of
23677         hard-coding uses of ->ut_name.  The latter doesn't work with new Linux
23678         header files where only utmpx.ut_user is declared.
23679
23680         * lib/readutmp.h (UT_USER): Define.
23681
23682 2000-01-29  Jim Meyering  <meyering@lucent.com>
23683
23684         * m4/lib-check.m4: New file containing library-related checks from
23685         fileutils and sh-utils (textutils had none).
23686
23687 2000-01-28  Jim Meyering  <meyering@lucent.com>
23688
23689         * m4/perl.m4: Change format of warning message to look more like that
23690         from the missing script.  Suggestion from François Pinard.
23691
23692 2000-01-25  Jim Meyering  <meyering@lucent.com>
23693
23694         * m4/timespec.m4: Require AC_HEADER_TIME, and include sys/time.h as
23695         well as time.h in the compile check.
23696         * m4/nanosleep.m4: Require AC_HEADER_TIME rather than simply using it.
23697         Fix typo in cross-compiling case: s/yes/no/.
23698
23699 2000-01-23  Jim Meyering  <meyering@lucent.com>
23700
23701         * m4/jm-macros.m4: Move df-related tests here from
23702         fileutils/configure.in
23703
23704         * m4/ls-mntd-fs.m4: s/list_mounted_fs/ac_list_mounted_fs/
23705         (jm_LIST_MOUNTED_FILESYSTEMS): Take two parameters.
23706
23707         * m4/fsusage.m4: New file.  Extracted from fileutils/configure.in.
23708         s/space/ac_fsusage_space/.
23709         (jm_FILE_SYSTEM_USAGE): Take two parameters.
23710
23711         * m4/ftruncate.m4: New file (derived from part of
23712         fileutils/configure.in).
23713         * m4/jm-macros.m4 (jm_FUNC_FTRUNCATE): AC_REQUIRE it.
23714         (jm_CHECK_ALL_TYPES): Require AC_HEADER_MAJOR and AC_HEADER_DIRENT.
23715
23716         * m4/jm-macros.m4 (OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, MAN):
23717         AC_SUBST these here, rather than just in sh-util/configure.in, so
23718         that the now-shared-by-fileutils-and-textutils lib/Makefile.am are
23719         all the same.
23720         (AM_FUNC_OBSTACK): Add (from fileutils/configure.in).
23721         (AC_CHECK_FUNCS): Merge all checks from fileutils, textutils, sh-utils.
23722         (AM_FUNC_STRTOD): Added (from textutils', sh-utils' configure.in).
23723         (AC_SUBST(POW_LIBM)): Likewise.
23724         (AC_SUBST(DF_PROG)): Moved from fileutils/configure.in.
23725
23726 2000-01-23  Jim Meyering  <meyering@lucent.com>
23727
23728         * lib/Makefile.am (libfetish_a_SOURCES): Remove explicit mention of
23729         obstack.c.
23730
23731 2000-01-22  Jim Meyering  <meyering@lucent.com>
23732
23733         * m4/jm-macros.m4: Call AC_PROG_CC_STDC just before AC_C_CONST.
23734
23735         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Add wctype.h.
23736
23737         * m4/jm-macros.m4 (AC_CHECK_HEADERS): Add checks from fileutils'
23738         configure.in
23739         (AC_CHECK_HEADERS): Likewise for sh-utils.
23740         (AC_CHECK_HEADERS): Likewise for textutils.
23741         Merge the three lists of headers.
23742
23743         * m4/prereq.m4 (jm_PREREQ_ADDEXT): New macro.  Parts moved here
23744         from fileutils' configure.in.
23745
23746         * m4/decl.m4: Remove kludgy `test -z $ac_...AC_CHECK_HEADERS(...)'
23747         code. Moved tests into their own function (_jm_DECL_HEADERS) in
23748         check-decl.m4.
23749
23750         * m4/check-decl.m4: Use #if rather than #ifdef.
23751         Add HAVE_DECL_STRTOUL and HAVE_DECL_STRTOULL.
23752         (jm_CHECK_DECLARATIONS): Add strtoul strtoull.
23753         (_jm_DECL_HEADERS): Define new function.
23754         (jm_CHECK_DECLARATIONS): Require it.
23755
23756 2000-01-22  Jim Meyering  <meyering@lucent.com>
23757
23758         * lib/strtoumax.c: [! HAVE_DECL_STRTOUL]: Declare strtoul.
23759         [! HAVE_DECL_STRTOULL]: Declare strtoull.
23760         Required for some AIX systems.  Reported by Christian Krackowizer.
23761         [TESTING] (main): New function.
23762
23763         1997-10-17  Eli Zaretskii  <eliz@is.elta.co.il>
23764         * lib/dirname.c (dir_name): Support for DOS-style file names with drive
23765         letters.
23766
23767         * lib/quotearg.c [HAVE_WCTYPE_H]: Include <wctype.h> for decl of
23768         iswprint.
23769
23770         * lib/strverscmp.c (ISDIGIT): Define.
23771         (strverscmp): Use ISDIGIT, not isdigit.
23772
23773 2000-01-19  Jim Meyering  <meyering@lucent.com>
23774
23775         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Include <sys/time.h>, too.
23776         Use AC_HEADER_TIME.  Volker Borchert reported that OpenBSD-2.3/sparc
23777         defines `struct timespec' in <sys/time.h>
23778
23779         * m4/c-bs-a.m4: Remove uses of changequote altogether.
23780         Thanks to Akim for explaining.
23781
23782 2000-01-17  Paul Eggert  <eggert@twinsun.com>
23783
23784         * lib/nanosleep.c (nanosleep):
23785         Don't use SA_INTERRUPT to decide whether to call sigaction, as
23786         POSIX.1 doesn't require SA_INTERRUPT and some systems
23787         (e.g. Solaris 7) don't define it.  Use SA_NOCLDSTOP instead;
23788         it's been part of POSIX.1 since day 1 (in 1988).
23789
23790 2000-01-17  Jim Meyering  <meyering@lucent.com>
23791
23792         * lib/interlock: Remove unused file.  Reported by François Pinard.
23793
23794 2000-01-16  Paul Eggert  <eggert@twinsun.com>
23795
23796         * lib/quotearg.c (quotearg_buffer_restyled): Do not quote
23797         alert, backslash, formfeed, and vertical tab unnecessarily in
23798         shell quoting style.
23799
23800 2000-01-16  Jim Meyering  <meyering@lucent.com>
23801
23802         * m4/jm-macros.m4: Require jm_FUNC_GROUP_MEMBER, jm_FUNC_PUTENV,
23803         AM_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, jm_FUNC_MKTIME,
23804         jm_FUNC_GETGROUPS AC_FUNC_VPRINTF, AC_FUNC_ALLOCA,
23805         AM_FUNC_GETLOADAVG, and jm_SYS_PROC_UPTIME.
23806
23807 2000-01-16  Jim Meyering  <meyering@lucent.com>
23808
23809         * m4/c-bs-a.m4: Use `changequote(<<,>>)', rather than `changequote(, )'
23810         because the latter didn't work.
23811
23812 2000-01-15  Jim Meyering  <meyering@lucent.com>
23813
23814         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add gethostname and getusershell.
23815         (AC_REPLACE_FUNCS): Add memcpy and memset.
23816         Add these, too: stime strcspn stpcpy strstr strtol strtoul.
23817         Add strpbrk.
23818         Add these: euidaccess memcmp mkdir rmdir rpmatch strndup strverscmp.
23819
23820 2000-01-12  Jim Meyering  <meyering@lucent.com>
23821
23822         * m4/prereq.m4 (jm_PREREQ_CANON_HOST): New macro.
23823         (jm_PREREQ): Use it.
23824         (jm_PREREQ_READUTMP): New macro.
23825         (jm_PREREQ): Use it.
23826
23827 2000-01-11  Paul Eggert  <eggert@twinsun.com>
23828
23829         Quote multibyte characters correctly.
23830         * m4/c-bs-a.m4: New file.
23831         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): New macro.
23832         (jm_PREREQ): Use it.
23833
23834 2000-01-11  Paul Eggert  <eggert@twinsun.com>
23835
23836         * m4/uintmax_t.m4: Port to autoconf 2.13.
23837
23838 2000-01-08  Jim Meyering  <meyering@ascend.com>
23839
23840         * m4/strerror_r.m4 (jm_FUNC_STRERROR_R): New file/macro.
23841         * m4/jm-macros.m4 (jm_FUNC_STRERROR_R): Require it.
23842
23843 2000-01-04  Jim Meyering  <meyering@ascend.com>
23844
23845         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename from
23846         jm_STRUCT_DIRENT_D_TYPE.
23847         * m4/d-ino.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_INO): Rename from
23848         jm_STRUCT_DIRENT_D_INO.
23849         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Rename from
23850         jm_STRUCT_UTIMBUF.
23851         * m4/jm-macros.m4: Reflect s/jm_STRUCT_/jm_CHECK_TYPE_STRUCT_/
23852         renamings.
23853         * m4/utime.m4: Likewise.
23854
23855         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): New file, macro.
23856         * m4/jm-macros.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): Require it.
23857
23858 2000-01-03  Paul Eggert  <eggert@twinsun.com>
23859
23860         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Search for nanosleep in -lrt
23861         (for Solaris 7) and in -lposix4 (for Solaris 2.5.1).
23862
23863 2000-01-02  Jim Meyering  <meyering@ascend.com>
23864
23865         * m4/search-libs.m4: Escape `$' in $3 of dnl comment.  I no longer
23866         remember if this is necessary.
23867
23868 1999-12-26  Jim Meyering  <meyering@ascend.com>
23869
23870         * m4/jm-macros.m4: Use it here.
23871         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): New file/macro.
23872
23873 1999-12-23  Jim Meyering  <meyering@ascend.com>
23874
23875         * m4/jm-macros.m4: Check for clock_gettime (moved from
23876         fileutils/configure.in)
23877         Check for gettimeofday.
23878
23879 1999-12-20  Jim Meyering  <meyering@ascend.com>
23880
23881         * m4/strftime.m4: Remove kludge, now that I'm using the fixed
23882         autoconf-2.14a-1999-12-20.
23883
23884 1999-12-19  Jim Meyering  <meyering@ascend.com>
23885
23886         * m4/lstat-slash.m4: New file.
23887         * m4/jm-macros.m4: Use the new macro:
23888         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
23889
23890 1999-12-07  Jim Meyering  <meyering@ascend.com>
23891
23892         * m4/perl.m4: Require that File::Compare be available, too.
23893         Too many systems seem to lack it.
23894
23895         * m4/strftime.m4: Add checks for most of the cpp macros tested in
23896         GNU's strftime.c.  Prompted by a patch from Paul Eggert.
23897
23898 1999-11-18  Paul Eggert  <eggert@twinsun.com>
23899
23900         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around a
23901         problem with the QNX 4.25 shell, which doesn't propagate exit
23902         status of failed commands inside shell assignments.
23903
23904 1999-11-17  Jim Meyering  <meyering@ascend.com>
23905
23906         * m4/gettext.m4: Use new AC_CONFIG_LINKS in place of AC_LINK_FILES.
23907
23908 1999-11-07  Jim Meyering  <meyering@ascend.com>
23909
23910         * m4/getloadavg.m4: Add `, 1, [FIXME]' to each use of AC_DEFINE.
23911
23912 1999-11-06  Jim Meyering  <meyering@ascend.com>
23913
23914         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): New file/macro.
23915         * m4/jm-macros.m4 (jm_MACROS): Use it here.
23916
23917 1999-11-05  Jim Meyering  <meyering@ascend.com>
23918
23919         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Move some tests from
23920         configure.in of textutils, fileutils, and sh-utils into this one
23921         (shared between those packages) file.
23922         Use `AC_CHECK_MEMBERS((struct stat.st_blksize))' instead of deprecated
23923         AC_STRUCT_ST_BLKSIZE.
23924
23925 1999-11-03  Jim Meyering  <meyering@ascend.com>
23926
23927         * m4/ssize_t.m4: Remove file.  No longer needed since the new version
23928         of AC_CHECK_TYPE checks includes unistd.h.
23929         * m4/jm-macros.m4: Use straight `AC_CHECK_TYPE(ssize_t, int)'.
23930         Suggestion from Akim Demaille.
23931
23932 1999-10-30  Jim Meyering  <meyering@ascend.com>
23933
23934         * m4/uintmax_t.m4: Require 2.14a.  Remove backslash before backtick in
23935         m4-quoted string.
23936         * m4/ls-mntd-fs.m4: Likewise.
23937         * m4/jm-macros.m4: Likewise.  Also, use AC_TYPE_SSIZE_T instead
23938         * m4/jm-winsz1.m4: Likewise.
23939
23940         * m4/const.m4: Remove file, since the fix made it into the experimental
23941         version of autoconf.
23942         * m4/mktime.m4: Likewise.
23943
23944         * m4/check-type.m4: Remove file, now that the latest version of
23945         AC_CHECK_TYPE takes a third arg to specify additional #includes.
23946
23947         * m4/ssize_t.m4: New file, requires experimental version of autoconf.
23948         * m4/jm-macros.m4: Use new AC_TYPE_SSIZE_T instead of my hacked
23949         AC_CHECK_TYPE.
23950
23951 1999-10-04  Jim Meyering  <meyering@ascend.com>
23952
23953         * m4/jm-macros.m4: Don't require autoconf-2.14.1.
23954
23955 1999-09-22  Paul Eggert  <eggert@twinsun.com>
23956
23957         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around GCC
23958         2.95.1 bug with HP-UX 10.20.
23959
23960 1999-09-17  Jim Meyering  <meyering@ascend.com>
23961
23962         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add strdup.
23963         Paul Nevai reported a link failure on a NeXT CUBE with NeXTSTEP 3.3
23964         due to missing strdup (against sh-utils-2.0).
23965
23966 1999-08-29  Jim Meyering  <meyering@ascend.com>
23967
23968         * m4/jm-macros.m4: Require jm_BISON.
23969         * m4/bison.m4: New file.
23970
23971 1999-08-17  Paul Eggert  <eggert@twinsun.com>
23972
23973         * m4/largefile.m4 (AC_SYS_LARGEFILE): Fix typo: missing comma
23974         in value for _FILE_OFFSET_BITS, which broke ports to HP-UX 10.20.
23975
23976 1999-08-05  Jim Meyering  <meyering@ascend.com>
23977
23978         * m4/getline.m4: Rename test file from conftestdata to conftest.data
23979         to avoid conflicts with `conftest' on 8+3 filesystems.
23980         Suggestion from Eli Zaretskii.
23981
23982 1999-08-04  Jim Meyering  <meyering@ascend.com>
23983
23984         * m4/jm-macros.m4: Move a 4-line block of code from the configure.in of
23985         fileutils and sh-utils (textutils's getline test was inadequate).
23986         (AM_FUNC_GETLINE): Run this test.
23987         (AC_CHECK_FUNCS): Check for getdelim.
23988         Reported by Bob Proulx.
23989
23990 1999-08-02  Jim Meyering  <meyering@ascend.com>
23991
23992         * m4/jm-macros.m4: Add a comment.
23993
23994 1999-08-01  Paul Eggert  <eggert@twinsun.com>
23995
23996         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check whether
23997         <inttypes.h> defines strtoumax as a macro (and not as a
23998         function).
23999
24000 1999-08-01  Paul Eggert  <eggert@twinsun.com>
24001
24002         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Make sure
24003         that we can shift, multiply and divide unsigned long long
24004         values; Ultrix cc can't do it.
24005
24006 1999-08-01  Paul Eggert  <eggert@twinsun.com>
24007
24008         * m4/mktime.m4: New file, which is a preview of what should appear
24009         in the next public autoconf release.
24010
24011 1999-08-01  Paul Eggert  <eggert@twinsun.com>
24012
24013         * m4/lfs.m4: Remove this file.
24014         * m4/largefile.m4: New file.  It contains the old contents of
24015         lfs.m4, except that all names with prefix AC_LFS have been
24016         changed to use the prefix AC_SYS_LARGEFILE instead, to be
24017         compatible with future autoconf versions.  Also, some minor m4
24018         quoting problems have been fixed.
24019
24020 1999-08-01  Paul Eggert  <eggert@twinsun.com>
24021
24022         * m4/gettext.m4 (AM_WITH_NLS): Remove unnecessary lines.
24023         Fix typo: $nls_cv_header_intl was misspelled as $nsl_cv_header_intl.
24024         (AM_GNU_GETTEXT): Fix problem with brackets and m4 quoting,
24025         and simplify the shell code.
24026
24027 1999-08-01  Jim Meyering  <meyering@ascend.com>
24028
24029         * m4/mktime.m4 (AC_FUNC_MKTIME): Undefine to avoid syntax errors from
24030         m4.
24031
24032 1999-07-20  Jim Meyering  <meyering@ascend.com>
24033
24034         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memmove.
24035
24036 1999-07-15  Jim Meyering  <meyering@ascend.com>
24037
24038         * m4/jm-macros.m4 (AC_CHECK_FUNCS): Check for getpagesize.
24039
24040 1999-05-22  Jim Meyering  <meyering@ascend.com>
24041
24042         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memchr.
24043
24044 1999-05-20  Jim Meyering  <meyering@ascend.com>
24045
24046         * m4/search-libs.m4 [AC_SEARCH_LIBS]: Quote name in undefine.
24047         Add a colon after each `then' in case $4 is empty.
24048
24049 1999-05-16  Jim Meyering  <meyering@ascend.com>
24050
24051         * m4/search-libs.m4: New file to override autoconf's AC_SEARCH_LIBS.
24052
24053 1999-05-10  Jim Meyering  <meyering@ascend.com>
24054
24055         * m4/jm-mktime.m4: Reflect renaming: AM_FUNC_MKTIME -> AC_FUNC_MKTIME.
24056
24057         * m4/jm-macros.m4: Require 2.14.1, since we use newly-renamed
24058         AC_FUNC_MKTIME.
24059
24060 1999-05-10  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>
24061
24062         * m4/jm-mktime.m4, putenv.m4: Fix typos in config.h comments.
24063
24064 1999-05-04  Paul Eggert  <eggert@twinsun.com>
24065
24066         * m4/lfs.m4 (AC_LFS): -n32, -o32, and -n64 should be in CFLAGS,
24067         not CPPFLAGS, so that linking works correctly in IRIX.
24068
24069 1999-04-30  Paul Eggert  <eggert@twinsun.com>
24070
24071         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add dup2.
24072
24073 1999-04-20  Paul Eggert  <eggert@twinsun.com>
24074
24075         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Move unsigned long
24076         long check into new jm_AC_TYPE_UNSIGNED_LONG_LONG macro.
24077         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require
24078         jm_AC_TYPE_UNSIGNED_LONG_LONG.
24079         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): New file/macro.
24080
24081         * m4/lfs.m4: Port to AIX and HP-UX.  Support cross-compilation.
24082
24083 1999-04-20  Jim Meyering  <meyering@ascend.com>
24084
24085         * m4/xstrtoumax.m4: Require jm_AC_TYPE_UNSIGNED_LONG_LONG.
24086         AC_REPLACE xstroull if necessary.  From Paul Eggert.
24087         (AC_CHECK_FUNCS): Remove strtoull, strtoumax, strtouq.
24088
24089 1999-04-18  Jim Meyering  <meyering@ascend.com>
24090
24091         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): New file/macro.
24092         * m4/jm-macros.m4: Use it.
24093
24094 1999-04-06  Jim Meyering  <meyering@ascend.com>
24095
24096         * m4/strftime.m4: Remove test for %f.
24097
24098 1999-03-29  Jim Meyering  <meyering@ascend.com>
24099
24100         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): New macro, contains the
24101         superset of the AC_TYPE_* checks in the textutils, fileutils,
24102         and sh-utils, plus AC_TYPE_PID_T.  Paul Eggert suggested adding
24103         AC_TYPE_PID_T.
24104
24105 1999-03-28  Jim Meyering  <meyering@ascend.com>
24106
24107         * m4/jm-macros.m4: Define GNU_PACKAGE here.
24108         Be sure to AC_SUBST it, once again, so that @GNU_PACKAGE@ is
24109         replaced e.g., in the *.sh files of the sh-utils.
24110
24111 1999-03-20  Jim Meyering  <meyering@ascend.com>
24112
24113         * m4/jm-macros.m4: s/jm_WITH_REGEX/jm_INCLUDED_REGEX/.
24114         * m4/regex.m4 (jm_INCLUDED_REGEX): Rename from jm_WITH_REGEX.
24115         Don't depend on AM_GLIBC.  Suggestions from Alain Magloire.
24116
24117 1999-03-19  Jim Meyering  <meyering@ascend.com>
24118
24119         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): New macro.
24120
24121 1999-03-12  Jim Meyering  <meyering@ascend.com>
24122
24123         * m4/jm-macros.m4: Use AC_FUNC_SETVBUF_REVERSED.
24124
24125 1999-03-07  Jim Meyering  <meyering@ascend.com>
24126
24127         * m4/jm-glibc-io.m4: Use only those *_unlocked macros that are
24128         declared.
24129
24130 1999-02-17  Jim Meyering  <meyering@ascend.com>
24131
24132         * m4/gettext.m4 (AM_GNU_GETTEXT): Do `changequote' around use of
24133         brackets in macro definition.  From Eli Zaretskii and Alain Magloire.
24134
24135 1999-02-07  Jim Meyering  <meyering@ascend.com>
24136
24137         * m4/group-member.m4: New file -- extracted from sh-utils'
24138         configure.in.
24139
24140         1999-02-05  Eli Zaretskii  <eliz@is.elta.co.il>
24141         * m4/gettext.m4: Support DOS-style d:/foo/bar absolute file names.
24142
24143 1999-02-06  Jim Meyering  <meyering@ascend.com>
24144
24145         * m4/chown.m4: Use `AC_SUBST(LIBOBJS)' since we set LIBOBJS.
24146         * m4/fnmatch.m4: Likewise.
24147         * m4/getgroups.m4: Likewise.
24148         * m4/lstat.m4: Likewise.
24149         * m4/malloc.m4: Likewise.
24150         * m4/putenv.m4: Likewise.
24151         * m4/realloc.m4: Likewise.
24152         * m4/regex.m4: Likewise.
24153         * m4/stat.m4: Likewise.
24154         * m4/strftime.m4: Likewise.
24155         Suggestion from Alain Magloire.
24156
24157         * m4/chown.m4: Use `.$ac_objext', not `.o'.
24158         * m4/fnmatch.m4: Likewise.
24159         * m4/getgroups.m4: Likewise.
24160         * m4/getline.m4: Likewise.
24161         * m4/lstat.m4: Likewise.
24162         * m4/malloc.m4: Likewise.
24163         * m4/memcmp.m4: Likewise.
24164         * m4/putenv.m4: Likewise.
24165         * m4/realloc.m4: Likewise.
24166         * m4/regex.m4: Likewise.
24167         * m4/stat.m4: Likewise.
24168         * m4/strftime.m4: Likewise.
24169         Suggestion from Alain Magloire.
24170
24171         * m4/jm-macros.m4: Actually invoke jm_WITH_REGEX now that it requires
24172         an argument.
24173
24174         * m4/regex.m4: Add a run-time Test for proper operation of
24175         re_compile_pattern.
24176
24177 1999-01-31  Jim Meyering  <meyering@ascend.com>
24178
24179         * m4/getloadavg.m4: Check for locale.h and the function, setlocale.
24180
24181 1999-01-30  Jim Meyering  <meyering@ascend.com>
24182
24183         * m4/check-type.m4: Use 3-arg form of AC_DEFINE.
24184
24185         * m4/jm-mktime.m4: Make this a wrapper around the official
24186         AM_FUNC_MKTIME rather than my private copy, now that the official one
24187         is up to date.
24188         * m4/mktime.m4: Remove file.
24189
24190         * m4/getloadavg.m4: Use 3-arg form of AC_DEFINE.
24191         * m4/uptime.m4: Likewise.
24192         * m4/uintmax_t.m4: Likewise.
24193
24194 1999-01-28  Jim Meyering  <meyering@ascend.com>
24195
24196         * m4/jm-macros.m4: Use jm_AFS.
24197         * m4/afs.m4: New file (from fileutils' configure.in).
24198
24199         * m4/assert.m4: Use the 3-argument forms of AC_DEFINE* macros.
24200         * m4/chown.m4: Likewise.
24201         * m4/d-ino.m4: Likewise.
24202         * m4/d-type.m4: Likewise.
24203         * m4/fnmatch.m4: Likewise.
24204         * m4/getgroups.m4: Likewise.
24205         * m4/gettext.m4: Likewise.
24206         * m4/jm-mktime.m4: Likewise.
24207         * m4/jm-winsz2.m4: Likewise.
24208         * m4/lcmessage.m4: Likewise.
24209         * m4/ls-mntd-fs.m4: Likewise.
24210         * m4/malloc.m4: Likewise.
24211         * m4/memcmp.m4: Likewise.
24212         * m4/putenv.m4: Likewise.
24213         * m4/realloc.m4: Likewise.
24214         * m4/st_mtim.m4: Likewise.
24215         * m4/strftime.m4: Likewise.
24216
24217 1999-01-16  Jim Meyering  <meyering@ascend.com>
24218
24219         * m4/jm-macros.m4 (ARGMATCH_DIE): Define.
24220         (ARGMATCH_DIE_DECL): Define.
24221
24222 1999-01-12  Jim Meyering  <meyering@ascend.com>
24223
24224         * m4/Makefile.am.in: Rewrite to avoid using fmt.
24225         Reported by Lars Hecking.
24226
24227 1999-01-10  Jim Meyering  <meyering@ascend.com>
24228
24229         * m4/fstypename.m4: Use the new 3-arg form of AC_DEFINE instead of my
24230         gross kludge.
24231         * m4/inttypes_h.m4: Likewise.
24232         * m4/lstat.m4: Likewise.
24233         * m4/malloc.m4: Likewise.
24234         * m4/readdir.m4: Likewise.
24235         * m4/realloc.m4: Likewise.
24236         * m4/st_dm_mode.m4: Likewise.
24237         * m4/stat.m4: Likewise.
24238         * m4/utimbuf.m4: Likewise.
24239         * m4/utimes.m4: Likewise.
24240
24241         * m4/check-decl.m4: Use the new 3-arg form of AC_DEFINE instead of the
24242         AC_CHECK_FUNCS hack.  Now, it's still a hack, but at least the
24243         comments in config.h.in are meaningful.
24244
24245         * m4/jm-macros.m4: Require autoconf-2.13 here.
24246
24247         * m4/regex.m4: By default, don't use the included regex.c on systems
24248         with glibc 2.  Suggestion from Uli Drepper.
24249
24250 1999-01-02  Jim Meyering  <meyering@ascend.com>
24251
24252         * m4/jm-macros.m4: Replace strcasecmp and strncasecmp.
24253
24254 1998-12-18  Jim Meyering  <meyering@ascend.com>
24255
24256         * m4/Makefile.am.in (Makefile.am): Simplify rule.
24257         Based on a suggestion from Lars Hecking.
24258
24259 1998-11-16  Paul Eggert  <eggert@twinsun.com>
24260
24261         * m4/lfs.m4 (AC_LFS): Add support for HP-UX 10.20 and HP-UX 11.
24262
24263 1998-11-16  Jim Meyering  <meyering@ascend.com>
24264
24265         * m4/lfs.m4: Double-quote the `uname...` expression.
24266
24267 1998-11-14  Jim Meyering  <meyering@ascend.com>
24268
24269         * m4/lstat.m4: Correct comment.  POSIX does not permit it to succeed.
24270         * m4/stat.m4: Likewise.
24271
24272 1998-11-03  Jim Meyering  <meyering@ascend.com>
24273
24274         * m4/stat.m4: Rewrite to set HAVE_STAT_EMPTY_STRING_BUG.
24275         * m4/lstat.m4: Rewrite to set HAVE_LSTAT_EMPTY_STRING_BUG.
24276
24277 1998-10-18  Jim Meyering  <meyering@ascend.com>
24278
24279         * m4/check-decl.m4 (jm_CHECK_DECL_LOCALTIME_R): Remove macro.
24280
24281 1998-10-17  Jim Meyering  <meyering@ascend.com>
24282
24283         * m4/decl.m4 (jm_CHECK_DECLARATION): Don't hard-code which headers to
24284         include, though we still hard-code the `require'-like AC_CHECK_HEADERS
24285         calls for those previously hard-coded headers.  Instead, take a new
24286         parameter.
24287         (jm_CHECK_DECLARATIONS): Reflect interface change.
24288         * m4/check-decl.m4 (jm_CHECK_DECLS): Likewise.
24289         (jm_CHECK_DECL_LOCALTIME_R): New macro.
24290
24291         * m4/mktime.m4: Test for spring-forward gap before long-running test.
24292
24293 1998-10-14  Jim Meyering  <meyering@ascend.com>
24294
24295         * m4/mktime.m4: Use the more portable "TZ=PST8PDT,M4.1.0,M10.5.0"
24296         instead of "TZ=America/Vancouver".  From Paul Eggert.
24297
24298 1998-10-11  Jim Meyering  <meyering@ascend.com>
24299
24300         * m4/mktime.m4 (jm_AM_FUNC_MKTIME): New file and macro.
24301         This adds a test for a recently added compatibility fix for mktime.c.
24302         * m4/jm-mktime.m4: Require jm_AM_FUNC_MKTIME, not AM_FUNC_MKTIME.
24303
24304 1998-09-27  Jim Meyering  <meyering@ascend.com>
24305
24306         * m4/jm-macros.m4 (jm_MACROS): Require jm_FUNC_FNMATCH.
24307
24308         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): New file/macro.  Extracted from
24309         ../configure.in, including a change from Gordon Matzigkeit to allow
24310         cross-compiling for the Hurd.
24311
24312         * m4/glibc.m4: New file/macro to test for the GNU C Library
24313         versions 1 and 2.  From Gordon Matzigkeit.
24314         Indent.
24315
24316 1998-09-21  Jim Meyering  <meyering@ascend.com>
24317
24318         * m4/chown.m4: Declare locals: before, after.  From Andries Brouwer.
24319
24320 1998-08-18  Paul Eggert  <eggert@twinsun.com>
24321
24322         Port nanosecond-resolution times to UnixWare 2.1.2 and
24323         pedantic Solaris 2.6.
24324
24325         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC): Renamed from
24326         AC_STRUCT_ST_MTIM.
24327         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC):
24328         Generate name of ns member, instead of just 1 or undef.
24329         Allow for UnixWare 2.1.2 and Solaris 2.6 if in pedantic mode.
24330
24331 1998-08-15  Jim Meyering  <meyering@ascend.com>
24332
24333         * m4/ssize_t.m4 (jm_TYPE_SSIZE_T): Remove file.
24334         * m4/check-type.m4: New file.  Replacement for AC_CHECK_TYPE.
24335         * m4/jm-macros.m4: Use the new AC_CHECK_TYPE(ssize_t, int)
24336         instead of jm_TYPE_SSIZE_T.
24337
24338 1998-08-12  Jim Meyering  <meyering@ascend.com>
24339
24340         * m4/st_dm_mode.m4: New file.  From Johan Danielsson.
24341
24342 1998-08-02  Jim Meyering  <meyering@ascend.com>
24343
24344         * m4/st_mtim.m4: Use hack to avoid having to put #undef HAVE_ST_MTIM
24345         in acconfig.h manually.
24346
24347 1998-07-31  Paul Eggert  <eggert@twinsun.com>
24348
24349         * m4/st_mtim.m4: New file.
24350
24351 1998-07-28  Jim Meyering  <meyering@ascend.com>
24352
24353         * m4/utimes.m4: Undef stat.
24354
24355 1998-07-25  Jim Meyering  <meyering@ascend.com>
24356
24357         * m4/utime.m4 (jm_FUNC_UTIME): New file and macro.
24358         * m4/utimes.m4 (jm_FUNC_UTIMES_NULL): New file and macro.
24359
24360 1998-07-09  Manfred Hollstein  <manfred@s-direktnet.de>
24361
24362         * m4/chown.m4 (jm_FUNC_CHOWN): Add a check to verify that the
24363         uid and gid actually remain unchanged.
24364
24365 1998-07-07  Jim Meyering  <meyering@ascend.com>
24366
24367         * m4/jm-glibc-io.m4: Remove fclose_unlocked.
24368
24369 1998-07-04  Jim Meyering  <meyering@ascend.com>
24370
24371         * m4/regex.m4: Use syscmd, ifelse, and sysval.  Mainly as an exercise
24372         to prove that this macro can be used in packages without regex.c.
24373
24374 1998-07-04  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
24375
24376         * m4/gettext.m4 (AM_WITH_NLS): Remove intl/libintl.h if <libintl.h>
24377         is to be used.
24378
24379 1998-07-03  Jim Meyering  <meyering@ascend.com>
24380
24381         * m4/gettext.m4: Add -lintl if it's found to be necessary.
24382
24383         * m4/gettext.m4: New file -- from gettext-0.10.35.
24384         * m4/lcmessage.m4: Likewise.
24385         * m4/progtest.m4: Likewise.
24386
24387         * m4/regex.m4 (jm_WITH_REGEX): New file and macro.
24388         * m4/jm-macros.m4: Require the new macro.
24389
24390 1998-06-29  Jim Meyering  <meyering@ascend.com>
24391
24392         * m4/fstypename.m4: Include sys/param.h.  NetBSD 1.3.1 requires this
24393         for the definition of NGROUPS (used in a system header included
24394         by sys/mount.h).
24395
24396 1998-06-28  Jim Meyering  <meyering@ascend.com>
24397
24398         * m4/ls-mntd-fs.m4: New file.
24399         * m4/fstypename.m4: New file.
24400
24401         * m4/jm-macros.m4: Require the new macro.
24402         * m4/jm-glibc-io.m4: New file.
24403
24404 1998-05-19  Jim Meyering  <meyering@ascend.com>
24405
24406         * m4/jm-macros.m4: Add jm_FUNC_LCHOWN.
24407         * m4/lchown.m4: New file.
24408
24409         * m4/Makefile.am.in: New file.
24410         * m4/Makefile.am (Makefile.am): Depend on Makefile.am.in.
24411
24412 1998-05-14  Jim Meyering  <meyering@ascend.com>
24413
24414         * m4/Makefile.am (EXTRA_DIST): Add them.
24415         * m4/jm-macros.m4: New file.
24416         * m4/utimbuf.m4: New file.
24417
24418 1998-05-12  Jim Meyering  <meyering@ascend.com>
24419
24420         * m4/Makefile.am (EXTRA_DIST): Add isc-posix.m4.
24421
24422 1998-05-11  Jim Meyering  <meyering@ascend.com>
24423
24424         * m4/isc-posix.m4: New file.
24425
24426 1998-05-10  Jim Meyering  <meyering@ascend.com>
24427
24428         * m4/jm-mktime.m4: Use AM_FUNC_MKTIME, now that it's up to date.
24429
24430 1998-05-09  Jim Meyering  <meyering@ascend.com>
24431
24432         * m4/Makefile.am (EXTRA_DIST): Add ssize_t.m4.
24433         (EXTRA_DIST): Remove mktime.m4, now that the new version is included
24434         with automake.
24435
24436         * m4/ssize_t.m4: New file.
24437         * m4/mktime.m4: Remove file -- the new automake has this now.
24438
24439 1998-04-26  Jim Meyering  <meyering@ascend.com>
24440
24441         * m4/assert.m4: New file.
24442         * m4/Makefile.am (EXTRA_DIST): Add assert.m4.
24443
24444 1998-04-05  Jim Meyering  <meyering@ascend.com>
24445
24446         * m4/prereq.m4 (jm_PREREQ_REGEX): New macro.
24447         (jm_PREREQ): Use it here.
24448
24449 1998-03-23  Jim Meyering  <meyering@eng.ascend.com>
24450
24451         * m4/inttypes_h.m4: Kludges so I don't have to add HAVE_INTTYPES_H
24452         in acconfig.h.
24453
24454 1998-03-15  Jim Meyering  <meyering@eng.ascend.com>
24455
24456         * m4/prereq.m4: New file.
24457         * m4/error.m4: New file.
24458         * m4/Makefile.am (EXTRA_DIST): Add error.m4 and prereq.m4.
24459
24460 1998-02-07  Jim Meyering  <meyering@eng.ascend.com>
24461
24462         * m4/getline.m4: Don't set am_cv_func_working_getline before the
24463         cache-check for the same variable -- that defeated the purpose of
24464         the test; the test program was never run.  This was a problem only
24465         on systems with losing getline functions -- HP-UX 10.20 is one.
24466         Reported by Bjorn Helgaas.
24467
24468 1998-02-06  Jim Meyering  <meyering@eng.ascend.com>
24469
24470         * m4/Makefile.am (EXTRA_DIST): Add perl.m4.
24471
24472 1998-01-10  Jim Meyering  <meyering@na-net.ornl.gov>
24473
24474         * m4/Makefile.am (EXTRA_DIST): Add const.m4.
24475
24476         * m4/const.m4: New file.  Use an initializer in this declaration
24477         typedef int charset[2]; const charset x;
24478         Reported by Bob Glickstein.
24479
24480 1997-12-21  Jim Meyering  <meyering@na-net.ornl.gov>
24481
24482         * m4/chown.m4: Fix reversed types on -1 args to chown.
24483         From Kaveh Ghazi.
24484
24485 1997-12-14  Jim Meyering  <meyering@na-net.ornl.gov>
24486
24487         * m4/check-decl.m4: s/DECLARATION_/DECL_/g.
24488         Add lseek and memchr.
24489
24490         * m4/decl.m4: s/HAVE_DECLARATION_/HAVE_DECL_/g.
24491         T.E.Dickey <dickey@clark.net> said that some older preprocessors
24492         have a 20-character limit on names.
24493
24494 1997-11-30  Jim Meyering  <meyering@na-net.ornl.gov>
24495
24496         * m4/inttypes_h.m4: New file.
24497         * m4/uintmax_t.m4: New file.
24498         * m4/Makefile.am (EXTRA_DIST): Add inttypes_h.m4 and uintmax_t.m4.
24499
24500 Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006
24501   Free Software Foundation, Inc.
24502 Copying and distribution of this file, with or without modification,
24503 are permitted provided the copyright notice and this notice are preserved.