7be6fcccf94129d6ff9fc0c5c7bd8a20910a928c
[gnulib.git] / ChangeLog
1 2006-11-22  Jim Meyering  <jim@meyering.net>
2
3         * m4/clock_time.m4 (gl_CLOCK_TIME): Quote AC_SUBST argument.
4         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
5
6 2006-11-20  Bruno Haible  <bruno@clisp.org>
7
8         * gettext.m4 (AM_GNU_GETTEXT): Revert 2005-07-28 patch: Use
9         changequote instead of pairs of brackets.
10         Reported by Andreas Schwab <schwab@suse.de>.
11
12 2006-11-21  Jim Meyering  <jim@meyering.net>
13
14         * lib/fts.c (fts_safe_changedir): Move a declaration "up",
15         so as to remain compatible with older compilers.
16         Patch from Michael Deutschmann.
17
18 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
19
20         * MODULES.html.sh (File system functions): Add openat.
21
22         * lib/openat.h (rpl_fstatat): New macro, if
23         [HAVE_OPENAT && ! LSTAT_FOLLOWS_SLASHED_SYMLINK.
24         (fstatat): Define to rpl_fstatat under the same conditions,
25         unless COMPILING_FSTATAT.
26         * m4/openat.m4 (gl_FUNC_OPENAT): Compile fstatat.c too, if fstatat
27         seems to have the bug.
28         * lib/fstatat.c: New file.
29         * modules/openat (Files): Add it.
30
31 2006-11-20  Bruno Haible  <bruno@clisp.org>
32
33         * Makefile: New file.
34
35 2006-11-20  Jim Meyering  <jim@meyering.net>
36
37         The beginnings of syntax-related checks for gnulib.
38         * lib/Makefile: New file.
39         * lib/t-idcache: New script.  Ensure that the two halves of
40         idcache.c stay in sync.
41
42         * lib/idcache.c: Adjust comments in user- and group- portions to
43         be more accurate, and to be consistent with one another.
44
45 2006-11-20  Jim Meyering  <jim@meyering.net>
46
47         * lib/idcache.c: Restore most of the 2006-11-06 patch, so as to
48         continue using the flexible array member (thus, this module performs
49         half as many malloc calls), with the addition that...
50         (getgroup, getuser): Consistently record a non-match via an empty
51         "name" string, and map an empty string match to a NULL return value.
52         * modules/idcache (Depends-on): Re-add flexmember.
53
54         * lib/idcache.c (getuser): Remove all uses of the register keyword.
55         (getuidbyname, getgroup, getgidbyname): Likewise.
56
57         Use cleaner syntax: NULL rather than 0.
58         * lib/idcache.c (getuidbyname, getgidbyname): Return NULL, not 0.
59
60 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
61
62         * lib/idcache.c: Undo most recent patch, dated 2006-11-06.
63         It mishandled the case where the group was missing.
64         Problem reported by Greg Schafer.
65         * modules/idcache: Likewise.
66
67 2006-11-18  Jim Meyering  <jim@meyering.net>
68
69         * check-module (%exempt_header): Add exception for some
70         conditionally-included headers.
71
72         * modules/i-ring (Depends-on): Add verify.
73         (License): Change to LGPL.
74
75 2006-11-16  Paul Eggert  <eggert@cs.ucla.edu>
76
77         * modules/getaddinfo (Depends-on): Remove inttostr; add snprintf.
78         * lib/getaddrinfo.c: Include snprintf.h rather than intprops.h
79         and inttostr.h.  Use snprintf rather than uinttostr, so that
80         LGPLed code doesn't depend on GPLed.
81
82 2006-11-17  Paul Eggert  <eggert@cs.ucla.edu>
83
84         * modules/inline (License): Change from GPL to LGPL.
85
86 2006-11-17  Jim Meyering  <jim@meyering.net>
87
88         * modules/d-type (License): Switch to LGPL.
89
90 2006-11-15  Bruno Haible  <bruno@clisp.org>
91
92         * m4/alloca.m4 (gl_FUNC_ALLOCA): Fix the AC_CACHE_CHECK message.
93
94 2006-11-15  Eric Blake  <ebb9@byu.net>
95
96         * m4/allocsa.m4 (gl_ALLOCSA): Don't invoke macro already picked up by
97         the module dependency.
98
99 2006-11-15  Yoann Vandoorselaere <yoann.v@prelude-ids.com>
100             Bruno Haible  <bruno@clisp.org>
101
102         * gnulib-tool (func_create_testdir): Add license consistency check.
103
104 2006-11-15  Eric Blake  <ebb9@byu.net>
105
106         * m4/alloca.m4 (gl_FUNC_ALLOCA): Use AC_CACHE_CHECK to avoid a
107         random "(cached)" in configure output.
108
109 2006-11-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
110
111         * m4/inttypes.m4 (gl_INTTYPES_H): Use AC_CACHE_CHECK so that the
112         test for conforming inttypes.h is both announced and cached.
113
114         * MODULES.html.sh (seen_modules, seen_files): New variables.
115         (func_module): Rewrite to use a few less gnulib-tool and sed
116         invocations.  Avoid a couple of quadratic algorithms for ...
117         (missed_modules, missed_files): ... these, with ...
118         (func_append, func_tmpdir): ... these new functions, from
119         gnulib-tool.  Analogously, install traps for cleanup.
120
121         * tests/test-gc.c (main): Remove unused variables.
122         * tests/test-read-file.c: Include stdlib.h, for 'free'.
123
124 2006-11-14  Paul Eggert  <eggert@cs.ucla.edu>
125
126         * modules/inttostr (License): Change to LGPL.
127
128 2006-11-14  Eric Blake  <ebb9@byu.net>
129
130         * modules/tempname (License): Change to LGPL.
131
132 2006-11-14  Eric Blake  <ebb9@byu.net>
133
134         * doc/functions.texi (Function Portability): *printf functions on
135         Cygwin now understand all POSIX size specifiers.
136
137 2006-11-14  Bruno Haible  <bruno@clisp.org>
138
139         * modules/c-ctype (License): Change to LGPL.
140
141 2006-11-12  Bruno Haible  <bruno@clisp.org>
142
143         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
144         AC_LIB_LINKFLAGS_BODY): Also set a LIB${NAME}_PREFIX variable. Needed
145         for GNOME libraries, for which the include files are installed in
146         subdirectories of $prefix/include.
147
148 2006-11-12  Bruno Haible  <bruno@clisp.org>
149
150         * m4/lib-link.m4: Require at least autoconf-2.54.
151         (AC_LIB_LINKFLAGS_BODY) [autoconf < 2.61]: Turn dots into the library
152         name to underscores for the --with option.
153
154 2006-11-13  Bruno Haible  <bruno@clisp.org>
155
156         * gnulib-tool (func_create_testdir): Set gl_source_base correctly in
157         the tests directory.
158         Reported by Ralf Wildenhues.
159
160 2006-11-13  Bruno Haible  <bruno@clisp.org>
161
162         * gnulib-tool (func_emit_initmacro_start): Also override AC_LIBSOURCES.
163         (func_emit_initmacro_end): Undo the override here.
164         (func_emit_initmacro_done): Emit a definition for gl_LIBSOURCES.
165         Works around the famous automake error in coreutils.
166
167 2006-11-13  Eric Blake  <ebb9@byu.net>
168
169         * lib/gl_anytree_oset.h (gl_tree_search_atleast): Return the
170         element, not its node.
171
172 2006-11-12  Bruno Haible  <bruno@clisp.org>
173
174         * gnulib-tool (func_emit_lib_Makefile_am): Replace occurrences of
175         '$(top_srcdir)/build-aux/', taking into account the real auxdir.
176
177 2006-11-12  Bruno Haible  <bruno@clisp.org>
178
179         * gnulib-tool: New option --local-symlink.
180         (func_usage): Document it.
181         (lsymbolic): New variable.
182         (func_import, func_create_testdir): If --symlink was not specified,
183         test whether --local-symlink was specified and the file comes from
184         the local_gnulib_dir.
185
186 2006-11-12  Bruno Haible  <bruno@clisp.org>
187
188         * gnulib-tool (func_ln): New function.
189         (func_ln_if_changed, func_create_testdir): Use it instead of "ln -s".
190
191 2006-11-12  Bruno Haible  <bruno@clisp.org>
192
193         Finish support for source files in subdirectories.
194         * gnulib-tool (func_emit_lib_Makefile_am): If some of the source files
195         are in subdirectories, set uses_subdirs and add 'subdir-objects' to
196         AUTOMAKE_OPTIONS.
197         (func_import, func_create_testdir): Invoke AM_PROG_CC_C_O in this case.
198
199 2006-11-12  Bruno Haible  <bruno@clisp.org>
200
201         * gnulib-tool (func_get_automake_snippet): Synthesize also an
202         EXTRA_lib_SOURCES augmentation.
203         (func_emit_lib_Makefile_am): Initialize EXTRA_lib..._SOURCES to empty.
204
205 2006-11-12  Jim Meyering  <jim@meyering.net>
206
207         Make fts (in FTS_CWDFD mode) more efficient by caching a few open
208         file descriptors.  This also averts a failure on systems with
209         native openat support when a traversed directory lacks "x" access.
210         * lib/fts_.h: Include "i-ring.h"
211         (struct FTS) [fts_fd_ring]: New member.
212         * lib/fts.c (RESTORE_INITIAL_CWD): Also call fd_ring_clear.
213         (FCHDIR): Add parentheses.
214         (fd_ring_check, fd_ring_print) [!FTS_DEBUG]: Define away.
215         (cwd_advance_fd): Add a 3rd parameter.  Adjust all callers.
216         When descending, rather than simply closing the previous
217         fts_cwd_fd value, push that file descriptor onto the ring.
218         (same_fd, fd_ring_print, fd_ring_check) [FTS_DEBUG]: New functions.
219         (fts_open): Initialize the new fd_ring member.
220         (fts_close): Clear the ring.
221         (fts_safe_changedir): When possible, use our new fd_ring to skip
222         the diropen and fstat and dev/ino comparison that would normally
223         accompany a virtual `chdir ("..")'.
224
225         * modules/fts (Depends-on): Add i-ring.
226         * modules/i-ring: New module.
227         * lib/i-ring.c, lib/i-ring.h, lib/i-ring-test.c: New files.
228         * m4/i-ring.m4: New file.
229
230 2006-11-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
231
232         * gnulib-tool (func_create_testdir): Fix replacement of
233         `build-aux' in configure.ac.  Run autotools in gltests
234         subdirectory.
235         (func_create_testdir, func_create_megatestdir, test): There is
236         no need for '--force' in most autotool invocations in a new
237         tree.  Actually fail the whole test if any of the tools, or the
238         configure or make stages fail.
239
240         Sync from Automake.
241         * build-aux/gnupload: Revert last change.  Add pointer to upload
242         instructions of the GNU Maintenance Instructions.
243         Suggestion by Karl Berry.
244
245 2006-11-10  Jim Meyering  <jim@meyering.net>
246
247         * lib/fts.c [FTS_DEBUG]: Don't try to print a pointer via %s.
248
249 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
250
251         * lib/gettext.h (dgettext, dcgettext, ngettext) [! ENABLE_NLS]:
252         (dngettext, dcngettext, bindtextdomain) [! ENABLE_NLS]:
253         (bind_textdomain_codeset) [! ENABLE_NLS]:
254         Evaluate all the arguments.  That way, callers get compatible behavior
255         if the arguments have side effects.  Also, it avoids some GCC
256         diagnostics in some cases; Joel E. Denny reported problems when Bison
257         was configured with --enable-gcc-warnigs.
258
259 2006-11-10  Jim Meyering  <jim@meyering.net>
260
261         * m4/inline.m4 (gl_INLINE): Check with the compiler, not cpp, so that
262         relevant options in CFLAGS (like -O, -fno-inline) are taken into
263         account.
264
265 2006-11-10  Jim Meyering  <jim@meyering.net>
266
267         * modules/inline: New file/module.
268         * modules/xalloc (Files): Remove m4/inline.m4.
269         (Depends-on): Add inline, instead.
270         * modules/oset: Likewise.
271         * modules/list: Likewise.
272
273 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
274
275         * lib/stdint_.h (uintmax_t): Fix typo: int64_t -> uint64_t.
276         Problem reported by Matthew Woehlke.
277
278 2006-11-09  Bruno Haible  <bruno@clisp.org>
279
280         * lib/tempname.c (gen_tempname): Remove variant that invokes
281         __gen_tempname.
282         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Don't test for
283         __gen_tempname.
284
285 2006-11-08  Bruno Haible  <bruno@clisp.org>
286
287         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Set ac_cv_type_long_long_int
288         to 'yes' instead of 'cross-compiling'.
289
290 2006-11-08  Paul Eggert  <eggert@cs.ucla.edu>
291
292         * lib/quotearg.h (quotearg_free): New decl.
293         * lib/quotearg.c (quotearg_free): New function.
294         (slot0, nslots, slotvec0, slotvec):
295         Now file-scope so that quotearg_free can get at them.
296
297 2006-11-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
298
299         Sync from Automake.
300         * build-aux/gnupload: Add missing 'gnu' to example URL.
301         Report by Karl Berry.
302
303 2006-11-08  Bruno Haible  <bruno@clisp.org>
304
305         * m4/inline.m4 (gl_INLINE): Also test __NO_INLINE__.
306         Suggested by Paul Eggert.
307
308 2006-11-08  Jim Meyering  <jim@meyering.net>
309
310         * lib/fts.c [!_LGPL_PACKAGE]: Don't include fcntl--.h twice.
311         It's already included if !_LIBC.
312         (fts_safe_changedir): Add a comment.
313
314 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
315
316         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Detect bug in
317         Tandem NonStop Kernel (OSS) cc -O circa 2004, reported by
318         Matthew Woehlke.
319
320         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Move
321         definitions up, to avoid colliding with change below.
322         (static_inline) [HAVE_INLINE]: New macro.
323         (xnmalloc, xnrealloc, x2nrealloc, xcharalloc):
324         Provide extern decls when !HAVE_INLINE.  Do not define unless
325         static_inline is defined, either by us or by xmalloc.c.  Use
326         static_inline rather than static inline.
327         (XCALLOC): Optimize sizeof(T) = 1 case.
328         * lib/xmalloc.c (static_inline) [!HAVE_INLINE]: New macro.
329
330 2006-11-07  Bruno Haible  <bruno@clisp.org>
331
332         * lib/xalloc.h (XNMALLOC): Restore optimization of sizeof(T) = 1 case.
333         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require gl_INLINE instead of
334         AC_C_INLINE.
335         * modules/xalloc (Files): Add m4/inline.m4.
336
337 2006-11-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
338
339         * README: Fix typo.
340         * doc/gnulib.texi (Miscellaneous Notes): Likewise, rename...
341         (Miscellanous Notes): ...from this.
342
343 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
344
345         * m4/flexmember.m4 (AC_C_FLEXIBLE_ARRAY_MEMBER):
346         Mention that offsetof should be used instead of sizeof.
347         From Bruno Haible.
348
349 2006-11-07  Bruno Haible  <bruno@clisp.org>
350
351         * lib/w32spawn.h (prepare_spawn): Use XNMALLOC instead of xmalloc.
352
353 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
354
355         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
356         * lib/gl_anyavltree_list2.h (create_subtree_with_contents):
357         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
358         (gl_tree_add_before, gl_tree_add_after):
359         Use XMALLOC instead of xmalloc, and XCALLOC instead of xzalloc.
360         * lib/gl_anyhash_list2.h (hash_resize): Likewise.
361         * lib/gl_anylinked_list2.h (gl_linked_create_empty, gl_linked_create):
362         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before):
363         (gl_linked_add_after, gl_linked_add_at): Likewise.
364         * lib/gl_anyrbtree_list2.h (create_subtree_with_contents):
365         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
366         (gl_tree_add_before, gl_tree_add_after): Likewise.
367         * lib/gl_anytree_list2.h (gl_tree_create_empty): Likewise.
368         * lib/gl_anytree_oset.h (gl_tree_create_empty): Likewise.
369         * lib/gl_anytreehash_list1.h (add_to_bucket): Likewise.
370
371 2006-11-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
372
373         * lib/gl_oset.h: Use C comment style, not C++ comment style.
374
375 2006-11-06  Bruno Haible  <bruno@clisp.org>
376
377         * m4/inline.m4: New file.
378         * m4/gl_list.m4 (gl_LIST): Require gl_INLINE.
379         * modules/list (Files): Add m4/inline.m4.
380         * modules/oset (Files): Likewise.
381
382 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
383
384         * lib/idcache.c: Include <stddef.h>, for offsetof.
385         (struct userid.name): Change from char * to a flexible array member.
386         All uses changed.
387         * modules/idcache (Depends-on): Add flexmember.
388
389         * MODULES.html.sh (Core language properties): New module flexmember.
390         * modules/flexmember, m4/flexmember.m4: New files.
391
392         * lib/xalloc.h (xnmalloc, xnrealloc, x2nrealloc): Now static
393         inline functions that are identical with the old xnmalloc_inline,
394         xnrealloc_inline, x2nrealloc_inline of lib/xmalloc.c.  This is so
395         that we can avoid some unnecessary integer multiplications and
396         divisions in the common case where the element size is known at
397         compile time.
398         (XNMALLOC) [HAVE_INLINE]: Remove special case, which is no longer
399         needed.
400         (xnboundedmalloc): Remove.
401         (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Use lower-case letters for
402         arguments, for consistency with rest of this header.
403         (xcharalloc): Rewrite using XNMALLOC.
404         * lib/xmalloc.c (xnmalloc_inline, xnmalloc, xnrealloc_inline):
405         (xnrealloc, x2nrealloc_inline, x2nrealloc): Remove.  The *_inline
406         versions have been moved to lib/xalloc.h and renamed to be the
407         non-*_inline versions.
408         (xmalloc, xrealloc): Implement without reference to the xnmalloc
409         and xnrealloc functions, since those functions are now inline and
410         now call us.
411         (x2realloc): Invoke x2realloc, not x2realloc_inline, to accommodate
412         renaming described above.
413         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Remove AC_C_INLINE since
414         xmalloc.c no longer uses inline directly.  gl_PREREQ_XALLOC now
415         captures the dependency in AC_C_INLINE.
416
417         New module canonicalize-lgpl, proposed by Charles Wilson in
418         <http://lists.gnu.org/archive/html/bug-gnulib/2006-11/msg00020.html>
419         with a few small changes afterwards.
420         * MODULES.html.sh (File system functions): New module
421         canonicalize-lgpl.
422         * lib/canonicalize.h: Add comments for canonicalize_filename_mode
423         and canonicalize_file_name.
424         * lib/canonicalize-lgpl.c, m4/canonicalize-lgpl.m4:
425         * modules/canonicalize-lgpl: New files.
426
427 2006-11-05  Bruno Haible  <bruno@clisp.org>
428
429         * gnulib-tool (func_import, func_create_testdir): Create directories
430         also for files in subdirectories of lib/.
431
432 2006-11-05  Bruno Haible  <bruno@clisp.org>
433
434         * lib/gl_array_list.c (gl_array_iterator_next): Make pointer decrement
435         ANSI C compliant.
436
437 2006-11-03  Bruno Haible  <bruno@clisp.org>
438
439         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
440         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require AC_C_INLINE.
441         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): New macros.
442         (xnboundedmalloc): New inline function.
443         * lib/classpath.c (new_classpath): Use XNMALLOC instead of xmalloc.
444         * lib/clean-temp.c (create_temp_dir): Use XNMALLOC, XMALLOC instead of
445         xmalloc.
446         * lib/concatpath.c (concatenated_pathname): Use XNMALLOC instead of
447         xmalloc.
448         * lib/fatal-signal.c (at_fatal_signal): Use XNMALLOC instead of xmalloc.
449         * lib/findprog.c (find_in_path): Use XNMALLOC instead of xmalloc.
450         * lib/gl_array_list.c (gl_array_create_empty): Use XMALLOC instead of
451         xmalloc.
452         (gl_array_create): Use XNMALLOC, XMALLOC instead of xmalloc.
453         * lib/gl_array_oset.c (gl_array_create_empty): Use XNMALLOC instead of
454         xmalloc.
455         * lib/gl_avltree_oset.c (gl_tree_add_first, gl_tree_add_before,
456         gl_tree_add_after): Use XMALLOC instead of xmalloc.
457         * lib/gl_carray_list.c (gl_carray_create_empty): Use XMALLOC instead of
458         xmalloc.
459         (gl_carray_create): Use XNMALLOC, XMALLOC instead of xmalloc.
460         * lib/gl_rbtree_oset.c (gl_tree_add_first, gl_tree_add_before,
461         gl_tree_add_after): Use XMALLOC instead of xmalloc.
462         * lib/gl_sublist.c (gl_sublist_create): Use XMALLOC instead of xmalloc.
463         * lib/pagealign_alloc.c (new_memnode): Use XMALLOC instead of xmalloc.
464         * lib/sh-quote.c (shell_quote_argv): Use XNMALLOC instead of xmalloc.
465         * lib/xvasprintf.c (xstrcat): Use XNMALLOC instead of xmalloc.
466
467 2006-11-03  Bruno Haible  <bruno@clisp.org>
468
469         * lib/c-ctype.h [C++]: Define functions without name mangling.
470         * lib/fwriteerror.h [C++]: Likewise.
471         * lib/gcd.h [C++]: Likewise.
472         * lib/linebreak.h [C++]: Likewise.
473
474 2006-11-03  Paul Eggert  <eggert@cs.ucla.edu>
475
476         * lib/canonicalize.h: (canonicalize_mode_t, CAN_EXISTING):
477         (CAN_ALL_BUT_LAST, CAN_MISSING, canonicalize_filename_mode):
478         Define only if PROVIDE_CANONICALIZE_FILENAME_MODE is defined.
479         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
480         Check for functions and headers just once.
481         Check for declaration of canonicalize_file_name.
482         Define PROVIDE_CANONICALIZE_FILENAME_MODE.
483
484 2006-11-02  Charles Wilson  <cygwin@cwilson.fastmail.fm>
485
486         * gnulib-tool (func_import): Fix typo in actioncmd.
487
488 2006-11-02  Bruno Haible  <bruno@clisp.org>
489
490         * gnulib-tool (func_get_automake_snippet): Interpret a backslash-
491         newline sequence in the Makefile.am snippet as a space, like "make"
492         does.
493         Reported by Roger Persson <perrog@gmail.com>.
494
495 2006-11-01  Bruno Haible  <bruno@clisp.org>
496
497         * m4/strcase.m4 (gl_FUNC_STRNCASECMP): Check whether strncasecmp is
498         already declared in <string.h>.
499         * lib/strcase.h (strncasecmp): Don't declare it if yes.
500
501 2006-11-01  Bruno Haible  <bruno@clisp.org>
502
503         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Don't define strcasecmp here.
504         * lib/strcase.h: Include <string.h>.
505         (strcasecmp): Define to rpl_strcasecmp here.
506
507 2006-11-01  Bruno Haible  <bruno@clisp.org>
508
509         * lib/printf-parse.c (PRINTF_PARSE): Cast malloc/realloc results.
510
511 2006-11-01  Eric Blake  <ebb9@byu.net>
512
513         * lib/mkstemp-safer.c (mkstemp_safer): Allow C++ compilation.
514
515         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Allow C++ configuration.
516
517 2006-10-29  Bruno Haible  <bruno@clisp.org>
518
519         Make it compile in C++ mode.
520         * lib/full-write.c (full_rw): Add a cast.
521
522 2006-11-01  Bruno Haible  <bruno@clisp.org>
523
524         * gnulib-tool (func_get_automake_snippet): Change sed_combine_lines to
525         be POSIX compliant.
526         Reported by Roger Persson <perrog@gmail.com>.
527
528 2006-11-01  Eric Blake  <ebb9@byu.net>
529
530         * lib/getopt_.h: Fix comments.
531
532 2006-10-31  Eric Blake  <ebb9@byu.net>
533
534         * modules/tmpdir (Depends-on): Add sys_stat.
535         * modules/mkdtemp (Depends-on): Add tempname, drop unistd.
536         * lib/mkdtemp.c (gen_tempname): Remove; tempname covers this.
537         * lib/tmpdir.c (S_ISDIR): Simplify, thanks to sys_stat.
538         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Simplify, thanks to
539         tempname.
540
541 2006-10-31  Paul Eggert  <eggert@cs.ucla.edu>
542
543         Avoid some C++ diagnostics reported by Bruno Haible.
544         * lib/quotearg.c (clone_quoting_options): Use xmemdup rather than
545         xmalloc.
546         (quotearg_alloc): Use xcharalloc rather than xmalloc.
547         (struct slotvec): Move to top level.
548         (quotearg_n_options): Rewrite to avoid xmalloc.
549         * lib/xalloc.h (xcharalloc): New function.
550         * (xrealloc, xnrealloc, x2realloc, x2nrealloc, xmemdup):
551         [defined __cplusplus]: Add function template that provides result
552         type propagation.  This part of the change is from Bruno Haible.
553
554 2006-10-29  Bruno Haible  <bruno@clisp.org>
555
556         Make it compile in C++ mode.
557         * lib/striconv.c (mem_cd_iconv): Cast malloc/realloc result.
558         * lib/strnlen1.c (strnlen1): Cast memchr result.
559         * lib/mbchar.h (mb_copy): Rename arguments to 'new_mbc', 'old_mbc'.
560         * lib/clean-temp.c (string_equals, string_hash): Add casts.
561         (create_temp_dir): Rename local variable 'template'.
562         (compile_csharp_using_sscli): Add cast.
563         * lib/fatal-signal.c (at_fatal_signal): Cast xmalloc result.
564         * lib/findprog.c (find_in_path): Likewise.
565         * lib/linebreak.c (mbs_width_linebreaks): Cast malloc result.
566         * lib/wait-process.c (register_slave_subprocess): Likewise.
567
568 2006-10-22  Bruno Haible  <bruno@clisp.org>
569
570         * modules/tsearch: New file.
571         * lib/tsearch.h: New file.
572         * lib/tsearch.c: New file, from glibc-2.5 with small modifications.
573         * m4/tsearch.m4: New file.
574         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add tsearch.
575
576 2006-10-29  Eric Blake  <ebb9@byu.net>
577
578         * lib/arcfour.c: Assume config.h.
579         * lib/arctwo.c: Likewise.
580         * lib/base64.c: Likewise.
581         * lib/check-version.c: Likewise.
582         * lib/crc.c: Likewise.
583         * lib/des.c: Likewise.
584         * lib/gc-gnulib.c: Likewise.
585         * lib/gc-libgcrypt.c: Likewise.
586         * lib/gc-pbkdf2-sha1.c: Likewise.
587         * lib/getaddrinfo.c: Likewise.
588         * lib/getdelim.c: Likewise.
589         * lib/getline.c: Likewise.
590         * lib/hmac-md5.c: Likewise.
591         * lib/hmac-sha1.c: Likewise.
592         * lib/iconvme.c: Likewise.
593         * lib/md2.c: Likewise.
594         * lib/md4.c: Likewise.
595         * lib/memxor.c: Likewise.
596         * lib/read-file.c: Likewise.
597         * lib/readline.c: Likewise.
598         * lib/rijndael-alg-fst.c: Likewise.
599         * lib/rijndael-api-fst.c: Likewise.
600         * lib/xgetdomainname.c: Likewise.
601
602 2006-10-28  Eric Blake  <ebb9@byu.net>
603
604         * lib/xstrndup.c: Assume config.h.
605
606 2006-10-27  Paul Eggert  <eggert@cs.ucla.edu>
607
608         Move stat.h-substitute stuff from lib/stat-macros.h to lib/stat_.h.
609         stat-macros.h is now for our own macros, whereas stat_h is for
610         macros in the <sys/stat.h> name space.
611         * lib/stat-macros.h: Remove copyright notice, as this file is now tiny.
612         (STAT_MACROS_H): Remove.
613         (S_IFMT, S_ISBLK, S_ISCHR, S_ISDIR, S_ISFIFO, S_ISLNK, S_ISNAM):
614         (S_ISMPB, S_ISMPC, S_ISNWK, S_ISREG, S_ISSOCK, S_ISDOOR, S_ISPORT):
615         (S_TYPEISMQ, S_TYPEISTMO, S_TYPEISSEM, S_TYPEISSHM, S_ISCTG, S_ISOFD):
616         (S_ISOFL, S_ISWHT, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IRGRP):
617         (S_IROTH, S_IWUSR, S_IWGRP, S_IWOTH, S_IXUSR, S_IXGRP, S_IXOTH):
618         (S_IRWXU, S_IRWXG, S_IRWXO, S_IXUGO, S_IRWXUGO):
619         Move these macros to ...
620         * lib/stat_.h: here.  Don't include stat-macros.h.
621         * lib/canonicalize.c: Don't include stat-macros.h.
622         * lib/chown.c: Likewise.
623         * lib/euidaccess.c: Likewise.
624         * lib/file-type.c: Likewise.
625         * lib/filemode.c: Likewise.
626         * lib/glob.c: Likewise.
627         * lib/isapipe.c: Likewise.
628         * lib/lchown.c: Likewise.
629         * lib/lstat.c: Likewise.
630         * lib/mkdir-p.c: Likewise.
631         * lib/rmdir.c: Likewise.
632         * m4/lchown.m4 (gl_FUNC_LCHOWN): Don't require gl_STAT_MACROS.
633         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Don't check for io.h
634         unless mkdir isn't declared, to speed up 'configure'.
635         Always create sys/stat.h, since it's unlikely any real sys/stat.h
636         would define all the S_* symbols.
637         * modules/canonicalize (Depends-on):
638         Depend on sys_stat, not stat-macros.
639         * modules/chown: Likewise.
640         * modules/euidaccess: Likewise.
641         * modules/filemode: Likewise.
642         * modules/file-type: Likewise.
643         * modules/glob: Likewise.
644         * modules/isapipe: Likewise.
645         * modules/lchown: Likewise.
646         * modules/lstat: Likewise.
647         * modules/mkancesdirs: Likewise.
648         * modules/rmdir: Likewise.
649         * modules/mkdir-p (Depends-on): Also depend on sys_stat.
650         * modules/modechange: Likewise.
651         * modules/stat-macros (Files): Remove m4/stat-macros.m4.
652         (configure.ac): Remove gl_STAT_MACROS.
653         * modules/sys_stat (Depends-on): Remove stat-macros.
654
655 2006-10-27  Bruno Haible  <bruno@clisp.org>
656
657         * m4/signed.m4: Remove file.
658         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS_: Remove bh_C_SIGNED
659         invocation.
660         * modules/vasnprintf (Files): Remove m4/signed.m4.
661
662 2006-10-27  Bruno Haible  <bruno@clisp.org>
663
664         Update to GNU gettext 0.16.
665         * modules/gettext (Files): Add m4/intl.m4, m4/intldir.m4. Remove
666         m4/inttypes-h.m4, m4/signed.m4.
667         * m4/gettext.m4: Update to GNU gettext 0.16.
668         * m4/intl.m4: New file, from GNU gettext.
669         * m4/intldir.m4: New file, from GNU gettext.
670         * config/srclist.txt: Update
671
672 2006-10-27  Eric Blake  <ebb9@byu.net>
673
674         * MODULES.html.sh: Document tempname.
675         * modules/mkstemp (Depends-on): Add tempname, and drop transitive
676         dependencies.
677         (Files): Move lib/tempname.c...
678         * modules/tempname: ...to this new module.
679         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Remove tempname checks.
680         (gl_PREREQ_TEMPNAME): Move...
681         * m4/tempname.m4: ...to this new file.
682         * lib/mkstemp.c (includes) [!_LIBC]: Use tempname.h.
683         * modules/sys_stat (Depends-on): Add stat-macros.
684         * lib/stat_.h (includes): Pick up stat macros.
685         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Replace <sys/stat.h>
686         if stat macros are broken.
687         * lib/tempname.c (includes): No need to include "stat-macros.h".
688         (__gen_tempname) [!_LIBC]: Expose as gen_tempname.
689         (direxists, __path_search) [!_LIBC]: Don't compile these in
690         gnulib; the tmpdir module covers that.
691         * lib/tempname.h: New file.
692
693 2006-10-26  Paul Eggert  <eggert@cs.ucla.edu>
694
695         * COPYING: Explain how gnulib-tool converts licence headers.
696         Almost all wording by Eric Blake.
697
698 2006-10-25  Paul Eggert  <eggert@cs.ucla.edu>
699
700         * lib/mbchar.h (is_basic_table): Make read-only.
701         * lib/mbchar.c (is_basic_table): Likewise.
702         Reported by John Darrington.
703
704 2006-10-25  Bruno Haible  <bruno@clisp.org>
705
706         * lib/progname.h (set_program_name): Undefine before defining.
707
708 2006-10-25  Bruno Haible  <bruno@clisp.org>
709
710         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to
711         false for non-gcc C++ compilers.
712         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
713
714 2006-10-24  Bruno Haible  <bruno@clisp.org>
715
716         * lib/striconv.c (mem_cd_iconv, str_cd_iconv): Treat all non-GNU
717         iconv implementations like Irix iconv.
718
719 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
720
721         * modules/vararrays: New file.
722         * m4/vararrays.m4: New file, taken from diffutils.
723         * MODULES.html.sh: New module vararrays.
724
725 2006-10-24  Karl Berry  <karl@gnu.org>
726
727         * doc/gnulib-intro.texi: --- instead of --; non-naive naive.
728         Don't call GNU Unix.
729
730 2006-10-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
731
732         * users.txt: Add Libtool.
733
734         Sync from Libtool:
735
736         2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
737
738         * lib/argz.c: Remove check for HAVE_CONFIG_H, to conform
739         to gnulib's policy of including config.h unconditionally.
740
741 2006-10-24  Bruno Haible  <bruno@clisp.org>
742
743         * modules/wcwidth (Files): Add m4/wint_t.m4.
744         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Require gt_TYPE_WINT_T.
745         * lib/wcwidth.h (iswprint): Use 'int' if 'wint_t' is not defined.
746
747 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
748
749         * lib/getdate.y (yyerror): Make the arguments pointer-to-const,
750         to pacify GCC with some -W flags enabled.  Problem reported by
751         Bruno Haible.
752
753 2006-10-24  Jim Meyering  <jim@meyering.net>
754
755         * MODULES.html.sh: Remove uinttostr.  It's not a module.
756         Reported by Karl Berry.
757
758 2006-10-23  Bruno Haible  <bruno@clisp.org>
759
760         * lib/fts.c (fts_build): Move variable declaration, for C89 compliance.
761
762 2006-10-24  Bruno Haible  <bruno@clisp.org>
763
764         * lib/gl_list.h: Use C comment style, not C++ comment style.
765
766 2006-10-23  Eric Blake  <ebb9@byu.net>
767
768         * lib/getaddrinfo.c (includes): Add missing include.
769
770 2006-10-23  Bruno Haible  <bruno@clisp.org>
771             Paul Eggert  <eggert@cs.ucla.edu>
772
773         Ability to rename obstack_free.
774         * lib/obstack.h (__obstack_free): New macro. Declare instead of
775         obstack_free.
776         (obstack_free): Invoke the __obstack_free macro.
777         * lib/obstack.c (obstack_free): Use __obstack_free macro.
778
779 2006-10-23  Bruno Haible  <bruno@clisp.org>
780             Paul Eggert  <eggert@cs.ucla.edu>
781
782         * lib/argp.h (argp_parse, __argp_parse): Comment out the identifiers
783         __argc, __argv from the declaration. (They are defined as macros on
784         mingw.)
785
786 2006-10-22  Bruno Haible  <bruno@clisp.org>
787
788         * doc/gnulib-intro.texi: New file.
789         * doc/gnulib.texi: Include it.
790
791 2006-10-21  Bruno Haible  <bruno@clisp.org>
792
793         * doc/gnulib.texi: Split the chapter "Gnulib" into 3 chapters
794         "Introduction", "Miscellanous Notes", "Particular Modules".
795
796 2006-10-21  Bruno Haible  <bruno@clisp.org>
797
798         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
799         Change mostlyclean-local rule to avoid sh syntax error from bash
800         versions 2.00..2.05 when $(MOSTLYCLEANDIRS) is empty.
801
802 2006-10-23  Jim Meyering  <jim@meyering.net>
803
804         * lib/getaddrinfo.c (getnameinfo): Use new lightweight uinttostr,
805         in place of snprintf.
806
807         * modules/inttostr (Files): Add lib/uinttostr.c.
808         * lib/uinttostr.c (inttostr): New file/function.
809         * lib/inttostr.h (uinttostr): Declare.
810         * m4/inttostr.m4: Add AC_LIBOBJ([uinttostr]).
811         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
812         Add uinttostr.
813         * modules/getaddrinfo (Depends-on): Remove snprintf.  Add inttostr.
814
815 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
816
817         * lib/canonicalize.c (ELOOP): Define if not already defined.
818         Problem reported by Bruno Haible in
819         <http://lists.gnu.org/archive/html/bug-gnulib/2006-10/msg00282.html>.
820
821 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
822
823         * lib/stdint_.h [defined _AIX]: Don't include <sys/types.h>.
824         Problem reported by Perry Smith and Ville Laurikari.
825
826         * lib/getndelim2.c (SSIZE_MAX): Use same defn that getdelim.c
827         uses.
828
829 2006-10-19  Bruno Haible  <bruno@clisp.org>
830
831         * lib/getndelim2.c (SSIZE_MAX): Provide fallback definition. Needed
832         for mingw.
833
834 2006-10-19  Bruno Haible  <bruno@clisp.org>
835
836         * lib/openat-priv.h (EOPNOTSUPP): Provide fallback definition.
837         Needed for mingw.
838
839 2006-10-19  Bruno Haible  <bruno@clisp.org>
840
841         * m4/size_max.m4 (gl_SIZE_MAX): Cache the result.
842
843 2006-10-19  Bruno Haible  <bruno@clisp.org>
844
845         * m4/allocsa.m4 (gl_ALLOCSA): Invoke gl_FUNC_ALLOCA, don't AC_REQUIRE
846         it.
847
848 2006-10-19  Bruno Haible  <bruno@clisp.org>
849
850         * m4/alloca.m4 (gl_FUNC_ALLOCA): Cache the result of the AC_EGREP_CPP
851         invocation.
852
853 2006-10-19  Bruno Haible  <bruno@clisp.org>
854
855         * gnulib-tool (func_create_testdir): Don't include ftruncate and
856         mountlist by default.
857
858 2006-10-16  Bruno Haible  <bruno@clisp.org>
859
860         * lib/c-strstr.c: Include c-strstr.h.
861
862 2006-10-18  Charles Wilson  <cygwin@cwilson.fastmail.fm>
863
864         * gnulib-tool: Don't clobber $sourcebase when $local_gnulib_dir ends
865         in a slash.
866
867 2006-10-18  Bruno Haible  <bruno@clisp.org>
868
869         * lib/lock.h [C++]: Wrap definitions in extern "C".
870
871 2006-10-18  Bruno Haible  <bruno@clisp.org>
872
873         * gnulib-tool (func_emit_initmacro_end): Remove duplicates from the
874         gl_LIBOBJS list.
875
876 2006-10-18  Bruno Haible  <bruno@clisp.org>
877
878         * lib/findprog.c (find_in_path): Avoid "gcc -Wwrite-strings" warning.
879
880 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>
881
882         * lib/xstrtol.h: Include gettext.h.
883         (_STRTOL_ERROR): Wrap English-language formats inside gettext.
884         Problem reported by Eric Blake.
885         * modules/xstrtol (Depends-on): Add gettext-h.
886
887 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>  (tiny change)
888
889         * lib/strftime.c (advance): New macro.
890         (add): Use it to avoid adding 0 to a FILE *.  FILE can be an
891         incomplete type, so you can't add 0 to it.  Problem and patch
892         reported by Eelco Dolstra for dietlibc.
893
894 2006-10-18  Jim Meyering  <jim@meyering.net>
895
896         * lib/readutmp.c (desirable_utmp_entry): Use "bool" as the
897         type for a local, and rename it: s/up/user_proc/.
898
899 2006-10-18  Sergey Poznyakoff  <gray@gnu.org.ua>
900
901         * lib/readutmp.c (desirable_utmp_entry): Implement new flag:
902         READ_UTMP_USER_PROCESS.
903         * lib/readutmp.h (READ_UTMP_USER_PROCESS): New flag
904
905 2006-10-17  Paul Eggert  <eggert@cs.ucla.edu>
906
907         * lib/localcharset.c: Do not check HAVE_SETLOCALE.
908         * m4/localcharset.m4 (gl_LOCALCHARSET): Don't check for setlocale.
909
910 2006-10-17  Eric Blake  <ebb9@byu.net>
911
912         * lib/sigprocmask.c (sigprocmask): Fix typo.
913
914         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Fix typo.
915
916         * modules/clean-temp (Makefile.am): Don't add to make output...
917         (configure.ac): ...instead define SIGNAL_SAFE_LIST inside
918         config.h.
919
920 2006-10-17  Bruno Haible  <bruno@clisp.org>
921
922         * lib/gettext.h (gettext, ngettext, pgettext, npgettext): Define
923         differently if DEFAULT_TEXT_DOMAIN is set.
924
925 2006-10-16  Bruno Haible  <bruno@clisp.org>
926
927         * lib/clean-temp.c: Include fwriteerror.h.
928
929 2006-10-16  Bruno Haible  <bruno@clisp.org>
930
931         * getndelim2.m4 (gl_GETNDELIM2): Remove 2003-10-23 hack.
932
933 2006-10-16  Bruno Haible  <bruno@clisp.org>
934
935         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Also test for sigset_t.
936         * lib/sigprocmask.h: Include <sys/types.h>.
937         (sigset_t): Use the system's definition if present.
938
939 2006-10-17  Eric Blake  <ebb9@byu.net>
940
941         * lib/xvasprintf.c (includes): Assume config.h.
942         * lib/xasprintf.c (includes): Likewise.
943
944 2006-10-16  Paul Eggert  <eggert@cs.ucla.edu>
945
946         * lib/fsusage.c (PROPAGATE_ALL_ONES): Don't assume uintmax_t is
947         at least as wide as intmax_t.
948
949 2006-10-16  Alexandre Duret-Lutz  <adl@gnu.org>
950
951         (Imported from Automake.)
952         * build-aux/gnupload: Update to version 1.1 of directive file.
953
954 2006-10-16  Eric Blake  <ebb9@byu.net>
955
956         * modules/configmake (Makefile.am): Add pkglibexecdir support, to
957         match Automake 1.10a.
958
959 2006-10-14  Bruno Haible  <bruno@clisp.org>
960
961         * modules/sigprocmask: New file.
962         * lib/sigprocmask.h: New file.
963         * lib/sigprocmask.c: New file.
964         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Renamed from
965         gt_SIGNALBLOCKING. When not defining HAVE_POSIX_SIGNALBLOCKING,
966         request sigprocmask.o.
967         (gl_PREREQ_SIGPROCMASK): New macro.
968         * modules/fatal-signal (Files): Remove m4/signalblocking.m4.
969         (Depends-on): Add sigprocmask.
970         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Don't require
971         gt_SIGNALBLOCKING. Test for 'raise' only once.
972         * lib/fatal-signal.c: Include sigprocmask.h.
973         (fatal_signal_set, init_fatal_signal_set, block_fatal_signals,
974         unblock_fatal_signals): Define always.
975         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
976         sigprocmask.
977
978 2006-10-14  Paul Eggert  <eggert@cs.ucla.edu>
979
980         Sync from Automake.
981         * build-aux/install-sh (posix_mkdir): Reject FreeBSD 6.1 mkdir -p -m,
982         which incorrectly sets the mode of an existing destination
983         directory.  In some cases the unpatched install-sh could do the
984         equivalent of "chmod 777 /" or "chmod 0 /" on a buggy FreeBSD
985         system.  We hope this is rare in practice, but it's clearly worth
986         fixing.  Problem reported by Alex Unleashed in
987         <http://lists.gnu.org/archive/html/bug-autoconf/2006-10/msg00012.html>.
988         Also, don't bother to check for -m bugs unless we're using -m;
989         suggested by Stepan Kasal.
990
991 2006-10-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
992
993         Sync from Automake.
994         * build-aux/depcomp (gcc3): Put dependency extraction flags before the
995         `-c' flag, so they appear at the same position as in %FASTDEP%
996         mode in depend2.am.  Fixes build failure for FreeBSD's c89,
997         which ignores unknown options only after the first non-option.
998         Bug report against M4 by Nelson H. F. Beebe.
999
1000 2006-10-13  Jim Meyering  <jim@meyering.net>
1001
1002         Fix a bug in yesterday's change.
1003         * lib/fts.c (fts_open): When using FTS_XDEV|FTS_NOSTAT,
1004         p->fts_statp->st_dev would be used uninitialized.
1005         Ensures that we always call fts_stat on the very first entry.
1006         Miklos Szeredi reported that find -xdev stopped working.
1007
1008 2006-10-12  Bruno Haible  <bruno@clisp.org>
1009
1010         * gnulib-tool (func_get_automake_snippet): Append an automatically
1011         computed EXTRA_DIST augmentation.
1012         * modules/acl (Makefile.am): Remove EXTRA_DIST augmentation.
1013         * modules/alloca-opt (Makefile.am): Likewise.
1014         * modules/allocsa (Makefile.am): Likewise.
1015         * modules/arcfour (Makefile.am): Likewise.
1016         * modules/arctwo (Makefile.am): Likewise.
1017         * modules/argmatch (Makefile.am): Likewise.
1018         * modules/argz (Makefile.am): Likewise.
1019         * modules/atexit (Makefile.am): Likewise.
1020         * modules/backupfile (Makefile.am): Likewise.
1021         * modules/byteswap (Makefile.am): Likewise.
1022         * modules/c-strtod (Makefile.am): Likewise.
1023         * modules/c-strtold (Makefile.am): Likewise.
1024         * modules/calloc (Makefile.am): Likewise.
1025         * modules/canon-host (Makefile.am): Likewise.
1026         * modules/canonicalize (Makefile.am): Likewise.
1027         * modules/chdir-long (Makefile.am): Likewise.
1028         * modules/chdir-safer (Makefile.am): Likewise.
1029         * modules/check-version (Makefile.am): Likewise.
1030         * modules/chown (Makefile.am): Likewise.
1031         * modules/cloexec (Makefile.am): Likewise.
1032         * modules/close-stream (Makefile.am): Likewise.
1033         * modules/closeout (Makefile.am): Likewise.
1034         * modules/crc (Makefile.am): Likewise.
1035         * modules/csharpexec (Makefile.am): Likewise.
1036         * modules/cycle-check (Makefile.am): Likewise.
1037         * modules/des (Makefile.am): Likewise.
1038         * modules/dev-ino (Makefile.am): Likewise.
1039         * modules/dirfd (Makefile.am): Likewise.
1040         * modules/dirname (Makefile.am): Likewise.
1041         * modules/dup2 (Makefile.am): Likewise.
1042         * modules/eealloc (Makefile.am): Likewise.
1043         * modules/error (Makefile.am): Likewise.
1044         * modules/euidaccess (Makefile.am): Likewise.
1045         * modules/exclude (Makefile.am): Likewise.
1046         * modules/exitfail (Makefile.am): Likewise.
1047         * modules/fcntl-safer (Makefile.am): Likewise.
1048         * modules/fcntl (Makefile.am): Likewise.
1049         * modules/file-type (Makefile.am): Likewise.
1050         * modules/fileblocks (Makefile.am): Likewise.
1051         * modules/filemode (Makefile.am): Likewise.
1052         * modules/filenamecat (Makefile.am): Likewise.
1053         * modules/fnmatch (Makefile.am): Likewise.
1054         * modules/fopen-safer (Makefile.am): Likewise.
1055         * modules/fpending (Makefile.am): Likewise.
1056         * modules/fprintftime (Makefile.am): Likewise.
1057         * modules/free (Makefile.am): Likewise.
1058         * modules/fsusage (Makefile.am): Likewise.
1059         * modules/ftruncate (Makefile.am): Likewise.
1060         * modules/fts (Makefile.am): Likewise.
1061         * modules/gc-arcfour (Makefile.am): Likewise.
1062         * modules/gc-des (Makefile.am): Likewise.
1063         * modules/gc-hmac-md5 (Makefile.am): Likewise.
1064         * modules/gc-hmac-sha1 (Makefile.am): Likewise.
1065         * modules/gc-md4 (Makefile.am): Likewise.
1066         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
1067         * modules/gc-sha1 (Makefile.am): Likewise.
1068         * modules/gc (Makefile.am): Likewise.
1069         * modules/getaddrinfo (Makefile.am): Likewise.
1070         * modules/getcwd (Makefile.am): Likewise.
1071         * modules/getdelim (Makefile.am): Likewise.
1072         * modules/getdomainname (Makefile.am): Likewise.
1073         * modules/getgroups (Makefile.am): Likewise.
1074         * modules/gethostname (Makefile.am): Likewise.
1075         * modules/gethrxtime (Makefile.am): Likewise.
1076         * modules/getline (Makefile.am): Likewise.
1077         * modules/getloadavg (Makefile.am): Likewise.
1078         * modules/getlogin_r (Makefile.am): Likewise.
1079         * modules/getndelim2 (Makefile.am): Likewise.
1080         * modules/getopt (Makefile.am): Likewise.
1081         * modules/getpagesize (Makefile.am): Likewise.
1082         * modules/getpass-gnu (Makefile.am): Likewise.
1083         * modules/getpass (Makefile.am): Likewise.
1084         * modules/getsubopt (Makefile.am): Likewise.
1085         * modules/gettime (Makefile.am): Likewise.
1086         * modules/gettimeofday (Makefile.am): Likewise.
1087         * modules/getugroups (Makefile.am): Likewise.
1088         * modules/getusershell (Makefile.am): Likewise.
1089         * modules/glob (Makefile.am): Likewise.
1090         * modules/group-member (Makefile.am): Likewise.
1091         * modules/hard-locale (Makefile.am): Likewise.
1092         * modules/hash (Makefile.am): Likewise.
1093         * modules/hmac-md5 (Makefile.am): Likewise.
1094         * modules/hmac-sha1 (Makefile.am): Likewise.
1095         * modules/human (Makefile.am): Likewise.
1096         * modules/idcache (Makefile.am): Likewise.
1097         * modules/imaxabs (Makefile.am): Likewise.
1098         * modules/imaxdiv (Makefile.am): Likewise.
1099         * modules/inet_ntop (Makefile.am): Likewise.
1100         * modules/inet_pton (Makefile.am): Likewise.
1101         * modules/intprops (Makefile.am): Likewise.
1102         * modules/inttostr (Makefile.am): Likewise.
1103         * modules/inttypes (Makefile.am): Likewise.
1104         * modules/isapipe (Makefile.am): Likewise.
1105         * modules/javaversion (Makefile.am): Likewise.
1106         * modules/lchmod (Makefile.am): Likewise.
1107         * modules/lchown (Makefile.am): Likewise.
1108         * modules/localcharset (Makefile.am): Likewise.
1109         * modules/long-options (Makefile.am): Likewise.
1110         * modules/lstat (Makefile.am): Likewise.
1111         * modules/malloc (Makefile.am): Likewise.
1112         * modules/mathl (Makefile.am): Likewise.
1113         * modules/mbchar (Makefile.am): Likewise.
1114         * modules/md2 (Makefile.am): Likewise.
1115         * modules/md4 (Makefile.am): Likewise.
1116         * modules/md5 (Makefile.am): Likewise.
1117         * modules/memcasecmp (Makefile.am): Likewise.
1118         * modules/memchr (Makefile.am): Likewise.
1119         * modules/memcmp (Makefile.am): Likewise.
1120         * modules/memcoll (Makefile.am): Likewise.
1121         * modules/memcpy (Makefile.am): Likewise.
1122         * modules/memmem (Makefile.am): Likewise.
1123         * modules/memmove (Makefile.am): Likewise.
1124         * modules/mempcpy (Makefile.am): Likewise.
1125         * modules/memrchr (Makefile.am): Likewise.
1126         * modules/memset (Makefile.am): Likewise.
1127         * modules/memxor (Makefile.am): Likewise.
1128         * modules/mkancesdirs (Makefile.am): Likewise.
1129         * modules/mkdir-p (Makefile.am): Likewise.
1130         * modules/mkdir (Makefile.am): Likewise.
1131         * modules/mkdtemp (Makefile.am): Likewise.
1132         * modules/mkstemp (Makefile.am): Likewise.
1133         * modules/mktime (Makefile.am): Likewise.
1134         * modules/modechange (Makefile.am): Likewise.
1135         * modules/mountlist (Makefile.am): Likewise.
1136         * modules/nanosleep (Makefile.am): Likewise.
1137         * modules/obstack (Makefile.am): Likewise.
1138         * modules/openat (Makefile.am): Likewise.
1139         * modules/pagealign_alloc (Makefile.am): Likewise.
1140         * modules/pathmax (Makefile.am): Likewise.
1141         * modules/physmem (Makefile.am): Likewise.
1142         * modules/poll (Makefile.am): Likewise.
1143         * modules/posixtm (Makefile.am): Likewise.
1144         * modules/posixver (Makefile.am): Likewise.
1145         * modules/putenv (Makefile.am): Likewise.
1146         * modules/quote (Makefile.am): Likewise.
1147         * modules/quotearg (Makefile.am): Likewise.
1148         * modules/raise (Makefile.am): Likewise.
1149         * modules/read-file (Makefile.am): Likewise.
1150         * modules/readline (Makefile.am): Likewise.
1151         * modules/readlink (Makefile.am): Likewise.
1152         * modules/readtokens (Makefile.am): Likewise.
1153         * modules/readutmp (Makefile.am): Likewise.
1154         * modules/realloc (Makefile.am): Likewise.
1155         * modules/regex (Makefile.am): Likewise.
1156         * modules/rename-dest-slash (Makefile.am): Likewise.
1157         * modules/rename (Makefile.am): Likewise.
1158         * modules/rijndael (Makefile.am): Likewise.
1159         * modules/rmdir (Makefile.am): Likewise.
1160         * modules/rpmatch (Makefile.am): Likewise.
1161         * modules/safe-read (Makefile.am): Likewise.
1162         * modules/safe-write (Makefile.am): Likewise.
1163         * modules/same-inode (Makefile.am): Likewise.
1164         * modules/same (Makefile.am): Likewise.
1165         * modules/save-cwd (Makefile.am): Likewise.
1166         * modules/savedir (Makefile.am): Likewise.
1167         * modules/setenv (Makefile.am): Likewise.
1168         * modules/settime (Makefile.am): Likewise.
1169         * modules/sha1 (Makefile.am): Likewise.
1170         * modules/sig2str (Makefile.am): Likewise.
1171         * modules/snprintf (Makefile.am): Likewise.
1172         * modules/stat-macros (Makefile.am): Likewise.
1173         * modules/stat-time (Makefile.am): Likewise.
1174         * modules/stdbool (Makefile.am): Likewise.
1175         * modules/stdint (Makefile.am): Likewise.
1176         * modules/stdlib-safer (Makefile.am): Likewise.
1177         * modules/stpcpy (Makefile.am): Likewise.
1178         * modules/stpncpy (Makefile.am): Likewise.
1179         * modules/strcase (Makefile.am): Likewise.
1180         * modules/strcasestr (Makefile.am): Likewise.
1181         * modules/strchrnul (Makefile.am): Likewise.
1182         * modules/strcspn (Makefile.am): Likewise.
1183         * modules/strdup (Makefile.am): Likewise.
1184         * modules/strerror (Makefile.am): Likewise.
1185         * modules/strftime (Makefile.am): Likewise.
1186         * modules/strndup (Makefile.am): Likewise.
1187         * modules/strnlen (Makefile.am): Likewise.
1188         * modules/strpbrk (Makefile.am): Likewise.
1189         * modules/strsep (Makefile.am): Likewise.
1190         * modules/strstr (Makefile.am): Likewise.
1191         * modules/strtod (Makefile.am): Likewise.
1192         * modules/strtoimax (Makefile.am): Likewise.
1193         * modules/strtok_r (Makefile.am): Likewise.
1194         * modules/strtol (Makefile.am): Likewise.
1195         * modules/strtoll (Makefile.am): Likewise.
1196         * modules/strtoul (Makefile.am): Likewise.
1197         * modules/strtoull (Makefile.am): Likewise.
1198         * modules/strtoumax (Makefile.am): Likewise.
1199         * modules/strverscmp (Makefile.am): Likewise.
1200         * modules/sys_socket (Makefile.am): Likewise.
1201         * modules/sys_stat (Makefile.am): Likewise.
1202         * modules/sysexits (Makefile.am): Likewise.
1203         * modules/time_r (Makefile.am): Likewise.
1204         * modules/timegm (Makefile.am): Likewise.
1205         * modules/timespec (Makefile.am): Likewise.
1206         * modules/tmpfile-safer (Makefile.am): Likewise.
1207         * modules/trim (Makefile.am): Likewise.
1208         * modules/unistd-safer (Makefile.am): Likewise.
1209         * modules/unlinkdir (Makefile.am): Likewise.
1210         * modules/unlocked-io (Makefile.am): Likewise.
1211         * modules/userspec (Makefile.am): Likewise.
1212         * modules/utime (Makefile.am): Likewise.
1213         * modules/utimecmp (Makefile.am): Likewise.
1214         * modules/utimens (Makefile.am): Likewise.
1215         * modules/vasnprintf (Makefile.am): Likewise.
1216         * modules/vasprintf (Makefile.am): Likewise.
1217         * modules/vsnprintf (Makefile.am): Likewise.
1218         * modules/xalloc (Makefile.am): Likewise.
1219         * modules/xgetcwd (Makefile.am): Likewise.
1220         * modules/xnanosleep (Makefile.am): Likewise.
1221         * modules/xreadlink (Makefile.am): Likewise.
1222         * modules/xstrtod (Makefile.am): Likewise.
1223         * modules/xstrtol (Makefile.am): Likewise.
1224         * modules/xstrtold (Makefile.am): Likewise.
1225         * modules/yesno (Makefile.am): Likewise.
1226         * modules/getdate (Makefile.am): Don't add getdate.h to EXTRA_DIST.
1227
1228 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
1229
1230         * modules/error (Makefile.am): Distribute files through
1231         EXTRA_DIST, not lib_SOURCES.
1232
1233 2006-10-12  Eric Blake  <ebb9@byu.net>
1234
1235         * modules/error (Makefile.am): Distribute files in /lib.
1236         * modules/obstack (Makefile.am): Likewise.
1237
1238 2006-10-12  Bruno Haible  <bruno@clisp.org>
1239
1240         * modules/acl (Makefile.am): Distribute all files in lib/ through
1241         EXTRA_DIST.
1242         * modules/arcfour (Makefile.am): Likewise.
1243         * modules/arctwo (Makefile.am): Likewise.
1244         * modules/argmatch (Makefile.am): Likewise.
1245         * modules/argz (Makefile.am): Likewise.
1246         * modules/atexit (Makefile.am): Likewise.
1247         * modules/backupfile (Makefile.am): Likewise.
1248         * modules/c-strtod (Makefile.am): Likewise.
1249         * modules/c-strtold (Makefile.am): Likewise.
1250         * modules/calloc (Makefile.am): Likewise.
1251         * modules/canon-host (Makefile.am): Likewise.
1252         * modules/canonicalize (Makefile.am): Likewise.
1253         * modules/chdir-long (Makefile.am): Likewise.
1254         * modules/chdir-safer (Makefile.am): Likewise.
1255         * modules/check-version (Makefile.am): Likewise.
1256         * modules/chown (Makefile.am): Likewise.
1257         * modules/cloexec (Makefile.am): Likewise.
1258         * modules/close-stream (Makefile.am): Likewise.
1259         * modules/closeout (Makefile.am): Likewise.
1260         * modules/crc (Makefile.am): Likewise.
1261         * modules/cycle-check (Makefile.am): Likewise.
1262         * modules/des (Makefile.am): Likewise.
1263         * modules/dirfd (Makefile.am): Likewise.
1264         * modules/dirname (Makefile.am): Likewise.
1265         * modules/dup2 (Makefile.am): Likewise.
1266         * modules/euidaccess (Makefile.am): Likewise.
1267         * modules/exclude (Makefile.am): Likewise.
1268         * modules/exitfail (Makefile.am): Likewise.
1269         * modules/fcntl-safer (Makefile.am): Likewise.
1270         * modules/file-type (Makefile.am): Likewise.
1271         * modules/fileblocks (Makefile.am): Likewise.
1272         * modules/filemode (Makefile.am): Likewise.
1273         * modules/filenamecat (Makefile.am): Likewise.
1274         * modules/fnmatch (Makefile.am): Likewise.
1275         * modules/fopen-safer (Makefile.am): Likewise.
1276         * modules/fpending (Makefile.am): Likewise.
1277         * modules/fprintftime (Makefile.am): Likewise.
1278         * modules/free (Makefile.am): Likewise.
1279         * modules/fsusage (Makefile.am): Likewise.
1280         * modules/ftruncate (Makefile.am): Likewise.
1281         * modules/fts (Makefile.am): Likewise.
1282         * modules/gc (Makefile.am): Likewise.
1283         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
1284         * modules/getaddrinfo (Makefile.am): Likewise.
1285         * modules/getcwd (Makefile.am): Likewise.
1286         * modules/getdelim (Makefile.am): Likewise.
1287         * modules/getdomainname (Makefile.am): Likewise.
1288         * modules/getgroups (Makefile.am): Likewise.
1289         * modules/gethostname (Makefile.am): Likewise.
1290         * modules/gethrxtime (Makefile.am): Likewise.
1291         * modules/getline (Makefile.am): Likewise.
1292         * modules/getloadavg (Makefile.am): Likewise.
1293         * modules/getlogin_r (Makefile.am): Likewise.
1294         * modules/getopt (Makefile.am): Likewise.
1295         * modules/getpass (Makefile.am): Likewise.
1296         * modules/getpass-gnu (Makefile.am): Likewise.
1297         * modules/getsubopt (Makefile.am): Likewise.
1298         * modules/gettime (Makefile.am): Likewise.
1299         * modules/gettimeofday (Makefile.am): Likewise.
1300         * modules/getugroups (Makefile.am): Likewise.
1301         * modules/getusershell (Makefile.am): Likewise.
1302         * modules/glob (Makefile.am): Likewise.
1303         * modules/group-member (Makefile.am): Likewise.
1304         * modules/hard-locale (Makefile.am): Likewise.
1305         * modules/hash (Makefile.am): Likewise.
1306         * modules/hmac-md5 (Makefile.am): Likewise.
1307         * modules/hmac-sha1 (Makefile.am): Likewise.
1308         * modules/human (Makefile.am): Likewise.
1309         * modules/idcache (Makefile.am): Likewise.
1310         * modules/imaxabs (Makefile.am): Likewise.
1311         * modules/imaxdiv (Makefile.am): Likewise.
1312         * modules/inet_ntop (Makefile.am): Likewise.
1313         * modules/inet_pton (Makefile.am): Likewise.
1314         * modules/inttostr (Makefile.am): Likewise.
1315         * modules/isapipe (Makefile.am): Likewise.
1316         * modules/lchown (Makefile.am): Likewise.
1317         * modules/long-options (Makefile.am): Likewise.
1318         * modules/lstat (Makefile.am): Likewise.
1319         * modules/malloc (Makefile.am): Likewise.
1320         * modules/mathl (Makefile.am): Likewise.
1321         * modules/mbchar (Makefile.am): Likewise.
1322         * modules/md2 (Makefile.am): Likewise.
1323         * modules/md4 (Makefile.am): Likewise.
1324         * modules/md5 (Makefile.am): Likewise.
1325         * modules/memcasecmp (Makefile.am): Likewise.
1326         * modules/memchr (Makefile.am): Likewise.
1327         * modules/memcmp (Makefile.am): Likewise.
1328         * modules/memcoll (Makefile.am): Likewise.
1329         * modules/memcpy (Makefile.am): Likewise.
1330         * modules/memmem (Makefile.am): Likewise.
1331         * modules/memmove (Makefile.am): Likewise.
1332         * modules/mempcpy (Makefile.am): Likewise.
1333         * modules/memrchr (Makefile.am): Likewise.
1334         * modules/memset (Makefile.am): Likewise.
1335         * modules/memxor (Makefile.am): Likewise.
1336         * modules/mkancesdirs (Makefile.am): Likewise.
1337         * modules/mkdir (Makefile.am): Likewise.
1338         * modules/mkdir-p (Makefile.am): Likewise.
1339         * modules/mkdtemp (Makefile.am): Likewise.
1340         * modules/mkstemp (Makefile.am): Likewise.
1341         * modules/mktime (Makefile.am): Likewise.
1342         * modules/modechange (Makefile.am): Likewise.
1343         * modules/mountlist (Makefile.am): Likewise.
1344         * modules/nanosleep (Makefile.am): Likewise.
1345         * modules/openat (Makefile.am): Likewise.
1346         * modules/pagealign_alloc (Makefile.am): Likewise.
1347         * modules/physmem (Makefile.am): Likewise.
1348         * modules/poll (Makefile.am): Likewise.
1349         * modules/posixtm (Makefile.am): Likewise.
1350         * modules/posixver (Makefile.am): Likewise.
1351         * modules/putenv (Makefile.am): Likewise.
1352         * modules/quote (Makefile.am): Likewise.
1353         * modules/quotearg (Makefile.am): Likewise.
1354         * modules/raise (Makefile.am): Likewise.
1355         * modules/read-file (Makefile.am): Likewise.
1356         * modules/readline (Makefile.am): Likewise.
1357         * modules/readlink (Makefile.am): Likewise.
1358         * modules/readtokens (Makefile.am): Likewise.
1359         * modules/readutmp (Makefile.am): Likewise.
1360         * modules/realloc (Makefile.am): Likewise.
1361         * modules/regex (Makefile.am): Likewise.
1362         * modules/rename (Makefile.am): Likewise.
1363         * modules/rename-dest-slash (Makefile.am): Likewise.
1364         * modules/rijndael (Makefile.am): Likewise.
1365         * modules/rmdir (Makefile.am): Likewise.
1366         * modules/rpmatch (Makefile.am): Likewise.
1367         * modules/safe-read (Makefile.am): Likewise.
1368         * modules/safe-write (Makefile.am): Likewise.
1369         * modules/same (Makefile.am): Likewise.
1370         * modules/save-cwd (Makefile.am): Likewise.
1371         * modules/savedir (Makefile.am): Likewise.
1372         * modules/setenv (Makefile.am): Likewise.
1373         * modules/settime (Makefile.am): Likewise.
1374         * modules/sha1 (Makefile.am): Likewise.
1375         * modules/sig2str (Makefile.am): Likewise.
1376         * modules/snprintf (Makefile.am): Likewise.
1377         * modules/stdlib-safer (Makefile.am): Likewise.
1378         * modules/stpcpy (Makefile.am): Likewise.
1379         * modules/stpncpy (Makefile.am): Likewise.
1380         * modules/strcase (Makefile.am): Likewise.
1381         * modules/strcasestr (Makefile.am): Likewise.
1382         * modules/strchrnul (Makefile.am): Likewise.
1383         * modules/strcspn (Makefile.am): Likewise.
1384         * modules/strdup (Makefile.am): Likewise.
1385         * modules/strerror (Makefile.am): Likewise.
1386         * modules/strftime (Makefile.am): Likewise.
1387         * modules/strndup (Makefile.am): Likewise.
1388         * modules/strnlen (Makefile.am): Likewise.
1389         * modules/strpbrk (Makefile.am): Likewise.
1390         * modules/strsep (Makefile.am): Likewise.
1391         * modules/strstr (Makefile.am): Likewise.
1392         * modules/strtod (Makefile.am): Likewise.
1393         * modules/strtoimax (Makefile.am): Likewise.
1394         * modules/strtok_r (Makefile.am): Likewise.
1395         * modules/strtol (Makefile.am): Likewise.
1396         * modules/strtoll (Makefile.am): Likewise.
1397         * modules/strtoul (Makefile.am): Likewise.
1398         * modules/strtoull (Makefile.am): Likewise.
1399         * modules/strtoumax (Makefile.am): Likewise.
1400         * modules/strverscmp (Makefile.am): Likewise.
1401         * modules/time_r (Makefile.am): Likewise.
1402         * modules/timegm (Makefile.am): Likewise.
1403         * modules/tmpfile-safer (Makefile.am): Likewise.
1404         * modules/unistd-safer (Makefile.am): Likewise.
1405         * modules/unlinkdir (Makefile.am): Likewise.
1406         * modules/userspec (Makefile.am): Likewise.
1407         * modules/utime (Makefile.am): Likewise.
1408         * modules/utimecmp (Makefile.am): Likewise.
1409         * modules/utimens (Makefile.am): Likewise.
1410         * modules/vasnprintf (Makefile.am): Likewise.
1411         * modules/vasprintf (Makefile.am): Likewise.
1412         * modules/vsnprintf (Makefile.am): Likewise.
1413         * modules/xalloc (Makefile.am): Likewise.
1414         * modules/xgetcwd (Makefile.am): Likewise.
1415         * modules/xnanosleep (Makefile.am): Likewise.
1416         * modules/xreadlink (Makefile.am): Likewise.
1417         * modules/xstrtod (Makefile.am): Likewise.
1418         * modules/xstrtol (Makefile.am): Likewise.
1419         * modules/xstrtold (Makefile.am): Likewise.
1420         * modules/yesno (Makefile.am): Likewise.
1421
1422 2006-10-12  Jim Meyering  <jim@meyering.net>
1423
1424         * m4/getloadavg.m4: Revert the change below.
1425
1426         * m4/getloadavg.m4 (gl_GETLOADAVG): Test for the existence of
1427         lib/getloadavg.c using "ls -L", not "test -f".  The latter would
1428         fail with a symlink, which is what coreutils' ./bootstrap now
1429         creates by default.
1430
1431 2006-10-12  Bruno Haible  <bruno@clisp.org>
1432
1433         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): Don't define for MSVC or
1434         mingw.
1435         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX): Handle
1436         MSVC and mingw explicitly.
1437
1438 2006-10-11  Simon Josefsson  <jas@extundo.com>
1439             Bruno Haible  <bruno@clisp.org>
1440
1441         Add support for multiple gnulib-tool invocations in the scope of a
1442         single configure.ac file.
1443         * gnulib-tool (func_emit_lib_Makefile_am): In the _LIBADD variable,
1444         use a private [LT]LIBOBJS variant. Define a _DEPENDENCIES variable
1445         with the same contents as the _LIBADD variable.
1446         (func_emit_initmacro_start, func_emit_initmacro_end,
1447         func_emit_initmacro_done): New functions.
1448         (func_import, func_create_testdir): Invoke them. Allow the identifiers
1449         gl_LIBOBJS and gl_LTLIBOBJS.
1450
1451 2006-10-11  Bruno Haible  <bruno@clisp.org>
1452
1453         * gnulib-tool (GETTEXTPATH, AUTOHEADER, AUTOPOINT): New variables.
1454         (func_create_testdir): Don't create po/Makefile.am, don't invoke
1455         autoreconf. Instead, invoke autopoint explicitly but move back the
1456         *.m4 files from gnulib.
1457
1458 2006-10-11  Bruno Haible  <bruno@clisp.org>
1459
1460         * gnulib-tool (func_usage): Make module names after --create-testdir
1461         optional.
1462         (func_create_testdir): If no module was specified, use nearly all
1463         modules.
1464
1465 2006-10-12  Jim Meyering  <jim@meyering.net>
1466
1467         Big performance improvement for fts-based tools that use FTS_NOSTAT.
1468         Avoid spurious inode-mismatch problems on non-POSIX file systems.
1469         Details: http://article.gmane.org/gmane.comp.lib.gnulib.bugs/7416
1470         * lib/fts_.h (FTS_DEFER_STAT): Define new flag.
1471         (FTS_OPTIONMASK): Extend the mask to reflect this addition.
1472         * lib/fts.c (DT_IS_KNOWN, DT_MUST_BE): Define.
1473         (FTS_NO_STAT_REQUIRED, FTS_STAT_REQUIRED): Define.
1474         (fts_set_stat_required): New function.
1475         (fts_open): Defer the calls to fts_stat, if possible or requested.
1476         Move the code that maps a command-line fts_info value FTS_DOT to FTS_D
1477         into fts_stat itself.
1478         (fts_read): Perform any required (deferred) fts_stat call.
1479         (fts_build): Likewise, for the directory we're about to open and read.
1480         In the readdir loop, carefully decide whether each entry will require
1481         an eventual call to fts_stat, using dirent.d_type info if available.
1482         (fts_stat): Move the test for whether to honor FTS_COMFOLLOW on
1483         a command line argument into this function.  Update all callers.
1484         Map a return value of FTS_DOT to FTS_D for a command line argument.
1485         * modules/fts (Depends-on): Add d-type.  Alphabetize.
1486         Thanks to Miklos Szeredi for his tenacity and for the initial
1487         bug report about "find" failing on a FUSE-based file system.
1488
1489         * lib/fts.c (fts_open): Use consistent indentation.
1490
1491 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
1492
1493         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Renamed from
1494         gl_USE_SYSTEM_EXTENSIONS, to fix a coreutils bootstrap failure
1495         reported by Jim Meyering.  All uses of cache variables renamed
1496         to match Autoconf's.
1497         (gl_USE_SYSTEM_EXTENSIONS): New macro, which simply requires
1498         the other one.
1499
1500         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH):
1501         Fix misspelling in diagnostic.
1502
1503 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
1504
1505         * lib/mkdir-p.c (HAVE_FCHMOD): Define to false if not already
1506         defined.  Problem reported by Matthew Woehlke.
1507
1508         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): New macro.
1509         Add support for Tandem NonStop R series.
1510         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX):
1511         Use new macro.
1512
1513         * lib/rename-dest-slash.c: Include stdbool.h but not string.h.
1514         (has_trailing_slash): Omit size arg; all callers changed.
1515         Omit 'inline', since it doesn't help performance and we'd
1516         need to configure it.
1517         Don't count //, ///, etc. as having a trailing slash.
1518         As a side effect, this removes a C99ism reported by Matthew Woehlke.
1519         (rpl_rename_dest_slash): On failure, use rename's errno rather
1520         than (in some cases) an incorrect or junk errno.
1521         Simplify code by removing need to compute length; this does
1522         cause it to make two passes instead of one over the file name,
1523         but it's worth it.
1524
1525         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Undo previous
1526         change, since Autoconf's version may no longer be appropriate now
1527         that we are using CVS Autoconf's version.  Add support for Tandem.
1528
1529 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
1530             Bruno Haible  <bruno@clisp.org>
1531
1532         * lib/allocsa.h (sa_alignment_longlong, sa_alignment_max): Test
1533         HAVE_LONG_LONG_INT instead of HAVE_LONG_LONG.
1534         * m4/allocsa.m4 (gl_ALLOCSA): Invoke AC_TYPE_LONG_LONG_INT instead of
1535         gl_AC_TYPE_LONG_LONG.
1536
1537         * lib/printf-args.h (arg_type, argument): Test HAVE_LONG_LONG_INT
1538         instead of HAVE_LONG_LONG.
1539         * lib/printf-args.c (printf_fetchargs): Likewise.
1540         * lib/printf-parse.c (PRINTF_PARSE): Likewise.
1541         * lib/vasnprintf.c (VASNPRINTF): Likewise.
1542         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS, gl_PREREQ_PRINTF_PARSE,
1543         gl_PREREQ_VASNPRINTF): Invoke AC_TYPE_LONG_LONG_INT instead of
1544         gl_AC_TYPE_LONG_LONG.
1545
1546 2006-10-11  Bruno Haible  <bruno@clisp.org>
1547
1548         * m4/longlong.m4: Add comments.
1549         * m4/ulonglong.m4: Likewise.
1550
1551 2006-10-10  Bruno Haible  <bruno@clisp.org>
1552
1553         Make it possible to #define stpcpy, strdup to aliases.
1554         * lib/stpcpy.c (stpcpy) [!_LIBC]: Don't undefine.
1555         * lib/strdup.c (strdup) [!_LIBC]: Don't undefine.
1556
1557 2006-10-10  Bruno Haible  <bruno@clisp.org>
1558
1559         Make it possible to #define gcd to an alias.
1560         * lib/gcd.c: Include config.h.
1561
1562 2006-10-10  Bruno Haible  <bruno@clisp.org>
1563
1564         Make it possible to #define c_isascii to an alias.
1565         * lib/c-ctype.h: Don't define the macros if NO_C_CTYPE_MACROS is
1566         defined. Undefine the macros before defining them, to avoid gcc
1567         warnings.
1568         * lib/c-ctype.c: Include config.h. Don't undefine the macros; instead,
1569         define NO_C_CTYPE_MACROS early.
1570
1571 2006-10-10  Bruno Haible  <bruno@clisp.org>
1572
1573         Make it possible to #define set_program_name to an alias.
1574         * lib/progname.c: Don't undefine set_program_name; instead, undefine
1575         ENABLE_RELOCATABLE early.
1576
1577 2006-10-10  Paul Eggert  <eggert@cs.ucla.edu>
1578
1579         Port to Tandem NSK OSS, which has 64-bit signed int but at most
1580         32-bit unsigned int.  Problem reported by Matthew Woehlke in:
1581         http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00062.html
1582         More generally, don't assume that 64-bit signed int is available
1583         if unsigned int is, and vice versa.
1584         * lib/inttypes_.h (_PRIu64_PREFIX, _SCNu64_PREFIX): Depend on
1585         unsigned symbols, not on their signed counterparts.
1586         * lib/stdint_.h (uint64_t, uint_least64_t, uint_fast64_t, uintmax_t):
1587         (UINT64_MAX, UINT_LEAST64_MAX, UINT_FAST64_MAX, UINTMAX_MAX):
1588         (UINT64_C, UINTMAX_C):
1589         Likewise.
1590         * lib/strtoimax.c (strtoll): Depend on signed symbols, not their
1591         unsigned counterparts.
1592         (Have_long_long, Unsigned): New macros.
1593         (Int): Renamed from INT.
1594         (strtoimax): Use the new macros.
1595         * m4/stdint.m4 (gl_STDINT_H): Require AC_TYPE_UNSIGNED_LONG_LONG_INT
1596         and substitute HAVE_UNSIGNED_LONG_LONG_INT.
1597         * modules/inttypes (inttypes.h): Substitute
1598         HAVE_UNSIGNED_LONG_LONG_INT.
1599         * modules/stdint (stdint.h): Likewise.
1600         (Files): Add m4/ulonglong.m4.
1601
1602 2006-10-10  Bruno Haible  <bruno@clisp.org>
1603
1604         Fix a gcc -Wshadow warning.
1605         * lib/gl_anyhash_list2.h (hash_resize): Rename local variable 'index'
1606         to 'bucket'.
1607         * lib/gl_anylinked_list2.h (gl_linked_search_from_to,
1608         gl_linked_indexof_from_to): Likewise.
1609         * lib/gl_linkedhash_list.c (add_to_bucket, remove_from_bucket):
1610         Likewise.
1611         * lib/gl_anytreehash_list1.h (add_to_bucket, remove_from_bucket):
1612         Likewise.
1613         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Likewise.
1614         Reported by Eric Blake.
1615
1616 2006-10-09  Paul Eggert  <eggert@cs.ucla.edu>
1617
1618         * lib/filemode.h [HAVE_DECL_STRMODE]: Include unistd.h too,
1619         for NetBSD.  Problem reported by Bruno Haible.
1620
1621 2006-10-09  Jim Meyering  <jim@meyering.net>
1622
1623         * lib/lchown.c: Include <sys/stat.h> before "stat-macros.h".
1624         Patch from Bruno Haible.
1625
1626 2006-10-09  Jim Meyering  <jim@meyering.net>
1627
1628         * lib/fts-cycle.c (leave_dir): When "leaving" a top level directory due
1629         to FTS_SKIP, don't copy the parent's uninitialized dev/ino values.
1630         Trigger with e.g., mkdir d && valgrind ./chmod u+rwx d d
1631
1632 2006-10-08  Paul Eggert  <eggert@cs.ucla.edu>
1633
1634         Don't include <config.h> twice; this doesn't work in some cases,
1635         e.g., when config.h has "#define intmax_t long long int" and
1636         we include <config.h>, <inttypes.h>, <config.h> in that order.
1637         Problem reported by Matthew Woehlke in:
1638         http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00073.html
1639         * lib/fprintftime.c: Don't include config.h or fprintftime.h.
1640         * lib/fts-cycle.c: Don't include config.h.
1641         * lib/strftime.c: Include fprintftime.h if FPRINTFTIME is defined.
1642         * lib/xstrtoimax.c: Remove copyright notice since it's short tnow.
1643         Don't include config.h or xstrtol.h.  Define STRTOL_T_MINIMUM
1644         and STRTOL_T_MAXIMUM unconditionally, since we now assume gnulib
1645         inttypes.h.
1646         * lib/xstrtoumax.c: Likewise.
1647         * lib/xstrtol.c: Include config.h and xstrtol.h after defining
1648         __strtol and the like, so that this module is more like its siblings.
1649         (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [! defined STRTOL_T_MINIMUM]:
1650         Remove; no longer needed now that we assume gnulib inttypes.h.
1651
1652 2006-10-08  Bruno Haible  <bruno@clisp.org>
1653
1654         * doc/gnulib-tool.texi: Emphasize the drawbacks of the --symlink
1655         option.
1656
1657 2006-10-07  Jim Meyering  <jim@meyering.net>
1658
1659         * modules/inttypes (inttypes.h): Revert what seems to have been
1660         an inadvertent part of today's change: use "|", not "/" in the
1661         substitution for the "/"-containing string, $(ABSOLUTE_INTTYPES_H).
1662
1663 2006-10-07  Bruno Haible  <bruno@clisp.org>
1664
1665         * modules/sublist: New file.
1666
1667 2006-10-07  Bruno Haible  <bruno@clisp.org>
1668
1669         * modules/alloca-opt (alloca.h): Add a "DO NOT EDIT" comment.
1670         * modules/argz (argz.h): Likewise.
1671         * modules/arpa_inet (arpa/inet.h): Likewise.
1672         * modules/byteswap (byteswap.h): Likewise.
1673         * modules/configmake (configmake.h): Likewise.
1674         * modules/fcntl (fcntl.h): Likewise.
1675         * modules/fnmatch (fnmatch.h): Likewise.
1676         * modules/getopt (getopt.h): Likewise.
1677         * modules/glob (glob.h): Likewise.
1678         * modules/inttypes (inttypes.h): Likewise.
1679         * modules/netinet_in (netinet/in.h): Likewise.
1680         * modules/poll (poll.h): Likewise.
1681         * modules/stdbool (stdbool.h): Likewise.
1682         * modules/stdint (stdint.h): Likewise.
1683         * modules/sys_select (sys/select.h): Likewise.
1684         * modules/sys_socket (sys/socket.h): Likewise.
1685         * modules/sys_stat (sys/stat.h): Likewise.
1686         * modules/sysexits (sysexits.h): Likewise.
1687         * modules/unistd (unistd.h): Likewise.
1688         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
1689         Add a "DO NOT EDIT" comment to the generated file.
1690         (func_import): Likewise for gnulib-comp.m4.
1691
1692 2006-10-07  Bruno Haible  <bruno@clisp.org>
1693
1694         * lib/gl_sublist.h: New file.
1695         * lib/gl_sublist.c: New file.
1696
1697 2006-10-06  Paul Eggert  <eggert@cs.ucla.edu>
1698
1699         * lib/mkancesdirs.c (mkancesdirs): Pass to MAKE_DIR both the full file
1700         name (relative to the original working directory) and the file
1701         name component (relative to the temporary working directory).  All
1702         callers changed.
1703         * lib/mkancesdirs.h (mkancesdirs): Adjust prototype to match.
1704         * lib/mkdir-p.c (make_dir_parents): Likewise.
1705         * lib/mkdir-p.h (make_dir_parents): Likewise.
1706
1707 2006-10-06  Eric Blake  <ebb9@byu.net>
1708
1709         Define several macros for use by the clean-temp module.
1710         * m4/close-stream.m4 (gl_CLOSE_STREAM): Define GNULIB_CLOSE_STREAM.
1711         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Define GNULIB_FCNTL_SAFER.
1712         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Define GNULIB_FOPEN_SAFER.
1713
1714         * lib/clean-temp.h (close_stream_temp): New declaration.
1715         * lib/clean-temp.c (includes): Pull in headers according to what
1716         other modules are in use.
1717         (close_stream_temp) [GNULIB_CLOSE_STREAM]: New function.
1718
1719 2006-10-06  Bruno Haible  <bruno@clisp.org>
1720
1721         * lib/javacomp.c (write_temp_file): Use fopen_temp, fwriteerror_temp
1722         instead of fopen, fwriteerror.
1723
1724 2006-10-06  Bruno Haible  <bruno@clisp.org>
1725
1726         * lib/clean-temp.h (cleanup_temp_file, cleanup_temp_subdir,
1727         cleanup_temp_dir_contents, cleanup_temp_dir): Change return type to
1728         int.
1729         * lib/clean-temp.c (do_unlink, do_rmdir, cleanup_temp_file,
1730         cleanup_temp_subdir, cleanup_temp_dir_contents, cleanup_temp_dir):
1731         Return an error indicator.
1732         Suggested by Eric Blake.
1733
1734 2006-10-06  Bruno Haible  <bruno@clisp.org>
1735
1736         * lib/clean-temp.c (PATH_MAX): Provide a fallback for GNU Hurd.
1737         Reported by Eric Blake.
1738
1739 2006-10-06  Bruno Haible  <bruno@clisp.org>
1740
1741         * modules/closeout (Description): Mention stderr too.
1742
1743 2006-10-06  Bruno Haible  <bruno@clisp.org>
1744         and Paul Eggert  <eggert@cs.ucla.edu>
1745
1746         * lib/closeout.c (close_stdout): Also close stderr.
1747         * lib/closeout.h: Update comment.
1748
1749 2006-10-05  Paul Eggert  <eggert@cs.ucla.edu>
1750
1751         Fix some Darwin-7.9.0 porting problems reported by Bruno Haible in
1752         <http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00063.html>.
1753         * lib/dirchownmod.c: Include lchown.h.
1754         * lib/lchown.c: Don't include files that lchown.h now includes.
1755         Don't declare chown, since lchown.h now does that.
1756         * lib/lchown.h: Include errno.h, sys/types.h, unistd.h.
1757         (lchown): Define to rpl_chown if lchown is declared but
1758         does not exist.  Declare using a prototype if lchown is not
1759         declared.  Add a copyright notice.
1760         * lib/mkstemp.h: Include <unistd.h>.
1761         * lib/openat.c: Include lchown.h.
1762
1763         * lib/fcntl_.h (O_NOFOLLOW): Don't depend on O_NOFOLLOW_IS_INEFFECTIVE;
1764         we now test for that separately.
1765         * lib/fts.c (fts_safe_changedir): Inspect HAVE_WORKING_O_NOFOLLOW
1766         rather than O_NOFOLLOW, when testing whether it's possible to
1767         avoid a race condition reliably.
1768         * lib/savewd.c (savewd_chdir): Likewise.
1769
1770         Remove macros that are no longer needed now that stdint.h is
1771         reliable.
1772         * lib/fsusage.c (UINTMAX_MAX): Remove.
1773         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Remove.
1774         * lib/utimecmp.c (SIZE_MAX): Remove.
1775
1776         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check whether lchown is declared.
1777
1778         * m4/fcntl_h.m4 (gl_FCNTL_H): Define HAVE_WORKING_O_NOFOLLOW instead
1779         of O_NOFOLLOW_IS_INEFFECTIVE.  Define HAVE_WORKING_O_NOATIME if
1780         O_NOATIME works.
1781
1782 2006-10-05  Bruno Haible  <bruno@clisp.org>
1783
1784         * lib/gl_list.h (gl_sortedlist_search_from_to,
1785         gl_sortedlist_indexof_from_to): New declarations.
1786         (gl_list_implementation): New fields sortedlist_search_from_to,
1787         sortedlist_indexof_from_to.
1788         (gl_sortedlist_search_from_to, gl_sortedlist_indexof_from_to): New
1789         inline functions.
1790         * lib/gl_list.c (gl_sortedlist_search_from_to,
1791         gl_sortedlist_indexof_from_to): New functions.
1792         * lib/gl_array_list.c (gl_array_sortedlist_indexof_from_to): New
1793         function.
1794         (gl_array_sortedlist_indexof, gl_array_sortedlist_search): Use it.
1795         (gl_array_sortedlist_search_from_to): New function.
1796         (gl_array_list_implementation): Update.
1797         * lib/gl_carray_list.c (gl_carray_sortedlist_indexof_from_to): New
1798         function.
1799         (gl_carray_sortedlist_indexof, gl_carray_sortedlist_search): Use it.
1800         (gl_carray_sortedlist_search_from_to): New function.
1801         (gl_carray_list_implementation): Update.
1802         * lib/gl_anylinked_list2.h (gl_linked_sortedlist_search_from_to,
1803         gl_linked_sortedlist_indexof_from_to): New functions.
1804         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
1805         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
1806         * lib/gl_anytree_list2.h (gl_tree_sortedlist_search_from_to,
1807         gl_tree_sortedlist_indexof_from_to): New functions.
1808         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
1809         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
1810         Update.
1811         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
1812         * lib/gl_rbtreehash_list.c (gl_avltreehash_list_implementation):
1813         Update.
1814
1815 2006-10-05  Bruno Haible  <bruno@clisp.org>
1816
1817         * lib/gl_list.h (gl_list_search_from, gl_list_search_from_to,
1818         gl_list_indexof_from, gl_list_indexof_from_to): New declarations.
1819         (struct gl_list_implementation): Add fields search_from_to,
1820         indexof_from_to. Remove fields search, indexof.
1821         (gl_list_search): Use the search_from_to method.
1822         (gl_list_search_from, gl_list_search_from_to): New functions.
1823         (gl_list_indexof): Use the indexof_from_to method.
1824         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
1825         * lib/gl_list.c (gl_list_search): Use the search_from_to method.
1826         (gl_list_search_from, gl_list_search_from_to): New functions.
1827         (gl_list_indexof): Use the indexof_from_to method.
1828         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
1829         * lib/gl_array_list.c (gl_array_indexof_from_to): Renamed from
1830         gl_array_indexof. Add start_index, end_index arguments.
1831         (gl_array_search_from_to): Renamed from gl_array_search. Add
1832         start_index, end_index arguments.
1833         (gl_array_remove, gl_array_list_implementation): Update.
1834         * lib/gl_carray_list.c (gl_carray_indexof_from_to): Renamed from
1835         gl_carray_indexof. Add start_index, end_index arguments.
1836         (gl_carray_search_from_to): Renamed from gl_carray_search. Add
1837         start_index, end_index arguments.
1838         (gl_carray_remove, gl_carray_list_implementation): Update.
1839         * lib/gl_anylinked_list2.h (gl_linked_search_from_to): Renamed from
1840         gl_linked_search. Add start_index, end_index arguments.
1841         (gl_linked_indexof_from_to): Renamed from gl_linked_indexof. Add
1842         start_index, end_index arguments.
1843         (gl_linked_remove): Update.
1844         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
1845         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
1846         * lib/gl_anytree_list1.h (iterstack_item_t): Change type of 'rightp'
1847         field to 'size_t'.
1848         * lib/gl_anytree_list2.h (gl_tree_search_from_to): Renamed from
1849         gl_tree_search. Add start_index, end_index arguments.
1850         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
1851         start_index, end_index arguments.
1852         (gl_tree_remove): Update.
1853         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
1854         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
1855         * lib/gl_anytreehash_list1.h (compare_position_threshold): New
1856         function.
1857         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Renamed from
1858         gl_tree_search. Add start_index, end_index arguments.
1859         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
1860         start_index, end_index arguments.
1861         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
1862         Update.
1863         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Update.
1864
1865 2006-10-05  Bruno Haible  <bruno@clisp.org>
1866
1867         * modules/fwriteerror (configure.ac): Define GNULIB_FWRITEERROR.
1868
1869         * lib/clean-temp.h (open_temp, fopen_temp, close_temp, fclose_temp,
1870         fwriteerror_temp): New declarations.
1871         * lib/clean-temp.c (uintptr_t): Provide fallback definition.
1872         (descriptors): New variable.
1873         (cleanup): First, close the descriptors.
1874         (register_fd, unregister_fd, open_temp, fopen_temp, close_temp,
1875         fclose_temp, fwriteerror_temp): New functions.
1876
1877 2006-10-04  Jim Meyering  <jim@meyering.net>
1878
1879         * lib/fts.c (fts_open): Tiny comment change.
1880
1881 2006-10-04  Bruno Haible  <bruno@clisp.org>
1882
1883         Make it possible to invoke AC_GNU_SOURCE after gl_LOCK_EARLY.
1884         * m4/lock.m4 (gl_LOCK_EARLY_BODY): New macro, extracted code from
1885         gl_LOCK_BODY.
1886         (gl_LOCK_EARLY): Require gl_LOCK_EARLY_BODY, not gl_LOCK_BODY.
1887         (gl_LOCK_BODY): Remove settings of CPPFLAGS, now done in
1888         gl_LOCK_EARLY_BODY.
1889         (gl_LOCK): Require gl_LOCK_BODY.
1890
1891 2006-10-04  Bruno Haible  <bruno@clisp.org>
1892
1893         * lib/gl_oset.h (gl_setelement_threshold_fn): New type.
1894         (gl_oset_search_atleast): New declaration.
1895         (struct gl_oset_implementation): Add field 'search_atleast'.
1896         (gl_oset_search_atleast): New inline function.
1897         * lib/gl_oset.c (gl_oset_search_atleast): New function.
1898         * lib/gl_array_oset.c (gl_array_search_atleast): New function.
1899         (gl_array_oset_implementation): Update.
1900         * lib/gl_anytree_oset.h (gl_tree_search_atleast): New function.
1901         * lib/gl_avltree_oset.c (gl_avltree_oset_implementation): Update.
1902         * lib/gl_rbtree_oset.c (gl_rbtree_oset_implementation): Update.
1903
1904 2006-10-04  Bruno Haible  <bruno@clisp.org>
1905
1906         * lib/fatal-signal.c (fatal_signals) [WOE32]: Add the SIGBREAK signal.
1907
1908 2006-10-03  Bruno Haible  <bruno@clisp.org>
1909
1910         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Renamed
1911         from gl_avltreehash_list_implementation.
1912
1913 2006-10-03  Bruno Haible  <bruno@clisp.org>
1914
1915         * lib/gl_oset.c (gl_oset_add): Fix return type.
1916
1917 2006-10-02  Paolo Bonzini  <bonzini@gnu.org>  (tiny change)
1918
1919         * lib/quotearg.c (mbstate_t) [!HAVE_MBRTOWC]: #define to int.
1920
1921 2006-10-02  Eric Blake  <ebb9@byu.net>
1922
1923         * modules/strnlen (Depends-on): Add extensions.
1924
1925 2006-10-02  Eric Blake  <ebb9@byu.net>
1926
1927         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use autoconf's
1928         definition in 2.60+.
1929
1930 2006-10-02  Dmitry V. Levin  <ldv@altlinux.org>
1931
1932         * lib/fts.c (fts_close, fts_build, fts_palloc): Remove redundant
1933         checks.
1934
1935 2006-10-02  Bruno Haible  <bruno@clisp.org>
1936
1937         * gnulib-tool (func_emit_lib_Makefile_am): Don't add no-dependencies
1938         to the AUTOMAKE_OPTIONS.
1939         Reported by Jim Meyering.
1940
1941 2006-09-29  Paul Eggert  <eggert@cs.ucla.edu>
1942
1943         Work around bug in Solaris 10 /proc file system:
1944         /proc/self/fd/NNN/.. isn't the parent directory of
1945         the directory whose file descriptor is NNN.  This needs to
1946         be worked around at run time, not compile time, since a
1947         program might be built on Solaris 8, where things work, and
1948         run on Solaris 10.
1949         * lib/openat-priv.h (BUILD_PROC_NAME): Remove.  All callers changed
1950         to use the following interface instead:
1951         (OPENAT_BUFFER_SIZE): New macro.
1952         (openat_proc_name): New function.
1953         * lib/at-func.c (AT_FUNC_NAME): Adjust to above changes.
1954         * lib/openat.c (openat_permissive, openat_needs_fchdir, fdopendir):
1955         Likewise.
1956         * lib/openat-proc.c: New file.
1957         * modules/openat (Files): Add lib/openat-proc.c.
1958         (Depends-on): Add same-inode, stdbool.
1959         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBOBJ(openat-proc).
1960
1961 2006-09-29  Bruno Haible  <bruno@clisp.org>
1962
1963         * lib/fwriteerror.h (fwriteerror_no_ebadf): New declaration.
1964         * lib/(do_fwriteerror): Renamed from fwriteerror. Add ignore_ebadf
1965         argument. Set stdout_closed before testing for ferror, not after.
1966         (fwriteerror, fwriteerror_no_ebadf): New functions.
1967
1968 2006-09-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
1969
1970         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Avoid unused variables warning.
1971
1972 2006-09-28  Paolo Bonzini  <bonzini@gnu.org>
1973
1974         * lib/poll.c (rpl_poll) [__APPLE__]: Use FIONREAD instead of MSG_PEEK.
1975         * m4/poll.m4: Look for sys/ioctl.h and sys/filio.h.
1976
1977 2006-09-28  Jim Meyering  <jim@meyering.net>
1978
1979         * lib/mkdir-p.c: Include "dirchownmod.h", not "dirchownmod.c".
1980         Include <unistd.h>.
1981
1982 2006-09-28  Bruno Haible  <bruno@clisp.org>
1983
1984         * modules/avltreehash-list (Depends-on): Add stdint, remove size_max.
1985         * modules/linkedhash-list (Depends-on): Likewise.
1986         * modules/rbtreehash-list (Depends-on): Likewise.
1987
1988 2006-09-28  Bruno Haible  <bruno@clisp.org>
1989
1990         * lib/strndup.h: Simplify the redefinition of strndup.
1991         (_GL_CONCAT, _GL_XCONCAT, __STRNDUP_ID): Remove macros.
1992         * m4/strndup.m4 (gl_FUNC_STRNDUP): Don't define __STRNDUP_PREFIX.
1993
1994 2006-09-28  Bruno Haible  <bruno@clisp.org>
1995
1996         * lib/gl_avltreehash_list.c: Include <stdint.h> instead of size_max.h.
1997         * lib/gl_linkedhash_list.c: Likewise.
1998         * lib/gl_rbtreehash_list.c: Likewise.
1999
2000 2006-09-27  Paul Eggert  <eggert@cs.ucla.edu>
2001
2002         * lib/canon-host.c (canon_host_r): Work around bug in Darwin 7.9.0
2003         getaddrinfo.
2004
2005         * lib/__fpending.h: Don't include <stdio_ext.h> unless
2006         HAVE_DECL___FPENDING.  This avoids a bug with lsbcc, where
2007         it causes <stdio_ext.h> to cause a compile-time error.
2008         Problem reported by Nelson H. F. Beebe.
2009         * lib/getpass.c: Likewise, except for HAVE_DECL___FSETLOCKING instead
2010         of HAVE_DECL___PENDING.
2011
2012         * m4/fpending.m4 (gl_FUNC_FPENDING): Check for stdio_ext at most once.
2013         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for __fsetlocking's
2014         declaration.
2015
2016 2006-09-27  Jim Meyering  <jim@meyering.net>
2017
2018         This file could end up with a definition for a function
2019         named __strndup, rather than rpl_strndup on a system with
2020         incomplete weak_alias support.
2021         * lib/strndup.c (strndup): Rename from __strndup.
2022         Remove #defines that used to map __strndup to strndup.
2023         Don't use K&R prototypes.
2024         Remove LIBC-related code, since this file is not sync'd with glibc.
2025         * lib/strndup.h: Revamp, accordingly.
2026         * m4/strndup.m4: Modernize.
2027
2028 2006-09-26  Paul Eggert  <eggert@cs.ucla.edu>
2029
2030         * modules/savewd (Depends-on): Add 'raise'.
2031         * lib/savewd.c: Include <signal.h>, for 'raise'.
2032
2033 2006-09-26  Jim Meyering  <jim@meyering.net>
2034
2035         * m4/acl.m4 (AC_FUNC_ACL): Disable ACL support altogether
2036         when we detect Darwin 8.7.0's acl_get_file bug.
2037         Rearrange to perform the new (below) run-test while $LIBS
2038         contains any acl-related library.  Set USE_ACL at the end.
2039         (gl_ACL_GET_FILE): New function.
2040
2041 2006-09-26  Eric Blake  <ebb9@byu.net>
2042
2043         * lib/verror.c: Include <config.h> unconditionally.
2044
2045 2006-09-25  Paul Eggert  <eggert@cs.ucla.edu>
2046
2047         * modules/clock-time (Maintainer): Add self.
2048         * modules/getlogin_r (Depends-on): Add extensions.
2049
2050 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
2051
2052         * modules/clock-time: New module.
2053         * modules/nanosleep (Depends-on): Add clock-time.
2054         * modules/gethrxtime (Depends-on): Likewise.
2055         * modules/gettime (Depends-on): Likewise.
2056         * modules/settime (Depends-on): Likewise.
2057
2058         * modules/fts-lgpl: Depend on openat.
2059         * modules/mkancesdirs: Depend on savewd.
2060         * modules/mkdir-p: Likewise.
2061
2062 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
2063
2064         * m4/host-os.m4 (gl_HOST_OS): Require AC_CANONICAL_HOST.
2065
2066         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Rename cache variable from
2067         `gl_have_arbitrary_file_name_length_limit' to
2068         `gl_cv_have_arbitrary_file_name_length_limit', so that caching
2069         actually works between configure runs.
2070
2071 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
2072             Bruno Haible  <bruno@clisp.org>
2073
2074         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Include <string.h>.
2075
2076 2006-09-25  Jim Meyering  <jim@meyering.net>
2077
2078         * m4/fcntl_h.m4 (gl_FCNTL_H): Fix typo in test for failed open.
2079         This typo caused coreutils/tests/dd/misc to fail on Darwin 8.7.0.
2080
2081 2006-09-25  Eric Blake  <ebb9@byu.net>
2082
2083         * gnulib-tool (func_import, func_create_testdir): Fix typos in
2084         exec's in 2006-09-18 patch when shuffling fds.
2085
2086 2006-09-25  Bruno Haible  <bruno@clisp.org>
2087
2088         * m4/getloadavg.m4 (gl_GETLOADAVG): Fix directory in error message.
2089         Reported by Jim Meyering.
2090
2091 2006-09-24  Jim Meyering  <jim@meyering.net>
2092
2093         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Don't use '>' to
2094         compare a pointer against a literal "0".  That caused failures with
2095         at least HP-UX's hpcc.
2096
2097 2006-09-22  Simon Josefsson  <jas@extundo.com>
2098
2099         * modules/gc-sha1:
2100         * modules/gc-md4:
2101         * modules/gc-hmac-sha1:
2102         * modules/gc-hmac-md5:
2103         * modules/gc-des:
2104         * modules/gc-arcfour: Distribute more files.
2105
2106 2006-09-22  Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
2107
2108         * lib/gl_anylinked_list2.h [lint] (gl_linked_iterator)
2109         (gl_linked_iterator_from_to): Initialize struct completely.
2110         * lib/gl_anytree_list2.h [lint] (gl_tree_iterator): Likewise.
2111         (gl_tree_iterator_from_to): Likewise
2112         * lib/gl_anytree_oset.h [lint] (gl_tree_iterator): Likewise.
2113         * lib/gl_array_list.c [lint] (gl_array_iterator)
2114         (gl_array_iterator_from_to): Likewise.
2115         * lib/gl_array_oset.c [lint] (gl_array_iterator): Likewise.
2116         * lib/gl_carray_list.c [lint] (gl_carray_iterator)
2117         (gl_carray_iterator_from_to): Likewise.
2118
2119         * lib/gc-gnulib.c [GC_USE_HMAC_SHA1]: include hmac.h for hmac_sha1.
2120         * lib/md4.c (md4_process_block): Remove unused variable.
2121         * lib/rijndael-api-fst.c (rijndaelBlockDecrypt): GCC suggests
2122         parentheses for clarity.
2123
2124 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
2125
2126         * modules/bison-i18n (Depends-on): Add gettext.
2127
2128 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
2129
2130         * m4/fsusage.m4 (gl_STATFS_TRUNCATES): Avoid unused variable.
2131         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Likewise.
2132         * m4/jm-winsz1.m4 (gl_HEADER_TIOCGWINSZ_IN_TERMIOS_H): Likewise;
2133         also add missing comma that caused broken test.
2134         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Include
2135         stdlib.h, for `abort'.
2136         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Avoid unused
2137         variables.
2138         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Check for and
2139         include unistd.h if present, for `rmdir'.
2140         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Avoid unused
2141         variables.
2142         * m4/putenv.m4 (gl_FUNC_PUTENV): Rewrite using AC_RUN_IFELSE, and
2143         in the process include standard headers for prototypes.
2144         * m4/readutmp.m4 (gl_READUTMP): Require AC_GNU_SOURCE, so utmpxname
2145         gets declared on GNU/Linux.
2146         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Check for and include
2147         unistd.h, for `rmdir'.
2148         * m4/time_r.m4 (gl_TIME_R): Avoid unused variables.
2149
2150         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Avoid expression that is
2151         always true.
2152         * m4/strndup.m4 (gl_FUNC_STRNDUP): include stdlib.h, for `free'.
2153
2154         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Avoid gcc -Wall warnings.
2155
2156 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
2157
2158         * gnulib-tool (func_version): Create output all at once.  This
2159         may help avoid triggering unnecessary SIGPIPEs, and at any
2160         rate it doesn't hurt.
2161
2162 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
2163             Bruno Haible  <bruno@clisp.org>
2164
2165         * m4/lock.m4 (gl_LOCK_BODY): Avoid unused variables warning.
2166         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
2167         * m4/signed.m4 (bh_C_SIGNED): Likewise.
2168
2169         * m4/vasprintf.m4 (gl_PREREQ_VASPRINTF_H): New macro.
2170         (gl_FUNC_VASPRINTF): Invoke it.
2171
2172 2006-09-22  Bruno Haible  <bruno@clisp.org>
2173
2174         * m4/getloadavg.m4 (gl_GETLOADAVG): Expect the directory of
2175         getloadavg.c as first argument.
2176
2177 2006-09-22  Bruno Haible  <bruno@clisp.org>
2178
2179         * gnulib-tool (func_import, func_create_testdir): Set gl_source_base
2180         at the beginning of the gl_INIT macro.
2181         * modules/getloadavg (configure.ac): Pass $gl_source_base to
2182         gl_GETLOADAVG.
2183
2184 2006-09-22  Bruno Haible  <bruno@clisp.org>
2185
2186         * gnulib-tool (func_create_megatestdir): Don't include the config-h
2187         module.
2188         Suggested by Ralf Wildenhues.
2189
2190 2006-09-20  Paul Eggert  <eggert@cs.ucla.edu>
2191
2192         Import this patch from libc:
2193
2194         2006-09-06  Jakub Jelinek  <jakub@redhat.com>
2195
2196         * lib/regex_internal.c (re_string_reconstruct): Handle
2197         offset < pstr->valid_raw_len && pstr->offsets_needed case.
2198         Ensure no bytes read before raw_mbs array.  Pass a saved copy of
2199         pstr->valid_len - 1 rather than pstr->valid_raw_len - 1 to
2200         re_string_context_at.
2201
2202         * m4/regex.m4 (gl_REGEX): Check for locale.h, since the test
2203         now requires it.
2204         (gl_PREREQ_REGEX): Don't check for locale.h any more, since
2205         gl_REGEX now does it for us.
2206         (gl_REGEX): Add test taken from
2207         http://sourceware.org/ml/libc-hacker/2006-09/msg00008.html.
2208
2209         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require AC_SYS_LARGEFILE.
2210         Check that large offsets work.  Modernize Autoconf usages.
2211         Prefer "yes" to mean a good thing rather than a bad.
2212         Don't put "#define mkstemp" in config.h, as this might interfere
2213         with standard system headers that "#define mkstemp mkstemp64".
2214
2215         * modules/mkstemp (Depends-on): Add extensions, so that
2216         mkstemp is visible on some platforms.
2217         (Makefile.am): Add mkstemp.h to EXTRA_DIST.
2218         (Include): Change to "mkstemp.h" from <stdlib.h>.
2219         (Files): Add mkstemp.h.
2220
2221         * lib/mkstemp.h: New file, since some standard headers
2222         #define mkstemp.
2223         * lib/mkstemp.c: Revamp to put the !_LIBC code together.
2224         Include "mkstemp.h".
2225         Make the _LIBC code resemble glibc original more,
2226         e.g., use K&R style.
2227         * lib/mkstemp-safer.c: Include "mkstemp.h" instead of <stdlib.h>.
2228         (mkstemp): Remove, since mkstemp.h does this for us.
2229         * lib/stdlib--.h: Include mkstemp.h.
2230
2231         Import this patch from libc:
2232
2233         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
2234
2235         * lib/tempname.c (__gen_tempname): Change attempts_min
2236         into a macro.  Use preprocessor to decide how to initialize
2237         attempts [Coverity CID 67].
2238
2239 2006-09-20  Bruno Haible  <bruno@clisp.org>
2240
2241         * lib/mkdtemp.c: Import from libc.
2242         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
2243                 * sysdeps/posix/tempname.c (__gen_tempname): Change
2244                 attempts_min into a macro.  Use preprocessor to decide how to
2245                 initialize attempts [Coverity CID 67].
2246         2001-11-27  Paul Eggert  <eggert@twinsun.com>
2247                 * sysdeps/posix/tempname.c (__gen_tempname): Try at least
2248                 ATTEMPTS_MIN or TMP_MAX times, whichever is greater.
2249
2250 2006-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
2251
2252         * gnulib-tool (func_exit): New function, to allow to pass the
2253         exit status portably through the trap.  Use everywhere.
2254         (--help, --version): Signal a write error.
2255         (trap): catch SIGPIPE, for write errors.
2256         Exit at the end of the trap, with the correct exit status.
2257
2258 2006-09-19  Karl Berry  <karl@gnu.org>
2259
2260         * doc/gnulib.texi: note about the license texinfo files.
2261
2262 2006-09-19  Eric Blake  <ebb9@byu.net>
2263
2264         * gnulib-tool: Avoid space-tab.
2265
2266 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
2267
2268         * lib/getaddrinfo.c (getaddrinfo) [defined HAVE_IPV6]: Fix typo
2269         that prevented coreutils 6.1 from building.  Problem reported
2270         by Petter Reinholdtsen.
2271
2272 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
2273
2274         * gnulib-tool (avoidlist): Fix typo that broke options like
2275         --avoid=lock that are used by coreutils bootstrap.
2276
2277 2006-09-18  Mark D. Baushke  <mdb@gnu.org>
2278
2279         * m4/inttypes.m4 (gl_INTTYPES_H): Quote "test" args
2280         more systematically.
2281
2282 2006-09-18  Jim Meyering  <jim@meyering.net>
2283
2284         * lib/savewd.c (savewd_restore): Don't shadow: s/status/child_status/.
2285
2286 2006-09-18  Bruno Haible  <bruno@clisp.org>
2287
2288         * modules/inttypes (Files): Remove m4/inttypes-h.m4.
2289
2290 2006-09-18  Bruno Haible  <bruno@clisp.org>
2291
2292         * m4/inttypes-h.m4 (gl_HEADER_INTTYPES_H): Remove macro.
2293         * m4/inttypes-pri.m4: Require autoconf >= 2.52.
2294         (gt_INTTYPES_PRI): Invoke AC_CHECK_HEADERS on inttypes.h. Test
2295         ac_cv_header_inttypes_h instead of gl_cv_header_inttypes_h.
2296         * m4/gettext.m4: Require autoconf >= 2.52.
2297         (gt_INTL_SUBDIR_CORE): Invoke AC_CHECK_HEADERS on inttypes.h.
2298         * m4/inttypes.m4 (gl_INTTYPES_H): Test ac_cv_header_inttypes_h instead
2299         of gl_cv_header_inttypes_h.
2300
2301 2006-09-18  Bruno Haible  <bruno@clisp.org>
2302
2303         * lib/javaversion.c: Include configmake.h.
2304
2305 2006-09-18  Bruno Haible  <bruno@clisp.org>
2306
2307         * gnulib-tool (func_import, func_create_testdir): Use exec tricks to
2308         avoid that the while loops be executed in a subshell.
2309
2310 2006-09-18  Bruno Haible  <bruno@clisp.org>
2311
2312         * MODULES.html.sh (func_module): Break long lines.
2313         Suggested by Bruce Korb <bkorb@gnu.org>.
2314
2315 2006-09-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
2316
2317         Speed up by a factor of 1.12.
2318         * gnulib-tool (nl): New variable.
2319         (func_import): Rewrite include directive extraction to only read each
2320         directive once.
2321
2322 2006-09-17  Bruno Haible  <bruno@clisp.org>
2323
2324         * modules/javaversion (Makefile.am): Remove DEFS setting.
2325         (Depends-on): Add configmake, for PKGDATADIR definition.
2326
2327 2006-09-17  Bruno Haible  <bruno@clisp.org>
2328
2329         * gnulib-tool (func_create_testdir): Rewrite all files at once.
2330
2331 2006-09-17  Bruno Haible  <bruno@clisp.org>
2332
2333         * gnulib-tool (func_append): New function, stolen from libtool.m4.
2334         (func_modules_transitive_closure, func_modules_add_dummy,
2335         func_modules_to_filelist, func_import, func_create_testdir,
2336         func_create_megatestdir, ...): Use it wherever possible.
2337         Suggested by Ralf Wildenhues.
2338
2339 2006-09-16  Karl Berry  <karl@gnu.org>
2340
2341         * doc/fdl.texi (ADDENDUM): switch to @heading from @appendixsubsec,
2342         to avoid sectioning errors.
2343         * doc/lgpl.texi, gpl.texi (Copying): downcase @unnumbered title.
2344         [ifinfo]: blank line after @center-ed titles.
2345         * doc/lgpl.texi (Library Copying): Rename main node to GNU LGPL.
2346         Spell FSF address consistently with others.
2347         (These changes approved by rms.)
2348
2349 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
2350
2351         Speed up by a factor of 1.61.
2352         * gnulib-tool (func_modules_transitive_closure): Rewrite to not check
2353         already checked module names again.
2354
2355 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
2356
2357         Speed up by a factor of 1.13.
2358         * gnulib-tool (func_import): Rewrite all old_files at once; likewise
2359         for new_files, and the input to func_add_or_update.
2360
2361 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
2362
2363         * gnulib-tool (func_all_modules, func_modules_to_filelist, func_import,
2364         func_create_testdir, ...): Change 'sort | uniq' to 'sort -u'.
2365
2366 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
2367
2368         * modules/mkancesdirs (Depends-on): Add fcntl.
2369         * modules/savewd: New file.
2370         * MODULES.html.sh (File system functions): Add savewd.
2371
2372         * modules/configmake (Makefile.am): Add support for the
2373         Automake-supplied PKGLIBDIR, PKGINCLUDEDIR, PKGDATADIR.
2374
2375 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
2376
2377         * m4/savewd.m4: New file.
2378
2379 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
2380
2381         * lib/dirchownmod.c: Don't include fcntl.h; no longer needed.
2382         (dirchownmod): New arg FD.  All callers changed.
2383         Use FD rather than opening the directory ourself, as opening is
2384         now the caller's responsibility.
2385         * lib/dirchownmod.h: Likewise.
2386         * lib/mkancesdirs.c: Include <sys/types.h>, for portability to older
2387         hosts that require <sys/types.h> before <sys/stat.h>.  Include
2388         fcntl.h, savewd.h, and unistd.h, not dirname.h and stat-macros.h.
2389         (test_dir): Remove.
2390         (mkancesdirs): Return length of prefix of FILE that has already
2391         been made, or -2 if there is a child doing the work.  Redo
2392         algorithm so that it is O(N) rather than O(N**2).  Optimize away
2393         ".", and treat ".." specially since it might stray back into
2394         already-created areas.  Use a subprocess if necessary.  New arg
2395         WD; all users changed.  MAKE_DIR function should now return 1
2396         if it creates a directory that is not readable.  Return -2 if
2397         a child process is spun off.
2398         * lib/mkancesdirs.h: Include <stddef.h>, for ptrdiff_t.
2399         Adjust signature to match code.
2400         * lib/mkdir-p.c: Include dirname.h, for IS_ABSOLUTE_FILE_NAME.
2401         (make_dir_parents): Use a subprocess if necessary.  New arg WD;
2402         all users changed.
2403         * lib/savewd.c, lib/savewd.h: New files.
2404
2405 2006-09-15  Jim Meyering  <jim@meyering.net>
2406
2407         * modules/rename-dest-slash: New module.
2408         * MODULES.html.sh (posix_compat): Add it here.
2409
2410         * modules/rename: Reflect vb_FUNC_RENAME -> gl_FUNC_RENAME change.
2411
2412 2006-09-15  Jim Meyering  <jim@meyering.net>
2413
2414         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH): New
2415         file.
2416
2417         * m4/rename.m4 (gl_FUNC_RENAME): Rename from vb_FUNC_RENAME.
2418
2419 2006-09-15  Jim Meyering  <jim@meyering.net>
2420
2421         * lib/rename-dest-slash.c (has_trailing_slash): Use
2422         FILE_SYSTEM_PREFIX_LEN, for non-POSIX systems.
2423         (rpl_rename_dest_slash): Perform the cheaper trailing slash
2424         test before testing whether SRC is a directory.
2425         Suggestions from Bruno Haible.
2426
2427         Avoid a warning about an unused variable.
2428         * lib/regex_internal.c (re_dfa_add_node): Move declaration of "type"
2429         into the #ifdef block where it's used.
2430
2431         * lib/rename-dest-slash.c: New file.
2432
2433 2006-09-14  Bruno Haible  <bruno@clisp.org>
2434
2435         * lib/allocsa.c: Include <config.h> unconditionally.
2436         * lib/asnprintf.c: Likewise.
2437         * lib/asprintf.c: Likewise.
2438         * lib/c-strcasecmp.c: Likewise.
2439         * lib/c-strcasestr.c: Likewise.
2440         * lib/c-strncasecmp.c: Likewise.
2441         * lib/c-strstr.c: Likewise.
2442         * lib/classpath.c: Likewise.
2443         * lib/clean-temp.c: Likewise.
2444         * lib/concatpath.c: Likewise.
2445         * lib/copy-file.c: Likewise.
2446         * lib/csharpcomp.c: Likewise.
2447         * lib/csharpexec.c: Likewise.
2448         * lib/execute.c: Likewise.
2449         * lib/fatal-signal.c: Likewise.
2450         * lib/findprog.c: Likewise.
2451         * lib/fwriteerror.c: Likewise.
2452         * lib/gl_array_list.c: Likewise.
2453         * lib/gl_array_oset.c: Likewise.
2454         * lib/gl_avltree_list.c: Likewise.
2455         * lib/gl_avltree_oset.c: Likewise.
2456         * lib/gl_avltreehash_list.c: Likewise.
2457         * lib/gl_carray_list.c: Likewise.
2458         * lib/gl_linked_list.c: Likewise.
2459         * lib/gl_linkedhash_list.c: Likewise.
2460         * lib/gl_list.c: Likewise.
2461         * lib/gl_oset.c: Likewise.
2462         * lib/gl_rbtree_list.c: Likewise.
2463         * lib/gl_rbtree_oset.c: Likewise.
2464         * lib/gl_rbtreehash_list.c: Likewise.
2465         * lib/imaxabs.c: Likewise.
2466         * lib/imaxdiv.c: Likewise.
2467         * lib/javacomp.c: Likewise.
2468         * lib/javaexec.c: Likewise.
2469         * lib/javaversion.c: Likewise.
2470         * lib/linebreak.c: Likewise.
2471         * lib/localcharset.c: Likewise.
2472         * lib/lock.c: Likewise.
2473         * lib/mbchar.c: Likewise.
2474         * lib/mbswidth.c: Likewise.
2475         * lib/mkdtemp.c: Likewise.
2476         * lib/pipe.c: Likewise.
2477         * lib/printf-args.c: Likewise.
2478         * lib/printf-parse.c: Likewise.
2479         * lib/progname.c: Likewise.
2480         * lib/progreloc.c: Likewise.
2481         * lib/readlink.c: Likewise.
2482         * lib/sh-quote.c: Likewise.
2483         * lib/stpcpy.c: Likewise.
2484         * lib/stpncpy.c: Likewise.
2485         * lib/strcasecmp.c: Likewise.
2486         * lib/strcasestr.c: Likewise.
2487         * lib/strcspn.c: Likewise.
2488         * lib/striconv.c: Likewise.
2489         * lib/strncasecmp.c: Likewise.
2490         * lib/strnlen1.c: Likewise.
2491         * lib/strstr.c: Likewise.
2492         * lib/strtok_r.c: Likewise.
2493         * lib/tls.c: Likewise.
2494         * lib/tmpdir.c: Likewise.
2495         * lib/unicodeio.c: Likewise.
2496         * lib/unsetenv.c: Likewise.
2497         * lib/vasnprintf.c: Likewise.
2498         * lib/vasprintf.c: Likewise.
2499         * lib/wait-process.c: Likewise.
2500         * lib/xallocsa.c: Likewise.
2501         * lib/xsetenv.c: Likewise.
2502         * lib/xstriconv.c: Likewise.
2503
2504 2006-09-13  Simon Josefsson  <jas@extundo.com>
2505
2506         * m4/getdate.m4: Don't AC_LIBOBJ([getdate]), automake takes care of
2507         that internally, suggested by Ralf Wildenhues
2508         <Ralf.Wildenhues@gmx.de>.
2509
2510 2006-09-13  Simon Josefsson  <jas@extundo.com>
2511
2512         * gnulib-tool (func_emit_lib_Makefile_am): Use $(LIBOBJS), not
2513         @LIBOBJS@.
2514         Suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
2515
2516 2006-09-13  Paul Eggert  <eggert@cs.ucla.edu>
2517
2518         * lib/_fpending.c: Include <config.h> unconditionally, since we no
2519         longer worry about uses that don't define HAVE_CONFIG_H.
2520         * lib/acl.c, lib/alloca.c, lib/argmatch.c, lib/atexit.c:
2521         * lib/backupfile.c, lib/basename.c, lib/c-stack.c, lib/c-strtod.c:
2522         * lib/calloc.c,lib/ canon-host.c, lib/canonicalize.c, lib/chdir-long.c:
2523         * lib/chdir-safer.c, lib/chown.c, lib/cloexec.c, lib/close-stream.c:
2524         * lib/closeout.c, lib/creat-safer.c, lib/cycle-check.c, lib/diacrit.c:
2525         * lib/dirchownmod.c, lib/dirfd.c, lib/dirname.c, lib/dup-safer.c:
2526         * lib/dup2.c, lib/error.c, lib/euidaccess.c, lib/exclude.c:
2527         * lib/exitfail.c, lib/fchmodat.c, lib/fchown-stub.c, lib/fd-safer.c:
2528         * lib/file-type.c, lib/fileblocks.c, lib/filemode.c, lib/filenamecat.c:
2529         * lib/fnmatch.c, lib/fopen-safer.c, lib/fprintftime.c, lib/free.c:
2530         * lib/fsusage.c, lib/ftruncate.c, lib/fts-cycle.c, lib/fts.c:
2531         * lib/full-write.c, lib/gai_strerror.c, lib/getcwd.c, lib/getdate.y:
2532         * lib/getdomainname.c, lib/getgroups.c, lib/gethostname.c:
2533         * lib/gethrxtime.c, lib/getloadavg.c, lib/getlogin_r.c:
2534         * lib/getndelim2.c, lib/getnline.c, lib/getopt.c, lib/getopt1.c:
2535         * lib/getpass.c, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c:
2536         * lib/getusershell.c, lib/glob.c, lib/group-member.c:
2537         * lib/hard-locale.c, lib/hash-pjw.c, lib/hash.c, lib/human.c:
2538         * lib/idcache.c, lib/inet_ntop.c, lib/inet_pton.c, lib/inttostr.c:
2539         * lib/isdir.c, lib/lchown.c, lib/linebuffer.c, lib/long-options.c:
2540         * lib/lstat.c, lib/malloc.c, lib/md5.c, lib/memcasecmp.c, lib/memchr.c:
2541         * lib/memcmp.c, lib/memcoll.c, lib/memcpy.c, lib/memmove.c:
2542         * lib/memrchr.c, lib/mkancesdirs.c, lib/mkdir-p.c, lib/mkdir.c:
2543         * lib/mkdirat.c, lib/mkstemp-safer.c, lib/mkstemp.c, lib/modechange.c:
2544         * lib/mountlist.c, lib/nanosleep.c, lib/obstack.c, lib/open-safer.c:
2545         * lib/openat-die.c, lib/openat.c, lib/pagealign_alloc.c, lib/physmem.c:
2546         * lib/pipe-safer.c, lib/posixtm.c, lib/posixver.c, lib/putenv.c:
2547         * lib/quote.c, lib/quotearg.c, lib/raise.c, lib/readtokens.c:
2548         * lib/readtokens0.c, lib/readutmp.c, lib/realloc.c, lib/regex.c:
2549         * lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c:
2550         * lib/same.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c:
2551         * lib/settime.c, lib/sha1.c, lib/sig2str.c, lib/snprintf.c:
2552         * lib/strdup.c, lib/strerror.c, lib/strftime.c, lib/stripslash.c:
2553         * lib/strndup.c, lib/strnlen.c, lib/strpbrk.c, lib/strtod.c:
2554         * lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c:
2555         * lib/time_r.c, lib/timegm.c, lib/tmpfile-safer.c, lib/unlinkdir.c:
2556         * lib/userspec.c, lib/utime.c, lib/utimecmp.c, lib/utimens.c:
2557         * lib/version-etc-fsf.c, lib/version-etc.c, lib/xalloc-die.c:
2558         * lib/xgetcwd.c, lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c:
2559         * lib/xnanosleep.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtoimax.c:
2560         * lib/xstrtol.c, lib/xstrtoumax.c, lib/yesno.c:
2561         Likewise.
2562
2563 2006-09-13  Eric Blake  <ebb9@byu.net>
2564
2565         * lib/getopt.c: Fix typo in last commit.
2566
2567 2006-09-12  Sergey Poznyakoff  <gray@gnu.org.ua>
2568
2569         * lib/argp-help.c (argp_doc): Make sure NULL is not passed to
2570         dgettext.
2571
2572 2006-09-12  Jim Meyering  <jim@meyering.net>
2573
2574         * lib/nanosleep.c: Include <sys/types.h> before sys/select.h, to avoid
2575         compilation failure (due to use of pid_t in latter) on NetBSD 1.6.
2576         Reported by Nelson H. F. Beebe.
2577
2578 2006-09-10  Sergey Poznyakoff  <gray@gnu.org.ua>
2579
2580         * lib/argp-parse.c (__argp_parse) [!_LIBC]: Make sure
2581         program_invocation_name and program_invocation_short_name are
2582         initialized.
2583         * lib/argp-namefrob.h: Move declarations of program_invocation_name
2584         and program_invocation_short_name to argp.h, so they are visible
2585         to user programs.
2586         * lib/argp.h: Likewise
2587
2588 2006-09-10  Bruno Haible  <bruno@clisp.org>
2589
2590         * modules/mkdtemp (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
2591         m4/inttypes_h.m4, m4/uintmax_t.m4.
2592
2593 2006-09-10  Bruno Haible  <bruno@clisp.org>
2594
2595         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Don't require
2596         gl_AC_TYPE_UINTMAX_T.
2597
2598 2006-09-10  Bruno Haible  <bruno@clisp.org>
2599
2600         * lib/mkdtemp.c: Include <stdint.h> always. Don't include <inttypes.h>.
2601
2602 2006-09-09  Sergey Poznyakoff  <gray@gnu.org.ua>
2603
2604         * lib/argp.h (struct argp): Document the N_("..") "\v" N_("..")
2605         convention.  Text proposed by Bruno Haible.
2606         (struct argp_option): Document the use of N_() wrappers.
2607
2608         * lib/argp-help.c (argp_doc): Split the untranslated doc string on
2609         '\v', and translate the two parts separately, instead of feeding
2610         the whole string to gettext.  This allows to exclude
2611         '\v' from the strings visible to the translator by writing doc
2612         strings as N_("..") "\v" N_("..").
2613
2614 2006-09-09  Paul Eggert  <eggert@cs.ucla.edu>
2615
2616         * config/srclist.txt: Undo latest change; the bug was fixed.
2617
2618 2006-09-09  Bruno Haible  <bruno@clisp.org>
2619
2620         * gnulib-tool (func_emit_lib_Makefile_am): Eliminate lib_LDFLAGS
2621         assignments if building a library without libtool.
2622         (func_emit_tests_Makefile_am): Likewise. Handle lib_* variables as
2623         in func_emit_lib_Makefile_am.
2624         (func_import): When building a static library libfoo.a, arrange to
2625         define variables LIBFOO_LIBDEPS and LIBFOO_LTLIBDEPS.
2626         (func_create_testdir): Likewise.
2627         * modules/gc (configure.ac, Makefile.am): If building statically,
2628         augment gl_libdeps and gl_ltlibdeps instead of lib_LDFLAGS.
2629         * modules/iconvme (configure.ac, Makefile.am): Likewise.
2630         * modules/striconv (configure.ac, Makefile.am): Likewise.
2631         Based on a suggestion by Ralf Wildenhues.
2632
2633 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
2634
2635         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
2636         Check for unistd.h too, since Autoconf doesn't assume POSIX.
2637         Also:
2638
2639         2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
2640         Add year_2050_test to catch glibc bug 2821
2641         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
2642
2643         2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
2644         Prefer #ifdef to #if.
2645
2646         2006-04-02  Paul Eggert  <eggert@cs.ucla.edu>
2647         Return from 'main' instead of calling 'exit'.
2648
2649 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
2650
2651         * lib/mktime.c (guess_time_tm): Fix bug where mktime
2652         returned the maximum time_t value rather than (time_t) -1.
2653         Problem originally reported by William Bardwell
2654         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
2655
2656         * lib/isapipe.h (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
2657         Moved to here ...
2658         * lib/isapipe.c (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
2659         ... from here.
2660
2661 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
2662
2663         * config/srclist.txt: Temporarily comment out mktime.c until glibc bug
2664         2821 is fixed.
2665
2666 2006-09-08  Jim Meyering  <jim@meyering.net>
2667
2668         Don't make generated files read-only.  That would bother too many
2669         people.  However, do retain the ability to work when targets are
2670         read-only: remove the destination and temporary files before writing
2671         them (when generated via sed or echo), or by using the -f option for
2672         both cp and mv commands.  Suggestion to use -f from Paul Eggert.
2673         * modules/alloca-opt, modules/argz, modules/arpa_inet:
2674         * modules/byteswap, modules/configmake, modules/fcntl:
2675         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
2676         * modules/localcharset, modules/netinet_in, modules/poll:
2677         * modules/stdbool, modules/stdint, modules/sys_select:
2678         * modules/sys_socket, modules/sys_stat, modules/sysexits:
2679
2680 2006-09-08  Jim Meyering  <jim@meyering.net>
2681
2682         Avoid new build failure on FreeBSD 6.0.
2683         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Include
2684         <sys/param.h> when testing whether getmntinfo uses statvfs.  Patch by
2685         Pavel Tsekov, in <http://savannah.gnu.org/bugs/?17643>.
2686
2687 2006-09-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
2688
2689         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't use plain echo.
2690
2691 2006-09-07  Jim Meyering  <jim@meyering.net>
2692
2693         Fix global typo in last change: use chmod u-w, not chmod u-x.
2694         Spotted by Paul Eggert and Bruce Korb.
2695         * modules/alloca-opt, modules/argz, modules/arpa_inet:
2696         * modules/byteswap, modules/configmake, modules/fcntl:
2697         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
2698         * modules/localcharset, modules/netinet_in, modules/poll:
2699         * modules/stdbool, modules/stdint, modules/sys_select:
2700         * modules/sys_socket, modules/sys_stat, modules/sysexits:
2701
2702 2006-09-06  Jim Meyering  <jim@meyering.net>
2703
2704         Make generated files be read-only.
2705         * modules/alloca-opt (Makefile.am): Work also when $@ is read-only.
2706         Ensure that each generated file is now read-only.
2707         * modules/argz: Likewise.
2708         * modules/arpa_inet: Likewise.
2709         * modules/byteswap: Likewise.
2710         * modules/configmake: Likewise.
2711         * modules/fcntl: Likewise.
2712         * modules/fnmatch: Likewise.
2713         * modules/getopt: Likewise.
2714         * modules/glob: Likewise.
2715         * modules/inttypes: Likewise.
2716         * modules/netinet_in: Likewise.
2717         * modules/poll: Likewise.
2718         * modules/stdbool: Likewise.
2719         * modules/stdint: Likewise.
2720         * modules/sys_select: Likewise.
2721         * modules/sys_socket: Likewise.
2722         * modules/sys_stat: Likewise.
2723         * modules/sysexits: Likewise.
2724         * modules/localcharset: Same as above, but continue using temporary
2725         file named "t-$@" (why different?) rather than the "$@-t" used
2726         everywhere else.
2727
2728         * modules/sysexits (Makefile.am): Replace literal occurrences
2729         of "sysexit.h" more readable, and more consistent, "$@".
2730
2731 2006-09-06  Bruno Haible  <bruno@clisp.org>
2732
2733         * modules/striconv: New file.
2734         * modules/xstriconv: New file.
2735         * MODULES.html.sh (Internationalization functions): Add striconv,
2736         xstriconv.
2737
2738 2006-09-06  Bruno Haible  <bruno@clisp.org>
2739
2740         * modules/gc (Makefile.am): Augment lib_LDFLAGS, not lib_LIBADD.
2741         * modules/iconvme (Makefile.am): Likewise. Also handle the case of
2742         not using libtool correctly.
2743
2744 2006-09-06  Bruno Haible  <bruno@clisp.org>
2745
2746         * lib/striconv.h: New file.
2747         * lib/striconv.c: New file, merging iconvme.c with GNU gettext's
2748         iconvstring.c.
2749         * lib/xstriconv.h: New file.
2750         * lib/xstriconv.c: New file.
2751
2752 2006-09-06  Bruno Haible  <bruno@clisp.org>
2753
2754         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
2755         lib_..._LDFLAGS.
2756
2757 2006-09-05  Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
2758
2759         * lib/argz_.h: Sync from Libtool.
2760
2761         2006-09-04  George Bosilca <bosilca@cs.utk.edu>
2762                 and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
2763
2764         * lib/libltdl/argz_.h: It's __cplusplus, not _cplusplus.
2765
2766 2006-09-05  Davide Angelocola <davide.angelocola@tiscali.it>
2767
2768         * modules/trim: New file.
2769
2770 2006-09-05  Davide Angelocola <davide.angelocola@tiscali.it>
2771
2772         * lib/trim.h: New file.
2773         * lib/trim.c: New file.
2774
2775 2006-09-05  Bruno Haible  <bruno@clisp.org>
2776
2777         * MODULES.html.sh (String handling): Add trim.
2778
2779 2006-09-04  Karl Berry  <karl@gnu.org>
2780
2781         * config/srclist.txt (signed.m4, gettext.m4): changes not propagated
2782         until next release.
2783
2784 2006-09-03  Bruno Haible  <bruno@clisp.org>
2785
2786         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Locate mingw shared libraries
2787         correctly.
2788
2789 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
2790
2791         * m4/getloadavg.m4 (gl_GETLOADAVG): Use CONFIGURING_GETLOADAVG,
2792         not gl_GETLOADAVG.  Omit unneeded semicolons.
2793         Problems reported by Ralf Wildenhues in
2794         <http://lists.gnu.org/archive/html/bug-gnulib/2006-09/msg00000.html>.
2795         (gl_PREREQ_GETLOADAVG): Use AC_DEFUN, not m4_define.  Put
2796         at the end, which is the usual gnulib style.
2797
2798         * m4/fstypename.m4 (gl_FSTYPENAME): Use AC_CHECK_MEMBERS instead
2799         of doing all the work ourselves.
2800         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Don't check for
2801         sys/statvfs.h since the code doesn't use HAVE_SYS_STATVFS_H.
2802
2803 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
2804
2805         * lib/getloadavg.c: Use CONFIGURING_GETLOADAVG, not gl_GETLOADAVG.
2806         Problem reported by Ralf Wildenhues in
2807         <http://lists.gnu.org/archive/html/bug-gnulib/2006-09/msg00000.html>.
2808
2809         * lib/mountlist.c: All uses of HAVE_F_FSTYPENAME_IN_STATFS replaced by
2810         HAVE_STRUCT_STATFS_F_FSTYPENAME.
2811
2812 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
2813
2814         * gnulib-tool (func_emit_lib_Makefile_am): Fix typos in
2815         yesterday's patch by changing test -n to test -z.
2816
2817 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
2818
2819         * modules/getloadavg (Files): Add m4/getloadavg.m4.
2820         (configure.ac): AC_FUNC_GETLOADAVG -> gl_GETLOADAVG, as
2821         the former is now obsolescent.
2822
2823         * modules/chdir-long (Depends-on): Add fcntl.
2824
2825 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
2826
2827         * m4/fnmatch.m4: Add comment that Autoconf AC_FUNC_FNMATCH is
2828         obsolescent, and programs should use gnulib instead.
2829         * m4/getloadavg.m4: New file, with contents taken from Autoconf
2830         but with prefixes changed.
2831
2832 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
2833
2834         * lib/getloadavg.c [defined gl_GETLOADAVG]: Don't include config.h
2835         or stdbool.h, because they might not exist while configuring.
2836
2837         * lib/chdir-long.c: Include <fcntl.h>, for O_DIRECTORY.
2838         Don't include unistd.h or limits.h; not needed, since chdir-long.h
2839         does that for us.
2840         (O_DIRECTORY): Remove.
2841
2842 2006-08-31  Eric Blake  <ebb9@byu.net>
2843
2844         * gnulib-tool: Don't let emacs change spaces to TAB.
2845
2846 2006-08-31  Bruno Haible  <bruno@clisp.org>
2847
2848         * gnulib-tool: When calling func_import more than once, do it in a
2849         subshell.
2850         Reported by Eric Blake <ebb9@byu.net>.
2851
2852 2006-08-31  Bruno Haible  <bruno@clisp.org>
2853
2854         * gnulib-tool (nl): Remove variable.
2855         (sed_transform_lib_file): Use more robust test for config-h module.
2856         (func_import): Fix typo in 2006-08-25 patch.
2857
2858 2006-08-31  Bruno Haible  <bruno@clisp.org>
2859
2860         * gnulib-tool (func_emit_lib_Makefile_am): When --makefile-name was
2861         specified, augment Makefile.am variables instead of assigning them.
2862
2863 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
2864
2865         Work around a bug in both the Linux and SunOS 64-bit kernels:
2866         nanosleep mishandles sleeps for longer than 2**31 seconds.
2867         Problem reported by Frank v Waveren in
2868         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00298.html>.
2869         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require gl_CLOCK_TIME.
2870         Check for nanosleep bug.
2871         (LIB_NANOSLEEP): Append clock_gettime library if needed.
2872
2873 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
2874
2875         Work around a bug in both the Linux and SunOS 64-bit kernels:
2876         nanosleep mishandles sleeps for longer than 2**31 seconds.
2877         Problem reported by Frank v Waveren in
2878         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00298.html>.
2879         * lib/nanosleep.c (BILLION): New constant.
2880         (getnow) [HAVE_BUG_BIG_NANOSLEEP]: New functions.
2881         (rpl_nanosleep) [HAVE_BUG_BIG_NANOSLEEP]: Completely new
2882         implementation.
2883
2884 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
2885
2886         * modules/nanosleep (Depends-on): Add gettime.
2887
2888 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
2889         and Simon Josefsson  <jas@extundo.com>
2890         and Oskar Liljeblad  <oskar@osk.mine.nu>
2891
2892         * MODULES.html.sh (Support for building documentation): Add gpl, lgpl.
2893         * gnulib-tool (func_import): New license type 'unmodifiable license
2894         text'.
2895         * modules/fdl: Use it.  Longer description.
2896         * module/gpl, module/lgpl: New files.
2897
2898 2006-08-30  Jim Meyering  <jim@meyering.net>
2899
2900         * lib/isapipe.c (isapipe): Rename local s/fd/fd_pair/ to avoid
2901         shadowing the parameter.
2902
2903 2006-08-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
2904
2905         Sync from Libtool:
2906
2907         2006-08-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
2908
2909         * lib/libltdl/argz.c: Use `#ifdef HAVE_CONFIG_H', to facilitate code
2910         sharing with gnulib.  Report by Eric Blake.
2911
2912 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
2913
2914         * modules/isapipe: New file.
2915         * MODULES.html.sh (File descriptor based Input/Output): Add isapipe.
2916
2917 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
2918
2919         * modules/configmake (Makefile.am): Add a comment, and omit
2920         the CONFIGMAKE_ prefix from generated macro names.  Suggested
2921         by Bruno Haible.
2922
2923 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
2924
2925         * m4/isapipe.m4: New file.
2926
2927 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
2928
2929         * lib/isapipe.c, lib/isapipe.h: New files.
2930
2931 2006-08-29  Jim Meyering  <jim@meyering.net>
2932
2933         * modules/configmake (Makefile.am): Make configmake.h depend on
2934         Makefile.  Otherwise, a stale configmake.h could hang around.
2935
2936 2006-08-29  Eric Blake  <ebb9@byu.net>
2937
2938         * lib/error.c (error_at_line, print_errno_message): Match libc, after
2939         resolution of upstream bug 3044.
2940
2941 2006-08-29  Bruno Haible  <bruno@clisp.org>
2942
2943         * modules/localcharset (Depends-on): Add configmake.
2944         (Makefile.am): Remove setting of LIBDIR through DEFS.
2945
2946 2006-08-29  Bruno Haible  <bruno@clisp.org>
2947
2948         * lib/localcharset.c: Include configmake.h in order to get LIBDIR
2949         defined.
2950
2951 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
2952
2953         * modules/fcntl: New file.
2954         * modules/chdir-safer (Depends-on): Add fcntl.
2955         * modules/fts: Likewise.
2956         * modules/mkdir-p: Likewise.
2957
2958         * modules/stdint (Makefile.am): Do not substitute ABSOLUTE_INTTYPES_H.
2959         This undoes the most recent change, since we're now addressing the
2960         problem in a different way.
2961
2962         * gnulib-tool (emit_lib_Makefile_am): Don't put $makefile_name
2963         into output, since the output might be called Makefile.am even
2964         if $makefile_name is something different.
2965         (func_import): Use $makefile_am rather than
2966         ${makefile_name-Makefile.am}, to fix a bug where makefile_name was
2967         empty.
2968
2969         * modules/inttypes (Files): Add m4/inttypes-h.m4.
2970
2971 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
2972
2973         * m4/inttypes.m4 (gl_INTTYPES_H): Move ABSOLUTE_INTTYPES_H code here...
2974         * m4/stdint.m4 (gl_STDINT_H): ... from here.  This undoes the most
2975         recent change to stdint.m4, since we're now addressing the problem in a
2976         different way.
2977
2978 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
2979
2980         * m4/fcntl_h.m4: New file.
2981
2982 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
2983
2984         * lib/fcntl_.h: New file.
2985         * lib/chdir-safer.c (O_DIRECTORY, O_NOFOLLOW): Remove, now that we have
2986         the fcntl module.
2987         * lib/dirchownmod.c: Likewise.
2988         * lib/fts.c: Likewise.
2989
2990         * lib/inttypes_.h [defined _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H]:
2991         Include @ABSOLUTE_INTTYPES_H@ if available, but do nothing else.
2992         * lib/stdint_.h (_GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H): Define
2993         just before including <inttypes.h>, to avoid circular inclusion.
2994
2995 2006-08-28  Jim Meyering  <jim@meyering.net>
2996
2997         * doc/visibility.texi: Actually read and correct the grammar of the
2998         sentence affected by yesterday's change.
2999
3000 2006-08-28  Eric Blake  <ebb9@byu.net>
3001
3002         * modules/inttypes (Makefile.am): Fix sed error when inttypes.h
3003         needs wrapper.
3004
3005 2006-08-28  Eric Blake  <ebb9@byu.net>
3006
3007         * m4/inttypes.m4 (gl_INTTYPES_H): Fix missing #endif.
3008
3009 2006-08-28  Eric Blake  <ebb9@byu.net>
3010
3011         * m4/codeset.m4 (AM_LANGINFO_CODESET): Avoid compiler warning.
3012
3013 2006-08-28  Bruno Haible  <bruno@clisp.org>
3014
3015         * modules/c-strstr: New file, from GNU gettext.
3016         * MODULES.html.sh (String handling): Add c-strstr.
3017
3018 2006-08-28  Bruno Haible  <bruno@clisp.org>
3019
3020         * m4/inttypes.m4 (gl_INTTYPES_H): Don't test for the existence of SCNX*
3021         macros.
3022         Reported by Eric Blake.
3023
3024 2006-08-28  Bruno Haible  <bruno@clisp.org>
3025
3026         * lib/vasnprintf.c (EOVERFLOW): Remove definition.
3027         (VASNPRINTF): Return a string of length > INT_MAX without failing.
3028         * lib/vasprintf.c: Include errno.h, limits.h.
3029         (EOVERFLOW): New fallback definition.
3030         (vasprintf): Test here whether the string length is > INT_MAX.
3031         * lib/vsnprintf.c: Include errno.h, limits.h.
3032         (EOVERFLOW): New fallback definition.
3033         (vsnprintf): Fix bug when generated string was too long for the buffer.
3034         Test here whether the string length is > INT_MAX.
3035
3036 2006-08-28  Bruno Haible  <bruno@clisp.org>
3037
3038         * lib/inttypes_.h (SCNX*): Remove definitions.
3039         Reported by Eric Blake.
3040
3041 2006-08-28  Bruno Haible  <bruno@clisp.org>
3042
3043         * lib/c-strstr.h: New file, from GNU gettext.
3044         * lib/c-strstr.c: New file, from GNU gettext.
3045
3046 2006-08-28  Bruno Haible  <bruno@clisp.org>
3047
3048         * gnulib-tool: Reorder some statements.
3049
3050 2006-08-28  Bruno Haible  <bruno@clisp.org>
3051
3052         * gnulib-tool: New option --makefile-name.
3053         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Use
3054         $makefile_name.
3055         (func_import): Write $makefile_name to the cache file, and read it from
3056         there unless explicitly specified. Use $makefile_name as file name
3057         instead of Makefile.am. Adjust the recommendations accordingly.
3058
3059 2006-08-28  Bruno Haible  <bruno@clisp.org>
3060
3061         * gnulib-tool (func_verify_module): Check against misapplying patch.
3062
3063 2006-08-28  Bruno Haible  <bruno@clisp.org>
3064
3065         * gnulib-tool (func_relativize, func_relconcat): New functions.
3066         Give an error if --local-dir is given with --update.
3067         Remove trailing slashes from $local_gnulib_dir.
3068         (func_import): Store the relativized $local_gnulib_dir in
3069         gnulib-cache.m4, and read it from there if not specified explicitly.
3070
3071 2006-08-28  Bruno Haible  <bruno@clisp.org>
3072
3073         * gnulib-tool (func_get_tests_module): Don't assume that $gnulib_dir
3074         is the current directory. Respect also $local_gnulib_dir.
3075
3076 2006-08-28  Bruno Haible  <bruno@clisp.org>
3077             Simon Josefsson  <jas@extundo.com>
3078
3079         BeOS portability.
3080         * lib/getaddrinfo.c (PF_INET, PF_UNSPEC): New macros.
3081
3082 2006-08-27  Jim Meyering  <jim@meyering.net>
3083
3084         * doc/visibility.texi: Remove duplicate word: "pointer".
3085
3086 2006-08-26  Bruno Haible  <bruno@clisp.org>
3087
3088         * modules/inttypes (Files): Add lib/inttypes_.h, remove lib/inttypes.h.
3089         Add m4/inttypes.m4, remove m4/_inttypes_h.m4 and m4/include_next.m4.
3090         (Makefile.am): Create inttypes.h from inttypes_.h.
3091         * modules/stdint (Makefile.am): Substitute also ABSOLUTE_INTTYPES_H.
3092
3093         * modules/imaxabs: New file.
3094
3095         * modules/imaxdiv: New file.
3096
3097 2006-08-26  Bruno Haible  <bruno@clisp.org>
3098
3099         * m4/inttypes.m4: New file.
3100         * m4/_inttypes_h.m4: Remove file.
3101         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Also AC_SUBST
3102         PRI_MACROS_BROKEN.
3103         * m4/stdint.m4 (gl_STDINT_H): Define also ABSOLUTE_INTTYPES_H.
3104
3105         * m4/imaxabs.m4: New file.
3106
3107         * m4/imaxdiv.m4: New file.
3108
3109 2006-08-26  Bruno Haible  <bruno@clisp.org>
3110
3111         * lib/inttypes_.h: New file.
3112         * lib/inttypes.h: Remove file.
3113         * lib/stdint_.h: Include <inttypes.h> through its absolute filename.
3114
3115         * lib/imaxabs.c: New file.
3116
3117         * lib/imaxdiv.c: New file.
3118
3119 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
3120
3121         New config-h module, so that "make" output needn't be cluttered
3122         by -DHAVE_CONFIG_H.
3123         * MODULES.html.sh (Support for building libraries and executables):
3124         Add config-h.
3125         * modules/config-h: New file.
3126         * gnulib-tool (nl, sed_transform_lib_file): New vars.
3127         (func_import): Turn "#ifdef HAVE_CONFIG_H" to "#if 1" if
3128         the config-h module is used.
3129
3130         New configmake module, so that "make" output needn't be cluttered
3131         by fluff like '-DLIBDIR=\"/usr/local/lib\"'.
3132         * MODULES.html.sh (Support for building libraries and executables):
3133         Add configmake.
3134         * modules/configmake: New file.
3135
3136 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
3137
3138         * m4/config-h.m4: New file.
3139
3140 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
3141
3142         * config/srclist.txt: Add elisp-comp.
3143
3144 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
3145
3146         * MODULES.html.sh (Support for building libraries and executables):
3147         Add elisp-comp.
3148         * build-aux/elisp-comp: New file.
3149         * modules/elisp-comp: New file.
3150
3151 2006-08-24  Bruno Haible <bruno@clisp.org>
3152
3153         * gnulib-tool (func_create_testdir): Use non-default values of
3154         sourcebase and m4base.
3155
3156 2006-08-24  Bruno Haible <bruno@clisp.org>
3157
3158         * MODULES.html.sh (Compatibility checks for POSIX:2001 functions: Fix
3159         HTML structure.
3160
3161 2006-08-23  Paul Eggert  <eggert@cs.ucla.edu>
3162
3163         * modules/openat (Depends-on): Add lchown.
3164
3165 2006-08-23  Bruno Haible <bruno@clisp.org>
3166
3167         * gnulib-tool (func_import, func_create_testdir): Emit an invocation
3168         of gl_LOCK_EARLY instead of gl_LOCK.
3169
3170 2006-08-23  Bruno Haible  <bruno@clisp.org>
3171
3172         * m4/lock.m4 (gl_LOCK_BODY): Change the default value of gl_use_threads
3173         on OSF/1 to no.
3174         Reported by Stephen Cartwright <sgcartwr@ucalgary.ca>.
3175
3176 2006-08-23  Bruno Haible  <bruno@clisp.org>
3177
3178         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't consider BeOS statvfs
3179         as unusable.
3180
3181         * m4/lock.m4 (gl_LOCK_EARLY): Renamed from gl_LOCK.
3182         (gl_LOCK_BODY): Remove gl_PREREQ_LOCK invocation.
3183         (gl_LOCK): New macro.
3184
3185 2006-08-22  Simon Josefsson  <jas@extundo.com>
3186
3187         * modules/gc-md5 (Makefile.am): Need to add md5.h, after changes
3188         to md5 module.
3189
3190 2006-08-22  Simon Josefsson  <jas@extundo.com>
3191
3192         * MODULES.html.sh: Add "Support for maintaining and release
3193         projects".
3194
3195         * build-aux/gnupload: New file, from coreutils.
3196
3197 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
3198
3199         Avoid the need for AC_LIBSOURCES in m4 macros.
3200         * modules/arcfour (EXTRA_DIST): Add arcfour.h.
3201         * modules/arctwo (EXTRA_DIST): Add arctwo.h.
3202         * modules/check-version (EXTRA_DIST): Add check-version.h.
3203         * modules/crc (EXTRA_DIST): Add crc.h.
3204         * modules/des (EXTRA_DIST): Add des.h.
3205         * modules/gc (EXTRA_DIST): Add gc.h.
3206         * modules/getdelim (EXTRA_DIST): Add getdelim.h.
3207         * modules/getline (EXTRA_DIST): Add getline.h.
3208         * modules/getlogin_r (EXTRA_DIST): Add getlogin_r.h.
3209         * modules/hmac-md5 (EXTRA_DIST): Add hmac.h.
3210         * modules/hmac-sha1 (EXTRA_DIST): Add hmac.h.
3211         * modules/md2 (EXTRA_DIST): Add md2.h.
3212         * modules/md4 (EXTRA_DIST): Add md4.h.
3213         * modules/pagealign_alloc (EXTRA_DIST): Add pagealign_alloc.h.
3214         * modules/read-file (EXTRA_DIST): Add read-file.h.
3215         * modules/readline (EXTRA_DIST): Add readline.h.
3216         * modules/rijndael (EXTRA_DIST): Add rijndael-alg-fst.h,
3217         rijndael-api-fst.h.
3218
3219 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
3220
3221         * m4/rijndael.m4 (gl_ARCFOUR):
3222         * m4/arctwo.m4 (gl_ARCTWO):
3223         * m4/check-version.m4 (gl_CHECK_VERSION):
3224         * m4/crc.m4 (gl_CRC):
3225         * m4/des.m4 (gl_DES):
3226         * m4/gc-pbkdf2-sha1.m4 (gl_GC_PBKDF2_SHA1):
3227         * m4/gc.m4 (gl_GC):
3228         * m4/getdelim.m4 (gl_FUNC_GETDELIM):
3229         * m4/getline.m4 (gl_FUNC_GETLINE):
3230         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE):
3231         * m4/hmac-md5.m4 (gl_HMAC_MD5):
3232         * m4/hmac-sha1.m4 (gl_HMAC_SHA1):
3233         * m4/md2.m4 (gl_MD2):
3234         * m4/md4.m4 (gl_MD4):
3235         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC):
3236         * m4/read-file.m4 (gl_FUNC_READ_FILE):
3237         * m4/readline.m4 (gl_FUNC_READLINE):
3238         * m4/rijndael.m4 (gl_RIJNDAEL):
3239         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
3240         to get the necessary .h files and whatnot.
3241
3242 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
3243
3244         * config/srclist.txt: Remove gnupload, since coreutils now syncs from
3245         gnulib rather than the other way around.
3246         * config/srclistvars.sh (COREUTILS): Remove.
3247
3248 2006-08-22  Jim Meyering  <jim@meyering.net>
3249
3250         * modules/mkdir-p (Makefile.am): Fix typo: s/lib+SOURCES/lib_SOURCES/.
3251
3252         * modules/getpass-gnu (Makefile.am): Add getpass.h to EXTRA_DIST.
3253
3254 2006-08-22  Eric Blake  <ebb9@byu.net>
3255
3256         * modules/regexprops-generic: New file.
3257         * MODULES.html.sh (Support for building documentation): List it.
3258
3259 2006-08-22  Eric Blake  <ebb9@byu.net>
3260
3261         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Avoid compiler warning.
3262         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
3263         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Likewise.
3264         * m4/intmax_t.m4 (gt_AC_TYPE_INTMAX_T): Likewise.
3265
3266 2006-08-22  Bruno Haible <bruno@clisp.org>
3267
3268         * gnulib-tool (func_emit_lib_Makefile_am): Don't treat lib_LIBRARIES
3269         and lib_LTLIBRARIES like the other lib_* variables.
3270
3271 2006-08-22  Bruno Haible <bruno@clisp.org>
3272
3273         * build-aux/x-to-1.in: New file, from GNU gettext.
3274
3275 2006-08-22  Bruno Haible  <bruno@clisp.org>
3276
3277         * m4/readutmp.m4 (gl_READUTMP): Compile readutmp.c only if <utmp.h> or
3278         <utmpx.h> exists.
3279
3280 2006-08-22  Bruno Haible  <bruno@clisp.org>
3281
3282         * lib/readutmp.h: Skip most definitions if neither <utmp.h> nor
3283         <utmpx.h> exists.
3284
3285 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
3286
3287         BeOS portability.
3288         * lib/dirchownmod.c (dirchownmod): Don't use fchmod if it doesn't
3289         exist.
3290         Problem reported by Bruno Haible.
3291
3292 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
3293
3294         Avoid the need for AC_LIBSOURCES in m4 macros.
3295         * modules/acl (EXTRA_DIST): Add acl.h.
3296         * modules/argmatch (Files): Add m4/argmatch.m4.
3297         (configure.ac): Add gl_ARGMATCH.
3298         (EXTRA_DIST): Renamed from lib_SOURCES, for
3299         consistency with the other modules.  Remove argmatch.c.
3300         * modules/backupfile (EXTRA_DIST): Add backupfile.h.
3301         * modules/c-strtod (EXTRA_DIST): Add c-strtod.h.
3302         * modules/c-strtold (EXTRA_DIST): Add c-strtod.c, c-strtod.h.
3303         * modules/canonhost (EXTRA_DIST): Add c-canonhost.h.
3304         * modules/canonicalize (EXTRA_DIST): Add canonicalize.h.
3305         * modules/chdir-long (EXTRA_DIST): Add chdir-long.h.
3306         * modules/chdir-safer (EXTRA_DIST): Add chdir-safer.h.
3307         * modules/cloexec (EXTRA_DIST): Add cloexec.h.
3308         * modules/close-stream (EXTRA_DIST): Add close-stream.h.
3309         * modules/closeout (EXTRA_DIST): Add closeout.h.
3310         * modules/cycle-check (EXTRA_DIST): Add cycle-check.h.
3311         * modules/dev-ino (EXTRA_DIST): Add dev-ino.h.
3312         * modules/dirfd (EXTRA_DIST): Add dirfd.h.
3313         * modules/dirname (EXTRA_DIST): Renamed from lib_SOURCES.  Add
3314         dirname.h; remove basename.c and stripslash.c.
3315         * modules/exclude (EXTRA_DIST): Add exclude.h.
3316         * modules/exitfail (EXTRA_DIST): Add exitfail.h.
3317         * modules/fcntl-safer (EXTRA_DIST): Add fcntl-safer.h fcntl--.h.
3318         * modules/file-type (EXTRA_DIST): Add file-type.h.
3319         * modules/filemode (EXTRA_DIST): Add filemode.h.
3320         * modules/filenamecat (EXTRA_DIST): Add filenamecat.h.
3321         * modules/fopen-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
3322         * modules/fpending (EXTRA_DIST): Add __fpending.h.
3323         * modules/fprintftime (EXTRA_DIST): Add fprintftime.h.
3324         * modules/fsusage (EXTRA_DIST): Add fsusage.h.
3325         * modules/fts (EXTRA_DIST): Add fts_.h fts-cycle.c.
3326         * modules/getcwd (EXTRA_DIST): Add getcwd.h.
3327         * modules/getdate (EXTRA_DIST): Add getdate.c.
3328         * modules/gethrxtime (EXTRA_DIST): Add gethrxtime.h xtime.h.
3329         * modules/getpagesize (EXTRA_DIST): Add getpagesize.h.
3330         * modules/getpass (EXTRA_DIST): Add getpass.h.
3331         * modules/glob (EXTRA_DIST): Add glob_.h glob-libc.h.
3332         * modules/group-member (EXTRA_DIST): Add group-member.h.
3333         * modules/hard-locale (EXTRA_DIST): Add hard-locale.h.
3334         * modules/hash (EXTRA_DIST): Add hash.h.
3335         * modules/human (EXTRA_DIST): Add human.h.
3336         * modules/inttypes (EXTRA_DIST): Add inttypes.h.
3337         * modules/lchmod (EXTRA_DIST): Add lchmod.h.
3338         * modules/lchown (EXTRA_DIST): Add lchown.h.
3339         * modules/long-options (EXTRA_DIST): Add long-options.h.
3340         * modules/lstat (EXTRA_DIST): Add lstat.h.
3341         * modules/md5 (EXTRA_DIST): Add memcasecmp.h.
3342         * modules/memcoll (EXTRA_DIST): Add memcoll.h.
3343         * modules/mempcpy (EXTRA_DIST): Add mempcpy.h.
3344         * modules/memrchr (EXTRA_DIST): Add memrchr.h.
3345         * modules/memxor (EXTRA_DIST): Add memxor.h.
3346         * modules/mkancesdirs (EXTRA_DIST): Add mkancesdirs.h.
3347         * modules/mkdir-p (EXTRA_DIST): Add modechange.h.
3348         * modules/mountlist (EXTRA_DIST): Add mountlist.h.
3349         * modules/openat (EXTRA_DIST): Add at-func.c openat.h openat-priv.h.
3350         * modules/pathmax (EXTRA_DIST): Add pathmax.h.
3351         * modules/physmem (EXTRA_DIST): Add physmem.h.
3352         * modules/posixtm (EXTRA_DIST): Add posixtm.h.
3353         * modules/posixver (EXTRA_DIST): Add posixver.h.
3354         * modules/quote (EXTRA_DIST): Add quote.h.
3355         * modules/quotearg (EXTRA_DIST): Add quotearg.h.
3356         * modules/readtokens (EXTRA_DIST): Add readtokens.h.
3357         * modules/readutmp (EXTRA_DIST): Add readutmp.h.
3358         * modules/regex (EXTRA_DIST): Add regcomp.c regex.h regex_internal.c
3359         regex_internal.h regexec.c.
3360         * modules/safe-read (EXTRA_DIST): Add safe-read.h.
3361         * modules/safe-write (EXTRA_DIST): Add safe-write.h.
3362         * modules/same (EXTRA_DIST): Add same.h.
3363         * modules/same-inode (EXTRA_DIST): Add same-inode.h.
3364         * modules/save-cwd (EXTRA_DIST): Add save-cwd.h.
3365         * modules/savedir (EXTRA_DIST): Add savedir.h.
3366         * modules/sha1 (EXTRA_DIST): Add sha1.h.
3367         * modules/sig2str (EXTRA_DIST): Add sig2str.h.
3368         * modules/stat-macros (EXTRA_DIST): Add stat-macros.h.
3369         * modules/stat-time (EXTRA_DIST): Add stat-time.h.
3370         * modules/stdlib-safer (EXTRA_DIST): Add stdlib-safer.h stdlib--.h.
3371         * modules/strdup (EXTRA_DIST): Add strdup.h.
3372         * modules/strftime (EXTRA_DIST): Add strftime.h.
3373         * modules/strndup (EXTRA_DIST): Add strndup.h.
3374         * modules/strnlen (EXTRA_DIST): Add strnlen.h.
3375         * modules/strverscmp (EXTRA_DIST): Add strverscmp.h.
3376         * modules/time_r (EXTRA_DIST): Add time_r.h.
3377         * modules/timespec (EXTRA_DIST): Add timespec.h.
3378         * modules/tmpfile-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
3379         * modules/unistd-safer (EXTRA_DIST): Add unistd-safer.h unistd--.h.
3380         * modules/unlinkdir (EXTRA_DIST): Add unlinkdir.h.
3381         * modules/unlocked-io (EXTRA_DIST): Add unlocked-io.h.
3382         * modules/userspec (EXTRA_DIST): Add userspec.h.
3383         * modules/utimecmp (EXTRA_DIST): Add utimecmp.h.
3384         * modules/utimens (EXTRA_DIST): Add utimens.h.
3385         * modules/xalloc (EXTRA_DIST): Add xalloc.h.
3386         * modules/xgetcwd (EXTRA_DIST): Add xgetcwd.h.
3387         * modules/xnanosleep (EXTRA_DIST): Add xnanosleep.h.
3388         * modules/xreadlink (EXTRA_DIST): Add xreadlink.h.
3389         * modules/xstrtod (EXTRA_DIST): Add xstrtod.h.
3390         * modules/xstrtol (EXTRA_DIST): Add xstrtol.h.
3391         * modules/xstrtold (EXTRA_DIST): Add xstrtod.c xstrtod.h.
3392         * modules/yesno (EXTRA_DIST): Add yesno.h.
3393
3394 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
3395
3396         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Check for fchmod.
3397
3398         * m4/argmatch.m4: New file, from coreutils with AC_LIBSOURCES removed.
3399         * m4/dev-ino.m4, same-inode.m4: Remove.
3400
3401         * m4/_inttypes_h.m4 (gl_INTTYPES_H):
3402         * m4/acl.m4 (AC_FUNC_ACL):
3403         * m4/backupfile.m4 (gl_BACKUPFILE):
3404         * m4/c-strtod.m4 (gl_C99_STRTOLD):
3405         * m4/canon-host.m4 (gl_CANON_HOST):
3406         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
3407         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG):
3408         * m4/chdir-safer.m4 (gl_CHDIR_SAFER):
3409         * m4/cloexec.m4 (gl_CLOEXEC):
3410         * m4/close-stream.m4 (gl_CLOSE_STREAM):
3411         * m4/closeout.m4 (gl_CLOSEOUT):
3412         * m4/dirfd.m4 (gl_FUNC_DIRFD):
3413         * m4/dirname.m4 (gl_DIRNAME):
3414         * m4/exclude.m4 (gl_EXCLUDE):
3415         * m4/exitfail.m4 (gl_EXITFAIL):
3416         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER):
3417         * m4/file-type.m4 (gl_FILE_TYPE):
3418         * m4/filemode.m4 (gl_FILEMODE):
3419         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT):
3420         * m4/fpending.m4 (gl_FUNC_FPENDING):
3421         * m4/fprintftime.m4 (gl_FPRINTFTIME):
3422         * m4/fts.m4 (gl_FUNC_FTS):
3423         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL):
3424         * m4/getdate.m4 (gl_GETDATE):
3425         * m4/gethrxtime.m4 (gl_GETHRXTIME):
3426         * m4/getpagesize.m4 (gl_GETPAGESIZE):
3427         * m4/getpass.m4 (gl_FUNC_GETPASS):
3428         * m4/gettime.m4 (gl_GETTIME):
3429         * m4/getugroups.m4 (gl_GETUGROUPS):
3430         * m4/glob.m4 (gl_GLOB_SUBSTITUTE):
3431         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER):
3432         * m4/hard-locale.m4 (gl_HARD_LOCALE):
3433         * m4/hash.m4 (gl_HASH):
3434         * m4/idcache.m4 (gl_IDCACHE):
3435         * m4/lchmod.m4 (gl_FUNC_LCHMOD):
3436         * m4/lchown.m4 (gl_FUNC_LCHOWN):
3437         * m4/long-options.m4 (gl_LONG_OPTIONS):
3438         * m4/lstat.m4 (gl_FUNC_LSTAT):
3439         * m4/md5.m4 (gl_MD5):
3440         * m4/memcasecmp.m4 (gl_MEMCASECMP):
3441         * m4/memcoll.m4 (gl_MEMCOLL):
3442         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY):
3443         * m4/memrchr.m4 (gl_FUNC_MEMRCHR):
3444         * m4/memxor.m4 (gl_MEMXOR):
3445         * m4/mkancesdirs.m4 (gl_MKANCESDIRS):
3446         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS):
3447         * m4/modechange.m4 (gl_MODECHANGE):
3448         * m4/mountlist.m4 (gl_MOUNTLIST):
3449         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
3450         * m4/openat.m4 (gl_FUNC_OPENAT):
3451         * m4/pathmax.m4 (gl_PATHMAX):
3452         * m4/physmem.m4 (gl_PHYSMEM):
3453         * m4/posixtm.m4 (gl_POSIXTM):
3454         * m4/posixver.m4 (gl_POSIXVER):
3455         * m4/quote.m4 (gl_QUOTE):
3456         * m4/quotearg.m4 (gl_QUOTEARG):
3457         * m4/readtokens.m4 (gl_READTOKENS):
3458         * m4/readutmp.m4 (gl_READUTMP):
3459         * m4/regex.m4 (gl_REGEX):
3460         * m4/safe-read.m4 (gl_SAFE_READ):
3461         * m4/safe-write.m4 (gl_SAFE_WRITE):
3462         * m4/same.m4 (gl_SAME):
3463         * m4/save-cwd.m4 (gl_SAVE_CWD):
3464         * m4/savedir.m4 (gl_SAVEDIR):
3465         * m4/settime.m4 (gl_SETTIME):
3466         * m4/sha1.m4 (gl_SHA1):
3467         * m4/sig2str.m4 (gl_FUNC_SIG2STR):
3468         * m4/stat-macros.m4 (gl_STAT_MACROS):
3469         * m4/stat-time.m4 (gl_STAT_TIME):
3470         * m4/stdio-safer.m4 (gl_FOPEN_SAFER):
3471         * m4/stdlib-safer.m4 (gl_STDLIB_SAFER):
3472         * m4/strdup.m4 (gl_FUNC_STRDUP):
3473         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME):
3474         * m4/strndup.m4 (gl_FUNC_STRNDUP):
3475         * m4/strnlen.m4 (gl_FUNC_STRNLEN):
3476         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP):
3477         * m4/time_r.m4 (gl_TIME_R):
3478         * m4/timespec.m4 (gl_TIMESPEC):
3479         * m4/unistd-safer.m4 (gl_UNISTD_SAFER):
3480         * m4/unlinkdir.m4 (gl_UNLINKDIR):
3481         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO):
3482         * m4/userspec.m4 (gl_USERSPEC):
3483         * m4/utimecmp.m4 (gl_UTIMECMP):
3484         * m4/utimens.m4 (gl_UTIMENS):
3485         * m4/xalloc.m4 (gl_XALLOC):
3486         * m4/xgetcwd.m4 (gl_XGETCWD):
3487         * m4/xnanosleep.m4 (gl_XNANOSLEEP):
3488         * m4/xreadlink.m4 (gl_XREADLINK):
3489         * m4/xstrtod.m4 (gl_XSTRTOD):
3490         * m4/yesno.m4 (gl_YESNO):
3491         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
3492         to get the necessary .h files and whatnot.
3493
3494 2006-08-21  Mark D. Baushke  <mdb@gnu.org>
3495             Bruno Haible <bruno@clisp.org>
3496
3497         * gnulib-tool (func_verify_module): Work around Sun's non-POSIX 1003.2
3498         /bin/sh understanding of '!' conditional negation.
3499
3500 2006-08-21  Jim Meyering  <jim@meyering.net>
3501
3502         * modules/openat (Depends-on): Really alphabetize.
3503
3504         * modules/acl (Depends-on): Add error and quote.
3505
3506         * check-module (find_included_lib_files): Add at-func.c to the
3507         ok-to-include-more-than-once white list.
3508
3509         * modules/openat (Depends-on): Add lstat.  Alphabetize.
3510
3511 2006-08-21  Bruno Haible <bruno@clisp.org>
3512
3513         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
3514         Emit a pkgdata_DATA variable only if some snippets add contents to it.
3515         Reported by Martin Lambers <marlam@marlam.de>.
3516
3517 2006-08-21  Bruno Haible <bruno@clisp.org>
3518
3519         * gnulib-tool (func_emit_lib_Makefile_am): If the snippets already
3520         specify an installation location, don't emit a noinst_LIBRARIES or
3521         noinst_LTLIBRARIES assignment.
3522
3523 2006-08-21  Bruno Haible  <bruno@clisp.org>
3524
3525         BeOS portability.
3526         * modules/mbchar (Include): Don't test HAVE_WCTYPE_H any more, since
3527         BeOS has mbrtowc() but no <wctype.h>.
3528
3529 2006-08-21  Bruno Haible  <bruno@clisp.org>
3530
3531         BeOS portability.
3532         * m4/mbchar.m4 (gl_MBCHAR): Compile mbchar.c also if <wctype.h> doesn't
3533         exist.
3534
3535 2006-08-21  Bruno Haible  <bruno@clisp.org>
3536
3537         BeOS portability.
3538         * lib/mbchar.h: Include <wctype.h> only if it exists.
3539
3540 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
3541
3542         Remove files that are no longer needed by their respective modules.
3543         * m4/obstack.m4: Remove.
3544         * m4/strerror_r.m4: Remove.
3545         * m4/uint32_t.m4: Remove.
3546         * m4/uintptr_t.m4: Remove.
3547         * m4/ullong_max.m4: Remove.
3548         * m4/xstrtoimax.m4: Remove.
3549         * m4/xstrtoumax.m4: Remove.
3550
3551         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Do not require
3552         gl_AC_TYPE_UINTMAX_T, gl_STRUCT_DEV_INO, or gl_SAME_INODE, since gnulib
3553         dependencies now capture this.
3554
3555         * m4/cycle-check.m4 (gl_CYCLE_CHECK):
3556         Do not use AC_LIBSOURCES, since gnulib modules now do this.
3557         * m4/fsusage.m4 (gl_FSUSAGE): Likewise.
3558         * m4/human.m4 (gl_HUMAN): Likewise.
3559         * m4/inttostr.m4 (gl_INTTOSTR): Likewise.
3560         * m4/xstrtol.m4 (gl_XSTRTOL): Likewise.
3561
3562         * m4/filemode.m4 (gl_FILEMODE): Require AC_STRUCT_ST_DM_MODE.
3563
3564         * m4/filemode.m4 (gl_PREREQ_FSUSAGE_EXTRA): Do not require
3565         gl_AC_TYPE_INTMAX_T or gl_AC_TYPE_UINTMAX_T, since we now require
3566         stdint.
3567         * m4/human.m4 (gl_HUMAN): Likewise.
3568         * m4/inttostr.m4 (gl_PREREQ_INTTOSTR): Likewise.
3569         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Likewise.
3570         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
3571         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
3572         * m4/xstrtol (gl_XSTRTOL): Likewise.
3573
3574         * m4/gethrxtime.m4 (gl_XTIME): gl_AC_TYPE_LONG_LONG ->
3575         AC_TYPE_LONG_LONG_INT.
3576         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
3577         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Likewise.
3578         * m4/strtoull.m4 (gl_FUNC_STRTOULL): Likewise, for unsigned long.
3579         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
3580
3581         * m4/human.m4 (gl_HUMAN): Do not require AM_STDBOOL_H since we depend
3582         on stdbool.
3583
3584         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL_H, gl_PREREQ_XSTRTOL): Remove.
3585         (gl_PREREQ_XSTRTOUL): Remove.
3586
3587         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Check for hasmntopt.
3588
3589         * m4/posixver.m4: Fix comment since head -1 now works even in POSIX
3590         mode.
3591
3592 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
3593
3594         Add and change modules to make it easier for coreutils to use
3595         gnulib-tool.
3596         * modules/backupfile (Files): Remove m4/d-ino.m4.
3597         (Depends-on): Add d-ino.
3598         * modules/cycle-check (Depends-on): Add stdint.
3599         (lib_SOURCES): Add cycle-check.h.
3600         * modules/d-ino: New module.
3601         * modules/d-type: New module.
3602         * modules/error (Files): Remove m4/strerror_r.m4.
3603         * modules/filemode (Files): Add m4/st_dm_mode.m4.
3604         * modules/fsuage (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
3605         m4/inttypes_h.m4, m4/uintmax_t.m4.
3606         (Depends-on): Add stdint.
3607         (lib_SOURCES): Add fsusage.h.
3608         * modules/getcwd (Files): Remove d-ino.m4.
3609         (Depends-on): Add d-ino.
3610         * modules/getndelim2 (Depends-on): Add stdint.
3611         * modules/glob (Files): Remove m4/d-type.m4.
3612         (Depends-on): Add d-type.
3613         * modules/host-os: New module.
3614         * modules/human (Files):  Remove m4/ulonglong.m4, m4/stdint_h.m4,
3615         m4/inttypes_h.m4, m4/uintmax_t.m4.
3616         * Depends-on: Add stdint.
3617         (lib_SOURCES): Add human.h.
3618         * modules/inttostr (Files): Remove m4/intmax_t.m4,
3619         m4/inttostr.m4, m4/inttypes_h.m4, m4/longlong.m4, m4/stdint_h.m4,
3620         m4/uintmax_t.m4, m4/ulonglong.m4.
3621         (Depends-on): Add stdint.
3622         (EXTRA_DIST): Add inttostr.h.
3623         * modules/lchmod: New module.
3624         * modules/link-follow: New module.
3625         * modules/mkdir-p (Files): Remove lib/lchmod.h, m4/lchmod.m4.
3626         (Depends-on): Add lchmod.
3627         * modules/mkstemp (Files): Remove m4/ulonglong.m4,
3628         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4.
3629         (Depends-on): Add stdint.
3630         * modules/obstack (Files): Remove m4/inttypes_h.m4, m4/obstack.m4,
3631         m4/stdint_h.m4, m4/uintmax_t.m4, m4/ulonglong.m4.
3632         (Depends-on): Add stdint.
3633         (configure.ac): Change gl_OBSTACK to AC_FUNC_OBSTACK.
3634         * modules/perl: New module.
3635         * modules/regex (Depends-on): Add stdint.
3636         * modules/rmdir-errno: New module.
3637         * modules/strtoimax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
3638         m4/intmax_t.m4.
3639         (Depends-on): Add stdint.
3640         * modules/strtoumax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
3641         m4/uintmax_t.m4.
3642         (Depends-on): Add stdint.
3643         * modules/unlink-busy: New module.
3644         * modules/utimecmp (Depends-on): Add stdint.
3645         * modules/uptime: New module.
3646         * modules/winsz-ioctl: New module.
3647         * modules/winsz-termios: New module.
3648         * modules/xnanosleep (Depends-on): Add nanosleep.
3649         * modules/ullong_max: Remove.
3650         * modules/xstrtoimax (Files): Remove m4/xstrtoimax.m4.
3651         (configure.ac): Remove gl_XSTRTOIMAX; no action needed now.
3652         * modules/xstrtol (Files): Remove m4/ulonglong.m4, m4/longlong.m4,
3653         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4, m4/intmax_t.m4.
3654         (Depends-on): Add inttypes.
3655         (lib_SOURCES): Add xstrtol.h.
3656         * modules/xstrtoumax (Files): Remove m4/xstrtoumax.m4.
3657         (configure.ac): Remove gl_XSTRTOUMAX; no action needed now.
3658         * MODULES.html.sh: Move 'assert' into the assert section.
3659         Move 'dummy' into the linking section.
3660         Remove ullong_max.
3661         Add section for compatibility checks for POSIX:2001 functions,
3662         and put d-ino, d-type, link-follow, rmdir-errno, unlink-busy,
3663         winsz-ioctl, and winsz-termios into it.
3664         Add lchmod.
3665         Add top-level Misc section and put host-os, perl, and uptime
3666         into it.
3667
3668 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
3669
3670         * lib/cycle-check.h: Include <stdint.h> unconditionally, since we
3671         now assume the stdint module.  Do not include inttypes.h.
3672         * lib/fsusage.h: Likewise.
3673         * lib/getndelim2.c: Likewise.
3674         * lib/human.h: Likewise.
3675         * lib/inttostr.h: Likewise.
3676         * lib/obstack.c: Likewise.
3677         * lib/regex_internal.h: Likewise.
3678         * lib/tempname.c: Likewise.
3679         * lib/utimecmp.c: Likewise.
3680         * lib/xstrtol.h: Likewise.
3681
3682         * lib/stat_.h: Fix typo: HAVE_FUNC_LSTAT -> HAVE_LSTAT.
3683
3684         * lib/strtoimax.c: Adjust to macro name changes in Autoconf,
3685         e.g., HAVE_LONG_LONG -> HAVE_LONG_LONG_INT.
3686         * lib/xtime.h: Likewise.
3687
3688 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
3689
3690         * modules/openat (Files): Add lib/fchmodat.c.
3691         Fixes problem reported by Jay Youngman.
3692
3693 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
3694
3695         * lib/fchmodat.c: New file, from coreutils.  This was inadvertently
3696         omitted in the 2006-08-17 update.  Problem reported by Jay Youngman.
3697
3698 2006-08-18  Paul Eggert  <eggert@cs.ucla.edu>
3699             Bruno Haible  <bruno@clisp.org>
3700
3701         * m4/bison-i18n.m4 (BISON_I18N): Also handle the case where yacc exists
3702         and is a script that invokes bison. Tighten the code. Add comments.
3703
3704 2006-08-18  Jim Meyering  <jim@meyering.net>
3705
3706         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Also check for
3707         CLOCK_REALTIME, since gethrxtime may revert to using clock_gettime via
3708         gettime.c.  Gabor Z. Papp reported that gethrxtime-using programs
3709         failed to link due to unresolved clock_gettime on a linux-2.4.x system.
3710
3711 2006-08-18  Bruno Haible  <bruno@clisp.org>
3712
3713         * modules/bison-i18n: New file.
3714         * MODULES.html.sh (Internationalization functions): Add it.
3715
3716 2006-08-18  Bruno Haible  <bruno@clisp.org>
3717
3718         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Also check for
3719         sys/statvfs.h. When getmntinfo was found, check its declaration and
3720         set either MOUNTED_GETMNTINFO or MOUNTED_GETMNTINFO2 depending on it.
3721
3722 2006-08-18  Bruno Haible  <bruno@clisp.org>
3723
3724         * m4/bison-i18n.m4: New file, from bison.
3725
3726 2006-08-18  Bruno Haible  <bruno@clisp.org>
3727
3728         * lib/mountlist.c [MOUNTED_GETMNTINFO2]: Include sys/statvfs.h.
3729         (ME_DUMMY): Treat "kernfs" as a dummy.
3730         (read_file_system_list) [MOUNTED_GETMNTINFO2]: Implement.
3731
3732 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
3733
3734         Update from coreutils.
3735
3736         2006-08-15  Jim Meyering  <jim@meyering.net>
3737
3738         * m4/openat.m4 (gl_FUNC_OPENAT): Add at-func.c via AC_LIBSOURCES.
3739
3740         2006-01-17  Jim Meyering  <jim@meyering.net>
3741
3742         * m4/fts.m4 (gl_FUNC_FTS_CORE): Depend on gl_FUNC_OPENAT.
3743
3744         2006-01-11  Jim Meyering  <jim@meyering.net>
3745
3746         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile fchmodat.c.
3747         Check for the lchmod function.
3748
3749 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
3750
3751         Update from coreutils.
3752
3753         * lib/__fpending.h: Add copyright notice.
3754         * lib/fprintftime.h: Likewise.
3755         * lib/savedir.c: Use (C) in copyright notice.
3756         * lib/savedir.h: Likewise.
3757
3758         2006-08-15  Jim Meyering  <jim@meyering.net>
3759
3760         * lib/at-func.c: New file, with the logic of all emulated at-functions.
3761         * lib/openat-priv.h: Include <errno.h> and define ENOSYS,
3762         in support of the EXPECTED_ERRNO macro.
3763         * lib/openat.c (fstatat, unlinkat, fchownat): Remove function
3764         definitions.  Instead, define the appropriate symbols and include
3765         "at-func.c".
3766         * lib/mkdirat.c (mkdirat): Likewise.
3767         * lib/fchmodat.c (fchmodat): Likewise.
3768         (ENOSYS): Remove definition.
3769         * lib/openat.c: Don't include <errno.h>, now that "openat-priv.h" does
3770         it.  Don't include "unistd--.h" -- it wasn't ever used.
3771
3772         2006-01-17  Jim Meyering  <jim@meyering.net>
3773
3774         Rewrite fts.c not to change the current working directory,
3775         by using openat, fstatat, fdopendir, etc..
3776
3777         * lib/fts.c [! _LIBC]: Include "openat.h" and "unistd--.h".
3778         (HAVE_OPENAT_SUPPORT): Define.
3779         [_LIBC] (fchdir): Don't undef or define; no longer used.
3780         (FCHDIR): Define in terms of cwd_advance_fd rather than fchdir.
3781         Now, this `function' always succeeds, and consumes its file descriptor
3782         parameter -- so callers must not close such FDs.  Update callers.
3783         (diropen_fd, opendirat, cwd_advance_fd): New functions.
3784         (diropen): Add parameter, SP.  Adjust all callers.
3785         Implement using diropen_fd, rather than open.
3786         (fts_open): Initialize new member, fts_cwd_fd.
3787         Remove fts_rft-setting code.
3788         (fts_close): Close fts_cwd_fd, if necessary.
3789         (__opendir2): Define in terms of opendir or opendirat,
3790         depending on whether the FST_NOCHDIR flag is set.
3791         (fts_build): Since fts_safe_changedir consumes its FD, and since
3792         this code must do `closedir(dirp)', dup the dirfd(dirp) argument,
3793         and close the dup'd file descriptor upon failure.
3794         (fts_stat): Use fstatat(...AT_SYMLINK_NOFOLLOW) in place of lstat.
3795         (fts_safe_changedir): Tweak semantics to reflect that this function
3796         now calls cwd_advance_fd and hence consumes its FD argument.
3797         * lib/fts_.h [struct FTS] (fts_cwd_fd): New member.
3798         [struct FTS] (fts_rft): Remove now-unused member.
3799         [struct FTS] (fts_cycle.state): Improve comment.
3800
3801         * lib/openat.c (openat_needs_fchdir): New function.
3802         * lib/openat.h (openat_needs_fchdir): Declare it.
3803
3804 2006-08-16  Paul Eggert  <eggert@cs.ucla.edu>
3805
3806         * lib/memcoll.c (memcoll): Set errno = 0 in the shortcut case, too.
3807         Problem and fix reported by Pádraig Brady in
3808         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00099.html>.
3809
3810 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
3811
3812         * modules/cycle-check (configure.ac): Add gl_CYCLE_CHECK.
3813
3814 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
3815
3816         * lib/memcoll.c (memcoll): Optimize for the common case where the
3817         arguments are bytewise equal.
3818
3819 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
3820
3821         * doc/regexprops-generic.texi: Add a copyright notice.
3822
3823 2006-08-15  Bruno Haible  <bruno@clisp.org>
3824
3825         * modules/tmpdir (License): Change to LGPL.
3826
3827 2006-08-15  Bruno Haible  <bruno@clisp.org>
3828
3829         * gnulib-tool (func_all_modules, func_verify_module): COPYING is not a
3830         module.
3831
3832 2006-08-14  Simon Josefsson  <jas@extundo.com>
3833
3834         * config/srclist.txt: Add gnupload.
3835
3836 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
3837
3838         Change copyright notice from LGPL 2 to GPL 2, since that's the
3839         standard form used in the gnulib repository.
3840         * tests/test-lock.c: Likewise.
3841         * tests/test-stdint.c: Likewise.
3842         * tests/test-tls.c: Likewise.
3843
3844         * users.txt: Add bison, diffutils, libprelude, prelude-lml,
3845         prelude-manager.  User shorter URLs for GNU projects, without '?'.
3846         Add copyright notice.
3847
3848         * check-module: Add copyright notice.  Output a copyright
3849         notice if "--version" is specified.
3850         * modules/COPYING: New file.
3851         * tests/test-getaddrinfo.c: Add copyright notice.
3852         * tests/test-verify.c: Likewise.
3853
3854 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
3855
3856         Change copyright notice from LGPL 2 to GPL 2, since that's the
3857         standard form used in the gnulib repository.
3858         * lib/lock.c: LGPL -> GPL.
3859         * lib/lock.h: Likewise.
3860         * lib/strnlen1.c: Likewise.
3861         * lib/strnlen1.h: Likewise.
3862         * lib/tls.c: Likewise.
3863         * lib/tls.h: Likewise.
3864         * lib/tmpdir.c: Likewise.
3865
3866         * lib/TODO: Remove; this belongs only in coreutils.
3867
3868 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
3869
3870         Add copyright notices to long-enough files that lack them, since
3871         otherwise the files aren't clearly free.  Use the same notice that
3872         getdate.texi already uses.
3873         * doc/alloca-opt.texi: Add copyright notice.
3874         * doc/alloca.texi: Likewise.
3875         * doc/ctime.texi: Likewise.
3876         * doc/functions.texi: Likewise.
3877         * doc/gcd.texi: Likewise.
3878         * doc/gnulib-tool.texi: Likewise.
3879         * doc/inet_ntoa.texi: Likewise.
3880         * doc/visibility.texi: Likewise.
3881
3882         * doc/getdate.texi: Update FDL version from 1.1 to 1.2.
3883         * doc/quote.texi: Add copyright notice.
3884
3885         * doc/solaris-versions: Add SunOS 5.10, SunOS 1.x, SunOS 4.0, SunOS
3886         4.0.x, SunOS 4.1.1.1, SunOS 4.1.1_U1, SunOS 4.1.3B.  SunOS 4.1.3
3887         was Solaris 1.1A.  Remove space before B in Solaris 1.1.1B.
3888         Mention SunOS 5.11.  Mention that everything before SunOS 5.7
3889         is now obsolete, and give a pointer to the Sun list.
3890         Add copyright notice.
3891
3892 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
3893
3894         * config/srclistvars.sh: Add copyright notice.
3895
3896 2006-08-14  Eric Blake  <ebb9@byu.net>
3897
3898         Import the following change from libc:
3899
3900         2006-08-12  Ulrich Drepper  <drepper@redhat.com>
3901
3902         Upstream bug 2997.
3903         * lib/misc/error.c: Add space between program name and message if file
3904         name is missing.
3905
3906 2006-08-12  Karl Berry  <karl@gnu.org>
3907
3908         * config/srclist.txt (ssize_t.m4, sig_atomic_t.m4, signalblocking.m4):
3909         remove, these originate in gnulib now.
3910
3911 2006-08-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
3912
3913         * doc/Makefile (standards.info standards.html standards.dvi):
3914         Also depend on make-stds.texi.
3915
3916 2006-08-11  Paul Eggert  <eggert@cs.ucla.edu>
3917
3918         * lib/pipe-safer.c (pipe_safer): Fix misspelling: HAVE_FUNC_PIPE ->
3919         HAVE_PIPE.  Fix a file descriptor leak when fd_safer fails.
3920
3921         * lib/regex_internal.c (re_string_skip_chars): Don't assume WEOF fits
3922         in wchar_t.  Problem reported by Eric Blake.
3923
3924         * lib/snprintf.c (snprintf): memcpy LEN bytes, not SIZE - 1, when
3925         LEN is smaller than SIZE.  Suggested by Bruno Haible.
3926         Also, help the compiler to keep LEN in a register.
3927
3928 2006-08-11  Eric Blake  <ebb9@byu.net>
3929
3930         * users.txt: Sort.  Add tar.
3931
3932 2006-08-11  Bruno Haible  <bruno@clisp.org>
3933
3934         * users.txt: New file.
3935
3936 2006-08-11  Bruno Haible  <bruno@clisp.org>
3937
3938         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Include <stdio.h> and <time.h>
3939         before <wchar.h>. Needed for OSF/1 and BSD/OS.
3940
3941 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
3942
3943         * modules/snprintf (Depends-on): Remove minmax.
3944         (Maintainer): Add self and Bruno.
3945
3946 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
3947
3948         * lib/.cppi-disable: Add snprintf.h, socket_.h.
3949         * lib/snprintf.c: Include <errno.h> and <limits.h>.
3950         (EOVERFLOW): Define if the system does not.
3951         Do not include "minmax.h"; it wasn't used.
3952         (snprintf): Don't assume size_t promotes to an unsigned type.
3953         Fix bug when generated string was too long for the buffer: the
3954         buffer's contents are supposed to be the initial prefix of the
3955         output.  Don't assume vasnprintf returns EOVERFLOW if the size
3956         exceeds INT_MAX; do the check ourselves.
3957
3958         Import the following changes from libc:
3959
3960         2006-06-02  Jakub Jelinek  <jakub@redhat.com>
3961
3962         * lib/posix/regex_internal.c (re_string_skip_chars): If no character
3963         has been converted at all, set *last_wc to WEOF.  If mbrtowc failed,
3964         set wc to the byte which couldn't be converted.
3965         (re_string_reconstruct): Don't clear valid_raw_len before calling
3966         re_string_skip_chars.  If wc is WEOF after re_string_skip_chars, set
3967         tip_context using re_string_context_at.
3968
3969         2006-05-02  Ulrich Drepper  <drepper@redhat.com>
3970
3971         * lib/posix/regex.h: g++ still cannot handled [restrict].
3972
3973         2006-04-21  Ulrich Drepper  <drepper@redhat.com>
3974
3975         * lib/posix/regex.h: Remove special handling for VMS.
3976
3977 2006-08-10  Jim Meyering  <jim@meyering.net>
3978
3979         * modules/same-inode: New module.
3980         * modules/dev-ino: New module.
3981         * modules/cycle-check: Depend on these modules, rather than simply
3982         including their .h files.
3983         (Makefile.am): Don't list cycle-check.[ch] here, now that they're
3984         required via m4/cycle-check.m4.
3985         * modules/same: Depend on new same-inode module, rather than
3986         including same-inode.h.
3987         * modules/chdir-safer: New file.
3988
3989         * modules/chown (Depends-on): Add stat-macros.
3990
3991 2006-08-10  Jim Meyering  <jim@meyering.net>
3992
3993         * m4/cycle-check.m4: New file.
3994         Require gl_STRUCT_DEV_INO and gl_SAME_INODE.
3995         * m4/dev-ino.m4, m4/same-inode.m4: New files.
3996
3997 2006-08-10  Eric Blake  <ebb9@byu.net>
3998
3999         * modules/verror (Depends-on): Remove bogus gl_VERROR that snuck
4000         in from original proposal.
4001
4002 2006-08-10  Eric Blake  <ebb9@byu.net>
4003         and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
4004
4005         * gnulib-tool (func_import): Detect unexpanded macros in gnulib
4006         namespace.
4007
4008 2006-08-10  Bruno Haible  <bruno@clisp.org>
4009
4010         * gnulib-tool (func_create_testdir): Detect unexpanded macros here
4011         as well.
4012
4013 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
4014
4015         Sync from coreutils.
4016
4017         2006-07-19  Mike Frysinger  <vapier@gentoo.org>
4018
4019         * lib/mountlist.c [ME_REMOTE]: Filter out cifs.
4020         Reported by Toralf Förster in <http://bugs.gentoo.org/141012>.
4021
4022 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
4023
4024         * modules/restrict: Remove; no longer needed now that we assume
4025         Autoconf 2.59 or later.
4026         * MODULES.html.sh: Remove 'restrict'.
4027         * modules/argp (Depends-on): Remove 'restrict'.
4028         * modules/base64 (Depends-on): Likewise.
4029         * modules/gc (Depends-on): Likewise.
4030         * modules/getaddrinfo (Depends-on): Likewise.
4031         * modules/glob (Depends-on): Likewise.
4032         * modules/inet_ntop (Depends-on): Likewise.
4033         * modules/inet_pton (Depends-on): Likewise.
4034         * modules/memxor (Depends-on): Likewise.
4035         * modules/regex (Depends-on): Likewise.
4036         * modules/strtok_r (Depends-on): Likewise.
4037         * modules/time_r (Depends-on): Likewise.
4038
4039 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
4040
4041         * m4/argp.m4 (gl_ARGP): Require AC_C_RESTRICT.
4042         * m4/gc.m4 (gl_PREREQ_GC): Likewise.
4043         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
4044         * m4/inet_ntop.m4 (gl_PREREQ_INET_NTOP): Likewise.
4045         * m4/inet_pton.m4 (gl_PREREQ_INET_PTON): Likewise.
4046         * m4/memxor.m4 (gl_MEMXOR): Likewise.
4047         * m4/restrict.m4: Remove; no longer needed.  All remaining uses of
4048         gl_C_RESTRICT replaced by AC_C_RESTRICT.
4049
4050         Merge from coreutils.
4051         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_C_RESTRICT, not
4052         gl_C_RESTRICT, now that we assume Autoconf 2.59 or later.
4053         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
4054         * m4/time_r.m4 (gl_TIME_R): Likewise.
4055
4056 2006-08-09  Karl Berry  <karl@gnu.org>
4057
4058         * config/srclist.txt: no more gettext-tools, per Bruno.
4059
4060 2006-08-08  Eric Blake  <ebb9@byu.net>
4061
4062         * modules/verror: New module.
4063         * MODULES.html.sh: Document it.
4064
4065 2006-08-08  Eric Blake  <ebb9@byu.net>
4066
4067         * lib/verror.h, lib/verror.c: New files.
4068
4069 2006-08-08  Eric Blake  <ebb9@byu.net>
4070
4071         * lib/verror.c (verror_at_line): Work around glibc bug 2997, so that
4072         verror_at_line output complies with GNU Coding Standards even when
4073         file is NULL.
4074
4075 2006-08-07  Bruno Haible  <bruno@clisp.org>
4076
4077         * lib/allocsa.h (sa_alignof) [_AIX]: Also consider 'long long' in newer
4078         versions of AIX.
4079         Reported by Ralf Wildenhues.
4080
4081 2006-08-07  Bruno Haible  <bruno@clisp.org>
4082
4083         * gnulib-tool (func_create_testdir): Wrap the set of autoconf snippets
4084         in an AC_DEFUN. Needed so that the autoconf snippets can use
4085         AC_REQUIRE.
4086
4087 2006-08-06  Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
4088
4089         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
4090         Initialize pkgdata_DATA.
4091         * modules/javaversion (Makefile.am): Add to pkgdata_DATA, rather than
4092         overriding it.
4093
4094 2006-08-06  Eric Blake  <ebb9@byu.net>
4095
4096         * lib/error.h: Fold in some upstream changes from glibc.
4097         * lib/error.c: Likewise.
4098
4099 2006-08-04  Bruno Haible  <bruno@clisp.org>
4100
4101         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
4102         Make the mostlyclean-local rule depend on mostlyclean-generic.
4103         Reported by Jim Meyering. Solution suggested by Ralf Wildenhues.
4104
4105 2006-07-31  Bruno Haible  <bruno@clisp.org>
4106
4107         * m4/localcharset.m4 (gl_LOCALCHARSET): Remove tests for <stddef.h>,
4108         <stdlib.h>, <string.h>.
4109
4110 2006-07-30  Bruno Haible  <bruno@clisp.org>
4111
4112         * modules/readlink (License): Change to LGPL.
4113
4114 2006-07-30  Bruno Haible  <bruno@clisp.org>
4115
4116         * modules/javaversion (Makefile.am): Distribute javaversion.java and
4117         javaversion.class. Also install javaversion.class in $(pkgdatadir) and
4118         set PKGDATADIR to point to it.
4119
4120 2006-07-30  Bruno Haible  <bruno@clisp.org>
4121
4122         * modules/csharpexec (configure.ac): Comment out macro invocation.
4123         * modules/javaexec (configure.ac): Likewise.
4124         * modules/javacomp-script (configure.ac): Likewise.
4125
4126         * modules/csharpcomp-script (configure.ac): Use AC_REQUIRE.
4127
4128 2006-07-30  Bruno Haible  <bruno@clisp.org>
4129
4130         * modules/clean-temp (Depends-on): Add linkedhash-list, remove
4131         linked-list.
4132
4133 2006-07-30  Bruno Haible  <bruno@clisp.org>
4134
4135         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Assume <string.h> exists.
4136
4137 2006-07-30  Bruno Haible  <bruno@clisp.org>
4138
4139         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
4140         Initialize MOSTLYCLEANFILES to core and *.stackdump, so that core dumps
4141         get removed.
4142
4143 2006-07-29  Bruno Haible  <bruno@clisp.org>
4144
4145         Make it possible for gnulib-tool to work with locally modified or
4146         augmented gnulib repositories.
4147         * gnulib-tool (func_usage): Document --local-dir option.
4148         (local_gnulib_dir): New variable.
4149         Handle --local-dir option.
4150         (func_lookup_file): New function.
4151         (func_all_modules, func_verify_module): Look also in $local_gnulib_dir.
4152         (func_get_description, func_get_filelist, func_get_description,
4153         func_get_filelist, func_get_dependencies, func_get_autoconf_snippet,
4154         func_get_automake_snippet, func_get_include_directive,
4155         func_get_license, func_get_maintainer): Use func_lookup_file.
4156         (func_import, func_create_testdir): Use func_lookup_file.
4157
4158 2006-07-29  Bruno Haible  <bruno@clisp.org>
4159
4160         * modules/setenv (Depends-on): Add unistd.
4161
4162 2006-07-29  Bruno Haible  <bruno@clisp.org>
4163
4164         * lib/setenv.c: Undo unintended modification done on 2006-02-27.
4165
4166 2006-07-29  Bruno Haible  <bruno@clisp.org>
4167
4168         * lib/localcharset.c: Assume <stddef.h>, <stdlib.h>, <string.h> exist.
4169
4170 2006-07-29  Bruno Haible  <bruno@clisp.org>
4171
4172         * gnulib-tool (import, update): If there is no Makefile.am, look at
4173         aclocal.m4, instead of bailing out.
4174
4175 2006-07-29  Bruno Haible  <bruno@clisp.org>
4176
4177         * gnulib-tool (func_usage): Revert most of the 2006-07-15 change.
4178         Categorize the options by when they are useful.
4179
4180 2006-07-29  Bruno Haible  <bruno@clisp.org>
4181
4182         * gnulib-tool (func_usage): Document option --no-libtool.
4183         Handle option --no-libtool.
4184         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Update
4185         for changed semantics of $libtool variable.
4186         (func_import): Likewise. If libtool is not used, show this through
4187         an option --no-libtool.
4188         (func_create_testdir): Update.
4189
4190 2006-07-29  Bruno Haible  <bruno@clisp.org>
4191
4192         * gnulib-tool (func_import): Extend error message about missing
4193         --doc-base.
4194
4195 2006-07-29  Bruno Haible  <bruno@clisp.org>
4196
4197         * gnulib-tool (func_import): Don't create the $docbase directory if
4198         there is no file to store there.
4199
4200 2006-07-29  Bruno Haible  <bruno@clisp.org>
4201
4202         * gnulib-tool (autoconf_minversion): If a --dir option is given and
4203         relevant, look for configure.ac there, not in the current directory.
4204         Also use a simple search for AC_PREREQ, not "autoconf --trace".
4205
4206 2006-07-29  Bruno Haible  <bruno@clisp.org>
4207
4208         * gnulib-tool (SORT): New variable.
4209         (func_usage): Undocument --assume-autoconf option.
4210         Remove --assume-autoconf option handling.
4211         (autoconf_minversion): Determine from the contents of configure.ac.
4212         (func_import): Remove autoconf_minversion handling.
4213         Suggested by Eric Blake.
4214
4215 2006-07-29  Bruno Haible  <bruno@clisp.org>
4216
4217         * doc/gnulib-tool.texi (gl_LIBTOOL): Mention --no-libtool option.
4218
4219 2006-07-29  Bruno Haible  <bruno@clisp.org>
4220
4221         * config/srclist.txt (*setenv.[ch]): Remove rules.
4222
4223 2006-07-28  Yoann Vandoorselaere <yoann.v@prelude-ids.com>
4224
4225         * m4/inet_pton.m4, inet_ntop.m4: Check for netinet/in.h too.
4226
4227 2006-07-28  Yoann Vandoorselaere <yoann.v@prelude-ids.com>
4228
4229         * lib/inet_ntop.h, inet_pton.h: Need to include netinet/in.h before
4230         arpa/inet.h.
4231
4232 2006-07-28  Simon Josefsson  <jas@extundo.com>
4233
4234         * modules/inet_ntop (Depends-on): Depend on arpa_inet.
4235         * modules/inet_pton (Depends-on): Likewise.
4236
4237 2006-07-28  Simon Josefsson  <jas@extundo.com>
4238
4239         * m4/netinet_in_h.m4: New file.
4240
4241 2006-07-28  Simon Josefsson  <jas@extundo.com>
4242
4243         * lib/inet_ntop.h, inet_pton.h: No need to guard netinet/in.h
4244         #include's.
4245
4246 2006-07-28  Simon Josefsson  <jas@extundo.com>
4247
4248         * lib/inet_ntop.h, inet_pton.h: No need to guard arpa/inet.h
4249         #include's.
4250
4251 2006-07-28  Paul Eggert  <eggert@cs.ucla.edu>
4252
4253         * lib/modechange.c (mode_compile): Numeric modes now affect setuid and
4254         setgid on directories only if they set these bits.
4255         * lib/modechange.h: Remove obsolete comment about masks.
4256
4257 2006-07-28  Eric Blake  <ebb9@byu.net>
4258
4259         * lib/regex_internal.h (struct re_dfa_t) [!_LIBC]: Avoid invalid C89
4260         macro expansion.
4261
4262 2006-07-28  Bruno Haible <bruno@clisp.org>
4263
4264         * lib/inet_ntop.h, inet_pton.h: Use #if HAVE* instead of #ifdef HAVE*.
4265
4266 2006-07-28  Bruno Haible  <bruno@clisp.org>
4267
4268         * m4/mbchar.m4 (gl_MBCHAR): Also test for iswcntrl.
4269
4270 2006-07-28  Bruno Haible  <bruno@clisp.org>
4271
4272         * lib/mbchar.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
4273         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit):
4274         Define fallbacks.
4275         Avoids link error on FreeBSD 4.x.
4276         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
4277
4278         * lib/wcwidth.h (iswprint): Assume an ASCII compatible wide character
4279         encoding.
4280         * lib/mbswidth.c (iswcntrl): Likewise.
4281
4282 2006-07-27  Bruno Haible  <bruno@clisp.org>
4283
4284         * m4/stdint.m4 (gl_STDINT_H): Define __STDC_CONSTANT_MACROS during the
4285         test.
4286
4287 2006-07-27  Bruno Haible  <bruno@clisp.org>
4288
4289         * lib/stdint_.h (INT*_C, UINT*_C) [C++]: Define these if
4290         __STDC_CONSTANT_MACROS is defined, not if __STDC_LIMIT_MACROS is
4291         defined.
4292
4293 2006-07-26  Eric Blake  <ebb9@byu.net>
4294
4295         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Check for missing pipe.
4296
4297 2006-07-26  Eric Blake  <ebb9@byu.net>
4298
4299         * lib/mkstemp-safer.c [! HAVE_MKSTEMP]: Add prototype for platforms
4300         like mingw that lack mkstemp.
4301         * lib/pipe-safer.c (pipe_safer) [!HAVE_FUNC_PIPE]: Provide fallback to
4302         avoid compilation warning on mingw.
4303
4304 2006-07-26  Bruno Haible  <bruno@clisp.org>
4305
4306         * m4/stdint.m4 (gl_STDINT_H): Also verify the existence of the macros
4307         INT*_MIN, INT_LEAST*_MAX, INT_LEAST*_MIN, UINT_LEAST*_MAX,
4308         INT_FAST*_MIN, INTPTR_MIN.
4309
4310 2006-07-25  Bruno Haible  <bruno@clisp.org>
4311
4312         * modules/version-etc (Depends-on): Add stdarg.
4313
4314 2006-07-25  Bruno Haible  <bruno@clisp.org>
4315
4316         * m4/stdint.m4 (gl_INTEGER_TYPE_SUFFIX): Avoid 'eval' in front of
4317         complex commands.
4318
4319 2006-07-25  Bruno Haible  <bruno@clisp.org>
4320
4321         * lib/version-etc.c (version_etc_va): Use va_copy, assumed to be
4322         defined in <stdarg.h> or config.h.
4323
4324 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
4325
4326         * m4/stdio-safer.m4 (gl_FOPEN_SAFER, gl_TMPFILE_SAFER): New macros.
4327         (gl_STDIO_SAFER): Remove.
4328
4329 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
4330
4331         * MODULES.html.sh (File stream based Input/Output):
4332         Add fopen-safer, tmpfile-safer; remove stdio-safer.
4333         * modules/getusershell (Depends-on): Change stdio-safer to fopen-safer.
4334         * modules/fopen-safer, modules/tmpfile-safer: New files.
4335         * modules/stdio-safer: Remove.
4336
4337 2006-07-24  Bruno Haible  <bruno@clisp.org>
4338
4339         * modules/tmpdir: New file.
4340         * MODULES.html.sh (File system functions): Add it.
4341
4342 2006-07-24  Bruno Haible  <bruno@clisp.org>
4343
4344         * modules/javacomp (Depends-on): Add unistd, javaversion, binary-io,
4345         getline, pathname, fwriteerror, clean-temp, xvasprintf, strstr.
4346
4347 2006-07-24  Bruno Haible  <bruno@clisp.org>
4348
4349         * modules/clean-temp: New file.
4350
4351 2006-07-24  Bruno Haible  <bruno@clisp.org>
4352
4353         * m4/tmpdir.m4: New file, from GNU gettext.
4354
4355 2006-07-24  Bruno Haible  <bruno@clisp.org>
4356
4357         * lib/tmpdir.h: New file, from GNU gettext.
4358         * lib/tmpdir.c: New file, from GNU gettext.
4359
4360 2006-07-24  Bruno Haible  <bruno@clisp.org>
4361
4362         * lib/clean-temp.h: New file, from GNU gettext.
4363         * lib/clean-temp.c: New file, from GNU gettext.
4364
4365 2006-07-23  Eric Blake  <ebb9@byu.net>
4366
4367         * modules/stdio-safer (Files): Add tmpfile-safer.c.
4368         (Depends-on): Add binary-io.
4369
4370 2006-07-23  Eric Blake  <ebb9@byu.net>
4371
4372         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add tmpfile-safer.c.
4373
4374 2006-07-23  Eric Blake  <ebb9@byu.net>
4375
4376         * lib/tmpfile-safer.c: New file.
4377         * lib/stdio-safer.h (fopen_safer): Add prototype.
4378         * lib/stdio--.h (tmpfile): Make safer.
4379
4380 2006-07-23  Bruno Haible  <bruno@clisp.org>
4381
4382         * lib/gl_anylinked_list2.h (ASYNCSAFE): New macro.
4383         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before,
4384         gl_linked_add_after, gl_linked_add_at, gl_linked_remove_node,
4385         gl_linked_remove_at): Use it.
4386
4387 2006-07-22  Yoann Vandoorselaere <yoann.v@prelude-ids.com>
4388         and Simon Josefsson <jas@extundo.com>
4389
4390         * lib/getaddrinfo.h (AI_PASSIVE): Make sure it is defined.
4391
4392         * lib/getaddrinfo.c (getaddrinfo): Support AI_PASSIVE.
4393
4394 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
4395
4396         * modules/close-stream: New file.
4397         * modules/closeout (Description): Make it clear that it exits
4398         with a diagnostic on error.
4399         (Depends-on): Add close-stream.  Remove fpending, stdbool.
4400         * MODULES.html.sh (File stream based Input/Output): Add close-stream.
4401
4402 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
4403
4404         * m4/close-stream.m4: New file.
4405
4406 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
4407
4408         * lib/close-stream.c, lib/close-stream.h: New files.
4409
4410 2006-07-22  Bruno Haible  <bruno@clisp.org>
4411
4412         Merge from GNU gettext 0.15.
4413
4414         2006-05-01  Bruno Haible  <bruno@clisp.org>
4415
4416                 * build-aux/javacomp.sh.in: Update for changed javacomp.m4.
4417
4418         2006-07-22  Bruno Haible  <bruno@clisp.org>
4419
4420                 * modules/javaversion: New file.
4421                 * MODULES.html.sh (Java): Add javaversion.
4422
4423         2006-03-12  Bruno Haible  <bruno@clisp.org>
4424
4425                 * build-aux/javaexec.sh.in: Update for changed javaexec.m4.
4426
4427         2005-12-04  Bruno Haible  <bruno@clisp.org>
4428
4429                 * build-aux/csharpexec.sh.in: Add support for 'clix' launcher
4430                 (untested).
4431
4432         2006-06-21  Bruno Haible  <bruno@clisp.org>
4433
4434                 Avoid warnings from recent versions of mcs.
4435                 * build-aux/csharpcomp.sh.in (options_mcs): Don't use options
4436                 -o, -L, -r any more. Use options documented since mcs-1.0
4437                 instead. Similarly for -g.
4438
4439         2005-12-04  Bruno Haible  <bruno@clisp.org>
4440
4441                 * build-aux/csharpcomp.sh.in: Suffix for resources is
4442                 .resources, not .resource.
4443
4444         2005-07-09  Bruno Haible  <bruno@clisp.org>
4445
4446                 * build-aux/csharpcomp.sh.in (options_csc): For -l option,
4447                 add a .dll suffix.
4448                 Reported by Mark Junker <mjscod@gmx.de>.
4449
4450         2006-07-22  Bruno Haible  <bruno@clisp.org>
4451
4452                 * modules/gettext: Upgrade to gettext-0.15.
4453                 (Files): Remove m4/isc-posix.m4. Add m4/lock.m4,
4454                 m4/visibility.m4.
4455                 Replace m4/inttypes.m4 with m4/inttypes-h.m4.
4456
4457 2006-07-22  Bruno Haible  <bruno@clisp.org>
4458
4459         Merge from GNU gettext 0.15.
4460
4461         2006-03-25  Bruno Haible  <bruno@clisp.org>
4462
4463                 * lib-link.m4 (AC_LIB_LINKFLAGS_FROM_LIBS): New macro.
4464
4465         2006-07-21  Bruno Haible  <bruno@clisp.org>
4466
4467                 * javacomp.m4 (gt_JAVACOMP): Convert target_version "null" to
4468                 "1.1".
4469
4470         2006-05-09  Bruno Haible  <bruno@clisp.org>
4471
4472                 * javacomp.m4 (gt_JAVACOMP): On Cygwin, set
4473                 CLASSPATH_SEPARATOR to a semicolon. Use CLASSPATH_SEPARATOR
4474                 for the conftestver execution.
4475
4476         2006-05-01  Bruno Haible  <bruno@clisp.org>
4477
4478                 * javacomp.m4 (gt_JAVACOMP): Accept a source-version and an
4479                 optional target-version argument. Verify that the compiler
4480                 groks source of the specified source-version, or add -source
4481                 option as necessary. Verify that the compiler produces
4482                 bytecode in the specified target-version, or add -target and
4483                 -source options as necessary. Make the result of the test
4484                 available as variable CONF_JAVAC. Also log error output in
4485                 config.log.
4486
4487         2006-03-11  Bruno Haible  <bruno@clisp.org>
4488
4489                 * javacomp.m4 (gt_JAVACOMP): Treat gcj-4.x like gcj-3.x.
4490
4491         2006-05-09  Bruno Haible  <bruno@clisp.org>
4492
4493                 * javaexec.m4 (gt_JAVAEXEC): On Cygwin, set
4494                 CLASSPATH_SEPARATOR to a semicolon.
4495
4496         2006-03-12  Bruno Haible  <bruno@clisp.org>
4497
4498                 * javaexec.m4 (gt_JAVAEXEC): Make the result of the test
4499                 available as variable CONF_JAVA, for subsequent autoconf
4500                 tests. Also log error output in config.log.
4501
4502         2006-07-19  Bruno Haible  <bruno@clisp.org>
4503
4504                 * getline.m4 (AM_FUNC_GETLINE): When cross-compiling, assume
4505                 that getline works on glibc2 systems. Needed to avoid trouble
4506                 in relocatable.c.
4507                 Reported by Nils Magnus Larsgard <nmlarsgaard@atmel.no>.
4508
4509         2005-12-04  Bruno Haible  <bruno@clisp.org>
4510
4511                 * csharpexec.m4 (gt_CSHARPEXEC): Add support for 'clix'
4512                 launcher (untested).
4513
4514         2005-12-04  Bruno Haible  <bruno@clisp.org>
4515
4516                 * csharpcomp.m4 (gt_CSHARPCOMP): Also set CSHARPCOMPFLAGS.
4517
4518         2006-07-22  Bruno Haible  <bruno@clisp.org>
4519
4520                 * gettext.m4: Update from GNU gettext-0.15.
4521                 * nls.m4: Likewise.
4522                 * po.m4: Likewise.
4523                 * inttypes-pri.m4: Likewise.
4524                 * inttypes-h.m4: Renamed from inttypes.m4.
4525                 (gl_HEADER_INTTYPES_H): Renamed from gt_HEADER_INTTYPES_H.
4526
4527 2006-07-22  Bruno Haible  <bruno@clisp.org>
4528
4529         Merge from GNU gettext 0.15.
4530
4531         2005-07-05  Bruno Haible  <bruno@clisp.org>
4532
4533                 * printf-args.c (printf_fetchargs): Work around broken
4534                 definition of wint_t on mingw.
4535
4536         2005-02-12  Bruno Haible  <bruno@clisp.org>
4537
4538                 * xallocsa.h: Add extern "C" for C++.
4539
4540         2006-05-17  Bruno Haible  <bruno@clisp.org>
4541
4542                 Cygwin portability.
4543                 * progreloc.c (WIN32_NATIVE): Renamed from WIN32.
4544
4545         2006-04-30  Bruno Haible  <bruno@clisp.org>
4546
4547                 * progreloc.c: Include <mach-o/dyld.h> if available.
4548                 (find_executable): Use _NSGetExecutablePath when possible.
4549
4550         2006-05-06  Charles Wilson  <cygwin@cwilson.fastmail.fm>
4551
4552                 * progreloc.c (maybe_executable) [CYGWIN]: Use the access()
4553                 function.
4554
4555         2005-12-29  Bruno Haible  <bruno@clisp.org>
4556
4557                 * progreloc.c (set_program_name_and_installdir): Fix
4558                 compilation error.
4559
4560         2005-12-04  Bruno Haible  <bruno@clisp.org>
4561
4562                 Cygwin portability.
4563                 * progreloc.c: Include <windows.h> also on Cygwin.
4564                 (find_executable): Add support for Cygwin.
4565                 (set_program_name_and_installdir): Handle also platforms with
4566                 nonempty EXEEXT.
4567
4568         2006-07-11  Bruno Haible  <bruno@clisp.org>
4569
4570                 * javacomp.c: Fix a comment.
4571                 Reported by Jim Meyering.
4572
4573         2006-04-30  Bruno Haible  <bruno@clisp.org>
4574
4575                 * javacomp.h (compile_java_class): Add source_version,
4576                 target_version arguments.
4577                 * javacomp.c: Rewritten to choose only a compiler that
4578                 respects the specified source_version and target_version.
4579
4580         2006-06-27  Bruno Haible  <bruno@clisp.org>
4581
4582                 Assume correct S_ISDIR macro.
4583                 * mkdtemp.c: Remove test of STAT_MACROS_BROKEN.
4584
4585         2006-07-22  Bruno Haible  <bruno@clisp.org>
4586
4587                 * javaversion.h: New file, from GNU gettext.
4588                 * javaversion.c: New file, from GNU gettext.
4589                 * javaversion.java: New file, from GNU gettext.
4590                 * javaversion.class: New file, from GNU gettext.
4591
4592         2006-05-17  Bruno Haible  <bruno@clisp.org>
4593
4594                 Cygwin portability.
4595                 * javaexec.c (execute_java_class): Test for jview program
4596                 also on Cygwin.
4597
4598         2006-04-09  Bruno Haible  <bruno@clisp.org>
4599
4600                 * fatal-signal.c: Don't include string.h.
4601                 (at_fatal_signal): Use a copying loop instead of memcpy.
4602
4603         2005-12-04  Bruno Haible  <bruno@clisp.org>
4604
4605                 * csharpexec.c: Add support for 'clix' launcher (untested).
4606                 (execute_csharp_using_sscli): New function.
4607                 (execute_csharp_program): Call it.
4608
4609         2006-06-21  Bruno Haible  <bruno@clisp.org>
4610
4611                 Avoid warnings from recent versions of mcs.
4612                 * csharpcomp.c (compile_csharp_using_mono): Don't use options
4613                 -o, -L, -r any more. Use options documented since mcs-1.0
4614                 instead. Similarly for -g.
4615
4616         2005-07-09  Bruno Haible  <bruno@clisp.org>
4617
4618                 * csharpcomp.c (compile_csharp_using_sscli): For -l option,
4619                 add a .dll suffix.
4620                 Reported by Mark Junker <mjscod@gmx.de>.
4621
4622         2006-06-17  Bruno Haible  <bruno@clisp.org>
4623
4624                 * config.charset: Update for NetBSD 3.0.
4625
4626         2006-05-17  Bruno Haible  <bruno@clisp.org>
4627
4628                 Cygwin portability.
4629                 * localcharset.c (WIN32_NATIVE): Renamed from WIN32.
4630
4631         2006-05-16  Bruno Haible  <bruno@clisp.org>
4632
4633                 * localcharset.c [CYGWIN]: Include <windows.h>.
4634                 (get_charset_aliases): For Cygwin, return the same CPxxx
4635                 aliases list as under WIN32.
4636                 (locale_charset) [CYGWIN]: Try to retrieve the encoding from
4637                 the environment variables. Fall back to GetACP().
4638
4639         2006-04-05  Bruno Haible  <bruno@clisp.org>
4640
4641                 * config.charset: Update Juan Manuel Guerrero's address.
4642
4643         2005-02-12  Bruno Haible  <bruno@clisp.org>
4644
4645                 * allocsa.h: Add extern "C" for C++.
4646
4647         2005-02-10  Bruno Haible  <bruno@clisp.org>
4648
4649                 * allocsa.h (sa_alignof): Define differently with AIX xlc, to
4650                 avoid a bug of this compiler on AIX 3.2.5 dealing with enums.
4651
4652         2006-07-22  Bruno Haible  <bruno@clisp.org>
4653
4654                 * gettext.h: Update to GNU gettext-0.15.
4655
4656 2006-07-22  Bruno Haible  <bruno@clisp.org>
4657
4658         * config/srclist.txt: Resync printf-args.c, vasnprintf.c,
4659         localcharset.c, mkdtemp.c, config.rpath, lib-ld.m4, lib-link.m4,
4660         lib-prefix.m4, longdouble.m4, ssize_t.m4.
4661
4662 2006-07-21  Eric Blake  <ebb9@byu.net>
4663
4664         * modules/stdlib-safer: New file.
4665         * MODULES.html.sh (File stream based Input/Output): Add
4666         stdlib-safer.
4667
4668 2006-07-21  Eric Blake  <ebb9@byu.net>
4669
4670         * lib/stdlib-safer.h: New file from coreutils, required by
4671         stdlib--.h.
4672
4673 2006-07-20  Paul Eggert  <eggert@cs.ucla.edu>
4674
4675         * gnulib-tool (func_usage): Document --assume-autoconf='latest-stable'.
4676
4677 2006-07-20  Bruno Haible  <bruno@clisp.org>
4678
4679         * gnulib-tool: Recognize new option --assume-autoconf.
4680         (autoconf_minversion): New variable.
4681         (func_get_filelist): Use it to decide whether to add onceonly_2_57.m4.
4682
4683 2006-07-20  Bruno Haible  <bruno@clisp.org>
4684
4685         * MODULES.html.sh (func_all_modules): Add a missing func_begin_table.
4686
4687 2006-07-19  Derek R. Price  <derek@ximbiot.com>
4688
4689         * lib/getaddrinfo.h: Don't define unimplemented AI_* flags.
4690         Reindent and repaginate.
4691
4692 2006-07-19  Derek Price  <derek@ximbiot.com>
4693
4694         * doc/gnulib.texi (Libtool and Windows):  Eliminate passive voice.
4695         Correct grammar.
4696
4697 2006-07-17  Bruno Haible  <bruno@clisp.org>
4698
4699         * modules/list: New file.
4700         * modules/array-list: New file.
4701         * modules/carray-list, modules/carray-list-tests: New files.
4702         * modules/linked-list, modules/linked-list-tests: New files.
4703         * modules/avltree-list, modules/avltree-list-tests: New files.
4704         * modules/rbtree-list, modules/rbtree-list-tests: New files.
4705         * modules/linkedhash-list, modules/linkedhash-list-tests: New files.
4706         * modules/avltreehash-list, modules/avltreehash-list-tests: New files.
4707         * modules/rbtreehash-list, modules/rbtreehash-list-tests: New files.
4708         * modules/oset: New file.
4709         * modules/array-oset: New file.
4710         * modules/avltree-oset, modules/avltree-oset-tests: New files.
4711         * modules/rbtree-oset, modules/rbtree-oset-tests: New files.
4712         * tests/test-carray_list.c: New file.
4713         * tests/test-linked_list.c: New file.
4714         * tests/test-avltree_list.c: New file.
4715         * tests/test-rbtree_list.c: New file.
4716         * tests/test-linkedhash_list.c: New file.
4717         * tests/test-avltreehash_list.c: New file.
4718         * tests/test-rbtreehash_list.c: New file.
4719         * tests/test-avltree_oset.c: New file.
4720         * tests/test-rbtree_oset.c: New file.
4721         * MODULES.html.sh (Container data structures): New section.
4722
4723 2006-07-17  Bruno Haible  <bruno@clisp.org>
4724
4725         * m4/gl_list.m4: New file.
4726
4727 2006-07-17  Bruno Haible  <bruno@clisp.org>
4728
4729         * lib/gl_list.h: New file.
4730         * lib/gl_list.c: New file.
4731         * lib/gl_array_list.h: New file.
4732         * lib/gl_array_list.c: New file.
4733         * lib/gl_carray_list.h: New file.
4734         * lib/gl_carray_list.c: New file.
4735         * lib/gl_linked_list.h: New file.
4736         * lib/gl_linked_list.c: New file.
4737         * lib/gl_anylinked_list1.h: New file.
4738         * lib/gl_anylinked_list2.h: New file.
4739         * lib/gl_avltree_list.h: New file.
4740         * lib/gl_avltree_list.c: New file.
4741         * lib/gl_anyavltree_list1.h: New file.
4742         * lib/gl_anyavltree_list2.h: New file.
4743         * lib/gl_rbtree_list.h: New file.
4744         * lib/gl_rbtree_list.c: New file.
4745         * lib/gl_anyrbtree_list1.h: New file.
4746         * lib/gl_anyrbtree_list2.h: New file.
4747         * lib/gl_anytree_list1.h: New file.
4748         * lib/gl_anytree_list2.h: New file.
4749         * lib/gl_linkedhash_list.h: New file.
4750         * lib/gl_linkedhash_list.c: New file.
4751         * lib/gl_anyhash_list1.h: New file.
4752         * lib/gl_anyhash_list2.h: New file.
4753         * lib/gl_avltreehash_list.h: New file.
4754         * lib/gl_avltreehash_list.c: New file.
4755         * lib/gl_rbtreehash_list.h: New file.
4756         * lib/gl_rbtreehash_list.c: New file.
4757         * lib/gl_anytreehash_list1.h: New file.
4758         * lib/gl_anytreehash_list2.h: New file.
4759
4760         * lib/gl_oset.h: New file.
4761         * lib/gl_oset.c: New file.
4762         * lib/gl_array_oset.h: New file.
4763         * lib/gl_array_oset.c: New file.
4764         * lib/gl_avltree_oset.h: New file.
4765         * lib/gl_avltree_oset.c: New file.
4766         * lib/gl_rbtree_oset.h: New file.
4767         * lib/gl_rbtree_oset.c: New file.
4768         * lib/gl_anytree_oset.h: New file.
4769
4770 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
4771
4772         * m4/mkancesdirs.m4: New file.
4773         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Mention dirchownmod.c,
4774         dirchownmod.h.  Don't require AC_FUNC_ALLOCA, gl_AFS, gl_CHDIR_SAFER;
4775         no longer needed.  Require gl_FUNC_LCHOWN, since dirchownmod.c needs
4776         it.
4777
4778 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
4779
4780         * lib/dirchownmod.c, lib/dirchownmod.h, lib/mkancesdirs.c:
4781         * lib/mkancesdirs.h: New files.
4782         * lib/mkdir-p.c: Don't include alloca.h, stdio.h, sys/types.h,
4783         unistd.h, string.h, chdir-safer.h, dirname.h, lchmod.h, lchown.h,
4784         save-cwd.h.  Instead, include dirchownmod.h and mkancesdirs.h.
4785         (make_dir_parents): New args MAKE_ANCESTOR, OPTIONS, ANNOUNCE,
4786         MODE_BITS.  Remove options VERBOSE_FMT_STRING, CWD_ERRNO.  All
4787         callers changed.  Revamp internals significantly, by not
4788         attempting to create directories that are temporarily more
4789         permissive than the final results.  Do not attempt to use
4790         save_cwd/restore_cwd; it isn't worth it for mkdir and install.
4791         This removes some race conditions, fixes some bugs, and simplifies
4792         things.  Use new dirchownmod function to do owner and mode changes.
4793         * lib/mkdir-p.h: Likewise.
4794         * lib/modechange.c (octal_to_mode): New function.
4795         (struct mode_change): New member mentioned.
4796         (make_node_op_equals): New arg mentioned.  All callers changed.
4797         (mode_compile): Keep track of which mode bits the user has explicitly
4798         mentioned.
4799         (mode_adjust): New arg DIR, so that we implement the X op correctly.
4800         New arg PMODE_BITS, to keep track of which mode bits the user
4801         mentioned; it treats S_ISUID and S_ISGID speciall.
4802         All callers changed.
4803         * lib/modechange.h: Likewise.
4804
4805 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
4806
4807         * MODULES.html.sh: Add mkancestors.
4808         * modules/mkancesdirs: New module.
4809         * modules/mkdir-p (Files): Remove lib/chdir-safer.c, lib/chdir-safer.h,
4810         lib/same-inode.h, m4/afs.m4, m4/chdir-safer.m4.
4811         The chdir-safer and afs files are now orphans; I'll remove them
4812         unless someone speaks up.
4813         Add lib/dirchownmod.c, lib/dirchownmod.h.
4814         (Depends-on): Remove alloca, chown, save-cwd, dirname.
4815         Add lchown, mkancesdirs.
4816         (Maintainer): Add self.
4817
4818 2006-07-15  Karl Berry  <karl@gnu.org>
4819
4820         * gnulib-tool: help message wording/arrangement.
4821
4822 2006-07-14  Simon Josefsson  <jas@extundo.com>
4823
4824         * doc/gnulib.texi (Libtool and Windows): New section.
4825
4826 2006-07-12  Simon Josefsson  <jas@extundo.com>
4827
4828         * modules/gendocs (License): Fix license, approved by Karl.
4829
4830 2006-07-12  Eric Blake  <ebb9@byu.net>
4831
4832         * MODULES.html.sh: Add gendocs.
4833
4834 2006-07-11  Eric Blake  <ebb9@byu.net>
4835
4836         * modules/fdl: New module, to install doc/fdl.texi.
4837         * MODULES.html.sh: Add new section for documentation modules.
4838         * gnulib-tool: Avoid space-tab.
4839         (--doc-base): New option, to manage files from doc.
4840
4841 2006-07-11  Eric Blake  <ebb9@byu.net>
4842
4843         * m4/absolute-header.m4: Fix comments to match recent change.
4844
4845 2006-07-11  Eric Blake  <ebb9@byu.net>
4846
4847         * gnulib-tool: List --doc-base before --tests-base.
4848
4849 2006-07-11  Derek R. Price  <derek@ximbiot.com>
4850
4851         * lib/glob.c: s/NAMLEN/_D_EXACT_NAMLEN/.
4852
4853 2006-07-11  Bruno Haible  <bruno@clisp.org>
4854
4855         * README: Mention where to put documentation.
4856
4857 2006-07-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
4858
4859         * doc/functions.texi, gnulib-tool.texi, gnulib.texi: Fix some typos.
4860
4861 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
4862
4863         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Like today's change
4864         to stdint.m4.
4865
4866 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
4867
4868         * m4/stdint.m4 (gl_STDINT_H): Like yesterday's change to
4869         absolute-header.m4.  Also, set ABSOLUTE_STDINT_H to a string
4870         "no/such/file/stdint.h" when there is no such file, so that
4871         the resulting C code can be parsed by dodgy compilers.
4872         Problems reported by Bob Proulx.
4873
4874 2006-07-10  Derek R. Price  <derek@ximbiot.com>
4875
4876         * lib/backupfile.c, dirfd.h, fts.c, getcwd.c, glob.c, glob_.h:
4877         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
4878         macros into the GNU _D_EXACT_NAMLEN.
4879         * lib/savedir.c:  Likewise.
4880         (savedirstream): Use _D_EXACT_NAMLEN in preference to strlen.
4881
4882 2006-07-10  Derek R. Price  <derek@ximbiot.com>
4883         and Paul Eggert  <eggert@cs.ucla.edu>
4884
4885         * m4/backupfile.m4, d-ino.m4, d-type.m4, dirfd.m4, fts.m4, getcwd.m4:
4886         * m4/savedir.m4:
4887         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
4888         macros into the GNU _D_EXACT_NAMLEN.
4889
4890 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
4891
4892         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Use "" rather than <>
4893         around the absolute name, to work around a problem with the HP-UX
4894         11.23 native C compiler, reported by Bob Proulx.
4895
4896 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
4897
4898         * doc/maintain.texi, make-stds.texi: Sync from
4899         <http://savannah.gnu.org/projects/gnustandards>.
4900
4901 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
4902
4903         * build-aux/depcomp, build-aux/install-sh: Sync from Automake.
4904
4905 2006-07-09  Jim Meyering  <jim@meyering.net>
4906
4907         * m4/glob.m4: Remove a doubled word in a comment.
4908
4909 2006-07-09  Jim Meyering  <jim@meyering.net>
4910
4911         * lib/argp-pv.c: Remove a doubled word in a comment.
4912         * lib/check-version.c (check_version): Likewise.
4913         * lib/javacomp.c (compile_java_class): Likewise.
4914
4915 2006-07-08  Paul Eggert  <eggert@cs.ucla.edu>
4916
4917         * gnulib-tool (func_get_filelist): Don't echo m4/onceonly_2_57.m4,
4918         for the benefit of people using Autoconf 2.60.  If you want to
4919         support older Autoconf versions you can copy m4/onceonly_2_57.m4
4920         (or m4/onceonly.m4, if pre-2.57) manually.
4921
4922 2006-07-08  Jim Meyering  <jim@meyering.net>
4923
4924         * m4/link-follow.m4: Remove one of two adjacent "whether"s in a
4925         comment.
4926         * m4/getopt.m4: Remove one of two adjacent "your"s in a comment.
4927         * m4/regex.m4 (gl_REGEX): Remove one of two adjacent "the"s in a
4928         comment.
4929
4930 2006-07-08  Jim Meyering  <jim@meyering.net>
4931
4932         * lib/getndelim2.h (getndelim2): Remove doubled "after" in comment.
4933
4934 2006-07-07  Simon Josefsson  <jas@extundo.com>
4935
4936         * tests/test-crc.c: Change expected crc value, the test vector
4937         were probably computed using the old broken crc.c?
4938
4939 2006-07-06  Simon Josefsson  <jas@extundo.com>
4940
4941         * modules/sys_socket (Files): Add m4/sockpfaf.m4 (this module is
4942         now the canonical place for the M4 file).
4943
4944         * modules/getaddrinfo (Files): Remove m4/sockpfaf.m4, we get it
4945         from the sys_socket dependency now.
4946
4947         * modules/inet_pton (Files): Ditto.
4948
4949         * modules/inet_ntop (Files): Ditto.
4950
4951 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
4952
4953         * modules/getusershell (configure.ac): Use gl_FUNC_GETUSERSHELL,
4954         not gl_PREREQ_GETUSERSHELL.
4955
4956 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
4957
4958         * m4/_inttypes_h.m4 (gl_INTTYPES_H): Use AC_CHECK_DECLS_ONCE
4959         with only one argument, for Autoconf 2.60.
4960         * m4/fileblocks.m4 (gl_PREREQ_FILEBLOCKS): AC_CHECK_DECLS_ONCE may
4961         expand to nothing, so add a shell command to avoid syntax error.
4962         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
4963
4964 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
4965
4966         * lib/strtod.c (strtod): cast the argument of tolower to unsigned char.
4967
4968 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
4969
4970         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't check for getenv decl;
4971         no longer needed.  Check for isblank decl.
4972         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Don't check for getenv decl.
4973         * m4/regex.m4 (gl_PREREQ_REGEX): Dheck for isblank decl instead
4974         of existence.
4975
4976 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
4977
4978         * lib/getloadavg.c: Use __VMS, not VMS.
4979         * lib/getopt.c: Likewise.
4980         * lib/getpagesize.h: Likewise.
4981         * lib/glob.c: Remove most VMS cruft; it hasn't been tested for a while
4982         and probably does not work.
4983
4984 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
4985
4986         * lib/.cppi-disable: Add wcwidth.
4987         * lib/fnmatch.c (ISBLANK): Remove.  All uses changed to isblank.
4988         (isblank) [! (defined isblank || HAVE_DECL_ISBLANK)]: New macro.
4989         (ISGRAPH): Remove.  All uses changed to isgraph.
4990         (FOLD) [!defined _LIBC]: Remove special case.
4991         * lib/getdate.y (lookup_word): Remove no-longer-needed call to islower.
4992         * lib/regex_internal.h (isblank): Depend on HAVE_DECL_ISBLANK, not
4993         HAVE_ISBLANK.
4994         * lib/strftime.c (TOLOWER, TOUPPER) [!defined _LIBC]: Remove special
4995         case.
4996
4997 2006-07-06  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
4998
4999         * lib/getaddrinfo.c: Changes to compile under MSVC6: changed
5000         '#if WIN32_NATIVE' to '#ifdef' & moved WSAAPI macro inside
5001         brackets.  Other minor changes to suppress some compiler
5002         warnings.
5003
5004 2006-07-06  Derek R. Price  <derek@ximbiot.com>
5005         and Paul Eggert  <eggert@cs.ucla.edu>
5006
5007         * m4/backupfile.m4 (gl_BACKUPFILE): Check for dirent.h, instead
5008         of invoking obsolescent AC_HEADER_DIRENT macro.
5009         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
5010         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Likewise.
5011         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
5012         * m4/fts.m4 (gl_FUNC_FTS_CORE): Likewise.
5013         * m4/getcwd.m4 (gl_PREREQ_GETCWD): Likewise.
5014         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
5015         * m4/savedir.m4 (gl_SAVEDIR): Likewise.
5016         * m4/readdir.m4: Remove; no longer needed.
5017
5018 2006-07-06  Derek R. Price  <derek@ximbiot.com>
5019         and Paul Eggert  <eggert@cs.ucla.edu>
5020
5021         * lib/backupfile.c [HAVE_DIRENT_H && ! HAVE_NDIR_H]:
5022         Don't worry about this obsolete case any more.
5023         (HAVE_DIR): Remove.  All uses removed; we now assume you can read
5024         directories.
5025         * lib/dirfd.h [HAVE_DIRENT_H && ! HAVE_NDIR_H]: Don't
5026         worry about this obsolete case any more.
5027         * lib/fts.c: Likewise.
5028         * lib/getcwd.c: Likewise.
5029         * lib/glob.h: Likewise.
5030         * lib/savedir.c: Likewise.
5031
5032 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
5033
5034         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Use AC_CHECK_DECLS_ONCE
5035         rather than AC_CHECK_DECLS for strtoimax and strtoumax.
5036         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Remove; no longer
5037         needed.
5038         All uses removed.
5039         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
5040         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
5041         * m4/exclude.m4 (gl_EXCLUDE): Don't check for isascii; no longer
5042         needed.
5043         * m4/getdate.m4 (gl_GETDATE): Likewise.
5044         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
5045         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
5046         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
5047         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
5048         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
5049         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
5050         * m4/exclude.m4 (gl_EXCLUDE): Don't require AC_C_INLINE; no longer
5051         needed.
5052
5053 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
5054
5055         * lib/memcasecmp.c: Include <limits.h>.
5056         (memcasecmp): Don't assume UCHAR_MAX <= INT_MAX.
5057         * lib/strtod.c (strtod): Don't assume isspace works on negative chars.
5058         Don't assume isdigit succeeds only on '0' through '9'.
5059
5060 2006-07-05  Eric Blake  <ebb9@byu.net>
5061
5062         * modules/getaddrinfo (Depends-on): Add snprintf.
5063
5064 2006-07-05  Eric Blake  <ebb9@byu.net>
5065
5066         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Use gl_HEADER_SYS_SOCKET
5067         to avoid 'header present but could not be compiled' on cygwin.
5068
5069 2006-07-05  Eric Blake  <ebb9@byu.net>
5070
5071         * lib/getaddrinfo.h (NI_NUMERICHOST, NI_NUMERICSERV): Define if
5072         missing from netdb.h.
5073         * lib/getaddrinfo.c (includes): Include inet_ntop and snprintf.
5074
5075 2006-07-05  Derek R. Price  <derek@ximbiot.com>
5076
5077         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Don't require AC_HEADER_STDC;
5078         no longer needed.
5079         * m4/exclude.m4 (gl_EXCLUDE): Likewise.
5080         * m4/getdate.m4 (gl_GETDATE): Likewise.
5081         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
5082         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
5083         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
5084         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
5085         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
5086
5087 2006-07-05  Derek R. Price  <derek@ximbiot.com>
5088
5089         * lib/exclude.c (IN_CTYPE_DOMAIN, is_space): Remove; no longer needed.
5090         All uses of is_space replaced by isspace.
5091         * lib/exit.h: Don't talk about STDC_HEADERS.
5092         * lib/fnmatch.c (ISASCII): Remove; no longer needed.  All uses removed.
5093         (ISPRINT, ISDIGIT, ISALNUM, ISALPHA, ISCNTRL, ISLOWER, ISPUNCT):
5094         (ISSPACE, ISUPPER, ISXDIGIT): Remove; no longer needed.  All uses
5095         replaced by isprint etc.
5096         * lib/getdate.y (IN_CTYPE_DOMAIN, ISSPACE, ISALPHA, ISLOWER): Likewise.
5097         * lib/getusershell.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
5098         * lib/memcasecmp.c (IN_CTYPE_DOMAIN, ISLOWER, TOUPPER): Likewise.
5099         * lib/strtod.c (IN_CTYPE_DOMAIN, ISSPACE, ISDIGIT, TOLOWER): Likewise.
5100         * lib/strtol.c (IN_CTYPE_DOMAIN): Likewise.
5101         * lib/xstrtol.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
5102
5103 2006-07-05  Bruno Haible  <bruno@clisp.org>
5104
5105         * m4/strndup.m4 (gl_FUNC_STRNDUP): When cross-compiling, check whether
5106         the function exists, before testing against AIX.
5107         Reported by Martin Lambers <marlam@marlam.de>.
5108
5109 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
5110
5111         * modules/cycle-check (lib_SOURCES): Add same-inode.h.
5112         From Mark D. Baushke.
5113
5114 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
5115
5116         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Prepend three slashes
5117         to the absolute name, not just one, to bypass Sun C 5.8's
5118         "warning: #include of /usr/include/... may be non-portable".
5119
5120 2006-07-04  Eric Blake  <ebb9@byu.net>
5121
5122         * modules/dirname-tests: New test module.
5123         * tests/test-dirname.c: New file, replacing dirname.c
5124         TEST_DIRNAME section that was recently deleted.
5125
5126 2006-07-04  Bruno Haible  <bruno@clisp.org>
5127
5128         Assume ANSI C header files and <ctype.h> functions.
5129         * lib/mbswidth.c (IN_CTYPE_DOMAIN, ISPRINT, ISCNTRL): Remove macros.
5130         (mbsnwidth): Use isprint, iscntrl instead.
5131
5132 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
5133
5134         Merge from coreutils.
5135         * MODULES.html.sh: Add xstrtold.
5136         * modules/xstrtold: New file.
5137         * modules/cycle-check (Files): Add lib/same-inode.h.
5138         * modules/dirname (Files): Add m4/double-slash-root.m4.
5139         * modules/getcwd (Files): Add m4/getcwd-abort-bug.m4.
5140         * modules/mkdir-p (Files): Add lib/same-inode.h.
5141         * modules/same (Files): Add lib/same-inode.h.
5142
5143 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
5144
5145         * m4/absolute-header.m4: Renamed from full-header-path.m4.
5146         This is to keep the terminology clean; POSIX talks about
5147         "absolute pathnames", not "full pathnames", but the GNU
5148         Coding Standards say to use "path" for something else;
5149         so use "absolute" to keep both sides happy.
5150         (gl_ABSOLUTE_HEADER): Renamed from gl_FULL_HEADER_PATH.
5151         Set gl_absolute_header, not gl_full_header_path.
5152         Set gl_cv_absolute_<header>, not gl_full_path_<header>.
5153         Define ABSOLUTE_<HEADER>, not FULL_PATH_<HEADER>.
5154         All uses changed.
5155
5156         Merge from coreutils.
5157
5158         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
5159
5160         * m4/c-strtod.m4 (gl_C_STRTOLD): Add c-strtod.c to LIBSOURCES.
5161         Require gl_USE_SYSTEM_EXTENSIONS, not gl_C_STRTOD, since we don't
5162         want to require the building of c-strtod.o.
5163         * m4/lib-check.m4 (cu_LIB_CHECK): Remove SEQ_LIBM, since seq no longer
5164         needs -lm directly.
5165         * m4/xstrtod.m4 (gl_XSTRTOLD): New macro.
5166
5167         2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
5168
5169         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Prefer binutils's
5170         --as-needed option if available.  Problem reported by Albert Chin in
5171         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00114.html>.
5172         However, use -Wl,--as-needed, not bare --as-needed, since HP-UX 11.11
5173         cc merely issues a bunch of annoying warnings for --as-needed
5174         (this problem was reported by Bob Proulx).  Also, try linking with
5175         -lm to detect a bug in binutils 2.16 (this problem was reported
5176         by Ralf Wildenhues).
5177
5178         2006-06-18  Jim Meyering  <jim@meyering.net>
5179
5180         Test for a bug that causes glibc's getcwd to suffer a failed assertion.
5181         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): New file and
5182         macro.
5183         * m4/getcwd.m4 (gl_FUNC_GETCWD): If we detect support for getcwd_null,
5184         also check for glibc-2.4's abort-inducing bug.
5185
5186         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Fix typo.
5187         Low-probability clean-up should be to use rmdir to get rid of
5188         the just-created directory, not unlink.
5189
5190         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): If ftruncate is missing, make
5191         configure fail, and request a bug report to inform us about it.
5192         Add a comment that, barring reports to the contrary, in 2007 we'll
5193         assume ftruncate is universally available.
5194
5195         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
5196
5197         * m4/filemode.m4 (gl_FILEMODE): Check for strmode declaration.
5198
5199         2006-03-12  Jim Meyering  <jim@meyering.net>
5200
5201         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Add same-inode.h to the list.
5202         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Likewise.
5203         * m4/same.m4 (gl_SAME): Likewise.
5204         * m4/root-dev-ino.m4 (gl_ROOT_DEV_INO): Likewise.
5205
5206         2006-03-11  Eric Blake  <ebb9@byu.net>
5207
5208         * m4/double-slash-root.m4: New file, provides gl_DOUBLE_SLASH_ROOT.
5209         * m4/dirname.m4 (gl_DIRNAME): Use gl_DOUBLE_SLASH_ROOT.
5210         * m4/dos.m4 (FILE_SYSTEM_PREFIX_LEN): Move from here to dirname.h.
5211         (FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE): New define.
5212
5213 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
5214
5215         * lib/stdint_.h: Include <sys/types.h> after @FULL_PATH_STDINT_H@, for
5216         MacOS X 10.4.6.  Don't mention <sys/int_types.h>.  Problems
5217         reported by Mark D. Baushke, one in
5218         <http://lists.gnu.org/archive/html/bug-gnulib/2006-07/msg00015.html>.
5219
5220         Merge from coreutils.
5221
5222         * lib/.cppi-disable: Add stdint_.h.
5223         * lib/.cvsignore: Add stdint.h.
5224
5225         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
5226
5227         * lib/xstrtod.c (XSTRTOD, DOUBLE): New macros, so that we can support
5228         both double and long double versions.
5229         (XSTRTOD): Renamed from xstrtod.  Use DOUBLE internally.
5230         * lib/xstrtold.c: New file.
5231         * lib/xstrtod.h (xstrtold): New decl.
5232
5233         2006-05-22  Paul Eggert  <eggert@cs.ucla.edu>
5234
5235         * lib/filemode.c (setst): Remove.
5236         (strmode): Rewrite to avoid setst.  This makes the code shorter,
5237         (arguably) clearer, and the generated code is a bit smaller on my
5238         Debian GNU/Linux stable x86 host.
5239
5240         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
5241
5242         * lib/filemode.c: Include "filemode.h" first, to test the interface.
5243         Assume that filemode.h includes sys/types.h and sys/stat.h.
5244         (HAVE_ST_DM_MODE): New macro, moved here from ls.c.
5245         (ftypelet): Reorder to put common cases first, for efficiency.
5246         Add 'P', 'w'.  Remove 'M', since it's now the caller's responsibility
5247         to do 'M'.
5248         (strmode): Renamed from mode_string, and now stores 12 bytes instead
5249         of 10, for compatibility with FreeBSD.  All callers changed.
5250         (filemodestring): Now stores 12 bytes instead of 10, and sets file
5251         types that can't be deduced solely from st_mode.  First arg is now a
5252         const pointer.
5253         * lib/filemode.h (HAVE_DECL_STRMODE): Include <string.h> for strmode.
5254         (strmode): Renamed from mode_string.
5255         (filemodestring): New decl.
5256         * lib/stat-macros.h: Don't undef S_ISDOOR, since it's never buggy.
5257         (S_ISDOOR): Don't bother with S_IFDOOR, since that code is never
5258         needed.
5259         (S_ISPORT, S_ISWHT): New macros, if not already defined.
5260
5261         2006-04-12  Paul Eggert  <eggert@cs.ucla.edu>
5262
5263         * lib/fsusage.c: Don't include <inttypes.h> or <stdint.h>, since
5264         fsusage.h now does that.  Include fsusage.h first, to test interface.
5265         Prefer statvfs if it works, since it's blessed by POSIX.  Attempt
5266         at most one method (the old code could have generated decls that
5267         didn't conform to C89, not that this was ever exercised).
5268         * lib/fsusage.h: Include <inttypes.h> and <stdint.h> if they exist.
5269
5270         2006-03-19  Jim Meyering  <jim@meyering.net>
5271
5272         Work even in a chroot where d_ino values for entries in "/"
5273         don't match the stat.st_ino values for the same names.
5274         * lib/getcwd.c (__getcwd): When no d_ino value matches the target inode
5275         number, iterate through all entries again, using lstat instead.
5276         Reported by Kenshi Muto in http://bugs.debian.org/355810, and by
5277         Zouhir Hafidi in https://bugzilla.redhat.com/bugzilla/190656.
5278
5279         * lib/getcwd.c (__getcwd): Clarify a comment.
5280         Use memcpy in place of a call to strcpy.
5281
5282         2006-03-12  Jim Meyering  <jim@meyering.net>
5283
5284         * lib/fts-cycle.c (leave_dir): If cycle-check's saved dev-ino pair
5285         matches that of the current directory (which we're about to chdir ".."
5286         out of), then save the dev-ino of the parent, instead.
5287
5288         * lib/same-inode.h (SAME_INODE): New file/macro.
5289         * lib/chdir-safer.c (SAME_INODE): Remove definition.
5290         Include "same-inode.h", instead.
5291         * lib/same.c: Likewise.
5292         * lib/cycle-check.h: Include "same-inode.h".
5293         (CYCLE_CHECK_REFLECT_CHDIR_UP): Define.
5294         * lib/cycle-check.c (SAME_INODE): Remove definition.
5295         * lib/root-dev-ino.h: Include "same-inode.h".
5296
5297         2006-03-11  Eric Blake  <ebb9@byu.net>
5298
5299         * lib/same.c (same_name): s/base_name/last_component/
5300         * lib/backupfile.c (check_extension, numbered_backup): Likewise.
5301         * lib/filenamecat.c (file_name_concat): Likewise.
5302
5303         2006-03-11  Eric Blake  <ebb9@byu.net>,
5304                     Paul Eggert  <eggert@cs.ucla.edu>
5305
5306         * lib/dirname.h (FILE_SYSTEM_PREFIX_LEN): Move here from dos.m4.
5307         [FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't treat 1: as a
5308         drive prefix.
5309         (IS_ABSOLUTE_FILE_NAME): Treat all drive letters as absolute on
5310         platforms like cygwin with FILE_SYSTEM_DRIVE_PREFIX_IS_ABSOLUTE.
5311         (last_component): New method.
5312         * lib/dirname.c (dir_len): Determine when drive letters need a
5313         subsequent slash.  Preserve // when it is special.
5314         (dir_name): Don't append dot when drive letter is absolute.
5315         [TEST_DIRNAME]: Move into a full-blown gnulib test.
5316         * lib/basename.c (base_name): New semantics - malloc the result.
5317         Preserve // when it is special.  Preserve relative files that look
5318         like drive letters.
5319         (base_len): Preserve // when it is special.
5320         (last_component): New method, similar to old base_name semantics.
5321         * lib/stripslash.c (strip_trailing_slashes): Use last_component, not
5322         base_name.  Strip redundant slashes from ///.
5323
5324 2006-07-03  Jim Meyering  <jim@meyering.net>
5325
5326         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Abort if this
5327         macro is used before the first cycle_check call.
5328
5329 2006-07-03  Eric Blake  <ebb9@byu.net>
5330
5331         * modules/dirname (Depends-on): Add xstrndup.
5332
5333 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
5334
5335         * m4/stdint.m4 (gl_STDINT_H): Use more-mnemonic identifiers for
5336         test cases, so that config.log is a bit easier to follow.
5337
5338 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
5339
5340         * lib/stdint_.h (intmax_t, uintmax_t): Prefer long to long long if
5341         both are 64 bits, since this seems to be the tradition, and this
5342         prevents gcc -Wformat from warning about usages with PRIuMAX.  If
5343         we ever run into a host that prefers long long to long in this
5344         case, we'll need another configure-time test.  Problem reported by
5345         Jim Meyering.
5346
5347 2006-07-02  Eric Blake  <ebb9@byu.net>
5348
5349         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Simplify by using AC_CHECK_DECLS.
5350
5351 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
5352
5353         * modules/inttypes (Depends-on): No longer depends on stdint.
5354         * modules/stdint (Description): Say more about assumptions.
5355         Say that the fast types might differ.  Say macros are used.
5356         (Files): Remove m4/size_max.m4, m4/wchar_t.m4.  Add m4/longlong.m4.
5357         (Makefile.am): Revise list of substituted symbols to match
5358         new stdint.m4.
5359         * modules/stdint-tests (Files): Add m4/wchar_t.m4, m4/wint_t.m4.
5360         (configure.ac): Add gt_TYPE_WCHAR_T, gt_TYPE_WINT_T.
5361         * tests/test-stdint.c (verify_same_types)
5362         [! (__GNUC__ >= 2 && DO_PEDANTIC)]: Put in a decl, so that
5363         the code conforms to C99/C89.
5364         Test for WCHAR_MIN and WCHAR_MAX only if HAVE_WCHAR_T.
5365         Test for WINT_MIN and WINT_MAX only if HAVE_WINT_T.
5366
5367 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
5368
5369         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Backport from Autoconf 2.60,
5370         but fix a bug, by requiring at least 64 bits.
5371         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise.
5372         * m4/longlong.m4 (gl_AC_TYPE_LONG_LONG): Now just call
5373         AC_TYPE_LONG_LONG_INT.  This macro is obsolete and will go soon.
5374         * m4/ulonglong.m4 (gl_AC_TYPE_UNSIGNED_LONG_LONG) Likewise.
5375
5376         * m4/stdint.m4 (gl_STDINT_H): Rewrite to accommodate stdint_.h
5377         changes.  Make 2.59 a prerequisite.  Check and substitute for
5378         HAVE_LONG_LONG_INT.  Rely on Autoconf to check for stdint.h and
5379         inttypes.h.  Do not use special include files; just use the
5380         defaults.  Check for sys/inttypes.h and sys/bitypes.h in the usual
5381         way now.  Remove no-longer-needed tests for HAVE_LONG_64BIT,
5382         HAVE_LONG_LONG_64BIT, int8_t, int16_t, int32_t, int64_t, uint8_t,
5383         uint16_t, uint32_t uint64_t, int_least8_t, int_least16_t,
5384         int_least32_t, int_least64_t, uint_least8_t, uint_least16_t,
5385         uint_least32_t, uint_least64_t, int_fast8_t, int_fast16_t,
5386         int_fast32_t, int_fast64_t, uint_fast8_t uint_fast16_t,
5387         uint_fast32_t, uint_fast64_t, intptr_t, uintptr_t, intmax_t,
5388         uintmax_t, INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX,
5389         UINT16_MAX, INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN,
5390         INT64_MAX, UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX,
5391         UINT_LEAST8_MAX, INT_LEAST16_MIN, INT_LEAST16_MAX,
5392         UINT_LEAST16_MAX, INT_LEAST32_MIN, INT_LEAST32_MAX,
5393         UINT_LEAST32_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX,
5394         UINT_LEAST64_MAX, INT_FAST8_MIN, INT_FAST8_MAX, UINT_FAST8_MAX,
5395         INT_FAST16_MIN, INT_FAST16_MAX, UINT_FAST16_MAX, INT_FAST32_MIN,
5396         INT_FAST32_MAX, UINT_FAST32_MAX, INT_FAST64_MIN, INT_FAST64_MAX,
5397         UINT_FAST64_MAX, INTPTR_MIN, INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN,
5398         INTMAX_MAX, UINTMAX_MAX, PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN,
5399         SIG_ATOMIC_MAX, SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN,
5400         WINT_MAX.  Check for C99 conformance more strictly, by detecting
5401         bugs in glibc 2.4, Solaris 10, and OpenBSD 3.9.  On the other hand do
5402         not check for things that C99 does not require, e.g., int8_t.  If
5403         a test isn't needed unless <stdint.h> isn't working, and is
5404         unlikely to be needed for any other reason, then don't do it
5405         unless <stdint.h> isn't working.  Do not check for ptrdiff_t or
5406         size_t, since we assume C89 freestanding at least.  Do not check
5407         for sig_atomic_t, wchar_t, or wint_t, since the code now does
5408         the right thing even if the types are not defined.  Instead use:
5409         (gl_STDINT_TYPE_PROPERTIES): New macro.
5410         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H): Remove.  Don't bother
5411         testing whether <sys/types.h> clashes, as Autoconf does this for
5412         us now.  All uses removed.
5413         (gl_STDINT_CHECK_TYPES, gl_STDINT_MISSING_BOUND):
5414         (gl_STDINT_MISSING_BOUNDS, gl_STDINT_MISSING_BOUNDS2):
5415         (gl_CHECK_TYPE_SAME):
5416         Remove; no longer needed.
5417         (gl_STDINT_BITSIZEOF): Don't bother to check whether the type
5418         exists, since we'll return 0 anyway in that case.
5419         (gl_INTEGER_TYPE_SUFFIX, gl_STDINT_INCLUDES): New macros.
5420
5421 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
5422
5423         * lib/stdint_.h (_GL_STDINT_H): Renamed from _STDINT_H, to avoid
5424         possible collision with system files.
5425         (<stdio.h>, <time.h>, <wchar.h>) [defined __cplusplus && ! defined
5426         __STDC_CONSTANT_MACROS)]: Do not include, since we don't need
5427         WCHAR_MIN and WCHAR_MAX in this case.
5428         (<stddef.h>): Do not include; no longer needed.
5429         (<sys/types.h>): Include if @HAVE_SYS_TYPES_H@, not if
5430         (defined(__OpenBSD__) || defined(__bsdi__) || defined(__sgi)).
5431         (<sys/inttypes.h>): Include if @HAVE_SYS_INTTYPES_H@ &&
5432         !@HAVE_INTTYPES_H@, not if (defined(__FreeBSD__)
5433         && (__FreeBSD__ >= 3) && (__FreeBSD__ <= 4)).
5434         (__STDINT_H__) [@HAVE_STDINT_H@ && defined __sgi && ! defined
5435         __c99]: Define, to work around IRIX <stdint.h> incompatibility.
5436         (@FULL_PATH_STDINT_H@) [!(defined(__sgi) && @HAVE_INTTYPES_H@ &&
5437         !defined(__c99))]: Include in this case too, since it's harmless
5438         now.
5439         (<inttypes.h>) [@HAVE_INTTYPES_H@]: Include, since it's no longer
5440         dangerous to do so.
5441         (@FULL_PATH_INTTYPES_H@) [(defined(__hpux) || defined(_AIX)) &&
5442         @HAVE_INTTYPES_H@]: Do not include, since we now include <inttypes.h>.
5443         (_STDINT_MIN, _STDINT_MAX): New macros.
5444         (int8_t, uint8_t, int16_t, uint16_t, int32_t, uint32_t, int64_t):
5445         (uint64_t, int_least8_t, uint_least8_t, int_least16_t):
5446         (uint_least16_t, int_least32_t, uint_least32_t, int_least64_t):
5447         (uint_least64_t, int_fast8_t, uint_fast8_t, int_fast16_t):
5448         (uint_fast16_t, int_fast32_t, uint_fast32_t, int_fast64_t):
5449         (uint_fast64_t, intptr_t, uintptr_t, intmax_t, uintmax_t): Now
5450         macros, not typedefs; this simplifies things quite a bit.
5451         Use long int for all types narrower than int64_t.
5452         (intmax_t, uintmax_t, INTMAX_C, UINTMAX_C):
5453         Define in terms of long long int or int64_t or long int,
5454         not int64_t or int32_t.  This saves some compile-time testing.
5455         (INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX, UINT16_MAX):
5456         (INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN, INT64_MAX):
5457         (UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX, UINT_LEAST8_MAX):
5458         (INT_LEAST16_MIN, INT_LEAST16_MAX, UINT_LEAST16_MAX):
5459         (INT_LEAST32_MIN, INT_LEAST32_MAX, UINT_LEAST32_MAX):
5460         (INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX, INT_FAST8_MIN):
5461         (INT_FAST8_MAX, UINT_FAST8_MAX, INT_FAST16_MIN, INT_FAST16_MAX):
5462         (UINT_FAST16_MAX, INT_FAST32_MIN, INT_FAST32_MAX, UINT_FAST32_MAX):
5463         (INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTPTR_MIN):
5464         (INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN, INTMAX_MAX, UINTMAX_MAX):
5465         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
5466         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
5467         undef any previous version and define our own version, for
5468         simplicity and consistency with the new macros for types.
5469         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
5470         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
5471         Simplify definitions by using _STDINT_MIN and _STDINT_MAX
5472         where appropriate.  Rely on new symbols @PTRDIFF_T_SUFFIX@,
5473         @SIG_ATOMIC_T_SUFFIX@, @SIZE_T_SUFFIX@, @WCHAR_T_SUFFIX@,
5474         @WINT_T_SUFFIX@ to keep things simple here.
5475         (UINT8_C, UINT16_C, UINT32_C, INT64_C, UINT64_C):
5476         Simplify by assuming typical 8/16/32/64 host, since we're
5477         already doing that elsewhere anyway.
5478         Use (LONG_MAX >> 31 >> 31 == 1) rather than @HAVE_LONG_64BIT@,
5479         and assume long long int is 64 bits if available.  This
5480         speeds up 'configure'.
5481
5482 2006-07-01  Eric Blake  <ebb9@byu.net>
5483
5484         * m4/stdarg.m4 (gl_STDARG_H): Use proper AH_VERBATIM.
5485         Reported by Andreas Buening.
5486
5487 2006-07-01  Eric Blake  <ebb9@byu.net>
5488
5489         * m4/stdarg.m4 (gl_STDARG_H): Properly parenthesize gl_va_copy.
5490
5491 2006-06-30  Jim Hyslop <jhyslop@dreampossible.ca>  (tiny change)
5492
5493         * lib/getaddrinfo.c: fixed typo
5494
5495 2006-06-29  Jim Meyering  <jim@meyering.net>
5496
5497         * modules/strftime (Maintainer): Add my name, since with the
5498         FPRINTFTIME changes strftime.c has forked from glibc.
5499
5500 2006-06-29  Eric Blake  <ebb9@byu.net>
5501
5502         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Use AC_C_INLINE.
5503
5504 2006-06-29  Eric Blake  <ebb9@byu.net>
5505
5506         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): New file.
5507
5508 2006-06-29  Eric Blake  <ebb9@byu.net>
5509
5510         * lib/stat_.h: New file.
5511
5512 2006-06-29  Eric Blake  <ebb9@byu.net>
5513
5514         * lib/stat_.h (rpl_mkdir): Declare inline, to avoid warnings about
5515         unused static function.
5516
5517 2006-06-29  Eric Blake  <ebb9@byu.net>
5518
5519         * doc/functions.texi (Function Portability): Document missing lstat
5520         on mingw.
5521
5522 2006-06-29  Eric Blake  <ebb9@byu.net>
5523
5524         * MODULES.html.sh: Add sys_stat.
5525         * modules/sys_stat: New module.
5526         * modules/mkstemp (Depends-on): Add sys_stat.
5527
5528 2006-06-29  Derek R. Price  <derek@ximbiot.com>
5529
5530         * m4/strftime.m4: Don't call AC_FUNC_STRFTIME.
5531
5532 2006-06-29  Derek R. Price  <derek@ximbiot.com>
5533
5534         * m4/c-bs-a.m4: Removed.
5535
5536 2006-06-29  Derek R. Price  <derek@ximbiot.com>
5537
5538         * lib/strftime.c: Assume strftime() exists.
5539
5540 2006-06-29  Derek Price  <derek@ximbiot.com>
5541
5542         * modules/c-bs-a: Removed - \a is C89.
5543         * MODULES.html.sh: Remove c-bs-a.
5544
5545 2006-06-29  Bruno Haible  <bruno@clisp.org>
5546
5547         * modules/wcwidth (License): Change to LGPL.
5548
5549 2006-06-28  Simon Josefsson  <jas@extundo.com>
5550
5551         * tests/test-getaddrinfo.c: Test getnameinfo too.  Call WSAStartup
5552         on _WIN32.
5553
5554         * modules/getaddrinfo (Depends-on): Add inet_ntop, needed by
5555         getnameinfo.
5556
5557 2006-06-28  Simon Josefsson  <jas@extundo.com>
5558
5559         * m4/getaddrinfo.m4: Look for getnameinfo prototypes too.
5560
5561 2006-06-28  Simon Josefsson  <jas@extundo.com>
5562
5563         * lib/getaddrinfo.c: Try to load ws2_32.dll on Windows, to find the
5564         functions there.  It will succeed on Windows XP, but on Windows
5565         2000 and (presumably) earlier, it will fail, and use the internal
5566         re-implementation.
5567         (use_win32_p): New function.
5568         (getaddrinfo): Use strtoul on servname, to support numeric ports.
5569         Support AI_NUMERICSERV to disable getservbyname.
5570         (getnameinfo): New function, only supports
5571         NI_NUMERICHOST|NI_NUMERICSERV for now.
5572
5573         * lib/getaddrinfo.h: Test and check for AI_* flags separately, MinGW
5574         only have some of them.  Add AI_NUMERICSERV.  Add prototype for
5575         getnameinfo.
5576
5577 2006-06-28  Eric Blake  <ebb9@byu.net>
5578
5579         * modules/wcwidth: New file.
5580         * modules/mbchar (Depends-on): Add wcwidth.
5581         * modules/mbswidth (Depends-on): Add wcwidth.
5582         * MODULES.html.sh: Add wcwidth.
5583
5584 2006-06-28  Eric Blake  <ebb9@byu.net>
5585
5586         * m4/mbswidth.m4 (gl_MBSDWIDTH): Move wcwidth from here...
5587         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): ...to this new file.
5588
5589 2006-06-28  Eric Blake  <ebb9@byu.net>
5590
5591         * lib/xvasprintf.h: Fix comments.
5592
5593 2006-06-28  Eric Blake  <ebb9@byu.net>
5594
5595         * lib/mbchar.h (wcwidth): Include wcwidth.h.
5596         * lib/mbswidth.c (wcwidth): Move from here...
5597         * lib/wcwidth.h: ...to this new file.
5598
5599 2006-06-28  Derek R. Price  <derek@ximbiot.com>
5600
5601         * m4/savedir.m4: Remove AC_FUNC_CLOSEDIR_VOID requirement.
5602
5603         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't require AC_C_CONST, since
5604         it's obsolete.
5605         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Likewise.
5606
5607 2006-06-28  Derek R. Price  <derek@ximbiot.com>
5608
5609         * lib/savedir.c (CLOSEDIR): Remove.  All uses changed to closedir.
5610         Autoconf 2.60 says this stuff was obsolete.
5611
5612 2006-06-28  Bruno Haible  <bruno@clisp.org>
5613
5614         * modules/wcwidth (Files): Add m4/wchar_t.m4.
5615
5616 2006-06-28  Bruno Haible  <bruno@clisp.org>
5617
5618         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Also require AC_C_INLINE and
5619         gt_TYPE_WCHAR_T.
5620
5621 2006-06-28  Bruno Haible  <bruno@clisp.org>
5622
5623         * lib/wcwidth.h: Declare nothing if !HAVE_WCHAR_T. Provide a fallback
5624         declaration for wcwidth.
5625         * lib/mbswidth.c: Restore the includes of <wchar.h> and <wctypes.h>.
5626
5627 2006-06-28  Bruno Haible  <bruno@clisp.org>
5628
5629         * lib/mkdtemp.c [MINGW]: Include <io.h>.
5630         (mkdir): Define using _mkdir.
5631
5632 2006-06-28  Bruno Haible  <bruno@clisp.org>
5633
5634         * lib/getaddrinfo.h: Fix POSIX URL.
5635         * lib/getaddrinfo.c (WIN32_NATIVE): New macro. Use it instead of
5636         _WIN32.
5637         (use_win32_p): Make static.
5638         (getaddrinfo): Reject service name if it is empty or does not consist
5639         solely of decimal digits, or if its value is > 65535.
5640         (getnameinfo): Remove useless casts.
5641
5642 2006-06-27  Simon Josefsson  <jas@extundo.com>
5643
5644         * modules/sys_select: New file, suggested by Bruno Haible, Paul
5645         Eggert and Martin Lambers.
5646
5647 2006-06-27  Simon Josefsson  <jas@extundo.com>
5648
5649         * m4/sys_select_h.m4: New file, suggested by Bruno Haible, Paul
5650         Eggert and Martin Lambers.
5651
5652 2006-06-27  Bruno Haible  <bruno@clisp.org>
5653
5654         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): For nonexistent types, set the
5655         result to 0, not to empty.
5656         Reported by Martin Neitzel <neitzel@sco.gaertner.de>.
5657
5658 2006-06-27  Bruno Haible  <bruno@clisp.org>
5659
5660         * lib/stdint_.h (intmax_t, uintmax_t): Undefine before typedef.
5661
5662 2006-06-26  Simon Josefsson  <jas@extundo.com>
5663
5664         * m4/inet_ntop.m4: Don't check for sys/types.h, we assume it is
5665         present.
5666
5667 2006-06-26  Paul Eggert  <eggert@cs.ucla.edu>
5668
5669         * lib/base64.c (B64): Use _ as the formal parameter, not x, to avoid
5670         bug in IBM C V6 for AIX.  Problem reported by Larry Jones in
5671         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00181.html>.
5672
5673 2006-06-26  Mark D. Baushke  <mdb@gnu.org>
5674
5675         * m4/stdint.m4 (gl_STDINT_H): Treat BSD/OS like OpenBSD.
5676
5677 2006-06-26  Bruno Haible  <bruno@clisp.org>
5678
5679         * modules/stdint (Makefile.am): Also substitute HAVE_WCHAR_H.
5680
5681 2006-06-26  Bruno Haible  <bruno@clisp.org>
5682
5683         * m4/stdint.m4 (gl_STDINT_H): Test also for <wchar.h>.
5684
5685 2006-06-26  Bruno Haible  <bruno@clisp.org>
5686
5687         * m4/stdint.m4 (gl_STDINT_H): Don't include <stdint.h> when using the
5688         SGI C compiler in pre-C99 mode.
5689         Suggested by Mark D. Baushke and Larry Jones.
5690
5691 2006-06-26  Bruno Haible  <bruno@clisp.org>
5692
5693         * lib/stdint_.h: Include <wchar.h> if necessary for WCHAR_MIN or
5694         WCHAR_MAX.
5695         Reported by Mark D. Baushke and Larry Jones.
5696
5697 2006-06-26  Bruno Haible  <bruno@clisp.org>
5698
5699         * lib/stdint_.h: Don't include <stdint.h> when using the SGI C compiler
5700         in pre-C99 mode.
5701         Suggested by Mark D. Baushke and Larry Jones.
5702
5703 2006-06-23  Simon Josefsson  <jas@extundo.com>
5704             Bruno Haible  <bruno@clisp.org>
5705
5706         * gnulib-tool (func_emit_lib_Makefile_am): Define MOSTLYCLEANDIRS.
5707         Emit mostlyclean-local rule.
5708         (func_emit_tests_Makefile_am): Likewise.
5709         * modules/sys_socket (Makefile.am): Use MOSTLYCLEANDIRS.
5710
5711 2006-06-23  Mark D. Baushke  <mdb@gnu.org>
5712
5713         * lib/stdint_.h: Treat BSD/OS like OpenBSD.
5714
5715 2006-06-23  Bruno Haible  <bruno@clisp.org>
5716
5717         * tests/test-stdint.c: Update to match ISO C 99 Technical
5718         Corrigendum 1.
5719
5720 2006-06-23  Bruno Haible  <bruno@clisp.org>
5721
5722         * m4/stdint.m4 (gl_STDINT_H): Treat IRIX like OpenBSD.
5723
5724 2006-06-23  Bruno Haible  <bruno@clisp.org>
5725
5726         * lib/stdint_.h: Treat IRIX like OpenBSD.
5727
5728 2006-06-23  Bruno Haible  <bruno@clisp.org>
5729
5730         * lib/stdint_.h (UINT8_C, UINT16_C, UINT32_C): Define according to
5731         ISO C 99 Technical Corrigendum 1.
5732
5733 2006-06-22  Simon Josefsson  <jas@extundo.com>
5734
5735         * m4/sockpfaf.m4: Include winsock2.h too, to make it work under
5736         MinGW.
5737
5738 2006-06-22  Paul Eggert  <eggert@cs.ucla.edu>
5739
5740         * lib/glob.c (collated_compare): Remove 'const' uses that weren't
5741         needed.  Some compiler complained about some of them.  Problem reported
5742         by Larry Jones in
5743         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00172.html>.
5744
5745 2006-06-21  Simon Josefsson  <jas@extundo.com>
5746
5747         * tests/test-getaddrinfo.c: New file.
5748
5749         * modules/getaddrinfo-tests: New file.
5750
5751         * MODULES.html.sh: Add inet_pton.
5752
5753         * modules/inet_pton: New file.
5754
5755 2006-06-21  Simon Josefsson  <jas@extundo.com>
5756
5757         * m4/getaddrinfo.m4: Don't define WINVER.  Look for gethostbyname in
5758         -lws2_32 too.  Fixes getaddrinfo on Windows 2000, with the price
5759         of using the (limited) gnulib implementation on Windows XP.
5760
5761         * m4/inet_pton.m4: New file.
5762
5763 2006-06-21  Simon Josefsson  <jas@extundo.com>
5764
5765         * lib/getaddrinfo.c (getaddrinfo): Set ai_family in the return
5766         variable.
5767
5768         * lib/socket_.h: Don't define WINVER.
5769
5770         * lib/inet_pton.h, inet_pton.c: New file, taken from glibc but
5771         slightly modified to work in gnulib.
5772
5773 2006-06-21  Simon Josefsson  <jas@extundo.com>
5774
5775         * doc/gnulib.texi (Windows sockets): Add.
5776
5777 2006-06-21  Paul Eggert  <eggert@cs.ucla.edu>
5778
5779         * lib/read-file.c (fread_file): Start with buffer allocation of
5780         0 bytes rather than 1 byte; this simplifies the code.
5781         Don't invoke feof; it's not needed.  Refactor to avoid duplicate
5782         code to free buffer and save/restore errno.
5783         (internal_read_file): Remove unused local.
5784
5785 2006-06-20  Paul Eggert  <eggert@cs.ucla.edu>
5786
5787         * lib/openat.c (openat): Use ?:, not if, to work around GCC bug 4210
5788         <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=4210>.
5789         Problem reported by Denis Excoffier in
5790         <http://lists.gnu.org/archive/html/bug-tar/2006-06/msg00023.html>.
5791
5792 2006-06-19  Yoann Vandoorselaere <yoann.v@prelude-ids.com>
5793
5794         * modules/sys_socket, modules/socklen: Include sys/types since
5795         FreeBSD 4.x's sys/socket.h needs it.
5796
5797 2006-06-19  Simon Josefsson  <jas@extundo.com>
5798
5799         * lib/inet_ntop.c: Always build inet_ntop4, since inet_ntop6 calls it.
5800
5801 2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
5802
5803         * lib/alloca_.h (alloca) [defined alloca]: Don't define or declare.
5804
5805 2006-06-19  Bruno Haible  <bruno@clisp.org>
5806
5807         * m4/stdint.m4 (gl_STDINT_H): Enclose the values of FULL_PATH_STDINT_H
5808         and FULL_PATH_INTTYPES_H in angle brackets.
5809         Reported by Mark D. Baushke <mdb@gnu.org>.
5810
5811 2006-06-17  Eric Blake  <ebb9@byu.net>
5812
5813         * m4/rmdir-errno.m4 (gl_FUNC_FMDIR_NOTEMPTY): Assume errno.h declares
5814         errno.
5815
5816 2006-06-17  Bruno Haible  <bruno@clisp.org>
5817
5818         * m4/stdint.m4 (gl_STDINT_H) [FreeBSD >= 5]: Don't include
5819         <sys/inttypes.h>.
5820
5821 2006-06-17  Bruno Haible  <bruno@clisp.org>
5822
5823         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove test
5824         whether errno is declared. Assume <errno.h> declares errno.
5825
5826 2006-06-17  Bruno Haible  <bruno@clisp.org>
5827
5828         * lib/stdint_.h [FreeBSD >= 5]: Don't include <sys/inttypes.h>.
5829
5830 2006-06-17  Bruno Haible  <bruno@clisp.org>
5831
5832         * lib/stdint_.h (_UINT8_T, _UINT32_T, _UINT64_T): New macros. Fixes a
5833         problem on Solaris 2.5.1.
5834
5835 2006-06-16  Eric Blake  <ebb9@byu.net>
5836
5837         * lib/unsetenv.c [!defined errno]: Assume errno.h declares errno.
5838         * lib/unicodeio.c [!defined errno]: Likewise.
5839         * lib/strtol.c [!defined errno]: Likewise.
5840         * lib/strtod.c [!defined errno]: Likewise.
5841
5842 2006-06-15  Eric Blake  <ebb9@byu.net>
5843
5844         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Work in spite of -Werror.
5845
5846 2006-06-15  Eric Blake  <ebb9@byu.net>
5847
5848         * config/srclist.txt (ssize_t.m4): Lose sync.
5849
5850 2006-06-15  Bruno Haible  <bruno@clisp.org>
5851
5852         * modules/stdint (Files): Include m4/full-header-path.m4,
5853         m4/size_max.m4, m4/wchar_t.m4.
5854         (Makefile.am): Many more substitutions.
5855         * modules/stdint-tests: New file.
5856         * tests/test-stdint.c: New file.
5857
5858 2006-06-15  Bruno Haible  <bruno@clisp.org>
5859
5860         * m4/stdint.m4 (gl_STDINT_H): Rewritten to produce a complete stdint.h.
5861         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H, gl_STDINT_CHECK_TYPES,
5862         gl_STDINT_MISSING_BOUND, gl_STDINT_MISSING_BOUNDS,
5863         gl_STDINT_MISSING_BOUNDS2, gl_STDINT_BITSIZEOF, gl_CHECK_TYPES_SIGNED,
5864         gl_CHECK_TYPE_SAME): New macros.
5865
5866 2006-06-15  Bruno Haible  <bruno@clisp.org>
5867
5868         * m4/size_max.m4 (gl_SIZE_MAX): Make it work also when cross-compiling.
5869
5870 2006-06-15  Bruno Haible  <bruno@clisp.org>
5871
5872         * lib/stdint_.h: Rewritten to be fully auto-configured.
5873         Fixes bug on HP-UX/IA64.
5874
5875 2006-06-11  Paul Eggert  <eggert@cs.ucla.edu>
5876
5877         * lib/getdate.y (__attribute__): Don't define if already defined.
5878         Problem reported by Larry Jones.
5879         * lib/utimens.c (__attribute__): Likewise.
5880
5881 2006-06-04  Paul Eggert  <eggert@cs.ucla.edu>
5882
5883         * lib/regexec.c (group_nodes_into_DFAstates): Fix a buffer overrun
5884         reported by Andreas Schwab.
5885
5886 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
5887             Bruno Haible  <bruno@clisp.org>
5888
5889         * m4/strndup.m4 (gl_FUNC_STRNDUP): Replace the AC_REPLACE_FUNCS with a
5890         check for the declaration of strnlen and a run test that exposes the
5891         AIX 5.1 strnlen bug.  In the failure case, #define strndup to
5892         rpl_strndup.
5893
5894 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
5895             Bruno Haible  <bruno@clisp.org>
5896
5897         * lib/strndup.c (strndup) [!_LIBC]: Don't undefine macro definition.
5898
5899 2006-05-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
5900
5901         * m4/c-strtod.m4 (gl_C99_STRTOLD): Use a link test rather than a
5902         compile test, for Tru64 4.0D.
5903
5904 2006-05-28  Karl Berry  <karl@gnu.org>
5905
5906         * config/srclist.txt (printf-args.c): lose sync.
5907
5908 2006-05-26  Martin Lambers  <marlam@marlam.de>
5909
5910         * lib/getpass.c: Updates the test for the native W32 API, and adds
5911         missing includes, thus fixing compilation warnings.
5912
5913 2006-05-25  Sergey Poznyakoff  <gray@gnu.org.ua>
5914
5915         * lib/exclude.c (exclude_fnmatch): New function.
5916         (excluded_file_name): Call exclude_fnmatch.
5917         * lib/exclude.h (excluded_file_name): New prototype
5918
5919 2006-05-25  Paul Eggert  <eggert@cs.ucla.edu>
5920
5921         * lib/tempname.c (small_open, large_open): New macros.
5922         (__open, __open64) [!_LIBC]: Remove.
5923         (__gen_tempname): Use small_open and large_open instead of __open
5924         and __open64.  This fixes a portability bug on HP-UX 11.11i
5925         reported by Simon Wing-Tang in
5926         <http://lists.gnu.org/archive/html/bug-coreutils/2006-05/msg00114.html>.
5927
5928 2006-05-24  Bruno Haible  <bruno@clisp.org>
5929
5930         * lib/printf-args.c (printf_fetchargs): Turn NULL pointers for
5931         TYPE_STRING and TYPE_WIDE_STRING into a non-NULL replacement.
5932         Reported by Thorsten Maerz <torte@netztorte.de> via
5933         Aaron Stone <aaron@serendipity.cx>.
5934
5935 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
5936
5937         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Rename cache variables to use
5938         gl_ rather than jm_.  Link, don't run, so that cross-compiles are
5939         allowed.  Check that resulting type is arithmetic.  Move AC_REQUIRE
5940         and AC_CHECK_HEADERS_ONCE outside of AC_CACHE_CHECK, since they're
5941         not really conditional on the cache.
5942         (gl_PREREQ_NANOSLEEP): Check for sys/select.h.
5943
5944 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
5945
5946         * lib/nanosleep.c [HAVE_SYS_SELECT_H]: Include <sys/select.h>.
5947         Use the usual Autoconf way to include <time.h> and/or sys/time.h.
5948         (my_usleep): Don't mishandle maximum value.
5949
5950 2006-05-19  Jim Meyering  <jim@meyering.net>
5951
5952         * lib/getugroups.c: Correct an outdated comment.  From Bruno Haible.
5953
5954 2006-05-17  Bruno Haible  <bruno@clisp.org>
5955
5956         Cygwin portability.
5957         * lib/classpath.c (PATH_SEPARATOR) [CYGWIN]: Define as ':'.
5958
5959 2006-05-17  Bruno Haible  <bruno@clisp.org>
5960
5961         * lib/stdint_.h: Fix recognition of Cygwin.
5962
5963 2006-05-15  Bruno Haible  <bruno@clisp.org>
5964
5965         * build-aux/config.rpath: Improve support for Sun C 5.9 on Linux, based
5966         on libtool patch by Ralf Wildenhues.
5967
5968 2006-05-14  Paul Eggert  <eggert@cs.ucla.edu>
5969
5970         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Fix overly-picky
5971         test for C99 conformance; (bool) 0.5 is an integer constant
5972         expression, but (bool) -0.5 is not.  Problem reported by Fedor
5973         Sergeev in <http://forum.sun.com/jive/thread.jspa?threadID=96202>.
5974
5975 2006-05-11  Simon Josefsson  <jas@extundo.com>
5976
5977         * m4/xvasprintf.m4: Fix obvious typo.
5978
5979 2006-05-11  Jim Meyering  <jim@meyering.net>
5980
5981         * lib/sha1.c (sha1_buffer): Correct comment: s/MD5/SHA1/.  From
5982         James Lemley.
5983
5984 2006-05-10  Simon Josefsson  <jas@extundo.com>
5985
5986         * lib/md4.c: Typo fix, update copyright years.
5987         (K1, K2): Don't use L because it turn computations into 64-bit on
5988         64-bit platforms.
5989
5990 2006-05-10  Paul Eggert  <eggert@cs.ucla.edu>
5991
5992         * lib/crc.c (crc32_update): Remove unnecessary L suffix.
5993         * lib/md4.c (rol): Cast right-shift arg to uint32_t to prevent
5994         unwanted sign propagation, e.g., on hosts with 64-bit int.
5995         There still are some problems with reeelly weird theoretical hosts
5996         (e.g., 33-bit int) but it's not worth worrying about now.
5997         * lib/sha1.c (rol): Likewise.
5998         (K1, K2, K3, K4): Remove unnecessary L suffix.
5999
6000 2006-05-10  Bruno Haible  <bruno@clisp.org>
6001
6002         * lib/des.c: Cast to avoid warnings.
6003
6004 2006-05-09  Bruno Haible  <bruno@clisp.org>
6005
6006         * modules/xvasprintf (Files): Add m4/xvasprintf.m4.
6007         (Depends-on): Depend also on xsize, stdarg.
6008         (configure.ac): Add gl_XVASPRINTF.
6009
6010 2006-05-09  Bruno Haible  <bruno@clisp.org>
6011
6012         * m4/xvasprintf.m4: New file.
6013
6014 2006-05-09  Bruno Haible  <bruno@clisp.org>
6015
6016         * lib/xvasprintf.c: Include limits.h, string.h, xsize.h.
6017         (EOVERFLOW): Define fallback value.
6018         (xstrcat): New function.
6019         (xvasprintf): Recognize the special case of a string concatenation.
6020
6021 2006-05-08  Eric Blake  <ebb9@byu.net>
6022
6023         * gnulib-tool (func_version): Base copyright year on CVS date.
6024         (func_emit_copyright_notice): New function.
6025         (func_emit_lib_Makefile_am): Use it.
6026         (func_emit_tests_Makefile_am): Likewise.
6027         (func_import): Likewise.
6028
6029 2006-05-08  Bruno Haible  <bruno@clisp.org>
6030
6031         * modules/stdarg: New file.
6032         * MODULES.html.sh (func_all_modules): Add section for <stdarg.h>.
6033
6034 2006-05-08  Bruno Haible  <bruno@clisp.org>
6035
6036         * m4/stdarg.m4: New file, from GNU gettext.
6037
6038 2006-05-08  Bruno Haible  <bruno@clisp.org>
6039
6040         * config/srclist.txt (build-aux/config.rpath): different from latest
6041         release.
6042
6043 2006-05-08  Bruno Haible  <bruno@clisp.org>
6044
6045         * build-aux/config.rpath: Add support for Sun C 5.9 on Linux.
6046
6047 2006-05-05  Jim Meyering  <jim@meyering.net>
6048
6049         * m4/warning.m4: New file, derived from bison's file by the same name.
6050
6051 2006-05-03  Bruno Haible  <bruno@clisp.org>
6052
6053         * lib/stdint_.h: Shorter URL.
6054         * lib/inttypes.h: Likewise.
6055
6056 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
6057
6058         * modules/inttypes (Maintainer): Change from Derek Price to 'all'.
6059
6060 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
6061
6062         * lib/verify.h: Document the internals better.  Most of this change
6063         was written by Bruno Haible.
6064
6065 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
6066
6067         * doc/verify.texi: New file, partly based on a proposal by
6068         Bruno Haible.
6069
6070 2006-05-02  Bruno Haible  <bruno@clisp.org>
6071
6072         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Move the include_next
6073         test from here...
6074         * m4/_inttypes_h.m4 (gl_INTTYPES_H): ... to here.
6075
6076 2006-04-29  Bruno Haible  <bruno@clisp.org>
6077
6078         * lib/gcd.c: Use WORD_T and GCD instead of unsigned long and gcd.
6079         Suggested by Oskar Liljeblad <oskar@osk.mine.nu>.
6080
6081 2006-04-29  Bruno Haible  <bruno@clisp.org>
6082
6083         * gnulib-tool: Make --update option actually work.
6084
6085 2006-04-29  Bruno Haible  <bruno@clisp.org>
6086
6087         * doc/gcd.texi: New file.
6088         * doc/gnulib.texi: Include it.
6089
6090 2006-04-25  Paul Eggert  <eggert@cs.ucla.edu>
6091
6092         * lib/getdate.y (get_date): When adding relative date, start with the
6093         initial time, not with the result of the first mktime call.
6094
6095 2006-04-25  Bruno Haible  <bruno@clisp.org>
6096
6097         * gnulib-tool (func_import): Output the include directives in three
6098         blocks, sorted separately.
6099         Reported by Ben Pfaff <blp@cs.stanford.edu>.
6100
6101 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
6102
6103         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use prototype
6104         to define main with arguments, for C++.  Reported by Eric Blake.
6105         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC):
6106         Prefer 'int main ()' to 'int main (void)', for C++.
6107         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
6108         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Specify a return type
6109         for 'main', for C99 and C++.
6110
6111 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
6112
6113         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Use return, not exit.
6114         Don't assume that exit status -1 is valid.
6115         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
6116         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
6117         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
6118         * m4/readdir.m4 (GL_FUNC_READDIR): Include <stdlib.h>.
6119         * m4/rename.m4 (vb_FUNC_RENAME): Likewise.
6120         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use AC_RUN_IFELSE,
6121         not AC_TRY_RUN.  Use return, not exit.  Don't assume that
6122         functions can be used without declaring them, or that you can
6123         exit with status -1.
6124         * m4/utimes-null.m4 (gl_FUNC_UTIMES_NULL): Likewise.
6125
6126 2006-04-24  Karl Berry  <karl@gnu.org>
6127
6128         * config/srclist.txt (longdouble.m4): sync lost.
6129
6130 2006-04-24  Eric Blake  <ebb9@byu.net>
6131
6132         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Avoid unused variable warning.
6133
6134 2006-04-24  Bruno Haible  <bruno@clisp.org>
6135
6136         * m4/poll.m4 (gl_FUNC_POLL): When cross-compiling, reject also the
6137         poll() implementation in AIX.
6138         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
6139
6140 2006-04-24  Bruno Haible  <bruno@clisp.org>
6141
6142         * m4/poll.m4 (gl_FUNC_POLL): Rearrange code, so that POLL_H gets
6143         assigned exactly once.
6144
6145 2006-04-23  Claudio Fontana  <claudio@gnu.org>
6146             Bruno Haible  <bruno@clisp.org>
6147
6148         * modules/gettext (Makefile.am): Add a -I flag for <libintl.h>.
6149         * gnulib-tool (func_emit_lib_Makefile_am): Emit empty default value
6150         for AM_CPPFLAGS.
6151
6152 2006-04-23  Bruno Haible  <bruno@clisp.org>
6153
6154         * modules/copy-file: Depend on unistd.
6155         * modules/execute: Likewise.
6156         * modules/fatal-signal: Likewise.
6157         * modules/findprog: Likewise.
6158         * modules/mkdtemp : Likewise.
6159         * modules/pipe: Likewise.
6160         * modules/wait-process: Likewise.
6161
6162 2006-04-23  Bruno Haible  <bruno@clisp.org>
6163
6164         * lib/fwriteerror.c (fwriteerror): Call fclose also when an error
6165         condition was already detected.
6166         Reported by Ben Pfaff <blp@cs.stanford.edu>.
6167
6168 2006-04-23  Bruno Haible  <bruno@clisp.org>
6169
6170         * lib/copy-file.c: Include <unistd.h> unconditionally.
6171         * lib/execute.c: Likewise.
6172         * lib/fatal-signal.c: Likewise.
6173         * lib/findprog.c: Likewise.
6174         * lib/mkdtemp.c: Likewise.
6175         * lib/pipe.h: Likewise.
6176         * lib/pipe.c: Likewise.
6177         * lib/wait-process.h: Likewise.
6178
6179 2006-04-23  Bruno Haible  <bruno@clisp.org>
6180
6181         * gnulib-tool (func_usage): Fix --import description. Document
6182         --update.
6183         (func_import): Create temporary file in a temporary directory, if
6184         --dry-run is specified. Silence errors from 'grep' when there are no
6185         m4 files in $m4dir.
6186         (func_create_testdir): Silence errors from 'grep' when there are no
6187         m4 files in $m4dir.
6188         Reported by Karl Berry <karl@freefriends.org>.
6189
6190 2006-04-20  Bruno Haible  <bruno@clisp.org>
6191
6192         * m4/argp.m4 (gl_ARGP): Don't call AC_CHECK_DECLS_ONCE with more than
6193         one argument, so that the code will be portable to Autoconf 2.60.
6194         * m4/getlogin_r.m4 (gl_PREREQ_GETLOGIN_R): Likewise.
6195         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
6196         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO): Likewise.
6197
6198 2006-04-19  Derek Price  <derek@ximbiot.com>
6199             Eric Blake  <ebb9@byu.net>
6200
6201         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Use </full/path.h>
6202         rather than "/full/path.h".  Update comment to match.  Shorten &
6203         generalize m4_translit call via AS_TR_CPP.
6204
6205 2006-04-19  Derek Price  <derek@ximbiot.com>
6206             Eric Blake  <ebb9@byu.net>
6207
6208         * lib/inttypes.h: Correct grammar in comment.
6209
6210 2006-04-18  Derek Price  <derek@ximbiot.com>
6211             Paul Eggert  <eggert@cs.ucla.edu>
6212
6213         * modules/inttypes: New file.
6214         * modules/strtoimax, modules/strtoumax: Depend on inttypes.
6215
6216 2006-04-18  Derek Price  <derek@ximbiot.com>
6217             Paul Eggert  <eggert@cs.ucla.edu>
6218
6219         * m4/_inttypes_h.m4, m4/full-header-path.m4, m4/include_next.m4:
6220         New files.
6221
6222 2006-04-18  Derek Price  <derek@ximbiot.com>
6223             Paul Eggert  <eggert@cs.ucla.edu>
6224
6225         * lib/inttypes.h: New file.
6226         * lib/strtoimax.c: Assume <inttypes.h>.
6227
6228 2006-04-15  Paul Eggert  <eggert@cs.ucla.edu>
6229
6230         * lib/utimens.c (futimens): glibc futimesat messes up if /proc
6231         isn't mounted.  Problem reported by Kir Kolyshkin.
6232
6233 2006-04-13  Paul Eggert  <eggert@cs.ucla.edu>
6234
6235         * lib/regcomp.c (init_dfa): Don't use wchar_t or wctype_t if
6236         RE_ENABLE_I18N is not defined.  Problem reported by Mark D. Baushke via
6237         Derek R. Price.
6238         * lib/regex.h (RE_DUP_MAX): Update comment to match current
6239         implementation.
6240
6241 2006-04-12  Eric Blake  <ebb9@byu.net>
6242
6243         * modules/time_r (Makefile.am): Remove lib_SOURCES line, as this
6244         is now done automatically by the corresponding Autoconf macro.
6245
6246 2006-04-11  Paul Eggert  <eggert@cs.ucla.edu>
6247
6248         * m4/time_r.m4 (gl_TIME_R): Add AC_LIBSOURCES for time_r.c and
6249         time_r.h.
6250
6251 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
6252
6253         Merge regex changes from libc, removing some of our
6254         POSIX-conformance changes that were rejected and redoing them in a
6255         less-intrusive way.
6256
6257         * lib/regcomp.c (re_compile_internal, init_dfa):
6258         Length arg is now size_t, not Idx.  All uses changed.
6259         (peek_token): Forward decl now says internal_function.
6260         (__re_error_msgid, __re_error_msgid_idx):
6261         Now static rather than extern with attribute_hidden.
6262         (re_compile_pattern) [!defined _LIBC]: Use K&R-style defn.
6263         For some reason libc prefers K&R style defns for external functions.
6264         (regerror) [!defined _LIBC]: Likewise.
6265         (re_set_syntax, re_compile_fastmap, regcomp, regfree, re_comp):
6266         (seek_collating_symbol_entry, lookup_collation_sequence_value):
6267         (build_range_exp, build_collating_symbol):
6268         Use K&R-style defn.
6269         (re_compile_fastmap): Use '\0' to memset, not 0.
6270         (utf8_sb_map): Make the calculations more obvious.
6271         (init_dfa, parse_bracket_exp, build_charclass_op):
6272         Call calloc and cast result, as glibc does.
6273         (init_word_char, fetch_token, peek_token, peek_token_bracket):
6274         (build_range_exp, build_collating_symbol):
6275         Now internal functions.
6276
6277         * lib/regex.c [!defined _LIBC]: Allow compiling with C++ compilers.
6278
6279         * lib/regex.h (__USE_GNU_REGEX): New macro.  Don't depend on
6280         _REGEX_SOURCE any more; depend on _GNU_SOURCE instead.
6281         Don't depend on VMS; depend on __VMS instead, for POSIX
6282         namespace cleanness.
6283         (regoff_t): Define to ssize_t, not long int.
6284
6285         Remove the REG_ macros named below.  Instead, make the old names
6286         (e.g., RE_BACKSLASH_ESCAPE_IN_LISTS) visible only if
6287         __USE_GNU_REGEX.
6288         (REG_BACKSLASH_ESCAPE_IN_LISTS):
6289         (REG_BK_PLUS_QM, REG_CHAR_CLASSES, REG_CONTEXT_INDEP_ANCHORS):
6290         (REG_CONTEXT_INDEP_OPS, REG_CONTEXT_INVALID_OPS):
6291         (REG_DOT_NEWLINE, REG_DOT_NOT_NULL, REG_HAT_LISTS_NOT_NEWLINE):
6292         (REG_INTERVALS, REG_LIMITED_OPS, REG_NEWLINE_ALT):
6293         (REG_NO_BK_BRACES, REG_NO_BK_PARENS, REG_NO_BK_REFS):
6294         (REG_NO_BK_VBAR, REG_NO_EMPTY_RANGES):
6295         (REG_UNMATCHED_RIGHT_PAREN_ORD, REG_NO_POSIX_BACKTRACKING):
6296         (REG_NO_GNU_OPS, REG_DEBUG, REG_INVALID_INTERVAL_ORD):
6297         (REG_IGNORE_CASE, REG_CARET_ANCHORS_HERE):
6298         (REG_CONTEXT_INVALID_DUP, REG_NO_SUB, REG_SYNTAX_EMACS):
6299         (REG_SYNTAX_AWK, REG_SYNTAX_GNU_AWK, REG_SYNTAX_POSIX_AWK):
6300         (REG_SYNTAX_GREP, REG_SYNTAX_EGREP, REG_SYNTAX_POSIX_EGREP):
6301         (REG_SYNTAX_ED, REG_SYNTAX_SED, _REG_SYNTAX_POSIX_COMMON):
6302         (REG_SYNTAX_POSIX_BASIC, REG_SYNTAX_POSIX_MINIMAL_BASIC):
6303         (REG_SYNTAX_POSIX_EXTENDED, REG_SYNTAX_POSIX_MINIMAL_EXTENDED):
6304         (REG_DUP_MAX, REG_UNALLOCATED, REG_REALLOCATE, REG_FIXED):
6305         (REG_NREGS):
6306         Remove.  All uses replaced by the old RE_* names.
6307         (RE_BACKSLASH_ESCAPE_IN_LISTS):
6308         (RE_BK_PLUS_QM, RE_CHAR_CLASSES, RE_CONTEXT_INDEP_ANCHORS):
6309         (RE_CONTEXT_INDEP_OPS, RE_CONTEXT_INVALID_OPS):
6310         (RE_DOT_NEWLINE, RE_DOT_NOT_NULL, RE_HAT_LISTS_NOT_NEWLINE):
6311         (RE_INTERVALS, RE_LIMITED_OPS, RE_NEWLINE_ALT):
6312         (RE_NO_BK_BRACES, RE_NO_BK_PARENS, RE_NO_BK_REFS):
6313         (RE_NO_BK_VBAR, RE_NO_EMPTY_RANGES):
6314         (RE_UNMATCHED_RIGHT_PAREN_ORD, RE_NO_POSIX_BACKTRACKING):
6315         (RE_NO_GNU_OPS, RE_DEBUG, RE_INVALID_INTERVAL_ORD):
6316         (RE_IGNORE_CASE, RE_CARET_ANCHORS_HERE):
6317         (RE_CONTEXT_INVALID_DUP, RE_NO_SUB):
6318         Don't bother having these macros be independent of each others'
6319         values, since they no longer exist in the POSIX name space.
6320
6321         Rename the following member names back to their old names,
6322         unless !__USE_GNU_REGEX.  All uses changed back.
6323         (buffer): Renamed from re_buffer.
6324         (allocated): Renamed from re_allocated.
6325         (used): Renamed from re_used.
6326         (syntax): Renamed from re_syntax.
6327         (fastmap): Renamed from re_fastmap.
6328         (translate): Renamed from re_translate.
6329         (can_be_null): Renamed from re_can_be_null.
6330         (regs_allocated): Renamed from re_regs_allocated.
6331         (fastmap_accurate): Renamed from re_fastmap_accurate.
6332         (no_sub): Renamed from re_no_sub.
6333         (not_bol): Renamed from re_not_bol.
6334         (not_eol): Renamed from re_not_eol.
6335         (newline_anchor): Renamed from re_newline_anchor.
6336         (num_regs): Renamed from rm_num_regs.
6337         (start): Renamed from rm_start.
6338         (end): Renamed from rm_end.
6339
6340         (free_state): Move up a bit.
6341
6342         * lib/regex_internal.h (inline) [__GNUC__ < 3 && defined _LIBC]:
6343         #define to be empty.
6344         (ASCII_CHARS): New macro, replacing all uses of 0x80 and/or SBC_MAX / 2
6345         when that is what is intended.
6346         (SBC_MAX): Define to UCHAR_MAX + 1, not 256.
6347         (__re_error_msgid, __re_error_msgid_idx): Remove decls; not needed.
6348         (MAX): New macro.
6349         (re_xmalloc, re_calloc, re_xrealloc, re_x2realloc): Remove.
6350         All uses changed back to re_malloc, etc.  It's now the caller's
6351         responsibility to check for overflow; all callers changed.
6352         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc, re_xnrealloc):
6353         (re_x2nrealloc): Remove.
6354         (free_state): Remove decl.
6355
6356         * lib/regexc.c (regexec, re_match, re_search, re_match_2, re_search_2):
6357         (re_set_registers, re_exec):
6358         Use K&R-style defn.
6359
6360         2006-01-31  Roland McGrath  <roland@redhat.com>
6361
6362         * lib/regcomp.c (calc_eclosure_iter): Remove dead variables.
6363         Reported by Mike Frysinger <vapier@gentoo.org>.
6364
6365         2006-01-15  Andreas Jaeger  <aj@suse.de>
6366
6367         [BZ #1950]
6368         * lib/regex_internal.c (re_string_reconstruct): Adjust for
6369         build_wcs_upper_buffer change.
6370         (build_wcs_upper_buffer): Change return type.
6371
6372         2005-12-10  Ulrich Drepper  <drepper@redhat.com>
6373
6374         * lib/regex_internal.h: Include <stdint.h> if available.
6375
6376         2005-12-06  Paolo Bonzini  <bonzini@gnu.org>
6377
6378         * lib/regex_internal.h (SIZE_MAX): Provide a default definition.
6379
6380         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
6381
6382         * lib/regcomp.c: Adjust for changed secondary hash function.
6383
6384         2005-09-30  Ulrich Drepper  <drepper@redhat.com>
6385
6386         * lib/regex.h: Pretty printing.
6387         Clean up namespace a bit.
6388
6389         2005-09-30  Jakub Jelinek  <jakub@redhat.com>
6390
6391         * lib/regexec.c (update_cur_sifted_state, check_arrival,
6392         check_arrival_add_next_nodes): Avoid using uninitialized variable.
6393
6394         2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
6395                     Ulrich Drepper  <drepper@redhat.com>
6396
6397         [BZ #1302]
6398         * lib/regex_internal.h (bitset_t): Renamed from bitset.  All uses
6399         changed.
6400         (bitset_word_t): Renamed from bitset_word.  All uses changed.
6401
6402         2005-09-22  Ulrich Drepper  <drepper@redhat.com>
6403
6404         [BZ #281]
6405         * lib/regex.h: Define RE_TRANSLATE_TYPE as unsigned char *.
6406         * lib/regcomp.c: Remove unnecessary uses of
6407         unsigned RE_TRANSLATE_TYPE.
6408         * lib/regex_internal.h: Likewise.
6409         * lib/regex_internal.c: Likewise.
6410         * lib/regexec.c: Likewise.
6411         Based on a patch by Stepan Kasal <kasal@ucw.cz>.
6412
6413         2005-09-07  Ulrich Drepper  <drepper@redhat.com>
6414
6415         * lib/regexec.c (find_recover_state): Remove unnecessary
6416         initialization.
6417         (transit_state_bkref): Make DFA a const pointer.
6418         (get_subexp): Likewise.
6419         (check_arrival): Likewise.
6420         (update_cur_sifted_state): Likewise.
6421         (re_search_internal): Likewise.
6422         (prune_impossible_nodes): Likewise.
6423         (acquire_init_state_context): Likewise.
6424         (proceed_next_node): Likewise.
6425         (set_regs): Likewise.
6426         (free_fail_stack_return): Likewise.
6427         (check_arrival_expand_ecl): Mark DFA parameter as const.
6428         (check_arrival_expand_ecl_sub): Likewise.
6429         (check_subexp_limits): Likewise.
6430         (sub_epsilon_src_nodes):  Likewise.
6431         (add_epsilon_src_nodes):  Likewise.
6432         (merge_state_array): Likewise.
6433         (update_regs): Likewise.
6434         (build_trtable): Likewise.
6435         (sift_states_backward): Mark MCTX parameter as const.
6436         (build_sifted_states): Likewise.
6437         (update_cur_sifted_state): Likewise.
6438         (sift_states_mkref): Likewise.
6439         (check_arrival_expand_ecl): Mark eclosure as const.
6440         (check_dst_limits_calc_pos_1): Likewise.
6441         * lib/regex_internal.h (re_match_context_t): Make dfa a const
6442         pointer.
6443
6444         2005-09-06  Ulrich Drepper  <drepper@redhat.com>
6445
6446         * lib/regexec.c (merge_state_with_log): Define dfa as const pointer.
6447         (transit_state_sb): Likewise.
6448         (transit_state_mb): Likewise.
6449         (sift_states_iter_mb): Likewise.
6450         (check_arrival_add_next_nodes): Likewise.
6451         (check_node_accept_bytes): Change first parameter to pointer-to-const.
6452         [_LIBC] (re_search_2_stub): Use mempcpy.
6453
6454         * lib/regex_internal.c (re_string_reconstruct): Avoid calling
6455         mbrtowc for very simple UTF-8 case.
6456
6457         * lib/regex_internal.c (re_acquire_state): Make DFA pointer arg
6458         a pointer-to-const.
6459         (re_acquire_state_context): Likewise.
6460         * lib/regex_internal.h: Adjust prototypes.
6461
6462         * lib/regex.c: Prevent using C++ compilers.
6463
6464         * lib/regex_internal.c (re_acquire_state): Minor code rearrangement.
6465         (re_acquire_state_context): Likewise.
6466
6467 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
6468
6469         * modules/regex (Depends-on): Add ssize_t.
6470
6471 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
6472
6473         * m4/regex.m4 (gl_REGEX): Check for new glibc interface to
6474         translation table.
6475
6476 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
6477
6478         * doc/gnulib-tool.texi (Modified imports): pathname -> file name.
6479
6480 2006-03-29  Mark D. Baushke  <mdb@gnu.org>
6481             Bruno Haible  <bruno@clisp.org>
6482
6483         * lib/stdint_.h: On OpenBSD, don't redefine types already included in
6484         <sys/types.h> and <inttypes.h>.
6485
6486 2006-03-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
6487
6488         * m4/argz.m4 (gl_FUNC_ARGZ): If we define `error_t', also define
6489         `__error_t_defined', so argp.h will not typedef the former.
6490
6491 2006-03-25  Paul Eggert  <eggert@cs.ucla.edu>
6492
6493         * m4/regex.m4 (gl_REGEX): Don't insist on REG_SYNTAX_POSIX_EGREP,
6494         REG_SYNTAX_EMACS, and REG_IGNORE_CASE.  Settle for the traditional
6495         glibc names.  Even if glibc is changed to conform to POSIX, the
6496         traditional names will be available anyway, since regex depends on
6497         the extensions module.  Also, fix a longstanding typo in the
6498         implementation of Spencer ERE test #75 from grep 2.3.  Problems
6499         reported by Emanuele Giaquinta.  Also, change sense of cached
6500         variable, so that the message makes sense.
6501
6502 2006-03-24  Simon Josefsson  <jas@extundo.com>
6503
6504         * lib/base64.c: Fix problems reported by Eric Blake <ebb9@byu.net>,
6505         including some doc fixes.
6506         (base64_encode_alloc): Fix +1 bug on allocation failures.
6507
6508 2006-03-24  Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
6509
6510         * lib/base64.c (base64_encode): Do not read past end of array with
6511         unsanitized input on systems with CHAR_BIT > 8.
6512
6513 2006-03-24  Eric Blake  <ebb9@byu.net>
6514
6515         * lib/time_r.c (copy_string_result): Remove, as it is no longer used.
6516
6517 2006-03-22  Karl Berry  <karl@gnu.org>
6518
6519         * config/srclist.txt (*setenv.[ch]): get from coreutils.
6520         * config/srclistvars.sh (COREUTILS): new var.
6521
6522 2006-03-17  Jim Meyering  <jim@meyering.net>
6523
6524         * m4/regex.m4 (gl_REGEX): Fix typo in last change:
6525         s/_REGEX_WIDE_OFFSETS/_REGEX_LARGE_OFFSETS/.
6526
6527 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
6528
6529         * m4/regex.m4 (gl_REGEX): Don't check for off_t, since the code
6530         no longer needs it.  Instead, check that regoff_t is as least
6531         as wide as ptrdiff_t.
6532
6533         Don't define _REGEX_WIDE_OFFSETS unless using the included regex,
6534         so that our regex.h stays compatible with the installed regex.
6535         This is helpful for installers who configure --without-included-regex.
6536         Problem reported by Emanuele Giaquinta.
6537
6538 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
6539
6540         * lib/regex.h (regoff_t) [defined _REGEX_LARGE_OFFSETS]:
6541         Typedef to long int, not to off_, as POSIX will likely change
6542         in that direction.
6543
6544 2006-03-15  Eric Blake  <ebb9@byu.net>
6545
6546         * m4/dirfd.m4 (gl_FUNC_DIRFD): Use AC_REQUIRE for AC_HEADER_DIRENT.
6547
6548 2006-03-13  Sergey Poznyakoff  <gray@gnu.org.ua>
6549
6550         * lib/argp-help.c (validate_uparams): Fix typo
6551         * lib/argp-parse.c (argp_default_options): Consistently begin help
6552         messages with a lowercase letter.
6553
6554 2006-03-11  Paul Eggert  <eggert@cs.ucla.edu>
6555
6556         * lib/time_r.h (asctime_r, ctime_r): Remove.  These functions can
6557         overrun buffers and shouldn't be used (much as gets shouldn't be
6558         used).
6559         * lib/time_r.c (asctime_r, ctime_r): Likewise.
6560
6561 2006-03-08  Simon Josefsson  <jas@extundo.com>
6562
6563         * m4/gc-random.m4: Permit 'no' as variable values and fix warnings,
6564         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
6565
6566 2006-03-08  Simon Josefsson  <jas@extundo.com>
6567
6568         * m4/gc-random.m4: Call AC_CANONICAL_HOST and use $host_os instead of
6569         $target, suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
6570
6571 2006-03-08  Simon Josefsson  <jas@extundo.com>
6572
6573         * lib/gc-gnulib.c (randomize): Don't open files called 'no', they
6574         signal that configure disabled the device.
6575
6576 2006-03-08  Simon Josefsson  <jas@extundo.com>
6577
6578         * build-aux/maint.mk: Fix refresh-po, to handle no translated
6579         languages.
6580
6581 2006-03-07  Simon Josefsson  <jas@extundo.com>
6582
6583         * modules/getopt (Depends-on): Add unistd.
6584
6585         * modules/unistd: New file.
6586
6587 2006-03-07  Simon Josefsson  <jas@extundo.com>
6588
6589         * modules/gc-random: New file.
6590
6591 2006-03-07  Simon Josefsson  <jas@extundo.com>
6592
6593         * m4/unistd_h.m4: New file.
6594
6595 2006-03-07  Simon Josefsson  <jas@extundo.com>
6596
6597         * m4/readline.m4 (gl_FUNC_READLINE): Rewrite the cached part of the
6598         test to be side-effect free by storing the result in the cache
6599         variable gl_cv_lib_readline, and moving the assignment of
6600         LIBREADLINE and LTLIBREADLINE outside the COMMANDS-TO-SET-IT.
6601         From Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
6602
6603 2006-03-07  Simon Josefsson  <jas@extundo.com>
6604
6605         * m4/gc-random.m4: New file, mostly from gc.m4.  Warn instead of
6606         error on missing devices (the functions will return an error).
6607
6608         * m4/gc.m4: Move random stuff to gc-random.m4
6609
6610 2006-03-07  Simon Josefsson  <jas@extundo.com>
6611
6612         * lib/unistd_.h: New file.
6613
6614 2006-03-07  Simon Josefsson  <jas@extundo.com>
6615
6616         * lib/gc-libgcrypt.c, gc-gnulib.c: Use GC_USE_RANDOM.
6617
6618 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
6619
6620         * m4/unistd_h.m4 (gl_HEADER_UNISTD): Rename, to match modules file.
6621         Problem reported by Juan Manuel Guerrero.
6622
6623 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
6624
6625         * lib/c-stack.c: Include unistd.h unconditionally, since we now assume
6626         the unistd module.
6627         * lib/getlogin_r.c: Likewise.
6628         * lib/getlogin_r.h: Likewise.
6629         * lib/glob.c: Likewise.
6630         * lib/pagealign_alloc.c: Likewise.
6631         * lib/unistd_.h: Remove; no longer needed.
6632
6633 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
6634
6635         * MODULES.html.sh (Support for systems lacking POSIX:2001):
6636         Add unistd.
6637         * modules/c-stack (Depends-on): Add unistd.
6638         * modules/getlogin_r: Likewise.
6639         * modules/glob: Likewise.
6640         * modules/pagealign_alloc: Likewise.
6641         * modules/unistd (Files): Remove lib/unistd_.h.
6642         (EXTRA_DIST): Remove.
6643         (unistd.h): Create using 'echo' rather than 'cp', so that we don't
6644         need unistd_.h.
6645         (MOSTLYCLEANFILES): Remove unistd.h-t.
6646
6647 2006-03-03  Simon Josefsson  <jas@extundo.com>
6648
6649         * build-aux/maint.mk: Add several syntax checks from CoreUtils.
6650
6651 2006-03-03  Simon Josefsson  <jas@extundo.com>
6652
6653         * build-aux/maint.mk: Add refresh-po rule, based on ideas from
6654         libidn and bison.
6655
6656 2006-03-03  Simon Josefsson  <jas@extundo.com>
6657
6658         * build-aux/maint.mk: Add indent target.
6659
6660 2006-03-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de> (tiny change)
6661
6662         * m4/poll.m4 (gl_FUNC_POLL): If we deem poll(2) unacceptable, use
6663         our replacement poll.h in any case, to avoid a differing
6664         declaration from a system header.  Seen on AIX.
6665
6666 2006-03-01  Simon Josefsson  <jas@extundo.com>
6667
6668         * lib/readline.c: Fix typo, tiny patch from Stepan Kasal
6669         <kasal@ucw.cz>.
6670
6671 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
6672
6673         * modules/gettime (Depends-on): Add extensions module.
6674         * modules/nanosleep (Depends-on): Likewise.
6675         * modules/settime (Depends-on): Likewise.
6676
6677 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
6678
6679         * m4/clock_time.m4 (gl_CLOCK_TIME): Require gl_USE_SYSTEM_EXTENSIONS,
6680         not merely AC_GNU_SOURCE, for the benefit of Solaris 10 when compiled
6681         pedantically.
6682         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
6683         * m4/timespec.m4 (gl_TIMESPEC): Likewise.
6684
6685         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use "=" with "test",
6686         not "==".  Reported by Ralf Wildenhues.
6687
6688 2006-03-01  Karl Berry  <karl@gnu.org>
6689
6690         * doc/Copyright/request-*: new files, synced from gnuorg.
6691
6692 2006-03-01  Karl Berry  <karl@gnu.org>
6693
6694         * config/srclist.txt (Copyright/*): new entries.
6695
6696 2006-02-28  Simon Josefsson  <jas@extundo.com>
6697
6698         * lib/getopt.c: Protect #include of unistd.h, for MSVS.
6699
6700 2006-02-27  Simon Josefsson  <jas@extundo.com>
6701
6702         * lib/base64.h: Indent #define's.  From Jim Meyering
6703         <jim@meyering.net>.
6704
6705 2006-02-27  Jim Meyering  <jim@meyering.net>
6706
6707         Revert the change of 2006-02-24, so these files can continue
6708         to be sync'd from gettext.
6709         * lib/mkdtemp.c, setenv.c, unsetenv.c: *Un*-normalize inclusion
6710         of `config.h'.
6711
6712 2006-02-26  Paul Eggert  <eggert@cs.ucla.edu>
6713
6714         * modules/intprops: New file.
6715         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
6716         Add intprops.
6717         * modules/getloadavg (Files): Remove lib/intprops.h.
6718         (Depends-on): Add intprops.
6719         * modules/human: Likewise.
6720         * modules/inttostr: Likewise.
6721         * modules/openat: Likewise.
6722         * modules/sig2str: Likewise.
6723         * modules/userspec: Likewise.
6724         * modules/utimecmp: Likewise.
6725         * modules/xnanosleep: Likewise.
6726         * modules/xstrtol: Likewise.
6727
6728 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny changes)
6729
6730         * modules/xstrtod: Omit xstrtod.h, xstrtod.c; they're in LIB_SOURCES.
6731         * modules/lock-tests (TESTS): Use $(EXEEXT).
6732         * modules/tls-tests: Likewise.
6733         * modules/argp-tests: Likewise.
6734         (check_PROGRAMS): New var, replacing...
6735         (noinst_PROGRAMS, test_argp_SOURCES): Remove.
6736
6737 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
6738
6739         * lib/mkdtemp.c, lib/setenv.c, lib/unsetenv.c: Normalize inclusion of
6740         `config.h'.
6741
6742 2006-02-24  Paul Eggert  <eggert@cs.ucla.edu>
6743
6744         * lib/glob.c: Say "invalid" rather than "illegal" in comments.
6745
6746 2006-02-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
6747
6748         Sync from coreutils.
6749         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Require gl_FUNC_LCHMOD and
6750         gl_CHDIR_SAFER.
6751
6752 2006-02-22  Jim Meyering  <jim@meyering.net>
6753
6754         Sync from coreutils.
6755         * m4/chdir-safer.m4: New file.
6756
6757 2006-02-20  Paul Eggert  <eggert@cs.ucla.edu>
6758
6759         * lib/getcwd.c (AT_FDCWD): Work around a bug in Solaris 9 and 10, where
6760         AT_FDCWD exceeds INT_MAX.
6761         * lib/openat.h (AT_FDCWD): Likewise.
6762
6763 2006-02-17  Eric Blake  <address@hidden>
6764
6765         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix caching error.
6766
6767 2006-02-16  Simon Josefsson  <jas@extundo.com>
6768
6769         * modules/getaddrinfo (Depends-on): Add sys_socket.
6770
6771 2006-02-15  Simon Josefsson  <jas@extundo.com>
6772
6773         * build-aux/maint.mk: Add dsyntax-check rule.
6774
6775 2006-02-15  Eric Blake  <ebb9@byu.net>
6776
6777         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Don't attempt using
6778         winsock2.h or ws2tcpip.h when sys/socket.h is present. Fixes
6779         'present but cannot compile' warnings on cygwin.
6780         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Use gl_HEADER_SYS_SOCKET.  Don't
6781         use ws2tcpip.h if sys/socket.h works.
6782         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Use gl_HEADER_SYS_SOCKET.
6783         (gl_GETADDRINFO): Don't use ws2tcpip.h when sys/socket.h is present.
6784
6785 2006-02-14  Simon Josefsson  <jas@extundo.com>
6786
6787         * modules/maintainer-makefile (Files): Rename.
6788
6789         * build-aux/GNUmakefile: Rename Makefile.maint to maint.mk
6790         and (the local) Makefile.cfg to maint-cfg.mk.
6791
6792         * build-aux/Makefile.maint, build-aux/maint.mk: Renamed the former
6793         to the latter.
6794
6795         * modules/maintainer-makefile: New module.
6796
6797         * build-aux/Makefile.maint: New file, from GNU CoreUtils, although
6798         severaly stripped to make it possible to build it up from scratch
6799         with reliable tests.
6800
6801         * build-aux/GNUmakefile: New file, from GNU CoreUtils with some
6802         fixes to permit overriding the default actions when configure and
6803         makefile are not available.
6804
6805 2006-02-14  Paul Eggert  <eggert@cs.ucla.edu>
6806
6807         Sync from coreutils.
6808         * modules/lstat (Depends-on): Don't depend on xalloc.
6809         (License): Change from GPL to LGPL, since this is now simply a
6810         replacement for a libc function.
6811
6812 2006-02-14  Jim Meyering  <jim@meyering.net>
6813
6814         Sync from coreutils.
6815
6816         Eliminate the unwelcome (albeit unlikely) possibility of xmalloc
6817         failure on deficient systems, and simplify gnulib lgpl dependencies.
6818         * lib/lstat.c (rpl_lstat): Rewrite to use stat() in place of the
6819         xmalloc/lstat combination.  Based on a patch from Bruno Haible.
6820
6821         * lib/xalloc-die.c: Remove unused definition of N_.
6822
6823 2006-02-14  Jim Meyering  <jim@meyering.net>
6824
6825         Sync from coreutils.
6826         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Invoke
6827         AC_CHECK_FUNCS(getmntent) unconditionally so that tests of
6828         $ac_cv_func_getmntent (e.g., in gl_LIST_MOUNTED_FILE_SYSTEMS) need not
6829         double-quote uses of that variable, to accommodate the rare case in
6830         which getmntent is available in none of the libraries checked.  This
6831         happens at least on FreeBSD 5.0.
6832
6833 2006-02-13  Simon Josefsson  <jas@extundo.com>
6834
6835         * gnulib-tool (Usage): Fix --import, from
6836         karl@freefriends.org (Karl Berry).
6837
6838 2006-02-13  Sergey Poznyakoff  <gray@gnu.org.ua>
6839
6840         * lib/argp-fmtstream.c: Restore another bugfix lost on 2005-12-12
6841
6842 2006-02-07  Sergey Poznyakoff  <gray@gnu.org.ua>
6843
6844         * lib/argp-namefrob.h: Restore changes accidentally lost during the
6845         "autoupdate" on 2005-12-12.
6846
6847 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
6848
6849         * modules/closeout (Depends-on): Remove atexit.
6850
6851 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
6852
6853         * lib/closeout.c (close_stdout): Don't assume 'bool' converts nonzero
6854         ints to 0 or 1, as this isn't true for the stdbool.h substitute.
6855
6856 2006-02-05  Paul Eggert  <eggert@cs.ucla.edu>
6857
6858         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Don't #define
6859         __EXTENSIONS__ if this causes compilation to fail.  Problem
6860         reported by Nelson H. F. Beebe with Solaris 10 and Sun C 5.7
6861         c89 -D_XOPEN_SOURCE -D_XOPEN_SOURCE_EXTENDED.
6862
6863 2006-01-27  Paul Eggert  <eggert@cs.ucla.edu>
6864
6865         * lib/fnmatch.c (L_): Renamed from L, to work around a bug in
6866         Mac OS X 10.3.9 with GCC 3 reported by Claudio Fontana in
6867         <http://lists.gnu.org/archive/html/bug-gnulib/2006-01/msg00074.html>.
6868         All uses changed.
6869
6870 2006-01-26  Simon Josefsson  <jas@extundo.com>
6871
6872         * lib/socket_.h: Set WINVER to 0x0501, to make sure getaddrinfo
6873         prototype is visible on mingw32.
6874
6875         * lib/getaddrinfo.h: Define EAI_ADDRFAMILY and EAI_SYSTEM if not set,
6876         for mingw32.
6877
6878         * lib/gai_strerror.c, getaddrinfo.h: Protect netdb.h #include (for
6879         mingw32).
6880
6881 2006-01-26  Paul Eggert  <eggert@cs.ucla.edu>
6882
6883         * lib/fts.c (diropen): Open with O_NOCTTY | O_NONBLOCK too.  Don't
6884         attempt to open for write; this always fails, at least on POSIX
6885         hosts.  This reinstates the 2006-01-09 change, which was
6886         inadvertently removed.
6887
6888 2006-01-26  Bruno Haible  <bruno@clisp.org>
6889
6890         * gnulib-tool (func_import): Use "trap 'exit $?' instead of "trap :".
6891         Reported by Paul Eggert.
6892
6893 2006-01-26  Bruno Haible  <bruno@clisp.org>
6894             Paul Eggert  <eggert@cs.ucla.edu>
6895
6896         * lib/stdbool_.h (_Bool)
6897         [(! (defined __cplusplus || defined __BEOS__)
6898           && !defined __GNUC__
6899           && !(defined __HP_cc || defined __xlc__
6900                || (defined __SUNPRO_C && (__SUNPRO_C < 0x550 || __STDC__ == 1))
6901                || defined __sgi))]:
6902         #define to signed char in these cases too; this simplifies
6903         the code (so that we don't have to worry about HP-UX, AIX, SunPRO,
6904         etc., separately) and makes it more conservative.
6905
6906 2006-01-25  Simon Josefsson  <jas@extundo.com>
6907
6908         * m4/getaddrinfo.m4: Look for getaddrinfo inside ws2tcip.h and
6909         -lws2_32.  Protect sys/socket.h and netdb.h #include's.  Include
6910         ws2tcpip.h with WINVER=0x0501.  All for mingw32.
6911
6912 2006-01-25  Sergey Poznyakoff  <gray@gnu.org.ua>
6913
6914         * lib/argp-namefrob.h: Bugfix. Remove stray #
6915
6916 2006-01-25  Paul Eggert  <eggert@cs.ucla.edu>
6917
6918         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for xlc bug if __GCC__ too,
6919         so that we test the test.
6920         Check for yet another HP-UX cc bug involving *bool |= bool.
6921
6922 2006-01-25  Karl Berry  <karl@gnu.org>
6923
6924         * config/srclist.txt (vasnprintf.c): sync lost.
6925
6926 2006-01-25  Jim Meyering  <jim@meyering.net>
6927
6928         Sync from the stable (b5) branch of coreutils:
6929
6930         * lib/fts.c (fts_children): Don't let close() clobber errno from
6931         failed fchdir().
6932
6933         * lib/fts.c (fts_stat): When following a symlink-to-directory,
6934         don't necessarily interpret stat-fails+lstat-succeeds as indicating
6935         a dangling symlink.  That can also happen at least for ELOOP.
6936         The fix: return FTS_SLNONE only when the stat errno is ENOENT.
6937         FYI, this bug predates the inclusion of fts.c in coreutils.
6938
6939         * lib/fts.c (fts_open): Put new maxarglen declaration and uses
6940         in their own block, so pre-c99 compilers don't object.
6941
6942         Avoid the double-free (first in fts_read, second in fts_close) that
6943         would occur when an `active' directory is made inaccessible (e.g.,
6944         via chmod a-x) during a traversal.
6945         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
6946         before returning.  Reproduce this failure by
6947         mkdir -p a/b; cd a; chmod a-x . b
6948         Reported by Stavros Passas.
6949
6950 2006-01-25  Jim Meyering  <jim@meyering.net>
6951
6952         * lib/fileblocks.c: Remove more useless parentheses.
6953         * lib/readutmp.h: Likewise.
6954
6955 2006-01-25  Bruno Haible  <bruno@clisp.org>
6956
6957         * lib/stdbool_.h (_Bool) [IRIX cc]: Define as 'signed char', to avoid
6958         warnings.
6959         Reported by Paul Eggert.
6960
6961 2006-01-25  Bruno Haible  <bruno@clisp.org>
6962
6963         * gnulib-tool (func_import): Use "trap :" instead of "trap -" to get
6964         rid of a trap command. For Solaris sh.
6965         Reported by Mark D. Baushke <mdb@gnu.org>.
6966
6967 2006-01-24  Simon Josefsson  <jas@extundo.com>
6968
6969         * lib/socket_.h (SHUT_WR, SHUT_RDWR): Don't hardcode, suggested by
6970         Bruno.
6971
6972 2006-01-24  Karl Berry  <karl@gnu.org>
6973
6974         * config/srclist.txt (argp-namefrob.h): sync lost.
6975
6976 2006-01-24  Jim Meyering  <jim@meyering.net>
6977
6978         * modules/openat (Files): Add lib/intprops.h.
6979         From Mark D. Baushke.
6980
6981 2006-01-24  Jim Meyering  <jim@meyering.net>
6982
6983         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBSOURCES([intprops.h]).
6984         Reported by Mark D. Baushke.
6985
6986 2006-01-24  Jim Meyering  <jim@meyering.net>
6987
6988         * lib/socket_.h: Remove useless parentheses in uses of cpp `defined'.
6989
6990 2006-01-24  Bruno Haible  <bruno@clisp.org>
6991
6992         * modules/strnlen (Maintainer): Change from glibc to all.
6993
6994 2006-01-24  Bruno Haible  <bruno@clisp.org>
6995
6996         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for IBM and HP-UX bugs.
6997         Patch by Paul Eggert.
6998
6999 2006-01-24  Bruno Haible  <bruno@clisp.org>
7000
7001         * lib/stdbool_.h (_Bool) [__cplusplus]: Don't define if the compiler
7002         already has it.
7003         Report and patch by Albert Chin-A-Young  <china@thewrittenword.com> on
7004         2005-11-26.
7005
7006         * lib/stdbool_.h (_Bool) [HP-UX cc, AIX cc,xlc]: Define as
7007         'signed char' to avoid problems with the built-in _Bool type.
7008         Reported by Paul Eggert on 2005-11-26.
7009
7010 2006-01-24  Bruno Haible  <bruno@clisp.org>
7011
7012         * gnulib-tool (func_import): Avoid constructing complicated sed
7013         expressions inside backquote.
7014         Report and solution by Mark D. Baushke <mdb@gnu.org>.
7015
7016 2006-01-23  Ulrich Drepper  <drepper@redhat.com>
7017
7018         These changes imported from libc.
7019         * lib/getopt.c: Use __fxprintf instead of inline stream orientation
7020         test and two separate function calls.
7021         * lib/strndup.c (__strndup): Add libc_hidden_def.
7022
7023 2006-01-23  Simon Josefsson  <jas@extundo.com>
7024
7025         * modules/lock-tests: Use check_PROGRAMS instead of noinst_PROGRAMS.
7026         Remove the test_*_SOURCES variable: automake infers it by default.
7027         * modules/tls-tests: Likewise.
7028
7029 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
7030
7031         Work around porting bugs reported by Dieter in
7032         <http://lists.gnu.org/archive/html/bug-bison/2006-01/msg00049.html>.
7033         * lib/getopt.c (_NOPROTO): Remove; no longer needed.
7034         Include <stdlib.h> and <unistd.h> in all environments; it's safe now.
7035         Include "getopt.h" first, to check interface.
7036         (getenv): Declare only if defined HAVE_DECL_GETENV &&
7037         !HAVE_DECL_GETENV.
7038         * lib/strndup.c [!_LIBC]: Include "strndup.h" to get prototype.
7039         (__strndup): Revert to K&R-style function dfns, the glibc style.
7040         * lib/strnlen.c: Don't claim it's taken from glibc; it's not.
7041         (strnlen, __strnlen): Remove #defines and #undefs; not needed.
7042         Include strnlen.h first, to get prototype properly.
7043         (strnlen): Renamed from __strnlen.
7044         Remove weak alias.
7045
7046 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
7047
7048         * m4/getopt.m4 (gl_PREREQ_GETOPT): Check for getenv decl.
7049
7050 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
7051
7052         * config/srclist.txt: Adjust to reflect glibc reorganization.
7053         This affects only comments.
7054
7055 2006-01-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
7056
7057          * gnulib-tool, build-aux/csharpcomp.sh.in: Do not pass `-q' to mktemp.
7058          Reported by Bruce Korb <bkorb@gnu.org>.
7059
7060 2006-01-22  Paul Eggert  <eggert@cs.ucla.edu>
7061
7062         * lib/quotearg.c (quotearg_buffer_restyled): Add "default: break;"
7063         to pacify gcc -Wswitch-default.
7064
7065 2006-01-22  Bruno Haible  <bruno@clisp.org>
7066
7067         * lib/vasnprintf.c (VASNPRINTF): In the computation of the size of the
7068         temporary buffer for sprintf, take into account the precision also
7069         for 'd', 'i', 'u', 'o', 'x', 'X'.
7070
7071 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
7072
7073         * modules/argp-tests: New module
7074         * tests/test-argp.c: New file
7075         * tests/test-argp-2.sh: New file
7076
7077 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
7078
7079         * lib/argp-help.c (usage_long_opt): Do not print DOC options.
7080         (__argp_base_name): Removed
7081         * lib/argp-namefrob.h (__argp_basename): Removed definition. Was a
7082         typo.
7083         (__argp_base_name): Provide macro definition or extern declaration
7084         depending on the configuration
7085
7086 2006-01-20  Simon Josefsson  <jas@extundo.com>
7087
7088         * modules/inet_ntop (Depends-on): Depend on sys_socket.
7089
7090 2006-01-20  Simon Josefsson  <jas@extundo.com>
7091
7092         * lib/inet_ntop.h: Unconditionally include sys/socket.h.
7093
7094 2006-01-20  Paul Eggert  <eggert@cs.ucla.edu>
7095
7096         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Use -Wl,-z,ignore
7097         rather than -Xlinker -z -Xlinker ignore, as it's more portable.
7098         Suggested by Bruno Haible.
7099
7100 2006-01-20  Karl Berry  <karl@gnu.org>
7101
7102         * config/srclist.txt (argp-fmtstream.h, localcharset.c): comment out
7103         until changes propagate, I guess.
7104
7105 2006-01-19  Simon Josefsson  <jas@extundo.com>
7106
7107         * m4/socklen.m4: Look in ws2tcpip.h too, for mingw32.
7108
7109 2006-01-19  Simon Josefsson  <jas@extundo.com>
7110
7111         * lib/socket_.h: Map SHUT_RD, SHUT_WR, SHUT_RDWR correctly.
7112
7113 2006-01-19  Simon Josefsson  <jas@extundo.com>
7114
7115         * gnulib-tool: Set check_PROGRAMS.
7116
7117         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
7118         modules/des-tests, modules/gc-arcfour-tests,
7119         modules/gc-arctwo-tests, modules/gc-des-tests,
7120         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
7121         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
7122         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
7123         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
7124         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
7125         modules/md5-tests, modules/readline, modules/rijndael-tests: Use
7126         check_PROGRAMS instead of noinst_PROGRAMS to be able to remove
7127         test_*_SOURCES.
7128
7129 2006-01-18  Simon Josefsson  <jas@extundo.com>
7130
7131         * modules/socklen (Depends-on): Depend on sys_socket.
7132
7133 2006-01-18  Simon Josefsson  <jas@extundo.com>
7134
7135         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
7136         modules/des-tests, modules/gc-arcfour-tests,
7137         modules/gc-arctwo-tests, modules/gc-des-tests,
7138         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
7139         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
7140         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
7141         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
7142         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
7143         modules/md5-tests, modules/readline, modules/rijndael-tests: Add
7144         $(EXEEXT) to automake TESTS variable, for mingw32.
7145
7146 2006-01-17  Simon Josefsson  <jas@extundo.com>
7147
7148         * modules/socklen (Include): Need sys/socket.h.
7149
7150 2006-01-17  Bruno Haible  <bruno@clisp.org>
7151
7152         * modules/ssize_t (Include): Add <sys/types.h>.
7153
7154 2006-01-16  Paul Eggert  <eggert@cs.ucla.edu>
7155
7156         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Don't use ldd, as
7157         it's not portable and it doesn't work with cross-compiles.
7158         Problem reported by Bruno Haible.  Fix missing-$ typo in
7159         'test "gl_cv_ignore_unused_libraries" ...' that prevented
7160         -zignore from being used with Sun's C compiler.
7161
7162 2006-01-12  Simon Josefsson  <jas@extundo.com>
7163
7164         * lib/base64.c: Fix warning, reported by Bruno Haible
7165         <bruno@clisp.org> and patch by Paul Eggert <eggert@CS.UCLA.EDU>.
7166
7167 2006-01-12  Bruno Haible  <bruno@clisp.org>
7168
7169         * modules/ldd: New file.
7170         * build-aux/ldd.sh.in: New file.
7171         * MODULES.html.sh (Support for building libraries and executables): Add
7172         ldd.
7173
7174 2006-01-12  Bruno Haible  <bruno@clisp.org>
7175
7176         * m4/ldd.m4: New file.
7177
7178 2006-01-12  Bruno Haible  <bruno@clisp.org>
7179
7180         * gnulib-tool (func_import, func_create_testdir): Don't go into an
7181         endless loop while replacing $auxdir with build-aux.
7182
7183 2006-01-11  Simon Josefsson  <jas@extundo.com>
7184
7185         * lib/stdint_.h (SIZE_MAX): Add missing (.
7186
7187 2006-01-11  Paul Eggert  <eggert@cs.ucla.edu>
7188
7189         Sync from coreutils.
7190         * lib/md5.c: Fix commentary typos.
7191         (alignof, UNALIGNED_P): No need for a GCC-specific version.
7192         * lib/md5.h (__attribute__): Remove; unused.
7193         * lib/sha1.c: Fix commentary to match md5 better.
7194         * lib/sha1.h (struct sha1_ctx): Use a word buffer, not a byte buffer,
7195         so that we don't need to worry about alignment.  All uses changed.
7196         This merges the 2005-10-28 md5 change into sha1.
7197
7198 2006-01-11  Jim Meyering  <jim@meyering.net>
7199
7200         Sync from coreutils.
7201         * lib/md5.c (OP): Fix spacing.
7202
7203 2006-01-11  Bruno Haible  <bruno@clisp.org>
7204
7205         Ensure automatic ordering between gl_LOCK and gl_ARGP.
7206         * m4/lock.m4 (gl_LOCK_BODY): Renamed from gl_LOCK.
7207         (gl_LOCK): New macro, requiring gl_LOCK_BODY.
7208
7209 2006-01-11  Bruno Haible  <bruno@clisp.org>
7210
7211         Ensure automatic ordering between gl_LOCK and gl_ARGP.
7212         * gnulib-tool (func_import, func_create_testdir): Put gl_LOCK into
7213         the "early" section as well.
7214
7215 2006-01-11  Bruno Haible  <bruno@clisp.org>
7216
7217         Avoid "ar: no archive members specified" error on MacOS X.
7218         * gnulib-tool (func_modules_add_dummy): New function.
7219         (func_import, func_create_testdir): Invoke it.
7220
7221 2006-01-11  Bruno Haible  <bruno@clisp.org>
7222
7223         * gnulib-tool (func_import, func_create_testdir): Replace build-aux
7224         with $auxdir in AC_CONFIG_FILES statements.
7225
7226 2006-01-11  Bruno Haible  <bruno@clisp.org>
7227
7228         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
7229         Initialize also noinst_HEADERS to empty.
7230
7231 2006-01-11  Bruno Haible  <bruno@clisp.org>
7232
7233         * gnulib-tool (AUTOMAKEPATH, AUTOCONF, ACLOCAL, AUTOMAKE): New
7234         variables.
7235         (func_create_megatestdir): Call aclocal, autoconf, automake here, not
7236         autoreconf.
7237
7238 2006-01-11  Bruno Haible  <bruno@clisp.org>
7239
7240         * gnulib-tool (AUTOCONF, ACLOCAL, AUTOMAKE, AUTORECONF): Make
7241         overridable by the user.
7242         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
7243
7244 2006-01-10  Simon Josefsson  <jas@extundo.com>
7245
7246         * modules/sys_socket: New file.
7247
7248 2006-01-10  Simon Josefsson  <jas@extundo.com>
7249
7250         * m4/sys_socket_h.m4: New file.
7251
7252 2006-01-10  Simon Josefsson  <jas@extundo.com>
7253
7254         * lib/socket_.h: New file.
7255
7256 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
7257
7258         * modules/readutmp (Maintainer): Add myself.
7259
7260 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
7261
7262         * m4/memcoll.m4 (gl_MEMCOLL): Don't require AC_FUNC_MEMCMP, undoing
7263         the 2002-12-31 change.  Problem and fix reported by Bruno Haible.
7264         People who are still concerned with buggy memcmp implementations
7265         can invoke gl_FUNC_MEMCMP themselves.
7266
7267 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
7268
7269         * lib/regex_internal.h (BITSET_WORD_BITS):
7270         Work around a bug in 64-bit PGC (before version 6.1-2), where the
7271         preprocessor mishandles large unsigned values as if they were signed.
7272         Problem reported by Claudio Fontana in
7273         <http://lists.gnu.org/archive/html/bug-gnulib/2005-12/msg00061.html>.
7274
7275 2006-01-10  Jim Meyering  <jim@meyering.net>
7276
7277         Avoid the double-free (first in fts_read, second in fts_close) that
7278         would occur when an `active' directory is made inaccessible (e.g.,
7279         via chmod a-x) during a traversal.
7280         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
7281         before returning.  Reproduce this failure by
7282         mkdir -p a/b; cd a; chmod a-x . b
7283         Reported by Stavros Passas.
7284
7285         Sync from coreutils.
7286         * lib/sha1.c: Tweak grammar in a comment.
7287
7288 2006-01-10  Jim Meyering  <jim@meyering.net>
7289
7290         * m4/fpending.m4: Also include <stdio.h>, for Dragonfly.
7291         Patch by Joerg Sonnenberger.
7292
7293 2006-01-10  Bruno Haible  <bruno@clisp.org>
7294
7295         * modules/readutmp: Depend on module free.
7296         * modules/strtok_r: Depend on module restrict.
7297
7298 2006-01-10  Bruno Haible  <bruno@clisp.org>
7299
7300         * modules/gettext (configure.ac): Add an invocation of
7301         AM_GNU_GETTEXT_VERSION. Needed since autoreconf is used by gnulib-tool.
7302
7303 2006-01-10  Bruno Haible  <bruno@clisp.org>
7304
7305         * m4/localcharset.m4 (gl_LOCALCHARSET): Also test for getc_unlocked.
7306         Reported by Werner Lemberg <wl@gnu.org>.
7307
7308 2006-01-10  Bruno Haible  <bruno@clisp.org>
7309
7310         * lib/localcharset.c: Update from GNU gettext.
7311
7312 2006-01-10  Bruno Haible  <bruno@clisp.org>
7313
7314         * lib/argp.h (__const): Remove macro. Use const instead.
7315         * lib/argp-fmtstream.h (__const): Likewise.
7316         * lib/glob_.h (__const): Remove macro.
7317         * lib/glob-libc.h: Use const instead of __const.
7318
7319 2006-01-10  Bruno Haible  <bruno@clisp.org>
7320
7321         * gnulib-tool (func_emit_tests_Makefile_am): Emit an empty SUBDIR
7322         variable.
7323         Needed to avoid an automake error regarding the 'gettext' module.
7324
7325 2006-01-09  Simon Josefsson  <jas@extundo.com>
7326
7327         * modules/inet_ntop (Depends-on): Add restrict.
7328
7329 2006-01-09  Simon Josefsson  <jas@extundo.com>
7330
7331         * modules/gc-rijndael-tests (License): Put under LGPL.
7332
7333         * modules/gc-des-tests (License): Likewise.
7334
7335         * modules/gc-arcfour-tests (License): Likewise.
7336
7337         * modules/gc-arctwo-tests (License): Likewise.
7338
7339         * modules/gc-pbkdf2-sha1-tests (License): Likewise.
7340
7341         * modules/gc-hmac-sha1-tests (Files): Likewise.
7342
7343         * modules/gc-hmac-md5-tests (License): Likewise.
7344
7345         * modules/gc-sha1-tests (License): Likewise.
7346
7347         * modules/gc-md5-tests (License): Likewise.
7348
7349         * modules/gc-md4-tests (License): Likewise.
7350
7351         * modules/gc-md2-tests (License): Likewise.
7352
7353         * modules/gc-tests (License): Likewise.
7354
7355         * modules/des-tests (License): Likewise.
7356
7357         * modules/md4-tests (License): Likewise.
7358
7359         * modules/md2-tests (License): Likewise.
7360
7361 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
7362
7363         Sync from coreutils:
7364
7365         * MODULES.html.sh (build_lib): New section, with new lib-ignore module.
7366         * modules/lib-ignore: New file.
7367         * modules/mkdir-p (Files): Add chdir-safer.c, chdir-safer.h, lchmod.h,
7368         chdir-safer.m4, lchmod.m4.
7369         * modules/openat: Add mkdirat.c, openat-priv.h.
7370
7371 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
7372
7373         Sync from coreutils.
7374         * m4/lib-ignore.m4: New file.
7375         * m4/lchmod.m4: New file.
7376
7377 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
7378
7379         Sync from coreutils.
7380         * lib/chdir-long.c (cdb_free): Don't bother trying to open directory
7381         for write access: POSIX says that must fail.
7382         * lib/fts.c (diropen): Likewise.
7383         * lib/save-cwd.c (save_cwd): Likewise.
7384         * lib/chdir-long.c (cdb_free): Open with O_NOCTTY | O_NONBLOCK as
7385         well, for minor improvements on hosts that lack O_DIRECTORY.
7386         * lib/chown.c (rpl_chown) [CHOWN_MODIFIES_SYMLINK]:
7387         Don't try O_WRONLY unless O_RDONLY failed wth EACCES.
7388         Fall back on chown if open failed with EACCES.
7389
7390         * lib/gettime.c (gettime) [!defined OK_TO_USE_1S_CLOCK]:
7391         Report an error at compile-time if only a 1-second nominal clock
7392         resolution is found.
7393
7394         * lib/lchmod.h: New file.
7395         * lib/mkdir-p.c: Include lchmod.h, lchown.h.
7396         (make_dir_parents): Use lchown rather than chown, and
7397         lchmod rather than chmod.
7398
7399         * lib/mountlist.c (ME_DUMMY): "none" and "proc" file systems are
7400         dummies too.  Problem with "none" reported by Bob Proulx.  Problem with
7401         "proc" reported by n0dalus.
7402
7403         * lib/mountlist.c: Include <limits.h>.
7404         (dev_from_mount_options)
7405         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]:
7406         New function.  It no longer assumes "dev=" has the System V meaning
7407         on Linux (since it doesn't).  It also parses "dev=" more carefully.
7408         (read_file_system_list)
7409         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]: Use it.
7410         MOUNTED_GETMNTENT2 is new here; the code didn't used to look for
7411         dev= in that case.
7412
7413         * lib/posixtm.h (PDS_PRE_2000): New macro.
7414         * lib/posixtm.c (year): Arg is now syntax_bits rather than
7415         allow_century.  All usages changed.  Reject dates outside the range
7416         1969-1999 if PDS_PRE_2000 is used.
7417
7418 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
7419
7420         Sync from coreutils.
7421         * doc/getdate.texi (General date syntax): Invalid dates are rejected.
7422         (Time of day items): Mention the possibility of leap seconds.
7423         Problem reported by Dr. David Alan Gilbert.
7424
7425 2006-01-09  Jim Meyering  <jim@meyering.net>
7426
7427         Sync from coreutils.
7428
7429         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2006.
7430
7431         * lib/chdir-safer.h, lib/chdir-safer.c: New files.
7432
7433         * lib/modechange.c (mode_compile): Reject an invalid mode string
7434         that starts with an octal digit.  From Andreas Gruenbacher.
7435
7436         * lib/openat.c: Include "fcntl--.h" and "unistd--.h", to map open
7437         and dup to open_safer and dup_safer, respectively.
7438         (openat_permissive): Fix typo in comment.
7439
7440         * lib/openat.c: Don't include <stdlib.h>, <unistd.h>, <fcntl.h>,
7441         "gettext.h"; either no longer needed or are guaranteed by openat.h.
7442         (_): Remove; no longer needed.
7443         (openat): Renamed from rpl_openat; no need for rpl_openat
7444         since openat.h renames openat for us.
7445         Replace most of the body with a call to openat_permissive,
7446         to avoid duplicate code.
7447         Port to (probably hypothetical) environments were mode_t is
7448         wider than int.
7449         (openat_permissive): Require mode arg, so that we can check
7450         types better.  Put it just after flags.  Change cwd failure
7451         indicator from pointer-to-bool to pointer-to-errno-value.
7452         All callers changed.
7453         Invoke openat_save_fail and/or openat_restore_fail if
7454         cwd_errno is null, so that openat can call us.
7455         (openat_permissive, fdopendir, fstatat, unlinkat):
7456         Simplify errno handling to avoid some duplicate code,
7457         as it's OK to set errno on success.
7458         * lib/openat.h: Revamp code so that function macros depend on
7459         __OPENAT_PREFIX only, not also on AT_FDCWD.
7460         (openat_ro): Remove.  Caller changed to use openat_permissive.
7461         (openat_permissive): Now a macro, if not a function.
7462         (openat_restore_fail, openat_save_fail): Now always functions,
7463         since mkdirat needs them even if __OPENAT_PREFIX is defined.
7464
7465         * lib/openat-priv.h: New file, defining macros used by mkdirat.c
7466         and openat.c.
7467         * lib/mkdirat.c: Include openat-priv.h.
7468         Remove definitions of macros defined therein.
7469         * lib/openat.c: Likewise.
7470
7471         * lib/mkdirat.c (mkdirat): New file and function.
7472         * lib/openat.h (mkdirat): Declare.
7473
7474         * lib/openat.c (fdopendir): Don't change errno when returning non-NULL.
7475
7476         * lib/openat.h (openat_permissive): Declare.
7477         (openat_ro): Define.
7478
7479         * lib/openat.c (EXPECTED_ERRNO): New macro.
7480         (openat_permissive): New function -- used in remove.c rewrite.
7481         (all functions): Set errno just before returning, only if there
7482         was an actual failure.
7483         Use EXPECTED_ERRNO rather than comparing against only ENOTDIR.
7484
7485         Emulate openat-family functions using Linux's procfs, if possible.
7486         Idea and some code based on Ulrich Drepper's glibc changes.
7487
7488         * lib/openat.c: (BUILD_PROC_NAME): New macro.
7489         Include <stdio.h>, <string.h>, "alloca.h" and "intprops.h".
7490         (rpl_openat): Emulate by trying to open /proc/self/fd/%d/%s,
7491         before falling back on save_cwd and restore_cwd.
7492         (fdopendir, fstatat, unlinkat): Likewise.
7493
7494         * lib/openat.c (fstatat, unlinkat): Perform the syscall directly,
7495         skipping the save_cwd...restore_cwd overhead, if FILE is absolute.
7496
7497         * lib/openat.c (rpl_openat): Use the promoted type (int), not mode_t,
7498         as second argument to va_arg.  Otherwise, some versions of gcc
7499         warn that `if this code is reached, the program will abort'.
7500
7501 2006-01-09  Jim Meyering  <jim@meyering.net>
7502
7503         Sync from coreutils.
7504         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile mkdirat.c.
7505         Require openat-priv.h.
7506
7507 2006-01-09  Bruno Haible  <bruno@clisp.org>
7508
7509         * modules/strnlen (Include): Use strnlen.h.
7510
7511 2006-01-09  Bruno Haible  <bruno@clisp.org>
7512
7513         * m4/stdint.m4 (gl_STDINT_H): Also test for <sys/bitypes.h>.
7514
7515 2006-01-09  Bruno Haible  <bruno@clisp.org>
7516
7517         * lib/sysexit_.h (EX_OK): New macro.
7518         Suggested by Martin Lambers <marlam@marlam.de>.
7519
7520 2006-01-09  Bruno Haible  <bruno@clisp.org>
7521
7522         * lib/stdint_.h: On Linux libc4 and libc5, include <sys/bitypes.h> and
7523         don't define _STDINT_H_NEED_SIGNED_INT_TYPES.
7524
7525 2006-01-09  Bruno Haible  <bruno@clisp.org>
7526
7527         * lib/stdint_.h (SIZE_MAX): Write the value without involving negative
7528         numbers.
7529
7530 2006-01-09  Bruno Haible  <bruno@clisp.org>
7531
7532         * lib/javacomp.sh.in: Move to ../build-aux/javacomp.sh.in.
7533         * lib/javaexec.sh.in: Move to ../build-aux/javaexec.sh.in.
7534         * lib/csharpcomp.sh.in: Move to ../build-aux/csharpcomp.sh.in.
7535         * lib/csharpexec.sh.in: Move to ../build-aux/csharpexec.sh.in.
7536
7537 2006-01-09  Bruno Haible  <bruno@clisp.org>
7538
7539         * build-aux/javacomp.sh.in: New file, moved from lib/.
7540         * modules/javacomp-script (Files): Update.
7541         (configure.ac): Add AC_CONFIG_FILES invocation.
7542         (EXTRA_DIST): Remove variable.
7543
7544         * build-aux/javaexec.sh.in: New file, moved from lib/.
7545         * modules/javaexec (Files): Update.
7546         (configure.ac): Add AC_CONFIG_FILES invocation.
7547         (EXTRA_DIST): Remove javaexec.sh.in.
7548
7549         * build-aux/csharpcomp.sh.in: New file, moved from lib/.
7550         * modules/csharpcomp-script (Files): Update.
7551         (configure.ac): Add AC_CONFIG_FILES invocation.
7552         (EXTRA_DIST): Remove variable.
7553
7554         * build-aux/csharpexec.sh.in: New file, moved from lib/.
7555         * modules/csharpexec (Files): Update.
7556         (configure.ac): Add AC_CONFIG_FILES invocation.
7557         (EXTRA_DIST): Remove csharpexec.sh.in.
7558
7559 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
7560
7561         Sync from coreutils.
7562
7563         Add POSIX ACL support
7564         * lib/acl.h (copy_acl, set_acl): Add declarations.
7565         * lib/acl.c (acl_entries): Add fallback implementation for POSIX ACL
7566         systems other than Linux.
7567         (chmod_or_fchmod): New function: use fchmod when possible,
7568         and chmod otherwise.
7569         (file_has_acl): Add a POSIX ACL implementation, with a
7570         Linux-specific subcase.
7571         (copy_acl): Add: copy an acl and S_ISUID, S_ISGID, and
7572         S_ISVTX from one file to another.  Fall back to fchmod/chmod when
7573         acls are unsupported.
7574         (set_acl): Add: set a file's acl and S_ISUID, S_ISGID, and
7575         S_ISVTX to a defined value.  Fall back to fchmod/chmod when acls
7576         are unsupported.
7577
7578 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
7579
7580         Sync from coreutils.
7581         * m4/acl.m4 (AC_FUNC_ACL): Add POSIX ACL and Linux-specific acl tests.
7582
7583 2006-01-07  Bruno Haible  <bruno@clisp.org>
7584
7585         * gnulib-tool (func_import): Add an AC_PROG_RANLIB dependency to
7586         gl_EARLY.
7587
7588 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
7589
7590         * lib/strftime.c (tzname): Don't declare if it is already #defined.
7591         Problem reported for Mingw by Mark Junker.
7592
7593 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
7594
7595         * README: Gnulib normally doesn't generate a tarball.
7596
7597 2006-01-03  Paul Eggert  <eggert@cs.ucla.edu>
7598
7599         * lib/xtime.h (xtime_make, xtime_nonnegative_nsec, xtime_nsec): Use
7600         long int, not int, for nanosecond counts, so that people who are
7601         used to POSIX struct timespec won't be surprised.  Reported by Jim
7602         Meyering.
7603
7604 2005-12-28  Bruno Haible  <bruno@clisp.org>
7605
7606         * build-aux/config.rpath: Update from GNU gettext.
7607
7608 2005-12-16  Jim Meyering  <jim@meyering.net>
7609
7610         * modules/fprintftime: New module.
7611         * MODULES.html.sh (Date and time <time.h>): Add fprintftime.
7612
7613 2005-12-16  Jim Meyering  <jim@meyering.net>
7614
7615         * m4/fprintftime.m4: New file.
7616
7617 2005-12-16  Jim Meyering  <jim@meyering.net>
7618
7619         * lib/fprintftime.c, lib/fprintftime.h: New files.
7620
7621 2005-12-15  Simon Josefsson  <jas@extundo.com>
7622
7623         * modules/socklen (configure.ac): Fix M4 macro name, to align with
7624         new m4/socklen.m4.
7625
7626 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
7627
7628         * m4/argp.m4: Define HAVE_DECL_PROGRAM_INVOCATION_NAME and
7629         HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME
7630
7631 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
7632
7633         * lib/argp-fmtstream.c (__argp_fmtstream_update): Fix coredump
7634         * lib/argp-help.c (fill_in_uparams): Check if the constructed
7635         struct uparams is valid. Fall back to the default values if it is
7636         not.
7637
7638 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
7639
7640         * modules/argp (Files): Add argp-pin.c
7641         (Depends-on): dirname
7642         (lib_SOURCES): Add argp-pin.c
7643
7644 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
7645
7646         * m4/argp.m4:  Check if program_invocation_name and
7647         program_invocation_short_name are declared and define appropriate
7648         macros if they are not.
7649
7650 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
7651
7652         * lib/argp-help.c (__argp_base_name): New function
7653         (__argp_short_program_name): Rewrite using __argp_base_name
7654         * lib/argp-namefrob.h: Define program_invocation_name and
7655         program_invocation_short_name if requested
7656         (__argp_base_name): Add prototype
7657         * lib/argp-parse.c (argp_def): Use gettext wrappers
7658         (argp_default_parser): Use __argp_base_name
7659         * lib/argp-pin.c: New file. Defines program_invocation_name and
7660         program_invocation_short_name on systems that lack them.
7661
7662 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
7663
7664         * m4/stat-time.m4 (gl_STAT_TIME): Add check for
7665         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
7666         porting problem reported by Georg Schwarz in
7667         <http://lists.gnu.org/archive/html/bug-coreutils/2005-12/msg00083.html>.
7668
7669 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
7670
7671         * lib/stat-time.h (STATE_TIMESPEC, STAT_TIMESPEC_NS): Add check for
7672         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
7673         porting problem reported by Georg Schwarz in
7674         <http://lists.gnu.org/archive/html/bug-coreutils/2005-12/msg00083.html>.
7675
7676 2005-12-05  Bruno Haible  <bruno@clisp.org>
7677
7678         * lib/csharpcomp.sh.in (options_csc): For -l option, add a .dll suffix.
7679         * lib/csharpcomp.c (compile_csharp_using_sscli): Likewise.
7680         Reported by Mark Junker <mjscod@gmx.de>.
7681
7682 2005-12-02  Paul Eggert  <eggert@cs.ucla.edu>
7683
7684         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Renamed from gl_SOCKLEN_T.
7685         Use implementation from Albert Chin, with some
7686         comments/corrections by Stepan Kasal and myself.
7687
7688 2005-12-02  Bruno Haible  <bruno@clisp.org>
7689
7690         * gnulib-tool (func_import): Accept GPLed build tool modules when
7691         --lgpl is given.
7692         * modules/csharpcomp-script: New file.
7693         * modules/csharpcomp: Depend on it.
7694         * modules/javacomp-script: New file.
7695         * modules/javacomp: Depend on it.
7696         Suggested by Simon Josefsson.
7697
7698 2005-12-01  Paul Eggert  <eggert@cs.ucla.edu>
7699
7700         * m4/regex.m4 (gl_REGEX): Check whether off_t can be used in a switch
7701         statement, to work around an HP-UX 10.20 compiler bug reported by
7702         Peter O'Gorman.
7703
7704 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
7705
7706         * modules/savedir (Depends-on): Add openat.
7707
7708 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
7709
7710         * lib/stdint_.h (intmax_t) [defined intmax_t]: Do not declare.
7711         (uintmax_t) [defined uintmax_t]: Do not declare.
7712         (SIZE_MAX) [defined SIZE_MAX]: Do not define.
7713         This works around a problem if intmax_t.m4 and/or uintmax_t.m4
7714         and/or size_max.m4 are also used.  Problem reported by Mark D. Baushke.
7715         (SIZE_MAX): Define to ((size_t) -1), not (~(size_t)0), for the
7716         sake of portability to weird hosts that C allows (though we don't
7717         know of any practical examples).
7718
7719         * lib/savedir.h (fdsavedir): New decl.
7720         * lib/savedir.c (fdsavedir, savedirstream): New functions; the latter
7721         contains most of the former guts of savedir.
7722         (savedir): Use savedirstream.
7723         Include "openat.h".
7724
7725 2005-11-25  Paul Eggert  <eggert@cs.ucla.edu>
7726
7727         * modules/obstack (Files): Add m4/ulonglong.m4.
7728         Problem reported by Davide Angelocola.
7729
7730 2005-11-15  Paul Eggert  <eggert@cs.ucla.edu>
7731
7732         * lib/xstrtod.c: Don't bother with #pragma STDC FENV_ACCESS ON, as
7733         coreutils no longer futzes with rounding modes.
7734
7735 2005-11-14  Jim Meyering  <jim@meyering.net>
7736
7737         * lib/mkstemp-safer.c: Include <config.h>, required for possible
7738         replacement of mkstemp.
7739
7740 2005-11-10  Simon Josefsson  <jas@extundo.com>
7741
7742         * lib/readline.c: Remove EOL.
7743
7744 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
7745
7746         * modules/gethrxtime (Depends-on): Add gettime.
7747
7748 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
7749
7750         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Don't require AC_HEADER_TIME
7751         or gettimeofday; no longer needed.
7752
7753 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
7754
7755         * lib/gethrxtime.c: Include "timespec.h" rather than the sys/time /
7756         time business.
7757         (gethrxtime) [! (HAVE_NANOUPTIME
7758         || (defined CLOCK_MONOTONIC && HAVE_CLOCK_GETTIME)
7759         || HAVE_MICROUPTIME)]: Fall back on gettime rather than rolling
7760         our own approximation.
7761
7762 2005-11-08  Eric Blake  <ebb9@byu.net>
7763
7764         * lib/inet_ntop.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
7765
7766 2005-11-08  Eric Blake  <ebb9@byu.net>
7767
7768         * lib/getaddrinfo.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
7769
7770 2005-11-04  Bruno Haible  <bruno@clisp.org>
7771
7772         * gnulib-tool: Implement --update mode.
7773
7774 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
7775
7776         Fix porting problem reported by Theodoros V. Kalamatianos.
7777         * lib/utimens.c (futimens) [HAVE_WORKING_UTIMES && HAVE_FUTIMES]:
7778         Don't assume that futimes failing means we must fail.
7779
7780 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
7781
7782         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Revamp wording and local
7783         variables to suggest the intended function of the PATH_MAX check.
7784
7785 2005-10-30  Kean Johnston  <jkj@sco.com>
7786
7787         Trivial changes to support SCO systems.
7788         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Check for MAXPATHLEN as well
7789         as PATH_MAX.
7790         * m4/fpending.m4 (gl_FUNC_FPENDING): Correct check for SCO systems,
7791         where __ptr is null when no I/O is pending.
7792
7793 2005-10-29  Paul Eggert  <eggert@cs.ucla.edu>
7794
7795         * lib/getcwd.c (__getcwd): Don't assume that system calls after readdir
7796         leave errno alone.  Problem reported by Dmitry V. Levin.
7797
7798 2005-10-28  Simon Josefsson  <jas@extundo.com>
7799
7800         * tests/test-gc-md4.c, tests/test-gc-md5.c, tests/test-gc-sha1.c:
7801         Test more.
7802
7803         * tests/test-gc-md2.c, tests/test-md2.c: New files.
7804
7805         * modules/md2, modules/md2-tests: New files.
7806
7807 2005-10-28  Simon Josefsson  <jas@extundo.com>
7808
7809         * m4/inet_ntop.m4: More tests.
7810
7811         * m4/gc-md2.m4, md2.m4: New file.
7812
7813 2005-10-28  Simon Josefsson  <jas@extundo.com>
7814
7815         * lib/inet_ntop.h, inet_ntop.c: Make it work under mingw32: Add
7816         "restrict" keywords, as per POSIX.  Protect the function
7817         declaration around HAVE_DECL_INET_NTOP rather than HAVE_INET_NTOP.
7818         Don't use K&R prototypes.  Check the sprintf return values.
7819         Re-define EAFNOSUPPORT if not present.  Indent.
7820
7821         * lib/md5.h, md5.c: Simplify buffer handling visavi alignment,
7822         suggested by Bruno Haible <bruno@clisp.org>.
7823
7824         * lib/gc-gnulib.c, gc-libgcrypt.c: Check calloc return value.
7825
7826         * lib/gc.h: Add MD2 and RMD160 length defines.  Add prototypes.
7827
7828         * lib/gc-libgcrypt.c: Add MD2 (which is not available through
7829         libgcrypt).
7830
7831         * lib/gc-gnulib.c: Add MD2.  Implement gc_hash_* API.
7832
7833         * lib/md2.h, lib/md2.c: New files.
7834
7835 2005-10-28  Paul Eggert  <eggert@cs.ucla.edu>
7836
7837         * lib/savedir.c (savedir): Don't assume that xrealloc etc. leave
7838         errno alone.  Problem reported by Frederic Jolliton.
7839
7840 2005-10-27  Paul Eggert  <eggert@cs.ucla.edu>
7841
7842         * modules/verify (License): Change from GPL to LGPL.  This is a
7843         tiny module and there are apparently near-equivalents that are
7844         under the BSD license.
7845
7846 2005-10-24  Simon Josefsson  <jas@extundo.com>
7847
7848         * modules/sha1: Relicense to LGPL.
7849
7850 2005-10-24  Simon Josefsson  <jas@extundo.com>
7851
7852         * lib/md4.h: Shrink buffer size, now that we changed the type.
7853
7854 2005-10-23  Simon Josefsson  <jas@extundo.com>
7855
7856         * gnulib-tool (func_import): Fix --tests-base.
7857
7858 2005-10-22  Simon Josefsson  <jas@extundo.com>
7859
7860         * modules/arcfour (Depends-on): Need stdint.
7861
7862 2005-10-22  Simon Josefsson  <jas@extundo.com>
7863
7864         * m4/gc.m4: Don't be fooled by --disable-*random-device parameters,
7865         suggested by Bruno Haible <bruno@clisp.org>.  Fix error messages.
7866
7867 2005-10-22  Simon Josefsson  <jas@extundo.com>
7868
7869         * lib/md4.h, md4.c: Simplify buffer handling visavi alignment,
7870         suggested by Bruno Haible <bruno@clisp.org>.
7871
7872 2005-10-22  Simon Josefsson  <jas@extundo.com>
7873
7874         * lib/crc.h: Include stddef.h, for size_t.
7875
7876 2005-10-22  Simon Josefsson  <jas@extundo.com>
7877
7878         * lib/arcfour.h, arcfour.c: Use fixed size indices in the
7879         arcfour_context struct (simplify test vector testing in GNU
7880         Shishi).
7881
7882 2005-10-21  Simon Josefsson  <jas@extundo.com>
7883
7884         * modules/des, modules/des-tests: New files.
7885
7886         * modules/gc-des, modules/gc-des-tests: New files.
7887
7888         * tests/test-des.c, tests/test-gc-des.c: New file.
7889
7890 2005-10-21  Simon Josefsson  <jas@extundo.com>
7891
7892         * modules/arctwo, modules/arctwo-tests: New files.
7893
7894         * tests/test-arctwo.c: New file.
7895
7896         * modules/gc-arctwo, modules/gc-arctwo-tests: New files.
7897
7898         * tests/test-gc-arctwo.c: New file.
7899
7900 2005-10-21  Simon Josefsson  <jas@extundo.com>
7901
7902         * m4/gc.m4: Don't use libgcrypt if gcrypt.h isn't found, suggested by
7903         Bruno Haible <bruno@clisp.org>.
7904
7905         * m4/gc-des.m4: New file.
7906
7907 2005-10-21  Simon Josefsson  <jas@extundo.com>
7908
7909         * m4/arctwo.m4: New file.
7910
7911         * m4/gc-arctwo.m4: New file.
7912
7913 2005-10-21  Simon Josefsson  <jas@extundo.com>
7914
7915         * lib/rijndael-api-fst.c: Fix bugs in CBC mode for more than one
7916         block.
7917
7918 2005-10-21  Simon Josefsson  <jas@extundo.com>
7919
7920         * lib/hmac-md5.c (hmac_md5): Add comments, suggested by Bruno Haible
7921         <bruno@clisp.org>.
7922
7923         * lib/hmac-sha1.c (hmac_sha1): Likewise.
7924
7925         * lib/crc.c (crc32_update): Actually use crc parameter, suggested by
7926         Bruno Haible <bruno@clisp.org>.
7927
7928         * lib/crc.h: Include stdint.h directly, suggested by Bruno Haible
7929         <bruno@clisp.org>.
7930
7931 2005-10-21  Simon Josefsson  <jas@extundo.com>
7932
7933         * lib/gc-libgcrypt.c (gc_cipher_open): Handle ECB.
7934
7935 2005-10-21  Simon Josefsson  <jas@extundo.com>
7936
7937         * lib/gc-gnulib.c: Support ARCTWO in CBC mode.
7938
7939 2005-10-21  Simon Josefsson  <jas@extundo.com>
7940
7941         * lib/des.h, lib/des.c: New files.
7942
7943         * lib/gc-gnulib.c: Support DES.c
7944
7945 2005-10-21  Simon Josefsson  <jas@extundo.com>
7946
7947         * lib/arctwo.h, lib/arctwo.c: New files.
7948
7949         * lib/gc-gnulib.c: Support ARCTWO.
7950
7951 2005-10-21  Simon Josefsson  <jas@extundo.com>
7952
7953         * lib/arctwo.h (arctwo_setkey): Protect variable in CPP macro,
7954         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
7955
7956 2005-10-21  Simon Josefsson  <jas@extundo.com>
7957
7958         * gnulib-tool (func_import, func_create_testdir): Define automake
7959         conditional GL_COND_LIBTOOL if libtool is used (to be used by modules
7960         Makefile.am snippet),
7961         suggested by Bruno Haible <bruno@clisp.org>.
7962
7963         * modules/gc (Makefile.am): Use it.
7964
7965 2005-10-21  Bruno Haible  <bruno@clisp.org>
7966
7967         * gnulib-tool (func_import, func_create_testdir): Add quoting to last
7968         patch.
7969
7970 2005-10-19  Simon Josefsson  <jas@extundo.com>
7971
7972         * tests/test-gc-rijndael.c: New file.
7973
7974         * modules/gc-rijndael, modules/gc-rijndael-test: New files.
7975
7976 2005-10-19  Simon Josefsson  <jas@extundo.com>
7977
7978         * tests/test-gc-md4.c, tests/test-gc-md5.c: Test gc_hash_buffer
7979         interface too.
7980
7981 2005-10-19  Simon Josefsson  <jas@extundo.com>
7982
7983         * tests/test-gc-arcfour.c: New file.
7984
7985         * modules/gc-arcfour, modules/gc-arcfour-tests: New files.
7986
7987 2005-10-19  Simon Josefsson  <jas@extundo.com>
7988
7989         * modules/gc-md4, modules/gc-md4-tests: New file.
7990
7991         * tests/test-gc-md4.c: New file.
7992
7993 2005-10-19  Simon Josefsson  <jas@extundo.com>
7994
7995         * m4/gc-md4.m4: New file.
7996
7997 2005-10-19  Simon Josefsson  <jas@extundo.com>
7998
7999         * m4/gc-hmac-md5.m4, gc-hmac-sha1.m4, gc-md4.m4,
8000         gc-md5.m4, gc-sha1.m4: Fix typo, suggested by Stepan Kasal
8001         <kasal@ucw.cz>.
8002
8003 2005-10-19  Simon Josefsson  <jas@extundo.com>
8004
8005         * m4/gc-arcfour.m4: New file.
8006
8007         * m4/gc-rijndael.m4: New file.
8008
8009 2005-10-19  Simon Josefsson  <jas@extundo.com>
8010
8011         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support MD4.
8012
8013 2005-10-19  Simon Josefsson  <jas@extundo.com>
8014
8015         * lib/gc-gnulib.c: Support ARCFOUR.
8016
8017 2005-10-19  Simon Josefsson  <jas@extundo.com>
8018
8019         * lib/gc-gnulib.c: Implement gc_cipher_* API, currently only with AES
8020         support.
8021
8022         * lib/gc.h: Add ECB enum type.
8023
8024         * lib/hmac-md5.c, hmac-sha1.c: Include memxor.h.
8025
8026 2005-10-18  Simon Josefsson  <jas@extundo.com>
8027
8028         * tests/test-md5.c: New file.
8029
8030         * modules/md5-tests: New file.
8031
8032 2005-10-18  Simon Josefsson  <jas@extundo.com>
8033
8034         * tests/test-md4.c: New file.
8035
8036         * modules/md4, modules/md4-tests: New files.
8037
8038 2005-10-18  Simon Josefsson  <jas@extundo.com>
8039
8040         * m4/md4.m4: New file.
8041
8042 2005-10-18  Simon Josefsson  <jas@extundo.com>
8043
8044         * lib/md4.h, lib/md4.c: New files, based on md5.?.
8045
8046 2005-10-17  Stepan Kasal  <kasal@ucw.cz>
8047
8048         * gnulib-tool (func_create_testdir): Omit the second check whether
8049         BUILT_SOURCES in nonempty.
8050
8051 2005-10-17  Simon Josefsson  <jas@extundo.com>
8052
8053         * tests/test-rijndael.c: New file.
8054
8055 2005-10-17  Simon Josefsson  <jas@extundo.com>
8056
8057         * modules/sha1: Depend on stdint instead of md5.
8058
8059         * modules/md5: Depend on stdint, remove uint32_t.
8060
8061 2005-10-17  Simon Josefsson  <jas@extundo.com>
8062
8063         * modules/gc-sha1-tests: New file.
8064
8065         * tests/test-gc-sha1.c: New file.
8066
8067 2005-10-17  Simon Josefsson  <jas@extundo.com>
8068
8069         * m4/md5.m4: Remove call to uint32_t.m4.
8070
8071 2005-10-17  Simon Josefsson  <jas@extundo.com>
8072
8073         * lib/sha1.c: Use uint32_t instead of md5_uint32.t
8074
8075         * lib/sha1.h: Use stdint.h and uint32_t instead of md5_uint32 from
8076         md5.h.
8077
8078         * lib/md5.c: Use uin32_t.  Fix non-gcc UNALIGNED_P macro.
8079
8080         * lib/md5.h: Use stdint.h and uint32_t.  Doc fix.
8081
8082 2005-10-17  Simon Josefsson  <jas@extundo.com>
8083
8084         * lib/gc.h, gc-libgcrypt.c: Add more hash types/functions.
8085
8086 2005-10-17  Simon Josefsson  <jas@extundo.com>
8087
8088         * lib/gc.h, gc-libgcrypt.c: Add ciphers.
8089
8090 2005-10-17  Simon Josefsson  <jas@extundo.com>
8091
8092         * lib/gc-libgcrypt.c (gc_hmac_sha1): Fix assert.
8093
8094         * lib/gc.h (gc_nonce, gc_pseudo_random, gc_random): Add prototypes.
8095
8096 2005-10-17  Bruno Haible  <bruno@clisp.org>
8097
8098         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Change the return statement so
8099         that it can also be used in a test.
8100
8101 2005-10-16  Bruno Haible  <bruno@clisp.org>
8102
8103         * gnulib-tool (func_emit_tests_Makefile_am): Also define
8104         TESTS_ENVIRONMENT, so that individual tests can augment it.
8105
8106         * gnulib-tool (func_create_testdir): Use an intermediate target for
8107         building $(BUILT_SOURCES). Needed because BUILT_SOURCES can contain
8108         macros, like $(ALLOCA_H), which cannot be passed through the command
8109         line.
8110
8111 2005-10-15  Simon Josefsson  <jas@extundo.com>
8112
8113         * modules/rijndael-tests: New file.
8114
8115         * modules/rijndael: New file.
8116
8117 2005-10-15  Simon Josefsson  <jas@extundo.com>
8118
8119         * m4/rijndael.m4: New file.
8120
8121 2005-10-15  Simon Josefsson  <jas@extundo.com>
8122
8123         * lib/rijndael-api-fst.h, lib/rijndael-api-fst.c: New files.
8124
8125         * lib/rijndael-alg-fst.h, lib/rijndael-alg-fst.c: New files.
8126
8127 2005-10-14  Simon Josefsson  <jas@extundo.com>
8128
8129         * tests/test-arcfour.c: New file.
8130
8131         * modules/arcfour, modules/arcfour-tests: New files.
8132
8133 2005-10-14  Simon Josefsson  <jas@extundo.com>
8134
8135         * m4/arcfour.m4: New file.
8136
8137 2005-10-14  Simon Josefsson  <jas@extundo.com>
8138
8139         * lib/arcfour.h, lib/arcfour.c: New files.
8140
8141 2005-10-14  Roland McGrath  <roland@redhat.com>
8142
8143         Import from libc.  [BZ #1331]
8144         * lib/obstack.h [!__STDC__] (obstack_int_grow_fast): Fix misnamed
8145         macro argument.
8146         Reported by Matej Vela <vela@debian.org>.
8147
8148 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
8149
8150         * lib/obstack.c [defined _LIBC && defined USE_IN_LIBIO]: Don't
8151         include <wchar.h>; no longer needed.
8152
8153 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
8154
8155         * config/srclist.txt: Add glibc bug 321 for obstack.c, obstack.h.
8156
8157 2005-10-14  Jakub Jelinek  <jakub@redhat.com>
8158         and  Ulrich Drepper  <drepper@redhat.com>
8159
8160         Import from libc.
8161         * lib/obstack.c (print_and_abort) [defined _LIBC]: Use __fxprintf
8162         instead of inline stream orientation test and two separate
8163         function calls.  Pay no attention to USE_IN_LIBIO.
8164
8165 2005-10-13  Simon Josefsson  <jas@extundo.com>
8166
8167         * modules/gc-hmac-md5-tests: New file.
8168
8169         * tests/test-gc-hmac-sha1.c: New file.
8170
8171         * tests/test-gc.c (main): Remove MD5 and HMAC-MD5 tests.
8172
8173         * modules/gc-hmac-md5-tests: New file.
8174
8175         * tests/test-gc-md5.c: New file.
8176
8177         * modules/gc-md5-tests: New file.
8178
8179 2005-10-13  Simon Josefsson  <jas@extundo.com>
8180
8181         * lib/gc-pbkdf2-sha1.c (gc_pbkdf2_sha1): Optimize CEIL computation.
8182         Move memory allocation outside of loop.
8183
8184 2005-10-13  Paul Eggert  <eggert@cs.ucla.edu>
8185
8186         * lib/mkdir-p.c (make_dir_parents): Don't report an error if an
8187         intermediate directory is in a read-only file system.  Problem
8188         reported by Eric Blake.
8189
8190 2005-10-13  Oskar Liljeblad  <oskar@osk.mine.nu>
8191
8192         * modules/human (Depends-on): Depend on xstrtoumax, not xstrtol.
8193
8194 2005-10-12  Simon Josefsson  <jas@extundo.com>
8195
8196         * tests/test-hmac-sha1.c: New file.
8197
8198         * modules/hmac-sha1-tests: New file.
8199
8200         * modules/hmac-sha1: New file.
8201
8202 2005-10-12  Simon Josefsson  <jas@extundo.com>
8203
8204         * modules/gc-sha1: New file.
8205
8206 2005-10-12  Simon Josefsson  <jas@extundo.com>
8207
8208         * modules/gc-pbkdf2-sha1, modules/gc-pbkdf2-sha1-tests: New files.
8209
8210         * tests/test-gc-pbkdf2-sha1.c: New file.
8211
8212 2005-10-12  Simon Josefsson  <jas@extundo.com>
8213
8214         * modules/gc-md5, modules/gc-hmac-md5: New files.
8215
8216         * modules/gc (Files): Remove md5, memxor and hmac files.
8217
8218 2005-10-12  Simon Josefsson  <jas@extundo.com>
8219
8220         * m4/gc-pbkdf2-sha1.m4: New file.
8221
8222         * m4/gc-hmac-sha1.m4: New file.
8223
8224         * m4/gc-sha1: New file.
8225
8226         * m4/hmac-sha1.m4: New file.
8227
8228 2005-10-12  Simon Josefsson  <jas@extundo.com>
8229
8230         * m4/gc-md5.m4, m4/gc-hmac-md5.m4: New files.
8231
8232         * m4/gc.m4: Don't call gl_MD5, gl_MEMXOR or gl_HMAC_MD5.
8233
8234 2005-10-12  Simon Josefsson  <jas@extundo.com>
8235
8236         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Use Gc_rc for return types,
8237         suggested by Bruno Haible <bruno@clisp.org>.
8238
8239 2005-10-12  Simon Josefsson  <jas@extundo.com>
8240
8241         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support SHA-1.
8242
8243 2005-10-12  Simon Josefsson  <jas@extundo.com>
8244
8245         * lib/gc-pbkdf2-sha1.c: New file.
8246
8247         * lib/gc.h: Add gc_pbkdf2_sha1 prototype.
8248
8249 2005-10-12  Simon Josefsson  <jas@extundo.com>
8250
8251         * lib/gc-libgcrypt.c (gc_hmac_sha1): New function.
8252
8253         * lib/gc-gnulib.c (gc_hmac_sha1): New function.
8254
8255 2005-10-12  Simon Josefsson  <jas@extundo.com>
8256
8257         * lib/gc-gnulib.c: Condition MD5 and HMAC-MD5 use on GC_USE_MD5 and
8258         GC_USE_HMAC_MD5, respectively.
8259
8260         * lib/gc-libgcrypt.c (gc_md5): Fix assert call.
8261         (gc_md5): Fix typo.
8262
8263         * lib/gc.h (gc_hash_buffer): Use gc_hash in prototype.
8264
8265         * lib/gc-libgcrypt.c (gc_hash_buffer): Ditto.
8266
8267         * lib/gc-gnulib.c (gc_hash_buffer): Ditto.
8268
8269 2005-10-12  Bruno Haible  <bruno@clisp.org>
8270
8271         * m4/stdbool.m4 (gl_STDBOOL_H): Define as an alias of AM_STDBOOL_H.
8272         Reported by Stepan Kasal <kasal@ucw.cz>.
8273
8274 2005-10-11  Simon Josefsson  <jas@extundo.com>
8275
8276         * tests/test-crc.c: New file.
8277
8278         * modules/crc, modules/crc-tests: New files.
8279
8280 2005-10-11  Simon Josefsson  <jas@extundo.com>
8281
8282         * m4/crc.m4: New file.
8283
8284 2005-10-11  Simon Josefsson  <jas@extundo.com>
8285
8286         * lib/gc.h: Add gc_hash and gc_hash_buffer.
8287
8288         * lib/gc-gnulib.c (gc_hash_buffer): Add.  Reorder #include's.
8289
8290         * lib/gc-libgcrypt.c (gc_hash_buffer): Add.
8291
8292 2005-10-11  Simon Josefsson  <jas@extundo.com>
8293
8294         * lib/crc.h, lib/crc.c: New files.
8295
8296         * lib/gc.h (gc_hash_buffer): Add doc.
8297
8298 2005-10-11  Bruno Haible  <bruno@clisp.org>
8299
8300         * modules/c-strcasestr: New file.
8301         * MODULES.html.sh (String handling <string.h>): Add c-strcasestr.
8302
8303 2005-10-11  Bruno Haible  <bruno@clisp.org>
8304
8305         * modules/c-strcase: New file.
8306         * MODULES.html.sh (String handling <string.h>): Add c-strcase.
8307
8308 2005-10-11  Bruno Haible  <bruno@clisp.org>
8309
8310         * lib/strcasecmp.c: Include limits.h.
8311         (strcasecmp): Avoid integer overflow on exotic platforms.
8312         * lib/strncasecmp.c: Include limits.h.
8313         (strncasecmp): Avoid integer overflow on exotic platforms.
8314         Reported by Paul Eggert.
8315
8316 2005-10-11  Bruno Haible  <bruno@clisp.org>
8317
8318         * lib/c-strcasestr.h: New file, from GNU gettext.
8319         * lib/c-strcasestr.c: New file, from GNU gettext.
8320
8321 2005-10-11  Bruno Haible  <bruno@clisp.org>
8322
8323         * lib/c-strcase.h: New file, from GNU gettext.
8324         * lib/c-strcasecmp.c: New file, from GNU gettext.
8325         * lib/c-strncasecmp.c: New file, from GNU gettext.
8326
8327 2005-10-10  Paul Eggert  <eggert@cs.ucla.edu>
8328
8329         * modules/mempcpy (License): GPL -> LGPL.
8330         * modules/strchrnul (License): Likewise.
8331         * modules/sysexits (License): Likewise.
8332
8333 2005-10-08  Simon Josefsson  <jas@extundo.com>
8334
8335         * config/srclist.txt: Bug 1423 is closed, but 1439 remains.
8336
8337 2005-10-07  Simon Josefsson  <jas@extundo.com>
8338
8339         * m4/memxor.m4: Remove gl_C_RESTRICT call.
8340
8341 2005-10-06  Simon Josefsson  <jas@extundo.com>
8342
8343         * tests/test-hmac-md5.c: New file.
8344
8345         * modules/hmac-md5-tests: New file.
8346
8347         * modules/hmac-md5: New file.
8348
8349 2005-10-06  Simon Josefsson  <jas@extundo.com>
8350
8351         * m4/hmac-md5.m4: New file.
8352
8353         * m4/memxor.m4: Require gl_C_RESTRICT.
8354
8355 2005-10-06  Simon Josefsson  <jas@extundo.com>
8356
8357         * lib/memxor.c (memxor): Avoid casts and warnings.
8358
8359 2005-10-06  Simon Josefsson  <jas@extundo.com>
8360
8361         * lib/hmac-md5.c: New file.
8362
8363         * lib/hmac.h: New file.
8364
8365 2005-10-06  Paul Eggert  <eggert@cs.ucla.edu>
8366
8367         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check that bool
8368         promotes to int, not unsigned int, to catch the AIX 5.3
8369         compiler bug.
8370
8371 2005-10-05  Simon Josefsson  <jas@extundo.com>
8372
8373         * modules/memxor: New file.
8374
8375         * modules/iconv (Files): Move config.rpath to havelib, it is used
8376         there.
8377
8378         * modules/havelib (Files): Add config.rpath.
8379
8380 2005-10-05  Simon Josefsson  <jas@extundo.com>
8381
8382         * m4/memxor.m4: New file.
8383
8384 2005-10-05  Simon Josefsson  <jas@extundo.com>
8385
8386         * lib/memxor.c (memxor): Fix compiler error.
8387
8388         * lib/md5.h (MD5_DIGEST_SIZE, MD5_BLOCK_SIZE): Add, see also
8389         <http://sourceware.org/bugzilla/show_bug.cgi?id=1423>.
8390
8391         * lib/memxor.h, lib/memxor.c: New files.
8392
8393         * lib/getaddrinfo.h: Don't protect sys/types.h with HAVE_SYS_TYPES_H,
8394         we assume all systems have it, suggested by Jim Meyering
8395         <jim@meyering.net>.  Remove HAVE_SYS_SOCKET_H test too, to see if
8396         any systems lack sys/socket.h; mingw32 is known to lack it, but we
8397         don't support it yet anyway.  Also remove HAVE_NETDB_H test, for
8398         same reasons.
8399
8400 2005-10-05  Simon Josefsson  <jas@extundo.com>
8401
8402         * config/srclist.txt: Add glibc bug 1423 for md5.h.
8403
8404 2005-10-05  Paul Eggert  <eggert@cs.ucla.edu>
8405
8406         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Don't check for
8407         sys/socket.h, netdb.h, sys/types.h; the checks areno longer
8408         needed, since the source code now assumes these .h files.
8409
8410 2005-10-05  Derek Price  <derek@ximbiot.com>
8411
8412         * lib/getdelim.c (SIZE_MAX): New macro, if not already defined.
8413
8414 2005-10-05  Bruno Haible  <bruno@clisp.org>
8415
8416         * modules/stdint (License): Change to LGPL.
8417
8418 2005-10-04  Simon Josefsson  <jas@extundo.com>
8419
8420         * lib/getaddrinfo.h: Move sys/types.h include first, reported by "Mark
8421         D. Baushke" <mdb@gnu.org>.
8422
8423 2005-10-04  Bruno Haible  <bruno@clisp.org>
8424
8425         * lib/verify.h (verify_true): Provide alternative definition for C++.
8426
8427 2005-10-03  Paul Eggert  <eggert@cs.ucla.edu>
8428
8429         * lib/getdelim.c: Include getdelim.h first.  Include <limits.h>.
8430         (SSIZE_MAX): New macro, if not already defined.
8431         (getdelim): Fix buffer overrun on 64-bit hosts with lines longer
8432         than 2 GiB.
8433
8434 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
8435
8436         Sync from coreutils.
8437         * m4/openat.m4 (gl_FUNC_OPENAT): Check for fdopendir.
8438         * m4/ullong_max.m4 (gl_ULLONG_MAX): Simplify so that it merely
8439         defines ULONG_MAX_LT_ULLONG_MAX.  Thomas M.Ott reports that
8440         ULLONG_MAX doesn't work with 2.7.2.1.
8441
8442 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
8443
8444         * modules/xreadlink (Makefile.am): Remove lib_SOURCES.
8445         From Ben Pfaff.
8446
8447         * modules/exclude (Depends-on): Depend on verify.
8448         * modules/strtoimax (Depends-on): Likewise.
8449         * modules/utimecmp (Depends-on): Likewise.
8450
8451 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
8452
8453         * lib/exclude.c: Include verify.h.
8454         (verify): Remove.  All callers changed to use verify.h's version.
8455         * lib/strtoimax.c: Likewise.
8456         * lib/utimecmp.c: Likewis.e
8457
8458         Sync from coreutils.
8459         * lib/.cppi-disable: Add getaddrinfo.h, getdelim.h, getline.h,
8460         getpass.c, mbchar.h, mbuiter.h, strcase.h, strnlen.h, strnlen1.h.
8461         * lib/.cvsignore: Add fts.h, search.h, t-fpending.
8462         * lib/settime.c (settime): Fix { typo in previous patch.  Also, don't
8463         bother returning ENOSYS if settimeofday or stime fails; just let
8464         them return whatever errno they want to return.
8465         * lib/utimens.c: Include unistd.h, for dup2.
8466         (futimens): Fix typo: HAVE_FUTIMESAT was misspelled in an #if.
8467         (futimens) [! HAVE_FUTIMESAT]: If !file, set errno before returning -1.
8468
8469 2005-10-02  Jim Meyering  <jim@meyering.net>
8470
8471         Sync from coreutils.
8472         * m4/utimes.m4 (gl_FUNC_UTIMES): Detect the version of utimes
8473         from glibc-2.2.5 that fails for read-only files.
8474
8475 2005-10-02  Jim Meyering  <jim@meyering.net>
8476
8477         Sync from coreutils.
8478         * lib/fts-cycle.c [HAVE_CONFIG_H]: Include <config.h>.
8479         * lib/openat-die.c: Use `#ifdef HAVE_CONFIG_H', not
8480         `#if HAVE_CONFIG_H'.
8481         * lib/openat.c (fdopendir): Do not define if HAVE_FDOPENDIR.
8482         Remove AT_FDCWD test.
8483         Do not consume the fd unless successful.
8484         * lib/openat.h (fdopendir): Do not define if HAVE_FDOPENDIR.
8485         * lib/settime.c (settime): Move the HAVE_STIME block `up' into an #elif
8486         block, so that we don't even try to compile it if settimeofday is
8487         available.  This works around a compilation failure on OSF1 V5.1,
8488         due to stime requiring a `long int*' while tv_sec is `int'.
8489
8490 2005-10-02  Alfred M. Szmidt  <ams@gnu.org>
8491
8492         Sync from coreutils.
8493         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Compare $gl_have_path...
8494         against `yes', rather than just testing for nonempty.
8495
8496 2005-10-01  Simon Josefsson  <jas@extundo.com>
8497
8498         * m4/getaddrinfo.m4: Include sys/types.h for sys/socket.h, on FreeBSD
8499         and Darwin.
8500
8501         * m4/getaddrinfo.m4: Use AC_GNU_SOURCE, GNU only declare getaddrinfo
8502         as an (POSIX) extension.  Check for sys/types.h, sys/socket.h, and
8503         netdb.h too, needed by getaddrinfo.h.  Check if getaddrinfo,
8504         freeaddrinfo and gai_strerror are declared by the POSIX headers.
8505         Check if struct addrinfo is declared.
8506
8507 2005-10-01  Simon Josefsson  <jas@extundo.com>
8508
8509         * lib/getaddrinfo.h: Protect #include's of sys/socket.h and netdb.h.
8510         Only define struct addrinfo if !HAVE_STRUCT_ADDRINFO.  Protect
8511         AI_* and EAI_* definitions.  Protect function declarations.
8512
8513 2005-10-01  Jim Meyering  <jim@meyering.net>
8514
8515         Sync from coreutils.
8516
8517         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Look for getservbyname in these
8518         libraries [inet nsl socket xnet].  Nelson Beebe reported that with
8519         native cc on Solaris 7, getaddrinfo.c requires -lsocket.
8520         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
8521         in the inet and nsl libraries.  Required on Solaris 5.7.
8522
8523 2005-10-01  Jim Meyering  <jim@meyering.net>
8524
8525         Sync from coreutils.
8526         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
8527         in the inet and nsl libraries.  Required on Solaris 5.7.
8528
8529 2005-10-01  Eric Blake  <ebb9@byu.net>  (tiny change)
8530
8531         * lib/getdelim.c (getdelim): Remove unused variables.
8532
8533 2005-09-29  Paul Eggert  <eggert@cs.ucla.edu>
8534
8535         * lib/xtime.h (XTIME_PRECISION): Now of type int, not long long int,
8536         so that the code works even with ancient cpp.  Portability problem
8537         with GCC 2.7.2.1 reported by Thomas M.Ott.
8538
8539 2005-09-27  Paul Eggert  <eggert@cs.ucla.edu>
8540
8541         * modules/regex (Depends-on): Add strcase.
8542
8543         * modules/gethostname (Licence): Change from GPL to LGPL, since
8544         gethostname.c is a trivial implementation of a standard library
8545         function.
8546         * modules/poll (License): Change from GPL to LGPL, since it's
8547         derived from LGPL code.
8548
8549 2005-09-27  Jim Meyering  <jim@meyering.net>
8550
8551         * lib/getcwd.c: Change #ifdef<TAB>HAVE_CONFIG_H to #ifdef
8552         HAVE_CONFIG_H.
8553
8554         * lib/intprops.h (signed_type_or_expr__): Define.
8555         (INT_STRLEN_BOUND) [__GNUC__]: Use a slightly tighter bound
8556         for unsigned types.
8557
8558 2005-09-26  Paul Eggert  <eggert@cs.ucla.edu>
8559
8560         * lib/verify.h (verify_expr): Remove, replacing with:
8561         (verify_true): New macro that returns true instead of void.
8562         (verify_type__): Remove.
8563         (verify): Use verify_true rather than verify_type__.
8564
8565 2005-09-26  Bruno Haible  <bruno@clisp.org>
8566
8567         * modules/mbchar (Include): Mention that HAVE_WCHAR_H && HAVE_WCTYPE_H
8568         is necessary.
8569         (lib_SOURCES): Remove mbchar.c.
8570         * modules/mbfile (Include): Mention that HAVE_MBRTOWC is necessary.
8571         (Files): Add m4/mbrtowc.m4.
8572         * modules/mbiter: Likewise.
8573         * modules/mbuiter: Likewise.
8574
8575 2005-09-26  Bruno Haible  <bruno@clisp.org>
8576
8577         * m4/mbchar.m4 (gl_MBCHAR): Check for wchar.h and wctype.h. Don't
8578         compile mbchar.c if they are not both present.
8579         * m4/mbfile.m4 (gl_MBFILE): Require gl_FUNC_MBRTOWC.
8580         * m4/mbiter.m4 (gl_MBITER): Likewise.
8581         * m4/strstr.m4 (gl_PREREQ_STRSTR): Use AC_REQUIRE.
8582         * m4/strcasestr.m4 (gl_PREREQ_STRCASESTR): Likewise.
8583         * m4/strcase.m4 (gl_PREREQ_STRCASECMP): Likewise.
8584
8585 2005-09-25  Jim Meyering  <jim@meyering.net>
8586
8587         * modules/inet_ntop (Depends-on): Add socklen, since inet_ntop.c
8588         also uses socklen_t.
8589
8590 2005-09-24  Paul Eggert  <eggert@cs.ucla.edu>
8591
8592         * lib/utimens.c (ENOSYS): Define if not already defined.
8593         (futimens): Support having a null PATH if the file descriptor
8594         is nonnegative.
8595
8596         * lib/regex_internal.h (__GNUC_PREREQ, always_inline, inline, pure):
8597         Remove.
8598         (__attribute): Define to empty unless GCC 3.1 or later.
8599         This works around a core dump on OpenBSD 3.4, which has GCC
8600         2.95.3, which dumps core when given __attribute__(()).  It also
8601         simplifies other tests, since we really don't want to bother with
8602         worrying about which ancient version of GCC supported what.
8603         Original problem reported by Yoann Vandoorselaere, with part of
8604         the fix suggested by Derek Price.
8605
8606 2005-09-24  Jim Meyering  <jim@meyering.net>
8607
8608         * lib/verify.h (verify_type__): Use `unsigned int' as the bitfield type
8609         so we can once again use a positive bitfield width of 1 -- now we
8610         don't have to explain why we were using a bitfield width of 2.
8611
8612 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
8613
8614         * m4/regex.m4 (gl_REGEX): If replacing, define regcomp to rpl_regcomp,
8615         and similarly for the other external symbols.  Problem reported
8616         by James Gallager.
8617
8618         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Catch Sun Studio 10u1 on Linux
8619         bug reported by Jim Meyering.
8620
8621         * m4/utimens.m4 (gl_UTIMENS): Check for futimesat.
8622         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Undo previous change;
8623         not needed, since socklen is a prerequisite module.
8624
8625 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
8626
8627         * lib/getaddrinfo.c [HAVE_NETINET_IN_H]: Include <netinet/in.h>.
8628         Problem reported by Eric Blake.
8629         (getaddrinfo): Initialize se so that it's not garbage.
8630         Redo internal storage allocation so that it doesn't make unportable
8631         assumptions about alignment.
8632         Fix a memory leak.
8633
8634         * lib/utimens.c (futimens): Use futimesat if available.
8635         Prefer it to futimes since it doesn't have the futimes bug.
8636
8637         * lib/verify.h (GL_CONCAT0, GL_CONCAT): Remove.
8638         (verify): Don't use the __LINE__ trick, as it doesn't work in general.
8639         Instead, declare a function that returns a pointer to an array,
8640         and use verify_type__ to declare the size of the array.
8641         Problem and germ of a solution reported by Bruno Haible.
8642         (verify_type__): Use 2, not 1, for bitfield size, to avoid
8643         a warning with Irix 6.5 cc.  Problem reported by Bruno Haible.
8644
8645 2005-09-23  Jim Meyering  <jim@meyering.net>
8646
8647         Sync from coreutils.
8648         Correct build failure (socklen_t not defined) on at least
8649         mips-sgi-irix6.5 and alphaev67-dec-osf5.1.
8650         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Require gl_SOCKLEN_T.
8651
8652 2005-09-23  Jim Meyering  <jim@meyering.net>
8653
8654         * modules/getaddrinfo (Depends-on): Add socklen.
8655
8656 2005-09-23  Bruno Haible  <bruno@clisp.org>
8657
8658         * tests/test-verify.c: New file.
8659
8660 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
8661
8662         Sync from coreutils.
8663
8664         * modules/argmatch (Depends-on): Add verify.
8665         * modules/getloadavg (Depends-on): Depend on fcntl-safer, not
8666         unistd-safer.
8667         * modules/save-cwd (Depends-on): Likewise.
8668
8669         * modules/openat (Files): Add lib/openat-die.c.
8670         (Depends-on): Remove error, exitfail.
8671         Add dirname.
8672
8673         * modules/verify: New file.
8674         * MODULES.html.sh (Diagnostics <assert.h>): New section,
8675         with "verify" module.
8676
8677 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
8678
8679         Sync from coreutils.
8680
8681         * m4/backupfile.m4, calloc.m4, chown.m4, cloexec.m4, dup2.m4:
8682         * m4/fileblocks.m4, free.m4, ftruncate.m4, getcwd.m4, getpagesize.m4:
8683         * m4/getugroups.m4, group-member.m4, idcache.m4, link-follow.m4:
8684         * m4/mkstemp.m4, mktime.m4, mountlist.m4, nanosleep.m4, pathmax.m4:
8685         * m4/physmem.m4, posixver.m4, putenv.m4, safe-read.m4, same.m4:
8686         * m4/save-cwd.m4, stdio-safer.m4, unistd-safer.m4, unlinkdir.m4:
8687         * m4/userspec.m4, xgetcwd.m4, xreadlink.m4:
8688         Don't bother checking for string.h, stdlib.h, unistd.h.
8689         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't require
8690         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK; that's now the lstat
8691         module's job.
8692         * m4/jm-macros.m4 (gl_MACROS): Likewise.
8693         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_LSTAT.
8694
8695         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): New macro.
8696         (gl_GETDATE): Use it.
8697
8698         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Don't bother checking for unistd.h.
8699
8700 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
8701
8702         Sync from coreutils.
8703
8704         * lib/.cppi-disable: Add regcomp.c, regex_internal.c, regex_internal.h,
8705         stat-time.h.
8706         * lib/argmatch.h: Include verify.h
8707         (ARGMATCH_VERIFY): Use verify rather than rolling our own.
8708         (ARGMATCH_ASSERT): Remove; unused.
8709         * lib/canonicalize.c: Assume STDC_HEADERS.
8710         * lib/exclude.c: Include "strcase.h".
8711         * lib/regex_internal.h [!defined _LIBC]: Likewise.
8712         * lib/getusershell.c: Include stdio--.h rather than stdio.h
8713         and stdio-safer.h.
8714         (getusershell): Call fopen, not fopen_safer.
8715         * lib/save-cwd.c: Include fcntl--.h rather than fcntl.h.
8716         Do not include unistd-safer.h.
8717         (save_cwd): Don't call fd_safer; no longer needed
8718         now that we include fcntl--.h.
8719
8720         * lib/getdate.y (relative_time): New type.
8721         (RELATIVE_TIME_0): New constant.
8722         (parser_control): Use relative_time instead of doing it ourselves.
8723         (%union): Add new relative_time rel member.
8724         (tYEAR_UNIT, tMONTH_UNIT, tHOUR_UNIT, tMINUTE_UNIT, tSEC_UNIT):
8725         Now typeless.
8726         (relunit, relunit_snumber): Now of type rel.
8727         (zone, rel, relunit, get_date): Adjust to above changes.
8728
8729         * lib/getloadavg.c: Include fcntl--.h rather than fcntl.h.
8730         Do not include unistd-safer.h.
8731         (getloadavg): Don't call fd_safer; no longer needed
8732         now that we include fcntl--.h.
8733
8734         * lib/mkdir-p.c (ENOSYS): Define to EEXIST if not defined.
8735         (make_dir_parents): Treat ENOSYS like EEXIST.
8736
8737         Improve quality of diagnostics on restore_cwd failure.
8738         * lib/mkdir-p.h (make_dir): Remove.  All uses replaced by mkdir.
8739         (make_dir_parents): Last arg is now int * (for errno), not bool *.
8740         * lib/mkdir-p.c (make_dir, make_dir_parents): Likewise.
8741         Rewrite "mkdir -p" algorithm to avoid the need for "stat"
8742         each time through the loop.  Do not diagnose restore_cwd failure;
8743         that is the caller's job (and perhaps the caller does not care).
8744
8745         * lib/mkdir-p.c (CLEANUP_CWD, CLEANUP): Remove.
8746         (make_dir_parents): Revamp to avoid need for CLEANUP_CWD, CLEANUP.
8747         If the file already exists but is not a directory, don't bother
8748         to try to make its parents.
8749         Close potential file descriptor leak if we can't chdir("/") (!).
8750         Don't always return true if chdir($PWD) fails; return true only
8751         if the requested action was done successfully (except for the
8752         chdir($PWD)).
8753         Don't log final directory unless we actually made it.
8754         Refactor to avoid duplicate code to fix up permissions.
8755         Don't attempt to fix up parent permissions if chdir($PWD) fails.
8756
8757         * lib/strftime.c (my_strftime): Rewrite the previous change slightly,
8758         to make it a bit faster and (I hope) clearer.
8759         * lib/strftime.c (my_strftime): Add support for %:z, %::z, %:::z.
8760         Fix bug in formats like %2N.
8761
8762         * lib/verify.h: New file.
8763
8764 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
8765
8766         Sync from coreutils.
8767         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Check for netinet/in.h.
8768
8769 2005-09-22  Jim Meyering  <jim@meyering.net>
8770
8771         Sync from coreutils.
8772
8773         * m4/lstat.m4 (gl_FUNC_LSTAT):
8774         Use AC_LIBSOURCES to require lstat.c and lstat.h.
8775         Remove obsolete comment.
8776         * m4/xreadlink.m4: Use AC_LIBSOURCES and AC_LIBOBJ.
8777         * m4/xstrtod.m4: Likewise.
8778
8779         * m4/openat.m4 (gl_FUNC_OPENAT): Add openat-die.c.
8780
8781 2005-09-22  Jim Meyering  <jim@meyering.net>
8782
8783         Sync from coreutils.
8784
8785         * lib/backupfile.c: Use ARGMATCH_VERIFY, just in case.
8786
8787         * lib/posixtm.c (posixtime) [lint]: Initialize *all* of tm0, not just
8788         the .tm_year member, since otherwise gcc-4.0 would now warn about
8789         tm_zone, tm_gmtoff, tm_isdst, tm_yday, tm_wday.
8790
8791         * lib/quotearg.c (quotearg_n_options): Change code to be suboptimal, in
8792         order to avoid an unsuppressible warning from gcc on 64-bit systems.
8793
8794         * lib/getdate.y (get_date): Undo part of the 2005-04-04 change, so that
8795         the command "date -d'2005-03-27 +1 day'" succeeds once again, even
8796         when run in a time zone for which daylight savings time is in effect
8797         for the starting date.
8798
8799         * lib/mkdir-p.c (make_dir_parents): Don't let a failed chdir($PWD)
8800         stop us from restricting permissions of just-created absolute-named
8801         directories.
8802         * lib/mkdir-p.c (CLEANUP_CWD): Return *true*, not false when failing
8803         to restore initial working directory.
8804         * lib/mkdir-p.c (make_dir_parents): New parameter:
8805         different_working_dir, to tell caller if/when we change the working
8806         directory and are unable to return to the initial one.
8807         * lib/mkdir-p.h (make_dir_parents): Update prototype.
8808         * lib/mkdir-p.c (CLEANUP_CWD): Change one more `return 1' to
8809         `return false'.  This fixes a bug introduced on 2004-07-30.
8810
8811         * lib/openat.c (fdopendir): Be sure to close the supplied
8812         file descriptor before returning.  This makes our replacement
8813         implementation a little closer to Solaris's, where fdopendir
8814         ties the file descriptor to the returned DIR* pointer.
8815         * lib/openat.c (unlinkat): New function.
8816         * lib/openat.h (unlinkat): Add prototype.
8817         * lib/openat-die.c (openat_save_fail): Rename from openat_save_die.
8818         (openat_restore_fail): Rename from openat_restore_die.
8819         * lib/openat.c, openat.h: Reflect s/_die/_fail/ renaming.
8820
8821         Provide an alternative to exiting immediately upon save_cwd or
8822         restore_cwd failure.  Now, an application can arrange e.g.,
8823         to perform a longjump in that case.
8824         * lib/openat.c: Include dirname.h.
8825         Use IS_ABSOLUTE_FILE_NAME rather than testing for leading slash.
8826         (rpl_openat, fdopendir, fstatat): Call openat_save_die
8827         and openat_restore_die rather than calling error directly.
8828         Don't include "error.h" or "exitfail.h"; they're no longer needed.
8829
8830         * lib/openat-die.c (openat_save_die, openat_restore_die): New file.
8831         * lib/openat.h (openat_save_die, openat_restore_die): Declare and
8832         define.
8833
8834         * lib/strftime.c [FPRINTFTIME] (fprintftime): Provide a new interface:
8835         size_t fprintftime (FILE *fp, char const *fmt, struct tm const *tm,
8836                             int utc, int nanoseconds);
8837         Background:
8838         date should not have to allocate a megabyte of virtual memory to
8839         handle a format argument like +%1048575T.  When implemented with
8840         strftime, it must allocate such a buffer, use strftime to fill it
8841         in, print it, then free it.
8842         With fprintftime, it simply prints everything and exits.
8843         With no need for memory allocation, that's one fewer way to fail.
8844         * lib/strftime.c (my_strftime): Parse the colons of %:::z *after* the
8845         optional field width, not before, so we accept %9:z, not %:9z.
8846         (my_strftime): Be sure to use L_('x') for literals.
8847
8848         * lib/backupfile.c, lib/canon-host.c, lib/canonicalize.c, lib/chown.c:
8849         * lib/cloexec.c, lib/dup-safer.c, lib/dup2.c, lib/euidaccess.c:
8850         * lib/fd-safer.c, lib/fileblocks.c, lib/fopen-safer.c, lib/fsusage.c:
8851         * lib/ftruncate.c, lib/getcwd.c, lib/getcwd.h, lib/getloadavg.c:
8852         * lib/getopt_.h, lib/getpagesize.h, lib/getugroups.c:
8853         * lib/group-member.c, lib/human.h, lib/idcache.c, lib/mkdir-p.c:
8854         * lib/mountlist.c, lib/nanosleep.c, lib/pathmax.h, lib/physmem.c:
8855         * lib/posixver.c, lib/putenv.c, lib/raise.c, lib/safe-read.c:
8856         * lib/same.c, lib/save-cwd.c, lib/setenv.c, lib/settime.c:
8857         * lib/tempname.c, lib/unlinkdir.c, lib/unsetenv.c, lib/userspec.c:
8858         * lib/xgethostname.c, lib/xreadlink.c:
8859         Assume HAVE_UNISTD_H, i.e., include <unistd.h> unconditionally.
8860
8861         * lib/chown.c, lib/cloexec.c, lib/dup-safer.c, lib/dup2.c:
8862         * lib/fsusage.c, lib/getcwd.c, lib/getloadavg.c, lib/mountlist.c:
8863         * lib/openat.h, lib/save-cwd.c, lib/tempname.c:
8864         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
8865         and don't include <sys/file.h>).
8866
8867 2005-09-22  Eric Blake  <ebb9@byu.net>  (tiny change)
8868
8869         Sync from coreutils.
8870
8871         * lib/getloadavg.c (getloadavg) [__CYGWIN__]: Port to cygwin.
8872         [__linux__]: Allocate a big enough buffer for /proc/loadavg.
8873         [!LDAV_DONE]: Avoid unused variable warning.
8874
8875 2005-09-21  Bruno Haible  <bruno@clisp.org>
8876
8877         * lib/unicodeio.h (unicode_to_mb): New declaration.
8878
8879 2005-09-20  Derek Price  <derek@ximbiot.com>
8880
8881         * lib/getaddrinfo.c: Don't include <netdb.h> included from
8882         getaddrinfo.h.
8883
8884 2005-09-20  Bruno Haible  <bruno@clisp.org>
8885
8886         * gnulib-tool: Remove trailing slashes from the values specified for
8887         --source-base, --m4-base, --tests-base, --aux-dir.
8888         Suggested by Simon Josefsson <jas@extundo.com>.
8889
8890 2005-09-20  Bruno Haible  <bruno@clisp.org>
8891
8892         * gnulib-tool (func_all_modules, func_modules_transitive_closure,
8893         func_modules_to_filelist, func_import, func_create_testdir): Make all
8894         sorting results locale-independent, so that gnulib-cache.m4 doesn't
8895         change when gnulib-tool is invoked in a different locale.
8896
8897 2005-09-19  Simon Josefsson  <jas@extundo.com>
8898
8899         * m4/socklen.m4: Fix typo.
8900
8901 2005-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
8902
8903         Use a consistent style for including <config.h>.
8904         * lib/__fpending.c, lib/acl.c, lib/argmatch.c, lib/argp-help.c,
8905         lib/argp-parse.c, lib/argp-pvh.c, lib/backupfile.c, lib/basename.c,
8906         lib/c-stack.c, lib/calloc.c, lib/check-version.c, lib/cloexec.c,
8907         lib/closeout.c, lib/copy-file.c, lib/creat-safer.c, lib/cycle-check.c,
8908         lib/dirfd.c, lib/dirname.c, lib/dup-safer.c, lib/dup2.c,
8909         lib/euidaccess.c, lib/exclude.c, lib/exitfail.c, lib/fatal-signal.c,
8910         lib/fd-safer.c, lib/file-type.c, lib/fileblocks.c, lib/filemode.c,
8911         lib/filenamecat.c, lib/findprog.c, lib/fnmatch.c, lib/fopen-safer.c,
8912         lib/free.c, lib/fsusage.c, lib/ftruncate.c, lib/full-write.c,
8913         lib/fwriteerror.c, lib/getaddrinfo.c, lib/getcwd.c, lib/getdelim.c,
8914         lib/getline.c, lib/getlogin_r.c, lib/getndelim2.c, lib/getnline.c,
8915         lib/getopt1.c, lib/getpass.c, lib/group-member.c, lib/hard-locale.c,
8916         lib/hash-pjw.c, lib/hash.c, lib/human.c, lib/idcache.c,
8917         lib/inet_ntop.c, lib/isdir.c, lib/long-options.c, lib/malloc.c,
8918         lib/memcasecmp.c, lib/memcmp.c, lib/memcoll.c, lib/memcpy.c,
8919         lib/memmove.c, lib/mkdir-p.c, lib/modechange.c, lib/mountlist.c,
8920         lib/open-safer.c, lib/physmem.c, lib/pipe-safer.c, lib/pipe.c,
8921         lib/poll.c, lib/posixver.c, lib/progname.c, lib/progreloc.c,
8922         lib/putenv.c, lib/quote.c, lib/quotearg.c, lib/readline.c,
8923         lib/readlink.c, lib/realloc.c, lib/regex.c, lib/rename.c, lib/rmdir.c,
8924         lib/rpmatch.c, lib/safe-read.c, lib/same.c, lib/save-cwd.c,
8925         lib/savedir.c, lib/sig2str.c, lib/strcspn.c, lib/strerror.c,
8926         lib/stripslash.c, lib/strncasecmp.c, lib/strndup.c, lib/strnlen.c,
8927         lib/strnlen1.c, lib/strsep.c, lib/strstr.c, lib/strtod.c,
8928         lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c,
8929         lib/time_r.c, lib/userspec.c, lib/utimecmp.c, lib/version-etc-fsf.c,
8930         lib/version-etc.c, lib/wait-process.c, lib/xalloc-die.c, lib/xgetcwd.c,
8931         lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c, lib/xreadlink.c,
8932         lib/xsetenv.c, lib/xstrndup.c, lib/xstrtoimax.c, lib/xstrtol.c,
8933         lib/xstrtoumax.c, lib/yesno.c:
8934         Standardize inclusion of config.h.
8935         * lib/__fpending.h, lib/dirfd.h, lib/getdate.h, lib/human.h,
8936         lib/inttostr.h:  Removed inclusion of config.h from header files.
8937         * lib/inttostr.c:  Adjusted in-tree users.
8938         * lib/timespec.h: Remove superfluous warning to include config.h.
8939         * lib/atexit.c, lib/chdir-long.c, lib/chown.c, lib/fchown-stub.c,
8940         lib/getgroups.c, lib/gettimeofday.c, lib/lchown.c, lib/lstat.c,
8941         lib/mkdir.c, lib/mkstemp.c, lib/nanosleep.c, lib/openat.c, lib/raise.c,
8942         lib/readtokens0.c, lib/readutmp.c, lib/unlinkdir.c: Guard inclusion of
8943         config.h with HAVE_CONFIG_H.
8944
8945 2005-09-19  Jim Meyering  <jim@meyering.net>
8946
8947         * modules/pathmax (License): Change to LGPL.
8948
8949 2005-09-19  Derek Price  <derek@ximbiot.com>
8950
8951         * config/srclist.txt: glibc's glob.h is now in lib/glob-libc.h.
8952
8953 2005-09-19  Bruno Haible  <bruno@clisp.org>
8954
8955         * gnulib-tool (import): Provide default for --tests-base.
8956
8957 2005-09-19  Bruno Haible  <bruno@clisp.org>
8958
8959         * doc/quote.texi: New file, extracted from gnulib.texi.
8960         * doc/ctime.texi: New file, extracted from gnulib.texi.
8961         * doc/inet_ntoa.texi: New file, extracted from gnulib.texi.
8962         * doc/gnulib-tool.texi: New file, extracted from gnulib.texi.
8963         * doc/gnulib.texi: Include them.
8964
8965 2005-09-18  Bruno Haible  <bruno@clisp.org>
8966
8967         Portability fix.
8968         * gnulib-tool (func_readlink): New function.
8969         (func_ln_if_changed): Use it.
8970
8971 2005-09-18  Bruno Haible  <bruno@clisp.org>
8972
8973         * gnulib-tool: Support --with-tests also with --import.
8974         (func_emit_tests_Makefile_am): Use variables $m4base and $testsbase.
8975         (func_import): Use variables $testsbase and $inctests. Emit a
8976         gl_TESTS_BASE form into gnulib-cache.m4. Create $testsbase/Makefile.am.
8977         Remind the user to add AC_CONFIG_FILES($testsdir/Makefile) and
8978         SUBDIRS += $testsdir.
8979         (func_create_testdir): Update.
8980
8981 2005-09-18  Bruno Haible  <bruno@clisp.org>
8982
8983         * gnulib-tool: Revise --dry-run implementation. Use variable $doit
8984         instead of $dry_run.
8985         (func_cp_if_changed, func_mv_if_changed): Remove functions.
8986         (func_ln_if_changed): Don't handle dry-run here.
8987         (func_import): In dry-run mode, detect more precisely which actions
8988         would be performed, and don't use "...ing" verbs.
8989
8990 2005-09-18  Bruno Haible  <bruno@clisp.org>
8991
8992         * gnulib-tool (func_tmpdir): New function, taken from GNU gettextize.
8993         (func_import): Use join on two temporary files instead of three nested
8994         loops, in order to determine which files are new or old.
8995
8996 2005-09-18  Bruno Haible  <bruno@clisp.org>
8997
8998         * gnulib-tool (func_import): Comment out code that spits out the
8999         new files with --dry-run.
9000
9001 2005-09-18  Bruno Haible  <bruno@clisp.org>
9002
9003         * doc/gnulib.texi (Invoking gnulib-tool): 50% rewritten.
9004
9005 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
9006
9007         * lib/stat-time.h: New file.
9008         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP, ATIME_CMP, CTIME_CMP):
9009         (MTIME_CMP, TIMESPEC_NS): Remove.  Now done by stat-time.h,
9010         in a different way.
9011         (timespec_cmp): New function.
9012         * lib/utimecmp.c: Include stat-time.h.
9013         (SYSCALL_RESOLUTION): Depend on whether various struct stat
9014         members exist, not on the obsolescent ST_MTIM_NSEC.
9015         (utimecmp): Use the new stat-time functions rater than TIMESPEC_NS.
9016
9017 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
9018
9019         * config/srclist.txt: Remove glibc bug 1033 and uncomment mktime.c.
9020
9021 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
9022
9023         * MODULES.html.sh (File system functions): Add stat-time.
9024         * modules/stat-time: New file.
9025         * modules/timespec (Files): Remove m4/st_mtim.m4; this
9026         is now done in a different way, by the stat-time module.
9027         * modules/utimecmp (Depends-on): Add stat-time.
9028
9029 2005-09-15  Paul Eggert  <eggert@cs.ucla.edu>
9030
9031         * m4/st_mtim.m4: Remove.  Superseded by...
9032         * m4/stat-time.m4: New file.
9033         * m4/timespec.m4 (gl_TIMESPEC): Require AC_C_INLINE.
9034         Do not invoke AC_STRUCT_ST_MTIM_NSEC; no longer needed.
9035
9036 2005-09-15  Derek Price  <derek@ximbiot.com>
9037
9038         * m4/strstr.m4 (gl_FUNC_STRSTR): Don't define strstr here.
9039
9040 2005-09-15  Derek Price  <derek@ximbiot.com>
9041
9042         * lib/regex_internal.h: Blank `pure' for GNUC < 3.
9043         * lib/regex_internal.c: Ditto, using this...
9044         (__GNUC_PREREQ): ...new macro.
9045         * lib/regcomp.c, regexec.c: Blank `always_inline' for GNUC < 3.1
9046         using...
9047         (__GNUC_PREREQ): ...this new macro.
9048
9049         * lib/strstr.h: Include string.h. Define strstr as a macro here.
9050
9051 2005-09-15  Derek Price  <derek@ximbiot.com>
9052             Paul Eggert  <eggert@cs.ucla.edu>
9053
9054         * lib/regcomp.c, regexec.c, regex_internal.c: Back out previous
9055         changes, consolidating in...
9056         * lib/regex_internal.h: ...this file.
9057
9058 2005-09-13  Jim Meyering  <jim@meyering.net>
9059
9060         * lib/canon-host.c: Filter through gnu indent and reword comments
9061         slightly.
9062         * lib/canon-host.h (ch_strerror_r): Tweak cpp indentation and spacing.
9063
9064 2005-09-13  Derek Price  <derek@ximbiot.com>
9065
9066         * lib/canon-host.c (canon_host_r): Set *cherror on memory allocation
9067         failure.
9068         Reported by Jim Meyering  <jim@meyering.net>.
9069
9070 2005-09-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
9071
9072         * lib/base64.c: Typo.
9073         (base64_encode): Put b64str in initialized data section.
9074
9075 2005-09-12  Paul Eggert  <eggert@cs.ucla.edu>
9076
9077         Merge glibc and coreutils changes into gnulib, plus a few
9078         extra fixes.
9079         * lib/md5.c: Use #error rather than a string.
9080         (CYCLIC): New macro, from glibc source.  Use it instead of rol.
9081         * lib/md5.h (__GNUC_PREREQ, __THROW): Define if not defined already.
9082         (__attribute__): Define to empty for non recent-GCC.
9083         (__md5_buffer, __md5_finish_ctx, __md5_init_ctx, __md5_process_block):
9084         (__md5_process_bytes, __md5_read_ctx, __md5_stream):
9085         Renamed from their non-__ counterparts, with new macros replacing
9086         them if not _LIBC.  Add __THROW attribute.
9087         (rol): Remove.
9088         (struct md5_ctx): Align buffer if using GCC.
9089         * lib/sha1.h (struct sha1_ctx): Likewise.
9090         * lib/sha1.c (SWAP): Renamed from the NOTSWAP.  All uses changed.
9091         The old name was backwards.
9092         (NOTSWAP): Remove; not used.
9093         (rol): New macro, moved here from md5.h.
9094         (sha1_process_block): Remove a FIXME that doesn't make sense.
9095
9096 2005-09-12  Derek Price  <derek@ximbiot.com>
9097
9098         Return usable errors from canon-host.
9099         * lib/canon-host.h: New file.
9100         * lib/canon-host.c (canon_host): Wrap...
9101         (canon_host_r): ...this new function, which now relies exclusively on
9102         getaddrinfo.
9103         (ch_strerror): New function.
9104         (last_cherror): New global.
9105         * lib/getaddrinfo.c: Move include of getaddrinfo.h first to test
9106         interface.
9107         (getaddrinfo): Add AI_CANONNAME functionality.  Don't do arithmetic on
9108         void *.
9109         (freeaddrinfo): Free ai->ai_canonname when set.
9110
9111 2005-09-12  Derek Price  <derek@ximbiot.com>
9112
9113         Make canon-host require getaddrinfo.
9114         * m4/canon-host.m4 (gl_CANON_HOST): Remove most dependencies.
9115         AC_LIBSOURCE canon-host.h.  Call...
9116         (gl_PREREQ_CANON_HOST): ...this new function, which requires
9117         gl_GETADDRINFO.
9118         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Compile gai_strerror when needed.
9119
9120 2005-09-12  Derek Price  <derek@ximbiot.com>
9121
9122         * modules/canon-host: Add canon-host.h.  Depend on getaddrinfo.  Make
9123         LGPL.
9124         * modules/getaddrinfo: Add link to opengroup spec.  Depend on strdup.
9125
9126 2005-09-12  Derek Price  <derek@ximbiot.com>
9127
9128         * lib/gai_strerror.c: Include config.h when available.  Include
9129         getaddrinfo.h before other headers to test interface.
9130         Reported by Larry Jones <lawrence.jones@ugs.com>.
9131
9132 2005-09-12  Derek Price  <derek@ximbiot.com>
9133             Paul Eggert  <eggert@cs.ucla.edu>
9134
9135         * modules/glob (Files): Add glob-libc.h.
9136
9137 2005-09-12  Derek Price  <derek@ximbiot.com>
9138             Paul Eggert  <eggert@cs.ucla.edu>
9139
9140         * m4/glob.m4 (gl_GLOB_SUBSTITUTE): AC_LIBSOURCES for glob.c,
9141         glob_.h, glob-libc.h.
9142         (gl_PREREQ_GLOB): Remove _SYS_CDEFS_H hack; no longer needed.
9143
9144 2005-09-12  Derek Price  <derek@ximbiot.com>
9145             Paul Eggert  <eggert@cs.ucla.edu>
9146
9147         * lib/glob-libc.h: Renamed from glob_.h.  The new version is
9148         taken from libc's glob.h, except with '#ifdef __GLOB_GNULIB'
9149         protecting things that should be done only in gnulib contexts.
9150         * lib/glob_.h: New file, containing only the glob things needed for
9151         gnulib.
9152         (GLOB_PREFIX): Remove.  All uses changed to look for __GLOB_GNULIB.
9153         (__GLOB_CONCAT, __GLOB_XCONCAT, __GLOB_ID): Remove; no longer needed.
9154         (glob, globfree, glob_pattern_p): Now defined simply in terms of
9155         rpl_glob, rpl_globfree, rpl_glob_pattern_p.
9156         (__GLOB_GNULIB): New macro, to keep the glob.h changes clearer
9157         and to respect the namespace rules better.
9158
9159 2005-09-08  Simon Josefsson  <jas@extundo.com>
9160
9161         * modules/socklen: New file.
9162
9163 2005-09-08  Simon Josefsson  <jas@extundo.com>
9164
9165         * m4/socklen.m4: New file.
9166
9167 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
9168
9169         * modules/utimens (Files): Add m4/utimbuf.m4, since
9170         m4/utimens.m4 requires gl_CHECK_TYPE_STRUCT_UTIMBUF.
9171         Reported by Sergey Poznyakoff.
9172
9173 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
9174
9175         * lib/glob.c (glob, globfree, __glob_pattern_p): Use old-style function
9176         definitions, since that's the preferred style in glibc.
9177         Fix a minor spacing issue, and update copyright notice to match
9178         glibc's.
9179
9180 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
9181
9182         * config/srclist.txt: Remove glibc bug 1061; it's been fixed.
9183
9184 2005-09-06  Simon Josefsson  <jas@extundo.com>
9185
9186         * lib/getpass.c (getpass): Fix typo, test for HAVE_TCSETATTR and not
9187         TCSETATTR.  Reported by Derek Price <derek@ximbiot.com>.
9188
9189 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
9190
9191         * lib/regex_internal.h (bitset_not): Add parens to avoid gcc -Wall
9192         warning.
9193
9194 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
9195
9196         * config/srclist.txt: Add glibc bug 1302.
9197
9198 2005-09-05  Paul Eggert  <eggert@cs.ucla.edu>
9199
9200         Change bitset word type from unsigned int to unsigned long int,
9201         as this has better performance on typical 64-bit hosts.
9202         Port bitset code to hosts with unusual word sizes.
9203         * lib/regcomp.c (build_equiv_class, build_charclass, build_range_exp):
9204         (build_collating_symbol):
9205         Prefer bitset to re_bitset_ptr_t in prototypes, when the actual
9206         argument is a bitset.  This is merely a style issue, but it makes
9207         it clearer that an entire array is expected.
9208         (re_compile_fastmap_iter, init_dfa, init_word_char, optimize_subexps):
9209         * lib/regcomp.c (lower_subexp, parse_bracket_exp, built_charclass_op):
9210         Port to the case where bitset_word is not the same as unsigned int.
9211         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
9212         (bitset_not, bitset_merge, bitset_set_all, bitset_mask):
9213         Likewise.
9214         * lib/regexec.c (check_dst_limits_calc_pos_1,
9215         check_subexp_matching_top):
9216         (build_trtable, group_nodes_into_DFAstates):
9217         Likewise.
9218         * lib/regcomp.c (re_compile_fastmap_iter, utf8_sb_map, optimize_utf8):
9219         Don't assume that SBC_MAX is a multiple of BITSET_WORD_BITS.
9220         * lib/regex_internal.h (bitset_set_all, bitset_not): Likewise.
9221         * lib/regexec.c (group_nodes_into_DFAstates): Likewise.
9222         * lib/regcomp.c (utf8_sb_map): Don't assume UINT_MAX == 0xffffffff.
9223         * lib/regcomp.c (optimize_subexps, lower_subexp):
9224         Work even if bitset_word has holes in its bitwise representation.
9225         * lib/regex_internal.h (BITSET_WORD_BITS): Likewise.
9226         * lib/regexec.c (check_dst_limits_calc_pos_1,
9227         check_subexp_matching_top):
9228         Likewise.
9229         * lib/regex_internal.c (re_string_reconstruct):
9230         Don't assume UCHAR_MAX == 255.
9231         * lib/regex_internal.h (bitset_set_all): Likewise.
9232         * lib/regex_internal.h (BITSET_WORD_BITS): Renamed from UINT_BITS.
9233         All uses changed.
9234         (BITSET_WORDS): Renamed from BITSET_UINTS.  All uses changed.
9235         (bitset_word): New type, replacing 'unsigned int' for bitset uses.
9236         All uses changed.
9237         (BITSET_WORD_MAX): New macro.
9238         (bitset_set, bitset_clear, bitset_contain, bitset_empty):
9239         (bitset_set_all, bitset_copy):  Now inline functions, not macros.
9240         (bitset_empty, bitset_copy):
9241         Prefer sizeof (bitset) to multiplying it out ourselves.
9242         (bitset_not_merge): Remove; unused.
9243         (bitset_contain): Return bool, not unsigned int with one bit on.
9244         All callers changed.
9245         * lib/regexec.c (build_trtable): Don't assume bitset has no stricter
9246         alignment than re_node_set; do this by defining a new internal
9247         type struct dests_alloc and using it to allocate memory.
9248
9249 2005-09-05  Bruno Haible  <bruno@clisp.org>
9250
9251         * gnulib-tool (func_import): Fix comparison in handling of symbolic
9252         links.
9253
9254 2005-09-04  Martin Lambers <marlam@marlam.de>  (tiny change)
9255
9256         * modules/size_max (Makefile.am): Add size_max.h
9257
9258 2005-09-04  Derek Price  <derek@ximbiot.com>
9259
9260         * gnulib-tool (func_import): Fix reversed $symbolic logic.
9261
9262 2005-09-03  Simon Josefsson  <jas@extundo.com>
9263
9264         * gnulib-tool: Fix typo.
9265
9266 2005-09-03  Simon Josefsson  <jas@extundo.com>
9267
9268         * config/srclist.txt: Add glibc bug 1293.
9269
9270 2005-09-03  Derek Price  <derek@ximbiot.com>
9271
9272         * m4/getlogin_r (gl_GETLOGIN_R): Fix cut & paste error.
9273         From Larry Jones <lawrence.jones@ugs.com>.
9274
9275 2005-09-02  Simon Josefsson  <jas@extundo.com>
9276
9277         * modules/socklen: New file.
9278
9279 2005-09-02  Simon Josefsson  <jas@extundo.com>
9280
9281         * modules/havelib: New module.
9282
9283         * modules/gettext, modules/iconv, modules/lock, modules/readline:
9284         Use havelib.
9285
9286 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
9287
9288         Check for arithmetic overflow when calculating sizes, to prevent
9289         some buffer-overflow issues.  These patches are conservative, in the
9290         sense that when I couldn't determine whether an overflow was possible,
9291         I inserted a run-time check.
9292         * lib/regex_internal.h (re_xmalloc, re_xrealloc, re_x2realloc): New
9293         macros.
9294         (SIZE_MAX) [!defined SIZE_MAX]: New macro.
9295         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc):
9296         (re_xnrealloc, re_x2nrealloc): New inline functions.
9297         * lib/regcomp.c (init_dfa, analyze, build_range_exp,
9298         parse_bracket_exp):
9299         (build_equiv_class, build_charclass): Check for arithmetic overflow
9300         in size expression calculations.
9301         * lib/regex_internal.c (re_string_realloc_buffers):
9302         (build_wcs_upper_buffer, re_node_set_add_intersect):
9303         (re_node_set_init_union, re_node_set_insert, re_node_set_insert_last):
9304         (re_dfa_add_node, register_state): Likewise.
9305         * lib/regexec.c (re_search_stub, re_copy_regs, re_search_internal):
9306         (prune_impossible_nodes, push_fail_stack, set_regs, check_arrival):
9307         (build_trtable, extend_buffers, match_ctx_init, match_ctx_add_entry):
9308         (match_ctx_add_subtop, match_ctx_add_sublast): Likewise.
9309
9310 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
9311
9312         * modules/inttostr (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
9313         m4/ulonglong.m4.  Problem reported by Martin Lambers.
9314
9315 2005-09-02  Bruno Haible  <bruno@clisp.org>
9316
9317         Support for lib vs. lib64 distinction on biarch platforms.
9318         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): New macro.
9319         (AC_LIB_PREFIX): Require it. Use $acl_libdirstem instead of 'lib'.
9320         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Likewise.
9321
9322 2005-09-02  Bruno Haible  <bruno@clisp.org>
9323
9324         * gnulib-tool (import): In the other first-use case, provide defaults
9325         as well.
9326
9327 2005-09-02  Bruno Haible  <bruno@clisp.org>
9328
9329         * config/srclist.txt: lib-link.m4 and lib-prefix.m4 currently have
9330         patches not yet found in the latest gettext release.
9331
9332 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
9333
9334         * lib/glob.c (GET_LOGIN_NAME_MAX): Renamed from LOGIN_NAME_MAX,
9335         to avoid a collision with bits/local_lim.h in glibc.
9336         All uses changed.  Problem reported by Dmitry V. Levin in
9337         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=1060>.
9338
9339         * lib/regex_internal.c (build_wcs_upper_buffer): Fix portability
9340         bugs in int versus size_t comparisons.
9341         (re_string_context_at): Fix bug where the code assumed that
9342         Idx is signed.
9343
9344         Use bool where appropriate.
9345         * lib/regcomp.c (re_set_fastmap): ICASE arg is bool, not int.
9346         All callers changed.
9347         (calc_eclosure_iter): Likewise, for ROOT arg.
9348         (parse_bracket_element): Likewise, for ACCEPT_HYPHEN arg.
9349         (build_charclass_op): Likewise, for NON_MATCH arg.
9350         * lib/regex_internal.c (re_string_allocate, re_string_construct):
9351         (re_string_construct_common): Likewise, for ICASE arg.
9352         * lib/regexec.c (re_search_2_stub, re_search_stub):
9353         Likewise, for RET_LEN arg.
9354         (check_matching): Likewise, for FL_LONGEST_MATCH arg.
9355         (set_regs): Likewise, for FL_BACKTRACK arg.
9356         * lib/regcomp.c (re_compile_fastmap_iter, optimize_utf8):
9357         (duplicate_node_closure, calc_inveclosure, calc_eclosure):
9358         (calc_eclosure_iter, parse_bracket_exp):
9359         Use bool for internal variables that are booleans.
9360         * lib/regexec.c (re_search_internal, check_matching,
9361         proceed_next_node):
9362         (set_regs, build_sifted_states, sift_states_bkref):
9363         (check_arrival_add_next_nodes, check_arrival_expand_ecl_sub):
9364         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
9365         (find_collation_sequence_value):
9366         Likewise.
9367         * lib/regex_internal.c (re_node_set_insert, re_node_set_insert_last):
9368         (re_node_set_compare):
9369         Return bool, not int. All callers changed.
9370         * lib/regexec.c (check_halt_node_context, check_dst_limits):
9371         (build_trtable, check_node_accept): Likewise.
9372         * lib/regex_internal.h: Include stdbool.h.
9373
9374         Fix bugs uncovered when converting to bool.
9375         * lib/regcomp.c (calc_eclosure_iter): Check for storage allocation
9376         failure instead of charging ahead blindly.
9377         * lib/regex_internal.c (register_state): Likewise.
9378         * lib/regexec.c (re_search_2_stub): Use simpler method than boolean
9379         for freeing internal storage.
9380         (group_nodes_into_DFA_states): Use unsigned int, not int, for
9381         bitset pieces used as boolean, to avoid undefined behavior
9382         on hosts that do int overflow checking.
9383
9384 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
9385
9386         * config/srclist.txt: Add glibc bugs 1285-1287.
9387
9388 2005-09-01  Jim Meyering  <jim@meyering.net>
9389
9390         * m4/lchown.m4: Require gl_FUNC_CHOWN, for the definition of
9391         CHOWN_MODIFIES_SYMLINK, which is used by lchown.c.
9392         Require gl_STAT_MACROS, too.
9393
9394 2005-09-01  Bruno Haible  <bruno@clisp.org>
9395
9396         * gnulib-tool (import): In the first-use case, provide defaults.
9397
9398 2005-09-01  Bruno Haible  <bruno@clisp.org>
9399
9400         * gnulib-tool (func_import): Remove the .tmp files.
9401
9402 2005-09-01  Bruno Haible  <bruno@clisp.org>
9403
9404         * gnulib-tool (func_import): Fix handling of symbolic links.
9405
9406 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
9407
9408         On 64-bit hosts (where size_t is 64 bits and int is 32 bits), the
9409         old glibc regex code mishandles strings longer than 2**31 bytes.
9410         This patch fixes this when the regex code is used in gnulib
9411         (i.e., outside glibc).
9412
9413         This patch should not affect the use of the regex code inside
9414         glibc.  No doubt this problem also needs to be handled for glibc
9415         as well, but the result will be an incompatible change to the
9416         glibc ABI, and the old ABI will have to be supported too.  That
9417         can be the the subject for another patch.
9418
9419         * lib/regex.h (_REGEX_LARGE_OFFSETS): New feature-test macro,
9420         governing whether the rest of this patch is active.  By default,
9421         the macro is disabled and the patch has no effect.
9422         (regoff_t) [defined _REGEX_LARGE_OFFSETS]: Define to off_t, not int.
9423         (__re_idx_t, __re_size_t, __re_long_size_t): New types.
9424         (struct re_pattern_buffer, re_search, re_search_2, re_match):
9425         (re_match_2, re_set_registers): Use the new types.
9426         * lib/regex_internal.h (Idx, re_hashval_t): New types.
9427         (REG_MISSING, REG_ERROR, REG_VALID_INDEX, REG_VALID_NONZERO_INDEX):
9428         New macros.
9429         (re_node_set, re_charset_t, re_token_t, re_string_realloc_buffers):
9430         (re_string_context_at, bin_tree_t, re_dfastate_t):
9431         (struct re_state_table_entry, state_array_t, re_sub_match_last_t):
9432         (re_sub_match_top_t, re_match_context_t, re_sift_context_t):
9433         (struct re_fail_stack_ent_t, struct re_fail_stack_t, struct re_dfa_t):
9434         (re_string_char_size_at, re_string_wchar_at):
9435         (re_string_elem_size_at):
9436         Use the new types and macros to port to 64-bit hosts.
9437         Use unsigned types for internal values, so that the code
9438         mostly works even for arrays larger than SSIZE_MAX.
9439         * lib/regcomp.c (re_compile_internal, init_dfa, duplicate_node):
9440         (search_duplicated_node, calc_eclosure_iter, fetch_number):
9441         (parse_reg_exp, parse_branch, parse_expression, parse_sub_exp):
9442         (build_equiv_class, build_charclass, re_compile_fastmap_iter):
9443         (free_dfa_content, create_initial_state, optimize_utf8, analyze):
9444         (optimize_subexps, calc_first, link_nfa_nodes, duplicate_node_closure):
9445         (calc_inveclosure, parse_dup_op, build_range_exp):
9446         (build_collating_symbol, parse_bracket_exp, build_charclass_op):
9447         (fetch_number, create_token_tree, mark_opt_subexp):
9448         Likewise.
9449         * lib/regex_internal.c (re_string_construct_common,
9450         create_ci_newstate):
9451         (create_cd_newstate, re_string_allocate, re_string_construct):
9452         (re_string_realloc_buffers, build_wcs_upper_buffer):
9453         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
9454         (re_string_reconstruct, re_string_peek_byte_case):
9455         (re_string_fetch_byte_case, re_string_context_at):
9456         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
9457         (re_node_set_init_copy, re_node_set_add_intersect):
9458         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
9459         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
9460         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
9461         (re_acquire_state, re_acquire_state_context, register_state):
9462         Likewise.
9463         * lib/regex.c (match_ctx_init, match_ctx_add_entry,
9464         search_cur_bkref_entry):
9465         (match_ctx_add_subtop, match_ctx_add_sublast, sift_ctx_init):
9466         (re_search_internal, re_search_2_stub, re_search_stub)
9467         (re_copy_regs, check_matching, check_halt_state_context, update_regs):
9468         (push_fail_stack, sift_states_iter_mb, build_sifted_states):
9469         (update_cur_sifted_state, check_dst_limits):
9470         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
9471         (check_subexp_limits, sift_states_bkref, merge_state_array):
9472         (check_subexp_matching_top, get_subexp, get_subexp_sub):
9473         (find_subexp_node, check_arrival, check_arrival_add_next_nodes):
9474         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
9475         (expand_bkref_cache, check_node_accept_bytes):
9476         (group_nodes_into_DFAstates, check_node_accept, regexec, re_match):
9477         (re_search, re_match_2, re_search_2, prune_impossible_nodes):
9478         (acquire_init_state_context, check_halt_node_context):
9479         (proceed_next_node, pop_fail_stack, set_regs, free_fail_stack_return):
9480         (sift_states_backward, clean_state_log_if_needed):
9481         (sub_epsilon_src_nodes, add_epsilone_src_nodes, merge_state_with_log):
9482         (find_recover_state, transit_state_sb, transit_state_mb):
9483         (transit_state_bkref, build_trtable, match_ctx_clean):
9484         Likewise.
9485         * lib/regcomp.c (parse_dup_op): Add an extra test if Idx is unsigned,
9486         to work around an assumption that REG_MISSING is negative.
9487
9488         * lib/regcomp.c (re_comp) [defined _REGEX_RE_COMP || defined _LIBC]:
9489         (seek_collating_symbol_entry) [defined _LIBC]:
9490         (lookup_collation_sequence_value) [defined _LIBC]:
9491         (build_range_exp, build_collating_symbol) [defined _LIBC]:
9492         Use prototypes rather than old-style function definitions.
9493         * lib/regexec.c (re_exec) [defined _REGEX_RE_COMP || defined _LIBC]:
9494         (transit_state_sb) [0]:
9495         (find_collation_sequence_value) [defined _LIBC]: Likewise.
9496
9497         * lib/regexec.c (re_search_internal): Simplify update of rm_so and
9498         rm_eo.
9499
9500         * lib/regcomp.c (re_compile_fastmap_iter, init_dfa, init_word_char):
9501         (optimize_subexps, lower_subexp):
9502         Don't assume 1<<31 has defined behavior on hosts with 32-bit int,
9503         since the signed shift might overflow.  Use 1u<<31 instead.
9504         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
9505         Likewise.
9506         * lib/regexec.c (check_dst_limits_calc_pos_1,
9507         check_subexp_matching_top): Likewise.
9508
9509         * lib/regcomp.c (optimize_subexps, lower_subexp):
9510         Use CHAR_BIT rather than 8, for clarity.
9511         * lib/regexec.c (check_dst_limits_calc_pos_1):
9512         (check_subexp_matching_top): Likewise.
9513         * lib/regcomp.c (init_dfa): Make table_size unsigned, so that we don't
9514         have to worry about portability issues when shifting it left.
9515         Remove no-longer-needed test for table_size > 0.
9516         * lib/regcomp.c (parse_sub_exp): Do not shift more bits than there are
9517         in a word, as the resulting behavior is undefined.
9518         * lib/regexec.c (check_dst_limits_calc_pos_1): Likewise;
9519         in one case, a <= should have been an <, and in another case the
9520         whole test was missing.
9521         * lib/regex_internal.h (BYTE_BITS): Remove.  All uses changed to
9522         the standard name CHAR_BIT.
9523         * lib/regexec.c (match_ctx_add_entry): Don't assume that ~0 == -1;
9524         this is not true on one's complement and signed-magnitude hosts.
9525
9526         * lib/regex_internal.h (re_sub_match_top_t): Remove unused member
9527         next_last_offset.
9528         (struct re_dfa_t): Remove unused member states_alloc.
9529         * lib/regcomp.c (init_dfa): Don't initialize unused members.
9530
9531 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
9532
9533         * m4/regex.m4 (gl_REGEX): Require AC_SYS_LARGEFILE, Define
9534         _REGEX_LARGE_OFFSETS).  Test for regoff_t/off_t bug in 64-bit
9535         and large-file glibc and in 32-bit large-file Solaris.
9536
9537 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
9538
9539         * lib/regex_internal.c (re_string_reconstruct): Don't assume buffer
9540         lengths fit in regoff_t; this isn't true if regoff_t is the same
9541         width as size_t.
9542         * lib/regex.c (re_search_internal): 5th arg is LAST_START
9543         (= START + RANGE) instead of RANGE.  This avoids overflow
9544         problems when regoff_t is the same width as size_t.
9545         All callers changed.
9546         (re_search_2_stub): Check for overflow when adding the
9547         sizes of the two strings.
9548         (re_search_stub): Check for overflow when adding START
9549         to RANGE; if it occurs, substitute the extreme value.
9550
9551 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
9552
9553         * config/srclist.txt: Add glibc bugs 1273, 1278-1282, 1284.
9554
9555 2005-08-31  Jim Meyering  <jim@meyering.net>
9556
9557         * lib/regcomp.c (search_duplicated_node): Make first pointer arg
9558         a pointer-to-const.
9559         * lib/regex_internal.c (create_ci_newstate, create_cd_newstate):
9560         (register_state): Likewise.
9561         * lib/regexec.c (search_cur_bkref_entry, check_dst_limits):
9562         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
9563         (group_nodes_into_DFAstates): Likewise.
9564
9565 2005-08-31  Jim Meyering  <jim@meyering.net>
9566
9567         * check-module: Add a FIXME comment.
9568
9569 2005-08-31  Eric Blake  <ebb9@byu.net>
9570
9571         * modules/unistd-safer (Files): Add unistd--.h.
9572         * modules/stdio-safer (Files): Add stdio--.h.
9573
9574 2005-08-31  Derek Price  <derek@ximbiot.com>
9575
9576         * lib/getdelim.c (getdelim): Return EOF on EOF.
9577         Reported by Larry Jones <lawrence.jones@ugs.com>.
9578
9579 2005-08-31  Bruno Haible  <bruno@clisp.org>
9580
9581         Avoid unnecessary diffs in the generated lib/Makefile.am.
9582         * gnulib-tool (func_emit_lib_Makefile_am): Don't write the cmd into
9583         the generated files.
9584         (func_import): Don't set cmd.
9585
9586 2005-08-31  Bruno Haible  <bruno@clisp.org>
9587
9588         * lib/strstr.c: Include <stddef.h>, for NULL.
9589         * lib/strcasestr.c: Likewise.
9590         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
9591
9592 2005-08-31  Bruno Haible  <bruno@clisp.org>
9593
9594         * gnulib-tool: New option --macro-prefix.
9595         (func_import): Use macro_prefix.
9596         (import): Handle option --macro-prefix.
9597
9598 2005-08-31  Bruno Haible  <bruno@clisp.org>
9599
9600         * gnulib-tool (import): Rename most ac_* variables to cached_*.
9601         Also use new variables cached_lgpl, cached_libtool.
9602
9603 2005-08-31  Bruno Haible  <bruno@clisp.org>
9604
9605         * gnulib-tool (func_import): Require AC_GNU_SOURCE etc. instead of
9606         always instantiating them.
9607
9608 2005-08-31  Bruno Haible  <bruno@clisp.org>
9609
9610         * gnulib-tool (func_import): Read the previous cached settings
9611         from gnulib-cache.m4 and gnulib-comp.m4. Remove files that were
9612         earlier added by gnulib but are now dropped. Warn when a gnulib file
9613         overwrites a non-gnulib file.
9614
9615 2005-08-31  Bruno Haible  <bruno@clisp.org>
9616
9617         * gnulib-tool (func_import): Generate two files gnulib-cache.m4 and
9618         gnulib-comp.m4 instead of a single gnulib.m4, to make it easy for
9619         projects that don't keep autogenerated files in CVS. Put into
9620         actioncmd only the specified modules, not the transitive closure.
9621
9622 2005-08-31  Bruno Haible  <bruno@clisp.org>
9623
9624         * gnulib-tool (func_import): Fix defaulting of $libname and $libtool.
9625         Create directories that shall be filled.
9626         (import): Don't look for gl_* macros in configure.ac. Recurse across
9627         all directories containing a gnulib-cache.m4 files, if meaningful.
9628
9629 2005-08-31  Bruno Haible  <bruno@clisp.org>
9630
9631         * gnulib-tool (func_import): Emit also a stub for gl_LIBTOOL.
9632         (import): Set seen_libtool when we see gl_LIBTOOL.
9633
9634 2005-08-31  Bruno Haible  <bruno@clisp.org>
9635
9636         * gnulib-tool (func_import): Also copy m4/gnulib-tool.m4. Omit
9637         declaration macro definitions from generated gnulib.m4.
9638
9639 2005-08-30  "Oskar Liljeblad" <oskar@osk.mine.nu>
9640
9641         * lib/iconvme.h: Add prototype for iconv_alloc.
9642
9643 2005-08-29  Simon Josefsson  <jas@extundo.com>
9644
9645         * lib/iconvme.c: Fix errno.
9646
9647 2005-08-29  Bruno Haible  <bruno@clisp.org>
9648
9649         * gnulib-tool: Enclose all occurrences of $destdir in "...", so
9650         that it works when the directory contains spaces.
9651
9652 2005-08-29  Bruno Haible  <bruno@clisp.org>
9653
9654         * gnulib-tool (import): Avoid unnecessary spaces in $avoidlist.
9655
9656 2005-08-29  Bruno Haible  <bruno@clisp.org>
9657
9658         * gnulib-tool (func_import): Emit more comments into gnulib.m4.
9659         Emit more advice.
9660
9661 2005-08-29  Bruno Haible  <bruno@clisp.org>
9662         and Stepan Kasal  <kasal@ucw.cz>
9663
9664         * check-module: If more parameters are given, check each of them
9665         separately; add more exceptions, as noted by Jim Meyering.
9666         (check_module): New procedure.
9667         (%exempt_header): Now contains all exceptions.
9668
9669 2005-08-29  Ben Pfaff  <blp@cs.stanford.edu>
9670
9671         * modules/byteswap (Makefile.am): Fix rule to not assume GNU make.
9672
9673 2005-08-29  "Oskar Liljeblad" <oskar@osk.mine.nu>
9674
9675         * lib/iconvme.c: Split iconv_string into iconv_alloc.
9676
9677 2005-08-28  Bruno Haible  <bruno@clisp.org>
9678
9679         * m4/gnulib-tool.m4: New file.
9680
9681 2005-08-27  Jim Meyering  <jim@meyering.net>
9682
9683         * modules/unistd-safer (Files): Add pipe-safer.c.
9684         * modules/fcntl-safer (Files): Add creat-safer.c.
9685
9686 2005-08-27  Jim Meyering  <jim@meyering.net>
9687
9688         * m4/stdlib-safer.m4: New file.  From coreutils.
9689         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add stdio--.h.
9690         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Add creat-safer.c to the
9691         AC_LIBSOURCES list and arrange to compile it via AC_LIBOBJ.
9692         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise, add pipe-safer.c.
9693         Add pipe-safer.c and unistd--.h to the AC_LIBSOURCES list.
9694
9695 2005-08-27  Jim Meyering  <jim@meyering.net>
9696
9697         * lib/fopen-safer.c: Merge minor changes from coreutils.
9698         * lib/dup-safer.c: Likewise.
9699         * lib/fd-safer.c: Likewise.
9700
9701         Merge from coreutils.
9702         * lib/stdio--.h: New file.
9703         * lib/stdlib--.h: New file.
9704         * lib/mkstemp-safer.c: New file.
9705
9706         GNU tar needs these.
9707         * lib/pipe-safer.c: New file.
9708         * lib/creat-safer.c: New file.
9709         * lib/fcntl--.h (creat): Define to creat_safer.
9710         * lib/fcntl-safer.h: Include <sys/types.h> and declare creat_safer.
9711         * lib/unistd--.h (pipe): Define to pipe_safer.
9712         * lib/unistd-safer.h: Declare pipe_safer.
9713
9714 2005-08-26  Simon Josefsson  <jas@extundo.com>
9715
9716         * lib/getpass.c: Use _WIN32 instead of WIN32, suggested by Bruno
9717         Haible <bruno@clisp.org>.
9718
9719 2005-08-26  Paul Eggert  <eggert@cs.ucla.edu>
9720
9721         * lib/regex_internal.h: Remove all references to
9722         RE_NO_INTERNAL_PROTOTYPES; no longer neeeded now that we assume C89
9723         or better.
9724         (bitset_not, bitset_merge, bitset_not_merge):
9725         (bitset_mask, re_string_allocate, re_string_construct):
9726         (re_string_reconstruct, re_string_destruct, re_string_elem_size_at):
9727         (re_string_char_size_at, re_string_wchar_at, re_string_peek_byte_case):
9728         (re_string_fetch_byte_case, re_node_set_alloc, re_node_set_init_1):
9729         (re_node_set_init_2, re_node_set_init_copy, re_node_set_add_intersect):
9730         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
9731         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
9732         (re_node_set_remove_at, re_dfa_add_node, re_acquire_state):
9733         (re_acquire_state_context):
9734         Remove unnecessary forward decls.
9735         (re_string_char_size_at, re_string_wchar_at, re_string_elem_size_at):
9736         Put __attribute at function definition,
9737         now that the function decl has been removed.
9738         * lib/regex_internal.c (re_string_peek_byte_case):
9739         (re_string_fetch_byte_case, re_node_set_compare, re_node_set_contains):
9740         Likewise.
9741
9742 2005-08-25  Stepan Kasal  <kasal@ucw.cz>
9743
9744         * m4/regex.m4: Add AC_PREREQ(2.50).
9745         (gl_REGEX): If --with-included-regex was given, skip the autodetection.
9746
9747 2005-08-25  Simon Josefsson  <jas@extundo.com>
9748
9749         * m4/getpass.m4: Check for termios.h, tcgetattr, tcsetattr, and
9750         __fsetlocking.
9751
9752 2005-08-25  Simon Josefsson  <jas@extundo.com>
9753
9754         * lib/getpass.c: Add WIN32 implementation.  Conditionalize use of
9755         termios.h, tcgetattr, tcsetattr and __fsetlocking.  Remove some
9756         GLIBC specific code.
9757
9758 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
9759
9760         Make regex safe for g++.  This fixes one real bug (an "err"
9761         that should have been "*err").  g++ problem reported by
9762         Sam Steingold.
9763         * lib/regex_internal.h (re_calloc): New macro, consistent with
9764         re_malloc etc.  All callers of calloc changed to use re_calloc.
9765         * lib/regex_internal.c (build_wcs_upper_buffer): Return reg_errcode_t,
9766         not int.  All callers changed.
9767         * lib/regcomp.c (re_compile_fastmap_iter): Don't use
9768         alloca (mb_cur_max); just use an array of size MB_LEN_MAX.
9769         * lib/regexec.c (push_fail_stack): Use re_realloc, not realloc.
9770         (find_recover_state): Change "err" to "*err"; this fixes what
9771         appears to be a real bug.
9772         (check_arrival_expand_ecl_sub): Be consistent about reg_errcode_t
9773         versus int.
9774
9775 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
9776
9777         * modules/regex (Depends-on): Add malloc, since the code
9778         assumes that !malloc(0) means failure.
9779
9780 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
9781
9782         * lib/regexec.c (set_regs): Don't alloca with an unbounded size.
9783
9784         alloca modernization/simplification for regex.
9785         * lib/regex.c: Remove portability cruft for alloca.  This no longer
9786         needs to be at the start of the file, and can be moved into
9787         regex_internal.h and simplified.
9788         * lib/regex_internal.h: Include <alloca.h>.
9789         (__libc_use_alloca) [!defined _LIBC]: New macro.
9790         * lib/regexec.c (build_trtable): Remove "#ifdef _LIBC", since the code
9791         now works outside glibc.
9792
9793 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
9794
9795         * config/srclist.txt: Add glibc bugs 1241, 1245.
9796
9797 2005-08-25  Jim Meyering  <jim@meyering.net>
9798
9799         * lib/open-safer.c: Include <config.h>.
9800         Otherwise, we'd lose LARGEFILE support in any file using
9801         e.g. "fcntl--.h"
9802
9803 2005-08-25  Bruno Haible  <bruno@clisp.org>
9804
9805         * m4/minmax.m4: Require autoconf 2.52.
9806         (gl_MINMAX_IN_HEADER): Add comments. Use m4_pushdef/m4_popdef instead
9807         of define/undefine. Use AS_TR_SH and AS_TR_CPP as more robust
9808         alternatives of translit over the alphabet.
9809         Based on a patch from Stepan Kasal <kasal@ucw.cz>.
9810
9811 2005-08-24  Simon Josefsson  <jas@extundo.com>
9812
9813         * tests/test-getpass.c: New file.
9814
9815 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
9816
9817         * m4/regex.m4 (gl_REGEX): Use POSIX-compliant spellings when testing
9818         for GNU regex features.
9819
9820 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
9821
9822         * lib/regcomp.c (regerror): 2nd arg is 'restrict', as per POSIX.
9823         * lib/regex.h (regerror): Likewise.
9824
9825         * lib/regex.c: Do not include <sys/types.h>, as POSIX no longer
9826         requires this.  (The code never needed it.)
9827
9828         * lib/regcomp.c, regex_internal.c, regex_internal.h, regexec.c:
9829         All uses of recently-renamed identifiers changed to use the new,
9830         POSIX-compliant names.  The code will build and run just fine
9831         without these changes, but it's better to eat our own dog food
9832         and use the standard-conforming names.
9833
9834         * lib/regex.h: Fix a multitude of POSIX name space violations.
9835         These changes have an effect only for programs that define
9836         _POSIX_C_SOURCE, _POSIX_SOURCE, or _XOPEN_SOURCE; they
9837         do not change anything for programs compiled in the normal way.
9838         Also, there is no effect on the ABI.
9839
9840         (_REGEX_SOURCE): New macro.
9841         Do not include <stddef.h> if _XOPEN_SOURCE and VMS are both
9842         defined and _GNU_SOURCE is not; this fixes a name space violation.
9843
9844         Rename the following macros to obey POSIX requirements.
9845         The old names are still visible as macros if _REGEX_SOURCE is defined.
9846         (REG_BACKSLASH_ESCAPE_IN_LISTS): renamed from
9847         RE_BACKSLASH_ESCAPE_IN_LISTS.
9848         (REG_BK_PLUS_QM): renamed from RE_BK_PLUS_QM.
9849         (REG_CHAR_CLASSES): renamed from RE_CHAR_CLASSES.
9850         (REG_CONTEXT_INDEP_ANCHORS): renamed from RE_CONTEXT_INDEP_ANCHORS.
9851         (REG_CONTEXT_INDEP_OPS): renamed from RE_CONTEXT_INDEP_OPS.
9852         (REG_CONTEXT_INVALID_OPS): renamed from RE_CONTEXT_INVALID_OPS.
9853         (REG_DOT_NEWLINE): renamed from RE_DOT_NEWLINE.
9854         (REG_DOT_NOT_NULL): renamed from RE_DOT_NOT_NULL.
9855         (REG_HAT_LISTS_NOT_NEWLINE): renamed from RE_HAT_LISTS_NOT_NEWLINE.
9856         (REG_INTERVALS): renamed from RE_INTERVALS.
9857         (REG_LIMITED_OPS): renamed from RE_LIMITED_OPS.
9858         (REG_NEWLINE_ALT): renamed from RE_NEWLINE_ALT.
9859         (REG_NO_BK_BRACES): renamed from RE_NO_BK_BRACES.
9860         (REG_NO_BK_PARENS): renamed from RE_NO_BK_PARENS.
9861         (REG_NO_BK_REFS): renamed from RE_NO_BK_REFS.
9862         (REG_NO_BK_VBAR): renamed from RE_NO_BK_VBAR.
9863         (REG_NO_EMPTY_RANGES): renamed from RE_NO_EMPTY_RANGES.
9864         (REG_UNMATCHED_RIGHT_PAREN_ORD): renamed from
9865         RE_UNMATCHED_RIGHT_PAREN_ORD.
9866         (REG_NO_POSIX_BACKTRACKING): renamed from RE_NO_POSIX_BACKTRACKING.
9867         (REG_NO_GNU_OPS): renamed from RE_NO_GNU_OPS.
9868         (REG_DEBUG): renamed from RE_DEBUG.
9869         (REG_INVALID_INTERVAL_ORD): renamed from RE_INVALID_INTERVAL_ORD.
9870         (REG_IGNORE_CASE): renamed from RE_ICASE.  This renaming is a bit
9871         unusual, since we can't clash with the POSIX REG_ICASE.
9872         (REG_CARET_ANCHORS_HERE): renamed from RE_CARET_ANCHORS_HERE.
9873         (REG_CONTEXT_INVALID_DUP): renamed from RE_CONTEXT_INVALID_DUP.
9874         (REG_NO_SUB): renamed from RE_NO_SUB.
9875         (REG_SYNTAX_EMACS): renamed from RE_SYNTAX_EMACS.
9876         (REG_SYNTAX_AWK): renamed from RE_SYNTAX_AWK.
9877         (REG_SYNTAX_GNU_AWK): renamed from RE_SYNTAX_GNU_AWK.
9878         (REG_SYNTAX_POSIX_AWK): renamed from RE_SYNTAX_POSIX_AWK.
9879         (REG_SYNTAX_GREP): renamed from RE_SYNTAX_GREP.
9880         (REG_SYNTAX_EGREP): renamed from RE_SYNTAX_EGREP.
9881         (REG_SYNTAX_POSIX_EGREP): renamed from RE_SYNTAX_POSIX_EGREP.
9882         (REG_SYNTAX_ED): renamed from RE_SYNTAX_ED.
9883         (REG_SYNTAX_SED): renamed from RE_SYNTAX_SED.
9884         (_REG_SYNTAX_POSIX_COMMON): renamed from _RE_SYNTAX_POSIX_COMMON.
9885         (REG_SYNTAX_POSIX_BASIC): renamed from RE_SYNTAX_POSIX_BASIC.
9886         (REG_SYNTAX_POSIX_MINIMAL_BASIC): renamed from
9887         RE_SYNTAX_POSIX_MINIMAL_BASIC.
9888         (REG_SYNTAX_POSIX_EXTENDED): renamed from RE_SYNTAX_POSIX_EXTENDED.
9889         (REG_SYNTAX_POSIX_MINIMAL_EXTENDED): renamed from
9890         RE_SYNTAX_POSIX_MINIMAL_EXTENDED.
9891         (REG_DUP_MAX): renamed from RE_DUP_MAX.  No need to undef it.
9892         (REG_UNALLOCATED): Renamed from REGS_UNALLOCATED.
9893         (REG_REALLOCATE): Renamed from REGS_REALLOCATE.
9894         (REG_FIXED): Renamed from REGS_FIXED.
9895         (REG_NREGS): Renamed from RE_NREGS.
9896
9897         (REG_ICASE, REG_NEWLINE, REG_NOSUB): Do not depend on the values
9898         of other REG_* macros, since POSIX says the user is allowed to
9899         #undef these macros selectively.
9900
9901         (reg_errcode_t): Update comment stating what other tables need
9902         to be consistent.
9903
9904         Rename the following enum values to obey POSIX requirements.
9905         The old names are still visible as macros.
9906         (_REG_ENOSYS): Renamed from REG_ENOSYS.  Define even if _XOPEN_SOURCE
9907         is not defined, since GNU is supposed to be a superset of POSIX as
9908         much as possible, and since we want reg_errcode_t to be a signed
9909         type for implementation consistency.
9910         (_REG_NOERROR): Renamed from REG_NOERROR.
9911         (_REG_NOMATCH): Renamed from REG_NOMATCH.
9912         (_REG_BADPAT): Renamed from REG_BADPAT.
9913         (_REG_ECOLLATE): Renamed from REG_ECOLLATE.
9914         (_REG_ECTYPE): Renamed from REG_ECTYPE.
9915         (_REG_EESCAPE): Renamed from REG_EESCAPE.
9916         (_REG_ESUBREG): Renamed from REG_ESUBREG.
9917         (_REG_EBRACK): Renamed from REG_EBRACK.
9918         (_REG_EPAREN): Renamed from REG_EPAREN.
9919         (_REG_EBRACE): Renamed from REG_EBRACE.
9920         (_REG_BADBR): Renamed from REG_BADBR.
9921         (_REG_ERANGE): Renamed from REG_ERANGE.
9922         (_REG_ESPACE): Renamed from REG_ESPACE.
9923         (_REG_BADRPT): Renamed from REG_BADRPT.
9924         (_REG_EEND): Renamed from REG_EEND.
9925         (_REG_ESIZE): Renamed from REG_ESIZE.
9926         (_REG_ERPAREN): Renamed from REG_ERPAREN.
9927         (REG_ENOSYS, REG_NOERROR, REG_NOMATCH, REG_BADPAT, REG_ECOLLATE):
9928         (REG_ECTYPE, REG_EESCAPE, REG_ESUBREG, REG_EBRACK, REG_EPAREN):
9929         (REG_EBRACE, REG_BADBR, REG_ERANGE, REG_ESPACE, REG_BADRPT, REG_EEND):
9930         (REG_ESIZE, REG_ERPAREN): Now macros, not enum constants.
9931
9932         (_REG_RE_NAME, _REG_RM_NAME): New macros.
9933         (REG_TRANSLATE_TYPE): Renamed from RE_TRANSLATE_TYPE.  All uses
9934         changed.  But support the old name if the new one is not defined
9935         and if _REGEX_SOURCE.
9936
9937         Change the following member names in struct re_pattern_buffer.
9938         The old names are still supported if !_REGEX_SOURCE.
9939         The new names are always supported, regardless of _REGEX_SOURCE.
9940         (re_buffer): Renamed from buffer.
9941         (re_allocated): Renamed from allocated.
9942         (re_used): Renamed from used.
9943         (re_syntax): Renamed from syntax.
9944         (re_fastmap): Renamed from fastmap.
9945         (re_translate): Renamed from translate.
9946         (re_can_be_null): Renamed from can_be_null.
9947         (re_regs_allocated): Renamed from regs_allocated.
9948         (re_fastmap_accurate): Renamed from fastmap_accurate.
9949         (re_no_sub): Renamed from no_sub.
9950         (re_not_bol): Renamed from not_bol.
9951         (re_not_eol): Renamed from not_eol.
9952         (re_newline_anchor): Renamed from newline_anchor.
9953
9954         Change the following member names in struct re_registers.
9955         The old names are still supported if !_REGEX_SOURCE.
9956         The new names are always supported, regardless of _REGEX_SOURCE.
9957         (rm_num_regs): Renamed from num_regs.
9958         (rm_start): Renamed from start.
9959         (rm_end): Renamed from end.
9960
9961         (re_set_syntax, re_compile_pattern, re_compile_fastmap):
9962         (re_search, re_search_2, re_match, re_match_2, re_set_registers):
9963         Prepend __ to parameter names.
9964
9965         Undo yesterday's changes.
9966
9967 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
9968
9969         * config/srclist.txt: Remove glibc bug 1233 and add 1236, which
9970         supersedes it. Add glibc bugs 1237, 1238, 1240.  Comment out
9971         lib/regex.c.
9972
9973 2005-08-24  Jim Meyering  <jim@meyering.net>
9974
9975         Sync from coreutils.
9976         * m4/fcntl-safer.m4: New file.
9977
9978         * m4/xgetcwd.m4: Use AC_LIBSOURCES and AC_LIBOBJ to indicate source
9979         and object files for this module.
9980
9981 2005-08-24  Jim Meyering  <jim@meyering.net>
9982
9983         Sync from coreutils.
9984         * lib/fcntl--.h, lib/fcntl-safer.h, lib/open-safer.c: New files.
9985
9986 2005-08-24  Jim Meyering  <jim@meyering.net>
9987
9988         * modules/xgetcwd (Makefile.am): Remove `lib_SOURCES += ...' line,
9989         now that xgetcwd.m4 requires xgetcwd.c and xgetcwd.h.
9990
9991 2005-08-24  Jim Meyering  <jim@meyering.net>
9992
9993         * modules/fcntl-safer: New module.
9994         * modules/fts (Depends-on): Add fcntl-safer.
9995         * MODULES.html.sh (File descriptor based Input/Output):
9996         Add fcntl-safer.
9997
9998 2005-08-24  Bruno Haible  <bruno@clisp.org>
9999
10000         Support for unit test modules.
10001         * modules/README: Mention tests modules.
10002         * modules/TEMPLATE-TESTS: New file.
10003         * gnulib-tool: New options --extract-tests-module, --with-tests and
10004         --tests-base (unused for the moment).
10005         (testsbase, inctests): New variables.
10006         (func_all_modules): Exclude TEMPLATE-TESTS and *-tests.
10007         (func_verify_module): Exclude TEMPLATE-TESTS.
10008         (func_verify_nontests_module, func_verify_tests_module): New functions.
10009         (func_get_dependencies): Add implicit dependency for tests modules.
10010         (func_get_tests_module): New function.
10011         (func_modules_transitive_closure): When --with-tests was specified,
10012         include the unit tests as well, unless explicitly avoided.
10013         (func_emit_lib_Makefile_am): Ignore the tests modules here.
10014         (func_emit_tests_Makefile_am): New function.
10015         (func_create_testdir): When --with-tests was specified, emit a
10016         tests/ directory.
10017         * MODULES.html.sh (Future developments): Update.
10018
10019 2005-08-24  Bruno Haible  <bruno@clisp.org>
10020
10021         * modules/tls-tests: New file.
10022         * tests/test-tls.c: New file, from GNU gettext.
10023
10024 2005-08-24  Bruno Haible  <bruno@clisp.org>
10025
10026         * modules/lock-tests: New file.
10027         * tests/test-lock.c: New file, from GNU gettext.
10028
10029 2005-08-24  Bruno Haible  <bruno@clisp.org>
10030
10031         * lib/lock.h: Add multiple inclusion guard.
10032         * lib/tls.h: Add multiple inclusion guard.
10033
10034 2005-08-24  Bruno Haible  <bruno@clisp.org>
10035
10036         * gnulib-tool: Add support for the --aux-dir option to
10037         --create-testdir, --create-megatestdir, --test, --megatest.
10038         (func_create_testdir, func_create_megatestdir): Optionally emit a
10039         AC_CONFIG_AUX_DIR directive.
10040         (create-testdir, create-megatestdir, test, megatest): Provide a
10041         default value for $auxdir.
10042
10043 2005-08-24  Bruno Haible  <bruno@clisp.org>
10044
10045         * gnulib-tool (import): Use compound statement instead of subshell
10046         where possible.
10047
10048 2005-08-24  Bruno Haible  <bruno@clisp.org>
10049
10050         * gnulib-tool (import): Change --aux-dir default to "build-aux".
10051
10052 2005-08-24  Bruno Haible  <bruno@clisp.org>
10053
10054         * gnulib-tool (func_version): Update.
10055
10056 2005-08-24  Bruno Haible  <bruno@clisp.org>
10057
10058         * gnulib-tool (func_import, func_create_testdir,
10059         func_create_megatestdir): Quote all autoconf macro arguments.
10060
10061 2005-08-24  Bruno Haible  <bruno@clisp.org>
10062
10063         * gnulib-tool (func_create_megatestdir): Call autoreconf without the
10064         option --force, because --force causes the aclocal.m4 of each
10065         subdirectory to be newer than the corresponding config.h.in.
10066
10067 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
10068
10069         * m4/regex.m4 (gl_INCLUDED_REGEX): Remove; no longer used.
10070         All contents moved to gl_REGEX.
10071         (gl_REGEX): Don't bother checking whether lib/regex.c exists;
10072         assume that it does.
10073
10074 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
10075
10076         * lib/regex.h (REG_NOSYS)
10077         [!defined _XOPEN_SOURCE && 200112L <= _POSIX_C_SOURCE]:
10078         Define, since POSIX requires it as of 2001.
10079         (_REG_ENOSYS)
10080         [! (defined _XOPEN_SOURCE || 200112L <= _POSIX_C_SOURCE)]:
10081         New private symbol, used to keep the enum signed in all cases.
10082         * lib/regex.h (RE_NO_EMPTY_RANGES): Fix doc bug reported by James
10083         Youngman in
10084         <http://lists.gnu.org/archive/html/bug-gnulib/2005-07/msg00132.html>.
10085
10086         * lib/regex_internal.c (re_string_skip_chars, register_state):
10087         (calc_state_hash):
10088         Remove forward decls; no longer needed now that we use prototypes.
10089         * lib/regexec.c (acquire_init_state_context, check_halt_node_context):
10090         (proceed_next_node, pop_fail_stack, sub_epsilon_src_nodes):
10091         (clean_state_log_if_needed): Likewise.
10092
10093 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
10094
10095         * config/srclist.txt: Add glibc bugs 1231-1233.
10096
10097 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
10098
10099         Fix problems reported by Sam Steingold in
10100         <http://lists.gnu.org/archive/html/bug-gnulib/2005-08/msg00007.html>.
10101         * lib/regexec.c (sift_states_bkref): Fix portability bug: the code
10102         assumed that reg_errcode_t is a signed type, which is not
10103         necessarily true if _XOPEN_SOURCE is not defined.
10104         * lib/regex_internal.c (calc_state_hash): Put 'inline' before type,
10105         since some compilers warn about it otherwise.
10106
10107 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
10108
10109         * lib/regcomp.c (create_initial_state): Remove duplicate decl.
10110         (init_word_char, create_initial_state, duplicate_node_closure):
10111         (fetch_token, peek_token_bracket, build_range_exp):
10112         (build_collating_symbol): Remove forward decls; no longer needed
10113         now that we use prototypes.
10114
10115         * lib/regcomp.c:
10116         (re_compile_pattern, re_set_syntax, re_compile_fastmap):
10117         (re_compile_fastmap_iter, regcomp, regerror, regfree):
10118         (re_compile_internal, init_dfa, init_word_char, free_workarea_compile):
10119         (create_initial_state, optimize_utf8, analyze, postorder, preorder):
10120         (optimize_subexps, lower_subexps, lower_subexp, calc_first, calc_next):
10121         (link_nfa_nodes, duplicate_node_closure, search_duplicated_node):
10122         (duplicate_node, calc_inveclosure, calc_eclosure, calc_eclosure_iter):
10123         (fetch_token, peek_token, peek_token_bracket, parse, parse_reg_exp):
10124         (parse_branch, parse_expression, parse_sub_exp, parse_dup_op):
10125         (build_range_exp, build_collating_symbol, parse_bracket_exp):
10126         (parse_bracket_element, parse_bracket_symbol, build_equiv_class):
10127         (build_charclass, build_charclass_op, fetch_number, create_tree):
10128         (create_token_tree, mark_opt_subexp, duplicate_tree):
10129         Use prototypes rather than old-style definitions.
10130
10131         * lib/regex_internal.c:
10132         (re_string_allocate, re_string_construct, re_string_realloc_buffers):
10133         (re_string_construct_common, build_wcs_buffer, build_wcs_upper_buffer):
10134         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
10135         (re_string_reconstruct, re_string_peek_byte_case):
10136         (re_string_fetch_byte_case, re_string_destruct, re_string_context_at):
10137         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
10138         (re_node_set_init_copy, re_node_set_add_intersect):
10139         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
10140         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
10141         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
10142         (re_acquire_state, re_acquire_state_context, register_state):
10143         (create_ci_newstate, create_cd_newstate, free_state):
10144         Likewise.
10145         * lib/regexec.c (regexec, re_match, re_search, re_match_2,
10146         re_search_2):
10147         (re_search_2_stub, re_search_stub, re_copy_regs, re_set_registers):
10148         (re_search_internal, prune_impossible_nodes):
10149         (acquire_init_state_context, check_matching, static):
10150         (check_halt_node_context, check_halt_state_context, proceed_next_node):
10151         (push_fail_stack, pop_fail_stack, set_regs, free_fail_stack_return):
10152         (update_regs, sift_states_backward, build_sifted_states):
10153         (clean_state_log_if_needed, merge_state_array):
10154         (update_cur_sifted_state, add_epsilon_src_nodes):
10155         (sub_epsilon_src_nodes, check_dst_limits, check_dst_limits_calc_pos_1):
10156         (check_dst_limits_calc_pos, check_subexp_limits, sift_states_bkref):
10157         (sift_states_iter_mb, transit_state, merge_state_with_log, static):
10158         (find_recover_state, check_subexp_matching_top, transit_state_mb):
10159         (transit_state_bkref, get_subexp, get_subexp_sub, find_subexp_node):
10160         (check_arrival, check_arrival_add_next_nodes):
10161         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
10162         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
10163         (check_node_accept_bytes, check_node_accept, extend_buffers):
10164         (match_ctx_init, match_ctx_clean, match_ctx_free, match_ctx_add_entry):
10165         (search_cur_bkref_entry, match_ctx_add_subtop, match_ctx_add_sublast):
10166         (sift_ctx_init):
10167         Likewise.
10168
10169         * lib/regex_internal.h:
10170         (re_string_allocate, re_string_construct, re_string_reconstruct):
10171         (re_string_realloc_buffers, build_wcs_buffer, build_wcs_upper_buffer):
10172         (build_upper_buffer, re_string_translate_buffer, re_string_destruct):
10173         (re_string_elem_size_at, re_string_char_size_at, re_string_wchar_at):
10174         (re_string_context_at, re_string_peek_byte_case):
10175         (re_string_fetch_byte_case): Declare even if RE_NO_INTERNAL_PROTOTYPES
10176         is defined, since we now use prototypes always.
10177
10178         * lib/regex.h (_RE_ARGS): Remove.  No longer needed, since we assume
10179         C89 or better.  All uses removed.
10180
10181 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
10182
10183         * config/srclist.txt: Add glibc bugs 1220-1227.
10184
10185 2005-08-20  Jim Meyering  <jim@meyering.net>
10186
10187         * lib/regexec.c (regexec, re_search_stub) [!_LIBC]: Omit declaration
10188         of unused local, dfa.
10189
10190 2005-08-20  Bruno Haible  <bruno@clisp.org>
10191
10192         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_GNU_SOURCE.
10193
10194 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
10195
10196         * lib/regex_internal.c (re_string_realloc_buffers, re_node_set_insert):
10197         (re_node_set_insert_last, re_dfa_add_node):
10198         Rename local variables to avoid GCC shadowing warnings.
10199
10200 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
10201
10202         * lib/regex_internal.c (re_acquire_state, re_acquire_state_context)
10203         [defined lint]: Suppress bogus uninitialized-variable warnings.
10204
10205         * lib/regcomp.c (duplicate_node): Return new index, not an error code,
10206         and let the caller return REG_ESPACE if out of space.  This
10207         removes an uninitialied-variable warning with GCC 4.0.1, and also
10208         avoids taking the address of a local variable.  All callers
10209         changed.
10210
10211 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
10212
10213         * config/srclist.txt: Comment out $LIBCSRC/posix/regex_internal.c,
10214         $LIBCSRC/posix/regexec.c.
10215         Add glibc bug 1217 for regcomp.c.
10216
10217 2005-08-19  Jim Meyering  <jim@meyering.net>
10218
10219         * lib/regexec.c (proceed_next_node): Redo local variables to
10220         avoid GCC shadowing warnings.
10221
10222 2005-08-18  Bruno Haible  <bruno@clisp.org>
10223
10224         * lib/strstr.c (strstr): Fix return value in multibyte case.
10225         * lib/strcasestr.c (strcasestr): Likewise.
10226
10227 2005-08-17  Paul Eggert  <eggert@cs.ucla.edu>
10228
10229         * lib/regex.h: Remove useless space-before-tab.  From coreutils.
10230
10231 2005-08-17  Jim Meyering  <jim@meyering.net>
10232
10233         Make the %s format (seconds since the epoch) work for a negative
10234         number and when used with a zero-padded field width, e.g. %015s.
10235
10236         * lib/strftime.c (my_strftime): Move the `do_number_sign_and_padding'
10237         label so that it precedes the code to set `digits'.  Otherwise,
10238         %0Ns wouldn't work.  Before this change, `date -d @-22 +%05s' would
10239         print `00-22'.  Now, it prints `-0022', as it should.
10240
10241 2005-08-17  Bruno Haible  <bruno@clisp.org>
10242
10243         * modules/strstr (Files): Add m4/mbrtowc.m4.
10244         (Depends-on): Add mbuiter.
10245
10246 2005-08-17  Bruno Haible  <bruno@clisp.org>
10247
10248         * modules/strcasestr: New file.
10249         * MODULES.html.sh (String handling, based on ANSI C 89): Add
10250         strcasestr.
10251
10252 2005-08-17  Bruno Haible  <bruno@clisp.org>
10253
10254         * modules/strcase (Depends-on): Add mbuiter. Remove strnlen1, mbchar.
10255
10256 2005-08-17  Bruno Haible  <bruno@clisp.org>
10257
10258         * modules/mbuiter: New file.
10259         * MODULES.html.sh (Extended multibyte and wide character utilities):
10260         Add mbuiter.
10261
10262 2005-08-17  Bruno Haible  <bruno@clisp.org>
10263
10264         * m4/strstr.m4 (gl_FUNC_STRSTR): Use the replacement function always.
10265         (gl_PREREQ_STRSTR): Use gl_FUNC_MBRTOWC.
10266
10267 2005-08-17  Bruno Haible  <bruno@clisp.org>
10268
10269         * m4/strcasestr.m4: New file.
10270
10271 2005-08-17  Bruno Haible  <bruno@clisp.org>
10272
10273         * lib/strstr.h: Ignore HAVE_STRSTR, always declare the gnulib function.
10274         * lib/strstr.c: Completely rewritten, with multibyte locale support.
10275
10276 2005-08-17  Bruno Haible  <bruno@clisp.org>
10277
10278         * lib/strcasestr.h: New file.
10279         * lib/strcasestr.c: New file.
10280
10281 2005-08-17  Bruno Haible  <bruno@clisp.org>
10282
10283         * lib/strcasecmp.c: Use mbuiter.h.
10284
10285 2005-08-17  Bruno Haible  <bruno@clisp.org>
10286
10287         * lib/mbuiter.h: New file.
10288
10289 2005-08-16  Paul Eggert  <eggert@cs.ucla.edu>
10290
10291         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Do not override the results
10292         of gl_GETOPT_SUBSTITUTE.  That way, if both gl_GETOPT_SUBSTITUTE
10293         and gl_GETOPT are both invoked via different paths (as happens
10294         with GNU tar CVS because it uses both argp and getopt), the former
10295         wins.
10296
10297 2005-08-16  Bruno Haible  <bruno@clisp.org>
10298
10299         * modules/tls: New file.
10300         * MODULES.html.sh (Multithreading): Add tls.
10301
10302 2005-08-16  Bruno Haible  <bruno@clisp.org>
10303
10304         * modules/strnlen1: New file.
10305         * MODULES.html.sh (String handling): Add strnlen1.
10306
10307 2005-08-16  Bruno Haible  <bruno@clisp.org>
10308
10309         * modules/strcase (Files): Add m4/mbrtowc.m4.
10310         (Depends-on): Add strnlen1, mbchar.
10311
10312 2005-08-16  Bruno Haible  <bruno@clisp.org>
10313
10314         * modules/mbiter: New file.
10315         * MODULES.html.sh (Extended multibyte and wide character utilities):
10316         Add mbiter.
10317
10318 2005-08-16  Bruno Haible  <bruno@clisp.org>
10319
10320         * modules/mbfile: New file.
10321         * MODULES.html.sh (Extended multibyte and wide character utilities):
10322         Add mbfile.
10323
10324 2005-08-16  Bruno Haible  <bruno@clisp.org>
10325
10326         * modules/mbchar: New file.
10327         * MODULES.html.sh (Extended multibyte and wide character utilities):
10328         New section.
10329
10330 2005-08-16  Bruno Haible  <bruno@clisp.org>
10331
10332         * m4/tls.m4: New file, from GNU gettext.
10333
10334 2005-08-16  Bruno Haible  <bruno@clisp.org>
10335
10336         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Use the replacement function
10337         always.
10338         (gl_PREREQ_STRCASECMP): Use gl_FUNC_MBRTOWC.
10339
10340 2005-08-16  Bruno Haible  <bruno@clisp.org>
10341
10342         * m4/mbiter.m4: New file.
10343
10344 2005-08-16  Bruno Haible  <bruno@clisp.org>
10345
10346         * m4/mbfile.m4: New file.
10347
10348 2005-08-16  Bruno Haible  <bruno@clisp.org>
10349
10350         * m4/mbchar.m4: New file.
10351
10352 2005-08-16  Bruno Haible  <bruno@clisp.org>
10353
10354         * lib/tls.h: New file, from GNU gettext.
10355         * lib/tls.c: New file, from GNU gettext.
10356
10357 2005-08-16  Bruno Haible  <bruno@clisp.org>
10358
10359         * lib/strnlen1.h: New file.
10360         * lib/strnlen1.c: New file.
10361
10362 2005-08-16  Bruno Haible  <bruno@clisp.org>
10363
10364         * lib/strcasecmp.c (struct mbiter_multi): Remove at_end field.
10365         (mbi_init): Update.
10366         (mbi_avail, mbi_advance): Let the iteration end before the terminating
10367         NUL byte, not after it.
10368
10369 2005-08-16  Bruno Haible  <bruno@clisp.org>
10370
10371         * lib/strcase.h (strcasecmp): Add note in comments.
10372         * lib/strncasecmp.c: Use code from strcasecmp.c.
10373         * lib/strcasecmp.c: Use mbchar module. Define private mbiter variant.
10374         (strcasecmp): Work correctly in multibyte locales.
10375
10376 2005-08-16  Bruno Haible  <bruno@clisp.org>
10377
10378         * lib/mbiter.h: New file.
10379
10380 2005-08-16  Bruno Haible  <bruno@clisp.org>
10381
10382         * lib/mbfile.h: New file.
10383
10384 2005-08-16  Bruno Haible  <bruno@clisp.org>
10385
10386         * lib/mbchar.h: New file.
10387         * lib/mbchar.c: New file.
10388
10389 2005-08-16  Bruno Haible  <bruno@clisp.org>
10390
10391         * lib/mbchar.h (mb_cmp, mb_casecmp): Order the invalid characters after
10392         the valid ones. Makes the comparison operations transitive:
10393         cmp (a, b) < 0 && cmp (b, c) < 0 ==> cmp (a, c) < 0.
10394         * lib/strcasecmp.c (strcasecmp): Use mb_casecmp.
10395
10396 2005-08-15  Simon Josefsson  <jas@extundo.com>
10397
10398         * modules/ssize_t (License): Change to 'unlimited'.
10399
10400         * gnulib-tool (sed_extract_prog): Recognize 'unlimited' license.
10401
10402 2005-08-15  Paul Eggert  <eggert@cs.ucla.edu>
10403
10404         * config/srclist.txt: Comment out $LIBCSRC/posix/regex.h.
10405         Add comments for each pending glibc patch.
10406
10407 2005-08-15  Bruno Haible  <bruno@clisp.org>
10408
10409         * lib/regex.h (__restrict_arr): Don't define to __restrict if
10410         __cplusplus is defined.
10411
10412 2005-08-14  Jim Meyering  <jim@meyering.net>
10413
10414         Sync from coreutils.
10415
10416         * lib/fts-cycle.c (setup_dir, enter_dir, leave_dir, free_dir):
10417         Use the hash-table-based cycle-detection code not just when
10418         FTS_TIGHT_CYCLE_CHECK if specified, but also with FTS_LOGICAL.
10419         Reported by James Youngman in
10420         <http://lists.gnu.org/archive/html/bug-gnulib/2005-08/msg00011.html>.
10421         * lib/fts_.h: Mention that with FTS_LOGICAL, we use
10422         FTS_TIGHT_CYCLE_CHECK.
10423         * lib/fts.c (fts_cross_check) [FTS_DEBUG]:
10424         s/active_dir_ht/fts_cycle.ht/. This lets us compile with -DFTS_DEBUG,
10425         once again.
10426         * lib/fts.c [! _LIBC]: Include "lstat.h" rather than rolling our own.
10427         * lib/fts.c (fd_safer): Remove decl.
10428         Include fcntl--.h rather than unistd-safer.h
10429         (fts_safe_changedir): Don't call fd_safer; no longer needed
10430         now that we include fcntl--.h.
10431
10432 2005-08-12  Simon Josefsson  <jas@extundo.com>
10433
10434         * modules/getndelim2: Use ssize_t module.
10435         * modules/getnline: Likewise.
10436         * modules/safe-read: Likewise.
10437         * modules/xreadlink: Likewise.
10438
10439         * modules/ssize_t: New file.
10440
10441 2005-08-12  Simon Josefsson  <jas@extundo.com>
10442
10443         * m4/readline.m4: Look for termcap, curses or ncurses if required.
10444
10445 2005-08-12  Simon Josefsson  <jas@extundo.com>
10446
10447         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
10448         ssize_t.
10449
10450 2005-08-12  Simon Josefsson  <jas@extundo.com>
10451
10452         * MODULES.html.sh (Extra functions based on ANSI C 89: Misc): Add
10453         readline, getdelim and check_version.
10454         (Support for systems lacking ISO C 99: Sizes of integer types):
10455         Add size_max.
10456
10457 2005-08-12  Bruno Haible  <bruno@clisp.org>
10458
10459         * m4/readline.m4 (gl_FUNC_READLINE): Look for ncurses first.
10460
10461 2005-08-11  Simon Josefsson  <jas@extundo.com>
10462
10463         * modules/readline: New file.
10464
10465         * modules/strnlen (Files): Add strnlen.h.
10466
10467 2005-08-11  Simon Josefsson  <jas@extundo.com>
10468
10469         * m4/readline.m4: New file.
10470
10471 2005-08-11  Simon Josefsson  <jas@extundo.com>
10472
10473         * lib/readline.h, readline.c: New file.
10474
10475 2005-08-11  Simon Josefsson  <jas@extundo.com>
10476
10477         * doc/gnulib.texi (Initial import, Finishing touches): Mention
10478         gl_AVOID.
10479
10480 2005-08-11  Bruno Haible  <bruno@clisp.org>
10481
10482         * lib/strnlen.h (strnlen): Change parameter name to match comment.
10483
10484 2005-08-10  Stepan Kasal  <kasal@ucw.cz>
10485
10486         * m4/onceonly_2_57.m4: Really require Autoconf 2.57.
10487
10488 2005-08-10  Simon Josefsson  <jas@extundo.com>
10489
10490         * tests/test-iconvme.c: New file.
10491
10492 2005-08-10  Simon Josefsson  <jas@extundo.com>
10493
10494         * m4/strnlen.m4: New file.
10495
10496         * m4/strndup.m4: Don't check for strnlen declaration, done in
10497         strnlen.m4.
10498
10499 2005-08-10  Simon Josefsson  <jas@extundo.com>
10500
10501         * lib/strndup.c: Use strnlen.h.
10502
10503         * lib/strnlen.h: New file.
10504
10505 2005-08-08  Ralf Wildenhues <Ralf.Wildenhues@gmx.de>  (tiny change)
10506
10507         * README: Typos.
10508
10509 2005-08-02  Simon Josefsson  <jas@extundo.com>
10510
10511         * modules/readline: New file.
10512
10513 2005-08-02  Simon Josefsson  <jas@extundo.com>
10514
10515         * modules/getdelim: New file.
10516
10517         * modules/getline: Rewrite, don't use getndelim2.
10518
10519 2005-08-02  Simon Josefsson  <jas@extundo.com>
10520
10521         * m4/getline.m4: Separate out getdelim stuff into separate module.
10522
10523         * m4/getdelim.m4: New file.
10524
10525 2005-08-02  Simon Josefsson  <jas@extundo.com>
10526
10527         * lib/getline.h, getline.c: Rewrite.
10528
10529         * lib/getdelim.h, lib/getdelim.c: New files, ported from glibc.
10530
10531 2005-07-31  Bruno Haible  <bruno@clisp.org>
10532
10533         * lib/lock.h (gl_lock_initializer): New macro.
10534         (gl_lock_define_initialized): Use it.
10535         (gl_rwlock_initializer): New macro.
10536         (gl_rwlock_define_initialized): Use it.
10537         (gl_recursive_lock_initializer): New macro.
10538         (gl_recursive_lock_define_initialized): Use it.
10539
10540 2005-07-30  Karl Berry  <karl@gnu.org>
10541
10542         * doc/gnulib.texi (Initial import): mention -I$(top_builddir)/lib.
10543         Report from Ben Pfaff, regarding getopt.
10544
10545 2005-07-26  Paul Eggert  <eggert@cs.ucla.edu>
10546
10547         Add support to getopt for Emacs, which doesn't use LIBOBJS in the
10548         normal way.
10549         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE_HEADER): New macro.
10550         (gl_GETOPT_SUBSTITUTE): Use it.  Invoke gl_PREREQ_GETOPT.
10551         (gl_GETOPT_IFELSE, gl_GETOPT_CHECK_HEADERS): New macros.
10552         (gl_GETOPT): Use the new macros.  Most of the implementation
10553         is moved to the new macros.  This is for programs like Emacs
10554         that don't want all the functionality of gl_GETOPT.
10555
10556 2005-07-26  Bruno Haible  <bruno@clisp.org>
10557
10558         * m4/lock.m4: Update from GNU gettext.
10559
10560 2005-07-26  Bruno Haible  <bruno@clisp.org>
10561
10562         * lib/lock.h: Update from GNU gettext.
10563         * lib/lock.c: Update from GNU gettext.
10564
10565 2005-07-25  Paul Eggert  <eggert@cs.ucla.edu>
10566
10567         * m4/regex.m4 (gl_INCLUDED_REGEX): Use AC_RUN_IFELSE instead of the
10568         obsolescent AC_TRY_RUN.  Include the default includes files, for
10569         'exit'.
10570
10571 2005-07-24  Bruno Haible  <bruno@clisp.org>
10572
10573         * modules/visibility: New file.
10574         * MODULES.html.sh (Misc): Add visibility.
10575
10576 2005-07-24  Bruno Haible  <bruno@clisp.org>
10577
10578         * m4/visibility.m4: New file.
10579
10580 2005-07-24  Bruno Haible  <bruno@clisp.org>
10581
10582         * doc/visibility.texi: New file.
10583
10584 2005-07-22  Bruno Haible  <bruno@clisp.org>
10585
10586         * modules/alloca-opt (Makefile.am): Remove explicit dependency on
10587         $(ALLOCA_H), redundant through BUILT_SOURCES.
10588         * modules/argz (Makefile.am): Remove explicit dependency on $(ARGZ_H),
10589         redundant through BUILT_SOURCES.
10590         * modules/byteswap (Makefile.am): Remove explicit dependency on
10591         $(BYTESWAP_H), redundant through BUILT_SOURCES.
10592         * modules/fnmatch (Makefile.am): Remove explicit dependency on
10593         $(FNMATCH_H), redundant through BUILT_SOURCES.
10594         * modules/getopt (Makefile.am): Remove explicit dependency on
10595         $(GETOPT_H), redundant through BUILT_SOURCES.
10596         * modules/glob (Makefile.am): Remove explicit dependency on $(GLOB_H),
10597         redundant through BUILT_SOURCES.
10598         * modules/poll (Makefile.am): Remove explicit dependency on $(POLL_H),
10599         redundant through BUILT_SOURCES.
10600         * modules/stdbool (Makefile.am): Remove explicit dependency on
10601         $(STDBOOL_H), redundant through BUILT_SOURCES.
10602         * modules/stdint (Makefile.am): Remove explicit dependency on
10603         $(STDINT_H), redundant through BUILT_SOURCES.
10604         * modules/sysexits (Makefile.am): Add $(SYSEXITS_H) to BUILT_SOURCES.
10605         Remove explicit dependency on $(SYSEXITS_H).
10606         Reported by Alexandre Duret-Lutz <adl@src.lip6.fr>.
10607
10608 2005-07-18  Simon Josefsson  <jas@extundo.com>
10609
10610         * lib/check-version.c (check_version): Accept identical versions too.
10611
10612 2005-07-18  Bruno Haible  <bruno@clisp.org>
10613
10614         * modules/lock: New file.
10615         * MODULES.html.sh (Multithreading): New section.
10616
10617 2005-07-18  Bruno Haible  <bruno@clisp.org>
10618
10619         * m4/lock.m4: New file, from GNU gettext.
10620
10621 2005-07-18  Bruno Haible  <bruno@clisp.org>
10622
10623         * lib/lock.h: New file, from GNU gettext.
10624         * lib/lock.c: New file, from GNU gettext.
10625
10626 2005-07-18  Bruno Haible  <bruno@clisp.org>
10627
10628         * lib/lock.h (gl_once_t): New type.
10629         (gl_once_define, gl_once): New macros.
10630         * lib/lock.c (fresh_once): New variable.
10631         (glthread_once, glthread_once_call, glthread_once_singlethreaded): New
10632         functions.
10633
10634 2005-07-16  Simon Josefsson  <jas@extundo.com>
10635
10636         * doc/gnulib.texi (Library version handling): Add ELF symbol collision
10637         workaround, suggested by Bruno.
10638
10639 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
10640
10641         * modules/xalloc (Depends-on): Add xalloc-die.
10642         * modules/xvasprintf (Depends-on): Add xalloc-die.
10643
10644 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
10645
10646         * lib/quotearg.c: Add translator comment suggested by Bruno Haible,
10647         with a minor change.
10648
10649 2005-07-15  Bruno Haible  <bruno@clisp.org>
10650
10651         * m4/poll.m4 (gl_FUNC_POLL): Check against MacOS X 10.4 poll() bug.
10652         When using lib/poll.c, define poll as rpl_poll.
10653
10654 2005-07-14  Paul Eggert  <eggert@cs.ucla.edu>
10655
10656         * modules/argp (Depends-on): Remove unlocked-io.
10657
10658 2005-07-14  Derek Price  <derek@ximbiot.com>
10659
10660         * m4/glob.m4 (gl_GLOB): Cache glob interface check result.  Add check
10661         for glob symlink bug.
10662
10663 2005-07-14  Bruno Haible  <bruno@clisp.org>
10664
10665         * m4/argp.m4 (gl_ARGP): Remove invocation of gl_FUNC_GLIBC_UNLOCKED_IO.
10666         Instead, test for *_unlocked function declarations directly.
10667
10668 2005-07-11  Simon Josefsson  <jas@extundo.com>
10669
10670         * modules/size_max: New file.
10671
10672         * modules/xsize: Depend on size_max module for size_max.m4.
10673
10674 2005-07-11  Simon Josefsson  <jas@extundo.com>
10675
10676         * lib/size_max.h: New file.
10677
10678 2005-07-11  Paul Eggert  <eggert@cs.ucla.edu>
10679
10680         * lib/version-etc-fsf.c (version_etc_copyright): Parameterize the
10681         copyright symbol and the year.
10682         * lib/version-etc.c (COPYRIGHT_YEAR): New constant.
10683         (version_etc_va): Use parameterized copyright notice.
10684         Reword to conform to the current GNU coding standards.
10685
10686 2005-07-11  Karl Berry  <karl@gnu.org>
10687
10688         * doc/gnulib.texi (Quoting): new node.
10689         (Initial import): more info, from Patrice.
10690
10691 2005-07-11  Bruno Haible  <bruno@clisp.org>
10692
10693         * gnulib-tool (func_usage): Document option --avoid.
10694         (Command line options): Handle --avoid.
10695         (func_acceptable): New function.
10696         (func_modules_transitive_closure): Use it.
10697
10698 2005-07-11  Bruno Haible  <bruno@clisp.org>
10699
10700         * MODULES.html.sh: Use shortcut URLs to the www.opengroup.org site.
10701         Reported by Jim Meyering.
10702
10703 2005-07-10  Bruno Haible  <bruno@clisp.org>
10704
10705         * m4/size_max.m4 (gl_SIZE_MAX): Cast ~(size_t)0 back to size_t.
10706         Needed when size_t is smaller than 'unsigned int'.
10707         Reported by Paul Eggert.
10708
10709 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
10710
10711         * modules/argp (Depends-on): Add unlocked-io
10712
10713 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
10714
10715         * lib/argp-namefrob.h: Include unlocked-io.h. Removed unnecessary
10716         block of defines.
10717
10718 2005-07-08  Paul Eggert  <eggert@cs.ucla.edu>
10719
10720         * config/srclist.txt: Comment out regcomp.c, since we have a porting
10721         fix now.
10722
10723 2005-07-08  Eric Blake  <ebb9@byu.net>  (tiny change)
10724         and Paul Eggert  <eggert@cs.ucla.edu>
10725
10726         * lib/regcomp.c (init_dfa, build_range_exp): Store __btowc value
10727         in wint_t, not wchar_t.  Remove now-unnecessary cast.
10728
10729 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
10730
10731         * modules/regex (Files): Add lib/regex_internal.c,
10732         lib/regex_internal.h, lib/regexec.c, lib/regcomp.c, m4/codeset.m4.
10733         (Depends-on): Add extensions.
10734         (Makefile.am): Remove lib_SOURCES; now done by m4 code.
10735
10736 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
10737
10738         * m4/backupfile.m4 (gl_BACKUPFILE): Use AC_CHECK_FUNCS_ONCE on
10739         pathconf.
10740         * m4/same.m4 (gl_SAME): Likewise.
10741         Require AC_SYS_LONG_FILE_NAMES; bug reported by Gerrit P. Haase.
10742
10743         * m4/regex.m4: Adjust to new libc regex implementation.
10744         (gl_INCLUDED_REGEX): Add AC_LIBSOURCES for
10745         all the .c and .h parts of (the new) regex.
10746         Quote the m4 stuff better.
10747         Check for RE_ICASE bug of old gnulib.
10748         Check for REG_STARTEND of recent libc.
10749         Rename local variables from jm_* to gl_*.
10750         Quote operand of "test -f".
10751         Say "recent enough" version of libc, not "version 2".
10752         (gl_PREREQ_REGEX): Remove AC_FUNC_ALLOCA, since alloca is a
10753         prerequisite module.  Remove AC_HEADER_STDC; no longer needed.
10754         Check for locale.h, isblank, mbrtowc, wcrtomb, wcscoll.
10755         Remove check for btowc, isascii.
10756         Require AM_LANGINFO_CODESET.
10757
10758 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
10759
10760         * lib/regex.c, regex.h: Sync from libc.
10761         * lib/regcomp.c, lib/regexec_internal.c, lib/regex_internal.h:
10762         * lib/regexec.c:
10763         New files, synced from libc, except that regex_internal.h
10764         currently has a small porting fix.
10765
10766 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
10767
10768         * config/srclist.txt: Add regcomp.c, regex.c, regex.h,
10769         regex_internal.c, regexec.c.
10770         Add regex_internal.h too, but as a comment, since the libc version
10771         is currently broken in gnulib mode.
10772
10773 2005-07-06  Paul Eggert  <eggert@cs.ucla.edu>
10774
10775         Support programs like Emacs that use gnulib but not gettext.
10776         * MODULES.html.sh (Internationalization functions): Add gettext-h.
10777         * modules/gettext-h: New file.
10778         * modules/gettext (Files): Remove lib/gettext.h.
10779         (Depends-on): Add gettext-h.
10780         (Makefile.am): Remove lib_SOURCES.
10781         * modules/argmatch, modules/c-stack, modules/closeout:
10782         * modules/copy-file, modules/csharpcomp, modules/csharpexec:
10783         * modules/execute, modules/file-type, modules/getaddrinfo:
10784         * modules/getopt, modules/human, modules/javacomp:
10785         * modules/javaexec, modules/mkdir-p, modules/obstack:
10786         * modules/openat, modules/pagealign_alloc, modules/pipe:
10787         * modules/quotearg, modules/regex, modules/rpmatch:
10788         * modules/unicodeio, modules/userspec, modules/version-etc:
10789         * modules/wait-process, modules/xalloc-die, modules/xmemcoll:
10790         * modules/xsetenv:
10791         Depend on gettext-h, not gettext.
10792
10793 2005-07-05  Paul Eggert  <eggert@cs.ucla.edu>
10794
10795         * gnulib-tool (func_import): Add support for 'public domain' license.
10796         * modules/alloca, modules/atexit, modules/memmove:
10797         Now public domain, not GPL.
10798         * modules/dup2, modules/getpagesize, modules/malloc, modules/memset:
10799         * modules/realloc, modules/strerror, modules/strtod:
10800         Now LGPL, not GPL.
10801
10802 2005-07-05  Bruno Haible  <bruno@clisp.org>
10803
10804         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): Upgrade to version from current
10805         autoconf CVS. Needed for mingw.
10806
10807 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
10808
10809         Remove the dependency of the strftime module on the tzset module.
10810         * modules/strftime (Depends-on): Remove dependency on tzset.
10811
10812 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
10813
10814         Remove the dependency of the strftime module on the tzset module.
10815         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't require
10816         gl_FUNC_TZSET_CLOBBER.
10817
10818 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
10819
10820         Remove the dependency of the strftime module on the tzset module.
10821         * lib/strftime.c (my_strftime)
10822         [! defined _LIBC && ! HAVE_RUN_TZSET_TEST]:
10823         Copy the input structure, to work around some of the bug with
10824         Solaris 2.5.1 and Solaris 2.6.  If you still care about these old
10825         Solaris releases, you should also use the tzset module, but we won't
10826         require it as a dependency any more since we don't want LGPLed code
10827         to depend on GPLed code.
10828
10829 2005-07-02  Jim Meyering  <jim@meyering.net>
10830
10831         * m4/chown.m4, cloexec.m4, dup2.m4, fsusage.m4:
10832         * m4/getcwd-path-max.m4, getcwd.m4, mkstemp.m4, mountlist.m4:
10833         * m4/pagealign_alloc.m4, save-cwd.m4, unistd-safer.m4:
10834         Don't check for fcntl.h, and don't test for HAVE_FCNTL_H.
10835
10836 2005-07-02  Jim Meyering  <jim@meyering.net>
10837
10838         * lib/backupfile.c (backup_args): Change a `0' to NULL.
10839
10840 2005-07-01  Paul Eggert  <eggert@cs.ucla.edu>
10841
10842         * lib/xnanosleep.c: Include timespec.h, since OpenBSD 3.4 <time.h>
10843         declares only 'struct timespec;' (!).
10844
10845 2005-07-01  Jim Meyering  <jim@meyering.net>
10846
10847         * lib/chown.c, cloexec.c, dup-safer.c, dup2.c, fsusage.c, getcwd.c:
10848         * lib/getloadavg.c, mountlist.c, openat.h, pagealign_alloc.c:
10849         * lib/save-cwd.c, tempname.c:
10850         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
10851         and don't include <sys/file.h>).
10852
10853 2005-06-29  Jim Meyering  <jim@meyering.net>
10854
10855         * lib/mkdir-p.c (make_dir_parents): Don't apply sizeof to a hard-coded
10856         type name.  Use the variable name instead.
10857         * lib/idcache.c (getuser, getuidbyname, getgroup, getgidbyname):
10858         Likewise.
10859
10860 2005-06-28  Simon Josefsson  <jas@extundo.com>
10861
10862         * modules/check-version (Files): Add check-version.m4.
10863
10864 2005-06-28  Simon Josefsson  <jas@extundo.com>
10865
10866         * m4/check-version.m4: New file, suggested by Jim Meyering
10867         <jim@meyering.net>.
10868
10869 2005-06-28  Simon Josefsson  <jas@extundo.com>
10870
10871         * lib/check-version.h, lib/check-version.c: New files.
10872
10873 2005-06-28  Simon Josefsson  <jas@extundo.com>
10874
10875         * lib/base64.c (base64_encode): Indent.  Rename 'b64' to avoid
10876         collision with global variable.  Better indentation.  Don't
10877         increment buffer pointer beyond buffer end.  Based on comments
10878         from Paul Eggert <eggert@cs.ucla.edu>.
10879
10880         * lib/base64.h: Indent.
10881
10882 2005-06-28  Simon Josefsson  <jas@extundo.com>
10883
10884         * doc/gnulib.texi (Library version handling): New section.
10885
10886 2005-06-28  Jim Meyering  <jim@meyering.net>
10887
10888         * check-module (find_included_lib_files): Hard-code another
10889         pair of exceptions: fts.c includes fts-cycle.c and unistd-safer.h
10890         but modules/fts-lgpl (correctly) does not list those files.
10891
10892         * modules/canonicalize (Files): Add lib/pathmax.h.
10893
10894 2005-06-25  Simon Josefsson  <jas@extundo.com>
10895
10896         * modules/check-version: New file.
10897
10898 2005-06-24  Paul Eggert  <eggert@cs.ucla.edu>
10899
10900         * lib/canon-host.c (canon-host): Append trailing "," to 0 in
10901         initializer of struct addrinfo, as an indication that we don't
10902         care how many members the structure has.
10903
10904 2005-06-24  Derek Price  <derek@ximbiot.com>
10905         and Bruno Haible  <bruno@clisp.org>
10906
10907         Remove stat module & update lstat.
10908         * m4/lstat.m4 (gl_FUNC_LSTAT): Drop AC_FUNC_LSTAT in favor of
10909         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
10910         * m4/stat.m4: Remove this file.
10911
10912 2005-06-24  Derek Price  <derek@ximbiot.com>
10913         and Bruno Haible  <bruno@clisp.org>
10914
10915         Remove stat module & update lstat.
10916         * lib/stat.c: Remove this file...
10917         (slash_aware_lstat): ...moving this content and its support...
10918         * lib/lstat.c (rpl_lstat): ...into here.
10919         * lib/lstat.h: New file.
10920
10921 2005-06-24  Derek Price  <derek@ximbiot.com>
10922         and Bruno Haible  <bruno@clisp.org>
10923
10924         Remove stat module & update lstat.
10925         * config/srclist.txt (libc sources): Remove stat.
10926
10927 2005-06-24  Derek Price  <derek@ximbiot.com>
10928         and Bruno Haible  <bruno@clisp.org>
10929
10930         Remove stat module & update lstat.
10931         * MODULES.html.sh (stat): Remove.
10932         * MODULES.html: Regenerated.
10933         * modules/lstat (Description): Correct function name.
10934         (Files): Add "lstat.h".
10935         (Depends-on): Remove stat, add xalloc, stat-macros.
10936         * modules/stat: Remove this file.
10937         (Include): Add "lstat.h", remove <sys/stat.h>.
10938
10939 2005-06-23  Paul Eggert  <eggert@cs.ucla.edu>
10940
10941         * lib/mktime.c: Include <string.h> even if !DEBUG.  (From glibc.)
10942         (ranged_convert): Don't save conversion in a temporary struct.
10943         This causes a warning with GCC 4.0.0, and anyway in the typical
10944         case it's not worth the extra 100 bytes or so of code.
10945         (ranged_convert, __mktime_internal): When calling a function via a
10946         pointer P, use P () rather than (*P) (), as we now assume C89 or
10947         better.
10948
10949 2005-06-22  Paul Eggert  <eggert@cs.ucla.edu>
10950
10951         * lib/readutmp.c (desirable_utmp_entry): Fix bug where "who -b" and
10952         "who -r" failed to give output.  Problem reported by Tim Waugh.
10953
10954         * lib/xmalloc.c (HAVE_GNU_CALLOC): New constant.
10955         (xcalloc): Use it to avoid needless tests.
10956         Problem reported by Jim Meyering.
10957
10958 2005-06-20  Derek Price  <derek@ximbiot.com>
10959
10960         * m4/bison.m4: Note that precious decls of YACC & YFLAGS will be
10961         unnecessary for Autoconfs > 2.59c.
10962
10963 2005-06-16  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
10964
10965         * lib/argp.h (__option_is_short): Check upper limit of
10966         __key. Isprint() requires its argument to have the value
10967         of an unsigned char or EOF.
10968
10969 2005-06-16  Jim Meyering  <jim@meyering.net>
10970
10971         * lib/calloc.c (rpl_calloc): Allocate a 1-byte buffer (not 1xS or Nx1)
10972         when either N or S is zero.
10973
10974 2005-06-16  Derek Price  <derek@ximbiot.com>
10975
10976         * m4/bison.m4: Declare YACC & YFLAGS precious.
10977
10978 2005-06-10  Paul Eggert  <eggert@cs.ucla.edu>
10979
10980         * lib/fnmatch.c (fnmatch): If there is an encoding error in a
10981         multibyte string or pattern, fall back on unibyte matching.
10982         Problem reported by James Youngman.
10983
10984 2005-06-08  Bruno Haible  <bruno@clisp.org>
10985
10986         * modules/csharpcomp: New file.
10987         * MODULES.html.sh (C#): Add csharpcomp.
10988
10989 2005-06-08  Bruno Haible  <bruno@clisp.org>
10990
10991         * m4/csharpcomp.m4: New file, from GNU gettext.
10992
10993 2005-06-08  Bruno Haible  <bruno@clisp.org>
10994
10995         * lib/csharpcomp.h: New file, from GNU gettext.
10996         * lib/csharpcomp.c: New file, from GNU gettext.
10997         * lib/csharpcomp.sh.in: New file, from GNU gettext.
10998
10999 2005-06-08  Bruno Haible  <bruno@clisp.org>
11000
11001         * lib/binary-io.h (fileno): Undefine before defining it. Avoids a gcc
11002         warning on mingw.
11003
11004 2005-06-07  Derek Price  <derek@ximbiot.com>
11005
11006         Sync from CVS.
11007         * lib/glob_.h: Indent nested #ifdef.
11008
11009 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
11010
11011         Sync from coreutils.
11012         Use "file name" when talking about file names, instead of "filename"
11013         or "path", as per the GNU coding standards.
11014         * lib/mkdir-p.c: Renamed from makepath.c.
11015         (make_dir_parents): Renamed from make_path.  All callers changed.
11016         * lib/mkdir-p.h: Likewise.  All includers changed.
11017         * lib/filenamecat.c: Renamed from path-concat.c.
11018         (file_name_concat): Renamed from path_concat.  All callers changed.
11019         [TEST_FILE_NAME_CONCAT]: Renamed from TEST_PATH_CONCAT.
11020         * lib/filenamecat.h: Likewise.  All includers changed.
11021         * lib/acl.c: Don't use "path" or "filename" to mean "file name"
11022         in comments or local variable names.
11023         * lib/basename.c: Likewise.
11024         * lib/canonicalize.c, canonicalize.h: Likewise.
11025         * lib/dirname.c, dirname.h: Likewise.
11026         * lib/euidaccess.c: Likewise.
11027         * lib/exclude.c: Likewise
11028         * lib/fnmatch_.h, fnmatch_loop.c: Likewise.
11029         * lib/fsusage.c, fsuage.h: Likewise.
11030         * lib/fts.c, fts_.h: Likewise.
11031         * lib/getcwd.c: Likewise.
11032         * lib/getloadavg.c: Likewise.
11033         * lib/mkstemp.c: Likewise.
11034         * lib/mountlist.c, mountlist.h: Likewise.
11035         * lib/openat.c, openat.h: Likewise.
11036         * lib/readlink-stub.c: Likewise.
11037         * lib/readutmp.c, readutmp.h: Likewise.
11038         * lib/rename.c: Likewise.
11039         * lib/rmdir.c: Likewise.
11040         * lib/same.c: Likewise.
11041         * lib/savedir.c: Likewise.
11042         * lib/stripslash.c: Likewise.
11043         * lib/tempname.c: Likewise.
11044         * lib/xreadlink.c: Likewise.
11045         * lib/exclude.c (excluded_file_name): Renamed from excluded_filename.
11046         All uses changed.
11047         * lib/exclude.h: Likewise.
11048
11049         * lib/euidaccess.c (getuid, getgid, getuid, getegid)
11050         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
11051         * lib/idcache.c (getpwuid, getpwnam, getgrgid, getgrnam)
11052         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
11053         * lib/pathmax.h: Include <limits.h> unconditionally, since other
11054         files have been getting away with it for years (MORE/BSD 4.3
11055         is extinct now).
11056         * lib/userspec.c (getpwnam, getgrnam, getgrgid)
11057         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
11058
11059         * lib/pathmax.h (_POSIX_PATH_MAX) [!defined _POSIX_PATH_MAX]:
11060         Define to 256, not 255, as per modern POSIX.
11061
11062 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
11063
11064         Sync from coreutils.
11065         Use "file name" when talking about file names, instead of "filename"
11066         or "path", as per the GNU coding standards.
11067         * MODULES.html.sh: mkdir-p renamed from makepath.
11068         filenamecat renamed from path-concat.
11069         * modules/filenamecat: Renamed from modules/path-concat.
11070         (Files): filenamecat.h and filenamecat.c renamed from
11071         path-concat.h and path-concat.c.
11072         (configure.ac): gl_FILE_NAME_CONCAT, not gl_PATH_CONCAT.
11073         (Include): filenamecat.h, not path-concat.h.
11074         * modules/mkdir-p: Renamed from modules/makepath.
11075         (Files): mkdir-p.h and mkdir-p.c renamed from makepath.h and
11076         makepath.c.
11077         (configure.ac): gl_MKDIR_PARENTS, not gl_MAKEPATH.
11078         (Include): mkdir-p.h, not makepath.h.
11079
11080 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
11081
11082         Sync from coreutils.
11083         * m4/mkdir-p.m4: Renamed from makepath.m4.
11084         (gl_MKDIR_PARENTS): Renamed from gl_MAKEPATH.  All uses changed.
11085         Rename files from makepath.c to mkdir-p.c, and from
11086         makepath.h to mkdir-p.h.
11087         * m4/filenamecat.m4: Renamed from path-concat.m4.
11088         (gl_FILE_NAME_CONCAT): Renamed from gl_PATH_CONCAT.  All uses changed.
11089         Rename files from path-concat.c to filenamecat.c,
11090         and from path-concat.h to filenamecat.h.
11091         * m4/getcwd-path-max.m4: Don't use "path" or "filename" to mean
11092         "file name" in local variables or comments.
11093         * m4/rename.m4: Likewise.
11094
11095 2005-06-01  Bruno Haible  <bruno@clisp.org>
11096
11097         * modules/csharpexec: New file.
11098         * MODULES.html.sh (C#): New section.
11099
11100 2005-06-01  Bruno Haible  <bruno@clisp.org>
11101
11102         * m4/csharp.m4: New file, from GNU gettext.
11103         * m4/csharpexec.m4: New file, from GNU gettext.
11104
11105 2005-06-01  Bruno Haible  <bruno@clisp.org>
11106
11107         * lib/csharpexec.h: New file, from GNU gettext.
11108         * lib/csharpexec.c: New file, from GNU gettext.
11109         * lib/csharpexec.sh.in: New file, from GNU gettext.
11110
11111 2005-05-31  Derek Price  <derek@ximbiot.com>
11112             Paul Eggert  <eggert@cs.ucla.edu>
11113
11114         Sync from cvs.
11115         * m4/glob.m4: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
11116
11117 2005-05-31  Derek Price  <derek@ximbiot.com>
11118             Paul Eggert  <eggert@cs.ucla.edu>
11119
11120         Sync from cvs.
11121         * lib/glob_.h: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
11122
11123 2005-05-29  Derek Price  <derek@ximbiot.com>
11124
11125         * config/srclist.txt (glob_.h, glob.c): Add these files.
11126
11127 2005-05-29  Derek Price  <derek@ximbiot.com>
11128
11129         * MODULES.html.sh: Add glob to Enhanced POSIX.2001 section.
11130         * modules/glob: New file.
11131         * modules/getlogin_r: Add link to POSIX spec in description.
11132
11133 2005-05-29  Derek Price  <derek@ximbiot.com>
11134             Paul Eggert  <eggert@cs.ucla.edu>
11135
11136         * m4/glob.m4: New file.
11137
11138 2005-05-29  Derek Price  <derek@ximbiot.com>
11139             Paul Eggert  <eggert@cs.ucla.edu>
11140
11141         * lib/glob_.h, lib/glob.c: New files.
11142
11143 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
11144
11145         * modules/fts (Files): Remove m4/inttypes-pri.m4.
11146         * modules/fts-lgpl (Depends-on): Remove gettext.
11147
11148 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
11149
11150         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't check for inttypes.h or stdint.h,
11151         and don't require gt_INTTYPES_PRI.
11152
11153 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
11154
11155         * lib/getlogin_r.c (getlogin_r): Don't set errno to 0 on return.
11156
11157         * lib/fts.c: Don't worry about debugging on pre-C99-compatible hosts;
11158         the configuration hassle isn't worth it.
11159         Include inttypes.h and stdint.h unconditionally if FTS_DEBUG.
11160         (LONGEST_MODIFIER, PRIuMAX): Remove.
11161
11162 2005-05-27  Bruno Haible  <bruno@clisp.org>
11163
11164         * lib/getlogin_r.h: Remove second include of <stddef.h>.
11165
11166 2005-05-26  Paul Eggert  <eggert@cs.ucla.edu>
11167
11168         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Define
11169         _POSIX_PTHREAD_SEMANTICS for Solaris.
11170
11171 2005-05-25  Derek Price  <derek@ximbiot.com>
11172
11173         * MODULES.html.sh: Add getlogin_r to POSIX.2001 support section.
11174
11175 2005-05-25  Derek Price  <derek@ximbiot.com>
11176             Paul Eggert  <eggert@cs.ucla.edu>
11177
11178         * modules/getlogin_r, m4/getlogin_r.m4: New files.
11179         * lib/getlogin_r.c, getlogin_r.h: New files.
11180
11181 2005-05-25  Bruno Haible  <bruno@clisp.org>
11182             Derek Price  <derek@ximbiot.com>
11183
11184         * lib/getlogin_r.h: Simplify API documentation.
11185
11186 2005-05-23  Derek Price  <derek@ximbiot.com>
11187
11188         * modules/minmax (Files): Add m4/minmax.m4.
11189         (configure.ac): Add gl_MINMAX.
11190
11191 2005-05-22  Paul Eggert  <eggert@cs.ucla.edu>
11192
11193         * lib/fts.c (fd_safer) [_LGPL_PACKAGE]: New static function,
11194         so that unistd-safer.h (GPL'ed code) need not be included.
11195
11196 2005-05-22  Bruno Haible  <bruno@clisp.org>
11197
11198         * m4/minmax.m4: New file.
11199         Based on a patch by Derek Price <derek@ximbiot.com>.
11200
11201 2005-05-22  Bruno Haible  <bruno@clisp.org>
11202
11203         * lib/stdint_.h (_STDINT_H_HAVE_INT64): New macro. Use it in #ifdefs.
11204         (INT64_MIN): Fix definition.
11205         Suggested by Paul Eggert <eggert@cs.ucla.edu>.
11206
11207         * lib/stdint_.h (_STDINT_H_NEED_SIGNED_INT_TYPES): Renamed from
11208         NEED_SIGNED_INT_TYPES.
11209
11210         * lib/stdint_.h (_STDINT_H_HAVE_SYSTEM_INTTYPES): Renamed from
11211         HAVE_SYSTEM_INTTYPES.
11212
11213 2005-05-22  Bruno Haible  <bruno@clisp.org>
11214
11215         * lib/minmax.h: Include <limits.h> only when it defines MIN, MAX.
11216         Also include <sys/param.h> if it defines MIN, MAX.
11217         Based on a patch by Derek Price <derek@ximbiot.com>.
11218
11219 2005-05-21  Jim Meyering  <jim@meyering.net>
11220
11221         * modules/fts (Files): Add m4/inttypes-pri.m4.
11222         (Depends-on): Add lstat and remove gettext.  Alphabetize.
11223
11224 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
11225
11226         New fts module.
11227         * lib/fts.c: Don't include "cycle-check.h" or "hash.h".
11228         (setup_dir, free_dir): New functions.
11229         (enter_dir, leave_dir): Define trivial
11230         alternatives of _LGPL_PACKAGE.  Move to fts-cycle.c if !_LGPL_PACKAGE.
11231         (HT_INITIAL_SIZE, ENTER_DIR): Remove.  All uses removed.
11232         (LEAVE_DIR): Fix typo: pass Fts and Ent to leave_dir.
11233         (struct Active_dir, AD_compare, AD_hash, enter_dir, leave_dir):
11234         Move to fts-cycle.c.
11235         (fts_open): Use setup_dir.
11236         (fts_close): Use free_dir.
11237         (fts_read): Have just one copy of the ENTER_DIR code rather than three.
11238         This adds a label and some gotos, but the alternatives were messier.
11239         Check for memory allocation failure when entering a dir.
11240         (fts_stat) [_LGPL_PACKAGE]: Bring back glibc cycle detection code.
11241         * lib/fts_.h (_LGPL_PACKAGE) [defined _LIBC]: New macro.
11242         (FTS): New member fts_cycle, that is a union that contains the
11243         old active_dir_ht and cycle_state.  All uses changed to mention
11244         fts_cycle.ht and fts_cycle.state.
11245         * lib/fts-cycle.c: New file, containing GPL'ed code migrated out of
11246         fts.c, with the following changes:
11247         (setup_dir, free_dir): New functions.
11248         (enter_dir): Now returns bool.  Return true if successful, false
11249         if memory exhausted.  All callers changed.
11250         Do not bother partly cleaning up on
11251         memory allocation failure; that is free_dir's job.
11252         However, free ad if hash_insert fails, to avoid memory leak.
11253         (enter_dir, leave_dir): Accommodate change to FTS by inspecting
11254         fts->fts_options to see which union member to use.
11255
11256 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
11257
11258         * m4/fts.m4 (gl_FUNC_FTS_CORE): Renamed from gl_FUNC_FTS.
11259         (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): New macros.
11260
11261 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
11262
11263         * MODULES.html.sh (File system functions): Add fts, fts-lgpl.
11264
11265 2005-05-20  Jim Meyering  <jim@meyering.net>
11266
11267         * lib/unlinkdir.h (cannot_unlink_dir) [UNLINK_CANNOT_UNLINK_DIR]:
11268         Now a macro, to pacify GCC.
11269
11270 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
11271
11272         * m4/chown.m4 (gl_FUNC_CHOWN): Correct sense of test for honoring IDs
11273         of -1.
11274
11275 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
11276
11277         * lib/chown.c (rpl_chown): Return -1 on failure.
11278
11279 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
11280
11281         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME]):
11282         Don't check for stddef.h.
11283         * m4/fts.m4 (gl_FUNC_FTS): Don't require AC_HEADER_STDC, as we
11284         don't use its results.
11285         Don't check for fcntl.h, stddef.h, stdlib.h, string.h, unistd.h,
11286         since we include them unconditionally.  Don't require
11287         AM_STDBOOL_H, since stdbool is a prerequisite.
11288         Don't require AC_C_CONST, AC_TYPE_SIZE_T or check for ptrdiff_t
11289         since we assume C89 or better.
11290         Don't require AC_FUNC_CLOSEDIR_VOID, AC_FUNC_LSTAT, or AC_FUNC_STAT,
11291         as we don't use their results.
11292         Don't check for fchdir, memmove, memset, strrchr, as we use
11293         them unconditionally.
11294         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't define
11295         GETTIMEOFDAY_CLOBBERS_LOCALTIME_BUFFER, since nobody uses it.
11296
11297 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
11298
11299         * lib/canonicalize.c: Include canonicalize.h first, to test interface.
11300         Include <stddef.h> unconditionally, since we assume C89 now.
11301         All uses of PTR_INT_TYPE replaced by ptrdiff_t.
11302         * lib/fts.c: Include fts_.h first, to check interface.
11303         Do not include intprops.h; no longer needed.
11304         Include cycle-check.h and hash.h, since fts_.h no longer does.
11305         Remove unnecessary casts of closedir to void.
11306         (fts_build): Use a simpler method (not involving TYPE_SIGNED) to
11307         decide whether to decrement nlinks.
11308         * lib/fts_.h: Do not include hash.h or cycle-check.h; no longer needed.
11309         (FTS): Use struct hash_table * instead of Hash_table, so that
11310         we no longer need to include hash.h here.
11311
11312 2005-05-18  Jim Meyering  <jim@meyering.net>
11313
11314         * modules/dirfd (License): Change to LGPL.  Most of the code
11315         is already in the public domain.
11316
11317 2005-05-18  Jim Meyering  <jim@meyering.net>
11318
11319         * m4/fts.m4 (AC_LIBSOURCES): Add intprops.h to the list.
11320         Reported by Yoann Vandoorselaere.
11321
11322 2005-05-17  Jim Meyering  <jim@meyering.net>
11323
11324         * m4/fts.m4: New file, from coreutils.
11325
11326 2005-05-17  Jim Meyering  <jim@meyering.net>
11327
11328         * lib/fts.c, lib/fts_.h: New files, from coreutils.
11329
11330 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
11331
11332         Sync from coreutils.
11333         * m4/unlinkdir.m4: New file.
11334
11335 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
11336
11337         Sync from coreutils.
11338         * lib/unlinkdir.c, lib/unlinkdir.h: New files.
11339         * lib/gethrxtime.c, lib/gethrxtime.h, lib/getpass.h, lib/mountlist.h,
11340         lib/path-concat.c, lib/regex.h, lib/unlocked-io.h, lib/xtime.h:
11341         White space changes only.
11342         * lib/makepath.c (make_path): Port to hosts where leading "//" is
11343         special.
11344         * lib/yesno.c: Include getline.h, not ctype.h.
11345         (yesno): Don't remove leading white space; POSIX doesn't allow it.
11346         Use getline to remove arbitrary restriction on response length.
11347
11348 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
11349
11350         * config/srclist-update: Spell out "Street" in FSF postal
11351         mail address; this is the style the FSF seems to prefer.
11352
11353         * build-aux/depcomp, build-aux/install-sh, build-aux/mdate-sh,
11354         build-aux/missing, build-aux/mkinstalldirs: Sync from Automake;
11355         this updates FSF postal mail address.
11356
11357         Sync from coreutils.
11358         * modules/unlinkdir: New file.
11359         * modules/yesno (Depends-on): Add getline.
11360         * MODULES.html.sh (File system functions): Add unlinkdir.
11361
11362 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
11363
11364         * lib/byteswap_.h, lib/getsubopt.h, lib/iconvme.h, lib/strsep.c,
11365         lib/strsep.h:
11366         Change the initial comment to refer to GPL, not LGPL.
11367         gnulib-tool will change it to LGPL as needed.
11368
11369         * lib/__fpending.c, lib/acl.c, lib/acl.h, lib/alloca_.h, lib/allocsa.c,
11370         lib/allocsa.h, lib/argmatch.c, lib/argmatch.h, lib/argp-ba.c,
11371         lib/argp-eexst.c, lib/argp-fmtstream.c, lib/argp-fmtstream.h,
11372         lib/argp-fs-xinl.c, lib/argp-help.c, lib/argp-namefrob.h,
11373         lib/argp-parse.c, lib/argp-pv.c, lib/argp-pvh.c, lib/argp-xinl.c,
11374         lib/argp.h, lib/argz.c, lib/argz_.h, lib/asnprintf.c, lib/asprintf.c,
11375         lib/atanl.c, lib/backupfile.c, lib/backupfile.h, lib/base64.c,
11376         lib/base64.h, lib/basename.c, lib/binary-io.h, lib/byteswap_.h,
11377         lib/c-ctype.c, lib/c-ctype.h, lib/c-stack.c, lib/c-stack.h,
11378         lib/c-strtod.c, lib/calloc.c, lib/canon-host.c, lib/canonicalize.c,
11379         lib/canonicalize.h, lib/ceill.c, lib/chdir-long.c, lib/chdir-long.h,
11380         lib/chown.c, lib/classpath.c, lib/classpath.h, lib/cloexec.c,
11381         lib/closeout.c, lib/closeout.h, lib/concatpath.c, lib/config.charset,
11382         lib/copy-file.c, lib/copy-file.h, lib/cycle-check.c, lib/cycle-check.h,
11383         lib/diacrit.c, lib/diacrit.h, lib/dirfd.c, lib/dirfd.h, lib/dirname.c,
11384         lib/dirname.h, lib/dummy.c, lib/dup-safer.c, lib/dup2.c, lib/eealloc.h,
11385         lib/error.c, lib/error.h, lib/euidaccess.c, lib/exclude.c,
11386         lib/exclude.h, lib/execute.c, lib/execute.h, lib/exit.h,
11387         lib/exitfail.c, lib/exitfail.h, lib/expl.c, lib/fatal-signal.c,
11388         lib/fatal-signal.h, lib/fd-safer.c, lib/file-type.c, lib/file-type.h,
11389         lib/fileblocks.c, lib/filemode.c, lib/filemode.h, lib/findprog.c,
11390         lib/findprog.h, lib/floorl.c, lib/fnmatch.c, lib/fnmatch_.h,
11391         lib/fnmatch_loop.c, lib/fopen-safer.c, lib/free.c, lib/frexpl.c,
11392         lib/fsusage.c, lib/fsusage.h, lib/full-read.c, lib/full-read.h,
11393         lib/full-write.c, lib/full-write.h, lib/fwriteerror.c,
11394         lib/fwriteerror.h, lib/gai_strerror.c, lib/gcd.c, lib/gcd.h,
11395         lib/getaddrinfo.c, lib/getaddrinfo.h, lib/getcwd.c, lib/getcwd.h,
11396         lib/getdate.h, lib/getdate.y, lib/getdomainname.c, lib/getdomainname.h,
11397         lib/getgroups.c, lib/gethostname.c, lib/gethrxtime.c, lib/gethrxtime.h,
11398         lib/getline.c, lib/getline.h, lib/getloadavg.c, lib/getndelim2.c,
11399         lib/getndelim2.h, lib/getnline.c, lib/getnline.h, lib/getopt.c,
11400         lib/getopt1.c, lib/getopt_.h, lib/getopt_int.h, lib/getpagesize.h,
11401         lib/getpass.c, lib/getpass.h, lib/getsubopt.c, lib/getsubopt.h,
11402         lib/gettext.h, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c,
11403         lib/getusershell.c, lib/group-member.c, lib/group-member.h,
11404         lib/hard-locale.c, lib/hard-locale.h, lib/hash-pjw.c, lib/hash-pjw.h,
11405         lib/hash.c, lib/hash.h, lib/human.c, lib/human.h, lib/iconvme.c,
11406         lib/iconvme.h, lib/idcache.c, lib/inet_ntop.h, lib/intprops.h,
11407         lib/inttostr.c, lib/inttostr.h, lib/isdir.c, lib/javacomp.c,
11408         lib/javacomp.h, lib/javacomp.sh.in, lib/javaexec.c, lib/javaexec.h,
11409         lib/javaexec.sh.in, lib/lbrkprop.h, lib/lchown.c, lib/ldexpl.c,
11410         lib/linebreak.c, lib/linebreak.h, lib/linebuffer.c, lib/linebuffer.h,
11411         lib/localcharset.c, lib/localcharset.h, lib/logl.c, lib/long-options.c,
11412         lib/long-options.h, lib/lstat.c, lib/makepath.c, lib/makepath.h,
11413         lib/malloc.c, lib/mathl.h, lib/mbswidth.c, lib/mbswidth.h, lib/md5.c,
11414         lib/md5.h, lib/memcasecmp.c, lib/memcasecmp.h, lib/memchr.c,
11415         lib/memcmp.c, lib/memcoll.c, lib/memcoll.h, lib/memcpy.c, lib/memmem.c,
11416         lib/memmem.h, lib/mempcpy.c, lib/mempcpy.h, lib/memrchr.c,
11417         lib/memrchr.h, lib/memset.c, lib/minmax.h, lib/mkdir.c, lib/mkdtemp.c,
11418         lib/mkdtemp.h, lib/mkstemp.c, lib/mktime.c, lib/modechange.c,
11419         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
11420         lib/obstack.c, lib/obstack.h, lib/openat.c, lib/openat.h,
11421         lib/pagealign_alloc.c, lib/pagealign_alloc.h, lib/path-concat.c,
11422         lib/path-concat.h, lib/pathmax.h, lib/pathname.h, lib/physmem.c,
11423         lib/physmem.h, lib/pipe.c, lib/pipe.h, lib/poll.c, lib/poll_.h,
11424         lib/posixtm.c, lib/posixtm.h, lib/posixver.c, lib/printf-args.c,
11425         lib/printf-args.h, lib/printf-parse.c, lib/printf-parse.h,
11426         lib/progname.c, lib/progname.h, lib/progreloc.c, lib/putenv.c,
11427         lib/quote.c, lib/quote.h, lib/quotearg.c, lib/quotearg.h, lib/raise.c,
11428         lib/readlink.c, lib/readtokens.c, lib/readtokens.h, lib/readtokens0.c,
11429         lib/readtokens0.h, lib/readutmp.c, lib/readutmp.h, lib/realloc.c,
11430         lib/ref-add.sin, lib/ref-del.sin, lib/regex.c, lib/regex.h,
11431         lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c,
11432         lib/safe-read.h, lib/safe-write.c, lib/safe-write.h, lib/same.c,
11433         lib/same.h, lib/save-cwd.c, lib/save-cwd.h, lib/savedir.c,
11434         lib/savedir.h, lib/setenv.c, lib/setenv.h, lib/settime.c,
11435         lib/sh-quote.c, lib/sh-quote.h, lib/sha1.c, lib/sha1.h, lib/sig2str.c,
11436         lib/sig2str.h, lib/sincosl.c, lib/snprintf.c, lib/snprintf.h,
11437         lib/sqrtl.c, lib/stat-macros.h, lib/stat.c, lib/stdbool_.h,
11438         lib/stdint_.h, lib/stdio-safer.h, lib/stpcpy.c, lib/stpcpy.h,
11439         lib/stpncpy.c, lib/stpncpy.h, lib/strcase.h, lib/strcasecmp.c,
11440         lib/strchrnul.c, lib/strchrnul.h, lib/strcspn.c, lib/strdup.c,
11441         lib/strdup.h, lib/strerror.c, lib/strftime.c, lib/strftime.h,
11442         lib/stripslash.c, lib/strndup.c, lib/strndup.h, lib/strnlen.c,
11443         lib/strpbrk.c, lib/strpbrk.h, lib/strsep.c, lib/strsep.h, lib/strstr.c,
11444         lib/strstr.h, lib/strtod.c, lib/strtoimax.c, lib/strtok_r.c,
11445         lib/strtok_r.h, lib/strtol.c, lib/strtoll.c, lib/strtoul.c,
11446         lib/strtoull.c, lib/strverscmp.c, lib/strverscmp.h, lib/sysexit_.h,
11447         lib/tempname.c, lib/time_r.c, lib/time_r.h, lib/timegm.c, lib/timegm.h,
11448         lib/timespec.h, lib/trigl.c, lib/trigl.h, lib/ucs4-utf16.h,
11449         lib/ucs4-utf8.h, lib/unicodeio.c, lib/unicodeio.h, lib/unistd-safer.h,
11450         lib/unlocked-io.h, lib/unsetenv.c, lib/userspec.c, lib/utf16-ucs4.h,
11451         lib/utf8-ucs4.h, lib/utime.c, lib/utimecmp.c, lib/utimecmp.h,
11452         lib/utimens.c, lib/vasnprintf.c, lib/vasnprintf.h, lib/vasprintf.c,
11453         lib/vasprintf.h, lib/version-etc-fsf.c, lib/version-etc.c,
11454         lib/version-etc.h, lib/vsnprintf.c, lib/vsnprintf.h, lib/w32spawn.h,
11455         lib/wait-process.c, lib/wait-process.h, lib/xalloc-die.c, lib/xalloc.h,
11456         lib/xallocsa.c, lib/xallocsa.h, lib/xasprintf.c, lib/xgetcwd.c,
11457         lib/xgetcwd.h, lib/xgetdomainname.c, lib/xgetdomainname.h,
11458         lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c,
11459         lib/xreadlink.c, lib/xreadlink.h, lib/xsetenv.c, lib/xsetenv.h,
11460         lib/xsize.h, lib/xstrndup.c, lib/xstrndup.h, lib/xstrtod.c,
11461         lib/xstrtod.h, lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h,
11462         lib/xstrtoumax.c, lib/xtime.h, lib/xvasprintf.c, lib/xvasprintf.h,
11463         lib/yesno.c, lib/yesno.h:
11464         Update FSF postal mail address.
11465
11466 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
11467
11468         * MODULES.html.sh, README, gnulib-tool, tests/test-base64.c,
11469         tests/test-memmem.c, tests/test-stpncpy.c:
11470         Update FSF postal mail address.
11471
11472 2005-05-13  Bruno Haible  <bruno@clisp.org>
11473
11474         * lib/stdint_.h (int64_t, uint64_t, int_least64_t, uint_least64_t,
11475         int_fast64_t, uint_fast64_t, intmax_t, uintmax_t, INT64_MIN, INT64_MAX,
11476         UINT64_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX,
11477         INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTMAX_MIN,
11478         INTMAX_MAX, UINTMAX_MAX, INT64_C, UINT64_C, INTMAX_C, UINTMAX_C):
11479         Add support for 64-bit integers in the MSVC compiler.
11480
11481 2005-05-12  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
11482
11483         * modules/getdate (Makefile.am): Add getdate.c to EXTRA_DIST
11484
11485 2005-05-12  Eric Blake  <ebb9@byu.net>  (tiny change)
11486
11487         * gnulib-tool (func_import): Sort and uniquify recommended includes.
11488
11489 2005-05-11  Paul Eggert  <eggert@cs.ucla.edu>
11490
11491         * doc/getdate.texi (General date syntax): Don't say that date
11492         date --iso-8601=ns generates acceptable dates; it doesn't yet.
11493         Problem reported by Nic Ferrier.
11494
11495 2005-05-10  Yoann Vandoorselaere <yoann.v@prelude-ids.com>
11496
11497         * lib/getaddrinfo.c: Don't fail when SOCK_STREAM or SOCK_DGRAM are
11498         specified in ai_socktype. Fix invalid ai_protocol
11499         check. ai_protocol is usually set to 0 or depending on
11500         ai_family/ai_socktype to IPPROTO_TCP / IPPROTO_UDP.  Checking for
11501         SOCK_STREAM / SOCK_DGRAM in ai_protocol was invalid.  Set
11502         ai_socktype / ai_protocol in the returned addrinfo structure.
11503
11504 2005-05-10  Simon Josefsson  <jas@extundo.com>
11505
11506         * m4/getaddrinfo.m4: Look in libnsl/libsocket for getaddrinfo, from
11507         Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
11508
11509 2005-05-10  Karl Berry  <karl@gnu.org>
11510
11511         * doc/fdl.texi, gpl.texi, lgpl.texi, COPYING: update FSF address
11512         (from http://www.gnu.org/licenses).
11513         * doc/COPYING.LIB: also rename to COPYING.LESSER.
11514         * doc/COPYING.DOC: remove; per rms, only needed in doc files, so
11515         fdl.texi suffices.
11516
11517 2005-05-10  Karl Berry  <karl@gnu.org>
11518
11519         * config/srclist.txt (COPYING.LESSER): rename from COPYING.LIB.
11520         (COPYING.DOC): remove.
11521
11522         * config/srclist-update: new FSF address.
11523
11524 2005-05-10  Derek Price  <derek@ximbiot.com>
11525
11526         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 bug, not decl, when
11527         possible.
11528
11529 2005-05-09  Yoann Vandoorselaere <yoann.v@prelude-ids.com>
11530             Bruno Haible  <bruno@clisp.org>
11531
11532         * modules/inet_ntop: New file.
11533         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
11534         inet_ntop.
11535
11536 2005-05-09  Yoann Vandoorselaere <yoann.v@prelude-ids.com>
11537             Bruno Haible  <bruno@clisp.org>
11538
11539         * m4/inet_ntop.m4: New file.
11540
11541 2005-05-09  Yoann Vandoorselaere <yoann.v@prelude-ids.com>
11542             Bruno Haible  <bruno@clisp.org>
11543
11544         * lib/inet_ntop.h: New file.
11545         * lib/inet_ntop.c: New file, from glibc with modifications.
11546
11547 2005-05-09  Paul Eggert  <eggert@cs.ucla.edu>
11548
11549         * modules/time_r (License): Change to LGPL.
11550         * modules/extensions (License): Change to LGPL.  Actually,
11551         the license is more permissive than that, but currently gnulib-tool
11552         doesn't know how to handle more-permissive licenses.
11553
11554         * modules/stat-macros (Depends-on): Don't depend on stat-macros (!).
11555         Problem reported by Dave Love.
11556
11557 2005-05-08  Jim Meyering  <jim@meyering.net>
11558
11559         * lib/classpath.c (PATH_SEPARATOR): Remove insignificant trailing
11560         blank.
11561
11562 2005-05-06  Paul Eggert  <eggert@cs.ucla.edu>
11563
11564         * modules/argmatch (Depends-on): Add stdbool.
11565         * modules/backupfile (Depends-on): Likewise.
11566         * modules/chdir-long (Depends-on): Likewise.
11567         * modules/closeout (Depends-on): Likewise.
11568         * modules/cycle-check (Depends-on): Likewise.
11569         * modules/dirname (Depends-on): Likewise.
11570         * modules/fnmatch (Depends-on): Likewise.
11571         * modules/fsusage (Depends-on): Likewise.
11572         * modules/fwriteerror (Depends-on): Likewise.
11573         * modules/getcwd (Depends-on): Likewise.
11574         * modules/getloadavg (Depends-on): Likewise.
11575         * modules/hard-locale (Depends-on): Likewise.
11576         * modules/makepath (Depends-on): Likewise.
11577         * modules/mountlist (Depends-on): Likewise.
11578         * modules/nanosleep (Depends-on): Likewise.
11579         * modules/posixtm (Depends-on): Likewise.
11580         * modules/quotearg (Depends-on): Likewise.
11581         * modules/readtokens (Depends-on): Likewise.
11582         * modules/readtokens0 (Depends-on): Likewise.
11583         * modules/readutmp (Depends-on): Likewise.
11584         * modules/save-cwd (Depends-on): Likewise.
11585         * modules/strftime (Depends-on): Likewise.
11586         * modules/userspec (Depends-on): Likewise.
11587         * modules/utimecmp (Depends-on): Likewise.
11588         * modules/xgetcwd (Depends-on): Likewise.
11589         * modules/xnanosleep (Depends-on): Likewise.
11590         * modules/xstrtod (Depends-on): Likewise.
11591         * modules/yesno (Depends-on): Likewise.
11592
11593 2005-05-05  Paul Eggert  <eggert@cs.ucla.edu>
11594
11595         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 getopt, and avoid
11596         needless checks.
11597
11598 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
11599
11600         Merge from coreutils.  Among other things,
11601         add bulletproofing for cases where stdin, stdout, or stderr are closed.
11602         * lib/fd-safer.c: New file.
11603         * lib/fcntl-safer.h, open-safer.c: Remove.
11604         * lib/chdir-long.c: Fix comment "fetish" -> "coreutils".
11605         * lib/dup-safer.c: Include unistd-safer.h first.
11606         Don't include errno.h.
11607         (dup_safer) [!defined F_DUPFD]: Let fd_safer do the real work.
11608         * lib/file-type.h: Don't assume invoker included sys/stat.h first.
11609         * lib/file-type.c: Rely on file-type.h change.
11610         * lib/getloadavg.c: Include unistd-safer.h.
11611         (getloadavg): Use safer open.
11612         * lib/getusershell.c: Include "stdio-safer.h".
11613         (getusershell): Use safer fopen.
11614         * lib/long-options.c (long_options): Use NULL rather than 0.
11615         * lib/modechange.h (mode_free): Remove; all callers changed to invoke
11616         'free'.
11617         * lib/modechange.c: Likewise.
11618         xstrtol.h, stdbool.h, stddef.h: Don't include; no longer needed.
11619         (MODE_DONE): New constant.
11620         (struct mode_change): Remove 'next' member.
11621         (make_node_op_equals): New function; like the old one of the
11622         same name, except it allocates an array.
11623         (mode_compile, mode_create_from_ref): Use it.
11624         (mode_compile): Allocate result as an array, not a linked list.
11625         Parse octal string ourself, so that we catch mistakes like "+0".
11626         (mode_adjust): Arg is an array, not a linked list.
11627         * lib/modechange.c: Include stat-macros.h, xalloc.h.
11628         (S_ISDIR, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR):
11629         (S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH, S_IRXWU):
11630         (S_IRWXG, S_IRWXO, CHMOD_MODE_BITS):
11631         Remove.  This is now stat-macros.h's job.
11632         (talloc): Remove.  All callers replaced by xalloc, so that
11633         our invokers don't have to worry about reporting memory failures.
11634         (make_node_op_equals): Remove.
11635         (MODE_ORDINARY_CHAGE, MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
11636         New constants.
11637         (struct mode_change): Moved here from modechange.h.
11638         (mode_append_entry): Remove.
11639         (mode_compile): Remove MASKED_OPS arg, since it encouraged
11640         apps to have incorrect behavior.  Use simpler algorithm for head
11641         and tail.  Don't futz with umask; that's now the job of mode_adjust.
11642         Detect more invalid usages rather than having somewhat-random behavior.
11643         Don't insert an "a=" action, as that leads to incorrect behavior.
11644         (mode_compile, mode_create_from_ref): Return NULL on error instead
11645         of an enum, since now there's only one way to have an error.  All
11646         callers changed.
11647         (mode_adjust): Accept new arg UMASK_VALUE, and interpret it
11648         at the correct time.  Simplify calculation of "+u" and its ilk.
11649         Don't mishandle "+X".
11650         (mode_free): Remove "register" and localize decls.
11651         * lib/modechange.h (MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
11652         (struct mode_change): Move to modechange.c; callers don't
11653         need to see this stuff.
11654         (MODE_MASK_EQUALS, MODE_MASK_PLUS, MODE_MASK_MINUS, MODE_MASK_ALL):
11655         (MODE_INVALID, MODE_MEMORY_EXHAUSTED, MODE_BAD_REFERENCE): Remove.
11656         (mode_change, mode_adjust): Reflect the new signatures noted above.
11657         * lib/nanosleep.c (rpl_nanosleep): Include "timespec.h" before macros
11658         that might redefine system include files.
11659         (siginterrupt) [!HAVE_SIGINTERRUPT]: New macro.
11660         (my_usleep): Use NULL rather than (void *) 0.
11661         (rpl_nanosleep) [!defined SA_NOCLDSTOP]:
11662         Use siginterrupt to specify that system calls should be interrupted.
11663         (rpl_nanosleep): Move initialization of suspended closer to call of
11664         my_usleep.
11665         * lib/readutmp.h (read_utmp): New arg OPTIONS.  All uses changed.
11666         * lib/readutmp.c: Likewise.  Include signal.h, stdbool.h.
11667         (desirable_utmp_entry): New function.
11668         (read_utmp) [defined UTMP_NAME_FUNCTION]: Redo memory allocation
11669         using x2nrealloc, to simplify logic.
11670         (read_utmp) [!defined UTMP_NAME_FUNCTION]: Check for overflow in
11671         size calculation.  Do not assume utmp file is a regular file.
11672         * lib/readutmp.h (UT_PID): Moved here from ../src/who.c.
11673         (READ_UTMP_CHECK_PIDS): New constant.
11674         * lib/save-cwd.c: Include unistd-safer.h.
11675         (save_cwd): Use fd_safer.
11676         * lib/tempname.c (S_ISDIR, S_IRUSR, S_IRUSR, S_IWUSR, S_IXUSR): Remove.
11677         [!_LIBC] Include "stat-macros.h" instead.
11678         * lib/unistd-safer.h (fd_safer): New decl.
11679
11680 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
11681
11682         * modules/getloadavg (Depends-on): Add unistd-safer.
11683         * modules/getusershell (Depends-on): Add stdio-safer.
11684         * modules/lstat (Depends-on): Remove xalloc.
11685         * modules/mkstemp (Depends-on): Add stat-macros.
11686         * modules/modechange (Depends-on): Remove xstrtol.
11687         Add stat-macros, xalloc.
11688         * modules/save-cwd (Depends-on): Add unistd-safer.
11689         * modules/stdio-safer (Makefile.am): Remove lib_SOURCES.
11690         * modules/unistd-safer (Files): Add lib/fd-safer.c
11691         (Makefile.am): Remove lib_SOURCES.
11692
11693         * MODULES.html.sh (Enhancements for POSIX:2001 functions):
11694         Remove fcntl-safer; unistd-safer supersedes it.
11695
11696 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
11697
11698         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Don't require
11699         AC_HEADER_STAT.
11700         * m4/lchown.m4 (gl_FUNC_CHOWN): Likewise.
11701         (gl_PREREQ_CHOWN): Remove.
11702         * m4/lstat.m4 (gl_FUNC_LSTAT): Require AC_FUNC_LSTAT instead of calling
11703         it.  Don't require AC_HEADER_STAT.
11704         (gl_PREREQ_LSTAT): Remove.
11705         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Check stdint.h only once.
11706         Don't require AC_HEADER_STAT.
11707         * m4/rmdir.m4 (gl_FUNC_RMDIR): Don't require AC_HEADER_STAT.
11708         (gl_PREREQ_RMDIR): Remove.
11709         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Don't
11710         mention stat-macros.h or AC_HEADER_STAT, since we'll make
11711         the stat-macros module a prerequisite.
11712         * m4/file-type.m4 (gl_FILE_TYPE): Likewise.
11713         * m4/filemode.m4 (gl_FILEMODE): Likewise.
11714         * m4/makepath.m4 (gl_MAKEPATH): Likewise.
11715         * m4/modechange.m4 (gl_MODECHANGE): Likewise.
11716         * m4/clock_time.m4 (gl_CLOCK_TIME): Use gl_ rather than fetish_ for
11717         variable names.
11718         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Renamed from
11719         fetish_FUNC_RMDIR_NOTEMPTY.  All uses changed.  Use gl_ for
11720         variable prefixes.
11721         * m4/fcntl-safer.m4: Remove.
11722         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Use AC_LIBSOURCES and AC_LIBOBJ.
11723         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise.
11724         Invoke gl_PREREQ_FD_SAFER.
11725         (gl_PREREQ_FD_SAFER): New macro.
11726         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Check for siginterrupt.
11727         * m4/readutmp.m4 (gl_READUTMP): Require AC_C_INLINE.
11728         Use AC_CHECK_HEADERS_ONCE and AC_CHECK_FUNCS_ONCE when possible.
11729         Remove duplicate call to AC_LIBOBJ(readutmp).
11730         (gl_PREREQ_READUTMP): Remove.  All uses inlined.
11731
11732         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Check for message, not for
11733         MAP_ANON.  Problem reported by Moriyoshi Koizumi to bug-cvs.
11734
11735 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
11736
11737         * MODULES.html.sh (Misc): Add byteswap.
11738
11739 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
11740
11741         * modules/getcwd (Depends-on): Add extensions.
11742         * modules/openat (Depends-on): Likewise.
11743
11744 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
11745
11746         * modules/byteswap: New file.
11747
11748 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
11749
11750         * m4/byteswap.m4: New file.
11751
11752 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
11753
11754         * lib/byteswap_.h: New file.
11755
11756 2005-04-25  Karl Berry  <karl@gnu.org>
11757
11758         * m4/gettext.m4: Update from GNU gettext 0.14.4.
11759
11760 2005-04-25  Albert Chin  <china@thewrittenword.com>
11761
11762         * lib/regex.c: Include <stdio.h>, as a workaround to a Compaq Desktop
11763         Toolkit C bug.
11764
11765 2005-04-21  Oskar Liljeblad  <oskar@osk.mine.nu>
11766
11767         * gnulib-tool (Options): Add -s for --symlink/--symbolic.
11768         (func_ln_if_changed) Remove forcibly for no error message
11769         in case file does not exist.
11770
11771 2005-04-19  Simon Josefsson  <jas@extundo.com>
11772
11773         * gnulib-tool (Options): Make --symlink mean --symbolic.
11774
11775 2005-04-18  Oskar Liljeblad <oskar@osk.mine.nu>
11776
11777         * doc/gnulib.texi (Initial import): Fix.  Mention --aux-dir.
11778
11779 2005-04-16  Simon Josefsson  <jas@extundo.com>
11780
11781         * modules/getpass-gnu (Makefile.am): Don't mention getpass.h.
11782
11783 2005-04-15  Simon Josefsson  <jas@extundo.com>
11784
11785         * m4/getpass.m4 (gl_FUNC_GETPASS): Use AC_LIBSOURCES.
11786
11787 2005-04-15  Simon Josefsson  <jas@extundo.com>
11788
11789         * gnulib-tool: Rename --symlink to --symbolic.
11790
11791 2005-04-15  Oskar Liljeblad <oskar@osk.mine.nu>
11792
11793         * gnulib-tool: Add -s, --symlink option to gnulib-tool to make
11794         symbolic links to files instead of copying/moving.  Add --aux-dir,
11795         specifying directory relative --dir where auxiliary build tools
11796         are placed.
11797
11798 2005-04-14  Bruno Haible  <bruno@clisp.org>
11799
11800         * modules/allocsa (License): Change to LGPL.
11801         Requested by Yoann Vandoorselaere <yoann@prelude-ids.org>.
11802
11803 2005-04-13  Paul Eggert  <eggert@cs.ucla.edu>
11804
11805         * lib/getdate.y (zone): Allow relunit_snumber after tZONE, so
11806         that "UTC +1 second" continues to work.  Problem reported
11807         by Dmitry V. Levin.
11808         (relunit_snumber): New rule.
11809         (relunit): Use it.
11810
11811 2005-04-12  Paul Eggert  <eggert@cs.ucla.edu>
11812
11813         * lib/getdate.y (universal_time_zone_table): New constant.
11814         (time_zone_table): Remove GMT, UT, UTC entries; they're now in
11815         universal_time_zone_table.
11816         (lookup_zone): Prefer universal_time_zone_table to
11817         local_time_zone_table, so that "GMT" time stamps are allowed in
11818         London during the summer.  Problem reported by Ian Abbott.
11819
11820 2005-04-12  Jim Meyering  <jim@meyering.net>
11821
11822         * lib/human.c (humblock): Set *options even when returning due to
11823         xstrtoumax conversion failure.  Thanks to a used-uninitialized
11824         warning from gcc-4.
11825
11826 2005-04-09  Jim Meyering  <jim@meyering.net>
11827
11828         * lib/posixtm.c (posixtime) [lint]: Avoid spurious warning from gcc-4's
11829         -Wuninitialized: initialize tm0.tm_year.
11830
11831 2005-04-04  Paul Eggert  <eggert@cs.ucla.edu>
11832
11833         * lib/getdate.y (parser_control): rels_seen is now a boolean, not a
11834         count, since there's no maximum.  All uses changed.
11835         Add member dsts_seen.
11836         (local_zone): Accumulate dsts_seen rather than relying on tm_isdst
11837         not being INT_MAX.
11838         (get_date): Initialize dsts_seen, and check that it doesn't go over 1.
11839         Use pc_rels_seen to decide whther a date is absolute.
11840
11841         * lib/getdate.y (number): Don't overwrite year.
11842         (get_date): Initialize pc.year.digits to 0, not 4, to enable above
11843         check.
11844
11845 2005-04-02  Simon Josefsson  <jas@extundo.com>
11846
11847         * lib/getaddrinfo.h: Fix OpenBSD compilation failure, inspired by tiny
11848         patch from Yoann Vandoorselaere <yoann@prelude-ids.org>.
11849
11850 2005-03-28  Eric Blake  <ebb9@byu.net>  (tiny change)
11851
11852         * m4/getcwd-path-max.m4: Return success on systems such as Cygwin
11853         where no absolute path name can be longer than PATH_MAX.
11854
11855 2005-03-27  Jim Meyering  <jim@meyering.net>
11856
11857         * lib/argmatch.c: Clarify comment: null-terminated -> NULL-terminated.
11858
11859 2005-03-26  Paul Eggert  <eggert@cs.ucla.edu>
11860
11861         * lib/intprops.h (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND):
11862         "one's complement" -> "ones' complement" in comment, as per Knuth.
11863         "value of type" -> "type or expression" in comment.
11864         * lib/mktime.c, strftime.c: Propagate intprops.h comment nits.
11865
11866 2005-03-26  Jim Meyering  <jim@meyering.net>
11867
11868         Comment nits.
11869         * lib/intprops.h: Add the apostrophe in `(one|two)'s complement'.
11870         Correct typos: s/or/of/.
11871
11872 2005-03-26  Jim Meyering  <jim@meyering.net>
11873
11874         * modules/check-include-files: Move to ../ and rename to...
11875         * check-module: ...this.
11876
11877 2005-03-25  Jim Meyering  <jim@meyering.net>
11878
11879         * modules/xvasprintf (Files): Add xalloc.h.
11880
11881 2005-03-23  Paul Eggert  <eggert@cs.ucla.edu>
11882
11883         * modules/gettext (Files): config/config.rpath ->
11884         build-aux/config.rpath
11885         * modules/iconv (Files): Likewise.
11886         Problem reported by Oskar Liljeblad.
11887
11888 2005-03-23  Jim Meyering  <jim@meyering.net>
11889
11890         * modules/check-include-files: New script to check for
11891         missing dependencies, multiple includes, etc.
11892
11893         * modules/c-strtold (Depends-on): Add xalloc.
11894         * modules/c-strtod (Depends-on): Add xalloc.
11895         * modules/hash (Depends-on): Add xalloc.
11896         (Files): Remove lib/xalloc.h.
11897
11898         * modules/gethrxtime (Files): Add lib/gethrxtime.h.
11899         * modules/userspec (Files): Add lib/inttostr.h.
11900
11901 2005-03-23  Jim Meyering  <jim@meyering.net>
11902
11903         * lib/canonicalize.c: Remove duplicate `#include "stat-macros.h"'.
11904
11905 2005-03-22  Jim Meyering  <jim@meyering.net>
11906
11907         * modules/stat-macros: New module.
11908         * modules/canonicalize, modules/euidaccess, modules/file-type,
11909         * modules/filemode, modules/lchown, modules/makepath,
11910         * modules/rmdir, modules/stat: Depend on new stat-macros module
11911         rather than listing lib/stat-macros.h manually.
11912         Don't add stat-macros.h to lib_SOURCES or list it in Files: section.
11913
11914 2005-03-22  Jim Meyering  <jim@meyering.net>
11915
11916         * m4/stat-macros.m4 (gl_STAT_MACROS): New file/macro.
11917
11918 2005-03-22  Bruno Haible  <bruno@clisp.org>
11919
11920         * config/srclist.txt: Replace target directory 'config' with
11921         'build-aux'.
11922         * config/config.guess, config.sub, config.rpath, depcomp, install-sh:
11923         * config/mdate-sh, missing, mkinstalldirs, texinfo.tex: Move to
11924         ../build-aux/.
11925
11926 2005-03-21  Paul Eggert  <eggert@cs.ucla.edu>
11927
11928         * modules/chdir-long (Depends-on): Add mempcpy.
11929
11930         * modules/acl, modules/backupfile, modules/c-strtod,
11931         modules/c-strtold, modules/canon-host, modules/canonicalize,
11932         modules/cloexec, modules/closeout, modules/dirfd, modules/dirname,
11933         modules/exclude, modules/exitfail, modules/file-type,
11934         modules/filemode, modules/fpending, modules/fsusage, modules/getcwd,
11935         modules/getdate, modules/getline, modules/getpagesize,
11936         modules/getpass, modules/getugroups, modules/group-member,
11937         modules/hard-locale, modules/hash, modules/human, modules/idcache,
11938         modules/inttostr, modules/long-options, modules/makepath,
11939         modules/md5, modules/memcasecmp, modules/memcoll,
11940         modules/modechange, modules/mountlist, modules/path-concat,
11941         modules/pathmax, modules/physmem, modules/posixtm, modules/posixver,
11942         modules/quote, modules/quotearg, modules/readtokens, modules/readutmp,
11943         modules/safe-read, modules/safe-write, modules/same, modules/savedir,
11944         modules/settime, modules/sha1, modules/sig2str, modules/strdup,
11945         modules/strftime, modules/strndup, modules/strverscmp,
11946         modules/timespec, modules/unlocked-io, modules/userspec,
11947         modules/utimecmp, modules/utimens, modules/xalloc, modules/xstrtol,
11948         modules/yesno:
11949         Remove lib_SOURCES line from Makefile.am section, as this is now
11950         done automatically by the corresponding Autoconf macro.
11951
11952 2005-03-21  Jim Meyering  <jim@meyering.net>
11953
11954         Changes imported from coreutils.
11955
11956         * lib/cycle-check.c: Don't include xalloc.h.
11957
11958         * lib/path-concat.c: Don't include assert.h.
11959         (path_concat): Remove assertion that would have triggered
11960         for ABASE starting with more than one slash.
11961         Reported by Andreas Schwab.
11962
11963         * lib/path-concat.c (path_concat): Set *BASE_IN_RESULT
11964         properly when ABASE is an absolute file name.
11965         Correct the description of this function.
11966         Include <assert.h>.
11967         Add an assertion and a test driver.
11968         This fixes a bug introduced on 2004-07-02.
11969         Andreas Schwab reported the resulting failure of cp --parents:
11970         http://lists.gnu.org/archive/html/bug-coreutils/2005-01/msg00130.html
11971
11972 2005-03-21  Jim Meyering  <jim@meyering.net>
11973
11974         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Invoke gl_FUNC_MEMRCHR.
11975         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Check for memrchr decl.
11976
11977 2005-03-21  Jim Meyering  <jim@meyering.net>
11978         and  Paul Eggert  <eggert@cs.ucla.edu>
11979
11980         * m4/acl.m4, m4/backupfile.m4, m4/c-strtod.m4, m4/canon-host.m4,
11981         m4/canonicalize.m4, m4/cloexec.m4, m4/closeout.m4, m4/dirfd.m4,
11982         m4/dirname.m4, m4/exclude.m4, m4/exitfail.m4, m4/file-type.m4,
11983         m4/filemode.m4, m4/fpending.m4, m4/fsusage.m4, m4/getcwd.m4,
11984         m4/getdate.m4, m4/getline.m4, m4/getpagesize.m4, m4/getpass.m4,
11985         m4/getugroups.m4, m4/group-member.m4, m4/hard-locale.m4, m4/hash.m4,
11986         m4/human.m4, m4/idcache.m4, m4/inttostr.m4, m4/long-options.m4,
11987         m4/makepath.m4, m4/md5.m4, m4/memcasecmp.m4, m4/memcoll.m4,
11988         m4/modechange.m4, m4/mountlist.m4, m4/nanosleep.m4, m4/path-concat.m4,
11989         m4/pathmax.m4, m4/physmem.m4, m4/posixtm.m4, m4/posixver.m4,
11990         m4/quote.m4, m4/quotearg.m4, m4/readtokens.m4, m4/readutmp.m4,
11991         m4/safe-read.m4, m4/safe-write.m4, m4/same.m4, m4/savedir.m4,
11992         m4/settime.m4, m4/sha1.m4, m4/sig2str.m4, m4/strdup.m4, m4/strftime.m4,
11993         m4/strndup.m4, m4/strverscmp.m4, m4/timespec.m4, m4/unlocked-io.m4,
11994         m4/userspec.m4, m4/utimecmp.m4, m4/utimens.m4, m4/xalloc.m4,
11995         m4/xnanosleep.m4, m4/xstrtol.m4, m4/yesno.m4:
11996         Use AC_LIBSOURCES and AC_LIBOBJ to indicate source and object files
11997         for these modules.
11998
11999 2005-03-18  Paul Eggert  <eggert@cs.ucla.edu>
12000
12001         * lib/strftime.c (my_strftime): If the underlying strftime returns 0
12002         (which shouldn't happen), generate nothing instead of returning 0
12003         immediately, so that nstrftime (NULL, ...) doesn't return 0.
12004
12005 2005-03-16  Bruno Haible  <bruno@clisp.org>
12006
12007         * modules/stdint (Makefile.am): Use HAVE_LONG_LONG_64BIT instead of
12008         HAVE_LONGLONG_64BIT.
12009
12010 2005-03-16  Bruno Haible  <bruno@clisp.org>
12011
12012         * m4/stdint.m4 (gl_STDINT_H): Define HAVE_LONG_LONG_64BIT instead of
12013         HAVE_LONGLONG_64BIT.
12014
12015 2005-03-16  Bruno Haible  <bruno@clisp.org>
12016
12017         * lib/stdint_.h: Use HAVE_LONG_LONG_64BIT instead of
12018         HAVE_LONGLONG_64BIT.
12019
12020 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
12021
12022         * lib/strftime.c (my_strftime): Prepend space to format so that we can
12023         reliably distinguish strftime failure from empty output on POSIX
12024         hosts.
12025
12026 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
12027
12028         * lib/iconvme.c (SIZE_MAX): New macro, if not already defined.
12029         (iconv_string): Don't guess a size-zero buffer, as that might cause
12030         buffer overrun.  Instead, avoid multiplying by MB_LEN_MAX if the
12031         result would be 'too large', where 'too large' is (heuristically)
12032         the square root of SIZE_MAX, divided by MB_LEN_MAX to allay
12033         overflow concerns.  This will prevent some unwanted malloc failures
12034         when the inputs are very large.
12035
12036 2005-03-15  Karl Berry  <karl@gnu.org>
12037
12038         * config/srclist.txt (config.rpath): from gettext.
12039         * config/config.rpath: update.
12040
12041 2005-03-15  Bruno Haible  <bruno@clisp.org>
12042
12043         * lib/regex.c (byte_re_match_2_internal): Rename local variable 'not'
12044         to 'negate'.
12045
12046         * lib/regex.c (byte_re_match_2_internal): Reduce scope of same_str_p
12047         variable.
12048
12049         * lib/regex.c (EXTEND_BUFFER, regcomp): Cast the realloc/malloc
12050         results.
12051
12052 2005-03-14  Simon Josefsson  <jas@extundo.com>
12053
12054         * lib/timegm.h: Use proper prototype CPP guards, reported by Dave Love
12055         <fx@gnu.org>.
12056
12057 2005-03-14  Paul Eggert  <eggert@cs.ucla.edu>
12058
12059         * lib/mktime.c (TYPE_TWOS_COMPLEMENT, TYPE_ONES_COMPLEMENT,
12060         TYPE_SIGNED_MAGNITUDE, TYPE_MINIMUM, TYPE_MAXIMUM): Sync from
12061         intprops.h.
12062         * lib/strtol.c: Likewise.
12063
12064 2005-03-14  Jim Meyering  <jim@meyering.net>
12065
12066         * lib/strftime.c (my_strftime) [HAVE_STRFTIME && ! (_NL_CURRENT
12067         && HAVE_STRUCT_ERA_ENTRY)]: Initialize the first byte of ubuf[]
12068         to be nonzero so that we (and caller) can detect the difference
12069         between a valid zero-length expansion and an error return, even
12070         when the underlying strftime fails before writing anything into
12071         that location.
12072
12073 2005-03-14  Bruno Haible  <bruno@clisp.org>
12074
12075         * m4/lib-link.m4, gettext.m4, nls.m4, po.m4:
12076         Update from GNU gettext 0.14.3.
12077
12078 2005-03-10  Jim Meyering  <jim@meyering.net>
12079
12080         * m4/save-cwd.m4 (gl_SAVE_CWD): Check for fchdir.
12081
12082 2005-03-10  Jim Meyering  <jim@meyering.net>
12083
12084         * lib/save-cwd.c [!HAVE_FCHDIR]: Define open, fchdir, and chdir_long
12085         so that this module works on systems without fchdir.
12086
12087 2005-03-09  Paul Eggert  <eggert@cs.ucla.edu>
12088
12089         Factor int-properties macros into a single file, except for
12090         glibc-related files.
12091         * lib/intprops.h: New file.
12092         * lib/getloadavg.c: Include it instead of limits.h.
12093         (INT_STRLEN_BOUND): Remove.
12094         * lib/human.c: Include intprops.h.
12095         (group_number): Use INT_STRLEN_BOUND instead of rolling it ourself.
12096         * lib/human.h (LONGEST_HUMAN_READABLE): Use 146/485 rather than
12097         302/1000.
12098         * lib/inttostr.h: Include intprops.h instead of limits.h.
12099         (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND): Remove.
12100         * lib/mktime.c (TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT): New macros,
12101         for consistency with intprops.h.
12102         (time_t_is_integer, twos_complement_arithmetic): Use them.
12103         * lib/sig2str.h: Include <signal.h>, intprops.h.
12104         (INT_STRLEN_BOUND): Remove.
12105         * lib/strftime.c (TYPE_SIGNED): Remove.
12106         (INT_STRLEN_BOUND): Switch to same implementation as intprops.h.
12107         * lib/strtol.c: Adjust comments to match intprops.h.
12108         * lib/userspec.c: Include intprops.h.
12109         (TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Remove.
12110         * lib/utimecmp.c, xnanosleep.c, xstrtol.c: Likewise.
12111         * lib/utimecmp.c (utimecmp): Use TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT
12112         instead of rolling our own expressions.
12113         * lib/xstrtol.c: Include xstrtol.h first, to test interface.
12114
12115         * lib/strftime.c: Include <stdbool.h>.  Use bool where appropriate,
12116         instead of int.
12117         (my_strftime): Do not mishandle years close to INT_MAX, by doing
12118         the right thing even if adding 1900 would overflow.  Similarly
12119         for tm_mon + 1 and tm_yday + 1.
12120         Make %Y always equivalent to %C%y, and similarly for %G and %g.
12121         (DO_NUMBER, DO_NUMBER_SPACEPAD): Set digits to d, not a conditional.
12122         (DO_SIGNED_NUMBER): New macro.
12123         (my_strftime) [HAVE_TZNAME]: Don't dump core if tp->tm_dst > 1.
12124
12125 2005-03-07  Bruno Haible  <bruno@clisp.org>
12126
12127         * m4/mmap-anon.m4 (MAP_FILE, MAP_FAILED): Remove definitions.
12128
12129 2005-03-07  Bruno Haible  <bruno@clisp.org>
12130
12131         * lib/pagealign_alloc.c (MAP_FILE, MAP_FAILED): Define fallbacks.
12132
12133 2005-03-04  Derek R. Price  <derek@ximbiot.com>
12134
12135         * gnulib-tool (func_cp_if_changed, func_mv_if_changed): New functions.
12136         (func_import): Only replace files via --import when they have actually
12137         changed.
12138
12139 2005-03-03  Derek R. Price  <derek@ximbiot.com>
12140
12141         * m4/mmap-anon.m4: New file.
12142         * m4/pagealign_alloc.m4: New file.
12143
12144 2005-03-03  Derek R. Price  <derek@ximbiot.com>
12145             Bruno Haible  <bruno@clisp.org>
12146
12147         * modules/pagealign_alloc: New file.
12148         * MODULES.html.sh (Memory management functions): Add pagealign_alloc.
12149
12150 2005-03-03  Derek R. Price  <derek@ximbiot.com>
12151             Bruno Haible  <bruno@clisp.org>
12152
12153         * lib/pagealign_alloc.h: New file.
12154         * lib/pagealign_alloc.c: New file.
12155
12156 2005-03-03  Bruno Haible  <bruno@clisp.org>
12157
12158         * m4/inttypes.m4, isc-posix.m4, once-only.m4:
12159         Use an all-permissive copyright notice, recommended by RMS.
12160
12161 2005-03-02  Bruno Haible  <bruno@clisp.org>
12162
12163         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Undo the replacement here. Because
12164         of AIX, the replacement has to be done only after <string.h> is
12165         included, therefore not in config.h. stpncpy.h does the replacement,
12166         and stpncpy.c uses it.
12167
12168 2005-03-02  Bruno Haible  <bruno@clisp.org>
12169
12170         * lib/stpncpy.h (stpncpy): Define as a macro without arguments, so that
12171         stpncpy.c uses it.
12172
12173 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
12174
12175         Remove workaround for bug in Linux kernel 2.6.8 or thereabouts.
12176         The workaround isn't strictly needed for POSIX conformance, and
12177         it's too much of a pain to configure and maintain.  We'll ask
12178         people to fix their kernels instead.
12179         * lib/xnanosleep.c: Don't include gethrxtime.h or xtime.h.
12180         (NANOSLEEP_BUG_WORKAROUND): Remove.
12181         (xnanosleep): Remove the workaround.
12182
12183 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
12184
12185         * modules/gettime (Makefile.am): Remove lib_SOURCES line.
12186         Reported by Derek Price.
12187         (Include): Add "timespec.h".
12188
12189         * modules/xnanosleep (Depends-on): Remove gethrxtime.
12190
12191 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
12192
12193         * m4/xnanosleep.m4 (gl_XNANOSLEEP): Remove configuration attempting
12194         to detect nanosleep bug.
12195
12196 2005-03-01  Bruno Haible  <bruno@clisp.org>
12197
12198         * lib/vasnprintf.c (EOVERFLOW): Define to a fallback if needed.
12199
12200 2005-02-26  Paul Eggert  <eggert@cs.ucla.edu>
12201
12202         * modules/gethrxtime: New file.
12203         * modules/xnanosleep (Files): Add m4/xnanosleep.m4.
12204         (Depends-on): Add gethrxtime.
12205         (configure.ac): Add gl_XNANOSLEEP.
12206         (Makefile.am): Remove lib_SOURCES line.
12207
12208 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
12209
12210         * m4/gethrxtime.m4, m4/xnanosleep.m4: New files.
12211         * m4/gettime.m4 (gl_GETTIME): Check for nanotime.
12212
12213 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
12214
12215         * lib/gethrxtime.h, lib/gethrxtime.c, lib/xtime.h: New files.
12216         * lib/timespec.h (gettime): Return void, since it always
12217         succeeds now.  All uses changed.
12218         * lib/gettime.c (gettime) Likewise.
12219         [HAVE_NANOTIME]: Prefer nanotime.
12220         Assume gettimeofday succeeds, as POSIX requires.
12221         Assime time () succeeds, since other code already does.
12222         * lib/xnanosleep.c: Include xtime.h and gethrxtime.h, not xalloc.h.
12223         (timespec_subtract): Remove.
12224         (NANOSLEEP_BUG_WORKAROUND): New constant.
12225         (xnanosleep): Use gethrxtime rather than gettime; this simplifies
12226         things considerably.  Use it only on GNU/Linux hosts, since the
12227         workaround shouldn't be needed elsewhere.
12228
12229 2005-02-24  Bruno Haible  <bruno@clisp.org>
12230
12231         * modules/gettext (Files): Add m4/glibc2.m4.
12232
12233 2005-02-24  Bruno Haible  <bruno@clisp.org>
12234
12235         * m4/gettext.m4, intdiv0.m4, intmax.m4, inttypes-pri.m4, lcmessage.m4:
12236         * m4/lib-link.m4, lib-prefix.m4, nls.m4, po.m4, printf-posix.m4:
12237         * m4/progtest.m4:
12238         Update from GNU gettext 0.14.2.
12239         * m4/glibc2.m4: New file, from GNU gettext 0.14.2.
12240
12241 2005-02-24  Bruno Haible  <bruno@clisp.org>
12242
12243         * lib/localcharset.c: Update from GNU gettext 0.14.2.
12244         * lib/config.charset: Update from GNU gettext 0.14.2.
12245
12246 2005-02-24  Bruno Haible  <bruno@clisp.org>
12247
12248         * lib/gettext.h: Update from GNU gettext 0.14.2.
12249
12250 2005-02-23  Simon Josefsson  <jas@extundo.com>
12251
12252         * m4/iconvme.m4: New file.
12253
12254 2005-02-23  Jim Meyering  <jim@meyering.net>
12255
12256         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Revert yesteday's
12257         change.
12258         Thanks to Bruno Haible for catching it.
12259
12260 2005-02-22  Simon Josefsson  <jas@extundo.com>
12261
12262         * modules/iconvme: New file.
12263
12264         * MODULES.html.sh: Add iconvme.
12265
12266 2005-02-22  Simon Josefsson  <jas@extundo.com>
12267
12268         * lib/iconvme.h, lib/iconvme.c: New files, from libc.
12269
12270 2005-02-22  Simon Josefsson  <jas@extundo.com>
12271
12272         * config/srclist.txt: Sync iconvme.h, iconvme.c from libc.
12273
12274 2005-02-22  Jim Meyering  <jim@meyering.net>
12275
12276         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Fix typo:
12277         s/ifndef/ifdef/.
12278
12279 2005-02-20  Neil Conway  <neilc@samurai.com>
12280
12281         * lib/xgethostname.c (xgethostname): Check for ENOMEM, which is
12282         returned by OSX/Darwin if the specified buffer is not large
12283         enough for the hostname.
12284
12285 2005-02-03  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
12286
12287         * lib/argp-help.c (__argp_help): Create a fake struct argp_state and
12288         pass it to _help, otherwise the latter coredumps trying to
12289         dereference state.root_argp.
12290
12291 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
12292
12293         * modules/chdir-long (Depends-on): Add memrchr.
12294         * modules/memrchr (Files): Add lib/memrchr.h.
12295         (Include): "memrchr.h".
12296
12297 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
12298
12299         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Add AC_LIBSOURCES, for memrchr.h.
12300
12301 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
12302
12303         * lib/memrchr.h: New file.
12304         * lib/chdir-long.c: Include it.
12305         * lib/memrchr.c [!defined _LIBC]: Include it rather than <string.h>
12306         Don't bother including stddef.h.
12307
12308 2005-02-01  Paul Eggert  <eggert@cs.ucla.edu>
12309
12310         * lib/mountlist.h (MOUNTLIST_H_): New macro, to protect against double
12311         inclusion.
12312         Include <sys/types.h>, for dev_t.
12313         (ME_DUMMY, ME_REMOTE): Move from here....
12314         * lib/mountlist.c (ME_DUMMY, ME_REMOTE): To here.
12315         (ME_DUMMY): Count "subfs" as a dummy.  Problem reported by
12316         Dmitry V. Levin.
12317         Include mountlist.h first, to test the interface.
12318
12319 2005-01-29  Bruno Haible  <bruno@clisp.org>
12320
12321         * lib/progname.c (program_name): Initialize.
12322         Needed when linking statically on MacOS X.
12323
12324 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
12325
12326         Sync from coreutils.
12327         * modules/getloadavg (Files): Remove m4/getloadavg.m4.
12328         (Depends-on): Add c-strtod.
12329         (configure.ac): Replace gl_FUNC_GETLOADAVG with AC_FUNC_GETLOADAVG.
12330
12331 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
12332
12333         Sync from coreutils.
12334         * m4/getloadavg.m4, glibc.m4, search-libs.m4: Remove.
12335
12336         Remove files that are specific to coreutils.
12337         * m4/check-decl.m4, jm-macros.m4, lib-check.m4, prereq.m4: Remove.
12338
12339 2005-01-28  Bruno Haible  <bruno@clisp.org>
12340
12341         * modules/javacomp: New file.
12342         * MODULES.html.sh (Java): Add javacomp.
12343
12344 2005-01-28  Bruno Haible  <bruno@clisp.org>
12345
12346         * m4/javacomp.m4: New file, from GNU gettext.
12347
12348 2005-01-28  Bruno Haible  <bruno@clisp.org>
12349
12350         * lib/javacomp.sh.in: New file, from GNU gettext.
12351         * lib/javacomp.h: New file, from GNU gettext.
12352         * lib/javacomp.c: New file, from GNU gettext.
12353
12354 2005-01-26  Simon Josefsson  <jas@extundo.com>
12355
12356         * lib/gai_strerror.c: Use GPL in header.
12357
12358 2005-01-26  Bruno Haible  <bruno@clisp.org>
12359
12360         * modules/javaexec: New file.
12361         * MODULES.html.sh (Java): Add javaexec.
12362
12363 2005-01-26  Bruno Haible  <bruno@clisp.org>
12364
12365         * m4/javaexec.m4: New file, from GNU gettext.
12366
12367 2005-01-26  Bruno Haible  <bruno@clisp.org>
12368
12369         * lib/javaexec.sh.in: New file, from GNU gettext.
12370         * lib/javaexec.h: New file, from GNU gettext.
12371         * lib/javaexec.c: New file, from GNU gettext.
12372
12373 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
12374
12375         * modules/lchown (Depends-on): Remove lchown.h
12376
12377 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
12378
12379         * m4/sysexits.m4 (gl_SYSEXITS): Reverted logic. SYSEXITS_H
12380         must be defined if the header file was not found, in order
12381         to provide a replacement. Reported by Todd Vierling <tv@duh.org>
12382
12383 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
12384
12385         * lib/argp-help.c (hol_entry_help): Avoid using non-constant
12386         initializers for struct pentry_state.
12387         (__argp_error): Check return value of __asprintf
12388         (__argp_failure): Translate error message
12389
12390         * lib/argp-parse.c: Removed braces around the expansion of N_()
12391
12392 2005-01-23  Paul Eggert  <eggert@cs.ucla.edu>
12393
12394         * m4/acl.m4, afs.m4, alloca.m4, argp.m4, assert.m4, atexit.m4,
12395         backupfile.m4, base64.m4, bison.m4, c-bs-a.m4, c-stack.m4,
12396         c-strtod.m4, calloc.m4, canon-host.m4, canonicalize.m4,
12397         clock_time.m4, cloexec.m4, closeout.m4, d-ino.m4, d-type.m4,
12398         dirfd.m4, dirname.m4, dos.m4, dup2.m4, error.m4, euidaccess.m4,
12399         exclude.m4, exitfail.m4, extensions.m4, fcntl-safer.m4,
12400         file-type.m4, fileblocks.m4, filemode.m4, fnmatch.m4, fpending.m4,
12401         free.m4, fstypename.m4, fsusage.m4, ftruncate.m4, getaddrinfo.m4,
12402         getcwd-path-max.m4, getcwd.m4, getdate.m4, getdomainname.m4,
12403         getgroups.m4, gethostname.m4, getline.m4, getndelim2.m4,
12404         getnline.m4, getopt.m4, getpagesize.m4, getpass.m4, getsubopt.m4,
12405         gettime.m4, gettimeofday.m4, getugroups.m4, getusershell.m4,
12406         group-member.m4, hard-locale.m4, hash.m4, host-os.m4, human.m4,
12407         idcache.m4, inttostr.m4, isdir.m4, jm-winsz1.m4, jm-winsz2.m4,
12408         link-follow.m4, long-options.m4, ls-mntd-fs.m4, lstat.m4,
12409         makepath.m4, mathl.m4, md5.m4, memcasecmp.m4, memchr.m4,
12410         memcmp.m4, memcoll.m4, memcpy.m4, memmem.m4, memmove.m4,
12411         memrchr.m4, memset.m4, mkdir-slash.m4, mkstemp.m4, mktime.m4,
12412         modechange.m4, mountlist.m4, nanosleep.m4, obstack.m4,
12413         path-concat.m4, pathmax.m4, perl.m4, physmem.m4, poll.m4,
12414         posixtm.m4, posixver.m4, putenv.m4, quote.m4, quotearg.m4,
12415         readdir.m4, readtokens.m4, readutmp.m4, regex.m4, rename.m4,
12416         restrict.m4, rmdir-errno.m4, rmdir.m4, rpmatch.m4, same.m4,
12417         savedir.m4, settime.m4, sha1.m4, sig2str.m4, snprintf.m4,
12418         sockpfaf.m4, st_dm_mode.m4, st_mtim.m4, stat.m4, stdint.m4,
12419         stdio-safer.m4, strchrnul.m4, strdup.m4, strerror.m4,
12420         strerror_r.m4, strftime.m4, strndup.m4, strnlen.m4, strsep.m4,
12421         strtod.m4, strtoimax.m4, strtok_r.m4, strtol.m4, strtoll.m4,
12422         strtoul.m4, strtoull.m4, strtoumax.m4, strverscmp.m4, sysexits.m4,
12423         time_r.m4, timegm.m4, timespec.m4, tm_gmtoff.m4, tzset.m4,
12424         uint32_t.m4, uintptr_t.m4, unistd-safer.m4, unlink-busy.m4,
12425         unlocked-io.m4, uptime.m4, userspec.m4, utimbuf.m4, utime.m4,
12426         utimecmp.m4, utimens.m4, utimes-null.m4, vsnprintf.m4, xalloc.m4,
12427         xgetcwd.m4, xreadlink.m4, xstrndup.m4, xstrtod.m4, xstrtoimax.m4,
12428         xstrtol.m4, xstrtoumax.m4, yesno.m4:
12429         Use an all-permissive copyright notice, recommended by RMS.
12430
12431 2005-01-21  Paul Eggert  <eggert@cs.ucla.edu>
12432
12433         * modules/chdir-long (Depends-on): Remove mempcpy.
12434
12435 2005-01-21  Jim Meyering  <jim@meyering.net>
12436
12437         * lib/openat.h (AT_SYMLINK_NOFOLLOW): Define to 4096, so it's the
12438         same value as for Solaris 9.
12439
12440         * lib/chdir-long.c (chdir_long): Rewrite to remove limitation on
12441         component length.  This included changing the parameter to be
12442         of type `char *' rather than `char const *'.
12443         * lib/chdir-long.h (chdir_long): Update prototype.
12444
12445         * lib/openat.c (fdopendir, fstatat): New functions.
12446         * lib/openat.h: Include headers required for use of DIR and struct
12447         stat.
12448         [AT_SYMLINK_NOFOLLOW]: Define.
12449         (fdopendir, fstatat): Add prototypes.
12450
12451 2005-01-21  Bruno Haible  <bruno@clisp.org>
12452
12453         * modules/classpath: New file.
12454         * MODULES.html.sh (Java): Add classpath.
12455
12456 2005-01-21  Bruno Haible  <bruno@clisp.org>
12457
12458         * lib/classpath.h: New file, from GNU gettext.
12459         * lib/classpath.c: New file, from GNU gettext.
12460
12461 2005-01-20  Simon Josefsson  <jas@extundo.com>
12462
12463         * modules/version-etc-fsf: New file.
12464
12465 2005-01-20  Simon Josefsson  <jas@extundo.com>
12466
12467         * lib/version-etc-fsf.c: New file, with version_etc_copyright.
12468         * lib/version-etc.c: Remove version_etc_copyright.
12469         * lib/version-etc.h (version_etc_copyright): Use [] instead of * in
12470         prototype, suggested by Paul Eggert <eggert@CS.UCLA.EDU>.
12471
12472 2005-01-20  Simon Josefsson  <jas@extundo.com>
12473
12474         * lib/base64.h (isbase64): Add.
12475
12476         * lib/base64.c (isb64): Rename to isbase64, use to_uchar instead of
12477         using a unsigned prototype, don't inline.
12478         (base64_decode): Use it.
12479
12480 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
12481
12482         * m4/save-cwd.m4 (gl_SAVE_CWD): Remove check for fcntl; we now assume
12483         it.
12484
12485 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
12486
12487         * lib/save-cwd.c (save_cwd): Remove code to support the case
12488         where fchdir is missing or flaky.
12489
12490 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
12491
12492         * MODULES.html.sh (Command-line arguments): Add version-etc-fsf.
12493
12494 2005-01-19  Paul Eggert  <eggert@cs.ucla.edu>
12495
12496         * modules/mempcpy (Makefile.am): Remove mention of mempcpy.h;
12497         AC_LIBSOURCES now does this.
12498         * MODULES.html.sh (Sizes of integer types <limits.h>): New element,
12499         with new ullong_max module.
12500
12501 2005-01-19  Bruno Haible  <bruno@clisp.org>
12502
12503         * modules/sh-quote: New file.
12504         * MODULES.html.sh (Executing programs): Add sh-quote.
12505
12506 2005-01-19  Bruno Haible  <bruno@clisp.org>
12507
12508         * lib/sh-quote.h: New file, from GNU gettext.
12509         * lib/sh-quote.c: New file, from GNU gettext.
12510
12511 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
12512
12513         Merge from coreutils.
12514         * m4/ullong_max.m4: New file.
12515         * m4/jm-macros.m4 (gl_MACROS): Require gl_ULLONG_MAX.
12516         (gl_MACROS): Assume localeconv exists.
12517
12518 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
12519
12520         Merge changes from coreutils, as described below in several
12521         changelogs dated today.
12522
12523         * lib/save-cwd.c: Include "save-cwd.h" before other include files.
12524         (O_DIRECTORY): Remove; not needed here, since "." must be
12525         a directory.  All uses removed.
12526         (save_cwd): Use __sgi || __sun, not sun || __sun.  __sun is
12527         universal on Suns, and we also need to test for IRIX.
12528         Revamp code to use 'if' rather than '#if'.
12529         Avoid unnecessary comparison of cwd->desc to 0.
12530
12531         * lib/utimens.c (futimens): Robustify the previous patch, by checking
12532         for known valid error numbers rather than observed invalid ones.
12533
12534 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
12535
12536         * modules/ullong_max: New file.
12537
12538         * modules/chdir-long, modules/openat: New files.
12539         * modules/save-cwd (Depends-on): Depend on chdir-long.
12540         (Makefile.am): Remove lib_SOURCES; now handled by AC_LIBSOURCES.
12541
12542 2005-01-18  Jim Meyering  <jim@meyering.net>
12543
12544         Merge from coreutils.
12545         * m4/chdir-long.m4, m4/openat.m4: New files.
12546         * m4/save-cwd.m4 (gl_SAVE_CWD): Add AC_LIBSOURCES for save-cwd.c,
12547         save-cwd.h.  Add AC_LIBOBJ for save-cwd.
12548         * m4/chown.m4 (gl_FUNC_CHOWN): When cross-compiling, assume that chown
12549         is sane and DOES follow symlinks.  Besides, testing 20 different
12550         systems found no broken chown implementations.
12551         Prompted by a change in rsync's copy of this macro.
12552         * m4/jm-macros.m4 (gl_MACROS): Require gl_FUNC_CHDIR_LONG.
12553
12554         * m4/lchown.m4 (gl_FUNC_LCHOWN): Use AC_LIBSOURCES.
12555
12556         * m4/utimes.m4: Work around tests/touch/empty-file failure on a system
12557         (sparc64, Linux-2.4.28, glibc-2.3.3) that didn't honor utimes'
12558         NULL-means-set-to-current-time semantics.
12559         Remove temporary file immediately, rather than waiting
12560         for configure's at-exit trap code to do it.
12561
12562 2005-01-18  Jim Meyering  <jim@meyering.net>
12563
12564         * lib/version-etc.c (version_etc_copyright): Update copyright date.
12565
12566         * lib/utimens.c (futimens): Account for the fact that futimes
12567         can also fail with errno == ENOSYS or errno == ENOENT.
12568         Patch from Dmitry V. Levin.
12569
12570         Change the name of the robust chdir function from chdir to chdir_long.
12571         * lib/save-cwd.c: Include chdir-long.h rather than chdir.h.
12572         (restore_cwd): Use chdir_long, not chdir.
12573         * lib/chdir-long.c: Renamed from chdir.c.
12574         * lib/chdir-long.h: Renamed from chdir.h.
12575         [!defined PATH_MAX]: Define chdir_long to chdir on systems like the
12576         Hurd.
12577
12578 2005-01-18  Bruno Haible  <bruno@clisp.org>
12579
12580         * m4/allocsa.m4, m4/codeset.m4, m4/copy-file.m4, m4/eaccess.m4:
12581         * m4/eealloc.m4, m4/eoverflow.m4, m4/execute.m4, m4/fatal-signal.m4:
12582         * m4/findprog.m4, m4/glibc21.m4, m4/iconv.m4, m4/intmax_t.m4:
12583         * m4/inttypes_h.m4, m4/lib-ld.m4, m4/lib-link.m4, m4/lib-prefix.m4:
12584         * m4/linebreak.m4, m4/localcharset.m4, m4/longdouble.m4:
12585         * m4/longlong.m4, m4/mbrtowc.m4, m4/mbstate_t.m4, m4/mbswidth.m4:
12586         * m4/mkdtemp.m4, m4/pipe.m4, m4/readlink.m4, m4/safe-read.m4:
12587         * m4/safe-write.m4, m4/setenv.m4, m4/sig_atomic_t.m4:
12588         * m4/signalblocking.m4, m4/signed.m4, m4/size_max.m4, m4/ssize_t.m4:
12589         * m4/stdbool.m4, m4/stdint_h.m4, m4/stpcpy.m4, m4/stpncpy.m4:
12590         * m4/strcase.m4, m4/strcspn.m4, m4/strpbrk.m4, m4/strstr.m4:
12591         * m4/ucs4-utf.m4, m4/uintmax_t.m4, m4/ulonglong.m4, m4/unicodeio.m4:
12592         * m4/utf-ucs4.m4, m4/vasnprintf.m4, m4/vasprintf.m4:
12593         * m4/wait-process.m4, m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4:
12594         Use an all-permissive copyright notice, recommended by RMS.
12595
12596 2005-01-18  Bob Proulx  <bob@proulx.com>
12597
12598         * lib/obstack.c [DEFAULT_ALIGNMENT]: Use an intermediate type to
12599         simplify offsetof() macro construct to avoid compile failure with
12600         native HP-UX 11.0 ANSI C compiler.
12601
12602 2005-01-17  Bruno Haible  <bruno@clisp.org>
12603
12604         * lib/stpncpy.c: Remove HAVE_STPNCPY and gnu_stpncpy renaming,
12605         redundant because stpncpy.m4 takes care of it.
12606
12607 2005-01-17  Bruno Haible  <bruno@clisp.org>
12608
12609         * lib/progreloc.c: Include xalloc.h instead of xmalloc.h.
12610
12611 2005-01-17  Bruno Haible  <bruno@clisp.org>
12612
12613         * lib/progreloc.c (xstrdup): Define as strdup if no xmalloc should be
12614         used.
12615
12616 2005-01-17  Bruno Haible  <bruno@clisp.org>
12617
12618         * lib/fwriteerror.h (fwriteerror): Change specification to include
12619         fclose.
12620         * lib/fwriteerror.c: Include <stdbool.h>.
12621         (fwriteerror): At the end, close the file stream. Record whether
12622         stdout was already closed.
12623
12624 2005-01-17  Bruno Haible  <bruno@clisp.org>
12625
12626         * lib/execute.c (environ): Declare if needed.
12627         * lib/pipe.c (environ): Likewise.
12628         Reported by Michael Schloh von Bennewitz <michael.schloh@cw.com>.
12629
12630 2005-01-11  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
12631
12632         * modules/argp: Depend on vsnprintf
12633
12634 2005-01-10  Jim Meyering  <jim@meyering.net>
12635
12636         * modules/closeout (Depends-on): Add atexit.
12637
12638 2005-01-06  Bruno Haible  <bruno@clisp.org>
12639
12640         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Rename stpncpy to gnu_stpncpy here.
12641
12642 2005-01-04  Paul Eggert  <eggert@cs.ucla.edu>
12643
12644         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Move these conditional
12645         definitions to be after all include files, to avoid collisions.
12646         Problem reported by Bob Proulx.
12647
12648 2005-01-04  Jim Meyering  <jim@meyering.net>
12649
12650         Changes imported from coreutils.
12651         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Rather than using "conftestXXXXXX"
12652         as the mkstemp template, use a temporary directory and an
12653         8.3-friendly template to avoid trouble on systems like DJGPP.
12654         Reported by Juan M. Guerrero via Stepan Kasal.
12655         * m4/(gl_FUNC_MKSTEMP): Include <unistd.h> for the declaration of
12656         close. Remove the temporary directory right away, rather than waiting
12657         for configure's at-exit trap code to do it.
12658         Suggestion from Stepan Kasal.
12659
12660 2005-01-01  Simon Josefsson  <jas@extundo.com>
12661
12662         * gnulib-tool: Print #include directives when --import'ing.
12663
12664 2004-12-28  Simon Josefsson  <jas@extundo.com>
12665
12666         * tests/test-base64.c: Include required header files.  Remove
12667         unused variables.
12668
12669 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
12670
12671         * modules/error (Depends-on): Remove gettext.
12672
12673 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
12674
12675         * lib/error.c [!_LIBC && !ENABLE_NLS]: Do not include "gettext.h";
12676         not needed.  This removes a dependency on the gettext module.
12677         [defined _LIBC]: Do not include <libintl.h>; not needed.
12678
12679 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
12680
12681         * m4/c-strtod.m4 (gl_C99_STRTOLD): New macro.
12682         (gl_C_STRTOD): Use it instead of AC_CHECK_DECLS_ONCE(strtold).
12683
12684 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
12685
12686         * lib/c-strtod.c (STRTOD): Depend on HAVE_C99_STRTOLD, not
12687         HAVE_DECL_STRTOLD.
12688
12689 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
12690
12691         * modules/getdate (Depends-on): Remove alloca-opt.
12692
12693 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
12694
12695         * m4/getdate.m4 (gl_GETDATE): Remove AC_FUNC_ALLOCA.
12696
12697 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
12698
12699         * lib/argp-parse.c: Include <stddef.h>.
12700         (alignof, alignto): New macros.
12701         (parser_init): Don't assume that void * is aligned sufficiently
12702         for struct option.
12703
12704         * lib/getdate.y (YYSTACK_USE_ALLOCA): Define to 0, since there's no
12705         need to extend the stack.
12706         (YYINITDEPTH): New macro, so that the initial stack isn't overly
12707         large.
12708
12709 2004-12-22  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
12710
12711         * lib/argp-parse.c (parser_init): Avoid arithmetics on void pointers.
12712
12713 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
12714
12715         * modules/regex (lib_SOURCES): Remove regex.c, undoing previous
12716         (2004-10-24) change.  Apparently this was a false alarm.
12717
12718         * modules/getdate: Depend on alloca-opt, not alloca.
12719
12720 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
12721
12722         * lib/alloca_.h: Conditionalize on _GNULIB_ALLOCA_H, not _ALLOCA_H.
12723         Remove now-obsolete comment about AIX.
12724         * lib/getdate.y: Include <alloca.h> only if HAVE_ALLOCA.
12725         (YYSTACK_USE_ALLOCA): Define to 0 if !HAVE_ALLOCA.
12726         (YYMAXDEPTH): New macro.
12727
12728 2004-12-18  Simon Josefsson  <jas@extundo.com>
12729
12730         * modules/alloca: Depend on alloca-opt, instead of duplicating it.
12731
12732 2004-12-18  Bruno Haible  <bruno@clisp.org>
12733
12734         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Also test for sigaction.
12735
12736 2004-12-18  Bruno Haible  <bruno@clisp.org>
12737
12738         * lib/fatal-signal.c (fatal_signals): Make non-const.
12739         (init_fatal_signals): New function.
12740         (uninstall_handlers, install_handlers): Ignore signals that were set to
12741         SIG_IGN.
12742         (at_fatal_signal): Call init_fatal_signals.
12743         (init_fatal_signal_set): Likewise. Ignore signals that were set to
12744         SIG_IGN.
12745         Reported by Paul Eggert.
12746
12747 2004-12-18  Bruno Haible  <bruno@clisp.org>
12748
12749         * doc/alloca.texi: New file.
12750         * doc/alloca-opt.texi: New file.
12751
12752 2004-12-17  Jim Meyering  <jim@meyering.net>
12753
12754         * config/install-sh: Use `(exit N); exit N', not `(exit N); exit'.
12755         Otherwise, install-sh could exit with improper exit status when
12756         exiting via a trapped interrupt.  Thanks to a report from Bob Proulx.
12757
12758 2004-12-16  Simon Josefsson  <jas@extundo.com>
12759
12760         * tests/test-base64.c: Add license.
12761
12762 2004-12-15  Stepan Kasal  <address@hidden>
12763
12764         * gnulib-tool (func_emit_lib_Makefile_am): Shorten a long sed command.
12765
12766 2004-12-12  Paul Eggert  <eggert@cs.ucla.edu>
12767
12768         * modules/getcwd (Files): Add m4/d-ino.m4.
12769         Suggested by Mark D. Baushke.
12770
12771 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
12772
12773         * lib/getdate.y (textint): New member "negative".
12774         (time_zone_hhmm): New function.
12775         Expect 14 shift-reduce conflicts, not 13.
12776         (o_colon_minutes): New rule.
12777         (time, zone): Use it to add support for +HH:MM, UTC+HH:MM.
12778         (yylex): Set the "negative" member of signed numbers.
12779
12780 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
12781
12782         * doc/getdate.texi (Time of day items, Time zone items):
12783         Describe new formats +00:00, UTC+00:00.
12784
12785 2004-12-07  Paul Eggert  <eggert@cs.ucla.edu>
12786
12787         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Fix typo in previous change:
12788         spurious "-l"s.  Problem reported by Stepan Kasal.
12789
12790 2004-12-06  Paul Eggert  <eggert@cs.ucla.edu>
12791
12792         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): New macro, to work around bug
12793         in Autoconf 2.59.  Problem reported by Mark D. Baushke.
12794
12795 2004-12-04  Simon Josefsson  <jas@extundo.com>
12796
12797         * modules/getaddrinfo (License): Add LGPL, reported by Yoann
12798         Vandoorselaere <yoann@prelude-ids.org>.
12799
12800 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
12801
12802         Changes imported from coreutils.
12803         * m4/hard-locale.m4 (gl_HARD_LOCALE): Assume locale.h and setlocale
12804         exist.
12805         * m4/human.m4 (gl_HUMAN): Assume locale.h and localeconv exist.
12806
12807 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
12808
12809         Changes imported from coreutils.
12810         * lib/hard-locale.c: Assume <locale.h> exists.
12811         Include "strdup.h".
12812         (GLIBC_VERSION): New macro.
12813         (hard_locale): Assume setlocale exists.
12814         Rewrite to avoid #ifdef.
12815         Use strdup rather than malloc + strcpy.
12816         * lib/human.c: Assume <locale.h> exists.
12817         (human_readable): Assume localeconv exists.
12818
12819 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
12820
12821         * modules/hard-locale (Depends-on): Add strdup.
12822
12823 2004-12-01  Jakub Jelinek  <jakub@redhat.com>
12824
12825         * lib/mktime.c (__mktime_internal): If SEC_REQUESTED != SEC,
12826         convert T2, not T.  (Imported from libc.)
12827
12828 2004-11-30  Simon Josefsson  <jas@extundo.com>
12829
12830         * modules/restrict (License): Change to LGPL.
12831
12832 2004-11-30  Simon Josefsson  <jas@extundo.com>
12833
12834         * m4/restrict.m4: Add copyright and copying conditions.
12835
12836 2004-11-30  Simon Josefsson  <jas@extundo.com>
12837
12838         * m4/base64.m4: New file.
12839
12840 2004-11-30  Simon Josefsson  <jas@extundo.com>
12841
12842         * MODULES.html.sh (Extra functions based on ANSI C 89): Add
12843         base64.
12844
12845         * tests/test-base64.c: New file.
12846
12847         * modules/base64: New file.
12848
12849 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
12850
12851         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX):
12852         Define HAVE_PARTLY_WORKING_GETCWD if getcwd is partly working.
12853
12854         * m4/readutmp.m4 (gl_READUTMP): Don't check for sys/param.h.
12855
12856 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
12857
12858         * lib/getcwd.c (is_ENAMETOOLONG): New macro.
12859         (__getcwd.c): Don't restore errno; glibc doesn't.
12860         [HAVE_PARTLY_WORKING_GETCWD && !defined AT_FDCWD]: Try system getcwd
12861         first, falling back to our code only if its results look suspicious.
12862         Ensure that the resulting buffer is only as large as necessary.
12863
12864         * lib/readutmp.c: Include readutmp.h first.
12865         Include <errno.h>, since readutmp.h no longer does that.
12866         * lib/readutmp.h: Don't include <errno.h>,
12867         <sys/param.h>, <time.h>; not needed to establish interface.
12868         (errno): Remove decl.
12869         (HAVE_STRUCT_XTMP_UT_TYPE): Remove; no longer needed.
12870         (UT_TYPE_EQ, UT_TYPE_NOT_DEFINED, UT_TYPE_BOOT_TIME,
12871         UT_TYPE_USER_PROCESS, IS_USER_PROCESS): New macros.
12872
12873 2004-11-28  Simon Josefsson  <jas@extundo.com>
12874
12875         * lib/base64.h, base64.c: New file.
12876
12877 2004-11-27  Paul Eggert  <eggert@cs.ucla.edu>
12878
12879         * lib/getcwd.h: New file, which I forgot to check in on 2004-11-25.
12880
12881 2004-11-26  Paul Eggert  <eggert@cs.ucla.edu>
12882
12883         * modules/getcwd (Files): Add lib/getcwd.h, m4/getcwd.m4.
12884         (Depends-on): Remove pathmax, same.  Add mempcpy.
12885         (configure.ac): GL_FUNC_GETCWD_PATH_MAX -> gl_FUNC_GETCWD.
12886         (Makefile.am): Append getcwd.h to lib_SOURCES.
12887         (Include): Add getcwd.h.
12888         (Maintainer): Change from Jim Meyering to "all, glibc",
12889         since getdate now uses intended-for-glibc code.
12890         * modules/xgetcwd (Files): Remove m4/getcwd.m4.
12891         (Depends-on): Depend on getcwd.  Do not depend on pathmax.
12892
12893 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
12894
12895         Fix problems reported by Scott S. Tinsley for HP-UX 11.11 using
12896         HP's ANSI C compiler.
12897         * lib/fsusage.c (statvfs) [HAVE_SYS_STATVFS_H]: Remove decl.
12898         Declaring int functions causes warnings on some modern systems and
12899         shouldn't be needed to compile on ancient ones.
12900         * lib/same.c (MIN) [defined MIN]: Don't define, since it's already
12901         defined.
12902
12903         * lib/getcwd.c: Replace by a copy of glibc/sysdeps/posix/getcwd.c, but
12904         with the following changes.
12905         (__set_errno): Parenthesize properly.
12906         Include <stdbool.h>.
12907         (MIN, MAX, MATCHING_INO): New macros.
12908         (__getcwd): Define with prototype, not K&R form.
12909         Use heuristics to allocate default buffer on stack if possible.
12910         If AT_FDCWD is defined, use openat and fstatat to avoid O(N**2)
12911         behavior, and to avoid the PATH_MAX limit when computing
12912         ../../../../...
12913         Use MATCHING_INO to compare inode number to file.
12914         Check for arithmetic overflow in size calculations.
12915         Fix bug in reallocation of dot array that caused getcwd to fail
12916         on directories nested deeper than 75.
12917         Be more careful about saving errno on error.
12918         Do not use realloc; use only free+malloc, as this is a bit
12919         more flexible and avoids a needless copy operation.
12920         Do not inspect st_dev and st_ino for symbolic links; POSIX
12921         doesn't specify the latter.
12922         Check for closedir errors.
12923         Avoid needless casts.
12924         Use "#ifdef weak_alias" around weak_alias, to be like other
12925         glibc code.
12926         The following changes to getcwd.c have effect only when used in
12927         gnulib; they have no effect inside glibc proper.
12928         (#pragma alloca) [defined _AIX && !defined __GNUC__]: Remove,
12929         as alloca isn't used.
12930         (alloca, __alloca): Likewise.
12931         [!_LIBC]: Include "getcwd.h", "mempcpy.h".
12932         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
12933         unconditionally, as gnulib assumes C89 or better.
12934         Do not include <sys/param.h>.
12935         (errno) [!defined __GNU_LIBRARY__ && !defined STDC_HEADERS]: Remove
12936         no-longer-necessary 'extern int errno' decl; gnulib assumes C89 or
12937         better.
12938         (NULL) [!defined NULL]: Remove; we assume C89 or better.
12939         Include <dirent.h> in a way that is compatible with modern Autoconf.
12940         (_D_ALLOC_NAMELEN, _D_EXACT_NAMLEN):
12941         New macros, if not already defined.
12942         Include <unistd.h> if _LIBC, not if __GNU_LIBRARY__.
12943         Use "_LIBC", not "defined _LIBC", for consistency.
12944         (HAVE_MEMPCPY): Remove; no longer needed now that gnulib has
12945         a mempcpy module.
12946         (__lstat, __closedir, __opendir, __readdir) [!_LIBC]: New macros.
12947         (GETCWD_RETURN_TYPE): Remove.  All uses replaced by char *.
12948         * lib/xgetcwd.c: David MacKenzie's old code was removed, so give
12949         credit only to Jim Meyering and adjust the copyright dates.
12950         Do not include <limits.h>, <stdio.h>, <sys/types.h>,
12951         <stdlib.h>, <unistd.h>, "pathmax.h".
12952         Instead, include "xgetcwd.h" (first) and "getcwd.h".
12953         (INITIAL_BUFFER_SIZE): Remove.
12954         (xgetcwd): Rely on getcwd, since we now depend on a reliable one.
12955
12956 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
12957
12958         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Renamed from
12959         GL_FUNC_GETCWD_PATH_MAX for consistency.  All uses changed.
12960         Use the _ONCE methods, for efficiency.
12961         Check for fcntl.h.  In test program, include <errno.h>
12962         and <fcntl.h> if available.  Remove old K&R cruft from
12963         test program.  Check for common errors in GNU/Linux,
12964         OpenBSD, and Solaris.  Just set gl_cv_func_getcwd_path_max;
12965         don't do AC_LIBOBJ, as that's getcwd.m4's job.
12966         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Renamed from
12967         AC_FUNC_GETCWD_NULL.  All used changed.  Change cache variable
12968         name accordingly.
12969         (gl_FUNC_GETCWD, gl_PREREQ_GETCWD): New macros.  Revamp to
12970         accommodate new getcwd.c.
12971         * m4/jm-macros.m4 (gl_MACROS): Don't require GL_FUNC_GETCWD_PATH_MAX.
12972         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_MEMPCPY.
12973         * m4/xgetcwd.m4 (gl_XGETCWD): Replace with gl_FUNC_GETCWD, since
12974         that's all we need now.
12975
12976 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
12977
12978         * m4/argp.m4 (gl_ARGP): Require gl_GETOPT_SUBSTITUTE unconditionally:
12979         argp-parse.c depends on getopt internals, that means we should
12980         always use our getopt, to be on the safe side.
12981         * m4/getopt.m4 (gl_GETOPT): Check if GETOPT_H is already set, in
12982         order not to spoil the result of an eventual previous invocation
12983         of gl_GETOPT_SUBSTITUTE.
12984
12985 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
12986
12987         * lib/getopt_.h: Re-addition of __getopt_argv_const caused
12988         redefinition warnings. To avoid them, include the defines
12989         in `#if !defined __need_getopt ... #endif'. The only place
12990         where __getopt_argv_const is used is in definitions
12991         of getopt_long and getopt_long_only below, which are as well
12992         protected by `#ifndef __need_getopt'.
12993         [defined __GETOPT_PREFIX && !defined __need_getopt]: Undef
12994         __need_getopt after including <stdio.h> and <unistd.h> These
12995         headers might have defined it.
12996
12997 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
12998
12999         * m4/utimens.m4 (gl_UTIMENS): Check for futimes function.
13000
13001 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
13002
13003         * lib/utimens.c (__attribute__, ATTRIBUTE_UNUSED): New macros.
13004         (futimens): New function, which uses futimes if available.
13005         (futimens, utimens): Support timespec==NULL, with same semantics
13006         as utime and utimens.
13007         * lib/utimens.h (futimens): New decl.
13008
13009 2004-11-23  Jim Meyering  <jim@meyering.net>
13010
13011         * lib/getopt_.h: Remove trailing blanks.
13012
13013 2004-11-23  Jim Meyering  <jim@meyering.net>
13014
13015         * lib/__fpending.c: Add comment.
13016
13017 2004-11-22  Paul Eggert  <eggert@cs.ucla.edu>
13018
13019         * modules/canonicalize (Depends-on): Add xreadlink.
13020         Problem reported by James Youngman.
13021
13022 2004-11-20  Paul Eggert  <eggert@cs.ucla.edu>
13023
13024         * lib/getopt_.h (__GETOPT_CONCAT, __GETOPT_XCONCAT, __GETOPT_ID):
13025         New macros.
13026         (getopt, getopt_long, getopt_long_only, optarg, opterr, optind,
13027         optopt): Use them instead of invoking ## directly; otherwise, the
13028         symbols will be __GETOPT_PREFIXgetopt rather than rpl_getopt.
13029
13030 2004-11-19  Bruno Haible  <bruno@clisp.org>
13031
13032         * lib/strtok_r.c: Move comments from here...
13033         * lib/strtok_r.h: ... to here.
13034
13035 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
13036
13037         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Check for buggy calloc
13038         implementations that mishandle size_t overflow.
13039
13040 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
13041
13042         * lib/realloc.c (rpl_realloc): Call 'free' if n==0, since realloc
13043         might fail.  Problem reported by Yoann Vandoorselaere.
13044         * lib/calloc.c (rpl_calloc): Defend against buggy calloc
13045         implementations that mishandle size_t overflow.
13046
13047 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
13048
13049         * modules/canon-host (Depends-on): Add strdup.
13050
13051 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
13052
13053         * m4/canon-host.m4 (gl_CANON_HOST): Check for getaddrinfo.
13054
13055 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
13056
13057         * lib/canon-host.c: Include "strdup.h".
13058         (canon_host): Use getaddrinfo if available, so that IPv6 works.
13059         Use strdup instead of malloc/strcpy to duplicate strings.
13060
13061         * lib/human.h (LONGEST_HUMAN_READABLE): Add 1 for space before unit.
13062         (human_space_before_unit): New constant.
13063         * lib/human.c (human_readable): Support it.
13064
13065         * lib/xgetcwd.c: Include <limits.h>, for PATH_MAX.
13066         (xgetcwd): Set errno correctly when failing.
13067         Work around Solaris 9 bug: getcwd sets errno==ERANGE even though
13068         the failure is actually due to a PATH_MAX problem.
13069
13070         Further getopt changes to make it more likely that glibc will
13071         buy the changes back.
13072         * lib/getopt.c (POSIXLY_CORRECT): New constant.
13073         (getopt): Use it, so to preserve glibc semantic
13074         * lib/getopt1.c (getopt_long, getopt_long_only): Arg is char * const *
13075         when compiling for libc.
13076         * lib/getopt_.h (__getopt_argv_const): Bring it back.
13077         (getopt_long, getopt_long_only): Use it.
13078
13079         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
13080         _getopt_internal): New arg POSIXLY_CORRECT.  All callers changed.
13081         (getopt): Argv is now char * const *, as per standard.
13082         (_getopt_internal_r, _getopt_internal): Argv is now char **,
13083         not char *__getopt_argv_const *.
13084         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
13085         _getopt_long_only_r): Likewise.
13086         * lib/getopt_.h (getopt, getopt_long, geopt_long_only): Likewise.
13087         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
13088         _getopt_long_r, _getopt_long_only_r): Likewise.
13089         * lib/getopt_.h (__getopt_argv_const): Remove.
13090         (getopt): Argv is now char * const *, as per standard.
13091
13092         * lib/getdate.y (tORDINAL): New token.
13093         (day, relunit): Allow it for relative times.
13094         (relative_time_table): Use tORDINAL for ordinals.
13095
13096 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
13097
13098         * doc/getdate.texi (General date syntax): "next" is 1, not 2.
13099         Document that "second" isn't allowed as an ordinal number.
13100
13101 2004-11-16  Jim Meyering  <jim@meyering.net>
13102
13103         * modules/closeout (Depends-on): Add fpending.
13104
13105 2004-11-15  Jim Meyering  <jim@meyering.net>
13106
13107         * lib/closeout.c: Include "__fpending.h" once again.
13108         Include <stdbool.h>.
13109         (close_stdout): Don't fail just because stdout was closed initially,
13110         since some programs don't write to stdout in the normal course of
13111         operation (other than --version and --help), and we don't want this
13112         function to make e.g. `touch file >&-' fail.
13113         But do fail if it was closed and someone has tried to write to it.
13114         E.g., `printf foo >&-' must fail.
13115
13116 2004-11-13  Jim Meyering  <jim@meyering.net>
13117
13118         * m4/jm-macros.m4: Do require gl_FUNC_FPENDING.
13119
13120 2004-11-12  Simon Josefsson  <jas@extundo.com>
13121
13122         * config/srclist.txt: Add strtok_r.c, glibc bought our changes, but a
13123         small doc fix is still pending.
13124
13125 2004-11-11  Simon Josefsson  <jas@extundo.com>
13126
13127         * modules/strtok_r: New file.
13128
13129         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
13130         strtok_r.
13131
13132 2004-11-11  Simon Josefsson  <jas@extundo.com>
13133
13134         * m4/strtok_r.m4: New file.
13135
13136         * m4/getopt.m4: Replace opterr.
13137
13138 2004-11-11  Simon Josefsson  <jas@extundo.com>
13139
13140         * lib/strtok_r.h, strtok_r.c: New file.
13141
13142 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
13143
13144         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): Define __GETOPT_PREFIX instead
13145         of replacing opterr, getopt, etc.  This should handle the
13146         powerpc-apple-darwin5.5 problem recently noted by Simon Josefsson.
13147
13148 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
13149
13150         * lib/getopt_.h (__getopt_argv_const): New macro, to be used so that
13151         we can stop lying to compilers about the constness of argv when we
13152         are compiled outside glibc.
13153         (getopt, getopt_long, getopt_long_only): Use it.
13154         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
13155         _getopt_internal, getopt): Likewise.
13156         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
13157         _getopt_long_only_r): Likewise.
13158         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
13159         _getopt_long_r, _getopt_long_only_r): Likewise.
13160
13161         * lib/getopt_.h [defined __GETOPT_PREFIX && !defined __need_getopt]:
13162         Include <stdlib.h> and <stdio.h>, and <unistd.h> if available.
13163         Then rename getopt to __GETOPT_PREFIX##getopt, and so forth for
13164         the other external symbols.
13165         (getopt) [!defined __GNU_LIBRARY]: Use prototype, not old-style
13166         declaration, since the above renaming now works around collisions.
13167
13168 2004-11-11  Jim Meyering  <jim@meyering.net>
13169
13170         * lib/linebreak.c: Remove trailing blanks.
13171         * lib/alloca_.h: Likewise.
13172         * lib/acosl.c: Likewise.
13173         * lib/euidaccess.c: Likewise.
13174         * lib/allocsa.h: Likewise.
13175
13176 2004-11-10  Simon Josefsson  <jas@extundo.com>
13177
13178         * m4/getaddrinfo.m4: New file.
13179
13180 2004-11-10  Simon Josefsson  <jas@extundo.com>
13181
13182         * lib/getaddrinfo.h, lib/getaddrinfo.c: New files.
13183
13184 2004-11-10  Simon Josefsson  <jas@extundo.com>
13185
13186         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
13187         getaddrinfo.
13188
13189         * modules/getaddrinfo: New file.
13190
13191 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
13192
13193         * m4/prereq.m4 (gl_PREREQ): Require gt_FUNC_SETENV.
13194
13195 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
13196
13197         * lib/mktime.c (SHR): New macro, which is a portable
13198         substitute for >> that should work even on Crays.
13199         (TIME_T_MIDPOINT, ydhms_diff, __mktime_internal): Use it.
13200         Problem reported by Mark D. Baushke in
13201         <http://lists.gnu.org/archive/html/bug-gnulib/2004-11/msg00071.html>.
13202         * lib/getdate.y (SHR): Likewise.
13203         (tm_diff): Use it.
13204         * lib/strftime.c (SHR): Likewise.
13205         (tm_diff): Use it.
13206         * lib/quotearg.c (struct quoting_options): Use unsigned int for
13207         quote_these_too, so that right shifts are well defined.  All uses
13208         changed.
13209
13210 2004-11-10  Jim Meyering  <jim@meyering.net>
13211
13212         Ensure that no close failure goes unreported.
13213         * lib/closeout.c (close_stdout): Always close stdout.  I.e., don't
13214         return early when it seems there's nothing to flush.
13215         Don't include __fpending.h.
13216
13217 2004-11-10  Jim Meyering  <jim@meyering.net>
13218
13219         * modules/closeout (Depends-on): Remove fpending.
13220
13221 2004-11-10  Jim Meyering  <jim@meyering.net>
13222
13223         * m4/jm-macros.m4 (gl_MACROS): Don't require gl_FUNC_FPENDING.
13224
13225 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
13226
13227         * m4/strftime.m4 (_gl_STRFTIME_PREREQS): Remove.  Move its body to
13228         gl_FUNC_STRFTIME.
13229         (gl_FUNC_STRFTIME): Use AC_CHECK_FUNCS_ONCE and AC_CHECK_HEADERS_ONCE
13230         and AC_REQUIRE when possible, to avoid duplicate checks.
13231         Check for <wchar.h>.
13232
13233 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
13234
13235         * lib/strftime.c (DO_MULTIBYTE): Check for wchar.h, too.
13236
13237 2004-11-09  Bruno Haible  <bruno@clisp.org>
13238
13239         * m4/sockpfaf.m4: New file.
13240
13241 2004-11-05  Bruno Haible  <bruno@clisp.org>
13242
13243         * lib/readlink.c: Include stddef.h, needed for size_t on Woe32.
13244         Reported by Mark D. Baushke <mdb@cvshome.org>.
13245
13246 2004-11-04  Bruno Haible  <bruno@clisp.org>
13247
13248         2004-09-11  Bruno Haible  <bruno@clisp.org>
13249                 * allocsa.valgrind: New file.
13250         2004-02-06  Bruno Haible  <bruno@clisp.org>
13251                 * allocsa.h (sa_alignof): Define differently with HP-UX cc, to
13252                 avoid a bug of this cc on HP-UX 10.20 dealing with enums.
13253                 Reported by Christopher Seip <chris.seip@hp.com>.
13254
13255 2004-11-04  Bruno Haible  <bruno@clisp.org>
13256
13257         * modules/allocsa (Files): Add lib/allocsa.valgrind.
13258         (Makefile.am): Distribute it.
13259
13260 2004-11-03  Paul Eggert  <eggert@cs.ucla.edu>
13261
13262         * lib/xreadlink.c (xreadlink): AIX and HP-UX readlink return -1
13263         with errno == ERANGE if the buffer is too small.
13264         Problem reported by Mark D. Baushke.
13265
13266 2004-11-03  Albert Chin <china@thewrittenword.com>
13267             Paul Eggert  <eggert@cs.ucla.edu>
13268
13269         * m4/uint32_t.m4 (gl_AC_TYPE_UINT32_T): When determining uint32_t
13270         equivalent, substitute $ac_type for equivalent type rather than
13271         blindly using uint32_t *always* which won't work if uint32_t is not
13272         available.  Define _UINT32_T to work around typedef of uint32_t if
13273         <sys/sched.h>, <pthread.h>, or <semaphore.h> used on Solaris
13274         2.5.1.
13275
13276 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
13277
13278         * m4/jm-macros.m4: Sync from coreutils.
13279         (gl_MACROS): Check for mbrlen, for pathchk.
13280         (gl_CHECK_ALL_TYPES): Require AC_TYPE_MBSTATE_T, for pathchk.
13281
13282 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
13283
13284         * lib/xreadlink.c (MAXSIZE): New macro.
13285         (xreadlink): Use it instead of SSIZE_MAX.  Ensure initial buffer
13286         size does not exceed MAXSIZE.  Avoid cast.
13287         As suggested by Mark D. Baushke in
13288         <http://lists.gnu.org/archive/html/bug-gnulib/2004-11/msg00009.html>,
13289         if readlink fails with buffer size just under MAXSIZE, try again
13290         with MAXSIZE.
13291
13292 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
13293
13294         * config/srclist.txt: Add mktime.c; glibc bought all our changes.
13295
13296 2004-11-02  Derek R. Price  <derek@ximbiot.com>
13297         and  Paul Eggert  <eggert@cs.ucla.edu>
13298
13299         * lib/getdate.y [!TEST]: Include <stdio.h>, since we use sprintf now.
13300         (get_date): Overparenthesize to avoid GCC warning.
13301
13302 2004-11-02  Bruno Haible  <bruno@clisp.org>
13303
13304         * m4/setenv.m4 (gt_FUNC_SETENV): Define VOID_UNSETENV if unsetenv()
13305         returns void.
13306
13307 2004-11-02  Bruno Haible  <bruno@clisp.org>
13308
13309         * lib/setenv.h (unsetenv): Define as a macro if the system's unsetenv()
13310         function returns void.
13311
13312 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
13313
13314         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for declarations of
13315         fflush_unlocked, flockfile, funlockfile, funlockfile,
13316         fputs_unlocked, putc_unlocked.
13317
13318 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
13319
13320         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
13321         (funlockfile, fputs_unlocked, putc_unlocked): Don't define if
13322         already declared.
13323
13324 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
13325
13326         * modules/getdate (Files): Add doc/getdate.texi.
13327         (Depends-on): Add setenv, xalloc.
13328
13329 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
13330
13331         * lib/getdate.y: Add support for TZ="foo" within a date string.
13332         Fix some bugs near time_t boundaries.  Reject dates with
13333         out-of-range components, e.g., "Sept 31".
13334         Include <stdlib.h>, "setenv.h", "xalloc.h".
13335         (ISDIGIT_LOCALE): Remove; unused.
13336         Note that the TZ and time functions used here are not reentrant.
13337         (mktime_ok, get_tz): New functions.
13338         (TZBUFSIZE): New constant.
13339         (get_date): Parse leading TZ="foo".  Reject out-of-range components;.
13340         This requires that we sometimes generate our own TZ="XXX..." setting.
13341
13342 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
13343
13344         * doc/getdate.texi: New file, from coreutils with modifications for
13345         the new TZ parsing.
13346
13347 2004-10-27  Derek R. Price  <derek@ximbiot.com>
13348
13349         * lib/mktime.c (not_equal_tm): Remove redundant check.
13350
13351 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
13352
13353         * modules/regex (lib_SOURCES): Add regex.c.
13354         Reported by James Youngman in
13355         <http://lists.gnu.org/archive/html/bug-gnulib/2004-10/msg00199.html>.
13356
13357 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
13358
13359         * lib/getdate.y: Use Bison 1.875 features, and some minor
13360         code cleanups.  This change does not affect semantics.
13361         Don't include <stdlib.h>; no longer needed.
13362         Don't include unlocked-io.h; only the "#if TEST" code uses
13363         stdio, and performance isn't crucial there.
13364         (PC, YYLEX_PARAM, YYPARSE_PARAM): Remove; replaced by
13365         Bison 1.875 features as described below.
13366         All uses of "PC." replaced by "pc->".
13367         (YYSTYPE): Add a forward declaration.
13368         (yylex, yyerror): Use full prototypes in forward decls.
13369         Use "%pure-parser" rather than obsolescent "%pure_parser".
13370         Use %parse-param and %lex-param instead of obsolescent
13371         YYPARSE_PARAM and YYLEX_PARAM.
13372         (meridian_table, month_and_day_table, time_units_table,
13373         relative_time_table, time_zone_table, military_table,
13374         lookup_zone, lookup_word, get_date):
13375         Use NULL instead of 0 where appropriate.
13376         (to_hour): Avoid abort (), to avoid a dependency on
13377         stdlib.h.
13378         (yyerror, yylex): Now accepts parser_control * arg.
13379         (main) [TEST]: Use '\0' rather than 0 for char.
13380
13381 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
13382
13383         * m4/getpagesize.m4 (gl_GETPAGESIZE): Check for <sys/param.h>.
13384
13385 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
13386
13387         * lib/getpagesize.c (getpagesize): Don't assume <sys/param.h> exists.
13388         It's now the caller's responsibility to handle the case where
13389         !HAVE_GETPAGESIZE && !defined getpagesize.
13390
13391         * lib/mktime.c (leapyear): Arg is long int, not int.
13392
13393 2004-10-18  Paul Eggert  <eggert@cs.ucla.edu>
13394
13395         * lib/argp-fs-xinl.c, argp-xinl.c: Update from glibc.
13396
13397 2004-10-17  Paul Eggert  <eggert@cs.ucla.edu>
13398
13399         * gnulib-tool (func_emit_lib_Makefile_am): Fix typo: a $ was
13400         missing.  Problem reported by James Youngman.
13401
13402 2004-10-16  Simon Josefsson  <jas@extundo.com>
13403
13404         * gnulib-tool: Fix comments.  Fix parse problem.
13405         (func_emit_lib_Makefile_am): Don't hard code a in libgl_a_SOURCES.
13406
13407 2004-10-15  Paul Eggert  <eggert@cs.ucla.edu>
13408
13409         * m4/getopt.m4 (gl_GETOPT): Detect and reject the incompatible BSD
13410         implementation of getopt_long.  Problem reported by Alexander Taler in:
13411         http://lists.gnu.org/archive/html/bug-gnulib/2004-10/msg00103.html
13412
13413 2004-10-15  Bruno Haible  <bruno@clisp.org>
13414
13415         * gnulib-tool: Untabify. Initialize supplied_libname.
13416         (func_usage): More homogenous output.
13417         (func_modules_transitive_closure, func_modules_to_filelist,
13418         func_emit_lib_Makefile_am): New functions.
13419         (func_import): New function, extracted from big case statement. Use
13420         func_get_license, func_modules_transitive_closure,
13421         func_modules_to_filelist, func_emit_lib_Makefile_am. Initialize
13422         opt_lgpl. Don't use test -a, as it's not portable.
13423         (func_create_testdir): Use func_modules_transitive_closure,
13424         func_modules_to_filelist, func_emit_lib_Makefile_am.
13425
13426 2004-10-15  Bruno Haible  <bruno@clisp.org>
13427
13428         * gnulib-tool (func_import): Let gl_INIT define LTALLOCA when needed.
13429
13430 2004-10-15  Bruno Haible  <bruno@clisp.org>
13431
13432         * gnulib-tool (func_emit_lib_Makefile_am): Add markers to separate
13433         the portions belonging to each module.
13434         Suggested by Derek Robert Price <derek@ximbiot.com>.
13435
13436 2004-10-12  Simon Josefsson  <jas@extundo.com>
13437
13438         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
13439         (fputs_unlocked, putc_unlocked) [!_LIBCS && !USE_UNLOCKED_IO]: Map
13440         to real functions.
13441
13442 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
13443
13444         * modules/vsnprintf: New file.
13445
13446 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
13447
13448         * m4/vsnprintf.m4: New file.
13449
13450 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
13451
13452         * lib/vsnprintf.h: New file.
13453         * lib/vsnprintf.c: New file.
13454
13455 2004-10-11  Bruno Haible  <bruno@clisp.org>
13456
13457         * MODULES.html.sh (Support for systems lacking ISO C 99): Add
13458         vsnprintf.
13459
13460 2004-10-10  Paul Eggert  <eggert@cs.ucla.edu>
13461
13462         * config/srclistvars.sh: Add GNUSTANDARDS (for eggert only).
13463
13464 2004-10-07  Bruno Haible  <bruno@clisp.org>
13465
13466         * lib/snprintf.c (snprintf): Avoid a memory allocation if the result
13467         fits into the provided buffer.
13468
13469 2004-10-06  Paul Eggert  <eggert@cs.ucla.edu>
13470
13471         * lib/diacrit.c, diacrit.h: Add GPL notice.
13472
13473         * lib/atanl.c, logl.c: Add GPL notice, to match glibc's added LGPL
13474         notice.
13475         * lib/atanl.c (atanl): Keep the code as similar to glibc as possible.
13476         * lib/logl.c (logl): Keep the code as similar to glibc as possible.
13477         This avoids a potential constant-folding bug.
13478
13479 2004-10-05  Bruno Haible  <bruno@clisp.org>
13480
13481         * m4/strsep.m4 (gl_FUNC_STRSEP): Require AC_GNU_SOURCE. Don't check
13482         for the declaration of strsep.
13483
13484 2004-10-05  Bruno Haible  <bruno@clisp.org>
13485
13486         * lib/strsep.h: Don't declare strsep() if HAVE_STRSEP.
13487
13488 2004-10-04  Simon Josefsson  <jas@extundo.com>
13489
13490         * modules/memmem: New file.
13491         * tests/test-memmem.c: New file.
13492         * MODULES.html.sh (Extra functions based on ANSI C 89): Add memmem.
13493
13494 2004-10-04  Simon Josefsson  <jas@extundo.com>
13495
13496         * m4/memmem.m4: New file.
13497
13498 2004-10-04  Simon Josefsson  <jas@extundo.com>
13499
13500         * lib/memmem.h: New file.
13501         * lib/memmem.c: New file, taken from glibc.
13502
13503 2004-10-04  Simon Josefsson  <jas@extundo.com>
13504
13505         * lib/error.c, md5.c, regex.c: Use '#if USE_UNLOCKED_IO' instead of
13506         '#ifdef USE_UNLOCKED_IO'.
13507
13508 2004-10-04  Simon Josefsson  <jas@extundo.com>
13509
13510         * config/srclist.txt: Add memmem from glibc.
13511
13512 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
13513
13514         * modules/xalloc (Files, Makefile.am): Remove xstrdup.c.
13515
13516         * modules/argmatch, modules/argp, modules/closeout, modules/error,
13517         modules/exclude, modules/getdate, modules/getline,
13518         modules/getndelim2, modules/getpass, modules/getpass-gnu,
13519         modules/getusershell, modules/linebuffer, modules/md5,
13520         modules/mountlist, modules/posixtm, modules/readtokens,
13521         modules/readutmp, modules/regex, modules/sha1,
13522         modules/version-etc, modules/yesno:
13523         Remove dependency on unlocked-io.
13524
13525 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
13526
13527         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Remove.  All uses removed.
13528
13529         * m4/unlocked-io.m4: Add copyright notice.
13530         (gl_FUNC_GLIBC_UNLOCKED_IO): Define USE_UNLOCKED_IO.
13531
13532 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
13533
13534         * lib/xalloc.h (xmemdup): Renamed from xclone.  All uses changed.
13535         * lib/xmalloc.c (xmemdup): Likewise.
13536         * lib/xalloc.h (CCLONE, CLONE, NEW, XCALLOC, XMALLOC, XREALLOC,
13537         XFREE): Remove these long-obsolescent macros.
13538         * lib/xmalloc.c (xstrdup): Implementation moved here from xstrdup.c
13539         * lib/xstrdup.c: Remove.
13540
13541         * lib/regex.c (re_comp): Cast gettext return value to char *,
13542         Problem reported by Martin Neitzel via Mark D. Baushke.
13543
13544 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
13545
13546         * lib/argmatch.c, closeout.c, error.c, exclude.c, getdate.y,
13547         getndelim2.c, getpass.c, getusershell.c, linebuffer.c,
13548         md5.c, mountlist.c, posixtm.c, readtokens.c, readutmp.c,
13549         regex.c, sha1.c, version-etc.c, yesno.c:
13550         Include "unlocked-io.h" only if USE_UNLOCKED_IO.
13551         * lib/unlocked-io.h: Don't worry about USE_UNLOCKED_IO; that's now
13552         the includer's responsibility.
13553
13554         Sync from coreutils.
13555
13556         * lib/modechange.c (mode_compile): Don't decrement a pointer that
13557         points to the start of a string, as the C Standard says the
13558         resulting behavior is undefined.
13559
13560         * lib/backupfile.h (enum backuptype): Rename none -> no_backups,
13561         simple -> simple_backups, numbered_existing ->
13562         numbered_existing_backups, numbered -> numbered_backups
13563         to avoid shadowing problems.  All uses changed.
13564         * lib/argmatch.c (enum backuptype) [defined TEST]: Likewise.
13565         * lib/backupfile.c (check_extension, numbered_backup):
13566         Rename locals to avoid shadowing 'basename'.
13567         * lib/backupfile.h (VALID_BACKUP_TYPE): Don't evaluate arg more than
13568         once.
13569
13570         * lib/.cppi-disable: Add getopt_.h, getopt_int.h.
13571         * lib/.cvsignore: Add getopt.h.
13572
13573 2004-10-04  Bruno Haible  <bruno@clisp.org>
13574
13575         * modules/README: New file.
13576         * gnulib-tool (func_all_modules, func_verify_module): modules/README is
13577         not a module.
13578
13579 2004-10-02  Jim Meyering  <jim@meyering.net>
13580
13581         * lib/dirfd.h, getpagesize.h: Add copyright notice.
13582
13583 2004-10-01  Yoann Vandoorselaere <yoann@prelude-ids.org>
13584
13585         * modules/strsep: New file.
13586
13587 2004-10-01  Yoann Vandoorselaere <yoann@prelude-ids.org>
13588
13589         * m4/strsep.m4: New file.
13590
13591 2004-10-01  Yoann Vandoorselaere <yoann@prelude-ids.org>
13592
13593         * lib/strsep.h: New file.
13594         * lib/strsep.c: New file.
13595
13596 2004-10-01  Simon Josefsson  <jas@extundo.com>
13597
13598         * lib/snprintf.c (snprintf): Handle size==0.
13599
13600 2004-10-01  Simon Josefsson  <jas@extundo.com>
13601             Bruno Haible  <bruno@clisp.org>
13602
13603         * lib/snprintf.c: Include <stdarg.h>, <stdlib.h>, <string.h>.
13604         (snprintf): Declare 'args'.
13605
13606 2004-10-01  Paul Eggert  <eggert@cs.ucla.edu>
13607
13608         * lib/snprintf.c: Remove comments as to why each header is needed.
13609
13610 2004-10-01  Bruno Haible  <bruno@clisp.org>
13611
13612         * MODULES.html.sh: Add strsep.
13613
13614 2004-09-30  Simon Josefsson  <jas@extundo.com>
13615
13616         * modules/snprintf: New file.
13617
13618 2004-09-30  Simon Josefsson  <jas@extundo.com>
13619
13620         * m4/snprintf.m4: New file.
13621
13622 2004-09-30  Simon Josefsson  <jas@extundo.com>
13623
13624         * lib/snprintf.h, lib/snprintf.c: New files.
13625
13626 2004-09-30  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
13627
13628         * lib/argp-help.c (canon_doc_option): Fixed coredump if *name==NULL
13629         (hol_entry_help): Never translate an empty string.
13630         Do not translate option tag (opt->name) if OPTION_NO_TRANS is set
13631         * lib/argp.h (OPTION_NO_TRANS): New option.
13632
13633 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
13634
13635         * modules/argp (Maintainer): Replace Simon Josefsson
13636         by Sergey Poznyakoff.
13637
13638 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
13639
13640         * config/srclist.txt: Comment-out argp/argp.h, until we get the argp
13641         changes merged back into glibc.
13642
13643 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
13644
13645         * MODULES.html.sh (Support for systems lacking ISO C 99): Add snprintf.
13646
13647 2004-09-29  Oskar Liljeblad  <oskar@osk.mine.nu>
13648
13649         * lib/xvasprintf.c: Include xalloc.h.
13650         (xvasprintf): Use xalloc_die, not xmalloc_die.
13651
13652 2004-09-29  Bruno Haible  <bruno@clisp.org>
13653
13654         * modules/alloca-opt: New file, derived from modules/alloca.
13655         * modules/allocsa: Depend on alloca-opt instead of alloca.
13656         * modules/setenv: Likewise.
13657         * modules/vasnprintf: Likewise.
13658         * MODULES.html.sh: Add alloca-opt.
13659
13660 2004-09-28  Simon Josefsson  <jas@extundo.com>
13661
13662         * gnulib-tool: New parameter --lgpl, to asseert that modules are
13663         LGPL, and to replace license template from GPL to LGPL.
13664
13665 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
13666
13667         * modules/dummy: Change license to LGPL.
13668
13669 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
13670
13671         * lib/dummy.c: Change copyright notice to FSF, and license to GPL.
13672
13673 2004-09-24  Simon Josefsson  <jas@extundo.com>
13674
13675         * modules/minmax (License): Change from GPL to LGPL.
13676
13677 2004-09-23  Simon Josefsson  <jas@extundo.com>
13678
13679         * gnulib-tool (--import): Typo.
13680
13681 2004-09-23  Simon Josefsson  <jas@extundo.com>
13682
13683         * gnulib-tool (--import): Make sure *.m4 end up in m4/ by default.
13684
13685 2004-09-22  Bruno Haible  <bruno@clisp.org>
13686
13687         * modules/*: Add 'License' field.
13688         * gnulib-tool: Accept --extract-license option.
13689         (func_get_license): New function.
13690
13691 2004-09-21  Bruno Haible  <bruno@clisp.org>
13692
13693         * modules/vasnprintf (Files): Add m4/stdint_h.m4, m4/inttypes_h.m4.
13694         Reported by Simon Josefsson.
13695
13696 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
13697
13698         * modules/inttostr (Files): Add m4/longlong.m4, since it uses
13699         gl_AC_TYPE_LONG_LONG.
13700
13701 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
13702
13703         * config/srclist.txt: Add getsubopt.c, since libc bought our changes.
13704
13705 2004-09-18  Simon Josefsson  <jas@extundo.com>
13706         and  Paul Eggert  <eggert@cs.ucla.edu>
13707
13708         * gnulib-tool: Replace various ad-hoc automake/autoconf/aclocal
13709         calls with autoreconf.  Define GL_LIB.
13710
13711 2004-09-14  Karl Berry  <karl@gnu.org>
13712
13713         * config/srclist.txt: unsync setenv.c, sigh.
13714
13715 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
13716
13717         * lib/argp-pvh.c (argp_program_version_hook): Provide initial value.
13718         Problem reported by Bruno Haible in:
13719         http://lists.gnu.org/archive/html/bug-tar/2004-09/msg00023.html
13720
13721 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
13722
13723         * config/srclist.txt: Comment out argp-pvh.c.
13724
13725 2004-09-11  Paul Eggert  <eggert@cs.ucla.edu>
13726
13727         * lib/mempcpy.h: Wrap the entire include file inside #ifndef mempcpy,
13728         in case some system header has #define'd it.  Problem reported by
13729         Soeren D. Schulze in
13730         <http://lists.gnu.org/archive/html/bug-gnulib/2004-09/msg00017.html>.
13731
13732 2004-09-09  Karl Berry  <karl@gnu.org>
13733
13734         * regex.[ch]: delete from the root.  These were supposed to be
13735                 synced with emacs cvs, but this has not happened for about
13736                 a year, and anyway nothing else uses emacs regex.[ch].
13737                 bug-gnulib mail from Jeff Bailey, 9 Sep 2004 15:49:24 -0700.
13738                 lib/regex[.ch] is untouched.
13739
13740 2004-09-09  Bruno Haible  <bruno@clisp.org>
13741
13742         * modules/vasnprintf (Files): Add m4/eoverflow.m4.
13743
13744 2004-09-09  Bruno Haible  <bruno@clisp.org>
13745
13746         * m4/eoverflow.m4: New file, taken from GNU libiconv eilseq.m4 with
13747         modifications.
13748         * m4/vasnprintf.m4 (gl_FUNC_VASNPRINTF): Require gl_EOVERFLOW.
13749
13750 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
13751
13752         * modules/xvasprintf: New file.
13753         * MODULES.html.sh (Extra functions based on ANSI C 89): Add vasprintf.
13754
13755 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
13756
13757         * lib/xvasprintf.h: New file.
13758         * lib/xvasprintf.c: New file.
13759         * lib/xasprintf.c: New file.
13760
13761 2004-09-08  Bruno Haible  <bruno@clisp.org>
13762
13763         * m4/stdint.m4: New file, taken from GNU clisp with modifications.
13764
13765 2004-09-08  Bruno Haible  <bruno@clisp.org>
13766
13767         * lib/vasnprintf.c (VASNPRINTF): Signal EOVERFLOW if the resulting
13768         length is > INT_MAX.
13769         * lib/vasprintf.c (vasprintf): Don't test for length > INT_MAX any
13770         more.
13771
13772 2004-09-08  Bruno Haible  <bruno@clisp.org>
13773
13774         * lib/stdint_.h: New file, taken from GNU clisp.
13775
13776 2004-09-08  Bruno Haible  <bruno@clisp.org>
13777             Oskar Liljeblad  <oskar@osk.mine.nu>
13778
13779         * modules/stdint: New file.
13780         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdint.
13781
13782 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
13783
13784         Import from coreutils.
13785         * lib/userspec.c: Don't use <alloca.h>, so that we don't use alloca on
13786         strings on unbounded length.  alloca's performance benefits aren't
13787         that important here.
13788         (V_STRDUP): Remove.
13789         (parse_with_separator): New function, with most of the internals
13790         of the old parse_user_spec.  Allow user to omit both user and group,
13791         for compatibility with FreeBSD.
13792         Clone only the user name, not the entire spec.
13793         Do not set *uid, *gid unless entirely successful.
13794         Avoid memory leak in some failing cases.
13795         Fix regression for USER.GROUP reported by Dmitry V. Levin in
13796         <http://lists.gnu.org/archive/html/bug-coreutils/2004-08/msg00102.html>
13797         (parse_user_spec): Rewrite to use parse_with_separator.
13798
13799 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
13800
13801         * modules/userspec: Don't depend on alloca.
13802
13803 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
13804
13805         * m4/userspec.m4 (gl_USERSPEC): Don't require AC_FUNC_ALLOCA.
13806
13807 2004-08-17  Paul Eggert  <eggert@cs.ucla.edu>
13808
13809         * MODULES.html.sh: Add xalloc-die, c-strtod, c-strtold, raise,
13810         readtokens0, getcwd, fcntl-safer, canonicalize, cycle-check,
13811         utimecmp, utimens, xnanosleep.  Rename sha to sha1.
13812
13813 2004-08-16  Simon Josefsson  <jas@extundo.com>
13814
13815         * gnulib-tool: Use sed instead of autoconf --trace, inspired by
13816         libtoolize behaviour by "Gary V. Vaughan" <gary@gnu.org>.
13817         Add --dry-run for --import.
13818         Let user provided command line parameters override configure.ac
13819         settings.
13820
13821 2004-08-12  Simon Josefsson  <jas@extundo.com>
13822
13823         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): New macro,
13824         as discussed with Paul Eggert in threads rooted at
13825         <http://lists.gnu.org/archive/html/bug-gnulib/2004-06/msg00039.html>
13826         and
13827         <http://lists.gnu.org/archive/html/bug-gnulib/2004-07/msg00001.html>.
13828         Before, the test was empty, and relied on ELIDE_CODE in source
13829         code.)
13830         (gl_PREREQ_GETOPT): New macro.
13831         (gl_GETOPT): Use them.
13832
13833 2004-08-12  Simon Josefsson  <jas@extundo.com>
13834
13835         * lib/getopt.c, getopt1.c: Remove ELIDE_CODE hack.
13836         * lib/getopt_.h: Renamed from getopt.h.
13837
13838 2004-08-12  Simon Josefsson  <jas@extundo.com>
13839
13840         * gnulib-tool: Add --source-base, --m4-base, --libtool options.
13841         Change default library name from libfoo to libgnu.
13842         Now, if you have a configure.ac that says:
13843                 gl_SOURCE_BASE(gl)
13844                 gl_M4_BASE(gl/m4)
13845                 gl_MODULES(error getopt etcetera)
13846                 gl_INIT
13847         you can import all you need by running:
13848                 ../gnulib/gnulib-tool --import
13849
13850         * modules/getopt (Files): Rename getopt.h to getopt_.h.
13851         (Makefile.am): Rewrite, use logic from argz.
13852         (Include): Use <getopt.h> instead of "getopt.h".
13853
13854 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
13855
13856         * modules/argp (Files): Add m4/unlocked-io.m4.
13857         (Depends-on): Add extensions.
13858
13859 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
13860
13861         * m4/argp.m4 (gl_ARGP): Do not check for argp.h or argp_parse; nobody
13862         uses HAVE_ARGP_H or HAVE_ARGP_PARSE.
13863         Require gl_FUNC_GLIBC_UNLOCKED_IO, gl_USE_SYSTEM_EXTENSIONS.
13864         Check for program_invocation_name, program_invocation_short_name,
13865         flockfile, funlockfile, features.h, _getopt_long_only_r.
13866
13867 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
13868
13869         * lib/argp-help.c, argp-parse.c: Use "gettext.h" instead of
13870         its complicated substitute.
13871         * lib/argp-help.c: Include <errno.h>, for program_invocation_short_name
13872         and program_invocation_name.
13873         (__argp_basename) [!_LIBC]: Remove; the only use was
13874         replaced by its body.
13875         (__argp_short_program_name): Change condition from
13876         !defined __argp_short_program_name to
13877         ! (defined _LIBC || HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME),
13878         to match argp-namefrob.h.
13879         (__argp_failure): Don't assume strerror_r returns char *.
13880         * lib/argp-parse.c (N_): Define unconditionally.
13881         (argp_default_options): Fill out initializers with 0 to avoid
13882         gcc warnings.
13883
13884 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
13885
13886         * config/srclist.txt: Remove getopt.c, getopt.h (renamed to getopt_.h),
13887         getopt1.c.
13888
13889 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
13890
13891         Merge from coreutils.
13892
13893         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for wmemchr and wmemcpy.
13894
13895         * m4/obstack.m4 (gl_PREREQ_OBSTACK): Require
13896         gl_AC_HEADER_INTTYPES_H, gl_AC_HEADER_STDINT_H, gl_AC_TYPE_UINTMAX_T.
13897
13898 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
13899
13900         Merge from coreutils.
13901
13902         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Don't set to 1 if missing
13903         wmemchr or wmemcpy.  Problem reported by Robert Dahlem
13904         for Reliant Unix 5.43.
13905
13906         * lib/obstack.c: Include <inttypes.h> and <stdint.h> if available.
13907         (union fooround): Use uintmax_t, not long int.
13908         The rest is a merge from libc:
13909         [defined _LIBC]: Include <shlib-compat.h>.
13910         (_obstack) [defined _LIBC]: Remove after 2.3.4.
13911
13912         * lib/settime.c (settime): Recode to avoid warning with
13913         Sun Forte C 6U2.
13914
13915         * lib/strverscmp.c: Convert to UTF-8.
13916
13917 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
13918
13919         * modules/obstack (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
13920         m4/uintmax_t.m4.
13921
13922 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
13923
13924         * modules/xalloc-die: New file.
13925         * modules/xalloc: Remove dependencies on error, gettext, exitfail.
13926
13927         * modules/md5 (Files): Add m4/uint32_t.m4.
13928         * modules/sha1: Renamed from modules/sha.
13929         (Files):
13930         Rename lib/sha.h to lib/sha1.h.
13931         Rename lib/sha.c to lib/sha1.c.
13932         Rename m4/sha.m4 to m4/sha1.m4.
13933         (lib_SOURCES): Likewise.
13934         (configure.ac): Rename gl_SHA to gl_SHA1.
13935         (Include): sha.h -> sha1.h.
13936
13937 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
13938
13939         * m4/uint32_t.m4, m4/uintptr_t.m4: New files.
13940         * m4/sha1.m4: Renamed from sha.m4.
13941         (gl_SHA1): Renamed from gl_SHA.  All uses changed.
13942
13943 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
13944
13945         * lib/obstack.h (obstack_empty_p):
13946         Don't assume that chunk->contents is suitably aligned.
13947         * lib/obstack.c (_obstack_begin, _obstack_begin_1, _obstack_newchunk):
13948         Likewise. Problem reported by Benno in
13949         <http://sources.redhat.com/ml/libc-alpha/2004-08/msg00055.html>.
13950
13951         * lib/chown.c (rpl_chown): Work even if the file is writeable but not
13952         readable.  This could be improved further but it'd take some work.
13953
13954 2004-08-08  Simon Josefsson  <jas@extundo.com>
13955
13956         * modules/xgethostname (Depends-on): Remove exit and error (not
13957         used).
13958
13959         * modules/getpass-gnu: Add getpass.h.
13960         (Depends-on): Add stdbool.
13961         * modules/getpass: Add getpass.h.
13962
13963 2004-08-08  Simon Josefsson  <jas@extundo.com>
13964
13965         * m4/getpass.m4 (gl_FUNC_GETPASS, gl_FUNC_GETPASS_GNU):
13966         Check getpass declaration.
13967
13968 2004-08-08  Simon Josefsson  <jas@extundo.com>
13969
13970         * lib/xgethostname.c: Don't include error.h (not used).
13971
13972         * lib/getpass.h: Add.
13973         * lib/getpass.c: Include getpass.h first.
13974
13975 2004-08-08  Paul Eggert  <eggert@cs.ucla.edu>
13976
13977         * lib/xalloc-die.c: New file.
13978         * lib/xalloc.h (xalloc_fail_func, xalloc_msg_memory_exhausted): Remove.
13979         All uses removed.
13980         * lib/xmalloc.c (xalloc_fail_func, xalloc_msg_memory_exhausted):
13981         Likewise. Move inclusions of gettext.h, error.h, exitfail.h to
13982         xalloc-die.c.
13983         (_, N_, xalloc_die): Move to xalloc-die.c.
13984         * lib/userspec.c (parse_user_spaec): Use xstrdup rather than strdup,
13985         so that we needn't mess with xalloc_msg_memory_exhausted.
13986
13987         * lib/sha1.h: Renamed from sha.h.
13988         (SHA1_H): Renamed from _SHA_H.
13989         (sha1_ctx): Renamed from sha_ctx.
13990         (sha1_init_ctx): Renamed from sha_init_ctx.
13991         (sha1_process_block): Renamed from sha_process_block.
13992         (sha1_process_bytes): Renamed from sha_process_bytes.
13993         (sha1_finish_ctx): Renamed from sha_finish_ctx.
13994         (sha1_read_ctx): Renamed from sha_read_ctx.
13995         (sha1_stream): Renamed from sha_stream.
13996         (sha1_buffer): Renamed from sha_buffer.
13997         * lib/sha1.c: Likewise; renamed from sha.c.
13998         Do not include <sys/types.h>.
13999         Include <stddef.h> rather than <stdlib.h>.
14000
14001 2004-08-08  Bruno Haible  <bruno@clisp.org>
14002
14003         * lib/pathname.h (FILE_SYSTEM_PREFIX_LEN): Renamed from
14004         FILESYSTEM_PREFIX_LEN.
14005         * lib/progreloc.c: Likewise.
14006         * lib/concatpath.c (concatenated_pathname): Use FILE_SYSTEM_PREFIX_LEN.
14007
14008 2004-08-06  Simon Josefsson  <jas@extundo.com>
14009
14010         * modules/progname (Depends-on): Don't depend on stdbool.
14011
14012 2004-08-06  Simon Josefsson  <jas@extundo.com>
14013
14014         * modules/getsubopt: New file.
14015         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
14016         getsubopt.
14017
14018 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
14019
14020         More merge from coreutils.
14021
14022         * m4/utimens.m4, m4/utimecmp.m4: New files.
14023         * m4/backupfile.m4, euidacces.m4, acl.m4, afs.m4, calloc.m4, dirfd.m4,
14024         fsusage.m4, jm-macros.m4, ls-mntd-fs.m4, md5.m4, mountlist.m4,
14025         prereq.m4, sha.m4: Import changes from coreutils.
14026
14027 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
14028
14029         More merge from coreutils.
14030         * modules/raise, modules/readtokens0, modules/utimens:
14031         * modules/utimecmp, module/xnanosleep: New files.
14032         * modules/strftime: Add lib/strftime.h.
14033         Change include from <time.h> to "strftime.h".
14034         * modules/yesno: Add lib/yesno.h.
14035         * modules/backupfile: Remove lib/addext.c.
14036         * modules/euidaccess: Add stat-macros.h.
14037         * modules/canonicalize, modules/euidaccess,
14038         modules/filemode, modules/lchown, modules/makepath,
14039         modules/rmdir, modules/stat: Likewise.
14040
14041 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
14042
14043         Merge from tar.
14044         * lib/argp-help.c (make_hol, hol_append): Don't assume that
14045         SIZE_MAX is a valid preprocessor constant.
14046         (__argp_basename): Change from "#ifndef _LIBC"
14047         to "#ifndef __argp_short_program_name", so that
14048         we don't compile these functions for tar.
14049
14050         More merges from coreutils.
14051         * lib/raise.c, lib/readtokens0.h, lib/readtokens0.c, lib/strftime.h:
14052         * lib/utimens.h, lib/utimens.c, lib/utimecmp.h, lib/utimecmp.c:
14053         * lib/xnanosleep.h, lib/xnanosleep.c, lib/yesno.h: New files.
14054         * lib/addext.c: Remove; no longer needed.
14055         * lib/yesno.c, lib/argmatch.h, lib/argmatch.c, lib/backupfile.h,
14056         lib/backupfile.c, lib/euidaccess.c, lib/filemode.c, lib/closeout.c,
14057         lib/dup2.c, lib/exclude.c, lib/fileblocks.c, lib/filemode.c,
14058         lib/fnmatch.c, lib/fnmtahc_loop.c, lib/fopen-safer.c, lib/fsusage.c,
14059         lib/fsusage.h, lib/ftruncate.c, lib/full-write.c, lib/getdate.y,
14060         lib/getloadavg.c, lib/getugroups.c, lib/hard-locale.c,
14061         lib/hard-locale.h, lib/hash.c, lib/human.c, lib/human.h, lib/lchown.c,
14062         lib/lchown.h, lib/makepath.c, lib/makepath.h, lib/md5.c, lib/md5.h,
14063         lib/memchr.c, lib/memcoll.c, lib/memrchr.c, lib/modechange.c,
14064         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
14065         lib/posixtm.c, lib/putenv.c, quotearg.c, lib/quotearg.h,
14066         lib/readtokens.c, lib/readutmp.c, lib/readutmp.h, lib/rmdir.c,
14067         lib/safe-read.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c,
14068         lib/sig2str.c, lib/stat.c, lib/strtoimax.c, lib/strverscmp.c,
14069         lib/userspec.c, lib/utime.c, lib/version-etc.c., lib/xgethostname.c,
14070         lib/xmemcoll.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtod.h,
14071         lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h, lib/xstrtoumax.c:
14072         Import changes from coreutils.
14073
14074 2004-08-05  Simon Josefsson  <jas@extundo.com>
14075
14076         * m4/strdup.m4: Always run gl_PREREQ_STRDUP, since strdup.h need it.
14077
14078 2004-08-05  Simon Josefsson  <jas@extundo.com>
14079
14080         * m4/getsubopt.m4: New file.
14081
14082 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
14083
14084         Merge from coreutils.
14085
14086         * m4/c-strtod.m4, m4/canonicalize.m4, m4/fcntl-safer.m4:
14087         * m4/getcwd-path-max.m4: New files.
14088
14089         * m4/dos.m4 (gl_AC_DOS): filesystem -> file system renaming.
14090         FILESYSTEM_PREFIX_LEN ->
14091         FILE_SYSTEM_PREFIX_LEN.
14092         FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX ->
14093         FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX.
14094         FILESYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR ->
14095         FILE_SYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR.
14096
14097         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't require gl_AC_DOS, the
14098         prerequisite modules now handle the DOS stuff.
14099         Don't check for unistd.h.
14100
14101 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
14102
14103         Merge from coreutils.
14104
14105         * lib/.gdb-history: Remove; this doesn't belong here.
14106
14107         * lib/c-strtod.c, lib/c-strtod.h, lib/c-strtold.c, lib/cycle-check.c:
14108         * lib/cycle-check.h, lib/dev-ino.h, lib/canonicalize.h:
14109         * lib/canonicalize.c, lib/fcntl-safer.h, lib/fcntl-safer.c:
14110         * lib/getcwd.c: New files.
14111
14112         * lib/dirname.h: Include <stdbool.h>.
14113         (FILE_SYSTEM_PREFIX_LEN): Renamed from FILESYSTEM_PREFIX_LEN,
14114         for consistency with POSIX terminology.  All uses changed.
14115         (IS_ABSOLUTE_FILE_NAME, IS_RELATIVE_FILE_NAME): New macros.
14116         (strip_trailing_slashes): Use bool for booleans.
14117         * lib/stripslash.c (strip_trailing_slashes): Likewise.
14118
14119         * lib/error.c: Work around bug in OpenBSD 3.4 sterror_r: it
14120         sometimes returns a positive errno value even when it succeeds.
14121         (print_errno_message) [!LIBC]: Fall back on strerror if
14122         __strerror_r fails.
14123
14124         * lib/path-concat.c (mempcpy): Don't define if a system header defines
14125         it. Don't include stdio.h, stdlib.h, unistd.h, strdup.h.
14126         (longest_relative_suffix): New function.
14127         (path_concat): Use it.  Assume first argument is not NULL.
14128         Port to DOS.  Omit redundant separators.
14129         Report an error instead of returning NULL.
14130         Use mempcpy instead of memcpy.
14131         (xpath_concat): Remove: not declared or used.
14132
14133         * lib/same.h: Include <stdbool.h>
14134         (same_name): Return bool, not int.
14135         * lib/same.c (same_name): Likewise.
14136         (errno): Don't declare; we assume C89 or better now.
14137
14138         * lib/stat-macros (S_ISCTG, S_ISOFD, S_ISOFL): New macros,
14139         if not already defined.
14140
14141         * lib/xgetcwd.c (errno): Don't declare; we assume C89 or better now.
14142         * lib/dup-safer.c (errno): Likewise.
14143
14144 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
14145
14146         Merge from coreutils.
14147         * modules/c-strtod, modules/c-strtold, modules/canonicalize:
14148         * modules/cycle-check, modules/fcntl-safer, modules/getcwd: New files.
14149         * modules/path-concat: Don't depend on strdup.
14150
14151 2004-08-03  Simon Josefsson  <jas@extundo.com>
14152
14153         * lib/strdup.h: Only use HAVE_DECL_STRDUP if defined.
14154         * lib/progname.h: Don't include stdbool.h.
14155
14156 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
14157
14158         * modules/fatal: Remove, as the "fatal" module wasn't used or working.
14159         * MODULES.html.sh (func_all_modules): Remove fatal.
14160
14161 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
14162
14163         * m4/fatal.m4: Remove, as the "fatal" module wasn't used or working.
14164
14165 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
14166
14167         * lib/fatal.c, fatal.h: Remove as the "fatal" module wasn't used or
14168         working.
14169
14170 2004-08-02  Simon Josefsson  <jas@extundo.com>
14171
14172         * lib/getsubopt.h: New file, with comments from Bruno Haible.
14173         * lib/getsubopt.c: New file, from glibc, but slightly modified based on
14174         suggestions from Paul Eggert <eggert@cs.ucla.edu>.
14175
14176 2004-08-01  Simon Josefsson  <jas@extundo.com>
14177
14178         * lib/xgetdomainname.c: Include stdlib.h, for free().
14179
14180 2004-07-19  Bruno Haible  <bruno@clisp.org>
14181
14182         * MODULES.html.sh (func_all_modules): Add dummy.
14183
14184 2004-07-16  Simon Josefsson  <jas@extundo.com>
14185
14186         * modules/dummy: New file.
14187
14188 2004-07-16  Simon Josefsson  <jas@extundo.com>
14189
14190         * lib/dummy.c: New file.
14191
14192 2004-07-16  Bruno Haible  <bruno@clisp.org>
14193
14194         * lib/backupfile.h: Add extern "C" for C++.
14195         * lib/closeout.h: Likewise.
14196         * lib/copy-file.h: Likewise.
14197         * lib/findprog.h: Likewise.
14198         * lib/full-write.h: Likewise.
14199         * lib/pathname.h: Likewise.
14200         * lib/progname.h: Likewise.
14201         * lib/stpcpy.h: Likewise.
14202         * lib/stpncpy.h: Likewise.
14203         * lib/strcase.h: Likewise.
14204         * lib/strstr.h: Likewise.
14205         * lib/xalloc.h: Likewise.
14206
14207         * lib/mbswidth.h: Add extern "C" for C++.
14208         Reported by Albert Chin-A-Young <china@thewrittenword.com>.
14209
14210 2004-07-13  Robert Millan  <robertmh@gnu.org>
14211
14212         * m4/host-os.m4: s/KNetBSD/kNetBSD/g and s/KFreeBSD/kFreeBSD/g.
14213
14214 2004-07-09  Simon Josefsson  <jas@extundo.com>
14215
14216         * lib/getndelim2.c: Include stddef.h, for ptrdiff_t.  (FreeBSD 4.9
14217         failed without this.)
14218
14219 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
14220
14221         * modules/chown (Files): Add lib/fchown-stub.c, since
14222         gl_PREREQ_CHOWN invokes AC_LIBOBJ(fchown-stub).
14223
14224 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
14225
14226         * lib/fchown-stub.c: New file.
14227
14228 2004-06-24  Jim Meyering  <jim@meyering.net>
14229
14230         * lib/obstack.h (obstack_base): Cast to (void *), per documentation.
14231
14232 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
14233
14234         * modules/argz: Omit "#include".
14235
14236         * MODULES.html.sh (func_all_modules): Add calloc, to match
14237         2004-06-01 addition of calloc module.
14238
14239 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
14240
14241         * m4/argz.m4: New file, which is autoupdated from libtool.
14242
14243 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
14244
14245         * lib/argz.c, lib/argz_.h: New files, which are autoupdated from
14246         libtool.
14247
14248 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
14249
14250         * config/srclist-update: Don't insist on "USA." before the
14251         close-comment, as libtool omits the period and puts the */ on a
14252         separate line.
14253         * config/srclist.txt: Add argz.c, argz_.h, argz.m4.
14254         * config/srclistvars.sh: Add LIBTOOL (for eggert only).
14255
14256 2004-06-22  Gary V. Vaughan  <gary@gnu.org>
14257
14258         * modules/argz: New file.
14259         * MODULES.html.sh (func_all_modules): Add argz.
14260
14261 2004-06-12  Jim Meyering  <jim@meyering.net>
14262         and  Paul Eggert  <eggert@cs.ucla.edu>
14263
14264         * modules/hash (Files): Add lib/xalloc.h.
14265         * modules/pipe (Depends-on): Add wait-process.
14266         * modules/stat (Depends-on): Add xalloc.
14267         * modules/userspec (Files): Add lib/userspec.h.
14268         * modules/xstrto
14269
14270         Upgrade from gettext-0.13.
14271         * modules/gettext (Files): Add m4/intmax.m4, m4/longdouble.m4,
14272         m4/longlong.m4, m4/printf-posix.m4, m4/signed.m4, m4/size_max.m4,
14273         m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4.
14274
14275 2004-06-10  Jim Meyering  <jim@meyering.net>
14276
14277         * lib/calloc.c: New file.
14278
14279 2004-06-06  Paul Eggert  <eggert@cs.ucla.edu>
14280
14281         * lib/getdate.y (yylex): Allow space between sign and number.
14282         Problem reported by Dan Jacobson.
14283
14284 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
14285
14286         Merge from coreutils CVS.
14287
14288         * m4/backupfile.m4, dirname.m4, human.m4, inttypes.m4, longlong.m4,
14289         makepath.m4, memchr.m4, memcmp.m4, mountlist.m4, path-concat.m4,
14290         putenv.m4, quotearg.m4, readutmp.m4, strtoimax.m4, strtoll.m4,
14291         strtoull.m4, strtoumax.m4, ulonglong.m4, vasnprintf.m4,
14292         xstrtol.m4: Fix copyright date and/or serial number.
14293
14294         * m4/chown.m4 (gl_PREREQ_CHOWN): Check for fcntl.h.
14295         See if we need an fchown replacement.
14296         (gl_FUNC_CHOWN_FOLLOWS_SYMLINK): New macro.
14297         (gl_FUNC_CHOWN): Require gl_FUNC_CHOWN_FOLLOWS_SYMLINK,
14298         and use the replacement function if we detect either defect.
14299
14300         * m4/prereq.m4 (gl_PREREQ): Add gl_ALLOCSA, gl_CLOEXEC, gl_INTTOSTR,
14301         gl_UTIMECMP.
14302
14303 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
14304         and  Jim Meyering  <jim@meyering.net>
14305
14306         Merge from coreutils CVS.
14307
14308         * lib/stat-macros.h: New file, with contents from file-type.h
14309         and coreutils' system.h.
14310         * lib/file-type.c: Include "stat-macros.h".
14311         * lib/file-type.h (file_type): Move all macro definitions to new file,
14312         stat-macros.h.
14313
14314         * lib/chown.c (rpl_chown) [CHOWN_FAILS_TO_HONOR_ID_OF_NEGATIVE_ONE]:
14315         Wrap old code with this conditional.
14316         [CHOWN_MODIFIES_SYMLINK]: Try to work around a chown
14317         function that does not dereference symlinks.
14318         * lib/lchown.c (lchown) [CHOWN_MODIFIES_SYMLINK]: Just call chown.
14319
14320         * lib/xreadlink.c: Include xreadlink.h first, to catch .h file
14321         dependency problems.
14322         (xreadlink): Accept new arg SIZE, for efficiency.
14323         All decls and uses changed.
14324         * lib/xreadlink.h: Include <stddef.h>, for size_t.
14325
14326         * lib/.cppi-disable: Add alloca_.h, allocsa.h, exit.h, getndelim2.h,
14327         gettext.h, localcharset.h, strdup.h, strndup.h, strtoul.c, time_r.h.
14328
14329         * lib/.cvsignore: Add alloca.h, fnmatch.h, poll.h, stdbool.h,
14330         sysexits.h.
14331
14332 2004-06-01  Jim Meyering  <jim@meyering.net>
14333
14334         * m4/calloc.m4: New file.
14335
14336 2004-05-31  Paul Eggert  <eggert@cs.ucla.edu>
14337
14338         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Detect _Bool bug in HP aC++/ANSI
14339         C B3910B A.05.55 [Dec 04 2003].  Problem reported by Jim Meyering.
14340         Also, fix a typo in a diagnostic.
14341
14342 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
14343
14344         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Do not require AC_FUNC_MALLOC
14345         or AC_FUNC_REALLOC.
14346
14347 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
14348
14349         * lib/xmalloc.c (HAVE_MALLOC, HAVE_REALLOC): Do not require these
14350         macros to be defined.
14351         (xnmalloc_inline, xnrealloc_inline, xcalloc): Do not die if
14352         the allocator returns NULL because the requested size is zero.
14353
14354 2004-05-20  Paul Eggert  <eggert@cs.ucla.edu>
14355
14356         * lib/malloc/obstack.c (_obstack) [defined _LIBC]: Bring back this
14357         var.  Add comment explaining why libc still defines it.  This
14358         merges the following patch from glibc:
14359         http://sources.redhat.com/ml/libc-alpha/2004-05/msg00157.html
14360
14361 2004-05-20  Andreas Schwab  <schwab@suse.de>
14362
14363         * m4/free.m4: Replace free if it not known to work, not the other
14364         way round.
14365
14366 2004-05-19  Paul Eggert  <eggert@cs.ucla.edu>
14367
14368         * lib/obstack.c (_obstack): Remove unused variable.  It hasn't been
14369         present in glibc since revision 1.1 of this file.
14370         * lib/obstack.h (_obstack_free, obstack_1grow, obstack_1grow_fast,
14371         obstack_alignment_mask, obstack_alloc, obstack_base,
14372         obstack_blank, obstack_blank_fast, obstack_chunk_size,
14373         obstack_copy, obstack_copy0, obstack_finish, obstack_grow,
14374         obstack_grow0, obstack_init, obstack_int_grow,
14375         obstack_int_grow_fast, obstack_make_room, obstack_memory_used,
14376         obstack_next_free, obstack_object_size, obstack_ptr_grow,
14377         obstack_ptr_grow_fast, obstack_room): Remove declarations of
14378         nonexistent functions.
14379
14380 2004-05-18  Karl Berry  <karl@gnu.org>
14381
14382         * config/srclist.txt: break link for vasnprintf.c.
14383
14384 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
14385
14386         Port obstack to the AS/400, where pointers are 16 bytes wide and
14387         you cannot cast an integer to a valid pointer.  This patch is
14388         currently waiting to be integrated into glibc; see
14389         <http://sources.redhat.com/ml/libc-alpha/2004-05/msg00073.html>.
14390
14391         * lib/obstack.h (__PTR_TO_INT, __INT_TO_PTR): Remove.
14392         All uses of __INT_TO_PTR (PTR_TO_INT ...) replaced by __PTR_ALIGN.
14393         (__BPTR_ALIGN, __PTR_ALIGN): New macros.
14394         (struct obstack): temp member is now a union of a pointer and
14395         an integer, instead of an integer.  All integer uses changed.
14396         This does not affect the physical layout of struct obstack,
14397         except on hosts (like the AS/400) where the size or alignment of
14398         void * is greater than that of ptrdiff_t.
14399         (obstack_finish) [! (defined __GNUC__ && defined __STDC__ &&
14400         __STDC__)]: Store temporary in pointer member of union, not
14401         integer member.
14402         * lib/obstack.c: Include <stddef.h>, for offsetof.
14403         (struct fooalign): Remove; it doesn't need a name.
14404         (union fooround): Change double to long double, and add void *.
14405         (DEFAULT_ALIGNMENT): Use offsetof to compute.
14406         (DEFAULT_ALIGNMENT, DEFAULT_ROUNDING): Now an enum constant,
14407         not a macro.  Hence the values are always int; so remove all
14408         casts-to-int in uses.
14409
14410 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
14411
14412         * config/srclist.txt: Break link for argp-help.c and argp-parse.c until
14413         we can get this patch merged into glibc.
14414
14415 2004-05-17  Derek R. Price  <derek@ximbiot.com>
14416             Paul Eggert  <eggert@cs.ucla.edu>
14417
14418         * m4/argp: Depend on alloca.
14419
14420 2004-05-17  Derek R. Price  <derek@ximbiot.com>
14421             Paul Eggert  <eggert@cs.ucla.edu>
14422
14423         * lib/argp-help.c, argp-parse.c: Assume <alloca.h> rather than
14424         freecoding.
14425
14426 2004-05-17  Bruno Haible  <bruno@clisp.org>
14427
14428         * lib/vasnprintf.c (VASNPRINTF): Correctly handle the case of a
14429         precision that consists of a '.' followed by an empty digit string.
14430         Patch by Tor Lillqvist <tml@iki.fi>.
14431
14432 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
14433
14434         * m4/alloca.m4 (gl_FUNC_ALLOCA): Define HAVE_ALLOCA_H always,
14435         for backward compatibility with older code.  We need our own
14436         alloca.h if _AIX is defined.  Define HAVE_ALLOCA if we discover
14437         it under some other name, and our alloca.h will define it.
14438
14439 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
14440             Derek Price  <derek@ximbiot.com>
14441
14442         * lib/alloca.c: Include <alloca.h>, to get our interface.
14443         * lib/alloca_.h: Use __alloca on AIX, so that we don't have to
14444         include <alloca.h> first.  Use C89 prototype for alloca; this
14445         requires including <stddef.h> for size_t.  Use extern "C" if C++.
14446         Use #elif for simplicity, since we can assume C89 now.
14447         Don't try to source the system alloca.h since it will not be found
14448         and to prevent recursively including its replacement.
14449         * lib/fnmatch.c: Include <alloca.h> instead of opencoding.
14450         * lib/regex.c: Likewise.
14451
14452 2004-05-16  Derek Price  <derek@ximbiot.com>
14453             Paul Eggert  <eggert@cs.ucla.edu>
14454
14455         getline cleanup.  This changes the getndelim2 API: both order of
14456         arguments, and meaning of delim2 (now uses EOF, not 0, to indicate
14457         no delimiter).
14458
14459         * lib/getline.c: Don't include stddef.h or stdio.h, since our
14460         interface does that.
14461         (getline): Always use getdelim, so that we don't have two
14462         copies of this code.
14463         * lib/getndelim2.c: Include <limits.h>, <inttypes.h>, <stdint.h>
14464         if available.
14465         (PTRDIFF_MAX, SIZE_MAX, SSIZE_MAX): Define if not defined.
14466         (GETNDELIM2_MAXIMUM): New macro.
14467         (getndelim2): Reorder arguments.  delim==EOF now means no delimiter,
14468         instead of the old practice of delim2==0.  All callers changed.
14469         Return -1 on overflow, instead of returning junk.
14470         Do not set *linesize unless allocation succeeds.
14471         * lib/getndelim2.h: Do not include stddef.h; no longer needed, now
14472         that we include sys/types.h.
14473         * lib/getnline.h: Likewise.
14474         * lib/getndelim2.h (GETNLINE_NO_LIMIT): New macro.
14475         (getndelim2): Reorder arguments.
14476         * lib/getnline.c (getnline, getndelim):
14477         Don't discard the NMAX argument.
14478         (getnline): Invoke getndelim, to avoid code duplication.
14479         * lib/getnline.h (GETNLINE_NO_LIMIT): New macro, used instead
14480         of (size_t) -1 by callers of the getnline family.
14481
14482 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
14483
14484         * m4/gettime.m4 (gl_GETTIME): Require gl_TIMESPEC.
14485         Check for gettimeofday.
14486         * m4/settime.m4 (gl_SETTIME): Require gl_TIMESPEC.
14487         Check for settimeofday, stime.
14488
14489 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
14490
14491         * lib/nanosleep.c (suspended): Change its type from int to
14492         sig_atomic_t volatile.
14493         (first_call): Make it private to rpl_nanosleep, and have it
14494         be zero initially as that's a bit faster.
14495         (my_usleep): Round up fractional times instead of truncating them,
14496         as this is the usual meaning for 'sleep'.
14497
14498         * lib/gettime.c (gettime): Fall back on `time' if `gettimeofday'
14499         doesn't work.
14500         * lib/settime.c: Include <unistd.h>, for stime (on Solaris 8, anyway).
14501         (ENOSYS): Define if not defined.
14502         (settime): Fall back on stime if it exists and settimeofday fails.
14503         But don't bother with fallbacks if a method fails with errno == EPERM.
14504
14505 2004-05-11  Jim Meyering  <jim@meyering.net>
14506
14507         Prior to this change, the save_cwd caller required read access to the
14508         current directory on most systems (ones with the fchdir function).
14509
14510         * lib/save-cwd.c (save_cwd) [HAVE_FCHDIR]: If opening `.' read-only
14511         fails, try write-only, and finally, resort to using xgetcwd.
14512
14513 2004-05-06  Paul Eggert  <eggert@cs.ucla.edu>
14514
14515         * lib/obstack.c, obstack.h: Import changes from libc.
14516
14517 2004-04-28  Bruno Haible  <bruno@clisp.org>
14518
14519         * lib/findprog.c (find_in_path): Treat Cygwin like Windows, since it
14520         also implicitly appends .exe to executables.
14521         * lib/localcharset.c (ISSLASH): Treat Cygwin like Windows, since it now
14522         accepts Windows pathnames.
14523         * lib/pathname.h (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
14524         Treat Cygwin like Windows, since it now accepts Windows pathnames.
14525         * lib/progreloc.c (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
14526         Treat Cygwin like Windows, since it now accepts Windows pathnames.
14527         Reported by Derek Robert Price <derek@ximbiot.com>.
14528
14529 2004-04-21  Karl Berry  <karl@gnu.org>
14530
14531         * config/srclist.txt (localcharset.c): break sync.
14532
14533 2004-04-20  Paul Eggert  <eggert@twinsun.com>
14534
14535         * m4/host-os.m4: Add a copyright notice.
14536
14537 2004-04-20  Jim Meyering  <jim@meyering.net>
14538
14539         Change UTILS_ to gl_ in AC_DEFINE'd names.
14540         Change utils_- and jm_-prefixed variables, too.
14541         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Renamed from
14542         UTILS_FUNC_MKDIR_TRAILING_SLASH.
14543         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Renamed from UTILS_FUNC_MKSTEP.
14544
14545         * m4/dirfd.m4 (gl_FUNC_DIRFD): Rename from UTILS_FUNC_DIRFD.
14546         Don't emit trailing blanks.
14547         Also rename jm_-prefixed variables to have gl_ prefix.
14548
14549         * m4/host-os.m4 (gl_HOST_OS): Rename from UTILS_HOST_OS.
14550         Also rename jm_-prefixed variables to have gl_ prefix.
14551
14552         * m4/jm-macros.m4: Reflect the renamings.
14553         * m4/prereq.m4: Likewise.
14554
14555 2004-04-20  Jim Meyering  <jim@meyering.net>
14556
14557         * lib/getndelim2.c (getndelim2): Upon realloc failure, don't leak
14558         memory.
14559
14560 2004-04-20  Jim Meyering  <jim@meyering.net>
14561             Bruno Haible  <bruno@clisp.org>
14562
14563         * lib/localcharset.c (get_charset_aliases) [!VMS && !WIN32]: Don't leak
14564         memory when realloc fails.
14565
14566 2004-04-19  Jim Meyering  <jim@meyering.net>
14567
14568         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Require gl_FUNC_FREE,
14569         now that readutmp.c may call `free (0)'.
14570
14571 2004-04-19  Bruno Haible  <bruno@clisp.org>
14572
14573         * m4/mbrtowc.m4: Change jm_ to gl_ in cache variables as well.
14574         * m4/inttypes_h.m4: Likewise.
14575         * m4/stdint_h.m4: Likewise.
14576         * m4/intmax_t.m4: Likewise.
14577         * m4/uintmax_t.m4: Likewise.
14578
14579 2004-04-18  Jim Meyering  <jim@meyering.net>
14580
14581         * m4/prereq.m4: Don't forbid jm_ prefix.
14582
14583         * m4/afs.m4, m4/allocsa.m4, m4/assert.m4, m4/backupfile.m4:
14584         * m4/bison.m4, m4/check-decl.m4, m4/chown.m4, m4/d-ino.m4:
14585         * m4/d-type.m4, m4/dirname.m4, m4/dos.m4, m4/error.m4, m4/fpending.m4:
14586         * m4/fstypename.m4, m4/fsusage.m4, m4/ftruncate.m4, m4/getdate.m4:
14587         * m4/getgroups.m4, m4/gettext.m4, m4/glibc21.m4, m4/group-member.m4:
14588         * m4/human.m4, m4/intmax.m4, m4/intmax_t.m4, m4/inttostr.m4:
14589         * m4/inttypes.m4, m4/inttypes_h.m4, m4/jm-macros.m4, m4/jm-winsz1.m4:
14590         * m4/jm-winsz2.m4, m4/lchown.m4, m4/lib-check.m4, m4/link-follow.m4:
14591         * m4/localcharset.m4, m4/longlong.m4, m4/ls-mntd-fs.m4, m4/lstat.m4:
14592         * m4/makepath.m4, m4/mbrtowc.m4, m4/mbswidth.m4, m4/memchr.m4:
14593         * m4/memcmp.m4, m4/mkdtemp.m4, m4/mkstemp.m4, m4/mountlist.m4:
14594         * m4/nanosleep.m4, m4/path-concat.m4, m4/perl.m4, m4/prereq.m4:
14595         * m4/putenv.m4, m4/quotearg.m4, m4/regex.m4, m4/stat.m4:
14596         * m4/stdint_h.m4, m4/strftime.m4, m4/strtoimax.m4, m4/strtoll.m4:
14597         * m4/strtoull.m4, m4/strtoumax.m4, m4/timespec.m4, m4/uintmax_t.m4:
14598         * m4/ulonglong.m4, m4/unlink-busy.m4, m4/unlocked-io.m4, m4/uptime.m4,
14599         * m4/utimbuf.m4, m4/utime.m4, m4/utimes-null.m4, m4/vasnprintf.m4:
14600         * m4/xstrtoimax.m4, m4/xstrtol.m4, m4/xstrtoumax.m4:
14601         Change jm_ to gl_ in AC_DEFINE'd names. Update all uses.
14602
14603 2004-04-18  Jim Meyering  <jim@meyering.net>
14604
14605         * lib/readutmp.c (read_utmp) [UTMP_NAME_FUNCTION]: Upon realloc
14606         failure, don't leak memory and do call END_UTMP_ENT.
14607
14608 2004-04-16  Jim Meyering  <jim@meyering.net>
14609
14610         * m4/prereq.m4 (jm_PREREQ_STAT): Remove macro.  It is specific to
14611         coreutils' stat program.
14612         (gl_PREREQ): Don't require jm_PREREQ_STAT.
14613
14614 2004-04-11  Paul Eggert  <eggert@twinsun.com>
14615
14616         * lib/inttostr.h: Include <limits.h> unconditionally, since we assume
14617         C89.
14618         (CHAR_BIT): Remove, since we assume C89.
14619         Include <stdint.h> if available, as per current Autoconf CVS advice.
14620
14621 2004-03-31  Jim Meyering  <jim@meyering.net>
14622
14623         * m4/prereq.m4: Require AC_FUNC_MALLOC, not jm_FUNC_MALLOC.
14624         Require AC_FUNC_REALLOC, not jm_FUNC_REALLOC.
14625         * m4/xalloc.m4: Likewise.
14626
14627 2004-03-30  Paul Eggert  <eggert@twinsun.com>
14628
14629         Merge from coreutils.
14630
14631         * m4/inttostr.m4: New file.
14632         * m4/getdate.m4 (gl_GETDATE): Remove time-related stuff.
14633         Require AM_STDBOOL_H and gl_TIMESPEC instead.
14634         Require gl_CLOCK_TIME.
14635         * m4/clock_time.m4 (gl_CLOCK_TIME): Require AC_GNU_SOURCE.
14636
14637 2004-03-30  Paul Eggert  <eggert@twinsun.com>
14638
14639         * lib/cloexec.h, cloexec.c (set_cloexec_flag): Return int
14640         not bool, to be more consistent with Unix conventions.
14641         Suggested by Bruno Haible.
14642
14643         Merge from coreutils.
14644
14645         * lib/imaxtostr.c, lib/inttostr.c, lib/inttostr.h, lib/offtostr.c:
14646         * lib/umaxtostr.c: New files.
14647
14648         * lib/getdate.h: Include stdbool.h, and timespec.h instead of
14649         the usual <time.h> dance.
14650         (get_date): Change signature to support fractional time stamps.
14651         All callers changed.
14652         * lib/getdate.y: Include "getdate.h" first, as we can now
14653         assume C89 and don't need to worry about 'const'.
14654         Similarly, include "unlocked-io.h" near start, not in middle.
14655         Include <limits.h>.
14656         (textint.value): Use long int rather than int.
14657         (textint.digits): Use size_t rather than int.
14658         (BILLION, LOG10_BILLION): New constants.
14659         (parser_control): New member rel_ns.  Members day_ordinal,
14660         time_zone, month, day, hour, minutes, rel_year, rel_month,
14661         rel_day, rel_hour, rel_minutes, rel_seconds
14662         are now long int, not int.  Member seconds is now struct timespec,
14663         not int.  New member timespec_seen.  Members dates_seen, days_seen,
14664         local_zones_seen, rels_seen, times_seen, zones_seen are now size_t,
14665         not int.
14666         (%union.intval): Now long int, not int.
14667         New member timespec.
14668         (tSDECIMAL_NUMBER, tUDECIMAL_NUMBER): New tokens.
14669         (seconds, signed_seconds, unsigned_seconds): New nonterminals.
14670         (spec): Now is a timespec or an item list.
14671         (timespec, items): New nonterminals.
14672         (time, rel, relunit, number, get_date):
14673         Add support for fractional seconds.
14674         (time): Fix bug: seconds weren't cleared in "00:00 +0000" syntax.
14675         (gmtime, localtime, mktime): Remove decls; not needed with C89.
14676         (to_hour): First arg is now long int, not int.
14677         (to_year): Returns long int, not int.
14678         Don't treat year -70 like 70.
14679         (tm_diff): Returns long int, not int.
14680         (lookup_word): Use bool instead of int when appropriate.
14681         (yylex): Use size_t for count, not int.
14682         Detect overflow when parsing large integer constants.
14683         Add support for fractions.
14684         (get_date): Make pointers 'const' if possible.
14685         Use more-portable code to detect integer overflow.
14686         (main) [TEST]: Adjust to above changes.  Test for localtime failure.
14687         Don't use ctime; it's not reliable if the year has >4 digits.
14688
14689         * lib/human.c (humblock): Inspect BLOCKSIZE if BLOCK_SIZE isn't set.
14690         This is for compatibility with BSD.
14691
14692         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP): Define.
14693         (ATIME_CMP, CTIME_CMP, MTIME_CMP, TIMESPEC_NS): Likewise.
14694         From coreutils' system.h.
14695
14696         * lib/userspec.c: Don't include "posixver.h".
14697         (parse_user_spec): Fall back on USER.GROUP parsing, regardless
14698         of POSIX version, as POSIX 1003.1-2001 allows that behavior as a
14699         compatible extension.  Simplify code by removing a boolean int
14700         that was always nonzero if a string was nonnull.
14701
14702 2004-03-30  Jim Meyering  <jim@meyering.net>
14703
14704         Merge from coreutils.
14705
14706         Avoid a configure-time warning about sys/ucred.h on OSF V4.0.
14707         * m4/ls-mntd-fs.m4: Test for sys/ucred.h separately, since
14708         on some systems one must include <grp.h> before it.
14709         Reported by Christian Krackowizer.
14710
14711 2004-03-30  Jim Meyering  <jim@meyering.net>
14712
14713         Merge from coreutils.
14714
14715         * lib/mountlist.c [HAVE_SYS_UCRED_H]: Include grp.h before sys/ucred.h.
14716
14717         * lib/readtokens.c (readtoken): Don't leak 64 bytes when reading
14718         an empty input stream.
14719
14720         * lib/readtokens.c: Include <stdbool.h>.
14721         (readtoken): Use `size_t' rather than int/long.
14722         All callers adjusted.
14723         Use `bool' rather than `int' where appropriate.
14724         Use memset rather than an explicit loop.
14725         Use x2nrealloc rather than xrealloc.
14726         Allow the use of `\0' as a delimiter.
14727         (readtokens): Likewise.
14728         * lib/readtokens.h (readtoken, readtokens): Update prototypes.
14729
14730 2004-03-30  Jim Meyering  <jim@meyering.net>
14731
14732         * m4/realloc.m4: Remove file, since now it does no more than
14733         AC_REQUIRE([AC_FUNC_REALLOC]), and that can be done via
14734         the `configure.ac' section of module/realloc.
14735         * m4/malloc.m4: Likewise, but for AC_FUNC_MALLOC.
14736
14737 2004-03-30  Bruno Haible  <bruno@clisp.org>
14738
14739         * lib/getloadavg.c (getloadavg): Don't assume setlocale returns
14740         nonnull.
14741
14742 2004-03-29  Paul Eggert  <eggert@twinsun.com>
14743
14744         Merge changes to getloadavg.c from coreutils and Emacs.
14745
14746         * lib/getloadavg.c [!defined HAVE_SETLOCALE] (setlocale):
14747         Define to an expression, not to the empty string.
14748         Include cloexec.h and xalloc.h.
14749         (getloadavg): Restore LC_NUMERIC locale after setting it temporarily.
14750         Use set_cloexec_flag rather than rolling our own.
14751         * lib/cloexec.c, lib/cloexec.h: New files.
14752
14753 2004-03-29  Paul Eggert  <eggert@twinsun.com>
14754
14755         * m4/cloexec.m4: New file.
14756
14757 2004-03-18  Paul Eggert  <eggert@twinsun.com>
14758
14759         * lib/getopt.h: Sync with libc CVS.
14760
14761 2004-03-18  Paul Eggert  <eggert@twinsun.com>
14762             Bruno Haible  <bruno@clisp.org>
14763
14764         * m4/mbswidth.m4 (gl_MBSWIDTH): Also test whether <wchar.h> declares
14765         mbswidth.
14766
14767 2004-03-18  Paul Eggert  <eggert@twinsun.com>
14768             Bruno Haible  <bruno@clisp.org>
14769
14770         * lib/mbswidth.h: Include <wchar.h> only if
14771         HAVE_DECL_MBSWIDTH_IN_WCHAR_H, not on all platforms that have
14772         <wchar.h>.
14773         * lib/mbswidth.c: Include <stdio.h> and <time.h> before <wchar.h>.
14774
14775 2004-03-09  Paul Eggert  <eggert@twinsun.com>
14776
14777         * lib/argp-parse.c, getopt.c, getopt.h, getopt1.c:
14778         Sync with libc CVS.
14779         * lib/getopt_int.h: New file, also synced from libc.
14780
14781 2004-03-09  Paul Eggert  <eggert@twinsun.com>
14782
14783         * config/srclistvars.sh: Add GNUWWWLICENSES for eggert.
14784         * config/srclist.txt: Sync getopt with libc.  Add getopt_int.h.
14785         Bring back getopt.c, getopt.h, getopt1.c.
14786
14787 2004-03-07  Paul Eggert  <eggert@twinsun.com>
14788
14789         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Renamed from jm_PREREQ_C_STACK.
14790         All uses changed.  Check for sa_sigaction member; this fixes
14791         a bug first reported by Jason Andrade in
14792         <http://mail.gnu.org/archive/html/bug-textutils/2003-03/msg00027.html>.
14793
14794 2004-03-07  Paul Eggert  <eggert@twinsun.com>
14795
14796         * lib/c-stack.c (SIGACTION_WORKS): New macro.  Use it instead of long
14797         '#if' expressions.  Unlike the code it replaces, it does not
14798         depend on (defined _SC_PAGESIZE).  However, it does depend on
14799         HAVE_STRUCT_SIGACTION_SA_SIGACTION; this last change fixes a bug
14800         first reported by Jason Andrade in
14801         <http://mail.gnu.org/archive/html/bug-textutils/2003-03/msg00027.html>.
14802
14803 2004-02-25  Simon Josefsson  <jas@extundo.com>
14804
14805         * m4/strdup.m4 (gl_PREREQ_STRDUP): Check whether strdup is declared.
14806
14807 2004-02-25  Simon Josefsson  <jas@extundo.com>
14808
14809         * lib/strdup.h: New file.
14810         * lib/strdup.c: Include it.
14811         * lib/path-concat.c: Include strdup.h. Drop strdup declaration.
14812         * lib/userspec.c: Include strdup.h. Drop strdup declaration.
14813
14814 2004-02-23  Karl Berry  <karl@gnu.org>
14815
14816         * doc/maintain.texi, doc/standards.texi, doc/make-stds.texi: new files
14817         (from fencepost.gnu.org:/gd/gnuorg).
14818
14819 2004-02-23  Karl Berry  <karl@gnu.org>
14820
14821         * config/srclistvars.sh (GNUORG) [karl]: redefine.
14822         * config/srclist.txt: add maintain/standards documents.
14823
14824 2004-02-18  Bruno Haible  <bruno@clisp.org>
14825
14826         * m4/xsize.m4 (gl_XSIZE): Require AC_C_INLINE.
14827         Reported by Derek Robert Price <derek@ximbiot.com>.
14828
14829 2004-02-16  Karl Berry  <karl@gnu.org>
14830
14831         * config/mkinstalldirs, install-sh: update from automake.
14832
14833 2004-02-06  Karl Berry  <karl@gnu.org>
14834
14835         * m4/po.m4: update from gettext 0.14.1.
14836
14837 2004-02-06  Karl Berry  <karl@gnu.org>
14838
14839         * lib/config.charset: update from gettext 0.14.1.
14840
14841 2004-02-05  Paul Eggert  <eggert@twinsun.com>
14842
14843         Add comments and code, prompted by suggestions from Bruno Haible
14844         for sh-quote.
14845         * lib/quotearg.h (quotearg_alloc): New decl.  Improve the comments
14846         describing the enum quoting_style values.
14847         * lib/quotearg.c (quotearg_alloc): New function.
14848         (quotearg_buffer_restyled): Treat lone { and } as special.
14849         Treat = as special.  Work around bug with older shells
14850         that "see" a '\' that is really the 2nd byte of a multibyte char.
14851         Quote empty string with shell_quoting_style.
14852
14853 2004-02-03  Bruno Haible  <bruno@clisp.org>
14854
14855         * m4/pipe.m4: New file, from GNU gettext.
14856
14857 2004-02-03  Bruno Haible  <bruno@clisp.org>
14858
14859         * lib/pipe.h: New file, from GNU gettext.
14860         * lib/pipe.c: New file, from GNU gettext.
14861
14862 2004-01-27  Bruno Haible  <bruno@clisp.org>
14863
14864         * m4/execute.m4: New file, from GNU gettext.
14865
14866 2004-01-27  Bruno Haible  <bruno@clisp.org>
14867
14868         * lib/execute.h: New file, from GNU gettext.
14869         * lib/execute.c: New file, from GNU gettext.
14870         * lib/w32spawn.h: New file, from GNU gettext.
14871
14872 2004-01-24  Paul Eggert  <eggert@twinsun.com>
14873
14874         Merge from diffutils.
14875
14876         * lib/file-type.c (file_type): Add typed memory objects.
14877         * lib/file-type.h (S_TYPEISTMO): New macro.
14878
14879         * lib/c-stack.h (c_stack_action): Remove argv argument.
14880         * lib/c-stack.c (c_stack_action): Likewise.  All uses changed.
14881         (die): Don't calculate message unless segv_action returns.
14882         (get_stack_location, min_address_from_argv, max_address_from_argv,
14883         volatile stack_base, volatile_stack_size): Remove.
14884         (segv_handler): If ! HAVE_XSI_STACK_OVERFLOW_HEURISTIC, assume
14885         that every segmentation violation is a stack overflow.  (Ouch!)
14886         See Debian bug 136249 (still outstanding) for more info about why
14887         HAVE_XSI_STACK_OVERFLOW_HEURISTIC fails on Linux kernels.
14888
14889 2004-01-24  Paul Eggert  <eggert@twinsun.com>
14890
14891         Exit-status fix from coreutils.
14892
14893         Use exit_failure consistently in place of EXIT_FAILURE,
14894         so that program exit statuses are consistent on failure.
14895
14896         * lib/argmatch.c (ARGMATCH_DIE) [! defined ARGMATCH_DIE]:
14897         Include "exitfail.h", and use exit_failure rather than EXIT_FAILURE.
14898         * lib/argmatch.h: Comment fix to match the above.
14899         * lib/obstack.c (obstack_exit_failure) [!defined _LIBC]:
14900         Now a macro referring to exit_failure, instead of a separate
14901         variable.  Include "exitfail.h" to get it.
14902         * lib/xstrtol.h: Include "exitfail.h".
14903         (STRTOL_FATAL_ERROR): Exit with status exit_failure, not 2.
14904
14905         * lib/long-options.c (parse_long_options): Use prototype
14906         for usage function arg.  Pass it EXIT_SUCCESS rather than 0,
14907         for clarity.
14908
14909 2004-01-21  Jim Meyering  <jim@meyering.net>
14910
14911         * lib/mktime.c (__mktime_internal) [!_LIBC]: Define to mktime_internal
14912         so as not to conflict with a different-sized __mktime_internal
14913         function in GNU libc.
14914         * lib/timegm.c (__mktime_internal) [!_LIBC]: Likewise.
14915         Problem building statically-linked `ls' reported by Michael Brunnbauer.
14916
14917 2004-01-20  Karl Berry  <karl@gnu.org>
14918
14919         * config/config.guess: update from config.
14920
14921         * config/srclistvars.sh: GNUWWWLICENSES for karl.
14922
14923 2004-01-20  Bruno Haible  <bruno@clisp.org>
14924
14925         Safer stack allocation.
14926         * lib/setenv.c: Include allocsa.h.
14927         (alloca): Remove fallback definition.
14928         (freea): Remove macro.
14929         (__add_to_environ) [!_LIBC]: Use allocsa instead of alloca. Use freesa
14930         instead of freea.
14931
14932 2004-01-20  Bruno Haible  <bruno@clisp.org>
14933
14934         * m4/eealloc.m4: New file, from GNU gettext.
14935
14936 2004-01-20  Bruno Haible  <bruno@clisp.org>
14937
14938         * m4/allocsa.m4: New file, from GNU gettext.
14939
14940 2004-01-20  Bruno Haible  <bruno@clisp.org>
14941
14942         * lib/xallocsa.h: New file, from GNU gettext.
14943         * lib/xallocsa.c: New file, from GNU gettext.
14944
14945 2004-01-20  Bruno Haible  <bruno@clisp.org>
14946
14947         * lib/wait-process.c: On Windows, include windows.h. Needed on mingw.
14948
14949 2004-01-20  Bruno Haible  <bruno@clisp.org>
14950
14951         * lib/wait-process.c (wait_subprocess): Add ignore_sigpipe argument.
14952         * lib/wait-process.c (wait_subprocess): Likewise. Handle SIGPIPE
14953         specially.
14954
14955 2004-01-20  Bruno Haible  <bruno@clisp.org>
14956
14957         * lib/wait-process.c (wait_process): Disable the 2003-10-31 waitid()
14958         patch.
14959
14960 2004-01-20  Bruno Haible  <bruno@clisp.org>
14961
14962         * lib/wait-process.c (cleanup_slaves): Use ANSI C declaration.
14963
14964 2004-01-20  Bruno Haible  <bruno@clisp.org>
14965
14966         * lib/eealloc.h: New file.
14967
14968 2004-01-20  Bruno Haible  <bruno@clisp.org>
14969
14970         * lib/binary-io.h: Avoid warnings on Cygwin.
14971
14972 2004-01-20  Bruno Haible  <bruno@clisp.org>
14973
14974         * lib/allocsa.h: New file, from GNU gettext.
14975         * lib/allocsa.c: New file, from GNU gettext.
14976
14977 2004-01-18  Karl Berry  <karl@gnu.org>
14978
14979         * doc/gpl.texi, doc/lgpl.texi: new files.
14980
14981 2004-01-18  Karl Berry  <karl@gnu.org>
14982
14983         * config/srclistvars.sh (GNUWWWLICENSES): new variable.
14984         * config/srclist.txt ({fdl,gpl,lgpl}.text): get from there.
14985
14986 2004-01-15  Paul Eggert  <eggert@twinsun.com>
14987
14988         Merge from coreutils.
14989
14990         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for uintptr_t.
14991         * m4/posixver.m4 (gl_POSIXVER): Require gl_DEFAULT_POSIX2_VERSION.
14992         (gl_DEFAULT_POSIX2_VERSION): Move
14993         the documentation from 'configure' into 'config.hin',
14994         so that 'configure --help' isn't burdened by it and
14995         we don't have to worry about its formatting there.
14996         Reword the documentation so that it's more succinct
14997         and can be run together into a single paragraph.
14998         * m4/same.m4 (gl_SAME): Check for pathconf.
14999
15000 2004-01-15  Paul Eggert  <eggert@twinsun.com>
15001
15002         Merge from coreutils.
15003
15004         * lib/posixver.c: Include posixver.h.
15005
15006         * lib/same.c: Include <stdbool.h>, <limits.h>.
15007         (_POSIX_NAME_MAX): Define if not defined.
15008         (MIN): New macro.
15009         (same_name): If file names are silently truncated, report
15010         that the file names are the same if they are the same after
15011         the silent truncation.
15012
15013         * lib/xstrtod.h (xstrtod): Accept an extra arg, specifying the
15014         conversion function.
15015         * lib/xstrtod.c (xstrtod): Likewise.  All callers changed to
15016         include c-strtod.h and use c_strtod.  Don't include stdlib.h; no
15017         longer needed.
15018
15019 2004-01-15  Jim Meyering  <jim@meyering.net>
15020
15021         Merge from coreutils.
15022
15023         * m4/clock_time.m4 (gl_CLOCK_TIME): Don't set LIB_CLOCK_GETTIME
15024         if no library is required.
15025         * m4/jm-macros.m4: Don't require UTILS_SYS_OPEN_MAX.
15026         * m4/jm-macros.m4 (jm_MACROS): Require gl_FUNC_FREE.
15027         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.58.
15028         (AC_LANG_SOURCE): Remove definition, now that we require autoconf-2.58.
15029         * m4/jm-macros.m4 (jm_MACROS): Don't require AC_FUNC_FTW.
15030         * m4/lib-check.m4 (jm_LIB_CHECK): Do not set LIB_CRYPT to the
15031         value, $ac_cv_search_crypt, if it's "none required".
15032         * m4/posixver.m4 (gl_DEFAULT_POSIX2_VERSION): New macro.
15033         * m4/prereq.m4 (jm_PREREQ): Require AC_FUNC_GETLOADAVG,
15034         not gl_FUNC_GETLOADAVG.
15035         * m4/prereq.m4 (jm_PREREQ): Require gl_READTOKENS, gl_MD5, gl_MAKEPATH,
15036         gl_LONG_OPTIONS, and gl_IDCACHE, gl_GETUGROUPS.
15037
15038 2004-01-15  Jim Meyering  <jim@meyering.net>
15039
15040         Merge from coreutils.
15041
15042         * lib/md5.h (rol) [__GNUC__ && __i386__]: Don't use `asm' code.  These
15043         days, gcc-3.x does better all by itself.  Patch from Dean Gaudet:
15044         http://mail.gnu.org/archive/html/bug-coreutils/2003-11/msg00144.html
15045
15046         * lib/posixver.c (DEFAULT_POSIX2_VERSION): Use definition of new,
15047         optional configure-time default.
15048
15049         * lib/version-etc.c (version_etc_copyright): Update copyright date.
15050
15051         * lib/xreadlink.c (xreadlink): Correct outdated comment.
15052
15053 2004-01-15  Alexandre Duret-Lutz  <adl@gnu.org>
15054
15055         Merge from coreutils.
15056
15057         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Do not set LIB_NANOSLEEP to the
15058         value, $ac_cv_search_nanosleep, if it's "none required".
15059
15060 2004-01-14  Paul Eggert  <eggert@twinsun.com>
15061
15062         * lib/fnmatch_loop.c (ALLOCA_LIMIT): Remove macro, which collided
15063         with like-named macro in fnmatch.c.
15064         (EXT): Use an internal constant instead.
15065
15066         Merge fnmatch patches from glibc.
15067         * lib/fnmatch.c (mbsinit): Remove define.
15068         Add libc_hidden_ver (__fnmatch, fnmatch).
15069         * lib/fnmatch_loop.c (FCT): Cast to int32_t and UCHAR when appropriate.
15070         Adjust to renaming of collseq_table_lookup to __collseq_table_lookup.
15071
15072 2004-01-14  Karl Berry  <karl@gnu.org>
15073
15074         * config/install-sh: update from automake.
15075
15076 2004-01-13  Karl Berry  <karl@gnu.org>
15077
15078         * config/install-sh: update from automake.
15079
15080 2004-01-09  Karl Berry  <karl@gnu.org>
15081
15082         * config/install-sh: update from automake.
15083
15084 2004-01-05  Karl Berry  <karl@gnu.org>
15085
15086         * config/config.{sub,guess}: update from config.
15087
15088 2003-12-31  Karl Berry  <karl@gnu.org>
15089
15090         * config/depcomp: update from automake.
15091
15092 2003-12-14  Karl Berry  <karl@gnu.org>
15093
15094         * lib/config.charset: update from gettext-runtime.
15095
15096 2003-12-03  Paul Eggert  <eggert@twinsun.com>
15097
15098         * lib/getgroups.c (getgroups): xmalloc takes one argument, not two.
15099         Bug reported by Alfred M. Szmidt.
15100
15101 2003-12-03  Bruno Haible  <bruno@clisp.org>
15102
15103         * m4/gettext.m4: Upgrade from gettext-0.13.
15104         * m4/po.m4: Upgrade from gettext-0.13.
15105         * m4/size_max.m4 (gl_SIZE_MAX): Don't use the _ONCE macros here.
15106         * m4/intmax.m4: New file, from gettext-0.13.
15107         * m4/printf-posix.m4: New file, from gettext-0.13.
15108
15109 2003-11-29  Karl Berry  <karl@gnu.org>
15110
15111         * lib/argp-{help.c,parse.c,namefrob.h}, argp.h: update from libc.
15112
15113 2003-11-25  Paul Eggert  <eggert@twinsun.com>
15114             Bruno Haible  <bruno@clisp.org>
15115
15116         * lib/printf-parse.h: Don't include sys/types.h.
15117         (ARG_NONE): New macro.
15118         (char_directive): Change type of *arg_index fields to size_t.
15119         * lib/printf-parse.c: Don't include sys/types.h.
15120         (SSIZE_MAX): Remove macro.
15121         (PRINTF_PARSE): Change the type of the arg_index variables to size_t.
15122         Remove unnecessary overflow check.
15123         * lib/vasnprintf.c (VASNPRINTF): Update for type change of *arg_index
15124         fields.
15125
15126 2003-11-25  Bruno Haible  <bruno@clisp.org>
15127
15128         * modules/vasnprintf (Files): Remove m4/ssize_t.m4.
15129
15130 2003-11-25  Bruno Haible  <bruno@clisp.org>
15131
15132         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Don't require
15133         gt_TYPE_SSIZE_T.
15134
15135 2003-11-24  Paul Eggert  <eggert@twinsun.com>
15136
15137         * modules/alloca: Remove dependency on xalloc.
15138
15139 2003-11-24  Paul Eggert  <eggert@twinsun.com>
15140
15141         * lib/alloca.c: Remove dependency on xalloc module.
15142         (xalloc_die): Remove.
15143         (memory_full) [!defined emacs]: New macro.
15144         [!defined emacs]: Don't include xalloc.h.
15145         (alloca): Invoke memory_full, not xalloc_die, if malloc fails or
15146         address arithmetic overflows.  Change datatypes a bit to avoid
15147         unnecessary casts.
15148
15149 2003-11-22  Jim Meyering  <jim@meyering.net>
15150
15151         * lib/xmalloc.c (x2nrealloc_inline): Fix typos in comments:
15152         s/size/size_t/.
15153
15154 2003-11-21  Karl Berry  <karl@gnu.org>
15155
15156         * config/config.{sub,guess}: update from config.
15157
15158 2003-11-18  Karl Berry  <karl@gnu.org>
15159
15160         * config/config.{sub,guess}: update from config.
15161
15162         * config/(printf-{parse,args}.[ch]): sync broken, sigh.
15163
15164 2003-11-17  Paul Eggert  <eggert@twinsun.com>
15165
15166         * README: Mention that S+T cannot overflow if S is the size of
15167         an existing object and T is sufficiently small.
15168
15169 2003-11-17  Jim Meyering  <jim@meyering.net>
15170
15171         On systems without utime and without a utimes function capable of
15172         dealing with a NULL struct utimbuf* argument, this utime replacement
15173         could -- in unusual circumstances -- leak a file descriptor.
15174         * lib/utime.c: Include <unistd.h> and <errno.h>.
15175         (utime_null): Be sure to close `fd' and to preserve errno.
15176         Reported by Geoff Collyer via Arnold Robbins.
15177
15178 2003-11-17  Bruno Haible  <bruno@clisp.org>
15179
15180         * modules/vasnprintf (Files): Add m4/ssize_t.m4.
15181         (Depends-on): Add xsize.
15182
15183 2003-11-17  Bruno Haible  <bruno@clisp.org>
15184
15185         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Require gt_TYPE_SSIZE_T.
15186
15187 2003-11-17  Bruno Haible  <bruno@clisp.org>
15188
15189         * lib/vasnprintf.c (alloca): Remove fallback definition.
15190         (freea): Remove definition.
15191         (VASNPRINTF): Use alloca only for small sizes, say <= 4000 bytes.
15192         Reported by Paul Eggert.
15193
15194 2003-11-16  Paul Eggert  <eggert@twinsun.com>
15195             Bruno Haible  <bruno@clisp.org>
15196
15197         Protect against address arithmetic overflow.
15198         * lib/printf-args.h: Include stddef.h.
15199         (arguments): Change type of field 'count' to size_t.
15200         * lib/printf-args.c (printf_fetchargs): Use size_t instead of
15201         'unsigned int' where appropriate.
15202         * lib/printf-parse.h: Include sys/types.h.
15203         (char_directive): Change type of *arg_index fields to ssize_t.
15204         (char_directives): Change type of fields 'count', max_*_length to
15205         size_t.
15206         * lib/printf-parse.c: Include sys/types.h and xsize.h.
15207         (SSIZE_MAX): Define fallback value.
15208         (PRINTF_PARSE): Use size_t instead of 'unsigned int' and ssize_t
15209         instead of 'int' where appropriate. Check a_allocated, d_allocated
15210         against overflow. Reject %m$ argument numbers > SSIZE_MAX + 1.
15211         * lib/vasnprintf.c: Include xsize.h.
15212         (VASNPRINTF): Use size_t instead of 'unsigned int' where appropriate.
15213         Check alloca, malloc, realloc, ENSURE_ALLOCATION arguments against
15214         overflow. Avoid wraparound when converting a width or precision from
15215         decimal to binary.
15216
15217 2003-11-16  Bruno Haible  <bruno@clisp.org>
15218
15219         Update from GNU gettext.
15220         * lib/printf-parse.c: Generalize to it can be compiled for wide
15221         strings.
15222         (PRINTF_PARSE, CHAR_T, DIRECTIVE, DIRECTIVES): New macros.
15223         * lib/vasnprintf.c: Generalize to it can be compiled for wide strings.
15224         (VASNPRINTF, CHAR_T, DIRECTIVE, DIRECTIVES, PRINTF_PARSE, USE_SNPRINTF,
15225         SNPRINTF): New macros.
15226         Don't include <alloca.h> if the file is used inside libintl.
15227         (local_wcslen): New function, for Solaris 2.5.1.
15228         (VASNPRINTF): Use it instead of wcslen.
15229
15230 2003-11-16  Bruno Haible  <bruno@clisp.org>
15231
15232         * lib/xsize.h (xmax): New function.
15233         (xsum, xsum3, xsum4): Declare as "pure" functions.
15234
15235 2003-11-12  Paul Eggert  <eggert@twinsun.com>
15236
15237         * modules/xalloc (Files): Undo latest change, since xalloc.h
15238         no longer needs SIZE_MAX or PTRDIFF_MAX.
15239
15240 2003-11-12  Paul Eggert  <eggert@twinsun.com>
15241
15242         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Do not require gl_SIZE_MAX or
15243         gl_PTRDIFF_MAX.
15244
15245 2003-11-12  Paul Eggert  <eggert@twinsun.com>
15246
15247         * lib/xstrtol.c (__xstrtol): Remove "break" immediately after
15248         "return", to pacify some unknown compiler.  Problem reported
15249         by Joerg Schilling.
15250
15251 2003-11-12  Paul Eggert  <eggert@twinsun.com>
15252
15253         * lib/xalloc.h: Do not include <limits.h> or <stdint.h>.
15254         (xalloc_oversized): Use sizeof (ptrdiff_t) and sizeof (size_t) for
15255         the heuristic, rather than PTRDIFF_MAX and SIZE_MAX.  This
15256         heuristic is just as accurate as far as we know, and it removes a
15257         dependency on size_max.m4 and ptrdiff_max.m4.
15258
15259 2003-11-11  Bruno Haible  <bruno@clisp.org>
15260
15261         * modules/xsize (Files): Add m4/size_max.m4.
15262         * modules/xalloc (Files): Add m4/size_max.m4, m4/ptrdiff_max.m4.
15263
15264 2003-11-11  Bruno Haible  <bruno@clisp.org>
15265
15266         * m4/size_max.m4: New file.
15267         * m4/ptrdiff_max.m4: New file.
15268         * m4/xsize,m4 (gl_XSIZE): Require gl_SIZE_MAX.
15269         * m4/xalloc.m4 (gl_PREREQ_XALLOC): New macro.
15270         (gl_XALLOC): Invoke it.
15271
15272 2003-11-11  Bruno Haible  <bruno@clisp.org>
15273
15274         * lib/xsize.h (SIZE_MAX): Remove fallback definition.
15275         * lib/xalloc.h: Include limits.h. Assume SIZE_MAX and PTRDIFF_MAX are
15276         defined.
15277
15278 2003-11-10  Paul Eggert  <eggert@twinsun.com>
15279
15280         * lib/xalloc.h (xalloc_oversized): [! (defined PTRDIFF_MAX &&
15281         PTRDIFF_MAX < SIZE_MAX)]: Fix off-by-one error that would have
15282         rejected some allocations of exactly SIZE_MAX - 2 bytes.
15283         From Bruno Haible.
15284         [defined PTRDIFF_MAX && PTRDIFF_MAX < SIZE_MAX]: Use SIZE_MAX,
15285         not (size_t) -1, since it's defined here.
15286
15287 2003-11-09  Karl Berry  <karl@gnu.org>
15288
15289         * config/mkinstalldirs, depcomp, mdate-sh: update from automake.
15290
15291 2003-11-06  Paul Eggert  <eggert@twinsun.com>
15292
15293         * lib/xalloc.h [HAVE_STDINT_H]: Include <stdint.h>.
15294         (xalloc_oversized) [! (PTRDIFF_MAX < SIZE_MAX)]:
15295         Reject sizes of exactly SIZE_MAX bytes.
15296         * lib/xreadlink.c: Include "xalloc.h" before checking whether SIZE_MAX
15297         is defined, since "xalloc.h" now defines SIZE_MAX on modern hosts.
15298
15299 2003-11-05  Bruno Haible  <bruno@clisp.org>
15300
15301         * lib/xsize.h: Include limits.h, to avoid a possible collision with
15302         SIZE_MAX defined in <limits.h> on Solaris.
15303
15304 2003-11-04  Jim Meyering  <jim@meyering.net>
15305
15306         * modules/sysexits: Use the `$(VAR)' notation for AC_SUBST'd
15307         variable names, rather than @VAR@.
15308         * modules/poll: Likewise.
15309
15310 2003-11-04  Bruno Haible  <bruno@clisp.org>
15311
15312         * modules/xsize: New file.
15313         * modules/linebreak: Depend on xsize.
15314         * MODULES.html.sh (func_all_modules): Add xsize.
15315
15316 2003-11-04  Bruno Haible  <bruno@clisp.org>
15317
15318         * m4/xsize.m4: New file.
15319
15320 2003-11-04  Bruno Haible  <bruno@clisp.org>
15321
15322         * lib/xsize.h: New file.
15323         * lib/linebreak.c: Include xsize.h.
15324         (mbs_possible_linebreaks, mbs_width_linebreaks): Check malloc()
15325         argument for overflow.
15326         Suggested by Paul Eggert.
15327
15328 2003-11-03  Karl Berry  <karl@gnu.org>
15329
15330         * config/config.{guess,sub}: update from config.
15331
15332 2003-11-03  Jim Meyering  <jim@meyering.net>
15333
15334         * modules/userspec (lib_SOURCES): Add userspec.h.
15335         (Include): Add "userspec.h".
15336         Improve description.
15337
15338 2003-11-03  Jim Meyering  <jim@meyering.net>
15339
15340         * lib/userspec.c: Include "userspec.h".
15341         * lib/userspec.h: New file.
15342
15343 2003-11-03  Bruno Haible  <bruno@clisp.org>
15344
15345         * m4/wait-process.m4 (gl_WAIT_PROCESS): Also check for waitid.
15346
15347 2003-11-03  Bruno Haible  <bruno@clisp.org>
15348
15349         * lib/wait-process.c (wait_process): Use waitid with WNOWAIT if
15350         available, to avoid (extremely rare) race condition.
15351         Suggested by Paul Eggert.
15352
15353 2003-11-02  Karl Berry  <karl@gnu.org>
15354
15355         * config/srclist.txt (vasprintf.c): sync broken, sigh.
15356
15357 2003-10-31  Paul Eggert  <eggert@twinsun.com>
15358
15359         * lib/mountlist.h (struct mount_entry.me_type_malloced): New member.
15360         * lib/mountlist.c (SIZE_MAX): Define if not defined already.
15361         (read_filesystem_list): Set and use me_type_malloced.
15362         Use "sizeof *me" rather than "sizeof (struct mount_entry)" (or
15363         whatever the type happens to be), for brevity and consistency.
15364         Check for size calculation overflow on Alphas running OSF/1.
15365
15366 2003-10-31  Jim Meyering  <jim@meyering.net>
15367
15368         * lib/hash.c: Include "xalloc.h" for use of xalloc_oversized.
15369
15370         * lib/linebuffer.c: Include <string.h> for declaration of memset.
15371
15372 2003-10-30  Paul Eggert  <eggert@twinsun.com>
15373             Bruno Haible  <bruno@clisp.org>
15374
15375         * lib/vasprintf.c: Include <limits.h>, <stdlib.h>.
15376         (vasprintf): Fail if the resulting length doesn't fit in an 'int'.
15377
15378 2003-10-30  Paul Eggert  <eggert@cs.ucla.edu>
15379
15380         * m4/host-os.m4 (UTILS_HOST_OS): Change netbsd*-gnu pattern back to
15381         netbsd*-gnu*.  Suggested by Robert Millan.
15382
15383 2003-10-29  Paul Eggert  <eggert@twinsun.com>
15384
15385         * modules/group-member: Depend on stdbool.
15386
15387 2003-10-29  Paul Eggert  <eggert@twinsun.com>
15388
15389         * m4/xalloc.m4 (gl_XALLOC): Undo previous change.
15390
15391 2003-10-29  Paul Eggert  <eggert@twinsun.com>
15392
15393         * m4/host-os.m4 (UTILS_HOST_OS): Resurrect netbsd*-gnu.  Add comments
15394         to it, and to knetbsd*-gnu and kfreebsd*-gnu.  Remove the '*' from
15395         after the 'gnu' in these cases.  This fixes some bugs in the
15396         previous change, and is based on suggestions by Robert Millan.
15397
15398 2003-10-29  Paul Eggert  <eggert@twinsun.com>
15399
15400         * lib/xalloc.h (xalloc_oversized): Now a macro, not a function,
15401         so that it works even if SIZE_MAX < N.  Do not include <stdbool.h>;
15402         no longer needed.
15403         * lib/quotearg.c (quotearg_n_options): Use it.
15404         * lib/group-member.c: Include <stdbool.h>.
15405         (free_group_info): Arg is now const *; don't free arg.
15406         (get_group_info): Now returns bool and accepts struct group_info *,
15407         rather than returning a malloc'ed struct group_info *.
15408         All uses changed.  Check for overflow in internal size calculation.
15409
15410         * lib/getusershell.c (readname): Simplify the code by using x2nrealloc
15411         rather than xmalloc/xrealloc.
15412         * lib/linebuffer.c (initbuffer, readlinebuffer): Simplify the code by
15413         using x2realloc rather than xmalloc/xrealloc.  Also, fix a C
15414         conformance bug: the old code used a pointer after freeing the
15415         storage that it addressed.
15416         * lib/hash.c (hash_initialize): Simplify the code by using
15417         xalloc_oversized rather than doing it by hand.
15418         * lib/getgroups.c (getgroups): Don't use xrealloc, since we don't need
15419         the buffer preserved.  Use free and xmalloc instead.
15420         * lib/quotearg.c (quotearg_n_options): Likewise.
15421         Use a simpler test for size overflow.  Don't use xalloc_oversized
15422         because unsigned int might be wider than size_t (!); this suggests
15423         that we should switch from unsigned int to size_t for slot numbers.
15424
15425 2003-10-28  Paul Eggert  <eggert@twinsun.com>
15426
15427         * m4/host-os.m4 (UTILS_HOST_OS): Identify GNU/KFreeBSD and
15428         GNU/KNetBSD.  These implementations use glibc atop the FreeBSD and
15429         NetBSD kernels.  Requested by Richard Stallman.
15430
15431 2003-10-27  Paul Eggert  <eggert@twinsun.com>
15432
15433         * lib/exclude.c (new_exclude): Use xzalloc rather than xmalloc
15434         to allocate the returned structure.  Do not allocate a subarray,
15435         as x2nrealloc will do that.
15436         (add_exclude): Use x2nrealloc to reallocate ex->exclude,
15437         instead of xnrealloc.
15438         (add_exclude_file): Use x2realloc instead of malloc + xnrealloc.
15439
15440 2003-10-27  Bruno Haible  <bruno@clisp.org>
15441
15442         * lib/stdbool_.h: Better support for BeOS.
15443
15444 2003-10-26  Paul Eggert  <eggert@twinsun.com>
15445
15446         * m4/xalloc.m4 (gl_XALLOC): Requore AC_C_INLINE, since xalloc.h
15447         now uses inline.
15448
15449 2003-10-26  Paul Eggert  <eggert@twinsun.com>
15450
15451         * lib/xalloc.h (xalloc_oversized): New static inline function, for
15452         callers that want to do their own size-overflow checking.  Include
15453         <stdbool.h>, since xalloc_oversized returns bool.
15454         * lib/xalloc.c (array_size_overflow): Remove.  All callers changed
15455         to use xalloc_oversized.
15456
15457         Add two functions x2realloc, x2nrealloc, for programs that grow
15458         arrays dynamically by doubling their sizes.
15459         * lib/xalloc.h (x2realloc, x2nrealloc): New decls.
15460         * lib/xmalloc.c (x2nrealloc_inline, x2nrealloc, x2realloc):
15461         New functions.
15462
15463         Port to C99 semantics for 'inline' of external functions.
15464         Bug reported by Bruno Haible.
15465         * lib/xmalloc.c (xnmalloc_inline): New static inline function,
15466         with the old contents of xnmalloc.
15467         (xnmalloc, xmalloc): Use it.
15468         (xnrealloc_inline): New static inline function,
15469         with the old contents of xnrealloc.
15470         (xnrealloc, xrealloc): Use it.
15471
15472         * lib/alloc.c (alloca): xmalloc cannot return NULL, so don't test for
15473         that.
15474
15475 2003-10-26  Karl Berry  <karl@gnu.org>
15476
15477         * config/srclist.txt (COPYING.DOC): no longer available from
15478         /gd/gnuorg; don't know where the ultimate source is.
15479
15480 2003-10-25  Paul Eggert  <eggert@twinsun.com>
15481
15482         Fix several address-calculation bugs in the hash modules,
15483         plus some minor code cleanup.
15484
15485         * lib/hash.h: Include <stdbool.h>, for bool.
15486         * lib/hash.c: Don't include <stdbool.h>, since hash.h does it now.
15487         * lib/hash.h (Hash_hasher, hash_get_n_buckets, hash_get_n_buckets_used,
15488         hash_get_n_entries, hash_get_max_bucket_length,
15489         hash_get_entries, hash_do_for_each, hash_string, hash_initialize,
15490         hash_rehash): Use size_t rather than unsigned.
15491         * lib/hash.c (struct hash_table, hash_get_n_buckets,
15492         hash_get_n_buckets_used, hash_get_n_entries,
15493         hash_get_max_bucket_length, hash_table_ok, hash_print_statistics,
15494         hash_get_entries, hash_do_for_each, hash_string, is_prime,
15495         next_prime, hash_initialize, hash_rehash, hash_delete, hash_print):
15496         Likewise.
15497         (SIZE_MAX): Define if not defined.
15498         (hash_get_max_bucket_length, hash_table_ok, hash_lookup,
15499         hash_get_first, hash_get_next, hash_get_entries, hash_do_for_each,
15500         hash_print):
15501         Use const * when possible.
15502         (hash_string): Use (unsigned char) *P rather than *(unsigned char *) P.
15503         (check_tuning): Fix bug: if tuning parameters were very close to
15504         0 or 1, rounding errors could have caused subscript violations.
15505         (hash_initialize, allocate_entry, hash_print): Remove unnecessary cast.
15506         (hash_initialize): Add 'fail:' label
15507         to free table and return NULL, and use it to simplify code.
15508         Use calloc rather than clearing the storage ourself.
15509         (hash_initialize, hash_rehash): Check for arithmetic overflow in
15510         buffer size calculations.
15511         * lib/hash-pjw.h (hash_pjw): Use size_t, not unsigned.
15512         Include <stddef.h>, for size_t.
15513         * lib/hash-pjw.c (hash_pjw): Likewise.
15514         Switch to method described by Bruno Haible.
15515         Include <limits.h>, for CHAR_BIT.
15516         (SIZE_BITS): New macro.
15517
15518 2003-10-23  Paul Eggert  <eggert@twinsun.com>
15519
15520         * m4/getline.m4 (AM_FUNC_GETLINE):
15521         Don't include getndelim2.o twice into LIBOBJS; this breaks on some
15522         hosts.  Problem reported by Derek Robert Price in
15523         <http://mail.gnu.org/archive/html/bug-gnulib/2003-10/msg00092.html>.
15524         This patch can be withdrawn after Autoconf 2.58 is required for gnulib.
15525         * m4/getndelim2.m4 (gl_GETNDELIM2): Likewise.
15526
15527 2003-10-21  Paul Eggert  <eggert@twinsun.com>
15528
15529         * lib/getndelim2.c (getndelim2): When size calculation overflows,
15530         ceiling the allocation at NMAX bytes rather than silently
15531         discarding input bytes before NMAX is reached.  This makes
15532         a difference only if NMAX exceeds SIZE_MAX / 2.
15533
15534         * lib/obstack.c: Merge from glibc.
15535         [defined _LIBC]: Include <obstack.h>, not "obstack.h".
15536         Add libc_hidden_def (_obstack_newchunk).
15537         (_obstack_free) [! defined _LIBC]: Remove.
15538         [defined _LIBC]: Make a strong alias from obstack_free, rather than
15539         a clone of the function body.
15540         (fputs) [defined _LIBC && defined USE_IN_LIBIO]: Remove.
15541         [defined _LIBC && !defined USE_IN_LIBIO]: Include <libio/iolibio.h>.
15542
15543         * lib/obstack.h: Indenting cleanup, to make it easier to merge with
15544         glibc.
15545         (obstack_grow, obstack_grow0): Remove unnecessary parentheses around
15546         arg to memcpy.
15547
15548         * lib/obstack.h (obstack_1grow_fast): Properly parenthesize arg.
15549         (obstack_ptr_grow_fast, obstack_int_grow_fast):
15550         Don't use lvalue casts, as GCC plans to remove support for them
15551         in GCC 3.5.  Reported by Joseph S. Myers.  This bug
15552         was also present in the non-GCC version, indicating that this
15553         code had always been buggy and had never been widely used.
15554         (obstack_1grow, obstack_ptr_grow, obstack_int_grow, obstack_blank):
15555         Use the fast variant of each macro, rather than copying the
15556         definiens of the fast variant; that way, we'll be more likely to
15557         catch future bugs in the fast variants.
15558
15559 2003-10-20  Bruno Haible  <bruno@clisp.org>
15560
15561         * modules/wait-process: New file.
15562         * MODULES.html.sh (func_all_modules): Add wait-process.
15563
15564 2003-10-20  Bruno Haible  <bruno@clisp.org>
15565
15566         * m4/wait-process.m4: New file.
15567
15568 2003-10-20  Bruno Haible  <bruno@clisp.org>
15569
15570         * lib/wait-process.h: New file, from GNU gettext.
15571         * lib/wait-process.c: New file, from GNU gettext.
15572
15573 2003-10-19  Jim Meyering  <jim@meyering.net>
15574
15575         * lib/vasnprintf.c (vasnprintf): Work around losing snprintf on
15576         HPUX 10.20.
15577
15578 2003-10-18  Karl Berry  <karl@gnu.org>
15579
15580         * config/config.guess: update from config.
15581
15582 2003-10-16  Paul Eggert  <eggert@twinsun.com>
15583
15584         * lib/getgroups.c: Include <errno.h>, <stdlib.h>.
15585         (getgroups): First arg is int, not size_t.
15586         Don't let 'free' mangle errno.
15587
15588 2003-10-16  Paul Eggert  <eggert@twinsun.com>
15589
15590         * README: Mention that gnulib assumes that (foo *) NULL + 0 == NULL.
15591
15592 2003-10-16  Karl Berry  <karl@gnu.org>
15593
15594         * config/config.{guess,sub}: update from config.
15595
15596 2003-10-16  Jim Meyering  <jim@meyering.net>
15597
15598         * lib/xmalloc.c: Include <string.h>, for declarations of memset and
15599         memcpy.
15600
15601 2003-10-15  Paul Eggert  <eggert@twinsun.com>
15602
15603         * lib/exclude.c: Do not include <inttypes.h> or <stdint.h>.
15604         (SIZE_MAX): Remove.
15605         (new_exclude, add_exclude_file): Initial size no longer needs to
15606         be a power of 2.
15607         (add_exclude, add_exclude_file): Use xnrealloc instead of rolling
15608         our own address arithmetic overflow checking.
15609
15610         * lib/fnmatch.c (SIZE_MAX): Define if standard headers don't.
15611         (fnmatch): Do not alloca more than 2000 wide characters;
15612         instead, use malloc for large buffers.
15613         Check for address arithmetic overflow, and return -1
15614         with errno set to ENOMEM in that case.
15615         * lib/fnmatch_loop.c (ALLOCA_LIMIT): New macro.
15616         (NEW_PATTERN): Do not alloca more than 8000 bytes;
15617         instead, return -1.  Check for address arithmetic overflow.
15618
15619 2003-10-14  Paul Eggert  <eggert@twinsun.com>
15620
15621         Handle invalid suffixes and overflow independently, so that
15622         callers can treat them independently as needed.  Fix some bugs in
15623         suffix handling, e.g., "100k@" was not diagnosed as an invalid
15624         suffix for a human-readable blocksize.  The major caller-visible
15625         change is the addition of a new
15626         LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW enum value, indicating
15627         that both overflow and suffix chars were found.
15628
15629         * lib/human.c (humblock): Don't check separately for invalid suffix
15630         char; that is xstrtoumax's job (now that its bug is fixed).
15631         * lib/xstrtoimax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [defined
15632         INTMAX_MAX]: New macros.
15633         * lib/xstrtol.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM, TYPE_MINIMUM,
15634         TYPE_MAXIMUM): New macros.
15635         (bkm_scale, bkm_scale_by_power): Return strtol_error, not int.
15636         (bkm_scale, bkm_scale_by_power, __xstrtol): Return maximal values
15637         if overflow occurs, as it's what __strtol does and it's more useful
15638         in practice.
15639         (__xstrtol): If __strtol reports some error other than ERANGE,
15640         reflect it to the caller as LONGINT_INVALID.  If it reports
15641         ERANGE, continue the rest of parsing, and report LONGINT_OVERFLOW
15642         | LONGINT_INVALID_SUFFIX_CHAR if both errors occur.
15643         * lib/xstrtol.h (LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW): New enum
15644         value.
15645         (_STRTOL_ERROR): Handle it.  Abort when given unknown error codes.
15646         * lib/xstrtoul.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM): New macros.
15647         * lib/xstrtoumax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM)
15648         [defined UINTMAX_MAX]: New macros.
15649
15650 2003-10-14  Bruno Haible  <bruno@clisp.org>
15651
15652         * modules/fatal-signal: Add m4/sig_atomic_t.m4 to file list.
15653
15654 2003-10-14  Bruno Haible  <bruno@clisp.org>
15655
15656         * m4/sig_atomic_t: New file, from GNU gettext.
15657         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Require gt_TYPE_SIG_ATOMIC_T.
15658
15659 2003-10-14  Bruno Haible  <bruno@clisp.org>
15660
15661         * lib/fatal-signal.h: Improved comments. Suggested by Paul Eggert.
15662         * lib/fatal-signal.c: Use sig_atomic_t. Suggested by Paul Eggert.
15663         Also use volatile where needed.
15664
15665 2003-10-12  Paul Eggert  <eggert@twinsun.com>
15666
15667         * modules/xalloc: Do not depend on 'exit'.  Depend on 'stdbool'.
15668         Change maintainer from Bruno Haible to 'all'.
15669
15670 2003-10-12  Paul Eggert  <eggert@twinsun.com>
15671
15672         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Require AC_C_INLINE.
15673
15674 2003-10-12  Paul Eggert  <eggert@twinsun.com>
15675
15676         * lib/xalloc.h (xnmalloc, xzalloc, xnrealloc, xclone): New decls.
15677         (XMALLOC, XCALLOC, XREALLOC, XFREE, CCLONE, CLONE): Deprecate,
15678         and define in terms of the other primitives.
15679         * lib/xmalloc.c: Include stdbool.h; do not include exit.h.
15680         (SIZE_MAX): Define if not already defined.
15681         (array_size_overflow): New function.
15682         (xalloc_die): Abort instead of exiting if 'error' returns.
15683         (xnmalloc, xnrealloc, xzalloc, xclone): New functions.
15684         (xmalloc, xrealloc): Use them.
15685         (xcalloc): Check for address arithmetic overflow.
15686         * lib/xstrdup.c (xstrdup): Use xclone, since memcpy should be
15687         a bit faster than strcpy.
15688
15689 2003-10-10  Simon Josefsson  <jas@extundo.com>
15690
15691         * modules/argp (Depends-on): Add restrict and strcase.
15692
15693 2003-10-10  Simon Josefsson  <jas@extundo.com>
15694
15695         * m4/argp.m4: Add AC_C_INLINE.
15696
15697 2003-10-08  Paul Eggert  <eggert@twinsun.com>
15698
15699         Merge getpass from libc, plus a few fixes.
15700
15701         * lib/getpass.c (HAVE_STDIO_EXT) [_LIBC]: Define to 1.
15702         Include <stdbool.h>.
15703         Include <stdio_ext.h> if HAVE_STDIO_H, otherwise define
15704         __fsetlocking to empty.
15705         [_LIBC]: Do not include "getline.h" or "unlocked-io.h", but
15706         do include <bits/libc-lock.h>.
15707         Do not include <fcntl.h>; not needed.
15708         [_LIBC]: Include <wchar.h>.
15709         (NOTCANCEL_MODE): New macro.
15710         (flockfile, funlockfile) [_LIBC]: New macros.
15711         (__libc_cleanup_push, __libc_cleanup_pop, __getline, __tcgetattr)
15712         [!_LIBC]: New macros.
15713         (call_fclose): New function.
15714         (getpass): Use it.  Save tty stream separately; this simplifies the
15715         code and makes it more reliable if stdin happens to equal stdout.
15716         Invoke __fsetlocking on tty.
15717         Handle thread cancellation if needed.
15718         Namespace cleanup (use __tcgetattr, __getline).
15719         Use bool for Booleans.
15720         [USE_IN_LIBIO]: Handle wide streams.
15721         [!_LIBC]: Unconditionally do the fseek, since we don't know what
15722         stream might go where.
15723
15724         * lib/unlocked-io.h: Include <stdio.h>, so that the caller
15725         doesn't have to include <stdio.h> before us.
15726         (clearerr_unlocked, feof_unlocked, ferror_unlocked,
15727         fflush_unlocked, fgets_unlocked, fputc_unlocked, fputs_unlocked,
15728         fread_unlocked, fwrite_unlocked, getc_unlocked, getchar_unlocked,
15729         putc_unlocked, putchar_unlocked): Define to the unlocked counterpart
15730         if not declared, so that we can use getpass.c code from libc without
15731         rewriting it.
15732         (flockfile, ftrylockfile, funlockfile): New macros.
15733
15734 2003-10-08  Paul Eggert  <eggert@twinsun.com>
15735
15736         * modules/getpass: Depend on stdbool.
15737
15738 2003-10-08  Paul Eggert  <eggert@twinsun.com>
15739
15740         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for stdio_ext.h.
15741
15742 2003-10-07  Karl Berry  <karl@gnu.org>
15743
15744         * config/config.{guess,sub}: update from config.
15745
15746 2003-10-06  Jim Meyering  <jim@meyering.net>
15747             Bruno Haible  <bruno@clisp.org>
15748
15749         This lets translators provide better translations for the
15750         "Written by ..." part of --version output.
15751         * lib/version-etc.h: Include stdarg.h.
15752         (version_etc_copyright): Declare as readonly.
15753         (version_etc): Make this function variadic with a NULL-terminated list
15754         of author name strings.
15755         (version_etc_va): New declaration.
15756         * lib/version-etc.c: Include stdarg.h, stdlib.h.
15757         (version_etc_copyright): Declare as readonly.
15758         (version_etc_va): New function. Provide a different translatable string
15759         for each possible number of authors < 10. Abbreviate when there are 10
15760         authors or more.
15761         (version_etc): Make this function variadic. Call version_etc_va.
15762         Suggestion from Gary V. Vaughan.
15763
15764         * lib/long-options.h (parse_long_options): Change prototype: the
15765         authors string is moved to the end and becomes variadic.
15766         * lib/long-options.c: Include stdarg.h.
15767         (parse_long_options): Make this function variadic, too.
15768         Call version_etc_va, not version_etc.
15769
15770 2003-10-06  Bruno Haible  <bruno@clisp.org>
15771
15772         * modules/version-etc-2: Remove file.
15773         * MODULES.html.sh (func_all_modules): Remove version-etc-2.
15774
15775 2003-10-06  Bruno Haible  <bruno@clisp.org>
15776
15777         * modules/fatal-signal: New file.
15778         * MODULES.html.sh (func_all_modules): Add fatal-signal.
15779
15780 2003-10-06  Bruno Haible  <bruno@clisp.org>
15781
15782         * m4/fatal-signal.m4: New file.
15783         * m4/signalblocking.m4: New file, from GNU gettext.
15784
15785 2003-10-06  Bruno Haible  <bruno@clisp.org>
15786
15787         * lib/version-etc-2.h: Remove file.
15788         * lib/version-etc-2.c: Remove file.
15789
15790 2003-10-06  Bruno Haible  <bruno@clisp.org>
15791
15792         * lib/fatal-signal.h: New file, from GNU gettext.
15793         * lib/fatal-signal.c: New file, from GNU gettext.
15794
15795 2003-10-05  Paul Eggert  <eggert@twinsun.com>
15796
15797         * README: Rework advice for preventing empty .o files.
15798         Don't recommend ELIDE constructs.  Recommend <stddef.h>,
15799         not <sys/types.h>.
15800
15801 2003-10-04  Karl Berry  <karl@gnu.org>
15802
15803         * lib/argp*: update from libc.
15804
15805 2003-10-04  Karl Berry  <karl@gnu.org>
15806
15807         * config/config.{guess,sub}: update from config.
15808
15809 2003-10-02  Bruno Haible  <bruno@clisp.org>
15810
15811         * modules/lchown (Include): Add lchown.h.
15812         * modules/time_r (Include): Use "..." syntax.
15813         * modules/xgetdomainname (Include): Add xgetdomainname.h.
15814
15815 2003-10-01  Simon Josefsson  <jas@extundo.com>
15816
15817         * MODULES.html.sh (func_all_modules): Move gethostname from section
15818         'based on' to section 'lacking' POSIX:2001.
15819
15820 2003-10-01  Larry Jones  <lawrence.jones@eds.com>
15821
15822         * lib/getpass.c (getpass): Use a no-op fseek when switching from input
15823         to output mode on the same stream.
15824
15825 2003-09-29  Paul Eggert  <eggert@twinsun.com>
15826
15827         * lib/strftime.c (tm_diff) [! HAVE_TM_GMTOFF]:
15828         Fix arg typo in previous patch.
15829
15830 2003-09-28  Jim Meyering  <jim@meyering.net>
15831
15832         * lib/error.c: Correct cpp indentation.
15833
15834 2003-09-27  Paul Eggert  <eggert@twinsun.com>
15835
15836         * modules/free: New file.
15837
15838 2003-09-27  Paul Eggert  <eggert@twinsun.com>
15839
15840         * m4/free.m4: New file.
15841
15842 2003-09-27  Paul Eggert  <eggert@twinsun.com>
15843
15844         * lib/minmax.h (MIN, MAX)
15845         [__STDC__ && defined __GNUC__ && __GNUC__ >= 2]:
15846         Omit the special code that used __typeof__, since we worry that
15847         it could be more trouble than it's worth.  See:
15848         http://mail.gnu.org/archive/html/bug-gnulib/2003-01/msg00090.html
15849         http://mail.gnu.org/archive/html/bug-gnulib/2003-01/msg00095.html
15850
15851         * lib/free.c: New file.
15852
15853 2003-09-27  Oskar Liljeblad  <oskar@osk.mine.nu>
15854
15855         Trivial fixes to Makefile.am parts of module listings.
15856         * modules/strstr: Append strstr.h to lib_SOURCES.
15857         * modules/strcase: Likewise, for strcase.h.
15858
15859 2003-09-27  Karl Berry  <karl@gnu.org>
15860
15861         * config/mkinstalldirs: update from automake.
15862
15863 2003-09-26  Paul Eggert  <eggert@twinsun.com>
15864
15865         * lib/error.c (SIZE_MAX) [!defined SIZE_MAX]: Define.
15866         (error_tail): Do not loop, reallocating temporary buffer, since
15867         the output cannot contain more wide characters than the input
15868         contains bytes, the size must be big enough already.  This avoids
15869         one potential size overflow calculation.  Check for size overflow
15870         when calculating temporary buffer size.  Free temporary buffer
15871         when done, if it was allocated with malloc; this plugs a memory
15872         leak.  Remove casts from void * to pointers, that are no longer
15873         needed now that we're assuming C89 or better.
15874
15875         Merge error changes from glibc.
15876
15877         * lib/error.c, error.h: Update copyright notice header to match glibc.
15878         * lib/error.c [defined _LIBC]: Include <errno.h>, <bits/libc-lock.h>.
15879         (error, error_at_line) [defined _LIBC && defined __libc_ptf_call]:
15880         Disable cancellation while printing error.
15881         * lib/error.h: Prepend __ to parameter names.
15882
15883 2003-09-26  Jim Meyering  <jim@meyering.net>
15884
15885         * lib/error.c (error_tail): Move some declarations
15886         into inner scope where the local variables are used.
15887
15888 2003-09-26  Bruno Haible  <bruno@clisp.org>
15889
15890         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Add comments about the AIX
15891         stpncpy().
15892         Don't define stpncpy through config.h; it's now done through stpncpy.h.
15893
15894 2003-09-26  Bruno Haible  <bruno@clisp.org>
15895
15896         * lib/stpncpy.h (gnu_stpncpy): New declaration.
15897         (stpncpy): Define as alias for gnu_stpncpy.
15898         * lib/stpncpy.c [!_LIBC]: Define gnu_stpncpy, not stpncpy.
15899
15900 2003-09-25  Simon Josefsson  <jas@extundo.com>
15901
15902         * lib/xgetdomainname.h: New file.
15903         * lib/xgetdomainname.c: New file.
15904
15905 2003-09-25  Simon Josefsson  <jas@extundo.com>
15906             Bruno Haible  <bruno@clisp.org>
15907
15908         * modules/getdomainname: New file.
15909         * modules/xgetdomainname: New file.
15910         * MODULES.html.sh (func_all_modules): Add getdomainname,
15911         xgetdomainname.
15912
15913 2003-09-25  Simon Josefsson  <jas@extundo.com>
15914             Bruno Haible  <bruno@clisp.org>
15915
15916         * m4/getdomainname.m4: New file.
15917
15918 2003-09-25  Simon Josefsson  <jas@extundo.com>
15919             Bruno Haible  <bruno@clisp.org>
15920
15921         * lib/getdomainname.h: New file.
15922         * lib/getdomainname.c: New file.
15923
15924 2003-09-25  Karl Berry  <karl@gnu.org>
15925
15926         * lib/argp-fmtstream.c, argp-help.c: update from libc.
15927
15928 2003-09-25  Karl Berry  <karl@gnu.org>
15929
15930         * config/install-sh: update from automake.
15931
15932 2003-09-25  Bruno Haible  <bruno@clisp.org>
15933
15934         * modules/version-etc-2: New file, from modules/version-etc with
15935         modifications.
15936         * MODULES.html.sh (func_all_modules): Add version-etc-2.
15937
15938 2003-09-25  Bruno Haible  <bruno@clisp.org>
15939
15940         * lib/version-etc-2.h: New file, from version-etc.h with modifications.
15941         * lib/version-etc-2.c: New file, from version-etc.c with modifications.
15942
15943 2003-09-24  Simon Josefsson  <jas@extundo.com>
15944
15945         * modules/xgethostname: Add xgethostname.h.
15946
15947 2003-09-24  Paul Eggert  <eggert@twinsun.com>
15948
15949         * lib/linebuffer.c (freebuffer): Don't free the argument, just
15950         the buffer associated with the argument.  Bug reported by
15951         Simon Josefsson.
15952
15953 2003-09-24  Paul Eggert  <eggert@twinsun.com>
15954
15955         * README: Document assumptions that 'int' is at least 32 bits
15956         wide, that integer arithmetic is 2's complement without overflow,
15957         that there are no holes in integer values, that adding sizes of
15958         two nonoverlapping objects can't overflow, and that all-bits-zero
15959         yields scalar zero.  Fix spelling and capitalization typos.
15960
15961 2003-09-19  Karl Berry  <karl@gnu.org>
15962
15963         * lib/argp.h: update from libc.
15964
15965 2003-09-17  Paul Eggert  <eggert@twinsun.com>
15966
15967         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Call AC_BEFORE first,
15968         to avoid spurious warnings like "AC_RUN_IFELSE was called before
15969         gl_USE_SYSTEM_EXTENSIONS" from autoreconf.
15970
15971 2003-09-17  Paul Eggert  <eggert@twinsun.com>
15972
15973         * gnulib-tool: Use "test -h", not "test -L", for portability
15974         to Solaris 8 /bin/sh.  (This bug is fixed in Solaris 9.)
15975         (tags_regexp): Remove, since \| doesn't conform to POSIX.
15976         (sed_extract_prog): Issue s commands one-by-one, rather than
15977         using \| in one s command.
15978
15979 2003-09-16  Paul Eggert  <eggert@twinsun.com>
15980
15981         * lib/linebuffer.c (readlinebuffer): Return NULL immediately upon
15982         input error, instead of returning NULL the next time we are called
15983         (and therefore losing track of errno).
15984
15985 2003-09-16  Bruno Haible  <bruno@clisp.org>
15986
15987         * gnulib-tool (func_create_testdir): Warn about duplicated
15988         dependencies.
15989
15990 2003-09-15  Paul Eggert  <eggert@twinsun.com>
15991
15992         * modules/argmatch, modules/fatal, modules/obstack,
15993         modules/xalloc, modules/xgethostname: Sort dependencies by
15994         importance, not alphabetically.
15995
15996 2003-09-15  Paul Eggert  <eggert@twinsun.com>
15997
15998         * lib/getndelim2.c (getndelim2): Don't trash errno when a read
15999         fails, so that the caller gets the proper errno.
16000
16001         * lib/readutmp.c (read_utmp): Likewise.
16002         Check for fstat error.  Close stream and free storage
16003         when failing.
16004
16005 2003-09-14  Karl Berry  <karl@gnu.org>
16006
16007         * config/srclist.txt (strdup.c): disable for c89 changes.
16008
16009 2003-09-14  Jim Meyering  <jim@meyering.net>
16010
16011         * lib/getloadavg.c: Correct cpp indentation.
16012         * lib/strdup.c: Likewise.
16013         * lib/vasnprintf.c: Likewise.
16014
16015 2003-09-14  Bruno Haible  <bruno@clisp.org>
16016
16017         * modules/fwriteerror: New file.
16018         * MODULES.html.sh (func_all_modules): Add fwriteerror.
16019
16020 2003-09-14  Bruno Haible  <bruno@clisp.org>
16021
16022         * lib/fwriteerror.h: New file.
16023         * lib/fwriteerror.c: New file.
16024
16025 2003-09-12  Paul Eggert  <eggert@twinsun.com>
16026
16027         * modules/argmatch, modules/exitfail, modules/fatal, modules/obstack,
16028         modules/xgethostname, modules/xalloc: Depend on exit.
16029
16030 2003-09-12  Paul Eggert  <eggert@twinsun.com>
16031
16032         * m4/error.m4: Require AC_FUNC_STRERROR_R rather than invoking it.
16033
16034         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Require AC_AIX
16035         and AC_MINIX, too, so that their extensions are available.
16036
16037         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Remove.  All uses removed.
16038         This macro has been superseded by gl_BACKUPFILE.
16039
16040         More patches to assume C89 or better.
16041
16042         * m4/error.m4 (gl_ERROR): Don't check for vprintf.
16043
16044         * m4/check-decl.m4 (jm_CHECK_DECLS): Include <string.h>, <stdlib.h>
16045         unconditionally.
16046         * m4/closeout.m4 (gl_CLOSEOUT): Don't check for stdlib.h.
16047         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER):
16048         Include <string.h>, <stdlib.h> unconditionally.
16049         * m4/lstat.m4 (gl_PREREQ_LSTAT): Don't check for stdlib.h, free.
16050         * m4/readdir.m4 (GL_FUNC_READDIR): Don't check for string.h.
16051         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Don't check for standard C
16052         headers or for string.h.
16053         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Don't check for stdlib.h
16054         or strtoul.
16055
16056         * m4/mkstemp.m4 (jm_PREREQ_TEMPNAME): Do not require standard C
16057         headers.
16058         * m4/strdup.m4 (gl_PREREQ_STRDUP): Likewise.
16059         * m4/userspec.m4 (gl_USERSPEC): Likewise.
16060         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Likewise.
16061         * m4/xstrtod.m4 (gl_XSTRTOD): Likewise.
16062         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
16063         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't check for limits.h,
16064         memcpy, memset.
16065         (jm_FUNC_GNU_STRFTIME): Don't require standard C headers.
16066         * m4/strtod.m4 (gl_FUNC_STRTOD): Do not check for float.h.
16067         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Do not check for stdlib.h,
16068         strtol.
16069         * m4/strtol.m4 (gl_FUNC_STRTOL): Do not check for limits.h.
16070         * m4/userspec.m4 (gl_USERSPEC): Do not check for string.h.
16071         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Do not check for string.h, strtol,
16072         strtoul.
16073
16074 2003-09-12  Paul Eggert  <eggert@twinsun.com>
16075
16076         * lib/argmatch.c, fatal.c, xgethostname.c, xmalloc.c: Include exit.h.
16077         * lib/obstack.c [!defined _LIBC]: Likewise.
16078         * lib/argmatch.c (EXIT_FAILURE): Remove; now done by exit.h
16079         * lib/exitfail.c, fatal.c, xgethostname.c, xmalloc.c: Likewise.
16080         * lib/exitfail.c: Don't include stdlib.h; no longer needed.
16081
16082         More changes to assume C89 or better.
16083
16084         * lib/error.c (error_tail): Assume vprintf.
16085
16086         * lib/argmatch.c (getenv): Remove decl.
16087         * lib/progreloc.c (get_full_program_name): Define via prototype.
16088         * lib/setenv.c (clearenv): Likewise.
16089         * lib/stpncpy.c: Do not include <string.h> or <sys/types.h>; not
16090         needed.
16091         * lib/strdup.c: Include <stdlib.h>, <string.h> unconditionally.
16092         (malloc, memcpy): Remove decls.
16093         * lib/strftime.c (HAVE_LIMITS_H, STDC_HEADERS) [defined _LIBC]: Remove.
16094         (HAVE_MEMCPY) [defined emacs && !defined HAVE_BCOPY]: Remove.
16095         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
16096         (memcpy): Remove macro.
16097         (MEMCPY) [!defined COMPILE_WIDE]: Define to memcpy unconditionally.
16098         (__P): Remove.  All uses removed.
16099         (PTR): Remove.  All uses changed to void *.
16100         (CHAR_BIT, NULL): Remove.
16101         (spaces, zeros, memset_space, memset_zero)
16102         [!defined memset && !defined HAVE_MEMSET && !defined _LIBC]:
16103         Remove.
16104         (LOCALE_PARAM, LOCALE_PARAM_DECL): Remove.
16105         (memcpy_lowcase, memcpy_uppcase, tm_diff, iso_week_days):
16106         Define with prototype.
16107         Remove now-unnecessary prototype decl.
16108         (extra_args_spec): Assume ANSI C.  All uses changed.
16109         (extra_args_spec_iso): Remove.
16110         (my_strftime, emacs_strftimeu): Define via prototype.
16111         * lib/strtod.c: Include <float.h>, <stdlib.h>, <string.h>
16112         unconditionally.
16113         (DBL_MAX, DBL_MIN, HUGE_VAL, NULL): Remove decls.
16114         * lib/strtoimax.c: Include <stdlib.h> unconditionally.
16115         (strtoul, strtol): Remove decls.
16116         * lib/strtol.c (STDC_HEADERS, HAVE_LIMITS_H, NULL, ULONG_MAX,
16117         LONG_MAX): Remove.
16118         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
16119         (LOCALE_PARAM_DECL): Remove.  All uses changed to LOCALE_PARAM_PROTO.
16120         (LOCALE_PARAM_PROTO): New macro.
16121         (INTERNAL, INTERNAL1, WEAKNAME): Assume ANSI C, not K&R.
16122         (INTERNAL (strtol), strtol): Define with a prototype.
16123         (PARAMS): Remove.  All uses removed.
16124         * lib/tempname.c: Include <string.h> unconditionally.
16125         * lib/userspec.c: Include <stdlib.h>, <string.h> unconditionally.
16126         * lib/xgethostname.c (main): Define with a prototype.
16127         * lib/xmalloc.c: Include "xalloc.h" first, to check interface.
16128         Include <stdlib.h> unconditionally.
16129         (calloc, malloc, realloc, free): Remove decls.
16130         * lib/xstrtod.c: Include "xstrtod.h" first, to check interface.
16131         Include <stdlib.h> unconditionally.  Sort include file names.
16132         (strtod): Remove.
16133         (xstrtod): Define with a prototype.
16134         * lib/xstrtol.c: Include <stdlib.h>, <string.h> unconditionally.
16135         (strtol, strtoul): Remove decls.
16136
16137 2003-09-11  Paul Eggert  <eggert@twinsun.com>
16138
16139         More patches to assume C89 or better.
16140         * m4/strndup.m4 (gl_PREREQ_STRNDUP): Remove STDC_HEADERS check.
16141         * m4/strnlen.m4 (gl_PREREQ_STRNLEN): Don't check for memory.h,
16142         string.h, memchr, STDC_HEADERS.
16143
16144 2003-09-11  Paul Eggert  <eggert@twinsun.com>
16145
16146         * lib/strndup.c: Don't include <stdio.h>, <sys/types.h>.
16147         Include <stdlib.h>, <string.h> unconditionally.
16148         Remove now-unnecessary cast to char *.
16149         * lib/strnlen.c: Include <string.h> unconditionally.
16150         * lib/yesno.c (yesno): Define with a prototype.
16151
16152 2003-09-11  Bruno Haible  <bruno@clisp.org>
16153
16154         * config/srclist.txt (setenv.c, unsetenv.c): Disable for the moment.
16155
16156 2003-09-10  Jim Meyering  <jim@meyering.net>
16157
16158         * lib/error.c: Correct indentation of cpp directives.
16159
16160 2003-09-10  Bruno Haible  <bruno@clisp.org>
16161
16162         * m4/strcspn.m4 (gl_PREREQ_STRCSPN): Remove <string.h> check.
16163         * m4/strpbrk.m4 (gl_PREREQ_STRPBRK): Remove <string.h> check.
16164         * m4/strstr.m4 (gl_PREREQ_STRSTR): Remove <string.h> check.
16165         * m4/unicodeio.m4 (gl_UNICODEIO): Remove <string.h> check.
16166         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove
16167         <stdlib.h> and <string.h> checks.
16168         * m4/xreadlink.m4 (gl_XREADLINK): Remove <stdlib.h> check.
16169         * m4/yesno.m4 (gl_YESNO): Remove <stdlib.h> check.
16170
16171 2003-09-10  Bruno Haible  <bruno@clisp.org>
16172
16173         * lib/strcspn.c: Include <string.h> unconditionally.
16174         * lib/strpbrk.c: Include <string.h> unconditionally.
16175         * lib/strstr.c: Include <string.h> unconditionally.
16176         * lib/unicodeio.c: Include <string.h> unconditionally.
16177         * lib/setenv.c: Include <stdlib.h> and <string.h> unconditionally.
16178         * lib/unsetenv.c: Likewise.
16179         * lib/xreadlink.c: Include <stdlib.h> unconditionally.
16180         * lib/yesno.c: Include <stdlib.h> unconditionally.
16181         (rpmatch): Add prototype.
16182
16183 2003-09-09  Paul Eggert  <eggert@twinsun.com>
16184
16185         More patches to assume C89 or better.
16186         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Don't check for stdlib.h.
16187         * m4/getopt.m4 (gl_GETOPT): Don't check for string.h.
16188         * m4/getugroups.m4 (gl_GETUGROUPS): Do not check for standard C headers
16189         or for string.h.
16190         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Do not check for
16191         stdlib.h.
16192         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): Do not require standard
16193         C headers.
16194         * m4/hard-locale.m4 (gl_HARD_LOCALE): Do not check for stdlib.h,
16195         string.h.
16196         * m4/hash.m4 (gl_HASH): Do not check for stdlib.h, malloc, free.
16197         * m4/human.m4 (gl_HUMAN): Do not check for stdlib.h, string.h, getenv.
16198         * m4/idcache.m4 (gl_IDCACHE): Do not check for standard C headers,
16199         or for string.h.
16200         * m4/long-options.m4 (gl_LONG_OPTIONS): Do not check for stdlib.h.
16201         * m4/makepath.m4 (gl_MAKEPATH): Do not check for string.h or standard
16202         C headers.
16203         * m4/md5.m4 (gl_MD5): Don't check for limits.h, standard C headers,
16204         memcpy.
16205         * m4/sha.m4 (gl_SHA): Don't check for standard Cheaders, memcpy.
16206         * m4/memchr.m4 (jm_PREREQ_MEMCHR): Don't check for limits.h, stdlib.h.
16207         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): Don't check for string.h.
16208         * m4/memcoll.m4 (gl_MEMCOLL): Likewise.
16209         * m4/memrchr.c (gl_PREREQ_MEMRCHR): Don't check for limits.h.
16210         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): Don't check for stdlib.h,
16211         string.h, free.
16212         * m4/mktime.m4 (gl_PREREQ_MKTIME): Don't check for standard C headers.
16213         * m4/modechange.m4 (gl_MODECHANGE): Don't check for standard C headers.
16214         * m4/mountlist.m4 (gl_PREREQ_MOUNTLIST_EXTRA): Don't check for standard
16215         C headers, or for string.h.
16216         * m4/obstack.m4 (gl_OBSTACK): Don't check for stddefe.h, string.h.
16217         (gl_PREREQ_OBSTACK): Don't check for stdlib.h.
16218         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't check for standard C
16219         headers, memory.h, stdlib.h, string.h, strings.h.
16220         * m4/posixtm.m4 (gl_POSIXTM): Don't check for stdlib.h, string.h.
16221         * m4/posixver.m4 (gl_POSIXVER): Don't check for getenv.
16222         * m4/putenv.m4 (gl_PREREQ_PUTENV): Don't check for string.h, memcpy,
16223         strchr.
16224         * m4/readtokens.m4 (gl_READTOKENS): Don't check for standard C
16225         headers, memory.h, string.h.
16226         * m4/regex.m4 (jm_PREREQ_REGEX): Do not check for limits.h, string.h.
16227         * m4/rename.m4 (gl_PREREQ_RENAME): Do not check for stdlib.h, string.h,
16228         free.
16229         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Don't check for standard C
16230         headers.
16231         * m4/same.m4 (gl_SAME): Don't check for stdlib.h, string.h, free.
16232         * m4/save-cwd.m4 (gl_SAVE_CWD): Don't check for standard C headers.
16233         * m4/savedir.m4 (gl_SAVEDIR): Don't check for standard C headers.
16234         * m4/strchrnul.m4 (gl_PREREQ_STRCHRNUL): Don't check for string.h.
16235         * m4/xgetcwd.m4 (gl_XGETCWD): Don't check for stdlib.h.
16236
16237 2003-09-09  Paul Eggert  <eggert@twinsun.com>
16238
16239         More K&R removal.
16240
16241         * lib/acosl.c (main): Use a prototype.
16242         * lib/asinl.c, cosl.c, expl.c, frexpl.c, ldexpl.c, sinl.c,
16243         tanl.c: Likewise.
16244
16245         * lib/getloadavg.c (getloadavg, main): Define via prototypes.
16246
16247         * lib/getopt.h (struct option.name): Assume C89, and use 'const'.
16248         (getopt, etopt_long, getopt_long_only, _getopt_internal)
16249         [defined __GNU_LIBRARY__]: Assume C89, so we can always declare
16250         with a prototype.
16251         * lib/getopt.c (const): Remove macro.
16252         Include <string.h> unconditionally.
16253         (my_index): Remove; all uses changed to strchr.
16254         (strlen): Remove decl.
16255         (exchange): Remove forward decl; no longer needed.
16256         (exchange, _getopt_initialize, _getopt_internal, getopt, main):
16257         Define with prototype.
16258         * lib/getopt1.c (const): Remove macro.
16259         (getopt_long, getopt_long_only, main): Define with prototype.
16260
16261         * lib/getugroups.c: Include <string.h> unconditionally.
16262
16263         * lib/getusershell.c: Include <stdlib.h> unconditionally.
16264         (getusershell, setusershell, endusershell, readname, main):
16265         Define with prototypes.
16266
16267         * lib/group-member.c: Include group-member.h first.
16268         Include <stdlib.h> unconditionally.
16269
16270         * lib/hard-locale.c: Include hard-locale.h first.
16271         Include <stdlib.h>, <string.h> unconditionally.
16272
16273         * lib/hash.c (free, malloc): Remove decls.
16274         Include <stdlib.h> unconditionally.
16275
16276         * lib/human.c: Include <stdlib.h>, <string.h> unconditionally.
16277         (getenv): Do not declare.
16278
16279         * lib/idcache.c: Include <string.h> unconditionally.
16280
16281         * lib/long-options.c: Include long-options.h first, to test interface.
16282         Include <stdlib.h> unconditionally.
16283
16284         * lib/makepath.c: Include makepath.h first, to test interface.
16285         Include <stdlib.h> and <string.h> unconditionally.
16286
16287         * lib/linebuffer.c: Include <stdlib.h>.
16288         (free): Remove decl.
16289
16290         * lib/malloc.c: Include <stdlib.h>, for malloc; don't bother with
16291         stddef.h. rpl_malloc returns void *, not char *.
16292         * lib/realloc.c (rpl_realloc): Likewise.  Also, define with a
16293         prototype.
16294
16295         * lib/md5.h: Include <limits.h> unconditionally.
16296         (UINT_MAX_32_BITS): Don't worry about non-__STDC__ case.
16297         (__P): Remove; all uses removed.
16298         * lib/md5.c: Include "md5.h" first.
16299         (md5_init_ctx, md5_read_ctx, md5_finish_ctx, md5_stream,
16300         md5_buffer, md5_process_bytes, md5_process_block):
16301         Define with prototypes.
16302         * lib/sha.h (__P): Remove all uses.  (It wasn't defined??)
16303         * lib/sha.c: Include "sha.h" first.
16304         Include <stdlib.h>, <string.h> unconditionally.
16305
16306         * lib/memchr.c (__ptr_t): Remove; all uses changed to void *.
16307         * lib/memcmp.c (__ptr_t): Likewise.
16308         * lib/memrchr.c (__ptr_t): Likewise.
16309         * lib/memchr.c, memcmp.c, memcoll.c, memrchr.c:
16310         Include <string.h> unconditionally.
16311         * lib/memchr.c, memrchr.c: Include <limits.h> unconditionally.
16312         * lib/memchr.c: Include <stdlib.h> unconditionally.
16313         * lib/memchr.c (LONG_MAX): Remove.
16314         * lib/memrchr.c (LONG_MAX): Likewise.
16315         * lib/memchr.c (__memchr): Define via a prototype.
16316         * lib/memrchr.c (__memrchr): Likewise.
16317         * lib/memcmp.c (__P): Remove, and remove all uses.
16318         (memcmp_bytes, memcmp_common_alignment, memcmp_not_common_alignment):
16319         Remove forward decls; no longer needed.
16320         * lib/memcpy.c, memmove.c, memset.c: Include <stddef.h>.
16321         Use types required by C89 in prototype.
16322
16323         * lib/mkdir.c: Include <stdlib.h>, <string.h> unconditionally.
16324         * lib/savedir.c: Likewise.
16325         * lib/mkdir.c (free): Remove decl.
16326         * lib/rmdir.c (rmdir): Define with a prototype.
16327         * lib/savedir.c: Include savedir.h first, to test interface.
16328
16329         * lib/mktime.c (STDC_HEADERS): Remove.
16330         Include <stdlib.h>, <string.h> unconditionally.
16331
16332         * lib/modechange.c: Include <stdlib.h> unconditionally.
16333         (malloc): Remove decl.
16334
16335         * lib/mountlist.c: Include <stdlib.h>, <string.h> unconditionally.
16336         (free): Remove decl.
16337
16338         * lib/obstack.h (PTR_INT_TYPE) [!defined __PTRDIFF_TYPE__]:
16339         Define to ptrdiff_t, without bothering to check HAVE_STDDEF_H.
16340         (This type really should be intptr_t, but that's a C99ism.)
16341         (_obstack_memcpy): Remove: all uses changed to memcpy.
16342         Include <string.h> unconditionally.
16343         (struct obstack): Assume __STDC__ for types of members
16344         chunkfun, freefun, extra_arg.
16345         (_obstack_newchunk, _obstack_free, _obstack_begin, _obstack_begin_1,
16346         _obstack_memory_used, obstack_alloc_failed_handler, obstack_init,
16347         obstack_begin, obstack_specify_allocation,
16348         obstack_specify_allocation_with_arg, obstack_chunkfun,
16349         obstack_freefun, obstack_free) [! (defined __STDC__ && __STDC__)]:
16350         Remove unprototyped decls and the macros that use them.
16351         * lib/obstack.c (POINTER): Remove.  All uses changed to void *.
16352         (obstack_alloc_failed_handler, CALL_CHUNKFUN, CALL_FREEFUN,
16353         _obstack_begin, _obstack_begin_1, _obstack_allocated_p)
16354         (defined __STDC__ && __STDC__)]:
16355         Remove nonprototyped code.
16356         Include <stdlib.h> unconditionally.
16357         (_obstack_begin, _obstack_begin_1, _obstack_newchunk,
16358         _obstack_allocated_p, _obstack_free, obstack_free,
16359         _obstack_memory_used, print_and_abort):
16360         Define using prototypes.
16361         (obstack_1grow, obstack_1grow_fast, obstack_alloc, obstack_base,
16362         obstack_blank, obstack_blank_fast, obstack_copy, obstack_copy0,
16363         obstack_finish, obstack_grow, obstack_grow0, obstack_make_room,
16364         obstack_next_free, obstack_object_size, obstack_room) [0]:
16365         Remove unused, unprototyped code.
16366
16367         * lib/path-concat.c: Include <stdlib.h>, <string.h> unconditionally.
16368
16369         * lib/physmem.c (physmem_total, physmem_available, main): Define
16370         with prototypes.
16371
16372         * lib/posixtm.c: Include <stdlib.h>, <string.h> unconditionally.
16373         (main): Define with a prototype.
16374
16375         * lib/posixver.c (getenv): Remove decl.
16376
16377         * lib/putenv.c (malloc): Returns void *, not char *.
16378         Include <string.h> unconditionally.
16379         (strchr, memcpy, NULL): Do not define.
16380
16381         * lib/readtokens.c: Include readtokens.h first, to test interface.
16382         Include <stdlib.h>, <string.h> unconditionally.
16383         (init_tokenbuffer): Define with a prototype.
16384
16385         * lib/regex.c (PARAMS): Remove.  All uses removed.
16386         All uses of _RE_ARGS removed, too.
16387         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
16388         unconditionally.
16389         (bzero): Assume memset exists.
16390         (memcmp, memcpy, NULL): Remove.
16391         (SIGN_EXTEND_CHAR): Remove; all uses replaced by casts to signed
16392         char, or assignments to local vars of type signed char.
16393         (init_syntax_once, PREFIX(extract_number_and_incr),
16394         PREFIX(print_partial_compiled_pattern),
16395         PREFIX(print_compiled_pattern), PREFIX(print_double_string),
16396         convert_mbs_to_wcs, print_fastmap, re_set_syntax,
16397         PREFIX(regex_grow_registers), PREFIX(regex_compile),
16398         PREFIX(store_op1), PREFIX(store_op2), PREFIX(insert_op1),
16399         PREFIX(insert_op2), PREFIX(at_begline_loc_p),
16400         PREFIX(at_endline_loc_p), group_in_compile_stack, insert_space,
16401         wcs_compile_range, byte_compile_range, truncate_wchar,
16402         PREFIX(re_compile_fastmap), re_compile_fastmap, re_set_registers,
16403         re_search, re_search_2, PREFIX(re_search_2), re_match, re_match_2,
16404         count_mbs_length, wcs_re_match_2_internal,
16405         byte_re_match_2_internal, PREFIX(group_match_null_string_p),
16406         PREFIX(alt_match_null_string_p),
16407         PREFIX(common_op_match_null_string_p), PREFIX(bcmp_translate),
16408         re_compile_pattern, re_comp, re_exec, regcomp, regexec, regerror,
16409         regfree, PREFIX(extract_number)): Define with prototype.  Remove
16410         now-unnecessary declaration, if any.
16411         (byte_compile_range, PREFIX(regex_compile), re_comp, re_exec,
16412         regcomp, regexec):
16413         Remove now-unnecessary casts among pointer types.
16414         * lib/regex.h (_RE_ARGS): Remove.  All uses removed.
16415
16416         * lib/rename.c: Include <stdlib.h>, <string.h> unconditionally.
16417         (free): Remove decl.
16418
16419         * lib/rpmatch.c: Include <stdlib.h> unconditionally.
16420
16421         * lib/same.c: Include <stdlib.h>, <string.h> unconditionally.
16422         (free): Remove decl.
16423
16424         * lib/save-cwd.c: Include <stdlib.h> unconditionally.
16425         * lib/xgetcwd.c: Likewise.
16426
16427         * lib/stat.c: Include <stdlib.h>, <string.h> unconditionally.
16428         (free): Remove decl.
16429
16430         * lib/strchrnul.c (strchrnul): Define with a prototype.
16431         Fix bug: c_in was not converted to char before searching.
16432
16433         The following changes are not K&R related:
16434
16435         * lib/group-member.h: Include <sys/types.h>, so that this file is
16436         self-contained.
16437         * lib/makepath.h: Likewise.
16438
16439         * lib/getusershell.c (readname, default_index, line_size, readname):
16440         Use size_t, not int, for sizes.
16441         (readname): If the size overflows, report an error instead of
16442         looping forever.
16443
16444 2003-09-09  Paul Eggert  <eggert@twinsun.com>
16445
16446         * config/srclist.txt: Do not get getopt.h, getopt1.c, or regex.h from
16447         libc.
16448
16449 2003-09-09  Paul Eggert  <eggert@twinsun.com>
16450
16451         * README: New section: portability guidelines.
16452
16453 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
16454
16455         * m4/getndelim2.m4 (gl_PREREQ_GETNDELIM2): Assume stdlib.h per the
16456         C89 spec.
16457
16458 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
16459
16460         * lib/getndelim2.c: Assume stdlib.h per the C89 spec.
16461
16462 2003-09-08  Paul Eggert  <eggert@twinsun.com>
16463
16464         Assume C89 or better; remove K&R cruft.
16465         A few of these changes were first proposed by Derek Robert Price
16466         in <http://mail.gnu.org/archive/html/bug-gnulib/2003-07/msg00105.html>.
16467
16468         * lib/addext.c: Include <string.h> unconditionally.
16469         * lib/backupfile.c: Include <string.h>, <stdlib.h> unconditionally.
16470         Don't declare getenv or malloc.
16471
16472         * lib/alloca.c: Include <string.h>, <stdlib.h> unconditionally.
16473         (POINTER_TYPE, pointer): Remove; all uses changed to void *.
16474         (NULL): Remove.
16475         (find_stack_direction, alloca): Use prototypes.
16476
16477         * lib/atexit.c (atexit): Define using a prototype.
16478
16479         * lib/basename.c, dirname.c, stripslash.c:
16480         Include <string.h> unconditionally.
16481
16482         * lib/bcopy.c: Include <stddef.h>.
16483         (bcopy): Define with prototype, using 'const' and 'void' and 'size_t'.
16484
16485         * lib/canon-host.c: Include <stdlib.h>, <string.h> unconditionally.
16486
16487         * lib/error.h (error, error_at_line, error_print_progname)
16488         [! (defined (__STDC__) && __STDC__)]: Remove decls.
16489         * lib/error.c: Include error.h first, to check interface.
16490         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
16491         (VA_START): Remove; all uses changeed to va_start.
16492         (exit, strerror): Remove decls.
16493         (error_print_progname): Prototype uncondionally.
16494         Don't include <errno.h>; no longer needed.
16495         (private_strerror): Remove.
16496         (error_tail): Always define.
16497         (error, error_at_line): Assume C89 or better; always use prototypes.
16498         * lib/fatal.c: Include "fatal.h" first, to test interface.
16499         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
16500         (VA_START): Remove; all uses changed to va_start.
16501         [! (HAVE_VPRINTF || HAVE_DOPRNT || _LIBC)]: Remove support for
16502         this case.
16503         (exit): Remove decl.
16504         (fatal): Prototype unconditionally.  Assume va_start works.
16505         Abort at end, to pacify gcc.
16506
16507         * lib/euidaccess.c (main): Define with a prototype.
16508
16509         * lib/exclude.c: Include <stdlib.h>, <string.h> unconditionally.
16510
16511         * lib/exitfail.c: Include <stdlib.h> unconditionally.
16512
16513         * lib/fnmatch_.h (__P): Remove.  All uses changed to assume
16514         prototypes.
16515         * lib/fnmatch.c: Include fnmatch.h first, to test interface.
16516         Include <string.h>, <stddef.h>, <stdlib.h> unconditionally.
16517         (getenv): Remove decl.
16518         (fnmatch): Define using a prototype.
16519         * lib/fnmatch_loop.c (FCT): Remove forward decl; no longer needed.
16520         (FCT): Define using a prototype.
16521
16522         * lib/getdate.y: Include <stdlib.h>, <string.h> unconditionally.
16523
16524         * lib/gethostname.c: Include <stddef.h>.
16525         (gethostname): Define with prototype.  Length is size_t, not int.
16526
16527 2003-09-08  Paul Eggert  <eggert@twinsun.com>
16528
16529         Assume C89 or better; remove K&R cruft.
16530         * m4/alloca.m4 (gl_PREREQ_ALLOCA): Don't check for stdlib.h, string.h.
16531         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for stdlib.h,
16532         string.h, getenv, malloc.
16533         * m4/dirname.m4 (gl_DIRNAME): Don't check for string.h or C standard
16534         headers.
16535         * m4/canon-host.m4 (gl_CANON_HOST): Don't check for string.h, stdlib.h.
16536         * m4/error.m4 (jm_PREREQ_ERROR): Do not require STDC headers, and
16537         do not check for strerror.
16538         * m4/exclude.m4: Do not check for stdlib.h, string.h, strings.h.
16539         * m4/exitfail.m4 (gl_EXITFAIL): Do not check for stdlib.h.
16540         * m4/fatal.m4 (gl_FATAL): Do not require STDC headers, and
16541         do not check for doprnt or vprintf.
16542         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH_EXTRA): Remove.  All uses removed.
16543         * m4/getdate.m4 (gl_GETDATE): Don't check for stdlib.h or string.h.
16544
16545 2003-09-08  Paul Eggert  <eggert@twinsun.com>
16546
16547         * lib/getversion.c: Remove; was migrated to backupfile.c in 1997.
16548         getversion.c should have been removed then, but was accidentally
16549         preserved.
16550
16551         * lib/utime.c [!HAVE_UTIMES_NULL]: Include <sys/stat.h>, <fcntl.h>.
16552         (utime_null): Fix typo: 'st' was sometimes called 'sb'.
16553
16554 2003-09-08  Karl Berry  <karl@gnu.org>
16555
16556         * config/config.sub, config.guess, srclistvars.sh: update from savannah
16557                 config, forget about prep.
16558
16559         * config/depcomp, missing: update from automake.
16560
16561 2003-09-07  Paul Eggert  <eggert@twinsun.com>
16562
16563         * modules/time_r: Depend on 'restrict'.  Fix from Simon Josefsson in
16564         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00028.html>.
16565
16566 2003-09-07  Paul Eggert  <eggert@twinsun.com>
16567
16568         * lib/time_r.c (gmtime_r, localtime_r): Fix silly typo: missing arg to
16569         copy_tm_result.  Bug reported by Simon Josefsson in
16570         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00028.html>.
16571
16572 2003-09-06  Paul Eggert  <eggert@twinsun.com>
16573
16574         * m4/time_r.m4: New file.
16575         * m4/mktime.m4 (gl_PREREQ_MKTIME): Remove check for limits.h.
16576         * m4/timegm.m4 (gl_FUNC_TIMEGM): Assume that timegm is buggy if mktime
16577         is. Check for timegm declaration.
16578         (gl_PREREQ_TIMEGM): Require gl_FUNC_MKTIME.
16579         Do not check for gmtime_r.
16580         Replace mktime if __mktime_internal does not exist and if mktime
16581         hasn't been replaced already.
16582
16583 2003-09-06  Paul Eggert  <eggert@twinsun.com>
16584
16585         * lib/time_r.c, lib/time_r.h: New files.
16586
16587         * lib/mktime.c (my_mktime_localtime_r): Remove; all uses changed to
16588         __localtime_r.
16589         (__localtime_r) [!defined _LIBC]: New macro.  Include <time_r.h>.
16590         (__mktime_internal) [!defined _LIBC]: Now extern, not static.
16591
16592         * lib/strftime.c (my_strftime_gmtime_r): Remove; all uses changed to
16593         __gmtime_r.
16594         (my_strftime_localtime_r): Remove; all uses changed to __localtime_r.
16595         (__gtime_r, __localtime_r) [!HAVE_TM_GMTOFF]: New macros.
16596         Include <time_r.h>.
16597
16598         * lib/timegm.c: Switch to glibc implementation, with the following
16599         changes:
16600         [defined HAVE_CONFIG_H]: Include <config.h>.
16601         [!defined _LIBC]: Include "timegm.h" rather than <time.h>.
16602         (__mktime_internal) [!defined _LIBC]: New decl.
16603         (__gmtime_r) [!defined _LIBC]: New macro and function.
16604         (timegm): Use a prototype, since gnulib assumes C89.
16605         Do not bother declaring tmp to be const, as it's not really usefu.
16606         * lib/timegm.h: Hoist "#include <time.h>" out of #ifdef.
16607         (timegm): Declare only if HAVE_DECL_TIMEGM.
16608
16609 2003-09-06  Paul Eggert  <eggert@twinsun.com>
16610
16611         * MODULES.html.sh (func_all_modules): Add time_r.
16612         * modules/time_r: New file.
16613         * modules/mktime, modules/strftime, modules/timegm: Depend on time_r.
16614         * modules/timegm: Depend on mktime.  Change maintainer to "all, glibc".
16615
16616 2003-09-03  Paul Eggert  <eggert@twinsun.com>
16617
16618         * lib/human.c (human_readable): Fix bug that rounded 10501 to 10k.
16619         Bug reported by Lute Kamstra in
16620         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00003.html>.
16621
16622         * lib/getdate.y (relative_time_table): Use tDAY_UNIT for "tomorrow",
16623         "yesterday", "today", and "now" rather than tMINUTE_UNIT.  Of
16624         course with correspondingly smaller numbers for tomorrow and
16625         yesterday.  From Tadayoshi Funaba.  Originally installed into
16626         sh-utils on 1999-08-07, but the patch got lost (I guess during the
16627         coreutils merge?).
16628
16629 2003-08-31  Simon Josefsson  <jas@extundo.com>
16630
16631         * modules/timegm: New file.
16632         * MODULES.html.sh (func_all_modules): Add timegm.
16633
16634 2003-08-31  Simon Josefsson  <jas@extundo.com>
16635
16636         * m4/timegm.m4: New file.
16637
16638 2003-08-31  Simon Josefsson  <jas@extundo.com>
16639
16640         * lib/timegm.h: New file.
16641         * lib/timegm.c: New file.  Based on
16642         wget-1.8.2/src/http.c:mktime_from_utc.
16643
16644 2003-08-31  Karl Berry  <karl@gnu.org>
16645
16646         * lib/argp.h: update from libc.
16647
16648 2003-08-28  Bruno Haible  <bruno@clisp.org>
16649
16650         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Remove AC_DEFINE of fnmatch here.
16651         This avoids havoc on compilers for which '#define fnmatch rpl_fnmatch'
16652         followed by '#define fnmatch fnmatch_posix' gives an error.
16653
16654 2003-08-28  Bruno Haible  <bruno@clisp.org>
16655
16656         * lib/binary-io.h: Undefine O_BINARY before defining it. This avoids a
16657         warning on QNX, which defines O_BINARY to 000000.
16658
16659 2003-08-27  Jim Meyering  <jim@meyering.net>
16660
16661         * m4/mkstemp.m4: Require that the system mkstemp be able to create
16662         70 temporary files, not just 30.  Tru64 V4.0F's mkstemp function
16663         would fail after 32.  Reported by Danny Levinson.  Details here:
16664         http://mail.gnu.org/archive/html/bug-coreutils/2003-08/msg00124.html
16665
16666 2003-08-24  Bruno Haible  <bruno@clisp.org>
16667
16668         * lib/binary-io.h: Include <stdio.h>, to avoid a compilation error when
16669         MSVC7 <stdio.h> is included later.
16670
16671 2003-08-22  Simon Josefsson  <jas@extundo.com>
16672
16673         * modules/strndup (Makefile.am): Add strndup.h to lib_SOURCES.
16674
16675 2003-08-20  Karl Berry  <karl@gnu.org>
16676
16677         * m4/lib-ld.m4: serial 1003 from gettext, no changes besides serial.
16678
16679 2003-08-20  Bruno Haible  <bruno@clisp.org>
16680
16681         * modules/progname: New file.
16682         * MODULES.html.sh (func_all_modules): Add progname.
16683
16684 2003-08-20  Bruno Haible  <bruno@clisp.org>
16685
16686         * lib/progname.h: New file, from GNU gettext.
16687         * lib/progname.c: New file, from GNU gettext.
16688         * lib/progreloc.c: New file, from GNU gettext.
16689
16690 2003-08-19  Jim Meyering  <jim@meyering.net>
16691
16692         * m4/lib-ld.m4: Revert yesterday's change, per Bruno's request here:
16693         http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00155.html
16694
16695 2003-08-19  Bruno Haible  <bruno@clisp.org>
16696
16697         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Don't check for <string.h> any
16698         more.
16699
16700 2003-08-19  Bruno Haible  <bruno@clisp.org>
16701
16702         * lib/xstrdup.c: Assume <string.h> exists.
16703
16704 2003-08-18  Paul Eggert  <eggert@twinsun.com>
16705
16706         * modules/stdbool: Add BUILT_SOURCES.  Prefer $@ to target name
16707         in makefile rules.
16708
16709 2003-08-18  Jim Meyering  <jim@meyering.net>
16710
16711         * m4/getloadavg.m4: Use [\t ], not [ \t] (where \t is a literal TAB).
16712         * m4/lib-ld.m4: Likewise.
16713
16714 2003-08-18  Jim Meyering  <jim@meyering.net>
16715
16716         * lib/setenv.h: Indent nested cpp directive.
16717         * lib/vasnprintf.c: Remove trailing blanks.
16718
16719 2003-08-17  Simon Josefsson  <jas@extundo.com>
16720
16721         * modules/xstrndup: New file.
16722         * MODULES.html.sh (func_all_modules): Add xstrndup.
16723
16724 2003-08-17  Simon Josefsson  <jas@extundo.com>
16725
16726         * modules/argp: Fix autoconf macro name. Add more dependencies.
16727
16728 2003-08-17  Simon Josefsson  <jas@extundo.com>
16729
16730         * m4/xstrndup.m4: New file.
16731
16732 2003-08-17  Simon Josefsson  <jas@extundo.com>
16733
16734         * m4/argp.m4: New file.
16735
16736 2003-08-17  Simon Josefsson  <jas@extundo.com>
16737             Bruno Haible  <bruno@clisp.org>
16738
16739         * lib/xstrndup.h: New file.
16740         * lib/xstrndup.c: New file.
16741
16742 2003-08-17  Bruno Haible  <bruno@clisp.org>
16743
16744         * modules/strndup (Files, Include): Add lib/strndup.h.
16745
16746 2003-08-17  Bruno Haible  <bruno@clisp.org>
16747
16748         * modules/euidaccess (Files): Add lib/euidaccess.h.
16749
16750 2003-08-17  Bruno Haible  <bruno@clisp.org>
16751
16752         * lib/strndup.h: New file.
16753
16754 2003-08-17  Bruno Haible  <bruno@clisp.org>
16755
16756         * gnulib-tool (func_create_testdir): Handle gl_USE_SYSTEM_EXTENSIONS
16757         like AC_GNU_SOURCE.
16758         * modules/extensions (configure.ac): Comment out the invocation of
16759         gl_USE_SYSTEM_EXTENSIONS.
16760
16761 2003-08-16  Paul Eggert  <eggert@twinsun.com>
16762
16763         Merges from coreutils, etc.
16764         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Insert ':' to prevent a syntax
16765         error in gl_FUNC_MATCH.  This fixes a bug I introduced on 2003-05-28.
16766         * m4/readlink.m4 (gl_PREREQ_READLINK): Renamed from gl_PREREQ_READLINE,
16767         fixing a typo.
16768         * m4/host-os.m4 (UTILS_HOST_OS): Add GNU/NetBSD, GNU/FreeBSD.
16769         * m4/hash.m4 (gl_HASH): Use AM_STDBOOL_H, not AC_HEADER_STDBOOL.
16770
16771 2003-08-16  Paul Eggert  <eggert@twinsun.com>
16772
16773         Document merge from coreutils.
16774         * modules/alloca: Append $(ALLOCA_H) to BUILT_SOURCES.
16775         * modules/fnmatch: Append $(FNMATCH_H) to BUILT_SOURCES.
16776         * modules/utime: Add m4/utimes-null.m4.
16777
16778 2003-08-16  Paul Eggert  <eggert@twinsun.com>
16779
16780         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Do not normalize white
16781         space, undoing this 2003-08-12 change:
16782         <http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00080.html>
16783
16784 2003-08-16  Paul Eggert  <eggert@twinsun.com>
16785
16786         * config/srclist.txt: Get regex.h, strdup.c, strtoll.c,
16787         strtoul.c from libc, undoing this 2003-08-12 change:
16788         <http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00080.html>
16789
16790 2003-08-16  Jim Meyering  <jim@meyering.net>
16791
16792         Merges from coreutils.
16793         * m4/readdir.m4 (GL_FUNC_READDIR): Change name to have GL_ (not jm_)
16794         prefix.  Adjust cache variables similarly.  Create 500 rather than
16795         just 300 files, to exercise bug on Darwin6.5, too.
16796         * m4/perl.m4 (jm_PERL): Use $am_missing_run, not undefined
16797         $missing_dir.
16798         * m4/jm-winsz1.m4: Require AC_SYS_POSIX_TERMIOS, not
16799         AM_SYS_POSIX_TERMIOS.
16800         Reported by mkc@mathdogs.com.
16801         Also change use of $am_cv_sys_posix_termios
16802         to $ac_cv_sys_posix_termios.  Reported by Andreas Schwab.
16803         * m4/getgroups.m4 (jm_FUNC_GETGROUPS): Rewrite to use AC_FUNC_GETGROUPS
16804         and (if needed) to call AC_LIBOBJ and to set GETGROUPS_LIB.
16805         * m4/fsusage.m4 [__GLIBC__]: GNU libc's statvfs stats each mount point
16806         in /proc/mounts until it finds one with matching device number.  This
16807         is unnecessary when the FILE argument *is* a mount point.  No stat call
16808         is necessary in that case.  So, disable the statvfs-testing code on
16809         systems with GNU libc.  Reported by Andrei Gaponenko via Tim Waugh
16810         as RedHat bug# 84846.
16811         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
16812         to 1MB, so as not to render systems with no stack size limit (e.g.,
16813         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
16814         Include <unistd.h>.  On some systems,
16815         it is required for the definition of _SC_PAGESIZE.
16816
16817 2003-08-16  Jim Meyering  <jim@meyering.net>
16818
16819         Merge from coreutils.
16820         * lib/xstrtoimax.c: #else #if -> #elif.
16821         * lib/xstrtoumax.c: Likewise.
16822
16823 2003-08-16  Jim Meyering  <jim@meyering.net>
16824
16825         * m4/utimes.m4 (gl_FUNC_UTIMES): New file.
16826         * m4/utimes.m4: Removed.
16827         * m4/utimes-null.m4: Renamed from utimes.m4.
16828
16829         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
16830         to 1MB, so as not to render systems with no stack size limit (e.g.,
16831         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
16832         Include <unistd.h>.  On some systems,
16833         it is required for the definition of _SC_PAGESIZE.
16834
16835 2003-08-16  Jim Meyering  <jim@meyering.net>
16836         and Paul Eggert  <eggert@cs.ucla.edu>
16837
16838         Merges from coreutils, etc.
16839
16840         * m4/jm-macros.m4 (AC_LANG_SOURCE(C)): New macro, undefine, then define
16841         using the latest version from cvs.  This avoids problems with #line
16842         directives using a vendor (Sun) compiler.
16843         (jm_MACROS): Bump prerequisite from 2.52g to 2.57.
16844         Don't set GETGROUPS_LIB here; now it's
16845         done via getgroups.m4's wrapper function.
16846         AC_SUBST OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, and MAN here,
16847         rather than just in sh-util/configure.in, so that the
16848         now-shared-by-fileutils-and-textutils lib/Makefile.am are all the
16849         same.
16850         Use AC_CONFIG_LIBOBJ_DIR(lib) to tell the new
16851         AC_FUNC_GETLOADAVG where to find getloadavg.c.
16852         Require AC_FUNC_FTW, gt_INTTYPES_PRI, gl_CLOCK_TIME,
16853         UTILS_SYS_OPEN_MAX, GL_FUNC_GETCWD_PATH_MAX, GL_FUNC_READDIR,
16854         gl_FSUSAGE, gl_MOUNTLIST, AC_FUNC_CANONICALIZE_FILE_NAME.
16855         Remove code that is now done by the newly-required macros.
16856         Append $(EXEEXT) to DF_PROG.
16857         AC_LIBOBJ fchdir-stub if fchdir doesn't exist; similarly for fchown.
16858         Do not invoke or require the following here,
16859         since prereq.m4 or some gnulib .m4 now does this for us:
16860         gl_REGEX, UTILS_FUNC_MKDIR_TRAILING_SLASH, jm_BISON, gl_FUNC_MKTIME,
16861         jm_FUNC_LSTAT, jm_FUNC_STAT, jm_FUNC_REALLOC, jm_FUNC_MALLOC,
16862         jm_FUNC_NANOSLEEP, jm_FUNC_READDIR, jm_FUNC_MEMCMP,
16863         jm_FUNC_GLIBC_UNLOCKED_IO, AC_FUNC_FNMATCH_GNU, jm_FUNC_PUTENV,
16864         jm_AC_PREREQ_XSTRTOUMAX, jm_AC_PREREQ_XSTRTOIMAX,
16865         AC_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, AC_FUNC_VPRINTF,
16866         vb_FUNC_RENAME, UTILS_FUNC_MKSTEP, jm_FUNC_UTIME, AM_FUNC_GETLINE,
16867         AC_FUNC_OBSTACK.
16868         Do not replace the following functions, as this is now the job
16869         of some gnulib .m4: strcasecmp, strncasecmp, dup2, gethostname,
16870         getusershell, sig2str, strcspn, stpcpy, strstr, strtol, strtoul
16871         strpbrk, euidaccess, memcmp, rmdir, rpmatch, strndup, strverscmp,
16872         atexit getpass, strdup, getpagesize.
16873         Replace 'raise'.
16874         Do not check for the following functions, as this is now the job
16875         of some gnulib .m4: bcopy, canonicalize_file_name, fchdir, ftime,
16876         getcwd, getmntinfo, resolvepath.  But check for sysctl, setreuid,
16877         setregid.
16878         (jm_CHECK_ALL_HEADERS): Do not check for fenv.h.
16879         Check for sys/sysctl.h.
16880         (jm_CHECK_ALL_TYPES): Do not require AC_STRUCT_TM, AC_STRUCT_TIMEZONE,
16881         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Invoke gt_TYPE_SSIZE_T instead
16882         of checking for ssize_t ourselves.
16883
16884         * m4/prereq.m4 (jm_PREREQ): Don't invoke macros; AC_REQUIRE them.
16885         Require every macro that gnulib/modules/* suggests for us.
16886         (jm_PREREQ_ADDEXT): New macro.
16887         (jm_PREREQ_STAT): Check for 'struct statfs' on Ultrix 4.4.
16888         Require jm_AC_TYPE_LONG_LONG instead of invoking it.
16889
16890         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): New macro.
16891         (gl_PHYSMEM): Use it.
16892         Also check for `table' function.
16893         Check for new headers and functions.
16894         Add check for sys/sysmp.h.
16895         With suggestions from Kaveh Ghazi.
16896         Ignore headers that are present but cannot be compiled.  This
16897         avoids spurious warnings on Solaris 9 sparc with Forte Developer 7
16898         C 5.4.
16899
16900 2003-08-15  Paul Eggert  <eggert@twinsun.com>
16901
16902         Document merge from coreutils.
16903         * modules/userspec: Depend on posixver.
16904         * modules/strftime: Depend on tzset.
16905
16906 2003-08-15  Paul Eggert  <eggert@twinsun.com>
16907
16908         * lib/config.charset, ref-add.sin, ref-del.sin: Use three spaces,
16909         rather than tab, after '#' in shell-script copyright notices.
16910         Suggested by Bruno Haible.
16911
16912 2003-08-15  Paul Eggert  <eggert@twinsun.com>
16913
16914         * config/srclist-update: Use three spaces, rather than tab, after '#'
16915         in shell-script copyright notices.  Suggested by Bruno Haible.
16916         Remove unnecessary parenthesization in regular expression.
16917
16918 2003-08-15  Jim Meyering  <jim@meyering.net>
16919
16920         Merge from coreutils.
16921         * lib/xgethostname.c: Include <stdlib.h>.
16922         (xghostname): Don't exit for anything other than memory-related
16923         failure; just return NULL.
16924         * lib/userspec.c: Include "posixver.h".
16925         (parse_user_spec): Accept `.' as a separator only
16926         in pre-POSIX-200112 mode.
16927         * lib/strtoimax.c: Use #elif rather than #else #if.
16928         * lib/strftime.c (my_strftime) [!_LIBC && HAVE_TZNAME && HAVE_TZSET]:
16929         Remove function, now that we can rely on a working tzset function.
16930         [!_LIBC]: Ensure that the required autoconf test has been run.
16931         [!defined _NL_CURRENT && HAVE_STRFTIME]:
16932         Use underlying_strftime for %r.
16933         * lib/sha.c: Merge in some clean-up and optimization changes from
16934         glibc.
16935         * lib/sha.c (sha_stream) [BLOCKSIZE]: Move definition to top of file.
16936         Ensure that it is a multiple of 64.
16937         Rearrange loop exit tests so as to avoid performing an
16938         additional fread after encountering an error or EOF.
16939         * lib/realloc.c: Update copyright date.
16940
16941 2003-08-15  Jim Meyering  <jim@meyering.net>
16942         and Paul Eggert  <eggert@twinsun.com>
16943
16944         Merge from coreutils.
16945         * lib/readutmp.h (HAVE_UTMPX_H): Undef if struct utmp has the ut_exit
16946         member but strut utmpx does not.  Needed for AIX 4.3.3.
16947         (UT_EXIT_E_TERMINATION, UT_EXIT_E_EXIT): Define.
16948
16949 2003-08-15  Jim Meyering  <jim@meyering.net>
16950         and Paul Eggert  <eggert@cs.ucla.edu>
16951
16952         Merges from coreutils, etc.
16953         * m4/strftime.m4 (_jm_STRFTIME_PREREQS):
16954         Require gl_FUNC_TZSET_CLOBBER.
16955         * m4/readutmp.m4 (gl_READUTMP): Check for ut_exit.ut_exit,
16956         ut_exit.e_exit, ut_exit.ut_termination, and ut_exit.e_termination
16957         members.
16958
16959 2003-08-14  Paul Eggert  <eggert@twinsun.com>
16960
16961         Help the merge from coreutils.
16962         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): New macro.
16963         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use it.
16964         * m4/tzset.m4: Use it too.
16965
16966 2003-08-14  Paul Eggert  <eggert@twinsun.com>
16967
16968         * modules/tzset: New file.
16969
16970 2003-08-14  Jim Meyering  <jim@meyering.net>
16971
16972         Merges from coreutils.
16973         * modules/fnmatch: Use the `$(FNMATCH_H)' notation for AC_REPLACED
16974         variable names, rather than @FNMATCH_H@.
16975         * modules/alloca: Likewise for $(ALLOCA_H).
16976
16977         * modules/fnmatch (fnmatch.h): Use `$@' in the commands, in place of
16978         the three copies of the literal target, `fnmatch.h'.
16979         * modules/alloca (alloca.h): Likewise.
16980
16981 2003-08-14  Jim Meyering  <jim@meyering.net>
16982
16983         Merge from coreutils.
16984         * m4/tzset.m4: New file.
16985         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Move the
16986         MOUNTED_VMOUNT test to precede the MOUNTED_GETMNTENT1 tests, since
16987         otherwise, AIX 5.1 systems would end up using the latter.
16988         MOUNTED_GETMNTENT1 support is inadequate on such systems: 1) detecting
16989         whether a file system is remote doesn't work  2) the MOUNTED_VMOUNT
16990         code reports the HOSTNAME:/MOUNT_POINT, while the MOUNTED_GETMNTENT1
16991         code reports merely /MOUNT_POINT.  Reported by Mike Jetzer.
16992
16993 2003-08-14  Jim Meyering  <jim@meyering.net>
16994
16995         Merge from coreutils.
16996         * lib/obstack.h: Whitespace changes.
16997         * lib/mountlist.c: Remove anachronistic casts of xmalloc, xrealloc,
16998         and xcalloc return values.
16999         (read_filesystem_list) [MOUNTED_GETFSSTAT]:
17000         Use MNT_NOWAIT, rather than MNT_WAIT.  Otherwise, `df DIR' could
17001         hang on OSF/1 5.1 for DIR on both local and remote file systems.
17002         Reported by (and fix confirmed by) Nelson H. F. Beebe.
17003         (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
17004         error from mntctl.
17005         Use mntctl's return value to drive the entry-processing loop, since
17006         we can't rely on the value of the vmt_length member in the last
17007         entry.  On some systems doing so could result in exhausting
17008         virtual memory.  Based in part on a patch from Mike Jetzer.
17009
17010 2003-08-14  Jim Meyering  <jim@meyering.net>
17011         and Paul Eggert  <eggert@twinsun.com>
17012
17013         Merges from coreutils, plus other fixes.
17014         * lib/physmem.c: Merge in portability changes from gcc/libiberty
17015         to support AIX, IRIX, Tru64, and Windows.  See the ChangeLog there
17016         for credits and details.  Thanks to Kaveh Ghazi for helping
17017         to keep these files in sync.
17018         (ARRAY_SIZE): Define it.
17019         (physmem_total, physmem_available): Add comments. From Kaveh Ghazi.
17020         * lib/memcasecmp.c: Remove unnecessary parentheses after 'defined'.
17021         (memcasecmp): Don't assume size_t fits in unsigned int.
17022         Remove casts and duplicate code.
17023         * lib/md5.c: Include <string.h> and <stdlib.h> unconditionally.
17024         (memcpy): Remove definition.
17025         Merge in some clean-up and optimization changes from glibc.
17026         [BLOCKSIZE]: Move definition to top of file.
17027         Ensure that it is a multiple of 64.
17028         Rearrange loop exit tests so as to avoid performing an
17029         additional fread after encountering an error or EOF.
17030         * lib/md5.h (md5_uintptr): Define.
17031         * lib/makepath.c (CLEANUP_CWD): Report an error if we failed to
17032         return to the initial working directory.  Preserve errno
17033         for caller.
17034         * lib/idcache.c: Include "xalloc.h".
17035         (xmalloc, xrealloc): Remove decls.
17036         (getuser): Remove casts no longer required in C89.
17037         * lib/human.c: Include stdio.h, for sprintf.
17038         * lib/group-member.c: Include "xalloc.h".
17039         (xmalloc, xrealloc): Remove decls.
17040         (get_group_info): Remove casts no longer required in C89.
17041         * lib/getusershell.c (readname): Remove casts no longer required in
17042         C89.
17043         * lib/gettimeofday.c (rpl_gmtime, rpl_tzset): New functions.
17044         * lib/getline.c: Whitespace fix, from coreutils.
17045
17046 2003-08-13  Paul Eggert  <eggert@twinsun.com>
17047
17048         * m4/exclude.m4 (gl_EXCLUDE): Require AC_C_INLINE, AC_HEADER_STDC.
17049         Check for isascii.
17050
17051         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
17052         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
17053         Undo previous (whitespace-only) change.
17054
17055 2003-08-13  Paul Eggert  <eggert@twinsun.com>
17056
17057         * lib/exclude.c: Include <ctype.h>
17058         (IN_CTYPE_DOMAIN): New macro.
17059         (is_space): New fn.
17060         (add_exclude_file): If LINE_END is a space, ignore trailing spaces
17061         and empty lines.
17062
17063         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
17064         Undo previous (whitespace-only) change.
17065
17066 2003-08-13  Paul Eggert  <eggert@twinsun.com>
17067
17068         * config/srclist-update: Change update back to the old behavior,
17069         leaving whitespace alone.  Use one 'sed' command rather than a
17070         pipeline.
17071         (fixlicense): Now a variable, not a function.
17072         (remove_trailing_blanks): Remove.
17073         (fixfile): Don't invoke unexpand or cat, or remove trailing blanks.
17074         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
17075         Undo previous (whitespace-only) change.
17076
17077 2003-08-12  Paul Eggert  <eggert@twinsun.com>
17078
17079         Merge from coreutils.
17080         * modules/euidaccess: Add lib_SOURCES, include for new
17081         file euidaccess.h
17082
17083 2003-08-12  Paul Eggert  <eggert@twinsun.com>
17084
17085         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
17086         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
17087         Normalize leading white space and remove trailing white space.
17088
17089         Merge from coreutils
17090         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Check for euidaccess decl.
17091
17092         * m4/lib-ld.m4, lib-link.m4, lib-prefix.m4: Regenerate from gettext
17093         0.12.1.  These files are now being upgraded automatically by
17094         ../config/srclist-update.
17095
17096 2003-08-12  Paul Eggert  <eggert@twinsun.com>
17097
17098         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
17099         Normalize leading white space and remove trailing white space.
17100         * lib/ref-add.sin, ref-del.sin: Use '#' before empty line in copyright
17101         notice, as per ../config/srclist-update.
17102
17103         Merge from coreutils.
17104         * lib/euidaccess.h: New file.
17105         * lib/euidaccess.c: Include it.
17106         * lib/.cppi-disable: Add printf-args.h, printf-parse.h, stdbool_.h,
17107         vasnprintf.h, vasprintf.h.  Remove strdup.c, gettext.h.
17108         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Normalize white space.
17109
17110 2003-08-12  Paul Eggert  <eggert@twinsun.com>
17111
17112         * config/srclist-update: Add copyright notice.
17113         (remove_id_lines, remove_trailing_blanks): New constants.
17114         (fixfile): Use them to normalize spacing a bit in copied files.
17115         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
17116         Normalize leading white space and remove trailing white space.
17117
17118         * config/texinfo.tex: Sync with texinfo.
17119
17120         * config/srclist.txt: Don't get regex.h, strdup.c, strtoll.c,
17121         strtoul.c from libc, to merge coreutils whitespace changes.
17122
17123         * config/srclist.txt: Get the following m4 files from gettext:
17124         codeset.m4, gettext.m4, glibc21.m4, iconv.m4, intdiv0.m4,
17125         inttypes-pri.m4, lcmessage.m4, lib-ld.m4, lib-link.m4, lib-prefix.m4,
17126         longdouble.m4, nls.m4, po.m4, progtest.m4, signed.m4, wchar_t.m4,
17127         wint_t.m4.
17128
17129 2003-08-12  Karl Berry  <karl@gnu.org>
17130
17131         * config/srclist.txt: can't sync vasnprintf.c any more, changes have
17132         been made.
17133
17134 2003-08-11  Paul Eggert  <eggert@twinsun.com>
17135
17136         * modules/gnu-source, m4/gnu-source.m4:
17137         Remove; we're assuming Autoconf 2.54 or later now.
17138         Suggested by Bruno Haible.
17139         * MODULES.html.sh (func_all_modules): Remove gnu-source.
17140
17141 2003-08-11  Bruno Haible  <bruno@clisp.org>
17142
17143         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Also check for wcslen.
17144
17145 2003-08-11  Bruno Haible  <bruno@clisp.org>
17146
17147         * lib/vasnprintf.c (local_wcslen): New function, for Solaris 2.5.1.
17148         (vasnprintf): Use it instead of wcslen.
17149
17150 2003-08-11  Bruno Haible  <bruno@clisp.org>
17151
17152         * lib/stdbool_.h (_Bool): Undo last change; instead use a negative enum
17153         value to ensure that _Bool promotes to int. Use #define for _Bool when
17154         using the Solaris C compiler. Adds comments suggested by Paul Eggert.
17155
17156 2003-08-10  Karl Berry  <karl@gnu.org>
17157
17158         * lib/regex.h: update from libc (whitespace fix).
17159
17160 2003-08-09  Paul Eggert  <eggert@twinsun.com>
17161
17162         Merge some files from coreutils.  These changes were
17163         originally made by Jim Meyering.
17164         * lib/acl.c: Include <sys/types.h> before <sys/stat.h>;
17165         many older Unixes require this.
17166         * lib/alloca.c (alloca): Remove cast to argument of free;
17167         no longer needed in C89.
17168         * lib/alloca_.h, regex.h: Fix white space to match
17169         what GNU indent does.
17170
17171 2003-08-09  Paul Eggert  <eggert@twinsun.com>
17172
17173         * m4/regex.m4 (jm_INCLUDED_REGEX): Change "\201" to "\371";
17174         apparently Emacs's Unicode mode got confused before my 2003-08-05
17175         checkin.
17176
17177 2003-08-08  Paul Eggert  <eggert@twinsun.com>
17178
17179         * m4/extensions.m4: New file.
17180         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC):
17181         Require gl_USE_SYSTEM_EXTENSIONS.
17182         * m4/unlocked-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO):
17183         Require gl_USE_SYSTEM_EXTENSIONS rather than AC_GNU_SOURCE.
17184
17185 2003-08-08  Paul Eggert  <eggert@twinsun.com>
17186
17187         * MODULES.html.sh (func_all_modules): Add extensions, gnu-source.
17188         * modules/extensions, modules/gnu-source: New files.
17189         * modules/timespec, modules/unlocked-io: Depend on extensions.
17190
17191 2003-08-07 Paul Eggert  <eggert@twinsun.com>
17192
17193         * modules/restrict: New file.
17194         * MODULES.html.sh (func_all_modules): Add restrict.
17195         * modules/regex: Depend on restrict.
17196
17197 2003-08-07  Paul Eggert  <eggert@twinsun.com>
17198
17199         * m4/restrict.m4: New file.
17200         * m4/regex.m4 (jm_PREREQ_REGEX): Add gl_C_RESTRICT.
17201
17202 2003-08-07  Bruno Haible  <bruno@clisp.org>
17203
17204         * modules/getndelim2 (Makefile.am): Add the files to EXTRA_DIST, not
17205         lib_SOURCES, because getndelim2.m4 now uses AC_LIBOBJ(getndelim2).
17206
17207 2003-08-07  Bruno Haible  <bruno@clisp.org>
17208
17209         * m4/getndelim2.m4 (gl_GETNDELIM2): Use AC_LIBOBJ(getndelim2). This
17210         makes the module 'getndelim2' compatible with the module 'getline'.
17211
17212 2003-08-05  Paul Eggert  <eggert@twinsun.com>
17213
17214         * m4/regex.m4 (jm_INCLUDED_REGEX): Replace a single non-ASCII
17215         byte with "\201" to avoid glitches when editing that source file
17216         with multi-gnome-terminal.
17217
17218 2003-08-05  Paul Eggert  <eggert@twinsun.com>
17219
17220         * lib/bumpalloc.h: Remove.
17221
17222 2003-08-05  Paul Eggert  <eggert@twinsun.com>
17223
17224         * MODULES.html.sh (func_all_modules): Remove bumpalloc.
17225         * modules/bumpalloc: Remove.
17226
17227 2003-08-04  Paul Eggert  <eggert@twinsun.com>
17228
17229         * lib/getloadavg.c: Change copyright notice and spacing to conform to
17230         GNU coding style.
17231
17232         Merge from coreutils.
17233         * lib/error.c [!USE_IN_LIBIO]: Omit this case; assume USE_IN_LIBIO is
17234         1. From glibc.
17235         * lib/getdate.y (date): Also accept dates like May-23-2003; suggestion
17236         from Karl Berry, implemented by Jim Meyering.
17237         * lib/getgroups.c: Include "xalloc.h" instead of declaring xalloc fns;
17238         from Dmitry V. Levin.
17239         Remove anachronistic cast of xrealloc.
17240         * lib/fnmatch_.h (__const): Remove.  Use 'const'.
17241         * lib/fnmatch_loop.c (NEW_PATTERN): Cast alloca return value to proper
17242         type. Otherwise, it wouldn't compile with at least /bin/cc on
17243         ymp-cray-unicos9.0.2.X.
17244         Combine two mostly-identical uses of alloca into one.
17245         Thanks to the Cray-Cyber project for access to a Cray Y-MP.
17246
17247 2003-08-04  Dave Love <d.love@dl.ac.uk>
17248
17249         [From Emacs.]
17250
17251         * lib/getloadavg.c: Check `__unix' as well as `unix'.  Use #ifdef, not
17252         #if.  Check HAVE_LIBKSTAT as well as LOAD_AVE_TYPE.  Check
17253         F_SETFD, not FD_SETFD.  Use HAVE_STRUCT_NLIST_N_UN_N_NAME, not
17254         obsolete NLIST_NAME_UNION.
17255         [__GNU__]: Undef BSD and FSCALE.
17256         [!NLIST_STRUCT]: Remove conditional definition of NLIST_STRUCT.
17257
17258 2003-08-03  Paul Eggert  <eggert@twinsun.com>
17259
17260         * lib/stdbool_.h (_Bool): Make it signed char, instead of
17261         an enum type, so that it's guaranteed to promote to int.  See:
17262         <http://mail.gnu.org/archive/html/bug-gnulib/2003-07/msg00124.html>
17263
17264 2003-08-03  Karl Berry  <karl@gnu.org>
17265
17266         * config/depcomp: update from automake.
17267
17268 2003-07-31  Paul Eggert  <eggert@twinsun.com>
17269
17270         * lib/strerror.c: Include config.h, limits.h.  Declare sprintf.
17271         (strerror): Don't assume that a printable int fits in 14 bytes.
17272
17273 2003-07-31  Bruno Haible  <bruno@clisp.org>
17274
17275         * modules/getpass-gnu: New file.
17276         * MODULES.html.sh (func_all_modules): Add getpass-gnu.
17277
17278 2003-07-31  Bruno Haible  <bruno@clisp.org>
17279
17280         * m4/getpass.m4 (gl_FUNC_GETPASS_GNU): New macro.
17281
17282 2003-07-24  Karl Berry  <karl@gnu.org>
17283
17284         * config/missing: update from automake.
17285
17286 2003-07-24  Derek Robert Price  <derek@ximbiot.com>
17287             Bruno Haible  <bruno@clisp.org>
17288
17289         * lib/getline.h (getline, getdelim): Change return type to ssize_t.
17290         * lib/getline.c (getline, getdelim): Likewise.
17291         Remove _GNU_SOURCE define; now it's defined in config.h through
17292         m4/getline.m4.
17293
17294 2003-07-23  Karl Berry  <karl@gnu.org>
17295
17296         * config/config.sub: update from prep.
17297
17298 2003-07-22  Paul Eggert  <eggert@twinsun.com>
17299
17300         * modules/xalloc (Depends-on): Add exitfail.
17301         * modules/xmemcoll: Likewise.
17302
17303 2003-07-22  Paul Eggert  <eggert@twinsun.com>
17304
17305         * lib/xalloc.h (XCALLOC, XREALLOC, CCLONE): Fix under- and
17306         over-parenthesization in macros.
17307
17308         Sync with coreutils.
17309
17310         * lib/xalloc.h (XMALLOC, XCALLOC, XREALLOC): Remove casts not
17311         required by C99.
17312
17313         Use `exit_failure' for xalloc and xmemcoll instead of their own
17314         private exit-failure variables.
17315         * lib/xalloc.h (xalloc_exit_failure): Remove.
17316         * lib/xmalloc.c: Likewise.  Include exitfail.h.
17317         (xalloc_die): Use exit_failure instead of xalloc_exit_failure.
17318         * lib/xmemcoll.h (xmemcoll_exit_failure): Remove.
17319         * lib/xmemcoll.c: Likewise.  Include exitfail.h.
17320         (xmemcoll): Use exit_failure instead of xalloc_exit_failure.
17321
17322 2003-07-20  Jim Meyering  <jim@meyering.net>
17323
17324         * modules/closeout (Depends-on): Add exitfail.
17325         Suggestion from Bruno Haible.
17326
17327 2003-07-19  Karl Berry  <karl@gnu.org>
17328
17329         * config/config.sub: update from prep.
17330
17331 2003-07-18  Paul Eggert  <eggert@twinsun.com>
17332
17333         * lib/closeout.h (close_stdout_set_status, close_stdout_status):
17334         Remove.
17335         * lib/closeout.c: Likewise.  Include "closeout.h" right after config.h,
17336         to test that it can stand by itself.  Include "exitfail.h".
17337         Clients should set exit_failure instead.
17338         (EXIT_FAILURE): Remove; no longer needed.  Do not include <stdlib.h>.
17339
17340 2003-07-18  Bruno Haible  <bruno@clisp.org>
17341
17342         * modules/getndelim2: New file.
17343         * modules/getline: Share files with module getndelim2.
17344         * modules/getnline: Depend on getndelim2 instead of sharing files with
17345         it. Add getnline.c to lib_SOURCES.
17346         * MODULES.html.sh (func_all_modules): Add getndelim2.
17347
17348 2003-07-18  Bruno Haible  <bruno@clisp.org>
17349
17350         * m4/getndelim2.m4: New file.
17351         * m4/getline.m4 (AM_FUNC_GETLINE): Add AC_LIBOBJ of getndelim2.c and
17352         invoke gl_PREREQ_GETNDELIM2.
17353         (gl_PREREQ_GETLINE): Drop AC_HEADER_STDC, now done by
17354         gl_PREREQ_GETNDELIM2.
17355         * m4/getnline.m4 (gl_GETNLINE): Drop AC_HEADER_STDC, now done by
17356         gl_GETNDELIM2.
17357
17358 2003-07-18  Bruno Haible  <bruno@clisp.org>
17359
17360         * lib/getndelim2.h: New file.
17361         * lib/getndelim2.c: Make into a module of its own. Include config.h,
17362         getndelim2.h.
17363         (getndelim2): Make non-static. Change return type to ssize_t.
17364         * lib/getline.h: Change argument names.
17365         * lib/getline.c: Include getndelim2.h instead of getndelim2.c.
17366         * lib/getnline.c: Include getndelim2.h.
17367
17368 2003-07-18  Andreas Schwab  <schwab@suse.de>
17369
17370         * lib/memcoll.c (memcoll) [!HAVE_STRCOLL]: Clear errno.
17371
17372 2003-07-17  Karl Berry  <karl@gnu.org>
17373
17374         * config/config.sub: update from prep.
17375
17376 2003-07-17  Bruno Haible  <bruno@clisp.org>
17377
17378         * modules/getnline: New file.
17379         * modules/getline: Add lib/getndelim2.c to source file list.
17380         * MODULES.html.sh (func_all_modules): Add getnline.
17381
17382 2003-07-17  Bruno Haible  <bruno@clisp.org>
17383
17384         * m4/getnline.m4: New file.
17385
17386 2003-07-17  Bruno Haible  <bruno@clisp.org>
17387
17388         * m4/Makefile.am.in: Remove file.
17389         * m4/Makefile.am: Remove file.
17390         * m4/Makefile.in: Remove file.
17391
17392 2003-07-17  Bruno Haible  <bruno@clisp.org>
17393
17394         * lib/getnline.h: New file.
17395         * lib/getnline.c: New file.
17396         * lib/getndelim2.c: New file, extracted from getline.c.
17397         (getndelim2): Renamed from getdelim2, with added nmax argument.
17398         * lib/getline.c: Include getndelim2.c.
17399         (getdelim2): Moved out to getndelim2.c.
17400         (getline, getdelim): Update.
17401
17402 2003-07-17  Bruno Haible  <bruno@clisp.org>
17403
17404         * lib/Makefile.am: Remove file.
17405         * lib/Makefile.in: Remove file.
17406
17407 2003-07-17  Bruno Haible  <bruno@clisp.org>
17408
17409         * configure.in: Remove file.
17410         * Makefile.in: Remove file.
17411
17412 2003-07-17  Bruno Haible  <bruno@clisp.org>
17413
17414         * MODULES.html.sh: Put the </BODY> right before </HTML>.
17415
17416 2003-07-16  Karl Berry  <karl@gnu.org>
17417
17418         * config/srclist-update: was running fixlicense twice, which caused
17419                 texinfo.tex to be nullified for some reason.  Simplify,
17420                 $gplsrc is no longer needed as far as I can see?
17421
17422 2003-07-16  Jim Meyering  <jim@meyering.net>
17423
17424         * modules/save-cwd: Depend on xgetcwd.  From Derek Price.
17425
17426 2003-07-15  Paul Eggert  <eggert@twinsun.com>
17427
17428         * config/srclist.txt: Get the following files from gettext-runtime/intl
17429         instead: config.charset, localcharset.c, localcharset.h, ref-add.sin,
17430         ref-del.sin.  From Bruno Haible.
17431         * config/srclist-update (fixfile): Change grep pattern again, since the
17432         previous fix didn't work (there was another trailing $).  Use
17433         '[$]' to escape the $s.
17434
17435 2003-07-15  Karl Berry  <karl@gnu.org>
17436
17437         * lib/vasnprintf.c: update from gettext.
17438
17439 2003-07-15  Karl Berry  <karl@gnu.org>
17440
17441         * config/srclist-update (fixfile): Change grep pattern, since 'Id'
17442         gets expanded when surrounded by '$'.
17443
17444 2003-07-15  Jim Meyering  <jim@meyering.net>
17445
17446         * modules/save-cwd: Don't depend on error.  From Derek Price.
17447
17448 2003-07-15  Jim Meyering  <jim@meyering.net>
17449
17450         * lib/makepath.c (make_path): Enclose diagnostic in _(...).
17451
17452 2003-07-14  Simon Josefsson  <jas@extundo.com>
17453
17454         * modules/mempcpy: New file.
17455         * MODULES.html.sh (func_all_modules): Add mempcpy.
17456
17457 2003-07-14  Simon Josefsson  <jas@extundo.com>
17458
17459         * m4/mempcpy.m4: New file.
17460
17461 2003-07-14  Simon Josefsson  <jas@extundo.com>
17462
17463         * lib/mempcpy.h: New file.
17464         * lib/mempcpy.c: New file.
17465
17466 2003-07-14  Paul Eggert  <eggert@twinsun.com>
17467
17468         * modules/getdate, modules/posixtm: Depend on mktime.
17469
17470 2003-07-14  Paul Eggert  <eggert@twinsun.com>
17471
17472         * lib/ceill.c, expl.c, floorl.c, frexpl.c, ldexpl.c, mathl.h,
17473         sincosl.c, sqrtl.c, trigl.c, trigl.h, poll.c, poll_.h, mkstemp.c,
17474         unicodeio.c, unicodeio.h, unlocked-io.h:
17475         Switch from LGPL to GPL.
17476
17477 2003-07-14  Paul Eggert  <eggert@twinsun.com>
17478
17479         * lib/asnprintf.c, asprintf.c, config.charset, gettext.h,
17480         localcharset.c, localcharset.h, mkdtemp.c, printf-args.c,
17481         printf-args.h, printf-parse.c, printf-parse.h, ref-add.sin,
17482         ref-del.sin, setenv.c, unsetenv.c, vasnprintf.c, vasnprintf.h,
17483         vasprintf.c, vasprintf.h: Regenerate.  These files are now being
17484         updated automatically by ../config/srclist-update.  This changes
17485         their license from LPGL to GPL.
17486
17487 2003-07-14  Paul Eggert  <eggert@twinsun.com>
17488
17489         * config/srclist.txt: Add tons more gettext files.  $GETTEXT is now
17490         assumed to refer to the root of the most recent stable gettext version.
17491         * config/srclistvars.sh: Add defaults for eggert.
17492         * config/srclist-update: Convert LGPL to GPL in shell scripts, too.
17493         Match "This program" as well as "The program".  This is needed
17494         for gettext.
17495
17496 2003-07-14  Jim Meyering  <jim@meyering.net>
17497
17498         Don't emit diagnostics.  Let callers do that.
17499         * lib/save-cwd.c: Don't include "error.h".
17500         (save_cwd): Don't call error.  Ensure that errno is valid
17501         when returning nonzero.
17502
17503         * lib/save-cwd.h (restore_cwd): Update prototype.
17504         * lib/save-cwd.c (restore_cwd): Remove two parameters.
17505         Simplify.  Don't call error upon failure.  Let callers do that.
17506         (save_cwd): Mention that Irix 5.3 has the same problem as SunOS 4
17507         when auditing is enabled.  But don't bother updating the #if.
17508
17509 2003-07-11  Alexandre Duret-Lutz  <adl@gnu.org>
17510
17511         * lib/obstack.h (__INT_TO_PTR): Revert change of 2003-03-13;
17512         it breaks C++ compilation.
17513         [!__GNUC__ || !__STDC__] (obstack_finish): Cast result to void*.
17514
17515 2003-07-10  Simon Josefsson  <jas@extundo.com>
17516
17517         * modules/strchrnul (Makefile.am): Add strchrnul.h.
17518
17519 2003-07-10  Jim Meyering  <jim@meyering.net>
17520
17521         * m4/clock_time.m4: Remove trailing blank.
17522         * m4/intmax_t.m4: Likewise.
17523
17524 2003-07-10  Jim Meyering  <jim@meyering.net>
17525
17526         * lib/vasnprintf.c: Remove trailing blanks.
17527         Make cpp indentation consistent.
17528
17529 2003-07-09  Paul Eggert  <eggert@twinsun.com>
17530
17531         * lib/alloca_.h, euidaccess.c, getpass.c, memrchr.c, obstack.h,
17532         posixver.c, strftime.c, strnlen.c, strverscmp.c:
17533         Switch from LGPL to GPL.
17534
17535 2003-07-09  Paul Eggert  <eggert@twinsun.com>
17536
17537         * config/srclist.txt: Sort sublists.  Add
17538         $LIBCSRC/sysdeps/generic/strtoul.c. In comments, add more libc files
17539         that differ from gnulib for one reason or another; we'd like this list
17540         to be smaller but for now let's document what we have.
17541
17542 2003-07-08  Paul Eggert  <eggert@twinsun.com>
17543
17544         * config/srclist-update: Port to POSIX 1003.1-2001 hosts by avoiding
17545         the use of GNU extensions.  Change "x=`eval echo $x`" to the shorter
17546         and sweeter "eval x=$x".
17547         * config/srclist.txt: Get lib/argp* from glibc.
17548
17549 2003-07-07  Paul Eggert  <eggert@twinsun.com>
17550
17551         * lib/mktime.c: Fix some boundary cases and remove need for floating
17552         point.
17553
17554         Issue a compile-time diagnostic if time_t is floating point, or if
17555         two's complement arithmetic is not in effect, or if arithmetic
17556         right shift does not propagate the sign.  These assumptions were
17557         all in the original code but they weren't checked.
17558
17559         (TIME_T_MIDPOINT, verify): New macros.
17560         (__isleap): Remove; it has integer overflow problems.
17561         (leapyear): New function, without those problems.
17562         (ydhms_tm_diff): Remove; splitting into two parts.
17563         (ydhms_diff): New function, containing the arithmetic part of
17564         the old ydhms_tm_diff function.  Issue a compile-time
17565         diagnostic if we are not using C99 integer division.
17566         Avoid casts when possible.
17567         (guess_time_tm): New function, containing the checking part of
17568         the old ydhms_tm_diff function.  Return the new value, rather than
17569         the difference between it and the old.  Accept a new argument T
17570         so that *T specifies the old value.  Check for overflow in the result.
17571
17572         (__mktime_internal): Use a time_t offset, not a long int offset.
17573         This undoes the 2003-06-04 change, which is no longer needed now
17574         that we have better overflow checking.
17575         (localtime_offset): Likewise.
17576
17577         (__mktime_internal): Avoid harmful overflow on hosts where time_t
17578         and long are 64-bit but int is only 32-bit.
17579         (ydhms_diff): Use long int to store year1 and yday1.
17580         Issue a compile-time diagnostic if long int is not wide enough.
17581
17582         (__mktime_internal): Use long int to store adjusted year and yday.
17583         Use plain C rather than preprocessor commands, if that doesn't
17584         affect efficiency.
17585         Check for overflow (and try to repair) after each probe
17586         rather than checking only at the very end.  This avoids some bugs
17587         (e.g., southern hemisphere, behind GMT, and GMT offset at minimum time
17588         does not equal GMT offset at maximum time).
17589         Use integer to check for overflow rather than floating point; this
17590         is more portable to non-IEEE hosts, and is a tad faster.
17591         When we detect that we are oscillating between two values,
17592         don't check whether tm_isdst has the requested value, since
17593         we already know the answer.  When tm_isdst has the wrong value,
17594         use a different heuristic to find the right one, based on the
17595         extreme values actually observed in practice in tz2003a,
17596         rather than the (overly optimistic) "previous 3 calendar quarters".
17597
17598         (not_equal_tm, print_tm, check_result): Use "const T" rather than
17599         "T const" to accommodate glibc style.
17600         (check_result): Use less-confusing report format.  "long" -> "long int.
17601         (main): Likewise.
17602         Don't loop if the iteration overflows time_t.
17603         Allow a negative step in the iteration.
17604
17605 2003-07-06  Karl Berry  <karl@gnu.org>
17606
17607         * config/depcomp: update from automake.
17608         * config/config.sub: update from prep.
17609
17610 2003-07-03  Karl Berry  <karl@gnu.org>
17611
17612         * config/config.guess: update from prep.
17613
17614 2003-07-01  Paul Eggert  <eggert@twinsun.com>
17615
17616         * m4/xreadlink.m4 (gl_XREADLINK): Don't check for sys/types.h, since
17617         xreadlink.c now includes it unconditionally.
17618
17619 2003-07-01  Paul Eggert  <eggert@twinsun.com>
17620
17621         * lib/xreadlink.c: Include <sys/types.h> unconditionally, instead of
17622         having it depend on HAVE_SYS_TYPES_H.
17623
17624 2003-07-01  Bruno Haible  <bruno@clisp.org>
17625
17626         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Don't include <unistd.h>.
17627         <sys/types.h> should be sufficient.
17628         Reported by Paul Eggert.
17629
17630 2003-06-26  Karl Berry  <karl@gnu.org>
17631
17632         * config/depcomp: update from automake.
17633
17634 2003-06-26  Bruno Haible  <bruno@clisp.org>
17635
17636         * modules/human: Depend on module stdbool.
17637
17638 2003-06-25  Bruno Haible  <bruno@clisp.org>
17639
17640         * modules/readlink: New file.
17641         * modules/xreadlink: Depend on it.
17642         * MODULES.html.sh (func_all_modules): Add readlink.
17643
17644 2003-06-25  Bruno Haible  <bruno@clisp.org>
17645
17646         * m4/readlink.m4: New file.
17647
17648 2003-06-25  Bruno Haible  <bruno@clisp.org>
17649
17650         * lib/readlink.c: New file.
17651
17652 2003-06-22  Karl Berry  <karl@gnu.org>
17653
17654         * config/srclist.txt: update mkinstalldirs from automake.
17655         * config/mkinstalldirs: update.
17656
17657 2003-06-22  Bruno Haible  <bruno@clisp.org>
17658
17659         Portability to mingw32.
17660         * m4/ssize_t.m4: New file, from GNU gettext.
17661         * m4/safe-read.m4 (gl_PREREQ_SAFE_READ): Require gt_TYPE_SSIZE_T.
17662         * m4/xreadlink.m4 (gl_XREADLINK): Require gt_TYPE_SSIZE_T.
17663
17664 2003-06-22  Bruno Haible  <bruno@clisp.org>
17665
17666         * modules/safe-read: Add m4/ssize_t.m4.
17667         * modules/xreadlink: Add m4/ssize_t.m4.
17668
17669 2003-06-20  Bruno Haible  <bruno@clisp.org>
17670
17671         Assume C89, so PARAMS isn't needed.
17672         * lib/unicodeio.h (PARAMS): Remove.
17673         * lib/unicodeio.c: Don't use PARAMS.
17674
17675 2003-06-18  Karl Berry  <karl@gnu.org>
17676
17677         * config/config.{guess,sub}: update from prep.
17678
17679 2003-06-18  Jim Meyering  <jim@meyering.net>
17680
17681         Merge changes from coreutils.
17682         * lib/readutmp.c: Include <string.h> and <stdlib.h> unconditionally.
17683         Remove explicit declarations of xmalloc and realloc.
17684         Include xalloc.h.
17685         (read_utmp): Remove anachronistic cast of xmalloc.
17686
17687 2003-06-17  Paul Eggert  <eggert@twinsun.com>
17688
17689         Assume C89, so PARAMS isn't needed.
17690         * lib/backupfile.h (PARAMS): Remove.  All uses removed.
17691         * lib/closeout.h, lib/dirname.h, lib/filemode.h, lib/fsusage.h,
17692         lib/getdate.h, lib/getline.h, lib/group-member.h, lib/hard-locale.h,
17693         lib/hash.h, lib/linebuffer.h, lib/long-options.h, lib/makepath.h,
17694         lib/memcasecmp.h, lib/memcoll.h, lib/modechange.h, lib/mountlist.h,
17695         lib/path-concat.h, lib/physmem.h, lib/posixtm.h, lib/quote.h,
17696         lib/readutmp.h, lib/same.h, lib/save-cwd.h, lib/savedir.h,
17697         lib/stdio-safer.h, lib/strtoimax.c, lib/strverscmp.h,
17698         lib/unistd-safer.h, lib/version-etc.h, lib/xalloc.h, lib/xreadlink.h,
17699         lib/xstrtod.h, lib/xstrtol.h: Likewise.
17700         * lib/filemode.h, lib/hard-locale.h, lib/memcoll.h, lib/modechange.h,
17701         lib/physmem.h, lib/same.h, lib/strverscmp.h: Do not include config.h;
17702         no longer needed. Anyway, config.h should always be included before any
17703         other file.
17704
17705 2003-06-11  Simon Josefsson  <jas@extundo.com>
17706
17707         * modules/sysexits: New file.
17708         * MODULES.html.sh (func_all_modules): Add sysexits.
17709
17710 2003-06-11  Simon Josefsson  <jas@extundo.com>
17711
17712         * lib/sysexit_.h: New file.
17713
17714 2003-06-11  Derek Price  <derek@ximbiot.com>
17715
17716         * lib/stat.c [LSTAT]: Compile/use slash_aware_lstat only if it is
17717         necessary.
17718
17719 2003-06-11  Bruno Haible  <bruno@clisp.org>
17720
17721         * m4/sysexits.m4: New file.
17722
17723 2003-06-10  Simon Josefsson <jas@extundo.com>
17724
17725         * lib/argp.h: New file, from glibc.
17726         * lib/argp-ba.c: New file, from glibc.
17727         * lib/argp-eexst.c: New file, from glibc.
17728         * lib/argp-fmtstream.c: New file, from glibc.
17729         * lib/argp-fmtstream.h: New file, from glibc.
17730         * lib/argp-fs-xinl.c: New file, from glibc.
17731         * lib/argp-help.c: New file, from glibc.
17732         * lib/argp-namefrob.h: New file, from glibc.
17733         * lib/argp-parse.c: New file, from glibc.
17734         * lib/argp-pv.c: New file, from glibc.
17735         * lib/argp-pvh.c: New file, from glibc.
17736         * lib/argp-xinl.c: New file, from glibc.
17737
17738 2003-06-10  Simon Josefsson  <jas@extundo.com>
17739
17740         * modules/strchrnul: New file.
17741
17742 2003-06-10  Simon Josefsson  <jas@extundo.com>
17743
17744         * modules/argp: New file.
17745
17746 2003-06-10  Simon Josefsson  <jas@extundo.com>
17747
17748         * m4/strchrnul.m4: New file.
17749
17750 2003-06-10  Simon Josefsson  <jas@extundo.com>
17751
17752         * lib/strchrnul.h: New file.
17753         * lib/strchrnul.c: New file.
17754
17755 2003-06-10  Bruno Haible  <bruno@clisp.org>
17756
17757         * MODULES.html.sh (func_all_modules): Add strchrnul and argp.
17758
17759 2003-06-07  Karl Berry  <karl@gnu.org>
17760
17761         * config/config.{guess,sub}: update from prep.
17762
17763 2003-06-07  Jim Meyering  <jim@meyering.net>
17764
17765         * modules/strtod: Use $(...) notation, not @...@ for
17766         AC_REPLACE'd variables.
17767         * modules/localcharset: Likewise.
17768
17769 2003-06-07  Jim Meyering  <jim@meyering.net>
17770
17771         * lib/readtokens.h: Put `Free Software Foundation, Inc.'
17772         in place of my name in the copyright comment.
17773         Remove definition and uses of __P.
17774
17775         From coreutils.
17776         * lib/stat.c: Don't declare xmalloc explicitly.
17777         Instead, include "xalloc.h".
17778         * lib/readtokens.c (readtokens): Remove anachronistic casts of xmalloc,
17779         xrealloc, and xcalloc return values.
17780         * lib/xgetcwd.c (xgetcwd): Include "xgetcwd.h".
17781         Improve comment.
17782         * lib/xgetcwd.h: Remove definition/uses of PARAMS.
17783
17784 2003-06-07  Bruno Haible  <bruno@clisp.org>
17785
17786         * modules/poll (Makefile.am): Use explicit creation rule for poll.h, to
17787         avoid AC_CONFIG_LINKS.
17788         * modules/fnmatch (Makefile.am): Use explicit creation rule for
17789         fnmatch.h, to avoid AC_CONFIG_LINKS.
17790         * modules/alloca (Makefile.am): Make creation of alloca.h Ctrl-C safe.
17791
17792 2003-06-07  Bruno Haible  <bruno@clisp.org>
17793
17794         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH, gl_FUNC_FNMATCH_POSIX,
17795         gl_FUNC_FNMATCH_GNU): Set FNMATCH_H instead of invoking
17796         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
17797         directory.
17798         * m4/poll.m4 (gl_FUNC_POLL): Set POLL_H instead of invoking
17799         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
17800         directory.
17801
17802 2003-06-06  Jim Meyering  <jim@meyering.net>
17803
17804         Merge from coreutils.
17805         * lib/same.c: (same_name): Declare *_basename locals to be `const'.
17806         Consolidate declarations and initializations of *_base* locals.
17807
17808         Merge from coreutils.
17809         This avoids a core dump on systems without GNU putenv,
17810         when running `env -u SOME_ALREADY_UNSET_VARIABLE'.
17811         * lib/putenv.c (__set_errno, LOCK, UNLOCK): Define.
17812         (unsetenv): New static function, from GNU libc.
17813         (rpl_putenv): Use it.
17814
17815         * lib/modechange.c: Remove trailing blanks.
17816
17817         Merge from coreutils.
17818         * lib/fsusage.c: Remove declaration of statfs.
17819         It conflicted with one from OSF/1 5.1 in <sys/mount.h>.
17820
17821         * lib/posixtm.c: Include <stdbool.h> unconditionally.
17822
17823 2003-06-06  Jim Meyering  <jim@meyering.net>
17824
17825         * lib/stdbool_.h: Renamed from stdbool.h.in.
17826
17827 2003-06-06  Jim Meyering  <jim@meyering.net>
17828             Bruno Haible  <bruno@clisp.org>
17829
17830         * modules/stdbool: Reflect renaming: stdbool.h.in -> stdbool_.h.
17831         Adjust Makefile.am snippet not to redirect directly to target.
17832         Use $(STDBOOL_H) notation, not @STDBOOL_H@ for AC_REPLACE'd variables.
17833
17834 2003-06-05  Paul Eggert  <eggert@twinsun.com>
17835
17836         * lib/mktime.c (__mktime_internal): When resolving a tm_isdst
17837         mismatch, look in future quarters as well as past.  This fixes a
17838         bug when processing fall-backwards gaps immediately after a long
17839         period of daylight-saving time.
17840
17841         * lib/mktime.c: Assume freestanding C89 or better.
17842         (HAVE_LIMITS_H): Remove.  Assume it's 1.
17843         (__P): Remove; not used.
17844         (CHAR_BIT, INT_MIN, INT_MAX): Remove; <limits.h> defines them.
17845         (mktime, not_equal_tm, print_tm, check_result,
17846         main): Use prototypes.  Use const * where appropriate.
17847         (main): Fix typo in testing code that uncovered by above changes.
17848         (Local Variables): Remove -DHAVE_LIMITS_H from compile-command.
17849
17850 2003-06-04  Paul Eggert  <eggert@twinsun.com>
17851
17852         * m4/human.m4 (gl_HUMAN): Require AM_STDBOOL_H.  Check for
17853         locale.h, localeconv.  This merges changes from coreutils.
17854
17855         * m4/mktime.m4 (AC_FUNC_MKTIME): New macro, taken from Autoconf CVS.
17856         It can be removed after the next Autoconf is released.
17857         * m4/exclude.m4 (gl_EXCLUDE): Don't check for sys/types.h; no loner
17858         needed.
17859
17860 2003-06-04  Paul Eggert  <eggert@twinsun.com>
17861
17862         * lib/mktime.c: Fix Debian bug 177940
17863         <http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=177940>.
17864         (localtime_offset): Now long int, not time_t, because we want it
17865         to be guaranteed to be signed.  All uses changed.
17866         (__mktime_internal): If overflow would occur when adding offset,
17867         don't add it.
17868
17869         Merge 'human' changes from coreutils.  Rewrite to support
17870         locale-specific notations like thousands separators.
17871         * lib/human.c: Simplify authorship notice.
17872         Include human.h immediately after config.h.
17873         <sys/types.h>, <stdio.h>: Do not include; no longer needed.
17874         <limits.h>: Do not include, since human.h does.
17875         (SIZE_MAX, UINTMAX_MAX): New macros.
17876         <strings.h>: Include if HAVE_STRINGS_H, not if !HAVE_STRING_H.
17877         <locale.h>: Include if HAVE_LOCALE_H and HAVE_LOCALECONV.
17878         (HUMAN_READABLE_SUFFIX_LENGTH_MAX): New macro.
17879         (power_letter): Renamed from suffixes.
17880         (generate_suffix_backwards): Remove.
17881         (adjust_value): Now takes int style (because of human.h changes)
17882         and long double value (for greater precision on some platforms).
17883         (group_number): New function.
17884         (human_readable): Use it.  Use integer options, not enum.
17885         Put the options before the sizes in the arg list.
17886         Support all the new options.
17887         The old human_readable function has been removed;
17888         use inttostr.h instead.
17889         (human_readable, default_block_size, humblock):
17890         Use uintmax_t, not int, for block sizes.
17891         (human_readable_inexact, block_size_types): Remove.
17892         (block_size_opts): New constant.
17893         (human_options): Renamed from human_block_size, with new signature
17894         that allows block sizes up to UINTMAX_MAX.  All callers changed.
17895         * lib/human.h: Add copyright and authorship notice.
17896         Include <limits.h> and <stdbool.h> unconditionally.
17897         (PARAMS): Remove.  All uses removed.
17898         (LONGEST_HUMAN_READABLE): Add support for thousands separator.
17899         (enum human_inexact_style): Remove tag; now a nameless enum.
17900         (human_floor, human_ceiling, human_round_to_even): Now have
17901         values 2, 0, 1 rather than -1, 1, 0.
17902         (human_group_digits, human_suppress_point_zero, human_autoscale,
17903         human_base_1024, human_SI, human_B): New constants.
17904         (human_readable_inexact, human_block_size): Remove.
17905         (human_readable): Size args are now uintmax_t, not int.
17906         (human_options): New decl.
17907
17908         * lib/exclude.c: (new_exclude, add_exclude): Remove casts that are
17909         unnecessary now that we assume C89 or better.  This change
17910         imported from coreutils.
17911
17912         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
17913         arbitrarily.  This is the same patch as 2003-05-28, but it got lost
17914         in the 2003-05-30 sync from glibc.
17915
17916         .h files should stand alone, but we shouldn't include <sys/types.h>
17917         if we can get away with just <stddef.h>.
17918
17919         * lib/__fpending.h, addext.c, backupfile.c, exclude.c, getline.c,
17920         malloc.c, putenv.c, realloc.c, strcasecmp.c: Include <stddef.h>
17921         rather than <sys/types.h>, as we merely need size_t.
17922         * lib/dirname.h, memcoll.h, xalloc.h, xmemcoll.h: Include <stddef.h>,
17923         to get size_t.
17924         * lib/hash.h, linebuffer.h, readtokens.h, stdio-safer.h, version-etc.h:
17925         Include <stdio.h>, to get FILE.
17926         * lib/memcasecmp.c: Don't include <sys/types.h>, as we can assume
17927         memcasecmp.h has included <stddef.h> and all we need is size_t.
17928         * lib/memcoll.c: Include "memcoll.h", which gets us size_t and checks
17929         our interface, instead of including <sys/types.h>
17930
17931 2003-06-04  Paul Eggert  <eggert@twinsun.com>
17932
17933         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): Comment out for
17934         now, as glibc mktime is buggy on non-glibc systems.
17935
17936 2003-06-03  Karl Berry  <karl@gnu.org>
17937
17938         * config/config.sub: update from prep.
17939
17940 2003-06-02  Paul Eggert  <eggert@twinsun.com>
17941
17942         [from coreutils]
17943         Fix some minor time-related bugs with POSIX time arguments.
17944         Some valid time stamps were being rejected (notably -1, and
17945         time stamps before 1900 on 64-bit hosts).  And some invalid
17946         time stamps were being accepted, e.g. September 31.
17947
17948         * lib/posixtm.h (posixtime): Return bool instead of time_t, so
17949         that we can return (time_t) -1 successfully.
17950         * lib/posixtm.c: Likewise.
17951         [HAVE_STDBOOL_H]: Include <stdbool.h>.
17952         (bool, false, true) [!HAVE_STDBOOL_H]: New type.
17953         (t): Remove static var.
17954         (year, posix_time_parse): Now takes struct tm * arg to modify, instead
17955         of static var.  All uses changed.
17956         (year): Do not reject years before 1900; they can occur with
17957         64-bit time_t.
17958         (posix_time_parse): Do not check for out-of-range components;
17959         that is now the caller's responsibility, since our checks were
17960         only approximations.
17961         (posixtime): Use mktime to check for out-of-range components,
17962         since it knows them exactly.
17963         If mktime returns (time_t) -1, check whether an error actually occurred
17964         by invoking localtime on -1.
17965         (main) [TEST_POSIXTIME]: Check for input data errors, and report
17966         posixtime failures better.
17967         Improve the test data (in comments only).
17968
17969 2003-06-02  Karl Berry  <karl@gnu.org>
17970
17971         * config/mkinstalldirs (version): new variable.
17972         (--version): new option.
17973         (usage): improve message.
17974
17975 2003-05-30  Karl Berry  <karl@gnu.org>
17976
17977         * lib/mktime.c: update from libc.
17978
17979 2003-05-30  Bruno Haible  <bruno@clisp.org>
17980
17981         * modules/gettext: Add files m4/nls.m4 and m4/po.m4.
17982         * config/config.rpath: Upgrade to gettext-0.12.1.
17983
17984 2003-05-30  Bruno Haible  <bruno@clisp.org>
17985
17986         * m4/gettext.m4: Upgrade to gettext-0.12.1.
17987         * m4/nls.m4: New file, from gettext-0.12.1.
17988         * m4/po.m4: New file, from gettext-0.12.1.
17989         * m4/progtest.m4: Upgrade to gettext-0.12.1.
17990
17991 2003-05-30  Bruno Haible  <bruno@clisp.org>
17992
17993         * lib/config.charset: Upgrade to gettext-0.12.1 and libiconv-1.9.1.
17994         * lib/localcharset.h: Likewise.
17995         * lib/localcharset.c: Likewise.
17996
17997 2003-05-29  Karl Berry  <karl@gnu.org>
17998
17999         * config/config.rpath: update from gettext.
18000
18001 2003-05-28  Paul Eggert  <eggert@twinsun.com>
18002
18003         Assume the headers required for C89 freestanding compilers.
18004         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for limits.h.
18005         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Likewise.
18006         * m4/human.m4 (gl_HUMAN): Likewise.
18007         * m4/pathmax.m4 (gl_PATHMAX): Likewise.
18008         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Likewise.
18009         * m4/userspec.m4 (gl_USERSPEC): Likewise.
18010         * m4/xreadlink.m4 (gl_XREADLINK): Likewise.
18011         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
18012         * m4/quote.m4 (gl_QUOTE): Don't check for stddef.h.
18013
18014 2003-05-28  Paul Eggert  <eggert@twinsun.com>
18015
18016         Assume the headers required for C89 freestanding compilers.
18017         * lib/addext.c, lib/backupfile.c, lib/fsusage.c, lib/human.c,
18018         lib/pathmax.h, lib/rpmatch.c, lib/userspec.c, lib/xreadlink.c,
18019         lib/xstrtol.c: Include <limits.h> without checking for HAVE_LIMITS_H.
18020         * lib/backupfile.c, lib/fsusage.c, lib/hash.c, lib/human.c,
18021         lib/safe-read.c, lib/userspec.c, lib/xstrtol.c (CHAR_BIT): Don't
18022         define, since <limits.h> is guaranteed to do that.
18023         * lib/fatal.c: Include <stdarg.h> without checking for __STDC__.
18024         * lib/exclude.c: Include <stdbool.h> unconditionally.
18025         * lib/tempname.c: Include <stddef.h> unconditionally.
18026         * lib/hash.c: Include <limits.h>, since we no longer define CHAR_BIT.
18027         * lib/modechange.c, rpmatch.c (NULL): Don't define, since
18028         <stddef.h> does that.
18029         * lib/quote.c: Dont include <stddef.h> or <sys/types.h>; not needed.
18030         * lib/safe-read.c (INT_MAX): Don't define, since <limits.h> does that.
18031         * lib/safe-read.c (TYPE_MINIMUM, TYPE_MAXIMUM): Remove; no longer
18032         needed.
18033         * lib/xstrtol.c: Likewise.
18034         * lib/safe-read.c: Remove TYPE_SIGNED; no longer needed.
18035         * lib/savedir.c: Include <stddef.h> instead of defining NULL.
18036
18037         * lib/addext.c (addext): Use assignment rather than cast, to avoid
18038         warnings on some platforms.
18039
18040         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
18041         arbitrarily.
18042
18043 2003-05-26  Jim Meyering  <jim@meyering.net>
18044
18045         Merge in a change from coreutils:
18046         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Test the cache variable, not one
18047         that is guaranteed to be `no'.  Use `no_such_member' to indicate
18048         that condition, rather than `-1' which is slightly misleading.
18049         Change the name of the cache variable to have the gl_ prefix.
18050         Prompted by a patch from Richard Dawe for DJGPP.
18051
18052 2003-05-24  Karl Berry  <karl@gnu.org>
18053
18054         * config/config.guess: update from prep.
18055
18056 2003-05-22  Karl Berry  <karl@gnu.org>
18057
18058         * gnulib-tool (func_usage): =LIBRARY not =libRARY in help msg.
18059
18060 2003-05-20  Karl Berry  <karl@gnu.org>
18061
18062         * config/config.guess: update from prep.
18063
18064 2003-05-18  Karl Berry  <karl@gnu.org>
18065
18066         * config/srclistvars.sh (TEXMF): use TEXMFROOT instead, since TEXMF
18067         might actually be set by the user.
18068
18069         * config/depcomp, install-sh, mdate-sh: update from automake.
18070
18071 2003-05-17  Bruno Haible  <bruno@clisp.org>
18072
18073         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Fix a quoting bug leading to an
18074         invalid expansion for AC_EGREP_CPP.
18075         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Likewise.
18076         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
18077         Suggested by Akim Demaille <akim@epita.fr> in
18078         http://mail.gnu.org/archive/html/bug-autoconf/2003-05/threads.html
18079
18080 2003-05-12  Jim Meyering  <jim@meyering.net>
18081
18082         * lib/strftime.c (my_strftime): Let the `-' (no-pad) flag affect
18083         the space-padded-by-default conversion specifiers, %e, %k, %l.
18084
18085 2003-05-12  Bruno Haible  <bruno@clisp.org>
18086
18087         * lib/linebreak.c (iconv_string_length): Don't return -1 just because
18088         the string is longer than 4 KB.
18089
18090 2003-05-11  Karl Berry  <karl@gnu.org>
18091
18092         * config/config.{guess,sub}: update from prep.
18093
18094 2003-05-09  Bruno Haible  <bruno@clisp.org>
18095
18096         * modules/error: Add m4/strerror_r.m4 to file list.
18097
18098 2003-05-03  Bruno Haible  <bruno@clisp.org>
18099
18100         Upgrade to Unicode-4.0.
18101         * lib/linebreak.c (nonspacing_table_data): Change width of U+00AD,
18102         U+0350..U+0357, U+035D..U+035F, U+0600..U+0603, U+0610..U+0615,
18103         U+0656..U+0658, U+0A01, U+0AE2..U+0AE3, U+0CBC, U+17B4..U+17B5,
18104         U+17DD, U+1920..U+1922, U+1927..U+192B, U+1932, U+1939..U+193B
18105         from 1 to 0. Change width of U+0CBF, U+0CC6, U+180E from 0 to 1.
18106         (uc_width): Change width of U+4DC0..U+4DFF from 2 to 1. Change width
18107         of U+2A6D7..U+2F7FF, U+2FA1E..U+2FFFD, U+30000..U+3FFFD from 1 to 2.
18108         Change width of U+E0100..U+E01EF from 1 to 0.
18109
18110 2003-04-25  Jim Meyering  <jim@meyering.net>
18111
18112         * lib/copy-file.c (copy_file_preserving): Declare buf_size to be
18113         of type size_t, not int.
18114
18115 2003-04-25  Bruno Haible  <bruno@clisp.org>
18116
18117         * lib/copy-file.c: Include <stddef.h>, for size_t.
18118
18119 2003-04-21  Paul Eggert  <eggert@twinsun.com>
18120
18121         * m4/error.m4 (gl_ERROR): Do not put under dynamic conditions some
18122         code which expansion is under static control.  Patch imported from
18123         Akim Demaille's patch to Bison; see
18124         <http://mail.gnu.org/archive/html/bison-patches/2003-03/msg00057.html>.
18125
18126 2003-04-14  Bruno Haible  <bruno@clisp.org>
18127
18128         * m4/error.m4 (jm_PREREQ_ERROR): Use AC_FUNC_VPRINTF.
18129
18130 2003-04-11  Jim Meyering  <jim@meyering.net>
18131
18132         Merge changes from Coreutils.
18133
18134         2003-03-22  Jim Meyering  <jim@meyering.net>
18135
18136         * lib/strftime.c (widen): Cast alloca return value to proper type.
18137
18138         2003-01-19  Ulrich Drepper  <drepper@redhat.com>
18139
18140         From GNU libc.
18141         * lib/strftime.c (my_strftime): Handle very large width
18142         specifications for numeric values correctly.  Improve checks for
18143         overflow.
18144
18145         2003-01-19  Jim Meyering  <jim@meyering.net>
18146
18147         * lib/strftime.c (widen) [COMPILE_WIDE]: Merge nearly-identical
18148         definitions.
18149         (nl_get_alt_digit) [! defined my_strftime]: Define.
18150         (my_strftime) [_NL_CURRENT]: Merge nearly-identical uses of
18151         _nl_get_alt_digit and _nl_get_walt_digit.
18152
18153         * lib/strftime.c (my_strftime): Merge in locale-related changes from
18154         libc. These changes have no effect outside of _LIBC.
18155
18156 2003-04-10  Bruno Haible  <bruno@clisp.org>
18157
18158         * modules/findprog: New file.
18159         * MODULES.html.sh (func_all_modules): Add it.
18160
18161 2003-04-10  Bruno Haible  <bruno@clisp.org>
18162
18163         * m4/findprog.m4: New file.
18164         * m4/eaccess.m4: New file.
18165
18166 2003-04-10  Bruno Haible  <bruno@clisp.org>
18167
18168         * lib/findprog.h: New file, from GNU gettext.
18169         * lib/findprog.c: New file, from GNU gettext.
18170
18171 2003-04-05  Jim Meyering  <jim@meyering.net>
18172
18173         Merge changes from Coreutils.
18174
18175         * lib/exclude.h (PARAMS): Remove definition and uses.
18176         * lib/exclude.c: Remove uses of `PARAMS'.
18177
18178         * lib/dirname.c [TEST_DIRNAME]: Update build instructions for test.
18179         Add test-cases for DOS filenames. Declare program_name.
18180         (main): Set up program_name.  Patch by Rich Dawe.
18181
18182         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
18183         error from mntctl.
18184         Use mntctl's return value to drive the entry-processing loop, since
18185         we can't rely on the value of the vmt_length member in the last
18186         entry.  On some systems doing so could result in exhausting
18187         virtual memory.  Based in part on a patch from Mike Jetzer.
18188
18189 2003-04-04  Bruno Haible  <bruno@clisp.org>
18190
18191         * modules/linebreak: New file.
18192         * MODULES.html.sh (func_all_modules): Add it.
18193
18194 2003-04-04  Bruno Haible  <bruno@clisp.org>
18195
18196         * m4/linebreak.m4: New file.
18197
18198 2003-04-04  Bruno Haible  <bruno@clisp.org>
18199
18200         * lib/linebreak.h: New file, from GNU gettext.
18201         * lib/linebreak.c: New file, from GNU gettext with slight
18202         modifications.
18203         * lib/lbrkprop.h: New file, from GNU gettext.
18204
18205 2003-04-03  Bruno Haible  <bruno@clisp.org>
18206
18207         * modules/utf8-ucs4: New file.
18208         * modules/utf16-ucs4: New file.
18209         * modules/ucs4-utf8: New file.
18210         * modules/ucs4-utf16: New file.
18211         * MODULES.html.sh (func_all_modules): Add them.
18212
18213 2003-04-03  Bruno Haible  <bruno@clisp.org>
18214
18215         * m4/utf-ucs4.m4: New file.
18216         * m4/ucs4-utf.m4: New file.
18217
18218 2003-04-03  Bruno Haible  <bruno@clisp.org>
18219
18220         * lib/utf8-ucs4.h: New file, from GNU gettext.
18221         * lib/utf16-ucs4.h: New file, from GNU gettext.
18222         * lib/ucs4-utf8.h: New file, from GNU gettext.
18223         * lib/ucs4-utf16.h: New file, from GNU gettext.
18224
18225 2003-04-02  Bruno Haible  <bruno@clisp.org>
18226
18227         * modules/binary-io: New file.
18228         * MODULES.html.sh (func_all_modules): Add it.
18229
18230 2003-04-02  Bruno Haible  <bruno@clisp.org>
18231
18232         * lib/binary-io.h: New file, from GNU gettext.
18233
18234 2003-04-01  Bruno Haible  <bruno@clisp.org>
18235
18236         * modules/pathname: New file.
18237         * MODULES.html.sh (func_all_modules): Add it.
18238
18239 2003-04-01  Bruno Haible  <bruno@clisp.org>
18240
18241         * lib/pathname.h: New file, from GNU gettext.
18242         * lib/concatpath.c: New file, from GNU gettext.
18243
18244 2003-03-30  Bruno Haible  <bruno@clisp.org>
18245
18246         * m4/copy-file.m4 (gl_COPY_FILE): Add check for chown().
18247
18248 2003-03-30  Bruno Haible  <bruno@clisp.org>
18249
18250         * lib/copy-file.c (copy_file_preserving): Don't set owner if the
18251         function chown() doesn't exist.
18252
18253 2003-03-28  Bruno Haible  <bruno@clisp.org>
18254
18255         * modules/copy-file: New file.
18256         * MODULES.html.sh (func_all_modules): Add it.
18257
18258 2003-03-28  Bruno Haible  <bruno@clisp.org>
18259
18260         * m4/copy-file.m4: New file.
18261
18262 2003-03-28  Bruno Haible  <bruno@clisp.org>
18263
18264         * lib/copy-file.h: New file, from GNU gettext.
18265         * lib/copy-file.c: New file, from GNU gettext.
18266
18267 2003-03-18  Jim Meyering  <jim@meyering.net>
18268
18269         * lib/quote.c (quote_n): Fix typo in comment.
18270
18271 2003-03-18  Bruno Haible  <bruno@clisp.org>
18272
18273         * m4/onceonly.m4: Use m4_defn instead of defn, for better error
18274         checking.
18275         * m4/onceonly_2_57.m4: Likewise.
18276
18277 2003-03-17  Bruno Haible  <bruno@clisp.org>
18278
18279         * m4/onceonly.m4: Require autoconf 2.54 or newer.
18280         (m4_quote): Remove macro.
18281         * m4/onceonly_2_57.m4: Require autoconf 2.54 or newer.
18282
18283 2003-03-14  Jim Meyering  <jim@meyering.net>
18284
18285         Merge changes from Coreutils.
18286         * lib/obstack.h (obstack_object_size): Declare temporary, __o,
18287         to be const, in order to avoid warnings.
18288         (obstack_room): Likewise.
18289         (obstack_empty_p): Likewise.
18290
18291 2003-03-14  Bruno Haible  <bruno@clisp.org>
18292
18293         * m4/onceonly_2_57.m4 (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE,
18294         AC_CHECK_DECLS_ONCE): Quote AC_FOREACH variable-expansions properly.
18295
18296 2003-03-13  Paul Eggert  <eggert@twinsun.com>
18297
18298         Merge changes from Bison.
18299         * lib/obstack.h: (__INT_TO_PTR) [__STDC__]: Cast result to
18300         (void *) to avoid diagnostic with native c89 on SGI IRIX 6.5
18301         when compiling Bison 1.875's `bitset bset = obstack_alloc
18302         (bobstack, bytes);'.  Problem reported by Nelson H. F. Beebe.
18303         * lib/hash.c: Include <stdbool.h> unconditionally.
18304
18305 2003-03-13  Paul Eggert  <eggert@twinsun.com>
18306
18307         * m4/onceonly.m4 (m4_quote): New macro.
18308         (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE, AC_CHECK_DECLS_ONCE):
18309         Quote AC_FOREACH variable-expansions properly.
18310
18311 2003-03-13  Paul Eggert  <eggert@twinsun.com>
18312
18313         * doc/COPYING.DOC, fdl.texi: Sync with latest FSF version.
18314
18315 2003-03-09  Paul Eggert  <eggert@twinsun.com>
18316
18317         * lib/argmatch.c (EXIT_FAILURE): Define if the system doesn't.
18318         Reported by Bruce Becker; see:
18319         http://mail.gnu.org/archive/html/bug-bison/2003-03/msg00017.html
18320
18321 2003-03-03  Paul Eggert  <eggert@twinsun.com>
18322             Bruno Haible  <bruno@clisp.org>
18323
18324         * lib/mbswidth.h: Include <wchar.h>. Needed for UnixWare 7.1.1.
18325         Reported by John Hughes, see
18326         http://mail.gnu.org/archive/html/bug-bison/2003-02/msg00030.html
18327
18328 2003-02-20  Bruno Haible  <bruno@clisp.org>
18329
18330         * MODULES.html.sh (func_all_modules): Add poll.
18331
18332 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
18333
18334         * modules/poll: New file.
18335
18336 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
18337
18338         * lib/poll_.h: New file.
18339         * lib/poll.c: New file.
18340
18341 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
18342
18343         * m4/poll.m4: New file.
18344
18345 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
18346
18347         * modules/mathl: New file.
18348
18349 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
18350
18351         * lib/mathl.h: New file.
18352         * lib/acosl.c: New file.
18353         * lib/asinl.c: New file.
18354         * lib/atanl.c: New file.
18355         * lib/ceill.c: New file.
18356         * lib/cosl.c: New file.
18357         * lib/expl.c: New file.
18358         * lib/floorl.c: New file.
18359         * lib/frexpl.c: New file.
18360         * lib/ldexpl.c: New file.
18361         * lib/logl.c: New file.
18362         * lib/sincosl.c: New file.
18363         * lib/sinl.c: New file.
18364         * lib/sqrtl.c: New file.
18365         * lib/tanl.c: New file.
18366         * lib/trigl.c: New file.
18367         * lib/trigl.h: New file.
18368
18369 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
18370
18371         * m4/mathl.m4: New file.
18372
18373 2003-02-18  Bruno Haible  <bruno@clisp.org>
18374
18375         * MODULES.html.sh (func_all_modules): Add mathl.
18376
18377 2003-02-17  Bruno Haible  <bruno@clisp.org>
18378
18379         * modules/mkdtemp: New module.
18380         * MODULES.html.sh (func_all_modules): Add it.
18381
18382 2003-02-17  Bruno Haible  <bruno@clisp.org>
18383
18384         * m4/mkdtemp.m4: New file, from GNU gettext with modifications.
18385
18386 2003-02-17  Bruno Haible  <bruno@clisp.org>
18387
18388         * lib/mkdtemp.h: New file, from GNU gettext.
18389         * lib/mkdtemp.c: New file, from GNU gettext.
18390
18391 2003-02-02  Jim Meyering  <jim@meyering.net>
18392
18393         * m4/regex.m4 (jm_INCLUDED_REGEX): Detect broken re_search in
18394         e.g. glibc-2.2.93.
18395
18396 2003-01-31  Bruno Haible  <bruno@clisp.org>
18397
18398         * m4/rename.m4 (vb_FUNC_RENAME): Add a redirection from 'rename' to
18399         'rpl_rename'.
18400         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Add a redirection from 'strnlen' to
18401         'rpl_strnlen'.
18402         * m4/strtod.m4 (gl_FUNC_STRTOD): Add a redirection from 'strtod' to
18403         'rpl_strtod'.
18404         * m4/utime.m4 (jm_FUNC_UTIME): Add a redirection from 'utime' to
18405         'rpl_utime'.
18406
18407 2003-01-31  Bruno Haible  <bruno@clisp.org>
18408
18409         * lib/rename.c: #undef rename before defining rpl_rename.
18410         * lib/strnlen.c: #undef strnlen, define rpl_strnlen instead of strnlen.
18411
18412 2003-01-30  Bruno Haible  <bruno@clisp.org>
18413
18414         * modules/vasnprintf, modules/vasprintf: New modules.
18415         * MODULES.html.sh (func_all_modules): Add them.
18416
18417 2003-01-30  Bruno Haible  <bruno@clisp.org>
18418
18419         * m4/signed.m4: New file, from GNU gettext.
18420         * m4/longdouble.m4: New file, from GNU gettext.
18421         * m4/wchar_t.m4: New file, from GNU gettext.
18422         * m4/wint_t.m4: New file, from GNU gettext.
18423         * m4/vasnprintf.m4: New file.
18424         * m4/vasprintf.m4: New file.
18425
18426 2003-01-30  Bruno Haible  <bruno@clisp.org>
18427
18428         * lib/printf-args.h: New file, from GNU gettext.
18429         * lib/printf-args.c: New file, from GNU gettext.
18430         * lib/printf-parse.h: New file, from GNU gettext.
18431         * lib/printf-parse.c: New file, from GNU gettext.
18432         * lib/vasnprintf.h: New file, from GNU gettext.
18433         * lib/vasnprintf.c: New file, from GNU gettext.
18434         * lib/asnprintf.c: New file, from GNU gettext.
18435         * lib/vasprintf.h: New file, from GNU gettext with modifications.
18436         * lib/vasprintf.c: New file, from GNU gettext.
18437         * lib/asprintf.c: New file, from GNU gettext.
18438
18439 2003-01-29  Bruno Haible  <bruno@clisp.org>
18440
18441         * modules/stpncpy: New module.
18442         * MODULES.html.sh (func_all_modules): Add it.
18443
18444 2003-01-29  Bruno Haible  <bruno@clisp.org>
18445
18446         * m4/stpncpy.m4: New file.
18447
18448 2003-01-29  Bruno Haible  <bruno@clisp.org>
18449
18450         * lib/stpncpy.h: New file, from GNU gettext with modifications.
18451         * lib/stpncpy.c: New file, from GNU gettext with modifications.
18452
18453 2003-01-28  Bruno Haible  <bruno@clisp.org>
18454
18455         * modules/c-ctype: New module.
18456         * MODULES.html.sh (func_all_modules): Add it.
18457
18458 2003-01-28  Bruno Haible  <bruno@clisp.org>
18459
18460         * lib/c-ctype.h: New file, from GNU gettext, with changes suggested by
18461         Paul Eggert.
18462         * lib/c-ctype.c: New file, from GNU gettext, with changes suggested by
18463         Paul Eggert.
18464
18465 2003-01-27  Bruno Haible  <bruno@clisp.org>
18466
18467         * modules/xsetenv: New module.
18468         * MODULES.html.sh (func_all_modules): Add it.
18469
18470 2003-01-27  Bruno Haible  <bruno@clisp.org>
18471
18472         * lib/xsetenv.h: New file, from GNU gettext.
18473         * lib/xsetenv.c: New file, from GNU gettext.
18474
18475 2003-01-23  Jim Meyering  <jim@meyering.net>
18476
18477         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Correct typo: s/-1/no/ that kept this
18478         from working on systems without dirfd (at least Irix and OSF1/Tru64).
18479
18480 2003-01-23  Bruno Haible  <bruno@clisp.org>
18481
18482         * modules/minmax: New module.
18483         * MODULES.html.sh (func_all_modules): Add it.
18484
18485 2003-01-23  Bruno Haible  <bruno@clisp.org>
18486
18487         * lib/minmax.h: New file, from GNU gettext, with comments from Paul
18488         Eggert.
18489
18490 2003-01-22  Bruno Haible  <bruno@clisp.org>
18491
18492         * modules/exit: New module.
18493         * MODULES.html.sh (func_all_modules): Add it.
18494
18495 2003-01-22  Bruno Haible  <bruno@clisp.org>
18496
18497         * lib/exit.h: New file, from GNU gettext.
18498
18499 2003-01-19  Bruno Haible  <bruno@clisp.org>
18500
18501         * gnulib-tool: Recognize option --extract-maintainer.
18502         (func_get_maintainer): New function.
18503         * modules/*: Add Maintainer entry.
18504
18505 2003-01-16  Jim Meyering  <jim@meyering.net>
18506
18507         * m4/regex.m4: The `regex' struct is both input and output.
18508         Initialize it before each use.  Patch by Tim Waugh.
18509
18510 2003-01-16  Bruno Haible  <bruno@clisp.org>
18511
18512         * MODULES.html.sh: Add a table of contents. Add the module name as
18513         leftmost column. Add hyperlinks.
18514
18515 2003-01-15  Bruno Haible  <bruno@clisp.org>
18516
18517         * m4/md5.m4 (gl_MD5): Require AC_C_INLINE.
18518
18519 2003-01-15  Bruno Haible  <bruno@clisp.org>
18520
18521         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): Also test the LL suffix.
18522         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Also test the ULL
18523         suffix.
18524
18525 2003-01-15  Bruno Haible  <bruno@clisp.org>
18526
18527         * m4/alloca.m4 (gl_FUNC_ALLOCA): Invoke AC_EGREP_CPP prerequisites.
18528
18529 2003-01-15  Bruno Haible  <bruno@clisp.org>
18530
18531         * lib/stpcpy.h (stpcpy): Use ANSI C function declarations.
18532         * lib/strcase.h (strcasecmp, strncasecmp): Likewise.
18533
18534 2003-01-14  Jim Meyering  <jim@meyering.net>
18535
18536         * lib/same.c (same_name): Tweak a comment.
18537
18538 2003-01-14  Bruno Haible  <bruno@clisp.org>
18539
18540         * lib/same.c (same_name): Reorder tests so as to avoid calling stat()
18541         when a string comparison is sufficient.
18542
18543 2003-01-14  Bruno Haible  <bruno@clisp.org>
18544
18545         * lib/readtokens.c (readtoken): Cast character to 'unsigned char', not
18546         'unsigned int'.
18547
18548 2003-01-14  Bruno Haible  <bruno@clisp.org>
18549
18550         * lib/hash-pjw.c: Add comment about low quality of this function.
18551
18552 2003-01-13  Bruno Haible  <bruno@clisp.org>
18553
18554         * modules/stpcpy: Distribute lib/stpcpy.h.
18555         * modules/setenv: Depend on alloca. Distribute lib/setenv.h.
18556
18557 2003-01-13  Bruno Haible  <bruno@clisp.org>
18558
18559         * modules/*: Add a description.
18560         * modules/strpbrk: Fix Makefile.am snippet.
18561         * modules/strtoimax: Fix dependencies.
18562         * modules/strtoumax: Likewise.
18563
18564 2003-01-13  Bruno Haible  <bruno@clisp.org>
18565
18566         * gnulib-tool (func_create_testdir): Substitute lib_OBJECTS.
18567         * modules/alloca (Makefile.am): All object files depend on alloca.h.
18568         * modules/stdbool (Makefile.am): All object files depend on stdbool.h.
18569
18570 2003-01-13  Bruno Haible  <bruno@clisp.org>
18571
18572         * gnulib-tool (func_create_testdir): Store config/* files in the main
18573         directory.
18574         * config.rpath: Move to ...
18575         * config/config.rpath: ... here.
18576         * modules/gettext: Contains config/config.rpath, not config.rpath.
18577         * modules/iconv: Likewise.
18578
18579 2003-01-12  Paul Eggert  <eggert@twinsun.com>
18580
18581         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
18582         to avoid collisions with libcurses and libreadline.
18583
18584         * m4/getstr.m4: Remove.
18585         * m4/getline.m4 (gl_PREREQ_GETLINE): Require AC_HEADER_STDC.
18586
18587 2003-01-12  Paul Eggert  <eggert@twinsun.com>
18588
18589         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
18590         to avoid collisions with libcurses and libreadline.
18591
18592         * lib/Makefile.am (libfetish_a_SOURCES): Remove getstr.c, getstr.h.
18593         * lib/getstr.h, getstr.c: Remove.
18594         * lib/getline.c: Include "getline.h", to check interface.
18595         Move body of old getstr.c here: this defines MIN_CHUNK and
18596         declares getdelim2, which is renamed from getstr.
18597         (getline, getdelim): Adjust to renaming of getstr -> getdelim2.
18598
18599         * lib/linebuffer.c (readlinebuffer): Renamed from readline.
18600         All uses changed.
18601         * lib/linebuffer.h: Likewise.
18602         (readline): Remove backward-compatibility macro.
18603
18604 2003-01-12  Paul Eggert  <eggert@twinsun.com>
18605
18606         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
18607         to avoid collisions with libcurses and libreadline.
18608         * getstr: Remove.
18609         * MODULES.html.sh: Remove getstr.
18610         * modules/getline: Depend on unlocked-io, not getstr.
18611
18612 2003-01-12  Jim Meyering  <jim@meyering.net>
18613
18614         * lib/makepath.c: Don't test HAVE_ERRNO_H.  It's not necessary.
18615
18616 2003-01-10  Bruno Haible  <bruno@clisp.org>
18617
18618         * modules/alloca: Change Makefile.am requirements. Simplify Include
18619         requirements. Add lib/alloca_.h to file list.
18620
18621 2003-01-10  Bruno Haible  <bruno@clisp.org>
18622
18623         * m4/alloca.m4 (gl_FUNC_ALLOCA): Also define ALLOCA_H.
18624
18625 2003-01-10  Bruno Haible  <bruno@clisp.org>
18626
18627         * lib/alloca_.h: New file.
18628         * lib/getdate.y: Unconditionally include alloca.h.
18629         * lib/makepath.c: Likewise.
18630         * lib/setenv.c: Likewise.
18631         * lib/userspec.c: Likewise.
18632
18633 2003-01-09  Karl Berry  <karl@gnu.org>
18634
18635         * MODULES.html.sh: include `dirname $0` in PATH, to find
18636         gnulib-tool.
18637
18638 2003-01-09  Bruno Haible  <bruno@clisp.org>
18639
18640         * modules/stdbool: Change configure.ac, Makefile.am requirements.
18641         Simplify Include requirements. Add lib/stdbool.h.in to file list.
18642
18643 2003-01-09  Bruno Haible  <bruno@clisp.org>
18644
18645         * m4/stdbool.m4 (AM_STDBOOL_H): New macro.
18646
18647 2003-01-09  Bruno Haible  <bruno@clisp.org>
18648
18649         * lib/stdbool.h.in: New file.
18650
18651 2003-01-09  Bruno Haible  <bruno@clisp.org>
18652
18653         * gnulib-tool (func_all_modules): Ignore files ending in ~.
18654         * MODULES.html.sh: Likewise.
18655
18656 2003-01-08  Jim Meyering  <jim@meyering.net>
18657
18658         * lib/full-write.c: Undefine and define-away `const' after inclusion
18659         of errno.h, not before.  Suggestion from Bruno Haible.
18660
18661 2003-01-08  Bruno Haible  <bruno@clisp.org>
18662
18663         * modules/full-read: Depend on full-write.
18664
18665 2003-01-08  Bruno Haible  <bruno@clisp.org>
18666
18667         * lib/safe-read.c: Include specification header first, to ensure its
18668         selfcontainedness.
18669         * lib/full-write.c: Likewise.
18670
18671 2003-01-07  Jim Meyering  <jim@meyering.net>
18672
18673         * lib/full-write.c: Rework so that it may serve to define full_read,
18674         too.
18675         * lib/full-read.c: Simply #define FULL_READ and include full-write.c.
18676
18677 2003-01-07  Bruno Haible  <bruno@clisp.org>
18678
18679         * lib/strtoimax.c: Include <stdint.h> as an alternative to
18680         <inttypes.h>.
18681         * lib/xstrtol.h: Likewise.
18682         * lib/xstrtoimax.c: Likewise.
18683         * lib/xstrtoumax.c: Likewise.
18684         * lib/human.h: Likewise.
18685
18686         * lib/tempname.c: Include <inttypes.h> too. Avoids a compilation error
18687         on systems that have <inttypes.h> but not <stdint.h>.
18688
18689 2003-01-07  Bruno Haible  <bruno@clisp.org>
18690
18691         * MODULES.html.sh: Add copyright notice.
18692         (missed_files): Omit CVS directory entries.
18693         (func_module): Make it work with sed-3.02.
18694         * MODULES.txt: Remove file.
18695
18696 2003-01-06  Jim Meyering  <jim@meyering.net>
18697
18698         * lib/version-etc.c: Update year in translatable copyright string.
18699
18700 2003-01-03  Karl Berry  <karl@gnu.org>
18701
18702         * config/config.{guess,sub}: update from prep.
18703
18704 2003-01-02  Karl Berry  <karl@gnu.org>
18705
18706         * doc/COPYING.DOC: belatedly updated to 1.2.
18707
18708 2003-01-01  Karl Berry  <karl@gnu.org>
18709
18710         * gnulib-tool (func_verify_module): report module name $module in
18711         error message, not $1.
18712         * gnulib-tool (create-testdir): don't complain if destdir couldn't
18713         be created, only if it doesn't exist.
18714         * gnulib-tool (last_checkin_date): don't expand the $Date here.
18715
18716 2002-12-31  Paul Eggert  <eggert@twinsun.com>
18717
18718         * m4/memcoll.m4 (gl_MEMCOLL): Require AC_FUNC_MEMCMP.
18719
18720 2002-12-31  Paul Eggert  <eggert@twinsun.com>
18721
18722         * lib/memcoll.c (memcoll): Fall back on a simple algorithm using
18723         memcmp if strcoll doesn't work.
18724
18725 2002-12-31  Bruno Haible  <bruno@clisp.org>
18726
18727         * lib/utime.c (utime_null): No need to call ftruncate if the file was
18728         nonempty.
18729
18730 2002-12-31  Bruno Haible  <bruno@clisp.org>
18731
18732         * lib/memcoll.c (STRCOLL): New macro.
18733         (memcoll): Use it.
18734
18735 2002-12-31  Bruno Haible  <bruno@clisp.org>
18736
18737         * lib/localcharset.h: New file.
18738         * lib/localcharset.c: Include it.
18739         * lib/unicodeio.c: Likewise.
18740
18741 2002-12-31  Bruno Haible  <bruno@clisp.org>
18742
18743         * lib/getstr.h (getstr): Define, to avoid clash with libcurses.
18744         * lib/linebuffer.h (readline): Define, to avoid clash with libreadline.
18745
18746 2002-12-31  Bruno Haible  <bruno@clisp.org>
18747
18748         * lib/getline.h: Include <stddef.h>, for size_t.
18749
18750         * lib/unicodeio.h: Include <stddef.h>, for size_t.
18751         * lib/unicodeio.c: Don't include <stddef.h>.
18752
18753 2002-12-31  Bruno Haible  <bruno@clisp.org>
18754
18755         * lib/getdate.y (get_date): Test HAVE_STRUCT_TM_TM_ZONE, not
18756         HAVE_TM_ZONE.
18757
18758 2002-12-24  Karl Berry  <karl@gnu.org>
18759
18760         * config/config.guess: update from prep.
18761
18762 2002-12-24  Bruno Haible  <bruno@clisp.org>
18763
18764         General infrasructure.
18765         * m4/README: Rewritten.
18766         * m4/onceonly.m4: New file.
18767         * m4/onceonly_2_57.m4: New file.
18768
18769         Module atexit.
18770         * m4/atexit.m4: New file.
18771
18772         Module strtod.
18773         * m4/strtod.m4: New file.
18774
18775         Module strtol.
18776         * m4/strtol.m4: New file.
18777
18778         Module strtoul.
18779         * m4/strtoul.m4: New file.
18780
18781         Module memchr.
18782         * m4/memchr.m4: New file.
18783
18784         Module memcmp.
18785         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): New macro.
18786         (jm_FUNC_MEMCMP): Invoke it.
18787
18788         Module memcpy.
18789         * m4/memcpy.m4: New file.
18790
18791         Module memmove.
18792         * m4/memmove.m4: New file.
18793
18794         Module memset.
18795         * m4/memset.m4: New file.
18796
18797         Module strcspn.
18798         * m4/strcspn.m4: New file.
18799
18800         Module strpbrk.
18801         * m4/strpbrk.m4: New file.
18802
18803         Module strstr.
18804         * m4/strstr.m4: New file.
18805
18806         Module strerror.
18807         * m4/strerror.m4: New file.
18808
18809         Module mktime.
18810         * m4/mktime.m4: Renamed from jm-mktime.m4.
18811         (gl_PREREQ_MKTIME): New macro.
18812         (gl_FUNC_MKTIME): Renamed from jm_FUNC_MKTIME. Invoke gl_PREREQ_MKTIME.
18813
18814         Module malloc.
18815         * m4/malloc.m4 (gl_PREREQ_MALLOC): New macro.
18816         (jm_FUNC_MALLOC): Use AC_FUNC_MALLOC. Invoke gl_PREREQ_MALLOC.
18817         Don't define HAVE_DONE_WORKING_MALLOC_CHECK, since nothing uses it.
18818
18819         Module realloc.
18820         * m4/realloc.m4 (gl_PREREQ_REALLOC): New macro.
18821         (jm_FUNC_REALLOC): Use AC_FUNC_REALLOC. Invoke gl_PREREQ_REALLOC.
18822         Don't define HAVE_DONE_WORKING_REALLOC_CHECK, since nothing uses it.
18823
18824         Module strftime.
18825         * m4/tm_gmtoff.m4: New file, extracted from strftime.m4.
18826         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Use AC_FUNC_STRFTIME.
18827         Don't test for bcopy (we are not emacs). Invoke AC_TYPE_MBSTATE_T and
18828         gl_TM_GMTOFF.
18829         (_jm_STRFTIME_PREREQS, jm_FUNC_GNU_STRFTIME): Use onceonly macros.
18830
18831         Module xalloc.
18832         * m4/xalloc.m4: New file.
18833
18834         Module alloca.
18835         * m4/alloca.m4: New file.
18836
18837         Module putenv.
18838         * m4/putenv.m4 (gl_PREREQ_PUTENV): New macro.
18839         (jm_FUNC_PUTENV): Invoke it.
18840
18841         Module setenv.
18842         * m4/setenv.m4 (gt_FUNC_SETENV): New macro.
18843         (gt_CHECK_VAR_DECL): Fix quoting error that led to infinite loop in m4
18844         when invoked twice.
18845         (gt_PREREQ_SETENV, gt_PREREQ_UNSETENV): New macros, replacing old
18846         gt_FUNC_SETENV.
18847
18848         Module memrchr.
18849         * m4/memrchr.m4: New file.
18850
18851         Module stpcpy.
18852         * m4/stpcpy.m4: New file.
18853
18854         Module strcase.
18855         * m4/strcase.m4: New file.
18856
18857         Module strdup.
18858         * m4/strdup.m4: New file.
18859
18860         Module strnlen.
18861         * m4/strnlen.m4: New file.
18862
18863         Module strndup.
18864         * m4/strndup.m4: New file.
18865
18866         Module xstrtod.
18867         * m4/xstrtod.m4: New file.
18868
18869         Module xstrtol.
18870         * m4/xstrtol.m4: New file.
18871
18872         Module getdate.
18873         * m4/getdate.m4: New file.
18874
18875         Module unlocked-io.
18876         * m4/unlocked-io.m4: Renamed from jm-glibc-io.m4.
18877         (jm_FUNC_GLIBC_UNLOCKED_IO): Invoke AC_GNU_SOURCE. Use onceonly macros.
18878         * m4/jm-glibc-io.m4n: Remove file.
18879
18880         Module long-options.
18881         * m4/long-options.m4: New file.
18882
18883         Module md5.
18884         * m4/md5.m4: New file.
18885
18886         Module sha.
18887         * m4/sha.m4: New file.
18888
18889         Module getstr.
18890         * m4/getstr.m4: New file.
18891
18892         Module getline.
18893         * m4/getline.m4 (gl_PREREQ_GETLINE): New macro.
18894         (AM_FUNC_GETLINE): Invoke AC_GNU_SOURCE. Use <stdlib.h>, not
18895         <sys/types.h>, for size_t. Use the function name gnu_getline, not
18896         simply getline. Infoke gl_PREREQ_GETLINE.
18897
18898         Module obstack.
18899         * m4/obstack.m4: New file.
18900
18901         Module hash.
18902         * m4/hash.m4: New file.
18903
18904         Module readtokens.
18905         * m4/readtokens.m4: New file.
18906
18907         Module strverscmp.
18908         * m4/strverscmp.m4: New file.
18909
18910         Module stdbool.
18911         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Add test for _Bool. Needed for
18912         OSF/1.
18913
18914         Module strtoll.
18915         * m4/strtoll.m4: New file.
18916
18917         Module strtoull.
18918         * m4/strtoull.m4: New file.
18919
18920         Module strtoimax.
18921         * m4/strtoimax.m4: New file.
18922
18923         Module strtoumax.
18924         * m4/strtoumax.m4: New file.
18925
18926         Module xstrtoimax.
18927         * m4/xstrtoimax.m4 (jm_XSTRTOIMAX): Renamed from
18928         jm_AC_PREREQ_XSTRTOIMAX.
18929         Moved the strtol prerequisites to strtol.m4.
18930         Moved the strtoll prerequisites to strtoll.m4.
18931         Moved the strtoimax prerequisites to strtoimax.m4.
18932
18933         Module xstrtoumax.
18934         * m4/xstrtoumax.m4 (jm_XSTRTOUMAX): Renamed from
18935         jm_AC_PREREQ_XSTRTOUMAX.
18936         Moved the strtoul prerequisites to strtoul.m4.
18937         Moved the strtoull prerequisites to strtoull.m4.
18938         Moved the strtoumax prerequisites to strtoumax.m4.
18939
18940         Module chown.
18941         * m4/chown.m4 (gl_PREREQ_CHOWN): New macro.
18942         (jm_FUNC_CHOWN): Use AC_FUNC_CHOWN. Invoke gl_PREREQ_CHOWN.
18943
18944         Module dup2.
18945         * m4/dup2.m4: New file.
18946
18947         Module ftruncate.
18948         * m4/ftruncate.m4 (gl_PREREQ_FTRUNCATE): New macro.
18949         (jm_FUNC_FTRUNCATE): Use AC_REPLACE_FUNCS. Invoke gl_PREREQ_FTRUNCATE.
18950
18951         Module getgroups.
18952         * m4/getgroups.m4 (gl_PREREQ_GETGROUPS): New macro.
18953         (jm_FUNC_GETGROUPS): Use AC_FUNC_GETGROUPS. Invoke gl_PREREQ_GETGROUPS.
18954
18955         Module gettimeofday.
18956         * m4/gettimeofday.m4 (gl_PREREQ_GETTIMEOFDAY): New macro.
18957         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use onceonly macros. Invoke
18958         gl_PREREQ_GETTIMEOFDAY.
18959
18960         Module mkdir.
18961         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): New macro.
18962         (UTILS_FUNC_MKDIR_TRAILING_SLASH): Invoke gl_PREREQ_MKDIR.
18963
18964         Module mkstemp.
18965         * m4/mkstemp.m4 (gl_PREREQ_MKSTEMP): New macro.
18966         (jm_PREREQ_TEMPNAME): New macro, from prereq.m4. Also invoke
18967         jm_AC_TYPE_UINTMAX_T.
18968         (UTILS_FUNC_MKSTEMP): Invoke gl_PREREQ_MKSTEMP and jm_PREREQ_TEMPNAME.
18969
18970         Module stat.
18971         * m4/stat.m4 (gl_PREREQ_STAT): New macro.
18972         (jm_FUNC_STAT): Use AC_FUNC_STAT. Invoke gl_PREREQ_STAT.
18973
18974         Module lstat.
18975         * m4/lstat.m4 (gl_PREREQ_LSTAT): New macro.
18976         (jm_FUNC_LSTAT): Use AC_FUNC_LSTAT. Invoke gl_PREREQ_LSTAT.
18977
18978         Module timespec.
18979         * m4/timespec.m4 (gl_TIMESPEC): New macro.
18980         (jm_CHECK_TYPE_STRUCT_TIMESPEC): Add check for <sys/time.h>.
18981         * m4/st_mtim.m4: Indentation.
18982
18983         Module nanosleep.
18984         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): New macro.
18985         (jm_FUNC_NANOSLEEP): Add check for <sys/time.h>. Invoke
18986         gl_PREREQ_NANOSLEEP.
18987
18988         Module regex.
18989         * m4/regex.m4 (jm_PREREQ_REGEX): New macro.
18990         (jm_INCLUDED_REGEX): Invoke jm_PREREQ_REGEX.
18991         (gl_REGEX): New macro.
18992
18993         Module rename.
18994         * m4/rename.m4 (gl_PREREQ_RENAME): New macro.
18995         (vb_FUNC_RENAME): Invoke gl_PREREQ_RENAME.
18996
18997         Module rmdir.
18998         * m4/rmdir.m4: New file.
18999
19000         Module utime.
19001         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Use onceonly macros.
19002         * m4/utime.m4 (gl_PREREQ_UTIME): New macro.
19003         (jm_FUNC_UTIME): Invoke gl_PREREQ_UTIME.
19004
19005         Module dirname.
19006         * m4/dirname.m4: New file.
19007
19008         Module getopt.
19009         * m4/getopt.m4: New file.
19010
19011         Module unistd-safer.
19012         * m4/unistd-safer.m4: New file.
19013
19014         Module fnmatch.
19015         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Include <stdlib.h>, for exit()
19016         declaration.
19017         (gl_PREREQ_FNMATCH_EXTRA): New macro.
19018         (gl_FUNC_FNMATCH_POSIX): New macro.
19019         (gl_FUNC_FNMATCH_GNU): Renamed from AC_FUNC_FNMATCH_GNU. Invoke
19020         gl_PREREQ_FNMATCH_EXTRA. Use the function name gnu_fnmatch, not
19021         simply fnmatch.
19022
19023         Module exclude.
19024         * m4/exclude.m4: New file.
19025
19026         Module human.
19027         * m4/human.m4: New file.
19028
19029         Module acl.
19030         * m4/acl.m4: Nop.
19031
19032         Module backupfile.
19033         * m4/backupfile.m4: New file.
19034         * m4/d-ino.m4: Indentation.
19035
19036         Module fsusage.
19037         * m4/fsusage.m4 (gl_FSUSAGE): New macro.
19038         (jm_STATFS_TRUNCATES): New macro, from coreutils-4.5.4/configure.ac.
19039         (gl_PREREQ_FSUSAGE_EXTRA): New macro.
19040
19041         Module dirfd.
19042         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Invoke some AC_EGREP_CPP
19043         requirements.
19044
19045         Module euidaccess.
19046         * m4/euidaccess.m4: New file.
19047
19048         Module file-type.
19049         * m4/file-type.m4: New file.
19050
19051         Module fileblocks.
19052         * m4/fileblocks.m4: New file.
19053
19054         Module filemode.
19055         * m4/filemode.m4: New file.
19056
19057         Module isdir.
19058         * m4/isdir.m4: New file.
19059
19060         Module lchown.
19061         * m4/lchown.m4 (gl_PREREQ_LCHOWN): New macro.
19062         (jm_FUNC_LCHOWN): Invoke gl_PREREQ_LCHOWN.
19063
19064         Module makepath.
19065         * m4/makepath.m4: New file.
19066
19067         Module modechange.
19068         * m4/modechange.m4: New file.
19069
19070         Module mountlist.
19071         * m4/mountlist.m4: New file.
19072         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Use onceonly macros.
19073         Indentation.
19074
19075         Module path-concat.
19076         * m4/path-concat.m4: New file.
19077
19078         Module pathmax.
19079         * m4/pathmax.m4: New file.
19080
19081         Module same.
19082         * m4/same.m4: New file.
19083
19084         Module save-cwd.
19085         * m4/save-cwd.m4: New file.
19086
19087         Module savedir.
19088         * m4/savedir.m4: New file.
19089
19090         Module xgetcwd.
19091         * m4/xgetcwd.m4: New file.
19092         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Use onceonly macros.
19093
19094         Module xreadlink.
19095         * m4/xreadlink.m4: New file.
19096
19097         Module safe-read.
19098         * m4/safe-read.m4: New file.
19099
19100         Module safe-write.
19101         * m4/safe-write.m4: New file.
19102
19103         Module closeout.
19104         * m4/closeout.m4: New file.
19105
19106         Module stdio-safer.
19107         * m4/stdio-safer.m4: New file.
19108
19109         Module getpass.
19110         * m4/getpass.m4: New file.
19111
19112         Module getugroups.
19113         * m4/getugroups.m4: New file.
19114
19115         Module group-member.
19116         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): New macro.
19117         (jm_FUNC_GROUP_MEMBER): Invoke AC_GNU_SOURCE, gl_PREREQ_GROUP_MEMBER.
19118
19119         Module idcache.
19120         * m4/idcache.m4: New file.
19121
19122         Module userspec.
19123         * m4/userspec.m4: New file.
19124
19125         Module gettime.
19126         * m4/clock_time.m4: New file.
19127         * m4/gettime.m4: New file.
19128
19129         Module settime.
19130         * m4/settime.m4: New file.
19131
19132         Module posixtm.
19133         * m4/posixtm.m4: New file.
19134
19135         Module gethostname.
19136         * m4/gethostname.m4: New file.
19137
19138         Module canon-host.
19139         * m4/canon-host.m4: New file.
19140
19141         Module gettext.
19142         * m4/codeset.m4: New file, from gettext-0.11.5.
19143         * m4/gettext.m4: New file, from gettext-0.11.5.
19144         * m4/glibc21.m4: New file, from gettext-0.11.5.
19145         * m4/iconv.m4: New file, from gettext-0.11.5.
19146         * m4/intdiv0.m4: New file, from gettext-0.11.5.
19147         * m4/inttypes-pri.m4: New file, from gettext-0.11.5.
19148         * m4/inttypes.m4: New file, from gettext-0.11.5.
19149         * m4/inttypes_h.m4: New file, from gettext-0.11.5 with modifications.
19150         * m4/isc-posix.m4: New file, from gettext-0.11.5.
19151         * m4/lcmessage.m4: New file, from gettext-0.11.5.
19152         * m4/lib-ld.m4: New file, from gettext-0.11.5.
19153         * m4/lib-link.m4: New file, from gettext-0.11.5.
19154         * m4/lib-prefix.m4: New file, from gettext-0.11.5.
19155         * m4/progtest.m4: New file, from gettext-0.11.5.
19156         * m4/stdint_h.m4: New file, from gettext-0.11.5 with modifications.
19157         * m4/uintmax_t.m4: New file, from gettext-0.11.5 with modifications.
19158         * m4/ulonglong.m4: New file, from gettext-0.11.5 with modifications.
19159
19160         Module localcharset.
19161         * m4/localcharset.m4: New file.
19162
19163         Module hard-locale.
19164         * m4/hard-locale.m4: New file.
19165
19166         Module mbswidth.
19167         * m4/mbswidth.m4 (gl_MBSWIDTH): Renamed from jm_PREREQ_MBSWIDTH. Use
19168         onceonly macros.
19169         * m4/mbrtowc.m4: Add comment.
19170
19171         Module memcasecmp.
19172         * m4/memcasecmp.m4: New file.
19173
19174         Module memcoll.
19175         * m4/memcoll.m4: New file.
19176
19177         Module unicodeio.
19178         * m4/unicodeio.m4: New file.
19179
19180         Module rpmatch.
19181         * m4/rpmatch.m4: New file.
19182
19183         Module yesno.
19184         * m4/yesno.m4: New file.
19185
19186         Module exitfail.
19187         * m4/exitfail.m4: New file.
19188
19189         Module c-stack.
19190         * m4/c-stack.m4 (gl_C_STACK): New macro.
19191         (jm_PREREQ_C_STACK): Check for <sys/time.h>. Use onceonly macros.
19192
19193         Module error.
19194         * m4/error.m4 (gl_ERROR): New macro.
19195         (jm_PREREQ_ERROR): Use onceonly macros.
19196
19197         Module fatal.
19198         * m4/fatal.m4: New file.
19199
19200         Module getloadavg.
19201         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Use onceonly macros.
19202         (gl_FUNC_GETLOADAVG, gl_PREREQ_GETLOADAVG): New macros.
19203
19204         Module getpagesize.
19205         * m4/getpagesize.m4: New file.
19206
19207         Module getusershell.
19208         * m4/getusershell.m4: New file.
19209
19210         Module physmem.
19211         * m4/physmem.m4: New file.
19212
19213         Module posixver.
19214         * m4/posixver.m4: New file.
19215
19216         Module quotearg.
19217         * m4/quotearg.m4: New file.
19218
19219         Module quote.
19220         * m4/quote.m4: New file.
19221
19222         Module readutmp.
19223         * m4/readutmp.m4: New file, based on jm_PREREQ_READUTMP from prereq.m4.
19224
19225         Module sig2str.
19226         * m4/sig2str.m4: New file.
19227
19228         Other.
19229         * m4/longlong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Remove, moved to
19230         ulonglong.m4.
19231         * m4/intmax_t.m4: New file.
19232         * m4/d-type.m4: Indentation.
19233         * m4/jm-macros.m4: Update.
19234         * m4/prereq.m4 (jm_PREREQ): Update.
19235         (jm_PREREQ_ADDEXT): Remove, obsoleted by backupfile.m4.
19236         (jm_PREREQ_CANON_HOST): Remove, obsoleted by canon-host.m4.
19237         (jm_PREREQ_DIRNAME): Remove, obsoleted by dirname.m4.
19238         (jm_PREREQ_EXCLUDE): Remove, obsoleted by exclude.m4.
19239         (jm_PREREQ_GETPAGESIZE): Remove, obsoleted by getpagesize.m4.
19240         (jm_PREREQ_HARD_LOCALE): Remove, obsoleted by hard-locale.m4.
19241         (jm_PREREQ_HASH): Remove, obsoleted by hash.m4.
19242         (jm_PREREQ_HUMAN): Remove, obsoleted by human.m4.
19243         (jm_PREREQ_MEMCHR): Remove, obsoleted by memchr.m4.
19244         (jm_PREREQ_PHYSMEM): Remove, obsoleted by physmem.m4.
19245         (jm_PREREQ_POSIXVER): Remove, obsoleted by posixver.m4.
19246         (jm_PREREQ_QUOTEARG): Remove, obsoleted by quotearg.m4.
19247         (jm_PREREQ_READUTMP): Remove, obsoleted by readutmp.m4.
19248         (jm_PREREQ_REGEX): Remove, obsoleted by regex.m4.
19249         (jm_PREREQ_STRNLEN): Remove, obsoleted by strnlen.m4.
19250         (jm_PREREQ_TEMPNAME): Remove, obsoleted by mkstemp.m4.
19251         (jm_PREREQ_XGETCWD): Remove, obsoleted by xgetcwd.m4.
19252         (jm_PREREQ_XREADLINK): Remove, obsoleted by xreadlink.m4.
19253         * m4/readdir.m4 (jm_FUNC_READDIR): Use onceonly macros.
19254
19255 2002-12-24  Bruno Haible  <bruno@clisp.org>
19256
19257         * MODULES.txt: Update according to m4/ changes.
19258
19259         Module gettext.
19260         * config.rpath: New file, from gettext-0.11.5.
19261
19262         * modules/*: New module descriptions.
19263         * gnulib-tool: New file.
19264         * MODULES.html.sh: New file.
19265
19266 2002-12-21  Karl Berry  <karl@gnu.org>
19267
19268         * doc/fdl.texi: update to version 1.2.
19269
19270 2002-12-19  Karl Berry  <karl@gnu.org>
19271
19272         * config/config.guess: update from prep.
19273
19274 2002-12-18  Bruno Haible  <bruno@clisp.org>
19275
19276         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't test for localtime_r.
19277         * m4/jm-mktime.m4 (jm_FUNC_MKTIME): Likewise.
19278
19279 2002-12-17  Bruno Haible  <bruno@clisp.org>
19280
19281         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Remove checks for limits.h,
19282         stdlib.h, string.h.
19283
19284 2002-12-17  Bruno Haible  <bruno@clisp.org>
19285
19286         * lib/canon-host.c (strdup): Remove unused declaration.
19287
19288         * lib/fsusage.c: Include full_read.h.
19289         (get_fs_usage): Use full_read instead of safe_read.
19290
19291         * lib/utime.c (utime_null): Use SAFE_READ_ERROR.
19292
19293 2002-12-12  Karl Berry  <karl@gnu.org>
19294
19295         * config/config.guess: update from prep.
19296
19297 2002-12-11  Bruno Haible  <bruno@clisp.org>
19298
19299         * m4/setenv.m4: New file, from gettext-0.11.5.
19300
19301 2002-12-11  Bruno Haible  <bruno@clisp.org>
19302
19303         * lib/setenv.h: Rewritten to cope with systems that have setenv() but
19304         not unsetenv().
19305         * lib/setenv.c, unsetenv.c: Taken from glibc-2.2.4 with the following
19306         modifications:
19307
19308         2002-12-11  Bruno Haible  <bruno@clisp.org>
19309
19310                 * setenv.c (alloca): Fall back to malloc.
19311                 (freea): New macro.
19312                 (setenv): Use freea() to free memory allocated with alloca().
19313
19314         2002-11-13  Bruno Haible  <bruno@clisp.org>
19315
19316                 * setenv.c (compar_fn_t, __add_to_environ, setenv): Use ANSI C
19317                 function declarations.
19318                 * unsetenv.c (unsetenv): Likewise.
19319
19320         2002-03-04  Bruno Haible  <bruno@clisp.org>
19321
19322                 Portability to AIX 4.3.3.
19323                 * unsetenv.c: New file, extracted from setenv.c.
19324                 * setenv.c: Move the unsetenv() function to unsetenv.c.
19325
19326         2001-12-20  Bruno Haible  <bruno@clisp.org>
19327
19328                 * setenv.c (__add_to_environ): Don't call realloc(NULL,...),
19329                 use malloc instead. For SunOS 4.
19330
19331         2001-12-11  Bruno Haible  <bruno@clisp.org>
19332
19333                 * setenv.c: Declare alloca.
19334                 (compar_fn_t): New typedef.
19335                 (KNOWN_VALUE, STORE_VALUE): Use it.
19336
19337         * lib/Makefile.am (libfetish_a_SOURCES): Add setenv.c, unsetenv.c,
19338         setenv.h.
19339
19340 2002-12-10  Paul Eggert  <eggert@twinsun.com>
19341
19342         Port exclude.c and exclude.h to more non-GNU systems, e.g. Solaris 7.
19343         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE, EXCLUDE_WILDCARDS):
19344         Choose values that are less likely to collide with system fnmatch
19345         options.
19346         * lib/exclude.c (FNM_CASEFOLD, FNM_LEADING_DIR): Define to 0 if not
19347         defined (e.g., a pure POSIX system).
19348         (EXCLUDE_macros_do_not_collide_with_FNM_macros): Use FNM_PATHNAME
19349         instead of FNM_FILE_NAME, for compatibility with pure POSIX sytems.
19350
19351 2002-12-06  Paul Eggert  <eggert@twinsun.com>
19352
19353         Undo the 2001-07-02 change for jm-glibc-io, as it was too much of
19354         a pain in practice to deal with generated m4 files.  This change
19355         goes together with the 2002-12-04 unlocked-io.h change in ../lib.
19356
19357         * m4/Makefile.am.in (Makefile.am): Don't mention jm-glibc-io.m4n
19358         and jm-glibc-io.m4, as they are no longer a special case.
19359         * m4/jm-glibc-io.m4: Rename from jm-glibc-io.m4n, and remove the
19360         kludge and the auto-generation stuff.  Check only whether the
19361         functions are declared, not whether they exist, since older hosts
19362         that don't declare the functions can't use the optimization anyway.
19363
19364 2002-12-06  Jim Meyering  <jim@meyering.net>
19365
19366         * lib/error.c: Be consistent: change `#ifndef _LIBC' to `#if !_LIBC'.
19367
19368         Merge in changes from libc's misc/error.c, in preparation
19369         for the merge of gnulib's changes back into libc.
19370
19371         * lib/error.c (_): Define only if not already defined.
19372         Move definition to follow all #include directives.
19373         Include unlocked-io.h only if !_LIBC.
19374         [_LIBC]: Include <libio/libioP.h>.
19375         [USE_IN_LIBIO]: Include <libio/iolibio.h>
19376         (fflush): Tweak definition to use INTUSE.
19377         (putc): Define.
19378
19379 2002-12-05  Paul Eggert  <eggert@twinsun.com>
19380
19381         * lib/alloca.c [defined emacs]: Include "lisp.h".
19382         (xalloc_die) [defined emacs]: New macro.
19383         (free) [defined emacs && defined EMACS_FREE]: Define to EMACS_FREE.
19384         [! defined emacs]: Include <xalloc.h>.
19385         (POINTER_TYPE) [!defined POINTER_TYPE]: New macro.
19386         (pointer): Typedef to POINTER_TYPE *.
19387         (malloc): Remove decl; we now always use xmalloc.
19388         (alloca): Use old-style definition, since Emacs needs this.
19389         Check for arithmetic overflow when computing combined size.
19390
19391 2002-12-04  Paul Eggert  <eggert@twinsun.com>
19392
19393         Do not generate unlocked-io.h automatically, since it's easier to
19394         maintain it by hand.
19395
19396         * lib/unlocked-io.h: New file, from GNU diffutils,
19397         but with proper copyright notice and attribution.
19398         * lib/gen-uio: Remove.
19399         * lib/Makefile.am: Add copyright notice.
19400         (libfetish_a_SOURCES): Add unlocked-io.h.
19401         (BUILT_SOURCES, all-local): Remove unlocked-io.h.
19402         (DISTCLEANFILES, io_functions): Remove macros.
19403         (EXTRA_DIST): Remove gen_uio.
19404         (unlocked-io.h): Remove rule.
19405
19406 2002-12-04  Jim Meyering  <jim@meyering.net>
19407
19408         Reflect the fact that stat.c and lstat.c are no longer generated.
19409         * lib/Makefile.am (BUILT_SOURCES): Remove stat.c and lstat.c.
19410         (DISTCLEANFILES): Likewise.
19411         (EXTRA_DIST): Likewise.
19412         (all_local): Don't depend on stat.c or lstat.c.
19413         (stat.c, lstat.c): Remove rules.
19414         (EXTRA_DIST): Remove xstat.in.
19415
19416         * lib/xstat.in: Remove file.  Contents moved into stat.c.
19417         * lib/stat.c: New file.  Contents mostly from xstat.in.
19418         * lib/stat.c: Rework so that it may serve to define rpl_lstat, too.
19419         * lib/lstat.c: New file. Simply #define LSTAT and include stat.c.
19420
19421         * lib/safe-read.c: Rework so that it may serve to define safe_write,
19422         too.
19423         * lib/safe-write.c: Simply #define SAFE_WRITE and include safe-read.c.
19424
19425 2002-12-03  Jim Meyering  <jim@meyering.net>
19426
19427         * lib/safe-read.c, safe-write.c: Change variable names and comments,
19428         but not semantics, to minimize the differences between these two files.
19429         (safe_read): Change comment to mention SAFE_READ_ERROR.
19430
19431         * lib/safe-read.c (IS_EINTR): Define.
19432         (safe_read): Use IS_EINTR in place of in-function cpp directives.
19433
19434 2002-12-02  Jim Meyering  <jim@meyering.net>
19435
19436         * lib/safe-read.c (EINTR): Define.
19437         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
19438         (INT_MAX): Provide fallback.
19439         (safe_read): Rewrite to iterate IFF the read fails with EINTR.
19440
19441         * lib/safe-read.h (SAFE_READ_ERROR): Define.
19442
19443 2002-12-02  Bruno Haible  <bruno@clisp.org>
19444
19445         * lib/safe-write.c (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM):
19446         Define, taken from safe-read.c.
19447         (INT_MAX): Provide fallback.
19448         (safe_write): Rewrite to iterate IFF the write fails with EINTR.
19449         * lib/safe-write.h (SAFE_WRITE_ERROR): Define.
19450
19451         * lib/safe-read.c (EINTR): Remove definition.
19452         (safe_read): Don't use EINTR if it is absent.
19453
19454 2002-12-01  Jim Meyering  <jim@meyering.net>
19455
19456         * lib/safe-read.c: (safe_read): Also exit the loop when read returns
19457         zero.
19458         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM, INT_MAX): Define.
19459
19460 2002-11-27  Paul Eggert  <eggert@twinsun.com>
19461
19462         * lib/hash.c (hash_lookup, hash_get_first, hash_get_next,
19463         hash_find_entry, hash_rehash): Replace `if (limit <= value) abort ();'
19464         with `if (! (value < limit)) abort ();', for readability.
19465
19466 2002-11-26  Karl Berry  <karl@gnu.org>
19467
19468         * lib/strdup.c: copy from libc again, with jim's ok.
19469         * lib/.cppi-disable: re-add strdup.c
19470
19471 2002-11-25  Karl Berry  <karl@gnu.org>
19472
19473         * lib/strtoll.c: copy from libc, meaning we now #include <strtol.c>
19474         instead of "strtol.c".
19475
19476 2002-11-25  Karl Berry  <karl@gnu.org>
19477
19478         * config/install-sh: update from automake for variable quoting, $0 in
19479         error msgs, etc.
19480
19481         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): new entry.
19482         * config/srclist.txt ($LIBCSRC/sysdeps/generic/strtoll.c lib gpl): new
19483         entry.
19484
19485 2002-11-25  Jim Meyering  <jim@meyering.net>
19486
19487         * lib/mktime.c: Sync from libc, now that it has the latest fix.
19488
19489 2002-11-24  Karl Berry  <karl@gnu.org>
19490
19491         * lib/error.c, getopt.c, getopt.h, getopt1.c, obstack.c, regex.c,
19492         regex.h, strdup.c, strtoll.c, tempname.c: change license to gpl.
19493
19494 2002-11-24  Jim Meyering  <jim@meyering.net>
19495
19496         Update from coreutils:
19497
19498         * lib/mktime.c: Merge in changes from libc.
19499
19500         Avoid a link-time failure on some Linux systems.
19501         * lib/mktime.c (STATIC): Define to be empty (_LIBC) or `static'
19502         (otherwise).
19503         (__mon_yday): Declare with the STATIC attribute.
19504         (__mktime_internal): Likewise.
19505         Based on a report from Greg Schafer.
19506
19507 2002-11-23  Jim Meyering  <jim@meyering.net>
19508
19509         * lib/sig2str.c (str2signum, sig2str): Avoid a warning from gcc:
19510         Use `unsigned', not `int', as type of index.
19511
19512         * lib/xstat.in [@BEGIN_LSTAT_ONLY@]: Include <string.h>.
19513
19514         * lib/fsusage.c: Remove unneeded parentheses around operands of
19515         `defined'.
19516
19517 2002-11-22  Paul Eggert  <eggert@twinsun.com>
19518
19519         * lib/quotearg.h: Allow multiple inclusion by surrounding with
19520         "#ifndef QUOTEARG_H_".  Include <stddef.h>, for size_t,
19521         so that we can be included first.
19522         (PARAMS): Remove; we now assume C89 or later.  All uses removed.
19523         * lib/quotearg.c: Include quotearg.h immediately after config.h.
19524         No need to include stddef.h or sys/types.h any more.
19525         Surround local include files with "", not "<>".
19526         Assume HAVE_LIMITS_H unconditionally, as we assume C89.
19527         Similarly, assume HAVE_C_BACKSLASH_A, CHAR_BIT, UCHAR_MAX, UINT_MAX,
19528         HAVE_STDLIB_H, HAVE_STRING_H, STDC_HEADERS.
19529         (HAVE_MBSINIT): Undef if !HAVE_MBRTOWC.
19530         (mbsinit): Define to 1 if !defined mbsinit && !HAVE_MBSINIT.
19531         (ISPRINT): Remove; no longer needed now that we assume C89.
19532
19533         (clone_quoting_options, quotearg_buffer, quotearg_n_options):
19534         Preserve errno.
19535
19536         (quotearg_buffer_restyled, quotearg_n, quotearg_n_style,
19537         quotearg_char): Use SIZE_MAX rather than
19538         (size_t) -1 when we are talking about "infinity".
19539
19540         (quotearg_buffer_restyled): Fix bug when quoting trigraphs.
19541
19542 2002-11-22  Paul Eggert  <eggert@twinsun.com>
19543
19544         * lib/hash.c: Avoid use of <assert.h>, as the GNU Coding Standards
19545         hint that one should use `if (! x) abort ();' rather than `assert
19546         (x);', and anyway it's one less thing to worry about configuring.
19547         (hash_lookup, hash_get_first, hash_get_next, hash_find_entry,
19548         hash_rehash, hash_insert): Use abort rather than assert.
19549
19550 2002-11-22  Bruno Haible  <bruno@clisp.org>
19551
19552         * lib/safe-read.h: Assume C89. Add comments.
19553         (safe_read): Change return type to size_t.
19554         * lib/safe-read.c (safe_read): Change return type to size_t. Handle
19555         byte counts > SSIZE_MAX correctly.
19556         * lib/safe-write.h: New file.
19557         * lib/safe-write.c: New file.
19558         * lib/full-read.h: New file.
19559         * lib/full-read.c: New file.
19560         * lib/full-write.h: Assume C89. Add comments.
19561         * lib/full-write.c: Include safe-write.h.
19562         (full_write): Rewritten to use safe_write.
19563         Suggested by Jim Meyering and Paul Eggert.
19564
19565 2002-11-21  Jim Meyering  <jim@meyering.net>
19566
19567         * lib/strdup.c (strdup): Tweak comment and initial #if/#include.
19568
19569         Merge in changes from the coreutils.
19570
19571         2002-09-25  Paul Eggert  <eggert@twinsun.com>
19572         * lib/fsusage.c [! HAVE_INTTYPES_H && HAVE_STDINT_H] Include
19573         <stdint.h>.
19574         (UINTMAX_MAX) [!defined UINTMAX_MAX]: New macro.
19575         (PROPAGATE_ALL_ONES): Work even if X is unsigned and narrower than
19576         int.  Work more efficiently if X is the same width as uintmax_t.
19577         Do not compare X to -1, to avoid bogus compiler warning.
19578         (get_fs_usage): (uintmax_t) -1 -> UINTMAX_MAX to avoid a cast.
19579         Don't assume that f_frsize and f_bsize are the same type.
19580
19581         * lib/mountlist.c: #undef MNT_IGNORE before defining it, to avoid
19582         warning on FreeBSD.
19583
19584         * lib/makepath.c (make_path): Restore umask *before* creating the final
19585         component.
19586         (make_path): Minor reformatting.
19587
19588         * lib/xmalloc.c: Adjust to work with new autoconf macros,
19589         AC_FUNC_MALLOC and AC_FUNC_REALLOC: test #ifndef
19590         HAVE_MALLOC/HAVE_REALLOC.
19591
19592         * lib/mountlist.h (ME_DUMMY): Don't count entries of type `auto' as
19593         dummy ones.  At least on GNU/Linux systems, `auto' means something
19594         else.
19595         From Michael Stone.
19596
19597 2002-11-21  Bruno Haible  <bruno@clisp.org>
19598
19599         Remove case insensitive option matching.
19600         * lib/argmatch.h (argcasematch): Remove declaration.
19601         (ARGCASEMATCH): Remove macro.
19602         (__xargmatch_internal): Remove case_sensitive argument.
19603         (XARGMATCH): Update.
19604         (XARGCASEMATCH): Remove macro.
19605         * lib/argmatch.c (argmatch): Renamed from __argmatch_internal. Remove
19606         case_sensitive argument.
19607         (argcasematch): Remove function.
19608         (__xargmatch_internal): Remove case_sensitive argument.
19609         (main): Use XARGMATCH instead of XARGCASEMATCH.
19610
19611         * lib/xmalloc.c: Change compile-time error message. Add comment about
19612         required autoconf version.
19613
19614 2002-11-20  Paul Eggert  <eggert@twinsun.com>
19615
19616         Merge argmatch cleanups from Bison.  Assume C89.
19617
19618         * lib/argmatch.c: Include config.h here, not in argmatch.h.
19619         Include stdlib.h, for EXIT_FAILURE.
19620         Always include <string.h>, since we assume C89.
19621         (EXIT_FAILURE): Remove pre-C89 bug workaround.
19622         * lib/argmatch.h: Do not include <config.h> or <sys/types.h>.
19623         Include <stddef.h> instead, since it's all we need for size_t.
19624         (PARAMS): Remove.  All uses removed.
19625         (ARRAY_CARDINALITY): Do not bother to #undef.
19626         (ARRAY_CARDINALITY, ARGMATCH, ARGCASEMATCH, invalid_arg,
19627         ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
19628         Remove unnecessary parentheses.
19629         (ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
19630         Insert necessary parentheses.
19631         (ARGMATCH_CONSTRAINT, ARGMATCH_VERIFY): New macros.
19632         (ARGMATCH_ASSERT): Use ARGMATCH_CONSTRAINT.
19633
19634 2002-11-19  Bruno Haible  <bruno@clisp.org>
19635
19636         * lib/mbswidth.c: Include mbswidth.h right at the beginning.
19637         * lib/mbswidth.h: Include <stddef.h>, for size_t.
19638
19639         * lib/mbswidth.h (PARAMS): Remove macro.
19640         (mbswidth, mbsnwidth): Use ANSI C function declarations.
19641         * lib/mbswidth.c (mbswidth, mbsnwidth): Likewise.
19642
19643         * lib/gcd.h (PARAMS): Remove macro.
19644         (gcd): Use ANSI C function declarations.
19645         * lib/gcd.c (gcd): Likewise.
19646
19647 2002-11-15  Bruno Haible  <bruno@clisp.org>
19648
19649         * lib/strcspn.c: Include <stddef.h>.
19650         (strcspn): Use ANSI C function declaration. Change return type to
19651         size_t. Use NULL.
19652         * lib/strpbrk.c: Minimize diffs to glibc. Include <stddef.h>.
19653         (strpbrk): Use NULL.
19654         * lib/strpbrk.h (PARAMS): Remove macro.
19655         (strpbrk): Use ANSI C function declaration.
19656         * lib/strstr.c: Don't include <sys/types.h>.
19657         * lib/strstr.h (PARAMS): Remove macro.
19658         (strstr): Use ANSI C function declarations.
19659
19660 2002-11-14  Karl Berry  <karl@gnu.org>
19661
19662         * config/mkinstalldirs: `do' on separate line, instead of
19663         `for var; do'.
19664
19665 2002-11-06  Bruno Haible  <bruno@clisp.org>
19666
19667         * lib/gcd.h (gcd): Change argument type to 'unsigned long'.
19668         * lib/gcd.c (gcd): Likewise.
19669
19670 2002-11-05  Bruno Haible  <bruno@clisp.org>
19671
19672         * lib/gcd.h: New file, from gettext-0.11.5.
19673         * lib/gcd.c: New file, from gettext-0.11.5.
19674
19675 2002-11-05  Bruno Haible  <bruno@clisp.org>
19676
19677         * lib/error.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
19678         * lib/getopt.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
19679         * lib/obstack.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
19680         * lib/regex.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
19681
19682         * lib/argmatch.c: Include gettext.h instead of <locale.h> and
19683         <libintl.h>.
19684         * lib/makepath.c: Include gettext.h instead of <locale.h> and
19685         <libintl.h>.
19686
19687         * lib/closeout.c: Include gettext.h instead of <libintl.h>.
19688         * lib/human.c: Include gettext.h instead of <libintl.h>.
19689         * lib/quotearg.c: Include gettext.h instead of <libintl.h>.
19690         * lib/rpmatch.c: Include gettext.h instead of <libintl.h>.
19691         * lib/unicodeio.c: Include gettext.h instead of <libintl.h>.
19692         * lib/userspec.c: Include gettext.h instead of <libintl.h>.
19693         * lib/version-etc.c: Include gettext.h instead of <libintl.h>.
19694         * lib/xmalloc.c: Include gettext.h instead of <libintl.h>.
19695         (textdomain): Remove definition.
19696         * lib/xmemcoll.c: Include gettext.h instead of <libintl.h>.
19697
19698         * lib/long-options.c: Remove include of <libintl.h> and definition of
19699         _.
19700         * lib/same.c: Remove include of <libintl.h> and definition of _.
19701
19702 2002-11-04  Owen Taylor  <otaylor@redhat.com>
19703
19704         * lib/config.charset: A few additions for Solaris.
19705
19706 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
19707
19708         Make it possible to build libcharset with CC=gcc CFLAGS="-x c++".
19709         * lib/localcharset.c (locale_charset): Declare as extern "C".
19710
19711 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
19712
19713         * lib/config.charset: msdos in uk_UA uses CP1125.
19714
19715 2002-11-04  Bruno Haible  <bruno@clisp.org>
19716
19717         * lib/stpcpy.h: New file, from GNU gettext-0.11.5.
19718         * lib/strcase.h: New file, from GNU gettext-0.11.5.
19719         * lib/strpbrk.h: New file, from GNU gettext-0.11.5.
19720         * lib/strstr.h: New file, from GNU gettext-0.11.5.
19721         * lib/xgetcwd.h: New file, from GNU gettext-0.11.5.
19722
19723 2002-11-04  Bruno Haible  <bruno@clisp.org>
19724
19725         * lib/localcharset.c (locale_charset): Don't return an empty string.
19726
19727 2002-11-04  Bruno Haible  <bruno@clisp.org>
19728
19729         * lib/localcharset.c (get_charset_aliases): Add more Windows specific
19730         aliases.
19731
19732 2002-11-04  Bruno Haible  <bruno@clisp.org>
19733
19734         * lib/config.charset: Update for newest glibc. Add canonical names
19735         ISO-8859-14, KOI8-T, TCVN5712-1, GEORGIAN-PS.
19736
19737 2002-11-04  Bruno Haible  <bruno@clisp.org>
19738
19739         * lib/config.charset: Add support for NetBSD.
19740
19741 2002-11-04  Bruno Haible  <bruno@clisp.org>
19742
19743         * lib/config.charset [msdosdjgpp]: For Russian, use CP866.
19744
19745 2002-11-01  Bruno Haible  <bruno@clisp.org>
19746
19747         * configure.in: Add AC_CONFIG_AUX_DIR call.
19748         (AC_OUTPUT): Add m4/Makefile, lib/Makefile. Remove doc/Makefile,
19749         test/Makefile.
19750         * Makefile.in (subdirs): Add m4, lib. Remove doc, test.
19751
19752 2002-09-28  Karl Berry  <karl@gnu.org>
19753
19754         * config/srclist.txt: can't copy install-sh/mkinstalldirs from
19755         installed automake until the next release, since changes have been
19756         made.
19757
19758 2002-09-25  Karl Berry  <karl@gnu.org>
19759
19760         * lib/strdup.c: copy from libc/string (via ../config/srclist*).
19761         * lib/getopt*: copy from libc/posix.
19762         * lib/gettext.h: copy from gettext.
19763         * lib/.cppi-disable: add strdup.c, gettext.h.
19764
19765 2002-09-25  Karl Berry  <karl@gnu.org>
19766
19767         * config/srclist.txt: enable gettext.h check.
19768         * config/config.{guess,sub}: update from prep.
19769         * config/depcomp, install-sh, mdate-sh, missing, mkinstalldirs: update
19770                 from automake 1.6.3.
19771         See srclist*.
19772
19773 2002-08-23  Stefan Monnier  <monnier@cs.yale.edu>
19774
19775         * regex.c (PATFETCH): Remove the translating fetch.
19776         (PATFETCH_RAW): Rename to PATFETCH.
19777         (set_image_of_range): New fun.
19778         (SET_RANGE_TABLE_WORK_AREA): Use it.
19779         (regex_compile): Don't translate the pattern chars so eagerly.
19780         Only do it when inserting an `exactn' bytecode or when handling
19781         a char-range.
19782         (mutually_exclusive_p): Avoid empty statement.
19783
19784 2002-07-06  Jim Meyering  <meyering@lucent.com>
19785
19786         * m4/README: Don't mention Makefile.am.in.
19787         Outline how I've tested changes to .m4 files.  Yep, it's a pain.
19788
19789 2002-07-01  Jim Meyering  <meyering@lucent.com>
19790
19791         * lib/c-stack.c: Include sys/time.h.
19792         From Volker Borchert.
19793
19794 2002-06-26  Paul Eggert  <eggert@twinsun.com>
19795
19796         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for btowc.
19797
19798 2002-06-26  Paul Eggert  <eggert@twinsun.com>
19799
19800         * lib/fnmatch.c, fnmatch_loop.c (WIDE_CHAR_SUPPORT):
19801         New macro.  Use it uniformly instead of
19802         (defined HAVE_WCTYPE_H && defined HAVE_WCHAR_H).
19803         It also uses HAVE_BTOWC, to fix a porting bug on Solaris 2.5.1
19804         reported by Vin Shelton.
19805
19806 2002-06-22  Paul Eggert  <eggert@twinsun.com>
19807
19808         * lib/c-stack.h (segv_handler, c_stack_action) [! defined SA_SIGINFO]:
19809         Do not assume SA_SIGINFO behavior.
19810         Bug reported by Jim Meyering on NetBSD 1.5.2.
19811
19812 2002-06-22  Jim Meyering  <meyering@lucent.com>
19813
19814         * m4/c-stack.m4: New file, from diffutils-2.8.2.
19815         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_C_STACK.
19816
19817         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Don't require AC__GNU_SOURCE,
19818         now that configure.ac uses AC_GNU_SOURCE.
19819         (jm_MACROS): Rename: jm_FUNC_FNMATCH to AC_FUNC_FNMATCH_GNU.
19820         * m4/prereq.m4 (jm_PREREQ_EXCLUDE): Likewise, wrt jm_FUNC_FNMATCH.
19821
19822         Update to latest tools.  Suggestions from Paul Eggert.
19823         * m4/stdbool.m4: New file, from diffutils-2.8.2.
19824         * m4/gnu-source.m4: Update from diffutils-2.8.2.
19825         * m4/fnmatch.m4: Likewise.
19826         * m4/prereq.m4: Change each use of AC_CHECK_HEADERS(stdbool.h)
19827         to AC_HEADER_STDBOOL
19828
19829 2002-06-22  Jim Meyering  <meyering@lucent.com>
19830
19831         * lib/fnmatch.c (ISASCII, ISPRINT): Undefine, to avoid warning about
19832         redefinition due to Solaris 2.6's definition in /usr/include/sys/euc.h.
19833
19834 2002-06-22  Jim Meyering  <meyering@lucent.com>
19835
19836         * lib/c-stack.c, lib/c-stack.h: New files, from diffutils-2.8.2.
19837
19838         * lib/exitfail.c, exitfail.h: Likewise.
19839         * lib/Makefile.am (libfetish_a_SOURCES): Add exitfail.c and exitfail.h.
19840
19841         * lib/Makefile.am (libfetish_a_SOURCES): Add fnmatch_.h in place
19842         of fnmatch.h.
19843         (EXTRA_DIST): Add fnmatch_loop.c.
19844         (libfetish_a_SOURCES): Add c-stack.c and c-stack.h.
19845
19846         * lib/fnmatch_loop.c: New file, from diffutils-2.8.2.
19847         * lib/fnmatch.c: Update from diffutils-2.8.2.
19848         * lib/fnmatch_.h: New file.  From diffutils-2.8.2.
19849         * lib/fnmatch.h: Remove file.
19850
19851 2002-06-21  Jim Meyering  <meyering@lucent.com>
19852
19853         * m4/c-bs-a.m4: Add comment, from diffutils-2.8.2.
19854         * m4/mbrtowc.m4: Likewise.
19855
19856         * m4/mbstate_t.m4: Update from diffutils-2.8.2.
19857         * m4/mbswidth.m4: Reflect name change:
19858         s/AC_MBSTATE_T/AC_TYPE_MBSTATE_T.
19859         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
19860
19861         * m4/lib-link.m4: Update from gettext-0.11.2.
19862         * m4/gettext.m4: Likewise.
19863
19864         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for hurd.h.
19865         From Alfred M. Szmidt.
19866
19867 2002-06-18  Paul Eggert  <eggert@twinsun.com>
19868
19869         * lib/file-type.h: Report an error if neither S_ISREG nor
19870         S_IFREG is defined, instead of using a test specific to glibc
19871         2.2.  This should be safe, since POSIX requires S_ISREG and
19872         Unix Version 7 had S_IFREG.  We don't need to check for
19873         <sys/types.h> since we don't use any symbols that it defines.
19874
19875 2002-06-15  Richard Dawe  <richdawe@bigfoot.com>
19876
19877         * lib/Makefile.am (lstat.c, stat.c, .sin.sed): Use t-$@, rather than
19878         $@-t, so that each temporary file name is unique and valid in the first
19879         8 characters, for operation under DOS.
19880
19881 2002-06-15  Paul Eggert  <eggert@twinsun.com>
19882
19883         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for st_author.
19884
19885 2002-06-15  Jim Meyering  <meyering@lucent.com>
19886
19887         Work even with DJGPP 2.03, which lacks support for symlinks.
19888         From Richard Dawe.
19889         * lib/xstat.in (S_ISLNK): Define to 0 if neither S_ISLNK nor S_IFLNK
19890         is defined.
19891         * lib/lchown.c (S_ISLNK): Likewise.
19892
19893 2002-06-15  Jim Meyering  <meyering@lucent.com>
19894
19895         * lib/file-type.h (FILE_TYPE_H): Guard entire contents with #ifndef.
19896         For GNU libc 2.2 and newer, ensure that <sys/types.h> and <sys/stat.h>
19897         have been included before this file.
19898
19899 2002-06-14  Jim Meyering  <meyering@lucent.com>
19900
19901         * lib/file-type.h: Use the version from diffutils-2.8.2.
19902         * lib/file-type.c: Likewise.
19903
19904 2002-06-07  Jim Meyering  <meyering@lucent.com>
19905
19906         * m4/prereq.m4 (jm_PREREQ_STAT): Check for sys/param.h and sys/mount.h.
19907         They're needed at least for NetBSD 1.5.2.
19908         ($statxfs_includes): Include those same headers.
19909         ($statxfs_includes): Include sys/vfs.h if available.
19910         ($statxfs_includes): Likewise for sys/statvfs.h.
19911         Check for the following members in both structs statfs and statvfs:
19912         f_basetype, f_type, f_fsid.__val, f_namemax, f_namelen.
19913
19914 2002-06-01  Jim Meyering  <meyering@lucent.com>
19915
19916         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename macro:
19917         s/D_TYPE_IN_DIRENT/HAVE_STRUCT_DIRENT_D_TYPE/.
19918
19919 2002-05-28  Jim Meyering  <meyering@lucent.com>
19920
19921         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `mkdir', not `rmdir'.
19922         Reported by Volker Borchert.
19923
19924 2002-05-27  Jim Meyering  <meyering@lucent.com>
19925
19926         Fix a problem seen only on nonconforming systems whereby ls.c's
19927         use of localtime, and then of gettimeofday would cause trouble:
19928         the localtime call used to initialize rpl_gettimeofday's save
19929         mechanism would clobber ls's current local time information so
19930         that in any long listing the first file would always be listed
19931         with date 1970-01-01.  Analysis by Volker Borchert.
19932
19933         * lib/gettimeofday.c (localtime): Undefine.
19934         (rpl_localtime): New function.
19935
19936 2002-05-27  Jim Meyering  <meyering@lucent.com>
19937
19938         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Also replace
19939         localtime.
19940
19941         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `rmdir' so we don't try to
19942         use the replacement function; it wouldn't resolve at link time.
19943         Reported by Volker Borchert.
19944
19945 2002-05-22  Jim Meyering  <meyering@lucent.com>
19946
19947         * lib/Makefile.am (libfetish_a_SOURCES): Add file-type.c and
19948         file-type.h.
19949         * lib/file-type.h: New file.
19950         * lib/file-type.c (file_type): New file/function.  Extracted from
19951         diffutils.
19952
19953 2002-04-30  Jim Meyering  <meyering@lucent.com>
19954
19955         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_STAT.
19956
19957 2002-04-29  Paul Eggert  <eggert@twinsun.com>
19958
19959         * m4/prereq.m4 (jm_PREREQ_SIG2STR): Remove; all callers changed.
19960
19961 2002-04-29  Paul Eggert  <eggert@twinsun.com>
19962
19963         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): Check for stdlib.h.
19964         Do not check for alloca.h (no longer used) or stdbool.h (was never
19965         used?).  Add AM_C_PROTOTYPES since hard-locale.h uses it.
19966
19967 2002-04-29  Paul Eggert  <eggert@twinsun.com>
19968
19969         * lib/hard-locale.c: Upgrade to version used in GNU Diffutils 2.8.1.
19970
19971 2002-04-29  Jim Meyering  <meyering@lucent.com>
19972
19973         * m4/jm-macros.m4 (jm_MACROS): Remove use of AC_FUNC_STRNLEN.
19974         * m4/prereq.m4: Add jm_PREREQ_STRNLEN.
19975         Use AC_FUNC_STRNLEN here instead.
19976
19977         * m4/jm-macros.m4: Don't AC_REQUIRE([AC_PROG_CC_STDC]).
19978         With autoconf-2.53a, it's part of AC_PROG_CC.
19979
19980 2002-04-28  Paul Eggert  <eggert@twinsun.com>
19981
19982         * m4/jm-macros.m4 (jm_MACROS): Add AC_REPLACE_FUNCS(sig2str).
19983         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_SIG2STR.
19984
19985 2002-04-28  Paul Eggert  <eggert@twinsun.com>
19986
19987         * lib/sig2str.h, lib/sig2str.c: New files.
19988         * lib/Makefile.am (libfetish_a_SOURCES): Add sig2str.h.
19989
19990 2002-04-28  Paul Eggert  <eggert@twinsun.com>
19991
19992         * lib/sig2str.h (SIGNUM_BOUND): Do not use WTERMSIG, to avoid
19993         depending on <sys/wait.h> and WTERMSIG.  Default to 64 instead
19994         of 127, since 64 is the largest conceivable number for ancient
19995         nonstandard hosts.
19996         * lib/sig2str.c: Do not include <sys/wait.h>; no longer needed.
19997
19998 2002-04-28  Jim Meyering  <meyering@lucent.com>
19999
20000         * lib/sig2str.c (WTERMSIG): Remove definition (unused).
20001
20002 2002-04-24  Jim Meyering  <meyering@lucent.com>
20003
20004         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): New macro.
20005         (jm_PREREQ): Use it.
20006
20007         * m4/getloadavg.m4: Check for these headers: locale.h unistd.h
20008         mach/mach.h fcntl.h.
20009         Check for this function: setlocale.
20010
20011 2002-04-24  Jim Meyering  <meyering@lucent.com>
20012
20013         * lib/gettext.h: New file, from Gettext.
20014         * lib/Makefile.am (INCLUDES): Remove -I../intl.
20015         (libfetish_a_SOURCES): Add gettext.h.
20016
20017 2002-04-16  Jim Meyering  <meyering@lucent.com>
20018
20019         * m4/prereq.m4 (jm_PREREQ_READUTMP): Also check for these members:
20020         ut_pid, ut_id, ut_exit.
20021
20022 2002-04-16  Jim Meyering  <meyering@lucent.com>
20023
20024         * lib/readutmp.h (UT_TYPE): Remove definition (now in who.c).
20025         (HAVE_STRUCT_XTMP_UT_EXIT, HAVE_STRUCT_XTMP_UT_ID): Define.
20026         (HAVE_STRUCT_XTMP_UT_PID, HAVE_STRUCT_XTMP_UT_TYPE): Define.
20027
20028 2002-04-12  Jim Meyering  <meyering@lucent.com>
20029
20030         * m4/ls-mntd-fs.m4 (checking for getmntinfo function...): Remove
20031         now-bogus check for f_type in sys/mount.h.  Instead, just test for the
20032         existence of the getmntinfo function.  Needed for Darwin 5.3.
20033
20034         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Also detect when dirfd is a macro.
20035         This is necessary at least on Darwin 5.3.
20036
20037         * m4/jm-macros.m4: Don't AC_REPLACE(strnlen), now that we use
20038         AC_FUNC_STRNLEN.  Otherwise, we'd end up putting two copies of
20039         strnlen.o in the library, and that makes some versions of ranlib
20040         object.
20041
20042 2002-04-12  Jim Meyering  <meyering@lucent.com>
20043
20044         * lib/dirfd.h (dirfd): Elide prototype if dirfd is a macro.
20045
20046 2002-04-09  Jim Meyering  <meyering@lucent.com>
20047
20048         * m4/malloc.m4: (jm_FUNC_MALLOC): Change the `checking ...' message
20049         to be more precise.  Rather than saying we're checking whether the
20050         function `works', say what we're testing.
20051         * m4/realloc.m4 (jm_FUNC_REALLOC): Likewise.
20052         Reported by Bruno Haible.
20053
20054 2002-03-10  Jim Meyering  <meyering@lucent.com>
20055
20056         * lib/makepath.c (make_path): Remove a comma from a diagnostic.
20057         Suggestion from Santiago Vila.
20058
20059 2002-03-08  Jim Meyering  <meyering@lucent.com>
20060
20061         * lib/rename.c: Mention that this wrapper is needed also on
20062         mips-dec-ultrix4.4 systems.
20063
20064 2002-03-02  Jim Meyering  <meyering@lucent.com>
20065
20066         * lib/gettime.c (gettime): Test HAVE_CLOCK_GETTIME,
20067         not HAVE_CLOCK_SETTIME.
20068
20069 2002-02-27  Paul Eggert  <eggert@twinsun.com>
20070
20071         * m4/jm-macros.m4 (jm_MACROS): Do not replace stime; no longer used.
20072         Check for clock_settime.
20073
20074 2002-02-27  Paul Eggert  <eggert@twinsun.com>
20075
20076         * lib/nanosleep.h: Rename to....
20077         * lib/timespec.h: New name for nanosleep.h.  All uses changed.
20078
20079         * lib/gettime.c: New file.
20080         * lib/settime.c: New file.
20081         * lib/stime.c: Remove.
20082
20083         * lib/Makefile.am (libfetish_a_SOURCES): Add gettime.c, settime.c,
20084         timespec.h.  Remove nanosleep.h.
20085
20086 2002-02-25  Paul Eggert  <eggert@twinsun.com>
20087
20088         * m4/acl.m4: New file.
20089         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_ACL.
20090         Do not check for acl or sys/acl.h, as AC_FUNC_ACL does that now.
20091
20092 2002-02-25  Paul Eggert  <eggert@twinsun.com>
20093
20094         * lib/acl.c, lib/acl.h: New files.
20095         * lib/Makefile.am (libfetish_a_SOURCES): Add acl.h, acl.c.
20096
20097 2002-02-24  Jim Meyering  <meyering@lucent.com>
20098
20099         * lib/strnlen.c (strnlen): Define-away/undef so that an inconsistent
20100         prototype in string.h (on at least AIX4.3.2.0 w/gcc-2.95.3) doesn't
20101         cause trouble.  Reported by Nelson Beebe.
20102
20103 2002-02-23  Paul Eggert  <eggert@twinsun.com>
20104
20105         * lib/path-concat.c (xpath_concat): Reorder code to pacify
20106         compilers that don't know that xalloc_die never returns.
20107
20108 2002-02-20  Jim Meyering  <meyering@lucent.com>
20109
20110         * lib/getdate.c: Regenerate using bison-1.33.
20111
20112 2002-02-17  Jim Meyering  <meyering@lucent.com>
20113
20114         * config/config.guess (main): Don't use `head -1'; it's no longer
20115         portable. Use `sed 1q' instead.
20116
20117 2002-02-16  gettextize  <bug-gnu-gettext@gnu.org>
20118
20119         * m4/codeset.m4: Upgrade to gettext-0.11.
20120         * m4/gettext.m4: Upgrade to gettext-0.11.
20121         * m4/glibc21.m4: Upgrade to gettext-0.11.
20122         * m4/iconv.m4: Upgrade to gettext-0.11.
20123         * m4/isc-posix.m4: Upgrade to gettext-0.11.
20124         * m4/lcmessage.m4: Upgrade to gettext-0.11.
20125         * m4/lib-ld.m4: New file, from gettext-0.11.
20126         * m4/lib-link.m4: New file, from gettext-0.11.
20127         * m4/lib-prefix.m4: New file, from gettext-0.11.
20128         * m4/progtest.m4: Upgrade to gettext-0.11.
20129
20130 2002-02-15  Paul Eggert  <eggert@twinsun.com>
20131
20132         * m4/prereq.m4 (jm_PREREQ_POSIXVER): New macro.
20133         (jm_PREREQ): Use it.
20134
20135 2002-02-15  Paul Eggert  <eggert@twinsun.com>
20136
20137         * lib/posixver.c, lib/posixver.h: New files.
20138         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
20139
20140 2002-02-02  Paul Eggert  <eggert@twinsun.com>
20141             Bruno Haible  <bruno@clisp.org>
20142
20143         * lib/unicodeio.h (print_unicode_char): Add exit_on_error argument.
20144         (fwrite_success_callback): New declaration.
20145         * lib/unicodeio.c (unicode_to_mb): New function, extracted from
20146         print_unicode_char. Call failure callback instead of error.
20147         (fwrite_success_callback): New function.
20148         (exit_failure_callback): New function.
20149         (fallback_failure_callback): New function.
20150         (print_unicode_char): Call unicode_to_mb.
20151
20152 2002-01-26  Jim Meyering  <meyering@lucent.com>
20153
20154         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.52g.
20155         * m4/strnlen.m4: Remove file, now that it's part of autoconf.
20156
20157 2002-01-26  Jim Meyering  <meyering@lucent.com>
20158
20159         * lib/Makefile.am (getdate$U.o): Depend on unlocked-io.h.
20160
20161 2002-01-22  Paul Eggert  <eggert@twinsun.com>
20162
20163         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_FSEEKO.
20164
20165 2002-01-22  Jim Meyering  <meyering@lucent.com>
20166
20167         * lib/Makefile.am (Makefile): Don't depend on $(BUILT_SOURCES).
20168         Otherwise, some versions of automake would omit the rule that makes
20169         Makefile from Makefile.in.
20170
20171 2002-01-21  Paul Eggert  <eggert@twinsun.com>
20172
20173         * lib/xmemcoll.h, lib/xmemcoll.c: New files.
20174         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
20175         * lib/memcoll.c: Include errno.h, and declare errno if not defined.
20176         (memcoll): Set errno to zero if there is no error.
20177
20178         * lib/quotearg.c (quotearg_buffer_restyled):
20179         Fix bug with quoting buffers containing NUL when backslashing escapes.
20180         This bug was exposed by the other changes in this patch.
20181         (quotearg_n_options): New arg ARGSIZE.
20182         All callers changed.
20183         (quoting_options_from_style): New function.
20184         (quotearg_n_style): Use it.
20185         (quotearg_n_style_mem): New function.
20186
20187         * lib/quotearg.h (quotearg_n_style_mem): New function.
20188
20189 2002-01-19  Jim Meyering  <meyering@lucent.com>
20190
20191         * m4/jm-macros.m4 (jm_MACROS): Use AC_FUNC_STRNLEN.
20192         Remove useless quotes: DF_PROG="df".
20193         * m4/strnlen.m4: New file.
20194
20195 2002-01-16  Paul Eggert  <eggert@twinsun.com>
20196
20197         * lib/backupfile.c (ISDIGIT): Comment fix.
20198         * lib/getdate.y (ISDIGIT): Likewise.
20199         * lib/posixtm.c (ISDIGIT, year): Likewise.
20200         * lib/strverscmp.c (ISDIGIT): Likewise.
20201         * lib/userspec.c (ISDIGIT): Likewise.
20202
20203 2002-01-16  Jim Meyering  <meyering@lucent.com>
20204
20205         * lib/getdate.y: Add three semicolons, each just before a closing
20206         brace. Bison (as of version 1.31) no longer papers over that mistake.
20207
20208 2002-01-05  Jim Meyering  <meyering@lucent.com>
20209
20210         * lib/version-etc.c (version_etc_copyright): Update copyright year.
20211
20212 2001-12-19  Paul Eggert  <eggert@twinsun.com>
20213
20214         * lib/closeout.c (close_stdout_status): If ferror (stdout), do
20215         not silently exit merely because the output buffer happens to
20216         have nothing pending.
20217
20218 2001-12-18  Paul Eggert  <eggert@twinsun.com>
20219
20220         See the big note in ../ChangeLog.
20221         * lib/human.c (suffixes): Prefer K to k for 1024.
20222         (generate_suffix_backwards): New function.
20223         (human_readable_inexact): Use it.
20224         * lib/xstrtol.c (__xstrtol): If there is no number but there
20225         is a valid suffix, assume 1.  "MB" now means decimal, "MiB" binary.
20226         Accept 'K' as well as 'k'.
20227
20228 2001-12-15  Jim Meyering  <meyering@lucent.com>
20229
20230         * lib/regex.h (__restrict_arr): Update from libc.
20231
20232         * lib/mountlist.h (ME_REMOTE): Recognize file systems of type smbfs
20233         as `remote' if the name starts with `//'.  Suggested by Michael Stone.
20234         (STREQ): Define.
20235
20236 2001-12-14  Jim Meyering  <meyering@lucent.com>
20237
20238         * m4/jm-macros.m4 (jm_MACROS): Check for iswspace.
20239         Suggestion from Bruno Haible.
20240
20241 2001-12-10  Jim Meyering  <meyering@lucent.com>
20242
20243         * lib/linebuffer.c: Remove explicit declarations of xmalloc and
20244         xrealloc, Instead, include "xalloc.h".
20245         (initbuffer): Don't cast xmalloc return value to char*.
20246         (readline): Reword comment.
20247         Don't cast xrealloc return value to char*
20248         Return NULL, not 0.
20249
20250 2001-12-09  Jim Meyering  <meyering@lucent.com>
20251
20252         * lib/modechange.c (mode_compile): Add cast to avoid pedantic warning
20253         about `signed and unsigned type in conditional expression'.
20254         * lib/posixtm.c (posix_time_parse): Likewise.
20255
20256         * lib/xreadlink.c (xreadlink): Add cast to avoid a pedantic warning.
20257
20258         * lib/readtokens.c (readtoken): Declare an index to be of type unsigned
20259         to avoid a pedantic warning.
20260
20261         * lib/getstr.c: Don't include assert.h.
20262         (getstr): Remove warning-evoking assertions.
20263         Return -1 if offset parameter is out of bounds.
20264         Change the type of a local from int to size_t.
20265
20266         * lib/strftime.c (my_strftime_localtime_r): Include this function
20267         definition in the `#if ! HAVE_TM_GMTOFF' block.
20268
20269         * lib/xgethostname.c: Remove declarations of xmalloc and xrealloc.
20270         Include xalloc.h instead.
20271
20272 2001-12-02  Jim Meyering  <meyering@lucent.com>
20273
20274         * lib/tempname.c: Don't declare getenv, thus reverting the change of
20275         2001-11-18.  It's no longer necessary, now that stdlib.h is always
20276         included.
20277
20278         * lib/regex.c [!__BOUNDED_POINTERS__]: Define away __bounded,
20279         __unbounded, and __ptrvalue.  Reported by Uwe H. Steinfeld.
20280
20281 2001-11-30  Akim Demaille  <akim@epita.fr>
20282
20283         * lib/xstrdup.c: Include xalloc.h, so that xstrdup is declared
20284         before being defined.
20285
20286 2001-11-27  Paul Eggert  <eggert@twinsun.com>
20287
20288         * lib/quotearg.h (quotearg_n, quotearg_n_style):
20289         First arg is int, not unsigned.
20290         * lib/quotearg.c (quotearg_n, quotearg_n_style): Likewise.
20291         (SIZE_MAX, UINT_MAX): New macros.
20292         (quotearg_n_options): Abort if N is negative.
20293         Avoid overflow check on hosts where size_t is 64 bits and int
20294         is 32 bits, as overflow is impossible there.
20295         Fix off-by-one typo that caused unnecessary reallocation.
20296
20297 2001-11-27  Jim Meyering  <meyering@lucent.com>
20298
20299         * lib/tempname.c: Merge with version from libc.
20300         * lib/regex.c: Likewise.
20301
20302         * lib/tempname.c: Include stdlib.h unconditionally.  On some old
20303         systems for which STDC_HEADERS is 0, it was not included, resulting in
20304         a warning about an integer-to-pointer conversion problem with getenv.
20305         Reported by Volker Borchert.
20306
20307 2001-11-26  Jim Meyering  <meyering@lucent.com>
20308
20309         * lib/gtod.h: Remove file.
20310         * lib/Makefile.am (libfetish_a_SOURCES): Remove gtod.h.
20311         * lib/gettimeofday.c: Don't include gtod.h.
20312         (GTOD_init): Remove function.
20313         (rpl_gettimeofday): Do its job here instead, rather than aborting.
20314         Suggestion from Volker Borchert.
20315
20316 2001-11-23  Jim Meyering  <meyering@lucent.com>
20317
20318         * lib/hash.h (struct hash_table): Don't define here.  Merely declare
20319         it.
20320         * lib/hash.c (struct hash_table): Define it here instead.
20321
20322 2001-11-22  Jim Meyering  <meyering@lucent.com>
20323
20324         * lib/hash.h: Bracket contents of file with #ifndef HASH_H_ ... #endif.
20325
20326 2001-11-20  Jim Meyering  <meyering@lucent.com>
20327
20328         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Update comment to reflect that
20329         SunOS 4.1.4 and Solaris 2.5.1 lose, too.
20330
20331 2001-11-19  Jim Meyering  <meyering@lucent.com>
20332
20333         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Don't bother with a temporary
20334         directory.  Use "conftestXXXXXX" as the template.
20335         Suggestion from Paul Eggert.
20336
20337         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Close each descriptor
20338         immediately, so the test doesn't mistakenly hit the max-open-files
20339         limit.
20340
20341 2001-11-18  Paul Eggert  <eggert@twinsun.com>
20342
20343         * lib/tempname.c (TMP_MAX): Remove; no longer needed.
20344         (TEMPORARIES): New macro.
20345         (__gen_tempname): Use TEMPORARIES rather than TMP_MAX.  This
20346         removes an artificial limitation (e.g. HP-UX 10.20, where
20347         TMP_MAX is 17576).
20348
20349 2001-11-18  Jim Meyering  <meyering@lucent.com>
20350
20351         * m4/prereq.m4 (jm_PREREQ_TEMPNAME): Check for declaration of getenv.
20352
20353 2001-11-18  Jim Meyering  <meyering@lucent.com>
20354
20355         * lib/tempname.c [!HAVE_DECL_GETENV]: Declare getenv to avoid warning
20356         on SunOS 4.
20357
20358         * lib/Makefile.am (Makefile): Depend on $(BUILT_SOURCES), so those
20359         files will be created before anything else.
20360
20361 2001-11-17 Paul Eggert  <eggert@twinsun.com>
20362
20363         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): Do not define
20364         WINSIZE_IN_PTEM if <termios.h> defines struct winsize.
20365
20366 2001-11-17  Jim Meyering  <meyering@lucent.com>
20367
20368         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): New file and macro.
20369         Prompted by a report from Bob Proulx.
20370
20371         * m4/jm-macros.m4 (jm_MACROS): Don't test for mkstemp here.
20372         Instead, require UTILS_FUNC_MKSTEMP.
20373
20374 2001-11-17  Jim Meyering  <meyering@lucent.com>
20375
20376         * m4/jm-macros.m4 (jm_MACROS): Remove code to set POW_LIBM.
20377         Now, that's done as part of AC_FUNC_STRTOD.
20378
20379 2001-11-17  Jim Meyering  <meyering@lucent.com>
20380
20381         * lib/modechange.c (mode_adjust): Fix error introduced on 1999-04-26
20382         that made e.g., `chmod a=,o=w,g=o F' cause F to be group readable
20383         rather than group writable.  Patch by Juan F. Codagnone.
20384
20385         * lib/readtokens.c: Remove explicit declarations of xmalloc and
20386         xrealloc, Instead, include "xalloc.h".
20387
20388         * lib/mountlist.c: Include unlocked-io.h after all system headers.
20389         Remove explicit declarations of xmalloc, xrealloc,
20390         and xstrdup.  Instead, include "xalloc.h".
20391
20392         * lib/argmatch.c, closeout.c, error.c, exclude.c: Include
20393         unlocked-io.h.
20394         * lib/fatal.c, getdate.y, getpass.c, getstr.c, getusershell.c:
20395         Likewise.
20396         * lib/mountlist.c, posixtm.c, readtokens.c, readutmp.c: Likewise.
20397
20398         * lib/regex.c, sha.c, version-etc.c, yesno.c: Likewise.
20399         Reported by Padraig Brady.
20400
20401         * lib/mkstemp.c: #undef mkstemp.
20402         Include config.h.
20403         (rpl_mkstemp): Rename from mkstemp.
20404         Protoize.
20405
20406 2001-11-16  Jim Meyering  <meyering@lucent.com>
20407
20408         * lib/physmem.c [HAVE_SYS_PSTAT_H]: Include <sys/pstat.h>.
20409         (physmem_total) [HAVE_PSTAT_GETSTATIC]: If sysconf couldn't be used to
20410         determine the amount of total physical memory, use pstat_getstatic.
20411         HPUX-11 doesn't define _SC_PHYS_PAGES.
20412         (physmem_available) [HAVE_PSTAT_GETSTATIC && HAVE_PSTAT_GETDYNAMIC]:
20413         If sysconf couldn't be used to determine the amount of available
20414         physical memory, use both pstat_getstatic and pstat_getdynamic.
20415         Based on a patch from Bob Proulx.
20416
20417 2001-11-10  Jim Meyering  <meyering@lucent.com>
20418
20419         * m4/prereq.m4 (jm_PREREQ_PHYSMEM): New function.
20420         (jm_PREREQ): Use it.
20421
20422 2001-11-09  Jim Meyering  <meyering@lucent.com>
20423
20424         * m4/jm-macros.m4: Require autoconf-2.52f.
20425         (AC_FUNC_ERROR_AT_LINE, AC_FUNC_OBSTACK, AC_FUNC_STRTOD):
20426         Use these AC_-prefixed names, not the AM_-prefixed ones.
20427
20428         * m4/afs.m4 (jm_AFS): Quote the body.  Patch by Akim Demaille.
20429
20430 2001-11-05  Jim Meyering  <meyering@lucent.com>
20431
20432         * lib/xstat.in (slash_aware_lstat): Correct a misleading comment.
20433
20434 2001-11-04  Jim Meyering  <meyering@lucent.com>
20435
20436         * m4/fpending.m4: Remove unused cruft that saved, set, and restored
20437         $DEFS.
20438
20439 2001-11-03  Jim Meyering  <meyering@lucent.com>
20440
20441         * m4/jm-glibc-io.m4n (jm_FUNC_GLIBC_UNLOCKED_IO): Quote first arg
20442         of AC_DEFUN.
20443
20444         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Rework so dirfd.c doesn't have to
20445         know the name of the variable in the macro definition.
20446
20447 2001-11-03  Jim Meyering  <meyering@lucent.com>
20448
20449         * lib/argmatch.h (ARGMATCH_TO_ARGUMENT): Remove casts of first two args
20450         in argmatch_to_argument call.
20451
20452         * lib/dirfd.c (dirfd): Reflect the fact that DIR_TO_FD now takes an
20453         argument.
20454
20455         * lib/hash.c (hash_clear): Fix a bug that could lead to an infloop or
20456         e.g., a fault due to an attempt to free a NULL pointer.
20457
20458 2001-11-01  Jim Meyering  <meyering@lucent.com>
20459
20460         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): New macro.
20461         * m4/jm-macros.m4 (jm_MACROS): Require UTILS_FUNC_DIRFD.
20462
20463 2001-11-01  Jim Meyering  <meyering@lucent.com>
20464
20465         * lib/dirfd.c, lib/dirfd.h: New files.
20466         * lib/Makefile.am (libfetish_a_SOURCES): Add dirfd.h.
20467
20468         * lib/hash.c (hash_print) [TESTING]: Clean up.
20469
20470 2001-10-22  Paul Eggert  <eggert@twinsun.com>
20471
20472         * lib/hard-locale.c (alloca): Define to __builtin_alloca if __GNUC__,
20473         to avoid a warning if -Wall.
20474
20475 2001-10-22  Jeff Bailey  <jbailey@outpost.dnsalias.org>
20476
20477         * README: New file
20478         * doc/*: Add COPYING, COPYING.LIB, COPYING.DOC, fdl.texi
20479         (per RMS's instructions, this is now the canonical source)
20480         * lgpl/, gpl/: New directories.
20481
20482 2001-10-21  Paul Eggert  <eggert@twinsun.com>
20483
20484         * lib/regex.c (uintptr_t): Remove macro and decl; it's config.h's job.
20485
20486 2001-10-21  Jim Meyering  <meyering@lucent.com>
20487
20488         * lib/obstack.c (_): Honor the setting of ENABLE_NLS.  Otherwise,
20489         this code would end up calling gettext even in packages built
20490         with --disable-nls.
20491         * lib/getopt.c (_): Likewise.
20492         * lib/regex.c (_): Likewise.
20493
20494 2001-10-20  Paul Eggert  <eggert@twinsun.com>
20495
20496         * m4/error.m4 (jm_PREREQ_ERROR):
20497         Do not invoke AC_CHECK_FUNCS with strerror_r, as
20498         AC_FUNC_STRERROR_R does that.
20499         Check for strerror declaration.
20500
20501         * m4/strerror_r.m4: Add copyright notice, as nontrivial m4 files
20502         are supposed to have them these days.
20503         (AC_FUNC_STRERROR_R): Always do char* test, so that it gets cached.
20504         Merge changes from latest Autoconf CVS.
20505         Rename ac_cv_func_strerror_r_works to ac_cv_func_strerror_r_char_p,
20506         and rename HAVE_WORKING_STRERROR_R to STRERROR_R_CHAR_P, since
20507         POSIX decided to standardize on the int flavor of strerror_r.
20508
20509 2001-10-20  Paul Eggert  <eggert@twinsun.com>
20510
20511         * lib/error.c (strerror_r): Do not declare unless !_LIBC.
20512         Do not check for HAVE_DECL_STRERROR_R missing unless STRERROR_R_CHAR_P.
20513         Use strerror_r that is only a macro, even if it is not a function.
20514         (strerror): Check for HAVE_DECL_STRERROR before declaring.
20515         (private_strerror): Use prototypes, not old-style function definition.
20516         (print_errno_message): New function.
20517         Support the POSIX 'int'-flavored strerror_r, as well as the traditional
20518         char*-flavored one.
20519         (error_tail, error, error_at_line): Use it.
20520
20521 2001-10-11  Jim Meyering  <meyering@lucent.com>
20522
20523         * lib/argmatch.c (argmatch_invalid): Use quotearg_n_style (0, ...
20524         and quote_n (1, ... to avoid clobbering a buffer.
20525
20526 2001-10-05  Jim Meyering  <meyering@lucent.com>
20527
20528         * lib/Makefile.am: (libfetish_a_SOURCES): Add hash-pjw.c and
20529         hash-pjw.h.
20530         * lib/hash-pjw.c: New file (factored out of fileutils' remove.c).
20531         * lib/hash-pjw.h: New file.
20532
20533 2001-09-30  Jim Meyering  <meyering@lucent.com>
20534
20535         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): See if
20536         `struct fsstat' has the `f_fstypename' member.
20537         Use that to define FS_TYPE, which is now used to make
20538         the getfsstat link test tighter.
20539
20540 2001-09-30  Jim Meyering  <meyering@lucent.com>
20541
20542         * lib/mountlist.c [MOUNTED_GETFSSTAT]:
20543         Include <sys/ucred.h>, for Apple Darwin.
20544         Include sys/mount.h and sys/fs_types.h only if available.
20545         (FS_TYPE): Define.
20546         (read_filesystem_list): Use FS_TYPE.
20547
20548 2001-09-29  Paul Eggert  <eggert@twinsun.com>
20549
20550         * lib/exclude.c (excluded_filename): 0 -> false, since it's
20551         a boolean context.
20552
20553 2001-09-29  Jim Meyering  <meyering@lucent.com>
20554
20555         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
20556         [one-argument getmntent function]): Include stdio.h before mntent.h.
20557         SunOS 4.1.x needs it for the declaration of `FILE'.
20558         Patch by Volker Borchert.
20559
20560         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
20561         Check for these headers: sys/param.h sys/ucred.h sys/mount.h
20562         sys/fs_types.h, and make the link-test for getfsstat guard #include
20563         directives with appropriate #if HAVE_*_H tests so that we can
20564         detect getfsstat on Apple Darwin1.3.7 systems.
20565         Reported by Nelson Beebe.
20566         Fix harmless typo in cache variable name: s/getsstat/getfsstat/.
20567
20568 2001-09-28  Paul Eggert  <eggert@twinsun.com>
20569
20570         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
20571         #defines strtoimax.  Also treat the other strto* functions
20572         like strtoimax.
20573
20574         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
20575         Check for strtoul and strtoumax,
20576         as those declarations are made even in the signed case.
20577         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX):
20578         Likewise, for strtol and strtoimax.
20579
20580 2001-09-28  Paul Eggert  <eggert@twinsun.com>
20581
20582         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
20583         #defines strtoimax.  Also treat the other strto* functions
20584         like strtoimax.
20585
20586         * lib/xstrtol.c (strtol): Do not declare if HAVE_DECL_STRTOL.
20587         (strtoul): Do not declare if HAVE_DECL_STRTOUL.
20588         (strtoimax, strtoumax): Do not declare if already defined as a macro.
20589
20590 2001-09-26  Jim Meyering  <meyering@lucent.com>
20591
20592         Most macros in unlocked-io.h had the wrong number of arguments.
20593         * lib/gen-uio: New script.
20594         (USE_UNLOCKED_IO): Define to 1 if not already defined.
20595         * lib/unlocked-io.hin: Remove file.
20596         * lib/Makefile.am (unlocked-io.h): Rewrite to use a separate script,
20597         rather than trying to embed it here.
20598         (EXTRA_DIST): Add gen-uio.  Remove unlocked-io.hin
20599         Reported by Padraig Brady.
20600
20601 2001-09-25  Volker Borchert  <bt@teknon.de>
20602
20603         * lib/gettimeofday.c (rpl_gettimeofday): Declare local variable
20604         `result'.
20605
20606 2001-09-24  Jim Meyering  <meyering@lucent.com>
20607
20608         * m4/gettext.m4: Use the version from gettext-0.10.40, not CVS.
20609
20610 2001-09-23  Jim Meyering  <meyering@lucent.com>
20611
20612         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add a compile-test
20613         instead of the mere test for existence of mntent.h.  The latter
20614         would get a false-positive on AIX 3.4 systems.
20615         In the outer getmntent if-block, don't die if neither of the getmntent
20616         tests succeeds.  Instead, just fall through and continue with the
20617         remaining tests.
20618
20619 2001-09-23  Jim Meyering  <meyering@lucent.com>
20620
20621         * lib/mountlist.c: Remove useless parentheses in #if directives.
20622         (MOUNTED) [!defined MOUNTED]: Define to _PATH_MOUNTED, for when
20623         the deprecated MOUNTED symbol is no longer defined in mntent.h.
20624
20625 2001-09-22  Jim Meyering  <meyering@lucent.com>
20626
20627         * m4/gettext.m4: New file.  From gettext.
20628         * m4/lcmessage.m4: Sync with gettext -- this changes only comments.
20629         * m4/progtest.m4: Likewise
20630         * m4/isc-posix.m4: Decrement serial number to sync with gettext.
20631         * m4/glibc21.m4: Likewise.
20632
20633         * m4/libintl.m4: Remove.  No longer used.
20634
20635 2001-09-22  Jim Meyering  <meyering@lucent.com>
20636
20637         * lib/localcharset.c: Update from latest gettext.
20638         * lib/config.charset: Likewise.
20639
20640 2001-09-20  Jim Meyering  <meyering@lucent.com>
20641
20642         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX): Check for declaration of
20643         strtoimax.
20644         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check for declaration of
20645         strtoumax.
20646
20647 2001-09-20  Jim Meyering  <meyering@lucent.com>
20648
20649         * lib/xstrtol.c (strtoimax): Guard declaration with
20650         `#if !HAVE_DECL_STRTOIMAX', rather than just `#ifndef strtoimax'.
20651         The latter fails because some systems (at least rs6000-ibm-aix4.3.3.0)
20652         have their own, conflicting declaration of strtoimax in sys/inttypes.h.
20653         (strtoumax): Likewise, for completeness (it wasn't necessary).
20654
20655 2001-09-17  Paul Eggert  <eggert@twinsun.com>
20656
20657         * lib/strtoimax.c (HAVE_LONG_LONG):
20658         Redefine to HAVE_UNSIGNED_LONG_LONG if unsigned.
20659         (strtoimax): Use sizeof (long), not sizeof strtol (ptr, endptr, base),
20660         to work around bug in IBM C compiler.
20661
20662 2001-09-17  Jim Meyering  <meyering@lucent.com>
20663
20664         * m4/chown.m4, fstypename.m4, getgroups.m4, gettimeofday.m4,
20665         * m4/jm-mktime.m4, lstat.m4, malloc.m4, memcmp.m4, mkdir-slash.m4,
20666         * m4/nanosleep.m4, putenv.m4, readdir.m4, realloc.m4, rename.m4,
20667         * m4/st_dm_mode.m4, stat.m4, strerror_r.m4, timespec.m4, utimbuf.m4,
20668         * m4/utimes.m4: Use AC_DEFINE rather than AC_DEFINE_UNQUOTED,
20669         whenever the right hand side need not be expanded by the shell.
20670
20671 2001-09-16  Paul Eggert  <eggert@twinsun.com>
20672
20673         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): Remove test for GNU C
20674         library.  It's not correct, as some older glibcs are buggy.
20675         fnmatch wasn't fixed until glibc 2.2.
20676
20677         Use AC_DEFINE, not AC_DEFINE_UNQUOTED, as there's no
20678         special shell magic here.
20679
20680 2001-09-16  Jim Meyering  <meyering@lucent.com>
20681
20682         * m4/mkdir-slash.m4 (UTILS_FUNC_MKDIR_TRAILING_SLASH): New file/macro.
20683         * m4/jm-macros.m4: Require it.
20684
20685 2001-09-16  Jim Meyering  <meyering@lucent.com>
20686
20687         * lib/mkdir.c: New file.
20688
20689 2001-09-15  Jim Meyering  <meyering@lucent.com>
20690
20691         * m4/jm-macros.m4: Check for help2man.
20692
20693 2001-09-11  Jim Meyering  <meyering@lucent.com>
20694
20695         * m4/host-os.m4 (UTILS_HOST_OS): New file/macro.
20696         The body, by Paul Eggert, was moved here from configure.in.
20697         * m4/jm-macros.m4: Require UTILS_HOST_OS.
20698
20699 2001-09-04  Paul Eggert  <eggert@twinsun.com>
20700
20701         * m4/prereq.m4 (jm_PREREQ_XREADLINK): New macro.
20702         (jm_PREREQ): Use it.
20703
20704 2001-09-04  Paul Eggert  <eggert@twinsun.com>
20705
20706         * lib/xreadlink.c (xreadlink): Omit size_t* arg.  All uses changed.
20707         Use ssize_t, not int, to store result of readlink.
20708         Check for ssize_t overflow as well as size_t overflow,
20709         as POSIX says the result of readlink is implementation-defined
20710         when ssize_t overflows.
20711         Remove unnecessary cast to char*.
20712         Use free+malloc instead of realloc, as the storage doesn't need
20713         to be preserved and it's clearer and can be more efficient that way.
20714         (SIZE_MAX, SSIZE_MAX): New macros, if <limits.h> doesn't declare.
20715         * lib/xreadlink.h (xreadlink): Update prototype.
20716
20717 2001-09-04  Paul Eggert  <eggert@twinsun.com>
20718
20719         * lib/xgetcwd.c: Revert some of the previous change; intead,
20720         fix the HAVE_GETCWD_NULL code to behave more like the
20721         !HAVE_GETCWD_NULL code used to.
20722
20723         Include "xalloc.h".
20724         (xgetcwd): Do not return NULL when memory is exhausted; instead,
20725         invoke xalloc_die.
20726
20727 2001-09-03  Paul Eggert  <eggert@twinsun.com>
20728
20729         * m4/prereq.m4 (jm_PREREQ_XGETCWD): Check for limits.h and
20730         sys/param.h, as pathmax.h includes them.
20731
20732 2001-09-03  Paul Eggert  <eggert@twinsun.com>
20733
20734         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_XGETCWD.
20735         (jm_PREREQ_XGETCWD): New macro.
20736
20737         * m4/getcwd.m4: New file.
20738
20739 2001-09-03  Paul Eggert  <eggert@twinsun.com>
20740
20741         * lib/xgetcwd.c: Fix the !HAVE_GETCWD_NULL code to behave more
20742         like the HAVE_GETCWD_NULL code.
20743         Include pathmax.h if not HAVE_GETCWD.
20744         Do not include xalloc.h.
20745         (INITIAL_BUFFER_SIZE): New symbol.
20746         Do not use xmalloc / xrealloc, since the caller is responsible for
20747         handling errors.  Preserve errno around `free' during failure.
20748         Do not overrun buffer when using getwd.
20749
20750 2001-09-03  Paul Eggert  <eggert@twinsun.com>
20751
20752         * lib/xgetcwd.c (xgetcwd): Use HAVE_GETCWD_NULL, not (defined
20753         __GLIBC__ && __GLIBC__ >= 2), to decide whether to use
20754         getcwd (NULL, 0).
20755
20756 2001-09-03  Paul Eggert  <eggert@twinsun.com>
20757
20758         * lib/exclude.c (fnmatch_no_wildcards): Fix confusion between
20759         usage of FNM_CASEFOLD and FNM_LEADING_DIR.  The bug was
20760         spotted by Jim Meyering.
20761
20762 2001-09-03  Jim Meyering  <meyering@lucent.com>
20763
20764         * lib/xreadlink.c (xreadlink): Preserve errno around `free' during
20765         failure.
20766
20767 2001-09-02  Jim Meyering  <meyering@lucent.com>
20768
20769         * lib/error.c: Update from GNU libc.
20770
20771 2001-09-01  Jim Meyering  <meyering@lucent.com>
20772
20773         * m4/jm-macros.m4 (jm_MACROS): Check for canonicalize_file_name.
20774         Used by df.
20775
20776 2001-09-01  Jim Meyering  <meyering@lucent.com>
20777
20778         * lib/xreadlink.c: New file.
20779         * lib/xreadlink.h: New file.
20780         * lib/Makefile.am (libfetish_a_SOURCES): Add xreadlink.c and
20781         xreadlink.h.
20782
20783         * lib/regex.c (uintptr_t) [!_LIBC]: Define to private_uintptr_t, so it
20784         doesn't conflict with sparc Solaris 7's definition in
20785         /usr/include/sys/int_types.h.
20786
20787         * lib/exclude.c: Use `""', not `<>' to #include non-system header
20788         files.
20789         (fnmatch_no_wildcards): Rewrite not to use function names, strcasecmp
20790         and strncasecmp as r-values.  Unixware didn't have declarations.
20791
20792 2001-08-31  Paul Eggert  <eggert@twinsun.com>
20793
20794         * lib/xstrtol.h: Add copyright notice.
20795         (_DECLARE_XSTRTOL): Improve quality of diagnostic for
20796         LONGINT_INVALID_SUFFIX_CHAR.
20797
20798 2001-08-31  Paul Eggert  <eggert@twinsun.com>
20799
20800         * lib/xstrtol.c (strtoimax): New decl.
20801
20802 2001-08-31  Paul Eggert  <eggert@twinsun.com>
20803
20804         * lib/xgetcwd.c: Don't include pathmax.h.
20805         Include stdlib.h and unistd.h if available.
20806         Include xalloc.h.
20807         (xmalloc, xstrdup, free): Remove decls.
20808         (xgetcwd): Don't assume sizes fit in unsigned.
20809         Check for overflow when computing sizes.
20810         Simplify reallocation code.
20811
20812 2001-08-31  Paul Eggert  <eggert@twinsun.com>
20813
20814         * lib/savedir.c (savedir): Remove size parameter, as POSIX says that
20815         a directory's st_size can have an arbitrary value, so the old
20816         usage could waste an arbitrary amount of memory.  All uses
20817         changed.
20818         * lib/savedir.h: Update prototype.
20819
20820 2001-08-31  Paul Eggert  <eggert@twinsun.com>
20821
20822         * lib/Makefile.am (libfetish_a_SOURCES): Remove strtoxmax.c.
20823
20824         * lib/strtoimax.c: Renamed from strtoxmax.c, removing the
20825         old strtoimax.c.
20826
20827         Also, make the following further changes to make this file's
20828         configuration more similar to that of strtol.c:
20829         (UNSIGNED): Renamed from STRTOUXMAX_UNSIGNED.  All uses changed.
20830         (strtoumax, uintmax_t, strtoull, strtol): Remove.
20831         (intmax_t, strtoimax, strtol, strtoll): New macros, if UNSIGNED.
20832         (strtoimax): Renamed from strtoumax.  All uses of unsigned values
20833         changed to signed values.
20834
20835         And make the following changes as well:
20836         Fix copyright notice, as 1999 was missing.
20837         (verify): New macro.
20838         (strtoimax): Check sizes at compile-time, not run-time.
20839         Prefer strtol to strtoll if both work.
20840         (main): Remove; it was not that useful and was a pain to maintain.
20841
20842         * lib/strtoumax.c: Include strtoimax.c, not strtouxmax.c.
20843
20844 2001-08-31  Jim Meyering  <meyering@lucent.com>
20845
20846         * lib/xgetcwd.c (xgetcwd): Reorganize to avoid some duplication.
20847         Use an initial, malloc'd, buffer of length 128 rather than
20848         a statically allocated one of length 1024.
20849
20850 2001-08-30  Paul Eggert  <eggert@twinsun.com>
20851
20852         Simplify code, partly by assuming autoconf 2.52 semantics.
20853
20854         * m4/Makefile.am (EXTRA_DIST): Remove uintmax_t.m4.
20855
20856         * m4/inttypes.m4 (AC_PREREQ): Bump to 2.52.
20857         (jm_AC_HEADER_INTTYPES_H): Remove; now done by autoconf in 2.52.
20858         All uses removed.
20859         (jm_AC_TYPE_INTMAX_T, jm_AC_TYPE_UINTMAX_T):
20860         Move AC_REQUIRE to next-to-top level, to avoid confusion.
20861         Use 2.52's AC_CHECK_TYPE instead of merely looking for the header.
20862         * m4/prereq.m4 (jm_PREREQ_HUMAN): Don't require
20863         jm_AC_HEADER_INTTYPES_H.
20864         * m4/jm-macros.m4 (jm_MACROS): Likewise.
20865
20866         * m4/uintmax_t.m4: Remove, as it duplicates inttypes.m4.
20867
20868         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
20869         Quote first arg of AC_DEFUN.
20870         Require jm_AC_TYPE_UINTMAX_T and jm_AC_TYPE_UNSIGNED_LONG_LONG
20871         since they are needed to parse the include file even if we need
20872         only xstrtoimax.  Simplify logic behind the args to AC_REPLACE.
20873         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Likewise,
20874         but with opposite signedness.
20875
20876 2001-08-30  Paul Eggert  <eggert@twinsun.com>
20877
20878         Merge 'exclude' changes from tar 1.13.22.
20879         This fixes one or two unlikely storage allocation overflow bugs,
20880         but doesn't change user-visible behavior otherwise.
20881
20882 2001-08-30  Paul Eggert  <eggert@twinsun.com>
20883
20884         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_EXCLUDE.
20885         (jm_PREREQ_EXCLUDE): New macro.
20886
20887 2001-08-30  Paul Eggert  <eggert@twinsun.com>
20888
20889         * lib/quotearg.c: BSD/OS 4.1 wchar.h requires FILE and struct
20890         tm to be declared.
20891
20892 2001-08-30  Paul Eggert  <eggert@twinsun.com>
20893
20894         * lib/hash.c: Remove '2001' from copyright notice.
20895
20896 2001-08-30  Paul Eggert  <eggert@twinsun.com>
20897
20898         * lib/full-write.h: New file.
20899         * lib/Makefile.am (libfetish_a_SOURCES): Add full-write.h.
20900         * lib/full-write.c: Correct credits, as cccp.c no longer
20901         exists and anyway it was so heavily changed from the old cccp
20902         code as to be unrecognizable.  Include full-write.h.
20903         (full_write) Return size_t, with short writes meaning failure.
20904         All callers changed.  This fixes a bug with large buffers
20905         on 64-bit hosts.
20906         * lib/utime.c: Include full-write.h.
20907
20908 2001-08-30  Paul Eggert  <eggert@twinsun.com>
20909
20910         * lib/exclude.c (bool): Declare, perhaps by including stdbool.h.
20911         (<sys/types.h>): Include only if HAVE_SYS_TYPES_H.
20912         (<stdlib.h>, <string.h>, <strings.h>, <inttypes.h>, <stdint.h>):
20913         Include if available.
20914         (<xalloc.h>): Include
20915         (SIZE_MAX): Define if <stdint.h> or <inttypes.h> doesn't.
20916         (verify): New macro.  Use it to verify that EXCLUDE macros do not
20917         collide with FNM macros.
20918         (struct patopts): New struct.
20919         (struct exclude): Use it, as exclude patterns now come with options.
20920         (new_exclude): Support above changes.
20921         (new_exclude, add_exclude_file):
20922         Initial size must now be a power of two to simplify overflow checking.
20923         (free_exclude, fnmatch_no_wildcards): New function.
20924         (excluded_filename): No longer requires options arg, as the options
20925         are determined by add_exclude.  Now returns bool, not int.
20926         (excluded_filename, add_exclude):
20927         Add support for the fancy new exclusion options.
20928         (add_exclude, add_exclude_file): Now takes int options arg.
20929         Check for arithmetic overflow when computing sizes.
20930         (add_exclude_file): xrealloc might modify errno, so don't
20931         realloc until after errno might be used.
20932
20933         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE,EXCLUDE_WILDCARDS):
20934         New macros.
20935         (free_exclude): New decl.
20936         (add_exclude, add_exclude_file): Now takes int options arg.
20937         (excluded_filename): No longer requires options arg, as the options
20938         are determined by add_exclude.  Now returns bool, not int.
20939
20940 2001-08-30  Paul Eggert  <eggert@twinsun.com>
20941
20942         * lib/alloca.c (alloca): Arg is of type size_t, not unsigned.
20943
20944 2001-08-27  Jim Meyering  <meyering@lucent.com>
20945
20946         * lib/Makefile.am (libfetish_a_SOURCES): Add strtoxmax.c
20947
20948         * lib/version-etc.c (N_): Remove definition.
20949         Revert most of last change.
20950         Instead, simply don't mark the `Copyright...' string for translation.
20951         Based on advice from Paul Eggert.
20952
20953         * lib/strtoxmax.c: Tweak comment.
20954
20955 2001-08-26  Jim Meyering  <meyering@lucent.com>
20956
20957         * m4/jm-macros.m4: Require jm_AC_PREREQ_XSTRTOIMAX.
20958
20959         * m4/xstrtoimax.m4: New file.
20960         * m4/xstrtoumax.m4: Add comments explaining why we
20961         AC_REPLACE_FUNCS(strtol).
20962
20963 2001-08-26  Jim Meyering  <meyering@lucent.com>
20964
20965         * lib/version-etc.c (version_etc_copyright_fmt): Replace literal year
20966         of copyright with `%s' so translators don't get an untranslated
20967         message in 2002.
20968         (COPYRIGHT_YEAR): Define.
20969         (version_etc): Use fprintf rather than fputs.
20970         Suggestion from Ulrich Drepper.
20971
20972         * lib/Makefile.am (libfetish_a_SOURCES): Add xstrtoimax.c.
20973
20974         * lib/strtoll.c: New file, from GNU libc.
20975         * lib/xstrtoimax.c: New file.
20976
20977         * lib/xstrtol.h: Add xstrtoimax.
20978         * lib/strtoumax.c: New file.  Simply include "strtoumax.c".
20979         * lib/strtoimax.c: New file.  Likewise, but first define
20980         STRTOUXMAX_SIGNED.
20981
20982         * lib/strtoumax.c: Factor to work both for unsigned and signed types,
20983         ...
20984         * lib/strtoxmax.c: ... then renamed to this.
20985
20986 2001-08-18  Paul Eggert  <eggert@twinsun.com>
20987
20988         * m4/inttypes.m4: Add AC_PREREQ(2.13).
20989         (jm_AC_HEADER_INTTYPES_H): Test for intmax_t, too.
20990         (jm_AC_TYPE_INTMAX_T): New macro.
20991         (jm_AC_TYPE_UINTMAX_T): Moved here from uintmax_t.m4.
20992
20993         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): New macro.
20994
20995         * m4/longlong.m4: Renamed from ulonglong.m4.
20996         * m4/inttypes.m4: Renamed from inttypes_h.m4.
20997         * m4/uintmax_t.m4: Removed.
20998
20999 2001-08-13  Paul Eggert  <eggert@twinsun.com>
21000
21001         * lib/Makefile.am (unlocked-io.h): Do not append "_unlocked" twice.
21002         Port to Solaris 8, where 'sed' requires a space after the 'r'
21003         command, and where sh dislikes "$/".  Clean up the spacing a bit.
21004         Redirect output to $tmp just once.
21005
21006 2001-08-12  Paul Eggert  <eggert@sic.twinsun.com>
21007
21008         * lib/addext.c (<errno.h>): Include.
21009         (errno): Declare if not defined.
21010         (addext): Work correctly when pathconf returns -1 and leaves
21011         errno alone because there is no limit.  Also, work even if
21012         pathconf returns a value greater than SIZE_MAX.
21013
21014 2001-08-12  Jim Meyering  <meyering@lucent.com>
21015
21016         * m4/afs.m4, assert.m4, bison.m4, check-decl.m4, chown.m4, d-ino.m4,
21017         d-type.m4, dos.m4, error.m4, fnmatch.m4, fpending.m4, fstypename.m4,
21018         fsusage.m4, ftruncate.m4, getgroups.m4, glibc.m4, gnu-source.m4,
21019         group-member.m4, jm-glibc-io.m4, jm-macros.m4, jm-mktime.m4,
21020         jm-winsz1.m4, jm-winsz2.m4, lchown.m4, lib-check.m4, libintl.m4,
21021         link-follow.m4, ls-mntd-fs.m4, lstat.m4, malloc.m4, mbrtowc.m4,
21022         mbstate_t.m4, mbswidth.m4, memcmp.m4, nanosleep.m4, perl.m4,
21023         prereq.m4, putenv.m4, readdir.m4, realloc.m4, regex.m4, rename.m4,
21024         rmdir-errno.m4, search-libs.m4, st_dm_mode.m4, st_mtim.m4, stat.m4,
21025         strftime.m4, timespec.m4, unlink-busy.m4, uptime.m4, utimbuf.m4,
21026         utime.m4, utimes.m4, xstrtoumax.m4:
21027         Quote the first argument in each use of AC_DEFUN.
21028
21029 2001-08-12  Jim Meyering  <meyering@lucent.com>
21030
21031         * lib/xgetcwd.c (xgetcwd) [defined __GLIBC__ && __GLIBC__ >= 2]:
21032         Simply `return getcwd (NULL, 0);'.
21033         [! (defined __GLIBC__ && __GLIBC__ >= 2)]:
21034         Use 1300 as initial value for length, not PATH_MAX.
21035
21036         * lib/pathmax.h: Clean up cpp syntax.
21037
21038 2001-08-12  Jim Meyering  <meyering@lucent.com>
21039
21040         * lib/gettimeofday.c: New file.
21041         * lib/gtod.h: New file.
21042         * lib/Makefile.am (libfetish_a_SOURCES): Add gtod.h.
21043
21044 2001-08-05  Jim Meyering  <meyering@lucent.com>
21045
21046         * m4/jm-macros.m4: Require autoconf-2.52.
21047
21048 2001-08-04  Jim Meyering  <meyering@lucent.com>
21049
21050         * lib/error.h (__attribute__): Remove `|| __STRICT_ANSI__' from #if
21051         stmt, to get in sync with glibc.
21052
21053 2001-08-03  Paul Eggert  <eggert@twinsun.com>
21054
21055         The following changes are from gettext 0.10.39 as maintained by
21056         Bruno Haible.
21057
21058         * lib/mbswidth.h (MBSW_REJECT_UNPRINTABLE, MBSW_REJECT_INVALID):
21059         Renamed from MBSW_ACCEPT_UNPRINTABLE and MBSW_ACCEPT_INVALID
21060         with inverted sense.  All uses changed.
21061
21062         * lib/mbswidth.c: Don't include <limits.h>.
21063         Include <stdlib.h> and <string.h> unconditionally.
21064         (iswcntrl, mbsinit, ISCNTRL): New macros.
21065         (mbsnwidth): Use K&R style function declarations.
21066         Don't bother checking for MB_LEN_MAX == 1, since the compiler
21067         can optimize it when MB_CUR_MAX == 1.
21068         The width of control characters is zero, not 1.
21069
21070 2001-08-03  Paul Eggert  <eggert@twinsun.com>
21071
21072         The following changes are from gettext 0.10.39 as maintained by
21073         Bruno Haible, except that getline.m4 continues to use AC_LIBOBJ.
21074
21075         * m4/codeset.m4: Upgrade to serial AM1.
21076         (AM_LANGINFO_CODESET): Renamed from jm_LANGINFO_CODESET;
21077         all uses changed.  Quote first arg of AC_DEFUN.
21078         (am_cv_langinfo_codeset): Renamed from jm_cv_langinfo_codeset.
21079
21080         * m4/iconv.m4: Upgrade to serial AM2.
21081         (AM_ICONV): Renamed from jm_ICONV; all uses changed.
21082         Add --with-libconv-prefix.
21083         Quote first arg of AC_DEFUN.  Add description for ICONV_CONST.
21084         (am_cv_func_iconv): Renamed from jm_cv_func_iconv.
21085         (am_cv_lib_iconv): Renamed from jm_cv_lib_iconv.
21086         (am_cv_proto_iconv): Renamed from jm_cv_proto_iconv.
21087         * m4/jm-macros.m4 (jm_MACROS): Reflect s/jm_/AM_/ renamings.
21088
21089         * m4/c-bs-a.m4 (AC_C_BACKSLASH_A): Quote first arg of AC_DEFUN.
21090         * m4/getline.m4 (AM_FUNC_GETLINE): Likewise.
21091         * m4/glibc21.m4 (jm_GLIBC21): Likewise.
21092         * m4/inttypes_h.m4 (jm_AC_HEADER_INTTYPES_H): Likewise.
21093         * m4/isc-posix.m4 (AC_ISC_POSIX): Likewise.
21094         * m4/lcmessage.m4 (AM_LC_MESSAGES): Likewise.
21095         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
21096         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Likewise.
21097         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Likewise.
21098
21099         * m4/getline.m4 (AM_FUNC_GETLINE): Don't bother checking for
21100         string.h any more.
21101
21102         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): If not found, print "no",
21103         not the default value.
21104
21105         2001-06-25  Bruno Haible  <haible@clisp.cons.org>
21106         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Don't require AM_C_PROTOTYPES.
21107         Also check for mbsinit.  Needed for SCO 3.2v5.0.2.
21108         Also include <string.h>; this is where AIX 3.2.5 declares wcwidth.
21109         Also check for iswcntrl, used for wcwidth fallback.
21110         Use AC_TRY_COMPILE to emulate AC_CHECK_DECLS, for portability
21111         to Autoconf 2.13.
21112
21113 2001-08-03  Jim Meyering  <meyering@lucent.com>
21114
21115         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Use `#include', not `@%:@include',
21116         as it was in the original.  Reported by Paul Eggert.
21117
21118 2001-07-16  Jim Meyering  <meyering@lucent.com>
21119
21120         * m4/gettimeofday.m4: New file.
21121         Prompted by a report from Bernhard Baehr.
21122
21123 2001-07-15  Jim Meyering  <meyering@lucent.com>
21124
21125         * m4/Makefile.am.in (Makefile.am): Remove most of the unlocked-io.h
21126         stuff. Now it's in ../Makefile.cfg.
21127
21128 2001-07-15  Jim Meyering  <meyering@lucent.com>
21129
21130         * lib/Makefile.am (EXTRA_DIST): Add unlocked-io.hin.
21131         (BUILT_SOURCES): Add unlocked-io.h.
21132         (io_functions): Define.
21133         (unlocked-io.h): New rule.
21134         (DISTCLEANFILES): Add unlocked-io.h.
21135         (all-local): Depend on unlocked-io.h, to ensure it is created.
21136
21137         * lib/unlocked-io.hin: New file
21138
21139         * lib/regex.c: Update from glibc.
21140
21141 2001-07-05  Jim Meyering  <meyering@lucent.com>
21142
21143         * lib/Makefile.am (noinst_HEADERS): Remove definition, per new automake
21144         recommendation.
21145         (libfetish_a_SOURCES): Put all .h files here instead.
21146         Remove a thus-exposed (better checks in automake) duplicate and
21147         two unnecessary .h files.
21148
21149 2001-07-04  Jim Meyering  <meyering@lucent.com>
21150
21151         * m4/Makefile.am.in (glibc-io.struct): New target.  Rework the code
21152         that generates jm-glibc-io.m4 so that it doesn't trigger any make
21153         distcheck failure.
21154
21155 2001-07-02  Jim Meyering  <meyering@lucent.com>
21156
21157         The following changes were prompted by suggestions from Bruno Haible.
21158
21159         * m4/jm-glibc-io.m4n: New file, the template from which jm-glibc-io.m4
21160         is now generated.
21161         * m4/Makefile.am.in (Makefile.am): Include jm-glibc-io.m4n in emitted
21162         definition of EXTRA_DIST.
21163         (Makefile.am): Emit the dependency, `all-local: jm-glibc-io.m4' to
21164         ensure that the generated file is created/updated whenever the list
21165         of $(unlocked_functions) is changed.
21166         (jm-glibc-io.m4): New rule.
21167         (unlocked-io.h): New rule -- currently unused.
21168
21169 2001-06-24  Jim Meyering  <meyering@lucent.com>
21170
21171         * m4/regex.m4 (jm_INCLUDED_REGEX): Use a quadrigraph to represent an
21172         unmatched right bracket, rather than kludging it with an extra,
21173         falsely-matching quote in a comment.  Patch by Akim Demaille.
21174
21175 2001-06-11  Jim Meyering  <meyering@lucent.com>
21176
21177         * lib/regex.c: Update from GNU libc.
21178
21179 2001-05-27  Jim Meyering  <meyering@lucent.com>
21180
21181         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for ut_type in struct utmpx.
21182         Check for ut_type in struct utmp.
21183
21184 2001-05-27  Jim Meyering  <meyering@lucent.com>
21185
21186         * lib/readutmp.h (UT_TYPE): Define.
21187
21188 2001-05-24  Jim Meyering  <meyering@lucent.com>
21189
21190         * lib/argmatch.c: Include "quote.h".
21191         (argmatch_invalid): Remove explicit `' quotes.  Instead, use the
21192         quote function.  Reported by Göran Uddeborg.
21193
21194 2001-05-22  Jim Meyering  <meyering@lucent.com>
21195
21196         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't use AC_LIBOBJ(strftime),
21197         now that we use the package-supplied version unconditionally.
21198         (jm_FUNC_STRFTIME): Don't replace strftime, for the same reason.
21199
21200 2001-05-21  Jim Meyering  <meyering@lucent.com>
21201
21202         * m4/regex.m4: Change a couple backticks to single quotes to avoid
21203         shell syntax errors.
21204
21205 2001-05-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
21206
21207         * m4/dos.m4 (jm_AC_DOS): Check for _WIN32, __WIN32__, and __MSDOS__.
21208
21209 2001-05-20  Paul Eggert  <eggert@twinsun.com>
21210
21211         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME):
21212         Don't bother to check library strftime, since
21213         we'll be using our own my_strftime function anyway.
21214         Define my_strftime instead of strftime.
21215
21216 2001-05-20  Alexandre Duret-Lutz  <duret_g@epita.fr>
21217
21218         * lib/dirname.c (dir_name): Compute append_dot using path, not newpath
21219         which is not yet declared.
21220
21221 2001-05-15  Jim Meyering  <meyering@lucent.com>
21222
21223         * m4/regex.m4: Use proper quoting so brackets appear in the test
21224         program.
21225         Reported by, and with help from, Bruno Haible.
21226
21227 2001-05-13  Jim Meyering  <meyering@lucent.com>
21228
21229         * m4/jm-macros.m4 (major_t, minor_t): Define to unsigned int if
21230         undefined.
21231
21232 2001-05-11  Paul Eggert  <eggert@twinsun.com>
21233
21234         dirname code cleanup.  base_name now behaves more compatibly
21235         with POSIX basename when given file names that have trailing
21236         slashes, and similarly for dir_name.  Add new primitives
21237         base_len and dir_len.  Put the directory-name-related decls
21238         into dirname.h.
21239
21240         * lib/addext.c (ISSLASH, base_name): Remove; now in dirname.h.
21241         * lib/backupfile.c (base_name): Likewise.
21242         * lib/basename.c (FILESYSTEM_PREFIX_LEN, PARAMS, ISSLASH): Likewise.
21243         * lib/dirname.c (FILESYSTEM_PREFIX_LEN, ISSLASH): Likewise.
21244         * lib/makepath.c (strip_trailing_slashes): Likewise.
21245         * lib/path-concat.c (DIRECTORY_SEPARATOR, FILESYSTEM_PREFIX_LEN,
21246         ISSLASH): Likewise.
21247         * lib/rename.c (strip_trailing_slashes): Likewise.
21248         * lib/same.c (base_name): Likewise.
21249         * lib/stripslash.c (ISSLASH): Likewise.
21250
21251         * lib/addext.c: Include <dirname.h> after size_t is defined.
21252         * lib/backupfile.c: Likewise.
21253
21254         * lib/addext.c (addext): Use base_len to trim redundant
21255         trailing slashes instead of doing it ourselves.
21256         But do not trim the last slash if it is not redundant.
21257
21258         * lib/backupfile.c (find_backup_file_name,
21259         max_backup_version): Use base_len instead of rolling it ourselves.
21260         Handle the case of "" and (on DOS) "C:" correctly.
21261
21262         * lib/basename.c: Do not include <stdio.h>, <assert.h>; no longer
21263         needed. Include <string.h>, <dirname.h>.
21264         (base_name): Allow file names ending in slashes, other than names
21265         that are all slashes.  In this case, return the basename followed
21266         by the slashes.  This is more general, and can be used in places
21267         where the original base_name purposely had an assertion failure.
21268         (base_len): New function.
21269
21270         * lib/dirname.c: Include <string.h> instead of <stdlib.h>.
21271         Do not include <assert.h>; no longer needed.
21272         Include xalloc.h.
21273         (memrchr): Remove decl.
21274         (dir_name_r): Remove.
21275         (dir_len): Renamed from dirlen.  All callers changed.
21276         Rewrite in terms of base_name, for simplicity and consistency.
21277         (dir_name): Never return NULL.  All callers changed.
21278         Do not include <stdlib.h> in test program; no longer needed.
21279         return 0; is fine for test program.
21280
21281         * lib/dirname.h (DIRECTORY_SEPARATOR, ISSLASH, FILESYSTEM_PREFIX_LEN):
21282         New macros.
21283         (base_name, base_len, dir_len, strip_trailing_slashes): New decls.
21284
21285         * lib/path-concat.c (path_concat): Use base_len to compute
21286         base length, not strlen; this means we cannot rely on memcpy
21287         to null-terminate.
21288
21289         * lib/same.c (STREQ): Remove.
21290         (same_name): Handle the case where the basename ends in trailing '/'.
21291
21292         * lib/stripslash.c (strip_trailing_slashes): Return nonzero if
21293         a slash was stripped.  Do not strip the last slash after a
21294         file system prefix.
21295
21296 2001-05-11  Paul Eggert  <eggert@twinsun.com>
21297
21298         * lib/Makefile.am (libfetish_a_SOURCES):
21299         Add strftime.c, since we now compile it on all hosts.
21300
21301         * lib/strftime.c (my_strftime):
21302         Define to nstrftime if emacs, but only if my_strftime is not defined.
21303         (extra_args, extra_args_spec, extra_args_spec_iso): Rename from
21304         ut_argument, ut_argument_spec, ut_argument_spec_iso, respectively.
21305         Add one more extra argument: a nanoseconds value.
21306         All uses changed.
21307         (ns): New macro.
21308         (my_strftime function): Add %N format.
21309         (emacs_strftimeu): Renamed from emacs_strftime,
21310         with extra ut argument.
21311
21312 2001-05-09  Paul Eggert  <eggert@twinsun.com>
21313
21314         * m4/jm-macros.m4 (jm_MACROS): Do not check for fseeko; no longer used.
21315
21316 2001-04-21  Jim Meyering  <meyering@lucent.com>
21317
21318         * m4/rmdir-errno.m4: Write to a new file, so that a restrictive umask
21319         doesn't interfere.
21320
21321 2001-04-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
21322
21323         * m4/ftruncate.m4: Check for chsize.
21324         Link with ftruncate.o unconditionally if ftruncate is missing.
21325         This was required when cross-compiling to i586-mingw32msvc.
21326
21327 2001-04-08  Jim Meyering  <meyering@lucent.com>
21328
21329         * lib/getdate.y (get_date): Set tm_isdst to -1 to ensure that it is
21330         recomputed; that's necessary when the offset spans a DST transition.
21331         Patch by David J. MacKenzie.  Reported by Hon-Yin Kok.
21332
21333 2001-04-02  Jim Meyering  <meyering@lucent.com>
21334
21335         * lib/regex.h, regex.c: Update from GNU libc.
21336
21337 2001-03-24  Jim Meyering  <meyering@lucent.com>
21338
21339         * m4/jm-macros.m4: Require autoconf-2.49d.
21340
21341 2001-03-20  Bruno Haible  <haible@clisp.cons.org>
21342
21343         * m4/iconv.m4 (jm_ICONV): Recommend GNU libiconv.
21344
21345 2001-03-19  Paul Eggert  <eggert@twinsun.com>
21346
21347         * lib/version-etc.c (version_etc_copyright): Update to 2001.
21348
21349 2001-03-17  Jim Meyering  <meyering@lucent.com>
21350
21351         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Remove my copy of AC_FUNC_MEMCMP,
21352         now that the version in autoconf is equivalent.
21353         (jm_FUNC_MEMCMP): Adjust to use AC_FUNC_MEMCMP.
21354
21355         * m4/error.m4 (jm_PREREQ_ERROR): Invoke AC_FUNC_STRERROR_R.
21356         Suggestion from Akim Demaille.
21357
21358         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_TEMPNAME.
21359         (jm_PREREQ_TEMPNAME): New function.
21360
21361 2001-03-16  Paul Eggert  <eggert@twinsun.com>
21362
21363         * lib/tempname.c (uint64_t): Define to uintmax_t if
21364         not defined, and if UINT64_MAX is not defined.
21365         Required at least for Vax Ultrix4.3, which doesn't define uint64_t.
21366         Reported by John David Anglin.
21367
21368 2001-03-15  Bruno Haible  <haible@clisp.cons.org>
21369
21370         * lib/localcharset.c (locale_charset): Allow wildcard syntax. Also
21371         resolve alias if codeset is empty.
21372         * lib/config.charset (BeOS): Use wildcard syntax.
21373
21374 2001-03-13  Jim Meyering  <meyering@lucent.com>
21375
21376         * lib/path-concat.c (path_concat)
21377         [FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't insert a backslash when
21378         concatenating e.g., `C:' and `foo'.
21379         From Bruno Haible.
21380
21381 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
21382
21383         * lib/localcharset.c (locale_charset): Don't use
21384         setlocale(LC_CTYPE,NULL). Don't return NULL.
21385         * lib/unicodeio.c (print_unicode_char): Simplify accordingly.
21386
21387 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
21388
21389         * lib/config.charset: Update for FreeBSD 4.2 and OSF/1 5.1. Add
21390         support for DOS/DJGPP.
21391
21392 2001-03-01  Paul Eggert  <eggert@twinsun.com>
21393
21394         * m4/jm-macros.m4 (jm_MACROS): Use mkstemp replacement if the system
21395         lacks mkstemp.  Compile our own tempname.c if we compile our own
21396         mkstemp.c, as mkstemp relies on tempname.
21397
21398 2001-03-01  Jim Meyering  <meyering@lucent.com>
21399
21400         * m4/dos.m4 (jm_AC_DOS): Remove extra backslashes, now that
21401         AH_VERBATIM really does output its argument verbatim.
21402
21403 2001-02-28  Paul Eggert  <eggert@twinsun.com>
21404
21405         * lib/Makefile.am (libfetish_a_SOURCES):
21406         Add dup-safer.c, fopen-safer.c.
21407         (noinst_HEADERS): Add stdio-safer.h, unistd-safer.h.
21408
21409         * lib/dup-safer.c, lib/fopen-safer.c, lib/stdio-safer.h:
21410         * lib/unistd-safer.h: New files.
21411
21412 2001-02-25  Paul Eggert  <eggert@twinsun.com>
21413
21414         The mkstemp replacement is taken from glibc 2.2.2, with some
21415         portability fixes for use outside glibc, as follows:
21416
21417         * lib/tempname.c (struct_stat64): New macro.
21418         (direxists, __gen_tempname): Use it.
21419         This avoids a portability problem with Solaris 8.
21420
21421         * lib/tempname.c (<config.h>): Include if HAVE_CONFIG_H.
21422         (<stddef.h>, <stdint.h>, <string.h>):
21423         Include only if STDC_HEADERS || _LIBC.
21424         (<fcntl.h>): Include only if HAVE_FCNTL_H || _LIBC.
21425         (<unistd.h>): Include only if HAVE_UNISTD_H || _LIBC.
21426         (<sys/time.h>): Include only if HAVE_SYS_TIME_H || _LIBC.
21427         (__set_errno): Define this macro if <errno.h> doesn't.
21428         (P_tmpdir, TMP_MAX, __GT_FILE, __GT_BIGFILE, __GT_DIR, __GT_NOCREATE):
21429         Define these macros if <stdio.h> doesn't.
21430         (S_ISDIR, S_IRUSR, S_IWUSR, S_IXUSR):
21431         Define these macros if <sys/stat.h>
21432         doesn't.  Ignore <sys/stat.h> S_ISDIR if STAT_MACROS_BROKEN.
21433         (stat64, __getpid, __gettimeofday, __mkdir, __open, __open64, lxstat64,
21434         __xstat64): Define if not _LIBC.
21435         (__secure_getenv): Define if ! (HAVE___SECURE_GETENV || _LIBC).
21436         (__gen_tempname): Invoke gettimeofday only if
21437         HAVE_GETTIMEOFDAY || _LIBC;
21438         otherwise, fall back on plain "time".
21439         Use macros like S_IRUSR | S_IWUSR rather than octal values like 0600.
21440
21441         * lib/mkstemp.c (__GT_FILE): Define to zero if not defined.
21442
21443         * lib/mkstemp.c, lib/tempname.c: New files, taken from glibc 2.2.2.
21444
21445 2001-02-18  Paul Eggert  <eggert@twinsun.com>
21446
21447         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for sys/resource.h.
21448
21449 2001-02-17  Paul Eggert  <eggert@twinsun.com>
21450
21451         * m4/mbrtowc.m4: New file, defining jm_FUNC_MBRTOWC.
21452         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH):
21453         Use jm_FUNC_MBRTOWC, not AC_CHECK_FUNCS(mbrtowc).
21454         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
21455
21456 2001-02-17  Paul Eggert  <eggert@twinsun.com>
21457
21458         * lib/mbswidth.c, quotearg.c (mbrtowc, mbsinit):
21459         Remove workaround macros for hosts that have mbrtowc but not
21460         mbstate_t, as we now insist on proper declarations for both
21461         before using mbrtowc.
21462
21463 2001-02-17  Jim Meyering  <meyering@lucent.com>
21464
21465         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Don't check for
21466         getmntent via AC_CHECK_FUNCS, since that would get a `no' and disrupt
21467         further attempts by AC_FUNC_GETMNTENT to check with e.g., -lgen on
21468         UnixWare 7.1.1.
21469
21470         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Adapt to use AC_CACHE_CHECK etc.,
21471         rather than AC_CACHE_VAL.
21472
21473 2001-02-17  Jim Meyering  <meyering@lucent.com>
21474
21475         * lib/strtoul.c: Sync from GNU libc.  Use double quotes, not <...>
21476         around included file name.
21477
21478         * lib/strnlen.c (__strnlen): Merge in a change from GNU libc.
21479
21480         * lib/strftime.c: Update from GNU libc (the only changes were to
21481         comments).
21482
21483 2001-02-17  Jim Meyering  <meyering@lucent.com>
21484
21485         * lib/regex.c: Update from libc.
21486
21487 2001-02-17  Bruno Haible  <haible@clisp.cons.org>
21488
21489         * lib/mbswidth.h (mbswidth): Also define as macro, to avoid prototype
21490         clash.
21491
21492 2001-02-16  Paul Eggert  <eggert@twinsun.com>
21493
21494         * lib/alloca.c (malloc): Undef before defining, since stdlib.h
21495         may have defined it.  Needed for Encore Umax-3.0.9.16b systems.
21496         Reported by Mark Hounschell via Paul Eggert.
21497
21498 2001-02-07  Jim Meyering  <meyering@lucent.com>
21499
21500         * m4/regex.m4 (jm_INCLUDED_REGEX): Add a test for the latest bug.
21501
21502 2001-02-05  Jim Meyering  <meyering@lucent.com>
21503
21504         * m4/jm-macros.m4: Require autoconf-2.14d (not yet released), because
21505         it includes the patch required for `large file' support with at least
21506         HP-UX's 10.20 /bin/cc.
21507
21508 2001-02-03  Jim Meyering  <meyering@lucent.com>
21509
21510         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Restore prior use of
21511         AS_IF, now that it works once again (mysteriously).
21512         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
21513
21514 2001-01-30  Jim Meyering  <meyering@lucent.com>
21515
21516         Don't use filenames that are 8.3-equivalent to "conftest" on DOS.
21517         * m4/chown.m4: Rename conftestchown to conftest.chown.
21518         * m4/rename.m4: s/conftestdir/conftest.d1/ and
21519         s/conftestdir2/conftest.d2/.
21520         * m4/utimes.m4: s/conftestdata/conftest.data/
21521         Inspired by Pavel Roskin's change in autoconf.
21522
21523 2001-01-30  Bruno Haible  <haible@clisp.cons.org>
21524
21525         * lib/config.charset: Update for FreeBSD 4.2.
21526
21527 2001-01-27  Jim Meyering  <meyering@lucent.com>
21528
21529         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Open-code what was
21530         a use of AS_IF.
21531         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
21532
21533 2001-01-26  Jim Meyering  <meyering@lucent.com>
21534
21535         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Check for stddef.h, now that
21536         quotearg.c includes it.
21537
21538 2001-01-26  Jim Meyering  <meyering@lucent.com>
21539
21540         * lib/quotearg.c: Include stddef.h.
21541         * lib/quote.c: Include stddef.h.
21542         Reported by Axel Kittenberger.
21543
21544         * lib/xmalloc.c [HAVE_DONE_WORKING_MALLOC_CHECK]: Enclose error-evoking
21545         line in double quotes so that it evokes a better diagnostic.
21546         [HAVE_DONE_WORKING_REALLOC_CHECK]: Likewise.
21547         Reported by Axel Kittenberger.
21548
21549 2001-01-24  Stefan Monnier  <monnier@cs.yale.edu>
21550
21551         * regex.c (mutually_exclusive_p): Don't blindly handle `charset_not'
21552         as if it was a `charset'.
21553
21554 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
21555
21556         * m4/iconv.m4 (jm_ICONV): Also check whether the iconv declaration
21557         has const.
21558
21559 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
21560
21561         * lib/unicodeio.c (print_unicode_char): Cast the second iconv() arg,
21562         to avoid a warning.  Add back 'const' to inptr.
21563
21564 2001-01-20  Jim Meyering  <meyering@lucent.com>
21565
21566         Be sure that headers are checked before used in code compiled
21567         for the type checks.
21568         * m4/jm-macros.m4 (jm_MACROS): Remove all header checks.
21569         In place of that, invoke jm_CHECK_ALL_TYPES.
21570         (jm_CHECK_ALL_HEADERS): New functions with the above checks.
21571         (jm_CHECK_ALL_TYPES): Require jm_CHECK_ALL_HEADERS.
21572         Alan Iwi reported a build failure on an f300-fujitsu-uxpv4.1_ES;
21573         The check for ssize_t was mistakenly run before the test for unistd.h.
21574
21575         The configure-time check for stdbool.h was missing.
21576         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_HASH.
21577         (jm_PREREQ_HASH): New function.
21578
21579 2001-01-17  Jim Meyering  <meyering@lucent.com>
21580
21581         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use AS_IF, not AS_IFELSE,
21582         for autoconf-2.49c.
21583         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Likewise.
21584
21585 2001-01-16  Jim Meyering  <meyering@lucent.com>
21586
21587         * lib/basename.c: Include <stdio.h>, needed by assert on SunOS 4.
21588         From Bruno Haible.
21589
21590 2001-01-14  Jim Meyering  <meyering@lucent.com>
21591
21592         * m4/rename.m4: Use temporary directories named conftestdir{,2}, not
21593         foo and bar.  Create conftestdir/ in the script, not in the C code.
21594         Remove directories in the script, not in the C code.
21595         Remove conftestdir{,2} before trying to create the directory.
21596         Make the entire configure script fail if the mkdir fails.
21597
21598 2001-01-14  Jim Meyering  <meyering@lucent.com>
21599
21600         * lib/rename.c: New file.  From Volker Borchert.
21601         Include stdlib.h, string.h or strings.h, and xalloc.h.
21602         Use strip_trailing_slashes rather than open-coding it.
21603
21604 2001-01-03  Paul Eggert  <eggert@twinsun.com>
21605
21606         * lib/strftime.c: Sync with glibc time/strftime.c 1.81.
21607
21608 2001-01-03  Jim Meyering  <meyering@lucent.com>
21609
21610         * lib/unicodeio.c (print_unicode_char): Remove `const' from declaration
21611         of local `inptr' to avoid warning with some system declarations of
21612         iconv.
21613
21614 2001-01-02  Volker Borchert  <bt@teknon.de>
21615
21616         * m4/rename.m4: New file.
21617         * m4/jm-macros.m4 (jm_MACROS): Require vb_FUNC_RENAME.
21618
21619 2001-01-01  Jim Meyering  <meyering@lucent.com>
21620
21621         * m4/prereq.m4 (jm_PREREQ_READUTMP): Include utmp.h (if available),
21622         even on systems with utmpx.h.  It's necessary for the declaration of
21623         utmp's ut_user member.  Reported by Andreas Jaeger.
21624
21625         * m4/check-decl.m4 (jm_CHECK_DECLS): Include grp.h and pwd.h if
21626         available. They are required for the declarations of getgrgid and
21627         getpwuid resp.
21628         (_jm_DECL_HEADERS): Check for grp.h and pwd.h.
21629         Reported by Andreas Jaeger.
21630
21631 2001-01-01  Alexandre Duret-Lutz  <duret_g@epita.fr>
21632
21633         * m4/libintl.m4 (AM_GNU_GETTEXT): Define MKINSTALLDIRS by
21634         expanding the value of $ac_aux_dir, as in AM_MISSING_HAS_RUN,
21635         so `make install' also works in VPATH builds.
21636
21637 2000-12-31  Alexandre Duret-Lutz  <duret_g@epita.fr>
21638
21639         * m4/libintl.m4 (AM_WITH_NLS): When using AC_CONFIG_AUX_DIR,
21640         prepend $(top_srcdir) to the value of MKINSTALLDIRS so that it
21641         can be used in subdirectories.
21642
21643 2000-12-29  Paul Eggert  <eggert@twinsun.com>
21644
21645         * lib/modechange.c: Do not assume that mode_t uses the
21646         traditional octal encoding.  E.g. "chmod 1 FOO" should set
21647         the other-execute bit of FOO even if S_IXOTH != 1.
21648
21649         (SUID, SGID, SVTX, RUSR, WUSR, XUSR, RGRP, WGRP, XGRP, ROTH,
21650         WOTH, XOTH, ALLM): New macros.
21651         (S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR,
21652          S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH):
21653         Use them.
21654         (S_ISGID): Fix typo; it was defaulting to the same value as S_ISUID.
21655         (S_IRWXU, S_IRWXG, S_IRWXO): Specify defaults in terms of the above.
21656         (mode_compile):
21657         No need to use uintmax_t; unsigned long is long enough.
21658         Don't bother to get suffix since we don't use it.
21659
21660 2000-12-26  Jim Meyering  <meyering@lucent.com>
21661
21662         * m4/dos.m4 (jm_AC_DOS): Rewrite (though it's still a stub) to work
21663         better with autoheader.
21664
21665 2000-12-24  Jim Meyering  <meyering@lucent.com>
21666
21667         * lib/hash.c (is_prime): Return explicit boolean values.
21668         (hash_get_first): Return NULL to appease Irix5.6's 89.
21669         Reported by Nelson Beebe.
21670
21671 2000-12-19  Bruno Haible  <haible@clisp.cons.org>
21672
21673         * lib/localcharset.c (locale_charset): Add support for Win32.
21674
21675 2000-12-18  Paul Eggert  <eggert@twinsun.com>
21676
21677         * lib/physmem.h, lib/physmem.c: New files.
21678
21679         * lib/Makefile.am (libfetish_a_SOURCES): Add physmem.c.
21680         (noinst_HEADERS): Add physmem.h.
21681
21682         * lib/xstrtol.c (__xstrtol): Add undocumented suffixes 'g' and
21683         't' for compatibility with Solaris 8 sort.
21684
21685 2000-12-18  Bruno Haible  <haible@clisp.cons.org>
21686
21687         * lib/config.charset: Add support for BeOS.
21688
21689 2000-12-17  Jim Meyering  <meyering@lucent.com>
21690
21691         * m4/dos.m4 (jm_AC_DOS): New file and macro.
21692         * m4/jm-macros.m4 (jm_MACROS): Require jm_AC_DOS.
21693
21694 2000-12-16  Jim Meyering  <meyering@lucent.com>
21695
21696         This bug had a serious impact on chown: `chown N:M FILE' (for integer
21697         N and M) would have treated it like `chown N:N FILE'.
21698
21699         * lib/userspec.c (parse_user_spec): Fix typo: s/u/g/.
21700
21701 2000-12-16  Jim Meyering  <meyering@lucent.com>
21702
21703         * lib/getusershell.c [!SHELLS_FILE && __DJGPP__]: Define
21704         SHELLS_FILE to a file name that's useful on djgpp systems.
21705         Include stdlib.h.
21706         (ADDITIONAL_DEFAULT_SHELLS): Define.
21707         (default_shells): Prepend ADDITIONAL_DEFAULT_SHELLS.
21708         Based mostly on a patch from Prashant TR.
21709
21710 2000-12-16  Bruno Haible  <haible@clisp.cons.org>
21711
21712         * lib/config.charset: Add ISO-8859-3, BIG5HKSCS, GB18030, JOHAB,
21713         VISCII, CP874, CP949, CP950, CP1250, CP1253, CP1254, CP1255, CP1256,
21714         CP1257 to the list of canonical encodings. Rename EUC-CN to GB2312.
21715
21716 2000-12-08  Andreas Schwab  <schwab@suse.de>
21717
21718         * lib/mbswidth.c (mbsnwidth): Don't loop endlessly when called with an
21719         invalid mulitbyte sequence and with the MBSW_ACCEPT_INVALID flag set.
21720
21721 2000-12-07  Jim Meyering  <meyering@lucent.com>
21722
21723         * lib/stripslash.c (ISSLASH): Define.
21724         (strip_trailing_slashes): Use ISSLASH rather than comparing against
21725         `/'.
21726         From Prashant TR.
21727
21728         * lib/dirname.c (FILESYSTEM_PREFIX_LEN): Define.
21729         (dir_name_r): Declare this function as static.
21730         [BACKSLASH_IS_PATH_SEPARATOR]: Fix a bug that'd
21731         manifest itself on a name containing a mix of slashes and
21732         backslashes.
21733         Make this function work with names starting with a DOS-style
21734         drive letter and colon prefix.
21735         (dir_name): Append `.' if necessary.
21736         Based mostly on patches from Prashant TR and Eli Zaretskii.
21737
21738         * lib/dirname.h (dir_name_r): Remove prototype.
21739
21740 2000-12-06  Paul Eggert  <eggert@twinsun.com>
21741
21742         * m4/off_t-format.m4: Remove this file.
21743         * m4/jm-macros.m4 (jm_MACROS): Remove jm_SYS_OFF_T_PRINTF_FORMAT.
21744
21745 2000-12-06  Jim Meyering  <meyering@lucent.com>
21746
21747         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): If we need the
21748         replacement strtoull, we may well need the replacement strtoul, too.
21749         Check for declarations of strtoul and strtoull.
21750         Check for strtol.  Mainly as a cue to cause automake to include
21751         strtol.c -- that file is included by each of strtoul.c and strtoull.c.
21752         Check for limits.h -- strtol.c needs it.
21753
21754 2000-12-05  Jim Meyering  <meyering@lucent.com>
21755
21756         * lib/dirname.c (dir_name_r): Add `const' in a few local declarations.
21757
21758 2000-12-04  Jim Meyering  <meyering@lucent.com>
21759
21760         * lib/path-concat.c: [!HAVE_DECL_MALLOC]: Declare malloc.
21761         Also include memory.h, stdlib.h, unistd.h if appropriate.
21762         Reported by Andreas Jaeger (conflicting declaration of malloc).
21763
21764 2000-12-02  Jim Meyering  <meyering@lucent.com>
21765
21766         * m4/off_t-format.m4 (OFF_T_PRINTF_FORMAT_STRING): New file/macro.
21767         * m4/jm-macros.m4 (jm_MACROS): require it.
21768
21769 2000-12-02  Jim Meyering  <meyering@lucent.com>
21770
21771         * lib/closeout.h: Make idempotent, to avoid some obscure warnings.
21772
21773 2000-12-01  Paul Eggert  <eggert@twinsun.com>
21774
21775         * lib/memrchr.c: Include <config.h> before any system include file.
21776
21777 2000-11-30  Jim Meyering  <meyering@lucent.com>
21778
21779         * m4/jm-macros.m4 (jm_MACROS): Check for stdint.h.
21780
21781 2000-11-30  Jim Meyering  <meyering@lucent.com>
21782
21783         * m4/getloadavg.m4: s/ifval/m4_ifval/ to accommodate new autoconf.
21784
21785 2000-11-29  Paul Eggert  <eggert@twinsun.com>
21786
21787         * lib/dirname.c (dir_name_r): Fix typo: int -> size_t.
21788
21789 2000-11-26  Jim Meyering  <meyering@lucent.com>
21790
21791         * lib/memcoll.c: Include sys/types.h.  From Werner Almesberger.
21792
21793 2000-11-22  Paul Eggert  <eggert@twinsun.com>
21794
21795         * lib/strftime.c (my_strftime): Do not invoke mbrlen with a
21796         size of (size_t) -1; it's not portable.
21797
21798 2000-11-17  Jim Meyering  <meyering@lucent.com>
21799
21800         * lib/strstr.c: Update from GNU libc.
21801
21802 2000-11-17  Akim Demaille  <akim@epita.fr>
21803
21804         * lib/obstack.h: Formatting changes.
21805         (obstack_grow, obstack_grow0): Don't cast WHERE at all: that would
21806         prevent type checking.
21807         (obstack_ptr_grow, obstack_ptr_grow_fast): When assigning, don't
21808         cast the value to (void *): assigning a `foo *' to a `void *'
21809         variable is valid.
21810         (obstack_int_grow, obstack_int_grow_fast): Don't cast AINT to int.
21811
21812 2000-11-16  Jim Meyering  <meyering@lucent.com>
21813
21814         * lib/strverscmp.c: Incorporate weak-alias-related changes from glibc.
21815
21816 2000-11-11  Jim Meyering  <meyering@lucent.com>
21817
21818         * lib/error.c: Add a couple #includes, merging from GNU libc version.
21819
21820 2000-11-10  Jim Meyering  <meyering@lucent.com>
21821
21822         * lib/obstack.h: Update from GNU libc.
21823         * lib/obstack.c: Likewise.
21824
21825 2000-11-08  Bruno Haible  <haible@clisp.cons.org>
21826
21827         * m4/jm-macros.m4 (jm_MACROS): Add test for wcrtomb.
21828
21829 2000-11-06  Paul Eggert  <eggert@twinsun.com>
21830
21831         * lib/getusershell.c (setusershell): Use rewind rather than
21832         fseek/fseeko, to avoid configuration hassles with fseeko.
21833         Don't bother opening SHELLS_FILE if shellstream is NULL;
21834         it's not necessary.
21835
21836 2000-11-05  Jim Meyering  <meyering@lucent.com>
21837
21838         * lib/makepath.h (make_dir): Declare.
21839         * lib/makepath.c (make_dir): Remove `static' attribute.
21840         Tweak a comment.
21841
21842 2000-11-04  Jim Meyering  <meyering@lucent.com>
21843
21844         * m4/regex.m4: Use the `m4_' prefix on `syscmd' and `m4_sysval'.
21845
21846 2000-11-04  Alexandre Duret-Lutz  <duret_g@epita.fr>
21847
21848         * lib/hash.c (hash_get_next): Fix a thinko:  when ENTRY is the
21849         last one in a bucket, advance to the next bucket.
21850
21851 2000-11-02  Vesselin Atanasov  <vesselin@bgnet.bg>
21852
21853         * lib/fnmatch.c: Do not comment out all the code if we are using
21854         the GNU C library, because in some cases we are replacing buggy
21855         code in the GNU C library itself.
21856
21857 2000-10-30  Stefan Monnier  <monnier@cs.yale.edu>
21858
21859         * regex.c (re_iswctype, re_wctype_to_bit): Fix braino.
21860         (regex_compile): Catch bogus \(\1\).
21861
21862 2000-10-30  Paul Eggert  <eggert@twinsun.com>
21863
21864         * lib/fnmatch.c (FOLD): Do not assume that characters are unsigned.
21865         (fnmatch): Fix some FNM_FILE_NAME and FNM_LEADING_DIR bugs,
21866         e.g. fnmatch("d*/*1", "d/s/1", FNM_FILE_NAME) incorrectly yielded zero.
21867
21868 2000-10-30  Paul Eggert  <eggert@twinsun.com>
21869
21870         * lib/error.h, getline.h, modechange.h:
21871         Remove "2000" from Copyright line, as the file hasn't been
21872         changed this year other than in the copyright notice.
21873
21874         * lib/xalloc.h: Add "2000" to Copyright line, as this file
21875         was changed this year.
21876
21877 2000-10-29  Jim Meyering  <meyering@lucent.com>
21878
21879         * m4/fsusage.m4: s/AC_SHELL_IFELSE/AS_IFELSE/ to match autoconf
21880         renaming.
21881         * m4/ls-mntd-fs.m4: Likewise
21882
21883 2000-10-29  Jim Meyering  <meyering@lucent.com>
21884
21885         * lib/xstat.in: Fix grammar in comment.
21886
21887 2000-10-29  Greg Louis  <glouis@dynamicro.on.ca>
21888
21889         * lib/regex.h (__restrict_arr): Move definition out of #ifndef block.
21890         Required because egcs-2.91.66 (aka 1.1.2) defines __restrict, but
21891         doesn't define __restrict_arr.
21892
21893 2000-10-28  Jim Meyering  <meyering@lucent.com>
21894
21895         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_MEMCHR.
21896         (jm_PREREQ_MEMCHR): New function.
21897
21898 2000-10-28  Jim Meyering  <meyering@lucent.com>
21899
21900         * lib/memchr.c: Update from libc.
21901         Adjust for portability:
21902         [HAVE_STDLIB_H]: Include stdlib.h.
21903         [HAVE_BP_SYM_H || _LIBC]: Guard inclusion of bp-sym.h.
21904         Undef __memchr, too.
21905         [!weak_alias]: Define __memchr to memchr.
21906
21907         * lib/regex.c: Update from libc.
21908         * lib/regex.h: Likewise.
21909         * lib/getopt1.c: Likewise.
21910         * lib/memcmp.c: Likewise.
21911
21912         * lib/getusershell.c (setusershell) [HAVE_FSEEKO]: Use fseeko.
21913         Avoid using fseek, when possible -- it's broken by design.
21914         Patch by Ulrich Drepper.
21915
21916 2000-10-27  Stefan Monnier  <monnier@cs.yale.edu>
21917
21918         * regex.c (POP_FAILURE_REG_OR_COUNT, re_match_2_internal)
21919         (re_match_2_internal, re_match_2_internal, re_match_2_internal):
21920         Giving in to popular pressure to shut up the compiler with casts.
21921
21922 2000-10-26  Jim Meyering  <meyering@lucent.com>
21923
21924         * lib/strftime.c: Update from libc.
21925
21926 2000-10-25  Stefan Monnier  <monnier@cs.yale.edu>
21927
21928         * regex.c: More `unsigned char' -> `re_char' changes.
21929         Also change several `int' into `re_wchar_t'.
21930         (PATTERN_STACK_EMPTY, PUSH_PATTERN_OP, POP_PATTERN_OP): Remove.
21931         (PUSH_FAILURE_POINTER): Don't cast any more.
21932         (POP_FAILURE_REG_OR_COUNT): Remove the cast that strips `const'.
21933         We want GCC to complain, since this piece of code makes
21934         re_match non-reentrant, which *should* be fixed.
21935         (GET_BUFFER_SPACE): Use size_t rather than unsigned long.
21936         (EXTEND_BUFFER): Use RETALLOC.
21937         (SET_LIST_BIT): Don't cast.
21938         (re_wchar_t): New type.
21939         (re_iswctype, re_wctype_to_bit): Make it crystal clear to GCC
21940         that those two functions will always properly return.
21941         (IMMEDIATE_QUIT_CHECK): Cast to void.
21942         (analyse_first): Use recursion rather than an explicit stack.
21943         (re_compile_fastmap): Can't fail anymore.
21944         (re_search_2): Don't check re_compile_fastmap for failure.
21945         (PUSH_NUMBER): Renamed from PUSH_FAILURE_COUNT.
21946         Now also sets the new value (passed in a new argument).
21947         (re_match_2_internal): Use it.
21948         Also, use a new var `reg' of type size_t when looping through regs
21949         rather than reuse the inappropriate `mcnt'.
21950
21951 2000-10-25  Jim Meyering  <meyering@lucent.com>
21952
21953         * lib/obstack.c: Update from libc.
21954
21955 2000-10-24  Kenichi Handa  <handa@etl.go.jp>
21956
21957         * regex.c (regex_compile): Change the way of handling a range from
21958         a char less than 256 to a char not less than 256.
21959
21960 2000-10-24  Andrew Innes  <andrewi@gnu.org>
21961
21962         * regex.c (IMMEDIATE_QUIT_CHECK): New macro, which does QUIT on
21963         NT-Emacs only.
21964         (re_match_2_internal): Use IMMEDIATE_QUIT_CHECK instead of QUIT,
21965         so that re_search functions only quit when callers expect them to.
21966
21967 2000-10-23  Jim Meyering  <meyering@lucent.com>
21968
21969         * lib/hard-locale.c (hard_locale): Revert last change -- it was simply
21970         wrong.  That set_locale call must not have any side effects.
21971         From Paul Eggert.
21972
21973 2000-10-22  Jim Meyering  <meyering@lucent.com>
21974
21975         * lib/md5.c (md5_process_block) [OP]: Use `rol', not CYCLIC.
21976         [CYCLIC]: Remove now-unused definition.
21977
21978         * lib/save-cwd.c (O_DIRECTORY): Define, if needed.
21979         (save_cwd) [HAVE_FCHDIR]: Use O_DIRECTORY when opening ".".
21980         Suggestion from Ulrich Drepper.
21981
21982 2000-10-21  Jim Meyering  <meyering@lucent.com>
21983
21984         * m4/check-decl.m4 (jm_CHECK_DECLS): Also check for memrchr.
21985         * m4/prereq.m4 (jm_PREREQ_DIRNAME): New macro.
21986         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memrchr.
21987
21988 2000-10-21  Jim Meyering  <meyering@lucent.com>
21989
21990         * lib/dirname.c (memrchr): Declare if necessary.
21991         (dir_name): Remove the restriction that there be no
21992         trailing slashes.  Now, this code skips past them, effectively
21993         ignoring them.
21994         [TEST_DIRNAME] (main): New unit tests.
21995
21996         * lib/memrchr.c: New file from GNU libc.
21997         Undef __memrchr, too.
21998         [!weak_alias]: Define __memrchr to memrchr.
21999         Guard weak_alias use with `#ifdef weak_alias'.
22000
22001 2000-10-21  Jim Meyering  <meyering@lucent.com>
22002
22003         * lib/dirname.c (dir_name_r): New function, factored out of dir_name.
22004         (dir_name): Use dir_name_r.
22005         * lib/dirname.h (dir_name_r): Declare it.
22006
22007 2000-10-17  Jim Meyering  <meyering@lucent.com>
22008
22009         * lib/quote.h (PARAMS): Define and use.
22010         Reported by Akim Demaille.
22011
22012         * lib/getopt.c: Update from libc.
22013
22014 2000-10-16  Jim Meyering  <meyering@lucent.com>
22015
22016         * lib/hard-locale.c (hard_locale): Use "", not 0 as 2nd arg to
22017         setlocale.
22018         From Jan Fedak.
22019
22020 2000-10-15  Stefan Monnier  <monnier@cs.yale.edu>
22021
22022         * regex.c (WIDE_CHAR_SUPPORT): Define if _LIBC as well.
22023
22024 2000-09-25  Jim Meyering  <meyering@lucent.com>
22025
22026         * lib/md5.h (rol): Define (from GnuPG).
22027
22028         * lib/sha.c: Give credit (GnuPG) where due.
22029         (M): Use rol rather than open-coding it.
22030         Add a FIXME comment.
22031
22032 2000-09-21  Jim Meyering  <meyering@lucent.com>
22033
22034         * lib/userspec.c (parse_user_spec): Remove debugging printf I'd added.
22035         Reported by Michael Stone.
22036
22037 2000-09-20  Jim Meyering  <meyering@lucent.com>
22038
22039         * lib/Makefile.am (libfetish_a_SOURCES): Add sha.c.
22040         (noinst_HEADERS): Add sha.h.
22041         Based on code from Scott G. Miller and from GnuPG.
22042
22043 2000-09-18  Jim Meyering  <meyering@lucent.com>
22044
22045         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Restore the initial value of
22046         LIBS. Otherwise, everyone ends up linking with -lelf for some
22047         configurations.
22048         Reported by Mike Stone.
22049
22050 2000-09-15  Jim Meyering  <meyering@lucent.com>
22051
22052         * lib/regex.c: Update from libc.
22053
22054 2000-09-10  Jim Meyering  <meyering@lucent.com>
22055
22056         * lib/getopt.c (_getopt_internal): Update from glibc.
22057
22058 2000-09-09  Jim Meyering  <meyering@lucent.com>
22059
22060         * lib/quotearg.c: Rename ISASCII to IN_CTYPE_DOMAIN, so people don't
22061         think it should be used as a general replacement for isascii.
22062         * lib/fnmatch.c: Likewise.
22063         * lib/mbswidth.c: Likewise
22064         * lib/regex.c: Likewise.
22065
22066         Don't use atoi.
22067         * lib/userspec.c: Include sys/param.h and limits.h.
22068         Include xstrtol.h.
22069         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
22070         (UID_T_MAX, GID_T_MAX, MAXUID, MAXGID): Define.
22071         (parse_user_spec): Use xstrtoul, not atoi when converting numeric
22072         UID, GID.  Check range.
22073
22074 2000-09-06  Jim Meyering  <meyering@lucent.com>
22075
22076         * lib/getopt.c (_getopt_internal): Update from glibc.
22077
22078 2000-08-30  Jim Meyering  <meyering@lucent.com>
22079
22080         * lib/strftime.c: Merge in changes from GNU libc.
22081
22082 2000-08-26  Jim Meyering  <meyering@lucent.com>
22083
22084         * m4/jm-macros.m4: Use jm_FUNC_FPENDING.
22085         * m4/fpending.m4: New file.
22086
22087 2000-08-26  Jim Meyering  <meyering@lucent.com>
22088
22089         * lib/closeout.c: Include "__fpending.h".
22090         (close_stdout_status): Return right away if there's nothing to flush.
22091
22092         * lib/Makefile.am (noinst_HEADERS): Add __fpending.h.
22093         * lib/__fpending.c: New file.
22094         * lib/__fpending.h: New file.
22095
22096 2000-08-20  Jim Meyering  <meyering@lucent.com>
22097
22098         * m4/check-decl.m4: Include utmp.h `#if HAVE_UTMP_H', rather than
22099         `#if !HAVE_UTMPX_H'.  The latter would lose on systems with neither
22100         utmp.h nor utmpx.h.  Reported by Eli Zaretskii.
22101
22102 2000-08-11  J. David Anglin  <dave@hiauly1.hia.nrc.ca>
22103
22104         Improve fileutils installation on systems where running
22105         programs (like install) can't be unlinked.
22106         * m4/unlink-busy.m4 (jm_FUNC_UNLINK_BUSY_TEXT): New file/macro.
22107         * m4/jm-macros.m4: Use jm_FUNC_UNLINK_BUSY_TEXT.
22108
22109 2000-08-07  Paul Eggert  <eggert@twinsun.com>
22110
22111         Standardize on "memory exhausted" instead of "Memory exhausted"
22112         or "virtual memory exhausted".
22113         * lib/obstack.c (print_and_abort): Use "memory exhausted", not
22114         "virtual memory exhausted".
22115         * lib/same.c (same_name): Invoke xalloc_die instead of printing
22116         our own message.
22117         * lib/userspec.c (parse_user_spec): Likewise.
22118         * lib/bumpalloc.h: comment fix
22119         * lib/same.c, userspec.c: Include xalloc.h.
22120
22121         * lib/xalloc.h (xalloc_msg_memory_exhausted): Now char const[],
22122         not char *const and pointing to a constant array.
22123         * lib/xmalloc.c (xalloc_msg_memory_exhausted): Likewise.
22124         (xrealloc): Comment fix.
22125
22126         * lib/userspec.c (parse_user_spec):
22127         Don't translate a message until just before returning,
22128         to avoid unnecessary translation.
22129
22130 2000-08-07  Jim Meyering  <meyering@lucent.com>
22131
22132         * lib/addext.c, argmatch.c, argmatch.h, backupfile.h, bumpalloc.h,
22133         chown.c, diacrit.h, dirname.h, dup2.c, exclude.h, fileblocks.c,
22134         fnmatch.c, fnmatch.h, fsusage.c, fsusage.h, getdate.h,
22135         getgroups.c, gethostname.c, getopt.h, group-member.c,
22136         hard-locale.c, hash.h, isdir.c, lchown.c, linebuffer.c,
22137         linebuffer.h, long-options.h, malloc.c, md5.c, md5.h, memchr.c,
22138         memcmp.c, memcoll.c, memset.c, mktime.c, modechange.h, obstack.h,
22139         pathmax.h, realloc.c, rmdir.c, safe-read.c, save-cwd.c, stime.c,
22140         stpcpy.c, strcasecmp.c, strcspn.c, strdup.c, stripslash.c,
22141         strstr.c, strtod.c, strtol.c, strtoul.c, strtoull.c, strtoumax.c,
22142         utime.c, version-etc.h, xalloc.h, xstrdup.c, xstrtoumax.c,
22143         yesno.c: Back out Copyright date changes for each file with no change
22144         this year.  This eases coordination with other programs using the same
22145         source code modules.  From Paul Eggert.
22146
22147 2000-08-06  Paul Eggert  <eggert@twinsun.com>
22148
22149         * m4/mbstate_t.m4 (AC_MBSTATE_T): Define mbstate_t to be int,
22150         not char, for compatibility with glibc 2.1.3 strftime.c.
22151
22152 2000-08-03  Greg McGary  <greg@mcgary.org>
22153
22154         * lib/regex.c (SET_HIGH_BOUND, MOVE_BUFFER_POINTER,
22155         ELSE_EXTEND_BUFFER_HIGH_BOUND): New macros.
22156         (EXTEND_BUFFER): Use them.
22157
22158 2000-08-01  Jim Meyering  <meyering@lucent.com>
22159
22160         * lib/dirname.c (ISSLASH): Define.
22161         (BACKSLASH_IS_PATH_SEPARATOR): Define.
22162         (dir_name) [BACKSLASH_IS_PATH_SEPARATOR]: Handle the case in which
22163         both `\' and `/' may be use as path separators.
22164         Based on a patch from Prashant TR.
22165
22166 2000-07-31  Paul Eggert  <eggert@twinsun.com>
22167
22168         * lib/quotearg.c (quotearg_n_options): Don't make the initial
22169         slot vector a constant, since it might get modified.
22170
22171 2000-07-31  Jim Meyering  <meyering@lucent.com>
22172
22173         * lib/xmalloc.c: Use `virtual memory exhausted', not
22174         `Memory exhausted'.
22175         * lib/obstack.c (print_and_abort): Likewise.
22176
22177 2000-07-30  Paul Eggert  <eggert@twinsun.com>
22178
22179         * lib/quotearg.c (quotearg_n_options): Preallocate a slot 0
22180         buffer, so that the caller can always quote one small
22181         component of a "memory exhausted" message in slot 0.
22182         From a suggestion by Jim Meyering.
22183
22184 2000-07-30  Jim Meyering  <meyering@lucent.com>
22185
22186         * lib/makepath.c (make_path): Quote the other instance, too.
22187
22188         * lib/quotearg.c (N_STATIC_SLOTVECS): Define.
22189         (STATIC_BUF_SIZE): Define.
22190         (quotearg_n_options): Use only statically allocated storage when
22191         N < N_STATIC_SLOTVECS and the length of the quoted result is smaller
22192         than STATIC_BUF_SIZE.
22193
22194 2000-07-29  Jim Meyering  <meyering@lucent.com>
22195
22196         * lib/diacrit.c (diacrit_diac): Use __MSDOS__ in favor of MSDOS.
22197         * lib/dirname.c (dir_name): Likewise.
22198
22199         * lib/basename.c (base_name): Use ISSLASH rather than comparing against
22200         `/'.
22201
22202         * lib/dirname.c (dir_name) [MSDOS]: Declare `lim' to be const.
22203         (dir_name): Assert that there are no trailing slashes.
22204
22205 2000-07-29  Bruno Haible  <haible@clisp.cons.org>
22206
22207         * lib/mbswidth.h (mbswidth): Add a flags argument.
22208         (mbswidth): New declaration.
22209         (MBSW_ACCEPT_INVALID, MBSW_ACCEPT_UNPRINTABLE): New macros.
22210         * lib/mbswidth.c (mbswidth): Add a flags argument.
22211         (mbsnwidth): New function.
22212
22213 2000-07-24  Jim Meyering  <meyering@lucent.com>
22214
22215         * lib/mbswidth.c: Remove useless #else.  From Bruno Haible.
22216
22217 2000-07-23  Paul Eggert  <eggert@twinsun.com>
22218
22219         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Check for wcwidth declaration.
22220
22221 2000-07-23  Paul Eggert  <eggert@twinsun.com>
22222
22223         * lib/quotearg.c: Streamline by invoking multibyte code only if needed.
22224         <wchar.h>: Include only if HAVE_MBRTOWC && 1 < MB_LEN_MAX.
22225         (MB_CUR_MAX): Redefine to 1 if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX).
22226         (quotearg_buffer_restyled): If a unibyte locale, don't bother to
22227         invoke multibyte primitives.
22228
22229 2000-07-23  Paul Eggert  <eggert@twinsun.com>
22230
22231         * lib/quotearg.c:
22232         Include <wchar.h> even if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX),
22233         so that mbstate_t is always defined.
22234
22235         Do not inspect MB_LEN_MAX, since it's incorrectly defined to
22236         be 1 in at least one GCC installation, and this configuration
22237         error is likely to be common.  Ignoring MB_LEN_MAX hurts
22238         performance on hosts that have mbrtowc but have only unibyte
22239         locales, but I assume these hosts are rare.
22240
22241 2000-07-23  Paul Eggert  <eggert@twinsun.com>
22242
22243         * lib/mbswidth.c (_XOPEN_SOURCE):
22244         Don't define; this causes problems on Solaris 7.
22245         (wcwidth) [!HAVE_DECL_WCWIDTH]: Declare.
22246
22247 2000-07-23  Jim Meyering  <meyering@lucent.com>
22248
22249         * m4/check-decl.m4 (jm_CHECK_DECLS): Check for declarations of these,
22250         too: getgrgid, getpwuid, getuid.
22251
22252 2000-07-23  Jim Meyering  <meyering@lucent.com>
22253
22254         * lib/basename.c (base_name): Add an assertion.
22255
22256 2000-07-23  Bruno Haible  <haible@clisp.cons.org>
22257
22258         * lib/quotearg.c: When the system forces us to redefine mbstate_t,
22259         shadow its mbsinit function.
22260
22261 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
22262
22263         * lib/mbswidth.h: New file.
22264         * lib/mbswidth.c: New file.
22265         * lib/Makefile.am (libfetish_a_SOURCES): Add mbswidth.c.
22266         (noinst_HEADERS): Add mbswidth.h.
22267
22268 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
22269
22270         * lib/config.charset: Add support for FreeBSD. Improve support for
22271         HP-UX and IRIX 6.
22272
22273 2000-07-16  Bruno Haible  <haible@clisp.cons.org>
22274
22275         * m4/mbswidth.m4: New file.
22276         * m4/prereq.m4 (jm_PREREQ): Call jm_PREREQ_MBSWIDTH.
22277
22278 2000-07-15  Jim Meyering  <meyering@lucent.com>
22279
22280         * lib/makepath.c: Include quote.h.
22281         (make_path): Convert "`%s'" in format strings to "%s", and wrap each
22282         corresponding argument in a `quote (...)' call.
22283         Give better diagnostics.
22284
22285         * lib/Makefile.am (libfetish_a_SOURCES): Add quote.c.
22286         (noinst_HEADERS): Add quote.h.
22287
22288         * lib/quote.c (quote, quote_n): New file.  Two functions taken verbatim
22289         from tar's src/misc.c.
22290         * lib/quote.h: New file.  Prototypes for same.
22291
22292 2000-07-14  Paul Eggert  <eggert@twinsun.com>
22293
22294         From a suggestion by Bruno Haible.
22295         * lib/quotearg.c (mbrtowc): Do not use HAVE_WCHAR_H in the definition.
22296         Use defined mbstate_t, not HAVE_MBSTATE_T_OBJECT,
22297         to decide whether to define the BeOS workaround macro;
22298         this adjusts to the change to AC_MBSTATE_T.
22299
22300 2000-07-14  Jim Meyering  <meyering@lucent.com>
22301
22302         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Require
22303         jm_AC_TYPE_UINTMAX_T.
22304
22305 2000-07-13  Paul Eggert  <eggert@twinsun.com>
22306
22307         * lib/quotearg.h (enum quoting style): New enum clocale_quoting_style.
22308
22309         * lib/quotearg.c (quoting_style_args, quoting_style_vals,
22310         quotearg_buffer_restyled): Add support for
22311         clocale_quoting_style.  Undo previous change to
22312         locale_quoting_style behavior, and undo the "{LEFT QUOTATION MARK}"
22313         and "{RIGHT QUOTATION MARK}" msgids.
22314
22315 2000-07-10  Paul Eggert  <eggert@twinsun.com>
22316
22317         From a suggestion by Bruno Haible.
22318         * m4/mbstate_t.m4 (AC_MBSTATE_T):
22319         Renamed from AC_MBSTATE_T_OBJECT.  All uses changed.
22320         Change from a two-part test, which defines both HAVE_MBSTATE_T_OBJECT
22321         and mbstate_t, to a single-part test that simply defines mbstate_t.
22322         * m4/prereq.m4 (jm_PREREQ_QUOTEARG):
22323         s/AC_MBSTATE_T_OBJECT/AC_MBSTATE_T/.
22324
22325 2000-07-10  Jim Meyering  <meyering@lucent.com>
22326
22327         * m4/strerror_r.m4: Mirror the correction made in autoconf.
22328
22329         * m4/gnu-source.m4: Output to confdefs.h directly.
22330         Suggestion from Akim Demaille.
22331
22332 2000-07-09  Paul Eggert  <eggert@twinsun.com>
22333
22334         The old behavior of quoting `like this' doesn't look good with
22335         newer, ISO-style fonts.  See:
22336         http://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html
22337
22338         Instead, quote "like this" by default.  Let the translator
22339         tailor the locale-specific quoting behavior by providing
22340         translations for {LEFT QUOTATION MARK} and {RIGHT QUOTATION MARK}.
22341
22342         * lib/quotearg.c (N_): New macro.
22343         (gettext_default): New function.
22344         (quotearg_buffer_restyled): Use
22345         gettext_default ("{LEFT QUOTATION MARK}", "\"") for left quote, and
22346         gettext_default ("{RIGHT QUOTATION MARK}", "\"") for right quote.
22347
22348 2000-07-09  Jim Meyering  <meyering@lucent.com>
22349
22350         * m4/jm-macros.m4 (jm_MACROS): Add a test to see if -lm is required
22351         to link seq.  If so, set SEQ_LIBM to -lm.  From Bruno Haible.
22352
22353         * m4/gnu-source.m4 (AC__GNU_SOURCE): New file/macro.
22354         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require it.
22355
22356 2000-07-09  Jim Meyering  <meyering@lucent.com>
22357
22358         * lib/Most files: Update copyright dates to include 2000.
22359
22360 2000-07-08  Jim Meyering  <meyering@lucent.com>
22361
22362         * lib/xgethostname.c (ENAMETOOLONG): Define to an unlikely value
22363         if not defined.
22364         (xgethostname): Remove now-unnecessary #ifdef.
22365         Move declaration of `err' into loop where it's used.
22366
22367 2000-07-05  Paul Eggert  <eggert@twinsun.com>
22368         and Bruno Haible  <haible@clisp.cons.org>
22369
22370         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Test for mbstate_t
22371         only if the test for an object-type mbstate_t fails.  This
22372         prevents us from mistakenly reporting that mbstate_t is a
22373         system object type after we "#define mbstate_t int" to work
22374         around its lack.
22375
22376 2000-07-05  Paul Eggert  <eggert@twinsun.com>
22377         and Bruno Haible  <haible@clisp.cons.org>
22378
22379         * lib/quotearg.c (mbrtowc): Declare returned type, since BeOS doesn't.
22380
22381 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
22382
22383         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Pass a reasonably large buffer
22384         to strerror_r.
22385         Include <ctype.h> for use of isalpha.
22386
22387 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
22388
22389         * lib/xgethostname.c (xgethostname): Protect against the SunOS 5.5 bug
22390         by allocating a larger buffer. Test the gethostname return value for
22391         being >= 0, not == 0, for BeOS.  Don't exhaust memory if gethostname
22392         returns an error and ENAMETOOLONG isn't defined.
22393
22394 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
22395
22396         * lib/quotearg.c (struct quoting_options): Simplify quote_these_too
22397         dimension.
22398
22399 2000-07-04  Jim Meyering  <meyering@lucent.com>
22400
22401         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use plain old `echo' instead
22402         of the deprecated AC_CHECKING.
22403
22404 2000-07-04  Jim Meyering  <meyering@lucent.com>
22405
22406         * lib/strndup.c: [!HAVE_DECL_STRNLEN]: Declare strnlen.
22407         Reported by Bruno Haible.
22408
22409 2000-07-04  Jim Meyering  <meyering@lucent.com>
22410
22411         * lib/quotearg.c: Make inclusion of <wchar.h> independent of whether
22412         HAVE_MBRTOWC is set.  Required at least for irix-5.6, which
22413         lacks mbrtowc.
22414
22415 2000-07-03  Paul Eggert  <eggert@twinsun.com>
22416
22417         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Port to autoconf 2.13.
22418         Add AC_CHECK_HEADERS(stdlib.h), since we use HAVE_STDLIB_H.
22419
22420 2000-07-03  Paul Eggert  <eggert@twinsun.com>
22421         and Bruno Haible  <haible@clisp.cons.org>
22422
22423         * lib/quotearg.c (mbrtowc):
22424         Assign to *pwc, and return 1 only if result is nonzero.
22425         (iswprint): Use ISPRINT when substituting our own mbrtowc.
22426
22427 2000-07-03  Jim Meyering  <meyering@lucent.com>
22428
22429         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strnlen.
22430
22431 2000-07-03  Jim Meyering  <meyering@lucent.com>
22432
22433         * lib/readutmp.h: [HAVE_UTMPX_H]: Include <utmp.h> if HAVE_UTMP_H.
22434         This is necessary to get a definition of e.g., UTMP_FILE on
22435         HP-UX 10.20.
22436         From Bob Proulx.
22437
22438 2000-07-02  Jim Meyering  <meyering@lucent.com>
22439
22440         * m4/mbstate_t.m4: Also define mbstate_t, if necessary.
22441
22442         * m4/chown.m4: Replace each use of AC_SUBST(LIBOBJS)/LIBOBJS=... with
22443         AC_LIBOBJ(function_name).
22444         * m4/chown.m4: Likewise.
22445         * m4/fnmatch.m4: Likewise.
22446         * m4/ftruncate.m4: Likewise.
22447         * m4/getgroups.m4: Likewise.
22448         * m4/getline.m4: Likewise.
22449         * m4/group-member.m4: Likewise.
22450         * m4/jm-macros.m4: Likewise.
22451         * m4/lstat.m4: Likewise.
22452         * m4/malloc.m4: Likewise.
22453         * m4/memcmp.m4: Likewise.
22454         * m4/nanosleep.m4: Likewise.
22455         * m4/putenv.m4: Likewise.
22456         * m4/realloc.m4: Likewise.
22457         * m4/regex.m4: Likewise.
22458         * m4/stat.m4: Likewise.
22459         * m4/strftime.m4: Likewise.
22460
22461 2000-07-02  Jim Meyering  <meyering@lucent.com>
22462
22463         * lib/quotearg.c (mbstate_t): Don't define here.
22464
22465 2000-07-02  Jim Meyering  <meyering@lucent.com>
22466
22467         * lib/nanosleep.c (SIGCONT): Define if not already defined.
22468
22469 2000-07-01  Jim Meyering  <meyering@lucent.com>
22470
22471         * m4/uptime.m4: Put double quotes around use of $cross_compiling.
22472
22473 2000-07-01  Jim Meyering  <meyering@lucent.com>
22474
22475         * m4/ls-mntd-fs.m4: Remove a `FIXME' comment and fix the associated
22476         problem.
22477
22478 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
22479
22480         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Rename BeOS specific
22481         macro from MOUNTED_NEXT_DEV to MOUNTED_FS_STAT_DEV.
22482
22483 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
22484
22485         * lib/mountlist.c: Use MOUNTED_FS_STAT_DEV instead of MOUNTED_NEXT_DEV,
22486         per change in ../m4/ls-mntd-fs.m4.
22487         (read_filesystem_list): Ignore symbolic links.
22488
22489 2000-06-29  Jim Meyering  <meyering@lucent.com>
22490
22491         * lib/same.c: Include <string.h> or <strings.h>, as appropriate,
22492         for declaration of strcmp.
22493
22494         * lib/long-options.c: Include <stdlib.h>, for declaration of exit.
22495
22496         * lib/mountlist.c (fsp_to_string) [HAVE_F_FSTYPENAME_IN_STATFS]:
22497         Avoid warning by casting result to `char *' to remove `const'.
22498
22499 2000-06-28  Jim Meyering  <meyering@lucent.com>
22500
22501         * m4/mbstate_t.m4: Use stdlib.h, not stdio.h.  The latter is not
22502         included by quotearg.c, for which we perform this test.  From
22503         Bruno Haible.
22504
22505 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
22506
22507         * m4/check-decl.m4 (_jm_DECL_HEADERS): Check for utmp.h as well.
22508         * m4/prereq.m4 (jm_PREREQ_READUTMP): Likewise. If either <utmp.h> or
22509         <utmpx.h> exists, put readutmp.o into LIBOBJS.
22510
22511 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
22512
22513         * lib/Makefile.am (libfetish_a_SOURCES): Remove readutmp.c.
22514
22515 2000-06-26  Paul Eggert  <eggert@twinsun.com>
22516
22517         savedir now sets errno on failure and invokes xmalloc to get memory.
22518         Fix a couple of other minor bugs while we're at it.
22519
22520         * lib/savedir.c (<unistd.h>): Do not include; there's no need.
22521         (NAMLEN): Remove macro.
22522         (malloc, realloc): Remove decls.
22523         (stpcpy): Likewise.
22524         ("xalloc.h"): Include.
22525         (NAME_SIZE_DEFAULT): New macro.
22526         (savedir): Use xmalloc / xrealloc to allocate memory.
22527         Use NAME_SIZE_DEFAULT if name_size is negative or overflows to zero.
22528         Skip "" directory entries.
22529         Use strlen to calculate directory entry length, since the old method
22530         is rarely used these days and isn't worth supporting.
22531         Don't use a pointer after freeing it.
22532         Check for integer overflow when calculating allocation size.
22533         Use memcpy to copy entries, instead of stpcpy.
22534         Set errno properly when returning NULL.
22535         Check for readdir error.
22536
22537 2000-06-26  Jim Meyering  <meyering@lucent.com>
22538
22539         * lib/posixtm.c [HAVE_STDLIB_H]: Include stdlib.h, for decl of abort.
22540
22541 2000-06-25  Jim Meyering  <meyering@lucent.com>
22542
22543         * m4/mbstate_t.m4: Include stdio.h before wchar.h to work around
22544         Linux header bug when _XOPEN_SOURCE is defined to 500.
22545
22546 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
22547
22548         * lib/unicodeio.c (print_unicode_char): Work around ansi2knr
22549         deficiency.
22550
22551 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
22552
22553         * lib/getusershell.c (xmalloc, xrealloc): Remove functions.
22554         Include xalloc.h.
22555         Don't include <stdlib.h>.  Don't declare malloc, realloc.
22556
22557 2000-06-24  Jim Meyering  <meyering@lucent.com>
22558
22559         * m4/strerror_r.m4: Revive this file -- to try out an experimental
22560         version of AC_FUNC_STRERROR_R that may work even on BeOS, a system
22561         for which strerror does return char*, but which lacks a conveniently
22562         accessible declaration of the function.  If the compile-test says
22563         strerror_r doesn't work, then resort to a `run'-test that works on
22564         BeOS and segfaults on DEC Unix.
22565
22566 2000-06-24  Jim Meyering  <meyering@lucent.com>
22567
22568         * lib/error.c [!HAVE_DECL_STRERROR_R]: Declare strerror_r.
22569
22570 2000-06-23  Paul Eggert  <eggert@twinsun.com>
22571
22572         * m4/mbstate_t.m4: New file, defining AC_MBSTATE_T_OBJECT.
22573         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Use it.  Add check for iswprint.
22574
22575 2000-06-23  Paul Eggert  <eggert@twinsun.com>
22576
22577         * lib/quotearg.c: Include <wctype.h> after <wchar.h>, for Solaris 2.5.
22578         (mbrtowc, mbstate_t): Define substitutes if
22579         HAVE_MBRTOWC && HAVE_WCHAR_H && !HAVE_MBSTATE_T_OBJECT.
22580         (iswprint): Define to 1 if !defined iswprint && !HAVE_ISWPRINT,
22581         not if ! (HAVE_MBRTOWC && HAVE_WCHAR_H).
22582
22583 2000-06-23  Jim Meyering  <meyering@lucent.com>
22584
22585         * m4/afs.m4: Add missing AC_MSG_RESULT.
22586         Reported by Bruno Haible.
22587
22588         * m4/fsusage.m4: s/AC_MSG_CHECKING/AC_CHECKING/.
22589         Suggestion from Bruno Haible.
22590
22591 2000-06-23  Jim Meyering  <meyering@lucent.com>
22592
22593         * lib/getpass.c: New file, from Bruno Haible.  Required for BeOS.
22594
22595 2000-06-21  Jim Meyering  <meyering@lucent.com>
22596
22597         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add getpass.
22598
22599 2000-06-21  Jim Meyering  <meyering@lucent.com>
22600
22601         * lib/Makefile.am (libfetish_a_SOURCES): Add getstr.c.
22602         (noinst_HEADERS): Add getstr.h.
22603
22604         * lib/getline.c (getstr): Move into a separate file.
22605         * lib/getstr.c (getstr): New file, extracted from getline.c, with
22606         the following changes: new parameter, delim2; both delim[12]
22607         parameters have type `int', not `char'.  The latter would lose
22608         with 8-bit delimiters.
22609         * lib/getstr.h: New file.
22610
22611 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
22612
22613         * lib/xgetcwd.c (xgetcwd): If the required pathname length is smaller
22614         than 1024, return a memory chunk of least possible size, instead
22615         of size PATH_MAX + 2. In the loop, increment the size proportionally.
22616         Use free/xmalloc instead of xrealloc to avoid copying for very long
22617         paths.
22618
22619 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
22620
22621         * lib/path-concat.c (path_concat): Don't access dir[-1] if dir is
22622         the empty string.
22623
22624 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
22625
22626         * lib/canon-host.c (canon_host): Use malloc and memcpy to copy an
22627         address, not strdup.  Include <stdlib.h> and don't declare free().
22628
22629 2000-06-19  Jim Meyering  <meyering@lucent.com>
22630
22631         * lib/getloadavg.c [HAVE_NLIST_H] (NLIST_STRUCT): Define.
22632
22633 2000-06-18  Jim Meyering  <meyering@lucent.com>
22634
22635         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Remove mkdir.
22636
22637         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): Change the
22638         `checking whether...' message to be consistent with that of the
22639         lstat test.
22640
22641 2000-06-18  Jim Meyering  <meyering@lucent.com>
22642
22643         * lib/mkdir.c: Remove file, due mainly to copyright incompatibility.
22644         Besides, these days every porting target provides a mkdir function.
22645
22646         * lib/strnlen.c: Include memory.h, string.h, and/or strings.h as
22647         needed. (this snippet comes from src/system.h).
22648
22649 2000-06-16  Bruno Haible  <haible@clisp.cons.org>
22650
22651         * m4/glibc21.m4 (jm_GLIBC21): Define GLIBC21 for Makefiles, not for C.
22652
22653 2000-06-15  Paul Eggert  <eggert@twinsun.com>
22654
22655         * lib/human.c (adjust_value): New function.
22656         (human_readable_inexact): Apply rounding style even when
22657         printing approximate values.
22658
22659 2000-06-14  Paul Eggert  <eggert@twinsun.com>
22660
22661         * lib/human.c (human_readable_inexact): Allow an input block
22662         size that is not a multiple of the output block size, and vice versa.
22663         Reported by Piergiorgio Sartor.
22664
22665 2000-06-14  Paul Eggert  <eggert@twinsun.com>
22666
22667         * lib/getdate.y (get_date): Apply relative times after time
22668         zone indicator, not before.  Reported by Todd A. Jacobs.
22669
22670 2000-06-13  Jim Meyering  <meyering@lucent.com>
22671
22672         * lib/Makefile.am (all-local): Depend on lstat.c and stat.c.
22673
22674         * lib/xstat.in [!HAVE_DECL_FREE]: Declare free in lstat.c.
22675
22676 2000-06-12  Paul Eggert  <eggert@twinsun.com>
22677
22678         * lib/xstat.in: Include <stdlib.h> in lstat, to declare "free".
22679
22680 2000-06-12  Jim Meyering  <meyering@lucent.com>
22681
22682         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Replace with
22683         AC_FUNC_GETLOADAVG from autoconf, and tweak the latter to accept an
22684         optional argument.
22685         * m4/jm-macros.m4: s/AM_FUNC_GETLOADAVG/AC_FUNC_GETLOADAVG/, and supply
22686         the optional argument, `lib'.
22687
22688 2000-06-08  Jim Meyering  <meyering@lucent.com>
22689
22690         * m4/largefile.m4: Remove file (now that it's part of autoconf).
22691
22692 2000-06-04  Paul Eggert  <eggert@twinsun.com>
22693
22694         Rewrite largefile configuration so that we don't need to run
22695         getconf and don't need AC_CANONICAL_HOST.  [I'm leaving the use of
22696         AC_CANONICAL_HOST in configure.in -- jmm]
22697
22698         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS,
22699         AC_SYS_LARGEFILE_SPACE_APPEND): Remove.
22700         (AC_SYS_LARGEFILE_TEST_INCLUDES): New macro.
22701         (AC_SYS_LARGEFILE_MACRO_VALUE): Change arguments from
22702         CODE-TO-SET-DEFAULT to VALUE, INCLUDES, FUNCTION-BODY.
22703         All uses changed.
22704         Instead of inspecting the output of getconf, try to compile the
22705         test program without and with the macro definition.
22706         (AC_SYS_LARGEFILE): Do not require AC_CANONICAL_HOST or check
22707         for getconf.  Instead, check for the needed flags by compiling
22708         test programs.
22709
22710 2000-06-04  Paul Eggert  <eggert@twinsun.com>
22711
22712         * lib/strnlen.c: Include <config.h> if HAVE_CONFIG_H.
22713
22714 2000-06-04  Jim Meyering  <meyering@lucent.com>
22715
22716         * lib/getugroups.c (getugroups): Cast -1 to gid_t, for systems like
22717         SunOS 4.1.4 for which gid_t is an unsigned type.
22718
22719 2000-06-03  Jim Meyering  <meyering@lucent.com>
22720
22721         * m4/prereq.m4 (jm_PREREQ_HUMAN): Use []-quoted list in AC_CHECK_DECLS,
22722         now that autoconf requires that.
22723
22724         * m4/jm-glibc-io.m4: Add a kludge to make autoheader emit the required
22725         #undefs.  E.g., #undef HAVE_DECL_FERROR_UNLOCKED.
22726         Use []-quoted list in AC_CHECK_DECLS, now that autoconf requires that.
22727
22728 2000-06-03  Jim Meyering  <meyering@lucent.com>
22729
22730         * lib/strnlen.c [!HAVE_DECL_MEMCHR]: Declare memchr.
22731
22732 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
22733
22734         * m4/glibc21.m4: New file.
22735         * m4/jm-macros.m4 (jm_MACROS): Call jm_GLIBC21.
22736
22737 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
22738
22739         * lib/Makefile.am (install-exec-local): On systems with glibc-2.1 or
22740         newer, don't install charset.alias.
22741         * lib/config.charset: Change the Linux/glibc rules so they become empty
22742         on glibc-2.1 or newer.
22743
22744 2000-06-02  Jim Meyering  <meyering@lucent.com>
22745
22746         * lib/mountlist.c: Back out last change.  Instead, do this...
22747         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Set the
22748         me_dummy member using the same `ignore'-testing code.
22749         * lib/mountlist.h (ME_DUMMY): Add `autofs' to the list of ignored
22750         fs_type strings.
22751         From Mark D. Roth.
22752
22753 2000-05-29  Jim Meyering  <meyering@lucent.com>
22754
22755         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Ignore
22756         mounts with the `ignore' attribute.  Based on a patch from
22757         Mark D. Roth.
22758
22759 2000-05-28  Jim Meyering  <meyering@lucent.com>
22760
22761         * m4/jm-macros.m4 (AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Rename from
22762         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
22763         * m4/stat.m4: Likewise.
22764         * m4/lstat.m4: Likewise.
22765         * m4/lstat-slash.m4: Remove file (absorbed into autoconf).
22766
22767         * m4/jm-macros.m4 (AC_FUNC_STRERROR_R): Rename from jm_FUNC_STRERROR_R.
22768         * m4/strerror_r.m4: Remove file (absorbed into autoconf).
22769
22770 2000-05-26  Jim Meyering  <meyering@lucent.com>
22771
22772         * m4/uptime.m4: Use `$cross_compiling', not `$ac_cv_prog_cc_cross'.
22773
22774 2000-05-24  Jim Meyering  <meyering@lucent.com>
22775
22776         * m4/prereq.m4: Use []-quoted list in AC_CHECK_MEMBERS, now that
22777         autoconf requires that.
22778         * m4/lib-check.m4: Likewise.
22779         * m4/jm-macros.m4: Likewise.
22780         * m4/strftime.m4: Likewise.
22781
22782         * m4/check-decl.m4 (jm_CHECK_DECLS): Use []-quoted list in
22783         AC_CHECK_DECLS, now that autoconf requires that.
22784
22785 2000-05-22  Jim Meyering  <meyering@lucent.com>
22786
22787         * m4/stat.m4: Require jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
22788         * m4/lstat.m4: Likewise.
22789
22790 2000-05-22  Jim Meyering  <meyering@lucent.com>
22791
22792         * lib/makepath.c: Remove old, now-unnecessary `#ifdef __MSDOS__' block.
22793
22794 2000-05-20  Jim Meyering  <meyering@lucent.com>
22795
22796         * m4/prereq.m4 (jm_PREREQ_HUMAN): New macro.
22797         (jm_PREREQ): Use it.
22798
22799 2000-05-18  Jim Meyering  <meyering@lucent.com>
22800
22801         * lib/hash.c (hash_rehash): Fix a nasty bug: copy the free entry list
22802         back, too, since it may have been modified by allocate_entry.
22803         (hash_delete): Rewrite to use neither the assignment operator
22804         nor the comma operator in an if-expression.
22805
22806 2000-05-15  Paul Eggert  <eggert@twinsun.com>
22807
22808         * lib/closeout.c:
22809         <sys/stat.h>, <sys/types.h>, <unistd.h>, (STDOUT_FILENO):
22810         Remove; no longer needed.
22811         "quotearg.h": Add include.
22812         (file_name): Do not bother to explicitly initialize to NULL; it's less
22813         efficient on some hosts.
22814         (close_stdout_status): Remove test as to whether stdout was already
22815         closed; it breaks for the case "echo x | sort >&-".
22816         Quote file name colons.
22817         Do not assume that _("write error") lacks format strings.
22818
22819 2000-05-15  Jim Meyering  <meyering@lucent.com>
22820
22821         * lib/version-etc.c (version_etc_copyright): Update the copyright
22822         string used in all --version output.
22823
22824 2000-05-14  Jim Meyering  <meyering@lucent.com>
22825
22826         * lib/closeout.c (close_stdout_set_file_name): New function.
22827         (close_stdout_status): Use new file-scoped global.
22828         Return right away if fstat says the stdout file descriptor is invalid.
22829         * lib/closeout.h (close_stdout_set_file_name): Declare.
22830
22831 2000-05-10  Jim Meyering  <meyering@lucent.com>
22832
22833         * lib/closeout.c [default_exit_status]: New file-scoped variable.
22834         (close_stdout_set_status): New function.
22835         * lib/closeout.h (close_stdout_set_status): Declare.
22836
22837 2000-05-09  Jim Meyering  <meyering@lucent.com>
22838
22839         * m4/gettext.m4: Rename this...
22840         * m4/libintl.m4: ...to this.
22841
22842 2000-05-08  Jim Meyering  <meyering@lucent.com>
22843
22844         * lib/long-options.c: Don't include closeout.h.
22845         (parse_long_options): Don't call close_stdout for --version.
22846
22847 2000-05-06  Paul Eggert  <eggert@twinsun.com>
22848
22849         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _XOPEN_SOURCE to
22850         be 500, instead of _GNU_SOURCE to be 1, to work around glibc
22851         2.1.3 bug.  This avoids a clash when files like regex.c define
22852         _GNU_SOURCE.
22853
22854 2000-05-06  Jim Meyering  <meyering@lucent.com>
22855
22856         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add atexit.
22857         (AC_REPLACE_FUNCS): Add strnlen.
22858
22859         * m4/rmdir-errno.m4 (fetish_FUNC_RMDIR_NOTEMPTY): New macro and file.
22860         * m4/jm-macros.m4: Require fetish_FUNC_RMDIR_NOTEMPTY.
22861
22862         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Save and restore LIBS around
22863         AC_SEARCH_LIBS call for nanosleep.
22864         (LIB_NANOSLEEP): Set and AC_SUBST.
22865
22866 2000-05-06  Jim Meyering  <meyering@lucent.com>
22867
22868         * lib/strnlen.c: Undefine __strnlen and strnlen.
22869         [!weak_alias]: Define __strnlen to strnlen.
22870
22871         * lib/atexit.c: New file, from libiberty.
22872
22873 2000-05-06  Jim Meyering  <meyering@lucent.com>
22874
22875         * lib/closeout.c (close_stdout_status): Also check for errors on the
22876         stderr stream.
22877
22878 2000-05-05  Jim Meyering  <meyering@lucent.com>
22879
22880         * m4/jm-macros.m4 (jm_MACROS): Save and restore LIBS around
22881         AC_SEARCH_LIBS call for clock_gettime.
22882         (LIB_CLOCK_GETTIME): Set and AC_SUBST.
22883
22884         * m4/search-libs.m4: Update from autoconf.
22885
22886         su doesn't work on Solaris 2.6.
22887         * m4/lib-check.m4: When checking for struct spwd.sp_pwdp, also include
22888         <shadow.h>.  Reported by Dragos Harabor.
22889
22890 2000-05-05  Bruno Haible  <haible@clisp.cons.org>
22891
22892         * lib/localcharset.c (get_charset_aliases): Use malloc, realloc and
22893         memcpy instead of xmalloc, xrealloc, path_concat.
22894         (locale_charset): Treat empty environment variables as absent.
22895         (DIRECTORY_SEPARATOR, ISSLASH): New macros.
22896
22897 2000-05-04  Jim Meyering  <meyering@lucent.com>
22898
22899         * lib/getopt.c: Update from glibc.
22900         * lib/obstack.c: Likewise.
22901         * lib/obstack.h: Likewise.
22902         * lib/regex.c: Likewise.  NB: K&R compiler support is dropped for this
22903         file
22904
22905         * lib/regex.h: Likewise.
22906         * lib/strndup.c: Likewise.
22907         * lib/strnlen.c: New file, from glibc.
22908
22909 2000-05-03  Jim Meyering  <meyering@lucent.com>
22910
22911         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strndup.
22912
22913 2000-05-02  Paul Eggert  <eggert@twinsun.com>
22914
22915         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _GNU_SOURCE if
22916         this is needed to make ftello visible (e.g. glibc 2.1.3).  Use
22917         compile-time test, rather than inspecting host and OS, to
22918         decide whether to define _LARGEFILE_SOURCE.
22919
22920 2000-05-01  Jim Meyering  <meyering@lucent.com>
22921
22922         * m4/fsusage.m4: Use AC_MSG_CHECKING instead of obsolete AC_CHECKING.
22923
22924         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add BeOS support.
22925         Based on a patch from Bruno Haible.
22926
22927 2000-05-01  Jim Meyering  <meyering@lucent.com>
22928
22929         * lib/full-write.c (full_write): Remove `FIXME' part of comment.
22930
22931 2000-04-29  Jim Meyering  <meyering@lucent.com>
22932
22933         * lib/path-concat.c: Declare strdup only if it's not defined.
22934         * lib/canon-host.c: Likewise.
22935
22936 2000-04-28  Jim Meyering  <meyering@lucent.com>
22937
22938         * lib/rpmatch.c [HAVE_LIMITS_H]: Include limits.h before regex.h to
22939         avoid redefinition warning on some systems (HPUX).  Otherwise, regex.h
22940         is included first, then limits.h is included by locale.h by libintl.h.
22941         From John David Anglin.
22942
22943 2000-04-25  Jim Meyering  <meyering@lucent.com>
22944
22945         * lib/makepath.c (S_IRWXUGO): Define.
22946         (make_path): Always perform explicit chmod if MODE specifies any
22947         of the `special' permission bits.  Prompted by a bug report against
22948         install from Mate Wierdl and Joost van Baal.
22949
22950 2000-04-18  Jim Meyering  <meyering@lucent.com>
22951
22952         * m4/prereq.m4 (jm_PREREQ_GETPAGESIZE): New macro.
22953         (jm_PREREQ): Use it.
22954
22955 2000-04-18  Jim Meyering  <meyering@lucent.com>
22956
22957         * lib/README: New file.
22958
22959         * lib/getpagesize.h [!getpagesize && HAVE_OS_H && B_PAGE_SIZE]: Define
22960         getpagesize.  For BeOS.  Based on a patch from Bruno Haible.
22961
22962 2000-04-17  Jim Meyering  <meyering@lucent.com>
22963
22964         Get it right :-)
22965         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Emit the
22966         actual #define via AH_VERBATIM.  Don't need separate AC_DEFINE.
22967         Suggestion from Akim Demaille.
22968
22969 2000-04-17  Jim Meyering  <meyering@lucent.com>
22970
22971         * lib/strftime.c (my_strftime) [strftime]: Declare strftime here, since
22972         the definition of it to rpl_strftime also defined-away the system's
22973         declaration.
22974
22975 2000-04-15  Jim Meyering  <meyering@lucent.com>
22976
22977         Use `C' to denote so-called `contiguous' files, the same way
22978         that tar does.
22979         * lib/filemode.c (S_ISCTG) [!S_ISCTG && S_IFCTG]: Define.
22980         (ftypelet): Use S_ISCTG.
22981         From Michael Deutschmann.
22982
22983 2000-04-14  Jim Meyering  <meyering@lucent.com>
22984
22985         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use the one-arg
22986         form of AC_DEFINE.  Otherwise, the #ifndef in AH_VERBATIM gets
22987         clobbered.
22988
22989 2000-04-14  Jim Meyering  <meyering@lucent.com>
22990
22991         * lib/strftime.c (my_strftime) [#ifdef strftime]: Declare strftime.
22992
22993 2000-04-13  Jim Meyering  <meyering@lucent.com>
22994
22995         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use new
22996         AH_VERBATIM to insert required #ifndef into config.h.in.
22997         Suggestion from Akim Demaille.
22998
22999 2000-04-12  Jim Meyering  <meyering@lucent.com>
23000
23001         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Use AC_CHECK_HEADERS, not
23002         `AC_CHECK_HEADER' to check for locale.h.  Thanks to a report from
23003         Christian Krackowizer.
23004
23005         More code moved from ../configure.in into (jm_CHECK_ALL_TYPES).
23006         * m4/jm-macros.m4 (_GNU_SOURCE): Define.
23007         (AC_SYS_LARGEFILE): Require.
23008         (AM_C_PROTOTYPES): Require.
23009
23010 2000-04-08  Jim Meyering  <meyering@lucent.com>
23011
23012         * lib/Makefile.am (charset.alias): Use t-$@, not $@-t so the DOS 8.3
23013         names don't conflict.  Reported by Eli Zaretskii.
23014
23015 2000-04-07  Jim Meyering  <meyering@lucent.com>
23016
23017         * lib/putenv.c: Move inclusion of errno.h so it follows that of
23018         sys/types.h, to work around system header problems on AIX 3.2.5.
23019         From Bruno Haible.
23020
23021 2000-04-07  Bruno Haible  <haible@clisp.cons.org>
23022
23023         * lib/unicodeio.c (print_unicode_char): Avoid triggering Solaris iconv
23024         bug.  Deal with the different error behavior of Irix iconv.
23025
23026 2000-04-05  Paul Eggert  <eggert@twinsun.com>
23027
23028         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Don't use -n32 on
23029         IRIX if the installer said otherwise.
23030
23031 2000-04-05  Jim Meyering  <meyering@lucent.com>
23032
23033         Portability tweaks required for ultrix4.3.
23034         * m4/check-decl.m4 [!HAVE_UTMPX_H] (headers): Include <utmp.h>.
23035         (jm_CHECK_DECLS): Add getutent to the list of functions.
23036         (_jm_DECL_HEADERS): Add utmpx.h.
23037         From John David Anglin.
23038
23039         * m4/strftime.m4: Back out the 2000-04-02 change.
23040         Instead of that change, simply undefine putenv in the test program.
23041
23042 2000-04-05  Jim Meyering  <meyering@lucent.com>
23043
23044         Portability tweaks required for ultrix4.3.
23045         * lib/readutmp.h [HAVE_UTMPX_H && !HAVE_DECL_GETUTENT]: Declare
23046         getutent.
23047         * lib/readutmp.c: Include sys/types.h before sys/stat.h.
23048         * lib/canon-host.c: Declare strdup.
23049         * lib/path-concat.c: Likewise.
23050         From John David Anglin.
23051
23052 2000-04-04  Jim Meyering  <meyering@lucent.com>
23053
23054         Be more DOS 8.3-friendly.
23055         * lib/ref-add.sin: Renamed from ref-add.sed.in.
23056         * lib/ref-del.sin: Renamed from ref-del.sed.in.
23057         * lib/Makefile.am: Reflect renaming.
23058         Reported by Eli Zaretskii.
23059
23060         Use a temporary file name that won't clash with `charset.alias'
23061         in the DOS 8.3 name space.
23062         * lib/Makefile.am (charset_tmp): Define.
23063         (install-exec-local): Use $(charset_tmp) instead of $(charset_alias)-t.
23064         (uninstall-local): Likewise.
23065         Reported by Eli Zaretskii.
23066
23067 2000-04-03  Jim Meyering  <meyering@lucent.com>
23068
23069         * m4/gettext.m4: Fix typo in comment.
23070
23071         * m4/codeset.m4 (AC_CHECK_HEADERS): Add langinfo.h (moved here from
23072         textutils/configure.in).  Suggestion from Paul Eggert.
23073         (AC_CHECK_FUNCS): Add nl_langinfo.  (also from textutils/configure.in)
23074
23075 2000-04-02  Paul Eggert  <eggert@twinsun.com>
23076
23077         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Set TZ environment
23078         variable in the shell rather than using putenv, which isn't
23079         portable.  This avoids the configure-time inter-test dependency
23080         on the potentially-renamed putenv function.
23081
23082 2000-03-30  Paul Eggert  <eggert@twinsun.com>
23083
23084         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Include <sys/stat.h>
23085         before checking struct stat.st_blksize, so that
23086         HAVE_STRUCT_STAT_ST_BLKSIZE is defined correctly.
23087
23088 2000-03-29  Paul Eggert  <eggert@twinsun.com>
23089
23090         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Check for strftime,
23091         since strftime.c uses HAVE_STRFTIME to decide whether to use
23092         the underlying strftime.
23093
23094 2000-03-29  Paul Eggert  <eggert@twinsun.com>
23095
23096         * lib/time/strftime.c (my_strftime): Make sure we call the system
23097         strftime, not ourselves, when invoking the underlying strftime.
23098
23099 2000-03-24  Jim Meyering  <meyering@lucent.com>
23100
23101         * lib/Makefile.am (EXTRA_DIST): Add ref-add.sed.in and ref-del.sed.in.
23102         (charset_alias): Define.
23103         (install-exec-local): Factor out common code.
23104         (uninstall-local): Split lines longer than 80.
23105         (ref-add.sed, ref-del.sed): Remove rules... (do the following instead)
23106         (SUFFIXES): Define.
23107         (.sed.in.sed): New rule.  Don't redirect directly to $@.
23108         (CLEANFILES): Add ref-add.sed and ref-del.sed.
23109
23110 2000-03-19  Bruno Haible  <haible@clisp.cons.org>
23111
23112         * lib/config.charset: Output a line containing "Packages using this
23113         file".
23114         * lib/ref-add.sed.in, lib/ref-del.sed.in: New files.
23115         * lib/Makefile.am (install-exec-local, uninstall-local, ref-add.sed,
23116         ref-del.sed): New rules.
23117
23118 2000-03-17  Jim Meyering  <meyering@lucent.com>
23119
23120         * lib/unicodeio.c (<string.h>): Include only #if HAVE_STRING_H.
23121         Otherwise, include <strings.h>
23122
23123 2000-03-17  Bruno Haible  <haible@clisp.cons.org>
23124
23125         * lib/unicodeio.c (utf8_wctomb): New function.
23126         (print_unicode_char): Pass the Unicode character to iconv in UTF-8
23127         format instead of in UCS-4 with platform dependent endianness.
23128
23129 2000-03-10  Jim Meyering  <meyering@lucent.com>
23130
23131         * m4/lib-check.m4: Look for getspnam in -lgen, too.
23132         From Marco Franzen.
23133
23134 2000-03-07  Paul Eggert  <eggert@twinsun.com>
23135
23136         * lib/savedir.c (savedir): Work even if directory size is
23137         negative; this can happen with some screwy NFS configurations.
23138
23139 2000-03-06  Jim Meyering  <meyering@lucent.com>
23140
23141         * lib/localcharset.c (get_charset_aliases): Don't try to free file_name
23142         if it's NULL (because we ran out of memory).  From Bruno Haible.
23143
23144 2000-03-05  Jim Meyering  <meyering@lucent.com>
23145
23146         * lib/localcharset.c ("path-concat.h"): Include.
23147         (get_charset_aliases): Use path_concat instead of ANSI string
23148         concatenation.
23149
23150         * lib/unicodeio.h (PARAMS): Define.
23151         Use it to guard prototype.
23152
23153 2000-03-04  Jim Meyering  <meyering@lucent.com>
23154
23155         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require AC_C_VOLATILE,
23156         for lib/localcharset.c.
23157
23158 2000-03-04  Jim Meyering  <meyering@lucent.com>
23159
23160         * lib/Makefile.am (install-exec-local): Create $(libdir) before
23161         installing into it.
23162         (uninstall-local): Uncomment this rule so `make distcheck' works
23163         once again.
23164
23165         * lib/unicodeio.c (<errno.h>): Include it.
23166         (errno): Declare if not defined.
23167
23168         * lib/localcharset.c: Add Bruno's comment justifying use of volatile.
23169
23170         * lib/config.charset: New version, incorporating remarks from a linux
23171         i18n mailing list.  From Bruno Haible.
23172
23173 2000-03-04  Bruno Haible  <haible@clisp.cons.org>
23174
23175         * m4/codeset.m4: New file.
23176         * m4/iconv.m4: New file.
23177         * m4/jm-macros.m4 (jm_MACROS): Call jm_LANGINFO_CODESET and jm_ICONV.
23178
23179 2000-03-03  Jim Meyering  <meyering@lucent.com>
23180
23181         * m4/regex.m4: Make sure re_compile_pattern accepts patterns like `{1'.
23182
23183 2000-03-02  Jim Meyering  <meyering@lucent.com>
23184
23185         * m4/timespec.m4: Require AC_HEADER_TIME before the cache check so
23186         the messages come out on separate lines.
23187
23188         * m4/jm-glibc-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO): Use AC_CHECK_DECLS,
23189         rather than jm_CHECK_DECLARATIONS.
23190         * m4/decl.m4: Remove now-unused file.
23191
23192         * m4/check-decl.m4 (AC_CHECK_DECLS): Add getlogin, ttyname, and
23193         geteuid.
23194
23195 2000-03-02  Jim Meyering  <meyering@lucent.com>
23196
23197         * lib/Makefile.am (EXTRA_DIST): Add config.charset.
23198
23199 2000-03-01  Jim Meyering  <meyering@lucent.com>
23200
23201         * lib/localcharset.c: Guard some #includes with `#if HAVE_...'.
23202         * lib/unicodeio.c: Likewise.
23203
23204 2000-03-01  Bruno Haible  <haible@clisp.cons.org>
23205
23206         * lib/config.charset: New file.
23207         * lib/localcharset.c: New file.
23208         * lib/unicodeio.h, lib/unicodeio.c: New files.
23209         * lib/Makefile.am (DEFS): Add -DLIBDIR=...
23210         (libfetish_a_SOURCES): Add localcharset.c and unicodeio.c.
23211         (noinst_HEADERS): Add unicodeio.h.
23212         (all-local, install-exec-local, charset.alias): New targets.
23213
23214 2000-02-28  Paul Eggert  <eggert@twinsun.com>
23215
23216         * lib/quotearg.c (ALERT_CHAR): New macro.
23217         (quotearg_buffer_restyled): Use it.
23218
23219 2000-02-27  Jim Meyering  <meyering@lucent.com>
23220
23221         * m4/check-decl.m4: Add getenv to the list.
23222
23223 2000-02-27  Jim Meyering  <meyering@lucent.com>
23224
23225         * lib/strtoumax.c: Fix typo in decl of strtoul: s/long long/long/.
23226         Guard declaration of strtoull also with `&& HAVE_UNSIGNED_LONG_LONG'.
23227
23228         * lib/backupfile.c: Guard inclusion of stdlib.h with
23229         `#if HAVE_STDLIB_H', not `#if STDC_HEADERS'.
23230         Declare malloc if needed.
23231
23232         * lib/backupfile.c: Use `#if !HAVE_DECL...' instead of
23233         `#ifndef HAVE_DECL..'
23234         now that autoconf always defines the HAVE_DECL_ symbols.
23235         * lib/human.c: Likewise.
23236         * lib/same.c: Likewise.
23237         * lib/strtoumax.c: Likewise.
23238
23239         * lib/backupfile.c: Arrange for cpp to fail if the configure-time
23240         declaration check was not run.
23241         * lib/hash.c: Likewise.
23242         * lib/human.c: Likewise.
23243         * lib/same.c: Likewise.
23244         * lib/strtoumax.c: Likewise.
23245
23246         * lib/userspec.c (parse_user_spec): If there is no `:' but there is a
23247         `.', then first look up the entire `.'-containing string as a login
23248         name.
23249
23250 2000-02-23  Jim Meyering  <meyering@lucent.com>
23251
23252         * m4/check-decl.m4: Now that we have the new AC_CHECK_DECLS, use it
23253         in place of my hack.
23254
23255 2000-02-18  Paul Eggert  <eggert@twinsun.com>
23256
23257         * lib/getdate.y: Handle two-digit years with leading zeros correctly.
23258         (textint): New typedef.
23259         (parser_control): Member year changed from int to textint.
23260         All uses changed.
23261         (YYSTYPE): Removed; replaced by %union with int and textint members.
23262         (tDAY, tDAY_UNIT, tDAYZONE, tHOUR_UNIT, tID, tLOCAL_ZONE, tMERIDIAN,
23263         tMINUTE_UNIT, tMONTH, tMONTH_UNIT tSEC_UNIT, tSNUMBER, tUNUMBER,
23264         tYEAR_UNIT, tZONE, o_merid): Now of type <intval>.
23265         (tSNUMBER, tUNUMBER): Now of type <textintval>.
23266         (date, number, to_year): Use width of number in digits, not its value,
23267         to determine whether it's a 2-digit year, or a 2-digit time.
23268         (yylex): Store number of digits of numeric tokens.
23269         Reported by John Kendall.
23270
23271         (parser_control): Changed from struct parser_control to typedef (for
23272         consistency).  All uses changed.
23273
23274         (tID): Removed; not used.
23275         (yylex): Return '?' for unknown identifiers, rather than (unused) tID.
23276
23277 2000-02-14  Paul Eggert  <eggert@twinsun.com>
23278
23279         * lib/getpagesize.h (getpagesize): Port to VMS for Alpha;
23280         adapted from changes to grep getpagesize.h by Martin P.J. Zinser.
23281
23282 2000-02-12  Jim Meyering  <meyering@lucent.com>
23283
23284         * lib/userspec.c (ISDIGIT): Define it.
23285         (isdigit): Remove definition.
23286         (is_number): Use ISDIGIT, not isdigit.
23287         <libintl.h>: Include.
23288         (_ and N_): Define.
23289         (parse_user_spec): Mark translatable strings.
23290
23291 2000-02-10  Jim Meyering  <meyering@lucent.com>
23292
23293         With these changes, nanosleep.[ch] are finally enough like the other
23294         lib/* replacement files to compile on a few more losing systems.
23295
23296         * lib/nanosleep.h: Don't include config.h.
23297         Remove prototype from declaration of nanosleep.
23298         (PARAMS): Remove now-unneeded definition.
23299         * lib/nanosleep.c: #undef nanosleep.
23300         (rpl_nanosleep): Rename from nanosleep.
23301
23302 2000-02-10  Jim Meyering  <meyering@lucent.com>
23303
23304         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Rename replacement function from
23305         gnu_nanosleep to rpl_nanosleep.
23306
23307 2000-02-09  Jim Meyering  <meyering@lucent.com>
23308
23309         * m4/lib-check.m4 (jm_LIB_CHECK): Fix typo: check for sp_pwdp in
23310         struct spwd, rather than in struct passwd.  Reported by Gaël Quéri.
23311
23312 2000-02-08  Akim Demaille  <akim@epita.fr>
23313
23314         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Quote square brackets with
23315         `[' and `]' and remove uses of `changequote'.
23316         (AC_SYS_LARGEFILE_MACRO_VALUE): Likewise.
23317         (AC_SYS_LARGEFILE): Likewise.
23318         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
23319         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Remove now-unnecessary use
23320         of changequote.
23321         * m4/regex.m4 (jm_INCLUDED_REGEX): Likewise.
23322         * m4/readdir.m4 (jm_FUNC_READDIR): Likewise
23323         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Likewise, and add `int' for main.
23324         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Likewise.
23325
23326 2000-02-05  Jim Meyering  <meyering@lucent.com>
23327
23328         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require most macros.
23329         Remove explicit use of AC_HEADER_TIME.  It is required by
23330         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Using AC_HEADER_TIME and
23331         `AC_REQUIRE'ing jm_CHECK_TYPE_STRUCT_TIMESPEC provoked a but
23332         in autoconf whereby the expansion of the latter ended up preceding
23333         the expansion of its prerequisite, AC_HEADER_TIME.
23334         Reported by Volker Borchert.
23335
23336 2000-02-03  Jim Meyering  <meyering@lucent.com>
23337
23338         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for utmpxname.
23339
23340 2000-02-03  Jim Meyering  <meyering@lucent.com>
23341
23342         * lib/readutmp.c (read_utmp): Guard with `#ifdef UTMP_NAME_FUNCTION',
23343         rather than with `#if HAVE_UTMPNAME'.
23344
23345 2000-02-02  Jim Meyering  <meyering@lucent.com>
23346
23347         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Fix typo that resulted in no
23348         definition of HAVE_PATHCONF: s/AC_CHECK_FUNC/AC_CHECK_FUNCS/.
23349         Reported by Eli Zaretskii.
23350
23351 2000-02-01  Jim Meyering  <meyering@lucent.com>
23352
23353         * lib/readutmp.h (UT_USER): Add parens.  From Andreas Schwab.
23354
23355 2000-01-31  Jim Meyering  <meyering@lucent.com>
23356
23357         * m4/check-decl.m4 (jm_CHECK_DECLS): Add nanosleep to the list of
23358         functions.  Add the time.h and sys/time.h headers along with the
23359         AC_REQUIRE'ment of AC_HEADER_TIME.
23360
23361 2000-01-31  Jim Meyering  <meyering@lucent.com>
23362
23363         * lib/nanosleep.h (nanosleep): Guard declaration with
23364         `#if ! HAVE_DECL_NANOSLEEP'.
23365         Without this, OFS gets a redeclaration error for rpl_nanosleep, due to
23366         the declaration in that vendor's sys/timers.h.
23367         Reported by Christian Krackowizer.
23368
23369         * lib/quotearg.c (ISASCII): Add #undef and move definition to follow
23370         inclusion of wctype.h to work around Solaris 2.6 namespace pollution.
23371         (ISPRINT): Likewise.
23372         Reported by Tom Tromey.
23373
23374 2000-01-30  Jim Meyering  <meyering@lucent.com>
23375
23376         * m4/lib-check.m4: Clean up some kludgy old shadow password tests.
23377
23378         * m4/prereq.m4 (utmp_includes): Define.
23379         Check for ut_user and ut_name members in both struct utmpx
23380         and struct utmp.
23381
23382 2000-01-30  Jim Meyering  <meyering@lucent.com>
23383
23384         * lib/readutmp.c (extract_trimmed_name): Use UT_USER instead of
23385         hard-coding uses of ->ut_name.  The latter doesn't work with new Linux
23386         header files where only utmpx.ut_user is declared.
23387
23388         * lib/readutmp.h (UT_USER): Define.
23389
23390 2000-01-29  Jim Meyering  <meyering@lucent.com>
23391
23392         * m4/lib-check.m4: New file containing library-related checks from
23393         fileutils and sh-utils (textutils had none).
23394
23395 2000-01-28  Jim Meyering  <meyering@lucent.com>
23396
23397         * m4/perl.m4: Change format of warning message to look more like that
23398         from the missing script.  Suggestion from François Pinard.
23399
23400 2000-01-25  Jim Meyering  <meyering@lucent.com>
23401
23402         * m4/timespec.m4: Require AC_HEADER_TIME, and include sys/time.h as
23403         well as time.h in the compile check.
23404         * m4/nanosleep.m4: Require AC_HEADER_TIME rather than simply using it.
23405         Fix typo in cross-compiling case: s/yes/no/.
23406
23407 2000-01-23  Jim Meyering  <meyering@lucent.com>
23408
23409         * m4/jm-macros.m4: Move df-related tests here from
23410         fileutils/configure.in
23411
23412         * m4/ls-mntd-fs.m4: s/list_mounted_fs/ac_list_mounted_fs/
23413         (jm_LIST_MOUNTED_FILESYSTEMS): Take two parameters.
23414
23415         * m4/fsusage.m4: New file.  Extracted from fileutils/configure.in.
23416         s/space/ac_fsusage_space/.
23417         (jm_FILE_SYSTEM_USAGE): Take two parameters.
23418
23419         * m4/ftruncate.m4: New file (derived from part of
23420         fileutils/configure.in).
23421         * m4/jm-macros.m4 (jm_FUNC_FTRUNCATE): AC_REQUIRE it.
23422         (jm_CHECK_ALL_TYPES): Require AC_HEADER_MAJOR and AC_HEADER_DIRENT.
23423
23424         * m4/jm-macros.m4 (OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, MAN):
23425         AC_SUBST these here, rather than just in sh-util/configure.in, so
23426         that the now-shared-by-fileutils-and-textutils lib/Makefile.am are
23427         all the same.
23428         (AM_FUNC_OBSTACK): Add (from fileutils/configure.in).
23429         (AC_CHECK_FUNCS): Merge all checks from fileutils, textutils, sh-utils.
23430         (AM_FUNC_STRTOD): Added (from textutils', sh-utils' configure.in).
23431         (AC_SUBST(POW_LIBM)): Likewise.
23432         (AC_SUBST(DF_PROG)): Moved from fileutils/configure.in.
23433
23434 2000-01-23  Jim Meyering  <meyering@lucent.com>
23435
23436         * lib/Makefile.am (libfetish_a_SOURCES): Remove explicit mention of
23437         obstack.c.
23438
23439 2000-01-22  Jim Meyering  <meyering@lucent.com>
23440
23441         * m4/jm-macros.m4: Call AC_PROG_CC_STDC just before AC_C_CONST.
23442
23443         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Add wctype.h.
23444
23445         * m4/jm-macros.m4 (AC_CHECK_HEADERS): Add checks from fileutils'
23446         configure.in
23447         (AC_CHECK_HEADERS): Likewise for sh-utils.
23448         (AC_CHECK_HEADERS): Likewise for textutils.
23449         Merge the three lists of headers.
23450
23451         * m4/prereq.m4 (jm_PREREQ_ADDEXT): New macro.  Parts moved here
23452         from fileutils' configure.in.
23453
23454         * m4/decl.m4: Remove kludgy `test -z $ac_...AC_CHECK_HEADERS(...)'
23455         code. Moved tests into their own function (_jm_DECL_HEADERS) in
23456         check-decl.m4.
23457
23458         * m4/check-decl.m4: Use #if rather than #ifdef.
23459         Add HAVE_DECL_STRTOUL and HAVE_DECL_STRTOULL.
23460         (jm_CHECK_DECLARATIONS): Add strtoul strtoull.
23461         (_jm_DECL_HEADERS): Define new function.
23462         (jm_CHECK_DECLARATIONS): Require it.
23463
23464 2000-01-22  Jim Meyering  <meyering@lucent.com>
23465
23466         * lib/strtoumax.c: [! HAVE_DECL_STRTOUL]: Declare strtoul.
23467         [! HAVE_DECL_STRTOULL]: Declare strtoull.
23468         Required for some AIX systems.  Reported by Christian Krackowizer.
23469         [TESTING] (main): New function.
23470
23471         1997-10-17  Eli Zaretskii  <eliz@is.elta.co.il>
23472         * lib/dirname.c (dir_name): Support for DOS-style file names with drive
23473         letters.
23474
23475         * lib/quotearg.c [HAVE_WCTYPE_H]: Include <wctype.h> for decl of
23476         iswprint.
23477
23478         * lib/strverscmp.c (ISDIGIT): Define.
23479         (strverscmp): Use ISDIGIT, not isdigit.
23480
23481 2000-01-19  Jim Meyering  <meyering@lucent.com>
23482
23483         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Include <sys/time.h>, too.
23484         Use AC_HEADER_TIME.  Volker Borchert reported that OpenBSD-2.3/sparc
23485         defines `struct timespec' in <sys/time.h>
23486
23487         * m4/c-bs-a.m4: Remove uses of changequote altogether.
23488         Thanks to Akim for explaining.
23489
23490 2000-01-17  Paul Eggert  <eggert@twinsun.com>
23491
23492         * lib/nanosleep.c (nanosleep):
23493         Don't use SA_INTERRUPT to decide whether to call sigaction, as
23494         POSIX.1 doesn't require SA_INTERRUPT and some systems
23495         (e.g. Solaris 7) don't define it.  Use SA_NOCLDSTOP instead;
23496         it's been part of POSIX.1 since day 1 (in 1988).
23497
23498 2000-01-17  Jim Meyering  <meyering@lucent.com>
23499
23500         * lib/interlock: Remove unused file.  Reported by François Pinard.
23501
23502 2000-01-16  Paul Eggert  <eggert@twinsun.com>
23503
23504         * lib/quotearg.c (quotearg_buffer_restyled): Do not quote
23505         alert, backslash, formfeed, and vertical tab unnecessarily in
23506         shell quoting style.
23507
23508 2000-01-16  Jim Meyering  <meyering@lucent.com>
23509
23510         * m4/jm-macros.m4: Require jm_FUNC_GROUP_MEMBER, jm_FUNC_PUTENV,
23511         AM_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, jm_FUNC_MKTIME,
23512         jm_FUNC_GETGROUPS AC_FUNC_VPRINTF, AC_FUNC_ALLOCA,
23513         AM_FUNC_GETLOADAVG, and jm_SYS_PROC_UPTIME.
23514
23515 2000-01-16  Jim Meyering  <meyering@lucent.com>
23516
23517         * m4/c-bs-a.m4: Use `changequote(<<,>>)', rather than `changequote(, )'
23518         because the latter didn't work.
23519
23520 2000-01-15  Jim Meyering  <meyering@lucent.com>
23521
23522         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add gethostname and getusershell.
23523         (AC_REPLACE_FUNCS): Add memcpy and memset.
23524         Add these, too: stime strcspn stpcpy strstr strtol strtoul.
23525         Add strpbrk.
23526         Add these: euidaccess memcmp mkdir rmdir rpmatch strndup strverscmp.
23527
23528 2000-01-12  Jim Meyering  <meyering@lucent.com>
23529
23530         * m4/prereq.m4 (jm_PREREQ_CANON_HOST): New macro.
23531         (jm_PREREQ): Use it.
23532         (jm_PREREQ_READUTMP): New macro.
23533         (jm_PREREQ): Use it.
23534
23535 2000-01-11  Paul Eggert  <eggert@twinsun.com>
23536
23537         Quote multibyte characters correctly.
23538         * m4/c-bs-a.m4: New file.
23539         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): New macro.
23540         (jm_PREREQ): Use it.
23541
23542 2000-01-11  Paul Eggert  <eggert@twinsun.com>
23543
23544         * m4/uintmax_t.m4: Port to autoconf 2.13.
23545
23546 2000-01-08  Jim Meyering  <meyering@ascend.com>
23547
23548         * m4/strerror_r.m4 (jm_FUNC_STRERROR_R): New file/macro.
23549         * m4/jm-macros.m4 (jm_FUNC_STRERROR_R): Require it.
23550
23551 2000-01-04  Jim Meyering  <meyering@ascend.com>
23552
23553         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename from
23554         jm_STRUCT_DIRENT_D_TYPE.
23555         * m4/d-ino.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_INO): Rename from
23556         jm_STRUCT_DIRENT_D_INO.
23557         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Rename from
23558         jm_STRUCT_UTIMBUF.
23559         * m4/jm-macros.m4: Reflect s/jm_STRUCT_/jm_CHECK_TYPE_STRUCT_/
23560         renamings.
23561         * m4/utime.m4: Likewise.
23562
23563         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): New file, macro.
23564         * m4/jm-macros.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): Require it.
23565
23566 2000-01-03  Paul Eggert  <eggert@twinsun.com>
23567
23568         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Search for nanosleep in -lrt
23569         (for Solaris 7) and in -lposix4 (for Solaris 2.5.1).
23570
23571 2000-01-02  Jim Meyering  <meyering@ascend.com>
23572
23573         * m4/search-libs.m4: Escape `$' in $3 of dnl comment.  I no longer
23574         remember if this is necessary.
23575
23576 1999-12-26  Jim Meyering  <meyering@ascend.com>
23577
23578         * m4/jm-macros.m4: Use it here.
23579         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): New file/macro.
23580
23581 1999-12-23  Jim Meyering  <meyering@ascend.com>
23582
23583         * m4/jm-macros.m4: Check for clock_gettime (moved from
23584         fileutils/configure.in)
23585         Check for gettimeofday.
23586
23587 1999-12-20  Jim Meyering  <meyering@ascend.com>
23588
23589         * m4/strftime.m4: Remove kludge, now that I'm using the fixed
23590         autoconf-2.14a-1999-12-20.
23591
23592 1999-12-19  Jim Meyering  <meyering@ascend.com>
23593
23594         * m4/lstat-slash.m4: New file.
23595         * m4/jm-macros.m4: Use the new macro:
23596         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
23597
23598 1999-12-07  Jim Meyering  <meyering@ascend.com>
23599
23600         * m4/perl.m4: Require that File::Compare be available, too.
23601         Too many systems seem to lack it.
23602
23603         * m4/strftime.m4: Add checks for most of the cpp macros tested in
23604         GNU's strftime.c.  Prompted by a patch from Paul Eggert.
23605
23606 1999-11-18  Paul Eggert  <eggert@twinsun.com>
23607
23608         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around a
23609         problem with the QNX 4.25 shell, which doesn't propagate exit
23610         status of failed commands inside shell assignments.
23611
23612 1999-11-17  Jim Meyering  <meyering@ascend.com>
23613
23614         * m4/gettext.m4: Use new AC_CONFIG_LINKS in place of AC_LINK_FILES.
23615
23616 1999-11-07  Jim Meyering  <meyering@ascend.com>
23617
23618         * m4/getloadavg.m4: Add `, 1, [FIXME]' to each use of AC_DEFINE.
23619
23620 1999-11-06  Jim Meyering  <meyering@ascend.com>
23621
23622         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): New file/macro.
23623         * m4/jm-macros.m4 (jm_MACROS): Use it here.
23624
23625 1999-11-05  Jim Meyering  <meyering@ascend.com>
23626
23627         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Move some tests from
23628         configure.in of textutils, fileutils, and sh-utils into this one
23629         (shared between those packages) file.
23630         Use `AC_CHECK_MEMBERS((struct stat.st_blksize))' instead of deprecated
23631         AC_STRUCT_ST_BLKSIZE.
23632
23633 1999-11-03  Jim Meyering  <meyering@ascend.com>
23634
23635         * m4/ssize_t.m4: Remove file.  No longer needed since the new version
23636         of AC_CHECK_TYPE checks includes unistd.h.
23637         * m4/jm-macros.m4: Use straight `AC_CHECK_TYPE(ssize_t, int)'.
23638         Suggestion from Akim Demaille.
23639
23640 1999-10-30  Jim Meyering  <meyering@ascend.com>
23641
23642         * m4/uintmax_t.m4: Require 2.14a.  Remove backslash before backtick in
23643         m4-quoted string.
23644         * m4/ls-mntd-fs.m4: Likewise.
23645         * m4/jm-macros.m4: Likewise.  Also, use AC_TYPE_SSIZE_T instead
23646         * m4/jm-winsz1.m4: Likewise.
23647
23648         * m4/const.m4: Remove file, since the fix made it into the experimental
23649         version of autoconf.
23650         * m4/mktime.m4: Likewise.
23651
23652         * m4/check-type.m4: Remove file, now that the latest version of
23653         AC_CHECK_TYPE takes a third arg to specify additional #includes.
23654
23655         * m4/ssize_t.m4: New file, requires experimental version of autoconf.
23656         * m4/jm-macros.m4: Use new AC_TYPE_SSIZE_T instead of my hacked
23657         AC_CHECK_TYPE.
23658
23659 1999-10-04  Jim Meyering  <meyering@ascend.com>
23660
23661         * m4/jm-macros.m4: Don't require autoconf-2.14.1.
23662
23663 1999-09-22  Paul Eggert  <eggert@twinsun.com>
23664
23665         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around GCC
23666         2.95.1 bug with HP-UX 10.20.
23667
23668 1999-09-17  Jim Meyering  <meyering@ascend.com>
23669
23670         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add strdup.
23671         Paul Nevai reported a link failure on a NeXT CUBE with NeXTSTEP 3.3
23672         due to missing strdup (against sh-utils-2.0).
23673
23674 1999-08-29  Jim Meyering  <meyering@ascend.com>
23675
23676         * m4/jm-macros.m4: Require jm_BISON.
23677         * m4/bison.m4: New file.
23678
23679 1999-08-17  Paul Eggert  <eggert@twinsun.com>
23680
23681         * m4/largefile.m4 (AC_SYS_LARGEFILE): Fix typo: missing comma
23682         in value for _FILE_OFFSET_BITS, which broke ports to HP-UX 10.20.
23683
23684 1999-08-05  Jim Meyering  <meyering@ascend.com>
23685
23686         * m4/getline.m4: Rename test file from conftestdata to conftest.data
23687         to avoid conflicts with `conftest' on 8+3 filesystems.
23688         Suggestion from Eli Zaretskii.
23689
23690 1999-08-04  Jim Meyering  <meyering@ascend.com>
23691
23692         * m4/jm-macros.m4: Move a 4-line block of code from the configure.in of
23693         fileutils and sh-utils (textutils's getline test was inadequate).
23694         (AM_FUNC_GETLINE): Run this test.
23695         (AC_CHECK_FUNCS): Check for getdelim.
23696         Reported by Bob Proulx.
23697
23698 1999-08-02  Jim Meyering  <meyering@ascend.com>
23699
23700         * m4/jm-macros.m4: Add a comment.
23701
23702 1999-08-01  Paul Eggert  <eggert@twinsun.com>
23703
23704         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check whether
23705         <inttypes.h> defines strtoumax as a macro (and not as a
23706         function).
23707
23708 1999-08-01  Paul Eggert  <eggert@twinsun.com>
23709
23710         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Make sure
23711         that we can shift, multiply and divide unsigned long long
23712         values; Ultrix cc can't do it.
23713
23714 1999-08-01  Paul Eggert  <eggert@twinsun.com>
23715
23716         * m4/mktime.m4: New file, which is a preview of what should appear
23717         in the next public autoconf release.
23718
23719 1999-08-01  Paul Eggert  <eggert@twinsun.com>
23720
23721         * m4/lfs.m4: Remove this file.
23722         * m4/largefile.m4: New file.  It contains the old contents of
23723         lfs.m4, except that all names with prefix AC_LFS have been
23724         changed to use the prefix AC_SYS_LARGEFILE instead, to be
23725         compatible with future autoconf versions.  Also, some minor m4
23726         quoting problems have been fixed.
23727
23728 1999-08-01  Paul Eggert  <eggert@twinsun.com>
23729
23730         * m4/gettext.m4 (AM_WITH_NLS): Remove unnecessary lines.
23731         Fix typo: $nls_cv_header_intl was misspelled as $nsl_cv_header_intl.
23732         (AM_GNU_GETTEXT): Fix problem with brackets and m4 quoting,
23733         and simplify the shell code.
23734
23735 1999-08-01  Jim Meyering  <meyering@ascend.com>
23736
23737         * m4/mktime.m4 (AC_FUNC_MKTIME): Undefine to avoid syntax errors from
23738         m4.
23739
23740 1999-07-20  Jim Meyering  <meyering@ascend.com>
23741
23742         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memmove.
23743
23744 1999-07-15  Jim Meyering  <meyering@ascend.com>
23745
23746         * m4/jm-macros.m4 (AC_CHECK_FUNCS): Check for getpagesize.
23747
23748 1999-05-22  Jim Meyering  <meyering@ascend.com>
23749
23750         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memchr.
23751
23752 1999-05-20  Jim Meyering  <meyering@ascend.com>
23753
23754         * m4/search-libs.m4 [AC_SEARCH_LIBS]: Quote name in undefine.
23755         Add a colon after each `then' in case $4 is empty.
23756
23757 1999-05-16  Jim Meyering  <meyering@ascend.com>
23758
23759         * m4/search-libs.m4: New file to override autoconf's AC_SEARCH_LIBS.
23760
23761 1999-05-10  Jim Meyering  <meyering@ascend.com>
23762
23763         * m4/jm-mktime.m4: Reflect renaming: AM_FUNC_MKTIME -> AC_FUNC_MKTIME.
23764
23765         * m4/jm-macros.m4: Require 2.14.1, since we use newly-renamed
23766         AC_FUNC_MKTIME.
23767
23768 1999-05-10  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>
23769
23770         * m4/jm-mktime.m4, putenv.m4: Fix typos in config.h comments.
23771
23772 1999-05-04  Paul Eggert  <eggert@twinsun.com>
23773
23774         * m4/lfs.m4 (AC_LFS): -n32, -o32, and -n64 should be in CFLAGS,
23775         not CPPFLAGS, so that linking works correctly in IRIX.
23776
23777 1999-04-30  Paul Eggert  <eggert@twinsun.com>
23778
23779         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add dup2.
23780
23781 1999-04-20  Paul Eggert  <eggert@twinsun.com>
23782
23783         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Move unsigned long
23784         long check into new jm_AC_TYPE_UNSIGNED_LONG_LONG macro.
23785         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require
23786         jm_AC_TYPE_UNSIGNED_LONG_LONG.
23787         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): New file/macro.
23788
23789         * m4/lfs.m4: Port to AIX and HP-UX.  Support cross-compilation.
23790
23791 1999-04-20  Jim Meyering  <meyering@ascend.com>
23792
23793         * m4/xstrtoumax.m4: Require jm_AC_TYPE_UNSIGNED_LONG_LONG.
23794         AC_REPLACE xstroull if necessary.  From Paul Eggert.
23795         (AC_CHECK_FUNCS): Remove strtoull, strtoumax, strtouq.
23796
23797 1999-04-18  Jim Meyering  <meyering@ascend.com>
23798
23799         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): New file/macro.
23800         * m4/jm-macros.m4: Use it.
23801
23802 1999-04-06  Jim Meyering  <meyering@ascend.com>
23803
23804         * m4/strftime.m4: Remove test for %f.
23805
23806 1999-03-29  Jim Meyering  <meyering@ascend.com>
23807
23808         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): New macro, contains the
23809         superset of the AC_TYPE_* checks in the textutils, fileutils,
23810         and sh-utils, plus AC_TYPE_PID_T.  Paul Eggert suggested adding
23811         AC_TYPE_PID_T.
23812
23813 1999-03-28  Jim Meyering  <meyering@ascend.com>
23814
23815         * m4/jm-macros.m4: Define GNU_PACKAGE here.
23816         Be sure to AC_SUBST it, once again, so that @GNU_PACKAGE@ is
23817         replaced e.g., in the *.sh files of the sh-utils.
23818
23819 1999-03-20  Jim Meyering  <meyering@ascend.com>
23820
23821         * m4/jm-macros.m4: s/jm_WITH_REGEX/jm_INCLUDED_REGEX/.
23822         * m4/regex.m4 (jm_INCLUDED_REGEX): Rename from jm_WITH_REGEX.
23823         Don't depend on AM_GLIBC.  Suggestions from Alain Magloire.
23824
23825 1999-03-19  Jim Meyering  <meyering@ascend.com>
23826
23827         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): New macro.
23828
23829 1999-03-12  Jim Meyering  <meyering@ascend.com>
23830
23831         * m4/jm-macros.m4: Use AC_FUNC_SETVBUF_REVERSED.
23832
23833 1999-03-07  Jim Meyering  <meyering@ascend.com>
23834
23835         * m4/jm-glibc-io.m4: Use only those *_unlocked macros that are
23836         declared.
23837
23838 1999-02-17  Jim Meyering  <meyering@ascend.com>
23839
23840         * m4/gettext.m4 (AM_GNU_GETTEXT): Do `changequote' around use of
23841         brackets in macro definition.  From Eli Zaretskii and Alain Magloire.
23842
23843 1999-02-07  Jim Meyering  <meyering@ascend.com>
23844
23845         * m4/group-member.m4: New file -- extracted from sh-utils'
23846         configure.in.
23847
23848         1999-02-05  Eli Zaretskii  <eliz@is.elta.co.il>
23849         * m4/gettext.m4: Support DOS-style d:/foo/bar absolute file names.
23850
23851 1999-02-06  Jim Meyering  <meyering@ascend.com>
23852
23853         * m4/chown.m4: Use `AC_SUBST(LIBOBJS)' since we set LIBOBJS.
23854         * m4/fnmatch.m4: Likewise.
23855         * m4/getgroups.m4: Likewise.
23856         * m4/lstat.m4: Likewise.
23857         * m4/malloc.m4: Likewise.
23858         * m4/putenv.m4: Likewise.
23859         * m4/realloc.m4: Likewise.
23860         * m4/regex.m4: Likewise.
23861         * m4/stat.m4: Likewise.
23862         * m4/strftime.m4: Likewise.
23863         Suggestion from Alain Magloire.
23864
23865         * m4/chown.m4: Use `.$ac_objext', not `.o'.
23866         * m4/fnmatch.m4: Likewise.
23867         * m4/getgroups.m4: Likewise.
23868         * m4/getline.m4: Likewise.
23869         * m4/lstat.m4: Likewise.
23870         * m4/malloc.m4: Likewise.
23871         * m4/memcmp.m4: Likewise.
23872         * m4/putenv.m4: Likewise.
23873         * m4/realloc.m4: Likewise.
23874         * m4/regex.m4: Likewise.
23875         * m4/stat.m4: Likewise.
23876         * m4/strftime.m4: Likewise.
23877         Suggestion from Alain Magloire.
23878
23879         * m4/jm-macros.m4: Actually invoke jm_WITH_REGEX now that it requires
23880         an argument.
23881
23882         * m4/regex.m4: Add a run-time Test for proper operation of
23883         re_compile_pattern.
23884
23885 1999-01-31  Jim Meyering  <meyering@ascend.com>
23886
23887         * m4/getloadavg.m4: Check for locale.h and the function, setlocale.
23888
23889 1999-01-30  Jim Meyering  <meyering@ascend.com>
23890
23891         * m4/check-type.m4: Use 3-arg form of AC_DEFINE.
23892
23893         * m4/jm-mktime.m4: Make this a wrapper around the official
23894         AM_FUNC_MKTIME rather than my private copy, now that the official one
23895         is up to date.
23896         * m4/mktime.m4: Remove file.
23897
23898         * m4/getloadavg.m4: Use 3-arg form of AC_DEFINE.
23899         * m4/uptime.m4: Likewise.
23900         * m4/uintmax_t.m4: Likewise.
23901
23902 1999-01-28  Jim Meyering  <meyering@ascend.com>
23903
23904         * m4/jm-macros.m4: Use jm_AFS.
23905         * m4/afs.m4: New file (from fileutils' configure.in).
23906
23907         * m4/assert.m4: Use the 3-argument forms of AC_DEFINE* macros.
23908         * m4/chown.m4: Likewise.
23909         * m4/d-ino.m4: Likewise.
23910         * m4/d-type.m4: Likewise.
23911         * m4/fnmatch.m4: Likewise.
23912         * m4/getgroups.m4: Likewise.
23913         * m4/gettext.m4: Likewise.
23914         * m4/jm-mktime.m4: Likewise.
23915         * m4/jm-winsz2.m4: Likewise.
23916         * m4/lcmessage.m4: Likewise.
23917         * m4/ls-mntd-fs.m4: Likewise.
23918         * m4/malloc.m4: Likewise.
23919         * m4/memcmp.m4: Likewise.
23920         * m4/putenv.m4: Likewise.
23921         * m4/realloc.m4: Likewise.
23922         * m4/st_mtim.m4: Likewise.
23923         * m4/strftime.m4: Likewise.
23924
23925 1999-01-16  Jim Meyering  <meyering@ascend.com>
23926
23927         * m4/jm-macros.m4 (ARGMATCH_DIE): Define.
23928         (ARGMATCH_DIE_DECL): Define.
23929
23930 1999-01-12  Jim Meyering  <meyering@ascend.com>
23931
23932         * m4/Makefile.am.in: Rewrite to avoid using fmt.
23933         Reported by Lars Hecking.
23934
23935 1999-01-10  Jim Meyering  <meyering@ascend.com>
23936
23937         * m4/fstypename.m4: Use the new 3-arg form of AC_DEFINE instead of my
23938         gross kludge.
23939         * m4/inttypes_h.m4: Likewise.
23940         * m4/lstat.m4: Likewise.
23941         * m4/malloc.m4: Likewise.
23942         * m4/readdir.m4: Likewise.
23943         * m4/realloc.m4: Likewise.
23944         * m4/st_dm_mode.m4: Likewise.
23945         * m4/stat.m4: Likewise.
23946         * m4/utimbuf.m4: Likewise.
23947         * m4/utimes.m4: Likewise.
23948
23949         * m4/check-decl.m4: Use the new 3-arg form of AC_DEFINE instead of the
23950         AC_CHECK_FUNCS hack.  Now, it's still a hack, but at least the
23951         comments in config.h.in are meaningful.
23952
23953         * m4/jm-macros.m4: Require autoconf-2.13 here.
23954
23955         * m4/regex.m4: By default, don't use the included regex.c on systems
23956         with glibc 2.  Suggestion from Uli Drepper.
23957
23958 1999-01-02  Jim Meyering  <meyering@ascend.com>
23959
23960         * m4/jm-macros.m4: Replace strcasecmp and strncasecmp.
23961
23962 1998-12-18  Jim Meyering  <meyering@ascend.com>
23963
23964         * m4/Makefile.am.in (Makefile.am): Simplify rule.
23965         Based on a suggestion from Lars Hecking.
23966
23967 1998-11-16  Paul Eggert  <eggert@twinsun.com>
23968
23969         * m4/lfs.m4 (AC_LFS): Add support for HP-UX 10.20 and HP-UX 11.
23970
23971 1998-11-16  Jim Meyering  <meyering@ascend.com>
23972
23973         * m4/lfs.m4: Double-quote the `uname...` expression.
23974
23975 1998-11-14  Jim Meyering  <meyering@ascend.com>
23976
23977         * m4/lstat.m4: Correct comment.  POSIX does not permit it to succeed.
23978         * m4/stat.m4: Likewise.
23979
23980 1998-11-03  Jim Meyering  <meyering@ascend.com>
23981
23982         * m4/stat.m4: Rewrite to set HAVE_STAT_EMPTY_STRING_BUG.
23983         * m4/lstat.m4: Rewrite to set HAVE_LSTAT_EMPTY_STRING_BUG.
23984
23985 1998-10-18  Jim Meyering  <meyering@ascend.com>
23986
23987         * m4/check-decl.m4 (jm_CHECK_DECL_LOCALTIME_R): Remove macro.
23988
23989 1998-10-17  Jim Meyering  <meyering@ascend.com>
23990
23991         * m4/decl.m4 (jm_CHECK_DECLARATION): Don't hard-code which headers to
23992         include, though we still hard-code the `require'-like AC_CHECK_HEADERS
23993         calls for those previously hard-coded headers.  Instead, take a new
23994         parameter.
23995         (jm_CHECK_DECLARATIONS): Reflect interface change.
23996         * m4/check-decl.m4 (jm_CHECK_DECLS): Likewise.
23997         (jm_CHECK_DECL_LOCALTIME_R): New macro.
23998
23999         * m4/mktime.m4: Test for spring-forward gap before long-running test.
24000
24001 1998-10-14  Jim Meyering  <meyering@ascend.com>
24002
24003         * m4/mktime.m4: Use the more portable "TZ=PST8PDT,M4.1.0,M10.5.0"
24004         instead of "TZ=America/Vancouver".  From Paul Eggert.
24005
24006 1998-10-11  Jim Meyering  <meyering@ascend.com>
24007
24008         * m4/mktime.m4 (jm_AM_FUNC_MKTIME): New file and macro.
24009         This adds a test for a recently added compatibility fix for mktime.c.
24010         * m4/jm-mktime.m4: Require jm_AM_FUNC_MKTIME, not AM_FUNC_MKTIME.
24011
24012 1998-09-27  Jim Meyering  <meyering@ascend.com>
24013
24014         * m4/jm-macros.m4 (jm_MACROS): Require jm_FUNC_FNMATCH.
24015
24016         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): New file/macro.  Extracted from
24017         ../configure.in, including a change from Gordon Matzigkeit to allow
24018         cross-compiling for the Hurd.
24019
24020         * m4/glibc.m4: New file/macro to test for the GNU C Library
24021         versions 1 and 2.  From Gordon Matzigkeit.
24022         Indent.
24023
24024 1998-09-21  Jim Meyering  <meyering@ascend.com>
24025
24026         * m4/chown.m4: Declare locals: before, after.  From Andries Brouwer.
24027
24028 1998-08-18  Paul Eggert  <eggert@twinsun.com>
24029
24030         Port nanosecond-resolution times to UnixWare 2.1.2 and
24031         pedantic Solaris 2.6.
24032
24033         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC): Renamed from
24034         AC_STRUCT_ST_MTIM.
24035         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC):
24036         Generate name of ns member, instead of just 1 or undef.
24037         Allow for UnixWare 2.1.2 and Solaris 2.6 if in pedantic mode.
24038
24039 1998-08-15  Jim Meyering  <meyering@ascend.com>
24040
24041         * m4/ssize_t.m4 (jm_TYPE_SSIZE_T): Remove file.
24042         * m4/check-type.m4: New file.  Replacement for AC_CHECK_TYPE.
24043         * m4/jm-macros.m4: Use the new AC_CHECK_TYPE(ssize_t, int)
24044         instead of jm_TYPE_SSIZE_T.
24045
24046 1998-08-12  Jim Meyering  <meyering@ascend.com>
24047
24048         * m4/st_dm_mode.m4: New file.  From Johan Danielsson.
24049
24050 1998-08-02  Jim Meyering  <meyering@ascend.com>
24051
24052         * m4/st_mtim.m4: Use hack to avoid having to put #undef HAVE_ST_MTIM
24053         in acconfig.h manually.
24054
24055 1998-07-31  Paul Eggert  <eggert@twinsun.com>
24056
24057         * m4/st_mtim.m4: New file.
24058
24059 1998-07-28  Jim Meyering  <meyering@ascend.com>
24060
24061         * m4/utimes.m4: Undef stat.
24062
24063 1998-07-25  Jim Meyering  <meyering@ascend.com>
24064
24065         * m4/utime.m4 (jm_FUNC_UTIME): New file and macro.
24066         * m4/utimes.m4 (jm_FUNC_UTIMES_NULL): New file and macro.
24067
24068 1998-07-09  Manfred Hollstein  <manfred@s-direktnet.de>
24069
24070         * m4/chown.m4 (jm_FUNC_CHOWN): Add a check to verify that the
24071         uid and gid actually remain unchanged.
24072
24073 1998-07-07  Jim Meyering  <meyering@ascend.com>
24074
24075         * m4/jm-glibc-io.m4: Remove fclose_unlocked.
24076
24077 1998-07-04  Jim Meyering  <meyering@ascend.com>
24078
24079         * m4/regex.m4: Use syscmd, ifelse, and sysval.  Mainly as an exercise
24080         to prove that this macro can be used in packages without regex.c.
24081
24082 1998-07-04  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
24083
24084         * m4/gettext.m4 (AM_WITH_NLS): Remove intl/libintl.h if <libintl.h>
24085         is to be used.
24086
24087 1998-07-03  Jim Meyering  <meyering@ascend.com>
24088
24089         * m4/gettext.m4: Add -lintl if it's found to be necessary.
24090
24091         * m4/gettext.m4: New file -- from gettext-0.10.35.
24092         * m4/lcmessage.m4: Likewise.
24093         * m4/progtest.m4: Likewise.
24094
24095         * m4/regex.m4 (jm_WITH_REGEX): New file and macro.
24096         * m4/jm-macros.m4: Require the new macro.
24097
24098 1998-06-29  Jim Meyering  <meyering@ascend.com>
24099
24100         * m4/fstypename.m4: Include sys/param.h.  NetBSD 1.3.1 requires this
24101         for the definition of NGROUPS (used in a system header included
24102         by sys/mount.h).
24103
24104 1998-06-28  Jim Meyering  <meyering@ascend.com>
24105
24106         * m4/ls-mntd-fs.m4: New file.
24107         * m4/fstypename.m4: New file.
24108
24109         * m4/jm-macros.m4: Require the new macro.
24110         * m4/jm-glibc-io.m4: New file.
24111
24112 1998-05-19  Jim Meyering  <meyering@ascend.com>
24113
24114         * m4/jm-macros.m4: Add jm_FUNC_LCHOWN.
24115         * m4/lchown.m4: New file.
24116
24117         * m4/Makefile.am.in: New file.
24118         * m4/Makefile.am (Makefile.am): Depend on Makefile.am.in.
24119
24120 1998-05-14  Jim Meyering  <meyering@ascend.com>
24121
24122         * m4/Makefile.am (EXTRA_DIST): Add them.
24123         * m4/jm-macros.m4: New file.
24124         * m4/utimbuf.m4: New file.
24125
24126 1998-05-12  Jim Meyering  <meyering@ascend.com>
24127
24128         * m4/Makefile.am (EXTRA_DIST): Add isc-posix.m4.
24129
24130 1998-05-11  Jim Meyering  <meyering@ascend.com>
24131
24132         * m4/isc-posix.m4: New file.
24133
24134 1998-05-10  Jim Meyering  <meyering@ascend.com>
24135
24136         * m4/jm-mktime.m4: Use AM_FUNC_MKTIME, now that it's up to date.
24137
24138 1998-05-09  Jim Meyering  <meyering@ascend.com>
24139
24140         * m4/Makefile.am (EXTRA_DIST): Add ssize_t.m4.
24141         (EXTRA_DIST): Remove mktime.m4, now that the new version is included
24142         with automake.
24143
24144         * m4/ssize_t.m4: New file.
24145         * m4/mktime.m4: Remove file -- the new automake has this now.
24146
24147 1998-04-26  Jim Meyering  <meyering@ascend.com>
24148
24149         * m4/assert.m4: New file.
24150         * m4/Makefile.am (EXTRA_DIST): Add assert.m4.
24151
24152 1998-04-05  Jim Meyering  <meyering@ascend.com>
24153
24154         * m4/prereq.m4 (jm_PREREQ_REGEX): New macro.
24155         (jm_PREREQ): Use it here.
24156
24157 1998-03-23  Jim Meyering  <meyering@eng.ascend.com>
24158
24159         * m4/inttypes_h.m4: Kludges so I don't have to add HAVE_INTTYPES_H
24160         in acconfig.h.
24161
24162 1998-03-15  Jim Meyering  <meyering@eng.ascend.com>
24163
24164         * m4/prereq.m4: New file.
24165         * m4/error.m4: New file.
24166         * m4/Makefile.am (EXTRA_DIST): Add error.m4 and prereq.m4.
24167
24168 1998-02-07  Jim Meyering  <meyering@eng.ascend.com>
24169
24170         * m4/getline.m4: Don't set am_cv_func_working_getline before the
24171         cache-check for the same variable -- that defeated the purpose of
24172         the test; the test program was never run.  This was a problem only
24173         on systems with losing getline functions -- HP-UX 10.20 is one.
24174         Reported by Bjorn Helgaas.
24175
24176 1998-02-06  Jim Meyering  <meyering@eng.ascend.com>
24177
24178         * m4/Makefile.am (EXTRA_DIST): Add perl.m4.
24179
24180 1998-01-10  Jim Meyering  <meyering@na-net.ornl.gov>
24181
24182         * m4/Makefile.am (EXTRA_DIST): Add const.m4.
24183
24184         * m4/const.m4: New file.  Use an initializer in this declaration
24185         typedef int charset[2]; const charset x;
24186         Reported by Bob Glickstein.
24187
24188 1997-12-21  Jim Meyering  <meyering@na-net.ornl.gov>
24189
24190         * m4/chown.m4: Fix reversed types on -1 args to chown.
24191         From Kaveh Ghazi.
24192
24193 1997-12-14  Jim Meyering  <meyering@na-net.ornl.gov>
24194
24195         * m4/check-decl.m4: s/DECLARATION_/DECL_/g.
24196         Add lseek and memchr.
24197
24198         * m4/decl.m4: s/HAVE_DECLARATION_/HAVE_DECL_/g.
24199         T.E.Dickey <dickey@clark.net> said that some older preprocessors
24200         have a 20-character limit on names.
24201
24202 1997-11-30  Jim Meyering  <meyering@na-net.ornl.gov>
24203
24204         * m4/inttypes_h.m4: New file.
24205         * m4/uintmax_t.m4: New file.
24206         * m4/Makefile.am (EXTRA_DIST): Add inttypes_h.m4 and uintmax_t.m4.
24207
24208 Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006
24209   Free Software Foundation, Inc.
24210 Copying and distribution of this file, with or without modification,
24211 are permitted provided the copyright notice and this notice are preserved.