* modules/inline (License): Change from GPL to LGPL.
[pspp] / ChangeLog
1 2006-11-17  Paul Eggert  <eggert@cs.ucla.edu>
2
3         * modules/inline (License): Change from GPL to LGPL.
4
5 2006-11-17  Jim Meyering  <jim@meyering.net>
6
7         * modules/d-type (License): Switch to LGPL.
8
9 2006-11-15  Bruno Haible  <bruno@clisp.org>
10
11         * m4/alloca.m4 (gl_FUNC_ALLOCA): Fix the AC_CACHE_CHECK message.
12
13 2006-11-15  Eric Blake  <ebb9@byu.net>
14
15         * m4/allocsa.m4 (gl_ALLOCSA): Don't invoke macro already picked up by
16         the module dependency.
17
18 2006-11-15  Yoann Vandoorselaere <yoann.v@prelude-ids.com>
19             Bruno Haible  <bruno@clisp.org>
20
21         * gnulib-tool (func_create_testdir): Add license consistency check.
22
23 2006-11-15  Eric Blake  <ebb9@byu.net>
24
25         * m4/alloca.m4 (gl_FUNC_ALLOCA): Use AC_CACHE_CHECK to avoid a
26         random "(cached)" in configure output.
27
28 2006-11-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
29
30         * m4/inttypes.m4 (gl_INTTYPES_H): Use AC_CACHE_CHECK so that the
31         test for conforming inttypes.h is both announced and cached.
32
33         * MODULES.html.sh (seen_modules, seen_files): New variables.
34         (func_module): Rewrite to use a few less gnulib-tool and sed
35         invocations.  Avoid a couple of quadratic algorithms for ...
36         (missed_modules, missed_files): ... these, with ...
37         (func_append, func_tmpdir): ... these new functions, from
38         gnulib-tool.  Analogously, install traps for cleanup.
39
40         * tests/test-gc.c (main): Remove unused variables.
41         * tests/test-read-file.c: Include stdlib.h, for 'free'.
42
43 2006-11-14  Paul Eggert  <eggert@cs.ucla.edu>
44
45         * modules/inttostr (License): Change to LGPL.
46
47 2006-11-14  Eric Blake  <ebb9@byu.net>
48
49         * modules/tempname (License): Change to LGPL.
50
51 2006-11-14  Eric Blake  <ebb9@byu.net>
52
53         * doc/functions.texi (Function Portability): *printf functions on
54         Cygwin now understand all POSIX size specifiers.
55
56 2006-11-14  Bruno Haible  <bruno@clisp.org>
57
58         * modules/c-ctype (License): Change to LGPL.
59
60 2006-11-12  Bruno Haible  <bruno@clisp.org>
61
62         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
63         AC_LIB_LINKFLAGS_BODY): Also set a LIB${NAME}_PREFIX variable. Needed
64         for GNOME libraries, for which the include files are installed in
65         subdirectories of $prefix/include.
66
67 2006-11-12  Bruno Haible  <bruno@clisp.org>
68
69         * m4/lib-link.m4: Require at least autoconf-2.54.
70         (AC_LIB_LINKFLAGS_BODY) [autoconf < 2.61]: Turn dots into the library
71         name to underscores for the --with option.
72
73 2006-11-13  Bruno Haible  <bruno@clisp.org>
74
75         * gnulib-tool (func_create_testdir): Set gl_source_base correctly in
76         the tests directory.
77         Reported by Ralf Wildenhues.
78
79 2006-11-13  Bruno Haible  <bruno@clisp.org>
80
81         * gnulib-tool (func_emit_initmacro_start): Also override AC_LIBSOURCES.
82         (func_emit_initmacro_end): Undo the override here.
83         (func_emit_initmacro_done): Emit a definition for gl_LIBSOURCES.
84         Works around the famous automake error in coreutils.
85
86 2006-11-13  Eric Blake  <ebb9@byu.net>
87
88         * lib/gl_anytree_oset.h (gl_tree_search_atleast): Return the
89         element, not its node.
90
91 2006-11-12  Bruno Haible  <bruno@clisp.org>
92
93         * gnulib-tool (func_emit_lib_Makefile_am): Replace occurrences of
94         '$(top_srcdir)/build-aux/', taking into account the real auxdir.
95
96 2006-11-12  Bruno Haible  <bruno@clisp.org>
97
98         * gnulib-tool: New option --local-symlink.
99         (func_usage): Document it.
100         (lsymbolic): New variable.
101         (func_import, func_create_testdir): If --symlink was not specified,
102         test whether --local-symlink was specified and the file comes from
103         the local_gnulib_dir.
104
105 2006-11-12  Bruno Haible  <bruno@clisp.org>
106
107         * gnulib-tool (func_ln): New function.
108         (func_ln_if_changed, func_create_testdir): Use it instead of "ln -s".
109
110 2006-11-12  Bruno Haible  <bruno@clisp.org>
111
112         Finish support for source files in subdirectories.
113         * gnulib-tool (func_emit_lib_Makefile_am): If some of the source files
114         are in subdirectories, set uses_subdirs and add 'subdir-objects' to
115         AUTOMAKE_OPTIONS.
116         (func_import, func_create_testdir): Invoke AM_PROG_CC_C_O in this case.
117
118 2006-11-12  Bruno Haible  <bruno@clisp.org>
119
120         * gnulib-tool (func_get_automake_snippet): Synthesize also an
121         EXTRA_lib_SOURCES augmentation.
122         (func_emit_lib_Makefile_am): Initialize EXTRA_lib..._SOURCES to empty.
123
124 2006-11-12  Jim Meyering  <jim@meyering.net>
125
126         Make fts (in FTS_CWDFD mode) more efficient by caching a few open
127         file descriptors.  This also averts a failure on systems with
128         native openat support when a traversed directory lacks "x" access.
129         * lib/fts_.h: Include "i-ring.h"
130         (struct FTS) [fts_fd_ring]: New member.
131         * lib/fts.c (RESTORE_INITIAL_CWD): Also call fd_ring_clear.
132         (FCHDIR): Add parentheses.
133         (fd_ring_check, fd_ring_print) [!FTS_DEBUG]: Define away.
134         (cwd_advance_fd): Add a 3rd parameter.  Adjust all callers.
135         When descending, rather than simply closing the previous
136         fts_cwd_fd value, push that file descriptor onto the ring.
137         (same_fd, fd_ring_print, fd_ring_check) [FTS_DEBUG]: New functions.
138         (fts_open): Initialize the new fd_ring member.
139         (fts_close): Clear the ring.
140         (fts_safe_changedir): When possible, use our new fd_ring to skip
141         the diropen and fstat and dev/ino comparison that would normally
142         accompany a virtual `chdir ("..")'.
143
144         * modules/fts (Depends-on): Add i-ring.
145         * modules/i-ring: New module.
146         * lib/i-ring.c, lib/i-ring.h, lib/i-ring-test.c: New files.
147         * m4/i-ring.m4: New file.
148
149 2006-11-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
150
151         * gnulib-tool (func_create_testdir): Fix replacement of
152         `build-aux' in configure.ac.  Run autotools in gltests
153         subdirectory.
154         (func_create_testdir, func_create_megatestdir, test): There is
155         no need for '--force' in most autotool invocations in a new
156         tree.  Actually fail the whole test if any of the tools, or the
157         configure or make stages fail.
158
159         Sync from Automake.
160         * build-aux/gnupload: Revert last change.  Add pointer to upload
161         instructions of the GNU Maintenance Instructions.
162         Suggestion by Karl Berry.
163
164 2006-11-10  Jim Meyering  <jim@meyering.net>
165
166         * lib/fts.c [FTS_DEBUG]: Don't try to print a pointer via %s.
167
168 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
169
170         * lib/gettext.h (dgettext, dcgettext, ngettext) [! ENABLE_NLS]:
171         (dngettext, dcngettext, bindtextdomain) [! ENABLE_NLS]:
172         (bind_textdomain_codeset) [! ENABLE_NLS]:
173         Evaluate all the arguments.  That way, callers get compatible behavior
174         if the arguments have side effects.  Also, it avoids some GCC
175         diagnostics in some cases; Joel E. Denny reported problems when Bison
176         was configured with --enable-gcc-warnigs.
177
178 2006-11-10  Jim Meyering  <jim@meyering.net>
179
180         * m4/inline.m4 (gl_INLINE): Check with the compiler, not cpp, so that
181         relevant options in CFLAGS (like -O, -fno-inline) are taken into
182         account.
183
184 2006-11-10  Jim Meyering  <jim@meyering.net>
185
186         * modules/inline: New file/module.
187         * modules/xalloc (Files): Remove m4/inline.m4.
188         (Depends-on): Add inline, instead.
189         * modules/oset: Likewise.
190         * modules/list: Likewise.
191
192 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
193
194         * lib/stdint_.h (uintmax_t): Fix typo: int64_t -> uint64_t.
195         Problem reported by Matthew Woehlke.
196
197 2006-11-09  Bruno Haible  <bruno@clisp.org>
198
199         * lib/tempname.c (gen_tempname): Remove variant that invokes
200         __gen_tempname.
201         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Don't test for
202         __gen_tempname.
203
204 2006-11-08  Bruno Haible  <bruno@clisp.org>
205
206         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Set ac_cv_type_long_long_int
207         to 'yes' instead of 'cross-compiling'.
208
209 2006-11-08  Paul Eggert  <eggert@cs.ucla.edu>
210
211         * lib/quotearg.h (quotearg_free): New decl.
212         * lib/quotearg.c (quotearg_free): New function.
213         (slot0, nslots, slotvec0, slotvec):
214         Now file-scope so that quotearg_free can get at them.
215
216 2006-11-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
217
218         Sync from Automake.
219         * build-aux/gnupload: Add missing 'gnu' to example URL.
220         Report by Karl Berry.
221
222 2006-11-08  Bruno Haible  <bruno@clisp.org>
223
224         * m4/inline.m4 (gl_INLINE): Also test __NO_INLINE__.
225         Suggested by Paul Eggert.
226
227 2006-11-08  Jim Meyering  <jim@meyering.net>
228
229         * lib/fts.c [!_LGPL_PACKAGE]: Don't include fcntl--.h twice.
230         It's already included if !_LIBC.
231         (fts_safe_changedir): Add a comment.
232
233 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
234
235         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Detect bug in
236         Tandem NonStop Kernel (OSS) cc -O circa 2004, reported by
237         Matthew Woehlke.
238
239         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Move
240         definitions up, to avoid colliding with change below.
241         (static_inline) [HAVE_INLINE]: New macro.
242         (xnmalloc, xnrealloc, x2nrealloc, xcharalloc):
243         Provide extern decls when !HAVE_INLINE.  Do not define unless
244         static_inline is defined, either by us or by xmalloc.c.  Use
245         static_inline rather than static inline.
246         (XCALLOC): Optimize sizeof(T) = 1 case.
247         * lib/xmalloc.c (static_inline) [!HAVE_INLINE]: New macro.
248
249 2006-11-07  Bruno Haible  <bruno@clisp.org>
250
251         * lib/xalloc.h (XNMALLOC): Restore optimization of sizeof(T) = 1 case.
252         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require gl_INLINE instead of
253         AC_C_INLINE.
254         * modules/xalloc (Files): Add m4/inline.m4.
255
256 2006-11-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
257
258         * README: Fix typo.
259         * doc/gnulib.texi (Miscellaneous Notes): Likewise, rename...
260         (Miscellanous Notes): ...from this.
261
262 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
263
264         * m4/flexmember.m4 (AC_C_FLEXIBLE_ARRAY_MEMBER):
265         Mention that offsetof should be used instead of sizeof.
266         From Bruno Haible.
267
268 2006-11-07  Bruno Haible  <bruno@clisp.org>
269
270         * lib/w32spawn.h (prepare_spawn): Use XNMALLOC instead of xmalloc.
271
272 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
273
274         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
275         * lib/gl_anyavltree_list2.h (create_subtree_with_contents):
276         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
277         (gl_tree_add_before, gl_tree_add_after):
278         Use XMALLOC instead of xmalloc, and XCALLOC instead of xzalloc.
279         * lib/gl_anyhash_list2.h (hash_resize): Likewise.
280         * lib/gl_anylinked_list2.h (gl_linked_create_empty, gl_linked_create):
281         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before):
282         (gl_linked_add_after, gl_linked_add_at): Likewise.
283         * lib/gl_anyrbtree_list2.h (create_subtree_with_contents):
284         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
285         (gl_tree_add_before, gl_tree_add_after): Likewise.
286         * lib/gl_anytree_list2.h (gl_tree_create_empty): Likewise.
287         * lib/gl_anytree_oset.h (gl_tree_create_empty): Likewise.
288         * lib/gl_anytreehash_list1.h (add_to_bucket): Likewise.
289
290 2006-11-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
291
292         * lib/gl_oset.h: Use C comment style, not C++ comment style.
293
294 2006-11-06  Bruno Haible  <bruno@clisp.org>
295
296         * m4/inline.m4: New file.
297         * m4/gl_list.m4 (gl_LIST): Require gl_INLINE.
298         * modules/list (Files): Add m4/inline.m4.
299         * modules/oset (Files): Likewise.
300
301 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
302
303         * lib/idcache.c: Include <stddef.h>, for offsetof.
304         (struct userid.name): Change from char * to a flexible array member.
305         All uses changed.
306         * modules/idcache (Depends-on): Add flexmember.
307
308         * MODULES.html.sh (Core language properties): New module flexmember.
309         * modules/flexmember, m4/flexmember.m4: New files.
310
311         * lib/xalloc.h (xnmalloc, xnrealloc, x2nrealloc): Now static
312         inline functions that are identical with the old xnmalloc_inline,
313         xnrealloc_inline, x2nrealloc_inline of lib/xmalloc.c.  This is so
314         that we can avoid some unnecessary integer multiplications and
315         divisions in the common case where the element size is known at
316         compile time.
317         (XNMALLOC) [HAVE_INLINE]: Remove special case, which is no longer
318         needed.
319         (xnboundedmalloc): Remove.
320         (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Use lower-case letters for
321         arguments, for consistency with rest of this header.
322         (xcharalloc): Rewrite using XNMALLOC.
323         * lib/xmalloc.c (xnmalloc_inline, xnmalloc, xnrealloc_inline):
324         (xnrealloc, x2nrealloc_inline, x2nrealloc): Remove.  The *_inline
325         versions have been moved to lib/xalloc.h and renamed to be the
326         non-*_inline versions.
327         (xmalloc, xrealloc): Implement without reference to the xnmalloc
328         and xnrealloc functions, since those functions are now inline and
329         now call us.
330         (x2realloc): Invoke x2realloc, not x2realloc_inline, to accommodate
331         renaming described above.
332         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Remove AC_C_INLINE since
333         xmalloc.c no longer uses inline directly.  gl_PREREQ_XALLOC now
334         captures the dependency in AC_C_INLINE.
335
336         New module canonicalize-lgpl, proposed by Charles Wilson in
337         <http://lists.gnu.org/archive/html/bug-gnulib/2006-11/msg00020.html>
338         with a few small changes afterwards.
339         * MODULES.html.sh (File system functions): New module
340         canonicalize-lgpl.
341         * lib/canonicalize.h: Add comments for canonicalize_filename_mode
342         and canonicalize_file_name.
343         * lib/canonicalize-lgpl.c, m4/canonicalize-lgpl.m4:
344         * modules/canonicalize-lgpl: New files.
345
346 2006-11-05  Bruno Haible  <bruno@clisp.org>
347
348         * gnulib-tool (func_import, func_create_testdir): Create directories
349         also for files in subdirectories of lib/.
350
351 2006-11-05  Bruno Haible  <bruno@clisp.org>
352
353         * lib/gl_array_list.c (gl_array_iterator_next): Make pointer decrement
354         ANSI C compliant.
355
356 2006-11-03  Bruno Haible  <bruno@clisp.org>
357
358         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
359         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require AC_C_INLINE.
360         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): New macros.
361         (xnboundedmalloc): New inline function.
362         * lib/classpath.c (new_classpath): Use XNMALLOC instead of xmalloc.
363         * lib/clean-temp.c (create_temp_dir): Use XNMALLOC, XMALLOC instead of
364         xmalloc.
365         * lib/concatpath.c (concatenated_pathname): Use XNMALLOC instead of
366         xmalloc.
367         * lib/fatal-signal.c (at_fatal_signal): Use XNMALLOC instead of xmalloc.
368         * lib/findprog.c (find_in_path): Use XNMALLOC instead of xmalloc.
369         * lib/gl_array_list.c (gl_array_create_empty): Use XMALLOC instead of
370         xmalloc.
371         (gl_array_create): Use XNMALLOC, XMALLOC instead of xmalloc.
372         * lib/gl_array_oset.c (gl_array_create_empty): Use XNMALLOC instead of
373         xmalloc.
374         * lib/gl_avltree_oset.c (gl_tree_add_first, gl_tree_add_before,
375         gl_tree_add_after): Use XMALLOC instead of xmalloc.
376         * lib/gl_carray_list.c (gl_carray_create_empty): Use XMALLOC instead of
377         xmalloc.
378         (gl_carray_create): Use XNMALLOC, XMALLOC instead of xmalloc.
379         * lib/gl_rbtree_oset.c (gl_tree_add_first, gl_tree_add_before,
380         gl_tree_add_after): Use XMALLOC instead of xmalloc.
381         * lib/gl_sublist.c (gl_sublist_create): Use XMALLOC instead of xmalloc.
382         * lib/pagealign_alloc.c (new_memnode): Use XMALLOC instead of xmalloc.
383         * lib/sh-quote.c (shell_quote_argv): Use XNMALLOC instead of xmalloc.
384         * lib/xvasprintf.c (xstrcat): Use XNMALLOC instead of xmalloc.
385
386 2006-11-03  Bruno Haible  <bruno@clisp.org>
387
388         * lib/c-ctype.h [C++]: Define functions without name mangling.
389         * lib/fwriteerror.h [C++]: Likewise.
390         * lib/gcd.h [C++]: Likewise.
391         * lib/linebreak.h [C++]: Likewise.
392
393 2006-11-03  Paul Eggert  <eggert@cs.ucla.edu>
394
395         * lib/canonicalize.h: (canonicalize_mode_t, CAN_EXISTING):
396         (CAN_ALL_BUT_LAST, CAN_MISSING, canonicalize_filename_mode):
397         Define only if PROVIDE_CANONICALIZE_FILENAME_MODE is defined.
398         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
399         Check for functions and headers just once.
400         Check for declaration of canonicalize_file_name.
401         Define PROVIDE_CANONICALIZE_FILENAME_MODE.
402
403 2006-11-02  Charles Wilson  <cygwin@cwilson.fastmail.fm>
404
405         * gnulib-tool (func_import): Fix typo in actioncmd.
406
407 2006-11-02  Bruno Haible  <bruno@clisp.org>
408
409         * gnulib-tool (func_get_automake_snippet): Interpret a backslash-
410         newline sequence in the Makefile.am snippet as a space, like "make"
411         does.
412         Reported by Roger Persson <perrog@gmail.com>.
413
414 2006-11-01  Bruno Haible  <bruno@clisp.org>
415
416         * m4/strcase.m4 (gl_FUNC_STRNCASECMP): Check whether strncasecmp is
417         already declared in <string.h>.
418         * lib/strcase.h (strncasecmp): Don't declare it if yes.
419
420 2006-11-01  Bruno Haible  <bruno@clisp.org>
421
422         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Don't define strcasecmp here.
423         * lib/strcase.h: Include <string.h>.
424         (strcasecmp): Define to rpl_strcasecmp here.
425
426 2006-11-01  Bruno Haible  <bruno@clisp.org>
427
428         * lib/printf-parse.c (PRINTF_PARSE): Cast malloc/realloc results.
429
430 2006-11-01  Eric Blake  <ebb9@byu.net>
431
432         * lib/mkstemp-safer.c (mkstemp_safer): Allow C++ compilation.
433
434         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Allow C++ configuration.
435
436 2006-10-29  Bruno Haible  <bruno@clisp.org>
437
438         Make it compile in C++ mode.
439         * lib/full-write.c (full_rw): Add a cast.
440
441 2006-11-01  Bruno Haible  <bruno@clisp.org>
442
443         * gnulib-tool (func_get_automake_snippet): Change sed_combine_lines to
444         be POSIX compliant.
445         Reported by Roger Persson <perrog@gmail.com>.
446
447 2006-11-01  Eric Blake  <ebb9@byu.net>
448
449         * lib/getopt_.h: Fix comments.
450
451 2006-10-31  Eric Blake  <ebb9@byu.net>
452
453         * modules/tmpdir (Depends-on): Add sys_stat.
454         * modules/mkdtemp (Depends-on): Add tempname, drop unistd.
455         * lib/mkdtemp.c (gen_tempname): Remove; tempname covers this.
456         * lib/tmpdir.c (S_ISDIR): Simplify, thanks to sys_stat.
457         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Simplify, thanks to
458         tempname.
459
460 2006-10-31  Paul Eggert  <eggert@cs.ucla.edu>
461
462         Avoid some C++ diagnostics reported by Bruno Haible.
463         * lib/quotearg.c (clone_quoting_options): Use xmemdup rather than
464         xmalloc.
465         (quotearg_alloc): Use xcharalloc rather than xmalloc.
466         (struct slotvec): Move to top level.
467         (quotearg_n_options): Rewrite to avoid xmalloc.
468         * lib/xalloc.h (xcharalloc): New function.
469         * (xrealloc, xnrealloc, x2realloc, x2nrealloc, xmemdup):
470         [defined __cplusplus]: Add function template that provides result
471         type propagation.  This part of the change is from Bruno Haible.
472
473 2006-10-29  Bruno Haible  <bruno@clisp.org>
474
475         Make it compile in C++ mode.
476         * lib/striconv.c (mem_cd_iconv): Cast malloc/realloc result.
477         * lib/strnlen1.c (strnlen1): Cast memchr result.
478         * lib/mbchar.h (mb_copy): Rename arguments to 'new_mbc', 'old_mbc'.
479         * lib/clean-temp.c (string_equals, string_hash): Add casts.
480         (create_temp_dir): Rename local variable 'template'.
481         (compile_csharp_using_sscli): Add cast.
482         * lib/fatal-signal.c (at_fatal_signal): Cast xmalloc result.
483         * lib/findprog.c (find_in_path): Likewise.
484         * lib/linebreak.c (mbs_width_linebreaks): Cast malloc result.
485         * lib/wait-process.c (register_slave_subprocess): Likewise.
486
487 2006-10-22  Bruno Haible  <bruno@clisp.org>
488
489         * modules/tsearch: New file.
490         * lib/tsearch.h: New file.
491         * lib/tsearch.c: New file, from glibc-2.5 with small modifications.
492         * m4/tsearch.m4: New file.
493         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add tsearch.
494
495 2006-10-29  Eric Blake  <ebb9@byu.net>
496
497         * lib/arcfour.c: Assume config.h.
498         * lib/arctwo.c: Likewise.
499         * lib/base64.c: Likewise.
500         * lib/check-version.c: Likewise.
501         * lib/crc.c: Likewise.
502         * lib/des.c: Likewise.
503         * lib/gc-gnulib.c: Likewise.
504         * lib/gc-libgcrypt.c: Likewise.
505         * lib/gc-pbkdf2-sha1.c: Likewise.
506         * lib/getaddrinfo.c: Likewise.
507         * lib/getdelim.c: Likewise.
508         * lib/getline.c: Likewise.
509         * lib/hmac-md5.c: Likewise.
510         * lib/hmac-sha1.c: Likewise.
511         * lib/iconvme.c: Likewise.
512         * lib/md2.c: Likewise.
513         * lib/md4.c: Likewise.
514         * lib/memxor.c: Likewise.
515         * lib/read-file.c: Likewise.
516         * lib/readline.c: Likewise.
517         * lib/rijndael-alg-fst.c: Likewise.
518         * lib/rijndael-api-fst.c: Likewise.
519         * lib/xgetdomainname.c: Likewise.
520
521 2006-10-28  Eric Blake  <ebb9@byu.net>
522
523         * lib/xstrndup.c: Assume config.h.
524
525 2006-10-27  Paul Eggert  <eggert@cs.ucla.edu>
526
527         Move stat.h-substitute stuff from lib/stat-macros.h to lib/stat_.h.
528         stat-macros.h is now for our own macros, whereas stat_h is for
529         macros in the <sys/stat.h> name space.
530         * lib/stat-macros.h: Remove copyright notice, as this file is now tiny.
531         (STAT_MACROS_H): Remove.
532         (S_IFMT, S_ISBLK, S_ISCHR, S_ISDIR, S_ISFIFO, S_ISLNK, S_ISNAM):
533         (S_ISMPB, S_ISMPC, S_ISNWK, S_ISREG, S_ISSOCK, S_ISDOOR, S_ISPORT):
534         (S_TYPEISMQ, S_TYPEISTMO, S_TYPEISSEM, S_TYPEISSHM, S_ISCTG, S_ISOFD):
535         (S_ISOFL, S_ISWHT, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IRGRP):
536         (S_IROTH, S_IWUSR, S_IWGRP, S_IWOTH, S_IXUSR, S_IXGRP, S_IXOTH):
537         (S_IRWXU, S_IRWXG, S_IRWXO, S_IXUGO, S_IRWXUGO):
538         Move these macros to ...
539         * lib/stat_.h: here.  Don't include stat-macros.h.
540         * lib/canonicalize.c: Don't include stat-macros.h.
541         * lib/chown.c: Likewise.
542         * lib/euidaccess.c: Likewise.
543         * lib/file-type.c: Likewise.
544         * lib/filemode.c: Likewise.
545         * lib/glob.c: Likewise.
546         * lib/isapipe.c: Likewise.
547         * lib/lchown.c: Likewise.
548         * lib/lstat.c: Likewise.
549         * lib/mkdir-p.c: Likewise.
550         * lib/rmdir.c: Likewise.
551         * m4/lchown.m4 (gl_FUNC_LCHOWN): Don't require gl_STAT_MACROS.
552         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Don't check for io.h
553         unless mkdir isn't declared, to speed up 'configure'.
554         Always create sys/stat.h, since it's unlikely any real sys/stat.h
555         would define all the S_* symbols.
556         * modules/canonicalize (Depends-on):
557         Depend on sys_stat, not stat-macros.
558         * modules/chown: Likewise.
559         * modules/euidaccess: Likewise.
560         * modules/filemode: Likewise.
561         * modules/file-type: Likewise.
562         * modules/glob: Likewise.
563         * modules/isapipe: Likewise.
564         * modules/lchown: Likewise.
565         * modules/lstat: Likewise.
566         * modules/mkancesdirs: Likewise.
567         * modules/rmdir: Likewise.
568         * modules/mkdir-p (Depends-on): Also depend on sys_stat.
569         * modules/modechange: Likewise.
570         * modules/stat-macros (Files): Remove m4/stat-macros.m4.
571         (configure.ac): Remove gl_STAT_MACROS.
572         * modules/sys_stat (Depends-on): Remove stat-macros.
573
574 2006-10-27  Bruno Haible  <bruno@clisp.org>
575
576         * m4/signed.m4: Remove file.
577         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS_: Remove bh_C_SIGNED
578         invocation.
579         * modules/vasnprintf (Files): Remove m4/signed.m4.
580
581 2006-10-27  Bruno Haible  <bruno@clisp.org>
582
583         Update to GNU gettext 0.16.
584         * modules/gettext (Files): Add m4/intl.m4, m4/intldir.m4. Remove
585         m4/inttypes-h.m4, m4/signed.m4.
586         * m4/gettext.m4: Update to GNU gettext 0.16.
587         * m4/intl.m4: New file, from GNU gettext.
588         * m4/intldir.m4: New file, from GNU gettext.
589         * config/srclist.txt: Update
590
591 2006-10-27  Eric Blake  <ebb9@byu.net>
592
593         * MODULES.html.sh: Document tempname.
594         * modules/mkstemp (Depends-on): Add tempname, and drop transitive
595         dependencies.
596         (Files): Move lib/tempname.c...
597         * modules/tempname: ...to this new module.
598         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Remove tempname checks.
599         (gl_PREREQ_TEMPNAME): Move...
600         * m4/tempname.m4: ...to this new file.
601         * lib/mkstemp.c (includes) [!_LIBC]: Use tempname.h.
602         * modules/sys_stat (Depends-on): Add stat-macros.
603         * lib/stat_.h (includes): Pick up stat macros.
604         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Replace <sys/stat.h>
605         if stat macros are broken.
606         * lib/tempname.c (includes): No need to include "stat-macros.h".
607         (__gen_tempname) [!_LIBC]: Expose as gen_tempname.
608         (direxists, __path_search) [!_LIBC]: Don't compile these in
609         gnulib; the tmpdir module covers that.
610         * lib/tempname.h: New file.
611
612 2006-10-26  Paul Eggert  <eggert@cs.ucla.edu>
613
614         * COPYING: Explain how gnulib-tool converts licence headers.
615         Almost all wording by Eric Blake.
616
617 2006-10-25  Paul Eggert  <eggert@cs.ucla.edu>
618
619         * lib/mbchar.h (is_basic_table): Make read-only.
620         * lib/mbchar.c (is_basic_table): Likewise.
621         Reported by John Darrington.
622
623 2006-10-25  Bruno Haible  <bruno@clisp.org>
624
625         * lib/progname.h (set_program_name): Undefine before defining.
626
627 2006-10-25  Bruno Haible  <bruno@clisp.org>
628
629         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to
630         false for non-gcc C++ compilers.
631         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
632
633 2006-10-24  Bruno Haible  <bruno@clisp.org>
634
635         * lib/striconv.c (mem_cd_iconv, str_cd_iconv): Treat all non-GNU
636         iconv implementations like Irix iconv.
637
638 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
639
640         * modules/vararrays: New file.
641         * m4/vararrays.m4: New file, taken from diffutils.
642         * MODULES.html.sh: New module vararrays.
643
644 2006-10-24  Karl Berry  <karl@gnu.org>
645
646         * doc/gnulib-intro.texi: --- instead of --; non-naive naive.
647         Don't call GNU Unix.
648
649 2006-10-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
650
651         * users.txt: Add Libtool.
652
653         Sync from Libtool:
654
655         2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
656
657         * lib/argz.c: Remove check for HAVE_CONFIG_H, to conform
658         to gnulib's policy of including config.h unconditionally.
659
660 2006-10-24  Bruno Haible  <bruno@clisp.org>
661
662         * modules/wcwidth (Files): Add m4/wint_t.m4.
663         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Require gt_TYPE_WINT_T.
664         * lib/wcwidth.h (iswprint): Use 'int' if 'wint_t' is not defined.
665
666 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
667
668         * lib/getdate.y (yyerror): Make the arguments pointer-to-const,
669         to pacify GCC with some -W flags enabled.  Problem reported by
670         Bruno Haible.
671
672 2006-10-24  Jim Meyering  <jim@meyering.net>
673
674         * MODULES.html.sh: Remove uinttostr.  It's not a module.
675         Reported by Karl Berry.
676
677 2006-10-23  Bruno Haible  <bruno@clisp.org>
678
679         * lib/fts.c (fts_build): Move variable declaration, for C89 compliance.
680
681 2006-10-24  Bruno Haible  <bruno@clisp.org>
682
683         * lib/gl_list.h: Use C comment style, not C++ comment style.
684
685 2006-10-23  Eric Blake  <ebb9@byu.net>
686
687         * lib/getaddrinfo.c (includes): Add missing include.
688
689 2006-10-23  Bruno Haible  <bruno@clisp.org>
690             Paul Eggert  <eggert@cs.ucla.edu>
691
692         Ability to rename obstack_free.
693         * lib/obstack.h (__obstack_free): New macro. Declare instead of
694         obstack_free.
695         (obstack_free): Invoke the __obstack_free macro.
696         * lib/obstack.c (obstack_free): Use __obstack_free macro.
697
698 2006-10-23  Bruno Haible  <bruno@clisp.org>
699             Paul Eggert  <eggert@cs.ucla.edu>
700
701         * lib/argp.h (argp_parse, __argp_parse): Comment out the identifiers
702         __argc, __argv from the declaration. (They are defined as macros on
703         mingw.)
704
705 2006-10-22  Bruno Haible  <bruno@clisp.org>
706
707         * doc/gnulib-intro.texi: New file.
708         * doc/gnulib.texi: Include it.
709
710 2006-10-21  Bruno Haible  <bruno@clisp.org>
711
712         * doc/gnulib.texi: Split the chapter "Gnulib" into 3 chapters
713         "Introduction", "Miscellanous Notes", "Particular Modules".
714
715 2006-10-21  Bruno Haible  <bruno@clisp.org>
716
717         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
718         Change mostlyclean-local rule to avoid sh syntax error from bash
719         versions 2.00..2.05 when $(MOSTLYCLEANDIRS) is empty.
720
721 2006-10-23  Jim Meyering  <jim@meyering.net>
722
723         * lib/getaddrinfo.c (getnameinfo): Use new lightweight uinttostr,
724         in place of snprintf.
725
726         * modules/inttostr (Files): Add lib/uinttostr.c.
727         * lib/uinttostr.c (inttostr): New file/function.
728         * lib/inttostr.h (uinttostr): Declare.
729         * m4/inttostr.m4: Add AC_LIBOBJ([uinttostr]).
730         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
731         Add uinttostr.
732         * modules/getaddrinfo (Depends-on): Remove snprintf.  Add inttostr.
733
734 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
735
736         * lib/canonicalize.c (ELOOP): Define if not already defined.
737         Problem reported by Bruno Haible in
738         <http://lists.gnu.org/archive/html/bug-gnulib/2006-10/msg00282.html>.
739
740 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
741
742         * lib/stdint_.h [defined _AIX]: Don't include <sys/types.h>.
743         Problem reported by Perry Smith and Ville Laurikari.
744
745         * lib/getndelim2.c (SSIZE_MAX): Use same defn that getdelim.c
746         uses.
747
748 2006-10-19  Bruno Haible  <bruno@clisp.org>
749
750         * lib/getndelim2.c (SSIZE_MAX): Provide fallback definition. Needed
751         for mingw.
752
753 2006-10-19  Bruno Haible  <bruno@clisp.org>
754
755         * lib/openat-priv.h (EOPNOTSUPP): Provide fallback definition.
756         Needed for mingw.
757
758 2006-10-19  Bruno Haible  <bruno@clisp.org>
759
760         * m4/size_max.m4 (gl_SIZE_MAX): Cache the result.
761
762 2006-10-19  Bruno Haible  <bruno@clisp.org>
763
764         * m4/allocsa.m4 (gl_ALLOCSA): Invoke gl_FUNC_ALLOCA, don't AC_REQUIRE
765         it.
766
767 2006-10-19  Bruno Haible  <bruno@clisp.org>
768
769         * m4/alloca.m4 (gl_FUNC_ALLOCA): Cache the result of the AC_EGREP_CPP
770         invocation.
771
772 2006-10-19  Bruno Haible  <bruno@clisp.org>
773
774         * gnulib-tool (func_create_testdir): Don't include ftruncate and
775         mountlist by default.
776
777 2006-10-16  Bruno Haible  <bruno@clisp.org>
778
779         * lib/c-strstr.c: Include c-strstr.h.
780
781 2006-10-18  Charles Wilson  <cygwin@cwilson.fastmail.fm>
782
783         * gnulib-tool: Don't clobber $sourcebase when $local_gnulib_dir ends
784         in a slash.
785
786 2006-10-18  Bruno Haible  <bruno@clisp.org>
787
788         * lib/lock.h [C++]: Wrap definitions in extern "C".
789
790 2006-10-18  Bruno Haible  <bruno@clisp.org>
791
792         * gnulib-tool (func_emit_initmacro_end): Remove duplicates from the
793         gl_LIBOBJS list.
794
795 2006-10-18  Bruno Haible  <bruno@clisp.org>
796
797         * lib/findprog.c (find_in_path): Avoid "gcc -Wwrite-strings" warning.
798
799 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>
800
801         * lib/xstrtol.h: Include gettext.h.
802         (_STRTOL_ERROR): Wrap English-language formats inside gettext.
803         Problem reported by Eric Blake.
804         * modules/xstrtol (Depends-on): Add gettext-h.
805
806 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>  (tiny change)
807
808         * lib/strftime.c (advance): New macro.
809         (add): Use it to avoid adding 0 to a FILE *.  FILE can be an
810         incomplete type, so you can't add 0 to it.  Problem and patch
811         reported by Eelco Dolstra for dietlibc.
812
813 2006-10-18  Jim Meyering  <jim@meyering.net>
814
815         * lib/readutmp.c (desirable_utmp_entry): Use "bool" as the
816         type for a local, and rename it: s/up/user_proc/.
817
818 2006-10-18  Sergey Poznyakoff  <gray@gnu.org.ua>
819
820         * lib/readutmp.c (desirable_utmp_entry): Implement new flag:
821         READ_UTMP_USER_PROCESS.
822         * lib/readutmp.h (READ_UTMP_USER_PROCESS): New flag
823
824 2006-10-17  Paul Eggert  <eggert@cs.ucla.edu>
825
826         * lib/localcharset.c: Do not check HAVE_SETLOCALE.
827         * m4/localcharset.m4 (gl_LOCALCHARSET): Don't check for setlocale.
828
829 2006-10-17  Eric Blake  <ebb9@byu.net>
830
831         * lib/sigprocmask.c (sigprocmask): Fix typo.
832
833         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Fix typo.
834
835         * modules/clean-temp (Makefile.am): Don't add to make output...
836         (configure.ac): ...instead define SIGNAL_SAFE_LIST inside
837         config.h.
838
839 2006-10-17  Bruno Haible  <bruno@clisp.org>
840
841         * lib/gettext.h (gettext, ngettext, pgettext, npgettext): Define
842         differently if DEFAULT_TEXT_DOMAIN is set.
843
844 2006-10-16  Bruno Haible  <bruno@clisp.org>
845
846         * lib/clean-temp.c: Include fwriteerror.h.
847
848 2006-10-16  Bruno Haible  <bruno@clisp.org>
849
850         * getndelim2.m4 (gl_GETNDELIM2): Remove 2003-10-23 hack.
851
852 2006-10-16  Bruno Haible  <bruno@clisp.org>
853
854         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Also test for sigset_t.
855         * lib/sigprocmask.h: Include <sys/types.h>.
856         (sigset_t): Use the system's definition if present.
857
858 2006-10-17  Eric Blake  <ebb9@byu.net>
859
860         * lib/xvasprintf.c (includes): Assume config.h.
861         * lib/xasprintf.c (includes): Likewise.
862
863 2006-10-16  Paul Eggert  <eggert@cs.ucla.edu>
864
865         * lib/fsusage.c (PROPAGATE_ALL_ONES): Don't assume uintmax_t is
866         at least as wide as intmax_t.
867
868 2006-10-16  Alexandre Duret-Lutz  <adl@gnu.org>
869
870         (Imported from Automake.)
871         * build-aux/gnupload: Update to version 1.1 of directive file.
872
873 2006-10-16  Eric Blake  <ebb9@byu.net>
874
875         * modules/configmake (Makefile.am): Add pkglibexecdir support, to
876         match Automake 1.10a.
877
878 2006-10-14  Bruno Haible  <bruno@clisp.org>
879
880         * modules/sigprocmask: New file.
881         * lib/sigprocmask.h: New file.
882         * lib/sigprocmask.c: New file.
883         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Renamed from
884         gt_SIGNALBLOCKING. When not defining HAVE_POSIX_SIGNALBLOCKING,
885         request sigprocmask.o.
886         (gl_PREREQ_SIGPROCMASK): New macro.
887         * modules/fatal-signal (Files): Remove m4/signalblocking.m4.
888         (Depends-on): Add sigprocmask.
889         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Don't require
890         gt_SIGNALBLOCKING. Test for 'raise' only once.
891         * lib/fatal-signal.c: Include sigprocmask.h.
892         (fatal_signal_set, init_fatal_signal_set, block_fatal_signals,
893         unblock_fatal_signals): Define always.
894         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
895         sigprocmask.
896
897 2006-10-14  Paul Eggert  <eggert@cs.ucla.edu>
898
899         Sync from Automake.
900         * build-aux/install-sh (posix_mkdir): Reject FreeBSD 6.1 mkdir -p -m,
901         which incorrectly sets the mode of an existing destination
902         directory.  In some cases the unpatched install-sh could do the
903         equivalent of "chmod 777 /" or "chmod 0 /" on a buggy FreeBSD
904         system.  We hope this is rare in practice, but it's clearly worth
905         fixing.  Problem reported by Alex Unleashed in
906         <http://lists.gnu.org/archive/html/bug-autoconf/2006-10/msg00012.html>.
907         Also, don't bother to check for -m bugs unless we're using -m;
908         suggested by Stepan Kasal.
909
910 2006-10-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
911
912         Sync from Automake.
913         * build-aux/depcomp (gcc3): Put dependency extraction flags before the
914         `-c' flag, so they appear at the same position as in %FASTDEP%
915         mode in depend2.am.  Fixes build failure for FreeBSD's c89,
916         which ignores unknown options only after the first non-option.
917         Bug report against M4 by Nelson H. F. Beebe.
918
919 2006-10-13  Jim Meyering  <jim@meyering.net>
920
921         Fix a bug in yesterday's change.
922         * lib/fts.c (fts_open): When using FTS_XDEV|FTS_NOSTAT,
923         p->fts_statp->st_dev would be used uninitialized.
924         Ensures that we always call fts_stat on the very first entry.
925         Miklos Szeredi reported that find -xdev stopped working.
926
927 2006-10-12  Bruno Haible  <bruno@clisp.org>
928
929         * gnulib-tool (func_get_automake_snippet): Append an automatically
930         computed EXTRA_DIST augmentation.
931         * modules/acl (Makefile.am): Remove EXTRA_DIST augmentation.
932         * modules/alloca-opt (Makefile.am): Likewise.
933         * modules/allocsa (Makefile.am): Likewise.
934         * modules/arcfour (Makefile.am): Likewise.
935         * modules/arctwo (Makefile.am): Likewise.
936         * modules/argmatch (Makefile.am): Likewise.
937         * modules/argz (Makefile.am): Likewise.
938         * modules/atexit (Makefile.am): Likewise.
939         * modules/backupfile (Makefile.am): Likewise.
940         * modules/byteswap (Makefile.am): Likewise.
941         * modules/c-strtod (Makefile.am): Likewise.
942         * modules/c-strtold (Makefile.am): Likewise.
943         * modules/calloc (Makefile.am): Likewise.
944         * modules/canon-host (Makefile.am): Likewise.
945         * modules/canonicalize (Makefile.am): Likewise.
946         * modules/chdir-long (Makefile.am): Likewise.
947         * modules/chdir-safer (Makefile.am): Likewise.
948         * modules/check-version (Makefile.am): Likewise.
949         * modules/chown (Makefile.am): Likewise.
950         * modules/cloexec (Makefile.am): Likewise.
951         * modules/close-stream (Makefile.am): Likewise.
952         * modules/closeout (Makefile.am): Likewise.
953         * modules/crc (Makefile.am): Likewise.
954         * modules/csharpexec (Makefile.am): Likewise.
955         * modules/cycle-check (Makefile.am): Likewise.
956         * modules/des (Makefile.am): Likewise.
957         * modules/dev-ino (Makefile.am): Likewise.
958         * modules/dirfd (Makefile.am): Likewise.
959         * modules/dirname (Makefile.am): Likewise.
960         * modules/dup2 (Makefile.am): Likewise.
961         * modules/eealloc (Makefile.am): Likewise.
962         * modules/error (Makefile.am): Likewise.
963         * modules/euidaccess (Makefile.am): Likewise.
964         * modules/exclude (Makefile.am): Likewise.
965         * modules/exitfail (Makefile.am): Likewise.
966         * modules/fcntl-safer (Makefile.am): Likewise.
967         * modules/fcntl (Makefile.am): Likewise.
968         * modules/file-type (Makefile.am): Likewise.
969         * modules/fileblocks (Makefile.am): Likewise.
970         * modules/filemode (Makefile.am): Likewise.
971         * modules/filenamecat (Makefile.am): Likewise.
972         * modules/fnmatch (Makefile.am): Likewise.
973         * modules/fopen-safer (Makefile.am): Likewise.
974         * modules/fpending (Makefile.am): Likewise.
975         * modules/fprintftime (Makefile.am): Likewise.
976         * modules/free (Makefile.am): Likewise.
977         * modules/fsusage (Makefile.am): Likewise.
978         * modules/ftruncate (Makefile.am): Likewise.
979         * modules/fts (Makefile.am): Likewise.
980         * modules/gc-arcfour (Makefile.am): Likewise.
981         * modules/gc-des (Makefile.am): Likewise.
982         * modules/gc-hmac-md5 (Makefile.am): Likewise.
983         * modules/gc-hmac-sha1 (Makefile.am): Likewise.
984         * modules/gc-md4 (Makefile.am): Likewise.
985         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
986         * modules/gc-sha1 (Makefile.am): Likewise.
987         * modules/gc (Makefile.am): Likewise.
988         * modules/getaddrinfo (Makefile.am): Likewise.
989         * modules/getcwd (Makefile.am): Likewise.
990         * modules/getdelim (Makefile.am): Likewise.
991         * modules/getdomainname (Makefile.am): Likewise.
992         * modules/getgroups (Makefile.am): Likewise.
993         * modules/gethostname (Makefile.am): Likewise.
994         * modules/gethrxtime (Makefile.am): Likewise.
995         * modules/getline (Makefile.am): Likewise.
996         * modules/getloadavg (Makefile.am): Likewise.
997         * modules/getlogin_r (Makefile.am): Likewise.
998         * modules/getndelim2 (Makefile.am): Likewise.
999         * modules/getopt (Makefile.am): Likewise.
1000         * modules/getpagesize (Makefile.am): Likewise.
1001         * modules/getpass-gnu (Makefile.am): Likewise.
1002         * modules/getpass (Makefile.am): Likewise.
1003         * modules/getsubopt (Makefile.am): Likewise.
1004         * modules/gettime (Makefile.am): Likewise.
1005         * modules/gettimeofday (Makefile.am): Likewise.
1006         * modules/getugroups (Makefile.am): Likewise.
1007         * modules/getusershell (Makefile.am): Likewise.
1008         * modules/glob (Makefile.am): Likewise.
1009         * modules/group-member (Makefile.am): Likewise.
1010         * modules/hard-locale (Makefile.am): Likewise.
1011         * modules/hash (Makefile.am): Likewise.
1012         * modules/hmac-md5 (Makefile.am): Likewise.
1013         * modules/hmac-sha1 (Makefile.am): Likewise.
1014         * modules/human (Makefile.am): Likewise.
1015         * modules/idcache (Makefile.am): Likewise.
1016         * modules/imaxabs (Makefile.am): Likewise.
1017         * modules/imaxdiv (Makefile.am): Likewise.
1018         * modules/inet_ntop (Makefile.am): Likewise.
1019         * modules/inet_pton (Makefile.am): Likewise.
1020         * modules/intprops (Makefile.am): Likewise.
1021         * modules/inttostr (Makefile.am): Likewise.
1022         * modules/inttypes (Makefile.am): Likewise.
1023         * modules/isapipe (Makefile.am): Likewise.
1024         * modules/javaversion (Makefile.am): Likewise.
1025         * modules/lchmod (Makefile.am): Likewise.
1026         * modules/lchown (Makefile.am): Likewise.
1027         * modules/localcharset (Makefile.am): Likewise.
1028         * modules/long-options (Makefile.am): Likewise.
1029         * modules/lstat (Makefile.am): Likewise.
1030         * modules/malloc (Makefile.am): Likewise.
1031         * modules/mathl (Makefile.am): Likewise.
1032         * modules/mbchar (Makefile.am): Likewise.
1033         * modules/md2 (Makefile.am): Likewise.
1034         * modules/md4 (Makefile.am): Likewise.
1035         * modules/md5 (Makefile.am): Likewise.
1036         * modules/memcasecmp (Makefile.am): Likewise.
1037         * modules/memchr (Makefile.am): Likewise.
1038         * modules/memcmp (Makefile.am): Likewise.
1039         * modules/memcoll (Makefile.am): Likewise.
1040         * modules/memcpy (Makefile.am): Likewise.
1041         * modules/memmem (Makefile.am): Likewise.
1042         * modules/memmove (Makefile.am): Likewise.
1043         * modules/mempcpy (Makefile.am): Likewise.
1044         * modules/memrchr (Makefile.am): Likewise.
1045         * modules/memset (Makefile.am): Likewise.
1046         * modules/memxor (Makefile.am): Likewise.
1047         * modules/mkancesdirs (Makefile.am): Likewise.
1048         * modules/mkdir-p (Makefile.am): Likewise.
1049         * modules/mkdir (Makefile.am): Likewise.
1050         * modules/mkdtemp (Makefile.am): Likewise.
1051         * modules/mkstemp (Makefile.am): Likewise.
1052         * modules/mktime (Makefile.am): Likewise.
1053         * modules/modechange (Makefile.am): Likewise.
1054         * modules/mountlist (Makefile.am): Likewise.
1055         * modules/nanosleep (Makefile.am): Likewise.
1056         * modules/obstack (Makefile.am): Likewise.
1057         * modules/openat (Makefile.am): Likewise.
1058         * modules/pagealign_alloc (Makefile.am): Likewise.
1059         * modules/pathmax (Makefile.am): Likewise.
1060         * modules/physmem (Makefile.am): Likewise.
1061         * modules/poll (Makefile.am): Likewise.
1062         * modules/posixtm (Makefile.am): Likewise.
1063         * modules/posixver (Makefile.am): Likewise.
1064         * modules/putenv (Makefile.am): Likewise.
1065         * modules/quote (Makefile.am): Likewise.
1066         * modules/quotearg (Makefile.am): Likewise.
1067         * modules/raise (Makefile.am): Likewise.
1068         * modules/read-file (Makefile.am): Likewise.
1069         * modules/readline (Makefile.am): Likewise.
1070         * modules/readlink (Makefile.am): Likewise.
1071         * modules/readtokens (Makefile.am): Likewise.
1072         * modules/readutmp (Makefile.am): Likewise.
1073         * modules/realloc (Makefile.am): Likewise.
1074         * modules/regex (Makefile.am): Likewise.
1075         * modules/rename-dest-slash (Makefile.am): Likewise.
1076         * modules/rename (Makefile.am): Likewise.
1077         * modules/rijndael (Makefile.am): Likewise.
1078         * modules/rmdir (Makefile.am): Likewise.
1079         * modules/rpmatch (Makefile.am): Likewise.
1080         * modules/safe-read (Makefile.am): Likewise.
1081         * modules/safe-write (Makefile.am): Likewise.
1082         * modules/same-inode (Makefile.am): Likewise.
1083         * modules/same (Makefile.am): Likewise.
1084         * modules/save-cwd (Makefile.am): Likewise.
1085         * modules/savedir (Makefile.am): Likewise.
1086         * modules/setenv (Makefile.am): Likewise.
1087         * modules/settime (Makefile.am): Likewise.
1088         * modules/sha1 (Makefile.am): Likewise.
1089         * modules/sig2str (Makefile.am): Likewise.
1090         * modules/snprintf (Makefile.am): Likewise.
1091         * modules/stat-macros (Makefile.am): Likewise.
1092         * modules/stat-time (Makefile.am): Likewise.
1093         * modules/stdbool (Makefile.am): Likewise.
1094         * modules/stdint (Makefile.am): Likewise.
1095         * modules/stdlib-safer (Makefile.am): Likewise.
1096         * modules/stpcpy (Makefile.am): Likewise.
1097         * modules/stpncpy (Makefile.am): Likewise.
1098         * modules/strcase (Makefile.am): Likewise.
1099         * modules/strcasestr (Makefile.am): Likewise.
1100         * modules/strchrnul (Makefile.am): Likewise.
1101         * modules/strcspn (Makefile.am): Likewise.
1102         * modules/strdup (Makefile.am): Likewise.
1103         * modules/strerror (Makefile.am): Likewise.
1104         * modules/strftime (Makefile.am): Likewise.
1105         * modules/strndup (Makefile.am): Likewise.
1106         * modules/strnlen (Makefile.am): Likewise.
1107         * modules/strpbrk (Makefile.am): Likewise.
1108         * modules/strsep (Makefile.am): Likewise.
1109         * modules/strstr (Makefile.am): Likewise.
1110         * modules/strtod (Makefile.am): Likewise.
1111         * modules/strtoimax (Makefile.am): Likewise.
1112         * modules/strtok_r (Makefile.am): Likewise.
1113         * modules/strtol (Makefile.am): Likewise.
1114         * modules/strtoll (Makefile.am): Likewise.
1115         * modules/strtoul (Makefile.am): Likewise.
1116         * modules/strtoull (Makefile.am): Likewise.
1117         * modules/strtoumax (Makefile.am): Likewise.
1118         * modules/strverscmp (Makefile.am): Likewise.
1119         * modules/sys_socket (Makefile.am): Likewise.
1120         * modules/sys_stat (Makefile.am): Likewise.
1121         * modules/sysexits (Makefile.am): Likewise.
1122         * modules/time_r (Makefile.am): Likewise.
1123         * modules/timegm (Makefile.am): Likewise.
1124         * modules/timespec (Makefile.am): Likewise.
1125         * modules/tmpfile-safer (Makefile.am): Likewise.
1126         * modules/trim (Makefile.am): Likewise.
1127         * modules/unistd-safer (Makefile.am): Likewise.
1128         * modules/unlinkdir (Makefile.am): Likewise.
1129         * modules/unlocked-io (Makefile.am): Likewise.
1130         * modules/userspec (Makefile.am): Likewise.
1131         * modules/utime (Makefile.am): Likewise.
1132         * modules/utimecmp (Makefile.am): Likewise.
1133         * modules/utimens (Makefile.am): Likewise.
1134         * modules/vasnprintf (Makefile.am): Likewise.
1135         * modules/vasprintf (Makefile.am): Likewise.
1136         * modules/vsnprintf (Makefile.am): Likewise.
1137         * modules/xalloc (Makefile.am): Likewise.
1138         * modules/xgetcwd (Makefile.am): Likewise.
1139         * modules/xnanosleep (Makefile.am): Likewise.
1140         * modules/xreadlink (Makefile.am): Likewise.
1141         * modules/xstrtod (Makefile.am): Likewise.
1142         * modules/xstrtol (Makefile.am): Likewise.
1143         * modules/xstrtold (Makefile.am): Likewise.
1144         * modules/yesno (Makefile.am): Likewise.
1145         * modules/getdate (Makefile.am): Don't add getdate.h to EXTRA_DIST.
1146
1147 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
1148
1149         * modules/error (Makefile.am): Distribute files through
1150         EXTRA_DIST, not lib_SOURCES.
1151
1152 2006-10-12  Eric Blake  <ebb9@byu.net>
1153
1154         * modules/error (Makefile.am): Distribute files in /lib.
1155         * modules/obstack (Makefile.am): Likewise.
1156
1157 2006-10-12  Bruno Haible  <bruno@clisp.org>
1158
1159         * modules/acl (Makefile.am): Distribute all files in lib/ through
1160         EXTRA_DIST.
1161         * modules/arcfour (Makefile.am): Likewise.
1162         * modules/arctwo (Makefile.am): Likewise.
1163         * modules/argmatch (Makefile.am): Likewise.
1164         * modules/argz (Makefile.am): Likewise.
1165         * modules/atexit (Makefile.am): Likewise.
1166         * modules/backupfile (Makefile.am): Likewise.
1167         * modules/c-strtod (Makefile.am): Likewise.
1168         * modules/c-strtold (Makefile.am): Likewise.
1169         * modules/calloc (Makefile.am): Likewise.
1170         * modules/canon-host (Makefile.am): Likewise.
1171         * modules/canonicalize (Makefile.am): Likewise.
1172         * modules/chdir-long (Makefile.am): Likewise.
1173         * modules/chdir-safer (Makefile.am): Likewise.
1174         * modules/check-version (Makefile.am): Likewise.
1175         * modules/chown (Makefile.am): Likewise.
1176         * modules/cloexec (Makefile.am): Likewise.
1177         * modules/close-stream (Makefile.am): Likewise.
1178         * modules/closeout (Makefile.am): Likewise.
1179         * modules/crc (Makefile.am): Likewise.
1180         * modules/cycle-check (Makefile.am): Likewise.
1181         * modules/des (Makefile.am): Likewise.
1182         * modules/dirfd (Makefile.am): Likewise.
1183         * modules/dirname (Makefile.am): Likewise.
1184         * modules/dup2 (Makefile.am): Likewise.
1185         * modules/euidaccess (Makefile.am): Likewise.
1186         * modules/exclude (Makefile.am): Likewise.
1187         * modules/exitfail (Makefile.am): Likewise.
1188         * modules/fcntl-safer (Makefile.am): Likewise.
1189         * modules/file-type (Makefile.am): Likewise.
1190         * modules/fileblocks (Makefile.am): Likewise.
1191         * modules/filemode (Makefile.am): Likewise.
1192         * modules/filenamecat (Makefile.am): Likewise.
1193         * modules/fnmatch (Makefile.am): Likewise.
1194         * modules/fopen-safer (Makefile.am): Likewise.
1195         * modules/fpending (Makefile.am): Likewise.
1196         * modules/fprintftime (Makefile.am): Likewise.
1197         * modules/free (Makefile.am): Likewise.
1198         * modules/fsusage (Makefile.am): Likewise.
1199         * modules/ftruncate (Makefile.am): Likewise.
1200         * modules/fts (Makefile.am): Likewise.
1201         * modules/gc (Makefile.am): Likewise.
1202         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
1203         * modules/getaddrinfo (Makefile.am): Likewise.
1204         * modules/getcwd (Makefile.am): Likewise.
1205         * modules/getdelim (Makefile.am): Likewise.
1206         * modules/getdomainname (Makefile.am): Likewise.
1207         * modules/getgroups (Makefile.am): Likewise.
1208         * modules/gethostname (Makefile.am): Likewise.
1209         * modules/gethrxtime (Makefile.am): Likewise.
1210         * modules/getline (Makefile.am): Likewise.
1211         * modules/getloadavg (Makefile.am): Likewise.
1212         * modules/getlogin_r (Makefile.am): Likewise.
1213         * modules/getopt (Makefile.am): Likewise.
1214         * modules/getpass (Makefile.am): Likewise.
1215         * modules/getpass-gnu (Makefile.am): Likewise.
1216         * modules/getsubopt (Makefile.am): Likewise.
1217         * modules/gettime (Makefile.am): Likewise.
1218         * modules/gettimeofday (Makefile.am): Likewise.
1219         * modules/getugroups (Makefile.am): Likewise.
1220         * modules/getusershell (Makefile.am): Likewise.
1221         * modules/glob (Makefile.am): Likewise.
1222         * modules/group-member (Makefile.am): Likewise.
1223         * modules/hard-locale (Makefile.am): Likewise.
1224         * modules/hash (Makefile.am): Likewise.
1225         * modules/hmac-md5 (Makefile.am): Likewise.
1226         * modules/hmac-sha1 (Makefile.am): Likewise.
1227         * modules/human (Makefile.am): Likewise.
1228         * modules/idcache (Makefile.am): Likewise.
1229         * modules/imaxabs (Makefile.am): Likewise.
1230         * modules/imaxdiv (Makefile.am): Likewise.
1231         * modules/inet_ntop (Makefile.am): Likewise.
1232         * modules/inet_pton (Makefile.am): Likewise.
1233         * modules/inttostr (Makefile.am): Likewise.
1234         * modules/isapipe (Makefile.am): Likewise.
1235         * modules/lchown (Makefile.am): Likewise.
1236         * modules/long-options (Makefile.am): Likewise.
1237         * modules/lstat (Makefile.am): Likewise.
1238         * modules/malloc (Makefile.am): Likewise.
1239         * modules/mathl (Makefile.am): Likewise.
1240         * modules/mbchar (Makefile.am): Likewise.
1241         * modules/md2 (Makefile.am): Likewise.
1242         * modules/md4 (Makefile.am): Likewise.
1243         * modules/md5 (Makefile.am): Likewise.
1244         * modules/memcasecmp (Makefile.am): Likewise.
1245         * modules/memchr (Makefile.am): Likewise.
1246         * modules/memcmp (Makefile.am): Likewise.
1247         * modules/memcoll (Makefile.am): Likewise.
1248         * modules/memcpy (Makefile.am): Likewise.
1249         * modules/memmem (Makefile.am): Likewise.
1250         * modules/memmove (Makefile.am): Likewise.
1251         * modules/mempcpy (Makefile.am): Likewise.
1252         * modules/memrchr (Makefile.am): Likewise.
1253         * modules/memset (Makefile.am): Likewise.
1254         * modules/memxor (Makefile.am): Likewise.
1255         * modules/mkancesdirs (Makefile.am): Likewise.
1256         * modules/mkdir (Makefile.am): Likewise.
1257         * modules/mkdir-p (Makefile.am): Likewise.
1258         * modules/mkdtemp (Makefile.am): Likewise.
1259         * modules/mkstemp (Makefile.am): Likewise.
1260         * modules/mktime (Makefile.am): Likewise.
1261         * modules/modechange (Makefile.am): Likewise.
1262         * modules/mountlist (Makefile.am): Likewise.
1263         * modules/nanosleep (Makefile.am): Likewise.
1264         * modules/openat (Makefile.am): Likewise.
1265         * modules/pagealign_alloc (Makefile.am): Likewise.
1266         * modules/physmem (Makefile.am): Likewise.
1267         * modules/poll (Makefile.am): Likewise.
1268         * modules/posixtm (Makefile.am): Likewise.
1269         * modules/posixver (Makefile.am): Likewise.
1270         * modules/putenv (Makefile.am): Likewise.
1271         * modules/quote (Makefile.am): Likewise.
1272         * modules/quotearg (Makefile.am): Likewise.
1273         * modules/raise (Makefile.am): Likewise.
1274         * modules/read-file (Makefile.am): Likewise.
1275         * modules/readline (Makefile.am): Likewise.
1276         * modules/readlink (Makefile.am): Likewise.
1277         * modules/readtokens (Makefile.am): Likewise.
1278         * modules/readutmp (Makefile.am): Likewise.
1279         * modules/realloc (Makefile.am): Likewise.
1280         * modules/regex (Makefile.am): Likewise.
1281         * modules/rename (Makefile.am): Likewise.
1282         * modules/rename-dest-slash (Makefile.am): Likewise.
1283         * modules/rijndael (Makefile.am): Likewise.
1284         * modules/rmdir (Makefile.am): Likewise.
1285         * modules/rpmatch (Makefile.am): Likewise.
1286         * modules/safe-read (Makefile.am): Likewise.
1287         * modules/safe-write (Makefile.am): Likewise.
1288         * modules/same (Makefile.am): Likewise.
1289         * modules/save-cwd (Makefile.am): Likewise.
1290         * modules/savedir (Makefile.am): Likewise.
1291         * modules/setenv (Makefile.am): Likewise.
1292         * modules/settime (Makefile.am): Likewise.
1293         * modules/sha1 (Makefile.am): Likewise.
1294         * modules/sig2str (Makefile.am): Likewise.
1295         * modules/snprintf (Makefile.am): Likewise.
1296         * modules/stdlib-safer (Makefile.am): Likewise.
1297         * modules/stpcpy (Makefile.am): Likewise.
1298         * modules/stpncpy (Makefile.am): Likewise.
1299         * modules/strcase (Makefile.am): Likewise.
1300         * modules/strcasestr (Makefile.am): Likewise.
1301         * modules/strchrnul (Makefile.am): Likewise.
1302         * modules/strcspn (Makefile.am): Likewise.
1303         * modules/strdup (Makefile.am): Likewise.
1304         * modules/strerror (Makefile.am): Likewise.
1305         * modules/strftime (Makefile.am): Likewise.
1306         * modules/strndup (Makefile.am): Likewise.
1307         * modules/strnlen (Makefile.am): Likewise.
1308         * modules/strpbrk (Makefile.am): Likewise.
1309         * modules/strsep (Makefile.am): Likewise.
1310         * modules/strstr (Makefile.am): Likewise.
1311         * modules/strtod (Makefile.am): Likewise.
1312         * modules/strtoimax (Makefile.am): Likewise.
1313         * modules/strtok_r (Makefile.am): Likewise.
1314         * modules/strtol (Makefile.am): Likewise.
1315         * modules/strtoll (Makefile.am): Likewise.
1316         * modules/strtoul (Makefile.am): Likewise.
1317         * modules/strtoull (Makefile.am): Likewise.
1318         * modules/strtoumax (Makefile.am): Likewise.
1319         * modules/strverscmp (Makefile.am): Likewise.
1320         * modules/time_r (Makefile.am): Likewise.
1321         * modules/timegm (Makefile.am): Likewise.
1322         * modules/tmpfile-safer (Makefile.am): Likewise.
1323         * modules/unistd-safer (Makefile.am): Likewise.
1324         * modules/unlinkdir (Makefile.am): Likewise.
1325         * modules/userspec (Makefile.am): Likewise.
1326         * modules/utime (Makefile.am): Likewise.
1327         * modules/utimecmp (Makefile.am): Likewise.
1328         * modules/utimens (Makefile.am): Likewise.
1329         * modules/vasnprintf (Makefile.am): Likewise.
1330         * modules/vasprintf (Makefile.am): Likewise.
1331         * modules/vsnprintf (Makefile.am): Likewise.
1332         * modules/xalloc (Makefile.am): Likewise.
1333         * modules/xgetcwd (Makefile.am): Likewise.
1334         * modules/xnanosleep (Makefile.am): Likewise.
1335         * modules/xreadlink (Makefile.am): Likewise.
1336         * modules/xstrtod (Makefile.am): Likewise.
1337         * modules/xstrtol (Makefile.am): Likewise.
1338         * modules/xstrtold (Makefile.am): Likewise.
1339         * modules/yesno (Makefile.am): Likewise.
1340
1341 2006-10-12  Jim Meyering  <jim@meyering.net>
1342
1343         * m4/getloadavg.m4: Revert the change below.
1344
1345         * m4/getloadavg.m4 (gl_GETLOADAVG): Test for the existence of
1346         lib/getloadavg.c using "ls -L", not "test -f".  The latter would
1347         fail with a symlink, which is what coreutils' ./bootstrap now
1348         creates by default.
1349
1350 2006-10-12  Bruno Haible  <bruno@clisp.org>
1351
1352         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): Don't define for MSVC or
1353         mingw.
1354         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX): Handle
1355         MSVC and mingw explicitly.
1356
1357 2006-10-11  Simon Josefsson  <jas@extundo.com>
1358             Bruno Haible  <bruno@clisp.org>
1359
1360         Add support for multiple gnulib-tool invocations in the scope of a
1361         single configure.ac file.
1362         * gnulib-tool (func_emit_lib_Makefile_am): In the _LIBADD variable,
1363         use a private [LT]LIBOBJS variant. Define a _DEPENDENCIES variable
1364         with the same contents as the _LIBADD variable.
1365         (func_emit_initmacro_start, func_emit_initmacro_end,
1366         func_emit_initmacro_done): New functions.
1367         (func_import, func_create_testdir): Invoke them. Allow the identifiers
1368         gl_LIBOBJS and gl_LTLIBOBJS.
1369
1370 2006-10-11  Bruno Haible  <bruno@clisp.org>
1371
1372         * gnulib-tool (GETTEXTPATH, AUTOHEADER, AUTOPOINT): New variables.
1373         (func_create_testdir): Don't create po/Makefile.am, don't invoke
1374         autoreconf. Instead, invoke autopoint explicitly but move back the
1375         *.m4 files from gnulib.
1376
1377 2006-10-11  Bruno Haible  <bruno@clisp.org>
1378
1379         * gnulib-tool (func_usage): Make module names after --create-testdir
1380         optional.
1381         (func_create_testdir): If no module was specified, use nearly all
1382         modules.
1383
1384 2006-10-12  Jim Meyering  <jim@meyering.net>
1385
1386         Big performance improvement for fts-based tools that use FTS_NOSTAT.
1387         Avoid spurious inode-mismatch problems on non-POSIX file systems.
1388         Details: http://article.gmane.org/gmane.comp.lib.gnulib.bugs/7416
1389         * lib/fts_.h (FTS_DEFER_STAT): Define new flag.
1390         (FTS_OPTIONMASK): Extend the mask to reflect this addition.
1391         * lib/fts.c (DT_IS_KNOWN, DT_MUST_BE): Define.
1392         (FTS_NO_STAT_REQUIRED, FTS_STAT_REQUIRED): Define.
1393         (fts_set_stat_required): New function.
1394         (fts_open): Defer the calls to fts_stat, if possible or requested.
1395         Move the code that maps a command-line fts_info value FTS_DOT to FTS_D
1396         into fts_stat itself.
1397         (fts_read): Perform any required (deferred) fts_stat call.
1398         (fts_build): Likewise, for the directory we're about to open and read.
1399         In the readdir loop, carefully decide whether each entry will require
1400         an eventual call to fts_stat, using dirent.d_type info if available.
1401         (fts_stat): Move the test for whether to honor FTS_COMFOLLOW on
1402         a command line argument into this function.  Update all callers.
1403         Map a return value of FTS_DOT to FTS_D for a command line argument.
1404         * modules/fts (Depends-on): Add d-type.  Alphabetize.
1405         Thanks to Miklos Szeredi for his tenacity and for the initial
1406         bug report about "find" failing on a FUSE-based file system.
1407
1408         * lib/fts.c (fts_open): Use consistent indentation.
1409
1410 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
1411
1412         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Renamed from
1413         gl_USE_SYSTEM_EXTENSIONS, to fix a coreutils bootstrap failure
1414         reported by Jim Meyering.  All uses of cache variables renamed
1415         to match Autoconf's.
1416         (gl_USE_SYSTEM_EXTENSIONS): New macro, which simply requires
1417         the other one.
1418
1419         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH):
1420         Fix misspelling in diagnostic.
1421
1422 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
1423
1424         * lib/mkdir-p.c (HAVE_FCHMOD): Define to false if not already
1425         defined.  Problem reported by Matthew Woehlke.
1426
1427         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): New macro.
1428         Add support for Tandem NonStop R series.
1429         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX):
1430         Use new macro.
1431
1432         * lib/rename-dest-slash.c: Include stdbool.h but not string.h.
1433         (has_trailing_slash): Omit size arg; all callers changed.
1434         Omit 'inline', since it doesn't help performance and we'd
1435         need to configure it.
1436         Don't count //, ///, etc. as having a trailing slash.
1437         As a side effect, this removes a C99ism reported by Matthew Woehlke.
1438         (rpl_rename_dest_slash): On failure, use rename's errno rather
1439         than (in some cases) an incorrect or junk errno.
1440         Simplify code by removing need to compute length; this does
1441         cause it to make two passes instead of one over the file name,
1442         but it's worth it.
1443
1444         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Undo previous
1445         change, since Autoconf's version may no longer be appropriate now
1446         that we are using CVS Autoconf's version.  Add support for Tandem.
1447
1448 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
1449             Bruno Haible  <bruno@clisp.org>
1450
1451         * lib/allocsa.h (sa_alignment_longlong, sa_alignment_max): Test
1452         HAVE_LONG_LONG_INT instead of HAVE_LONG_LONG.
1453         * m4/allocsa.m4 (gl_ALLOCSA): Invoke AC_TYPE_LONG_LONG_INT instead of
1454         gl_AC_TYPE_LONG_LONG.
1455
1456         * lib/printf-args.h (arg_type, argument): Test HAVE_LONG_LONG_INT
1457         instead of HAVE_LONG_LONG.
1458         * lib/printf-args.c (printf_fetchargs): Likewise.
1459         * lib/printf-parse.c (PRINTF_PARSE): Likewise.
1460         * lib/vasnprintf.c (VASNPRINTF): Likewise.
1461         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS, gl_PREREQ_PRINTF_PARSE,
1462         gl_PREREQ_VASNPRINTF): Invoke AC_TYPE_LONG_LONG_INT instead of
1463         gl_AC_TYPE_LONG_LONG.
1464
1465 2006-10-11  Bruno Haible  <bruno@clisp.org>
1466
1467         * m4/longlong.m4: Add comments.
1468         * m4/ulonglong.m4: Likewise.
1469
1470 2006-10-10  Bruno Haible  <bruno@clisp.org>
1471
1472         Make it possible to #define stpcpy, strdup to aliases.
1473         * lib/stpcpy.c (stpcpy) [!_LIBC]: Don't undefine.
1474         * lib/strdup.c (strdup) [!_LIBC]: Don't undefine.
1475
1476 2006-10-10  Bruno Haible  <bruno@clisp.org>
1477
1478         Make it possible to #define gcd to an alias.
1479         * lib/gcd.c: Include config.h.
1480
1481 2006-10-10  Bruno Haible  <bruno@clisp.org>
1482
1483         Make it possible to #define c_isascii to an alias.
1484         * lib/c-ctype.h: Don't define the macros if NO_C_CTYPE_MACROS is
1485         defined. Undefine the macros before defining them, to avoid gcc
1486         warnings.
1487         * lib/c-ctype.c: Include config.h. Don't undefine the macros; instead,
1488         define NO_C_CTYPE_MACROS early.
1489
1490 2006-10-10  Bruno Haible  <bruno@clisp.org>
1491
1492         Make it possible to #define set_program_name to an alias.
1493         * lib/progname.c: Don't undefine set_program_name; instead, undefine
1494         ENABLE_RELOCATABLE early.
1495
1496 2006-10-10  Paul Eggert  <eggert@cs.ucla.edu>
1497
1498         Port to Tandem NSK OSS, which has 64-bit signed int but at most
1499         32-bit unsigned int.  Problem reported by Matthew Woehlke in:
1500         http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00062.html
1501         More generally, don't assume that 64-bit signed int is available
1502         if unsigned int is, and vice versa.
1503         * lib/inttypes_.h (_PRIu64_PREFIX, _SCNu64_PREFIX): Depend on
1504         unsigned symbols, not on their signed counterparts.
1505         * lib/stdint_.h (uint64_t, uint_least64_t, uint_fast64_t, uintmax_t):
1506         (UINT64_MAX, UINT_LEAST64_MAX, UINT_FAST64_MAX, UINTMAX_MAX):
1507         (UINT64_C, UINTMAX_C):
1508         Likewise.
1509         * lib/strtoimax.c (strtoll): Depend on signed symbols, not their
1510         unsigned counterparts.
1511         (Have_long_long, Unsigned): New macros.
1512         (Int): Renamed from INT.
1513         (strtoimax): Use the new macros.
1514         * m4/stdint.m4 (gl_STDINT_H): Require AC_TYPE_UNSIGNED_LONG_LONG_INT
1515         and substitute HAVE_UNSIGNED_LONG_LONG_INT.
1516         * modules/inttypes (inttypes.h): Substitute
1517         HAVE_UNSIGNED_LONG_LONG_INT.
1518         * modules/stdint (stdint.h): Likewise.
1519         (Files): Add m4/ulonglong.m4.
1520
1521 2006-10-10  Bruno Haible  <bruno@clisp.org>
1522
1523         Fix a gcc -Wshadow warning.
1524         * lib/gl_anyhash_list2.h (hash_resize): Rename local variable 'index'
1525         to 'bucket'.
1526         * lib/gl_anylinked_list2.h (gl_linked_search_from_to,
1527         gl_linked_indexof_from_to): Likewise.
1528         * lib/gl_linkedhash_list.c (add_to_bucket, remove_from_bucket):
1529         Likewise.
1530         * lib/gl_anytreehash_list1.h (add_to_bucket, remove_from_bucket):
1531         Likewise.
1532         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Likewise.
1533         Reported by Eric Blake.
1534
1535 2006-10-09  Paul Eggert  <eggert@cs.ucla.edu>
1536
1537         * lib/filemode.h [HAVE_DECL_STRMODE]: Include unistd.h too,
1538         for NetBSD.  Problem reported by Bruno Haible.
1539
1540 2006-10-09  Jim Meyering  <jim@meyering.net>
1541
1542         * lib/lchown.c: Include <sys/stat.h> before "stat-macros.h".
1543         Patch from Bruno Haible.
1544
1545 2006-10-09  Jim Meyering  <jim@meyering.net>
1546
1547         * lib/fts-cycle.c (leave_dir): When "leaving" a top level directory due
1548         to FTS_SKIP, don't copy the parent's uninitialized dev/ino values.
1549         Trigger with e.g., mkdir d && valgrind ./chmod u+rwx d d
1550
1551 2006-10-08  Paul Eggert  <eggert@cs.ucla.edu>
1552
1553         Don't include <config.h> twice; this doesn't work in some cases,
1554         e.g., when config.h has "#define intmax_t long long int" and
1555         we include <config.h>, <inttypes.h>, <config.h> in that order.
1556         Problem reported by Matthew Woehlke in:
1557         http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00073.html
1558         * lib/fprintftime.c: Don't include config.h or fprintftime.h.
1559         * lib/fts-cycle.c: Don't include config.h.
1560         * lib/strftime.c: Include fprintftime.h if FPRINTFTIME is defined.
1561         * lib/xstrtoimax.c: Remove copyright notice since it's short tnow.
1562         Don't include config.h or xstrtol.h.  Define STRTOL_T_MINIMUM
1563         and STRTOL_T_MAXIMUM unconditionally, since we now assume gnulib
1564         inttypes.h.
1565         * lib/xstrtoumax.c: Likewise.
1566         * lib/xstrtol.c: Include config.h and xstrtol.h after defining
1567         __strtol and the like, so that this module is more like its siblings.
1568         (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [! defined STRTOL_T_MINIMUM]:
1569         Remove; no longer needed now that we assume gnulib inttypes.h.
1570
1571 2006-10-08  Bruno Haible  <bruno@clisp.org>
1572
1573         * doc/gnulib-tool.texi: Emphasize the drawbacks of the --symlink
1574         option.
1575
1576 2006-10-07  Jim Meyering  <jim@meyering.net>
1577
1578         * modules/inttypes (inttypes.h): Revert what seems to have been
1579         an inadvertent part of today's change: use "|", not "/" in the
1580         substitution for the "/"-containing string, $(ABSOLUTE_INTTYPES_H).
1581
1582 2006-10-07  Bruno Haible  <bruno@clisp.org>
1583
1584         * modules/sublist: New file.
1585
1586 2006-10-07  Bruno Haible  <bruno@clisp.org>
1587
1588         * modules/alloca-opt (alloca.h): Add a "DO NOT EDIT" comment.
1589         * modules/argz (argz.h): Likewise.
1590         * modules/arpa_inet (arpa/inet.h): Likewise.
1591         * modules/byteswap (byteswap.h): Likewise.
1592         * modules/configmake (configmake.h): Likewise.
1593         * modules/fcntl (fcntl.h): Likewise.
1594         * modules/fnmatch (fnmatch.h): Likewise.
1595         * modules/getopt (getopt.h): Likewise.
1596         * modules/glob (glob.h): Likewise.
1597         * modules/inttypes (inttypes.h): Likewise.
1598         * modules/netinet_in (netinet/in.h): Likewise.
1599         * modules/poll (poll.h): Likewise.
1600         * modules/stdbool (stdbool.h): Likewise.
1601         * modules/stdint (stdint.h): Likewise.
1602         * modules/sys_select (sys/select.h): Likewise.
1603         * modules/sys_socket (sys/socket.h): Likewise.
1604         * modules/sys_stat (sys/stat.h): Likewise.
1605         * modules/sysexits (sysexits.h): Likewise.
1606         * modules/unistd (unistd.h): Likewise.
1607         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
1608         Add a "DO NOT EDIT" comment to the generated file.
1609         (func_import): Likewise for gnulib-comp.m4.
1610
1611 2006-10-07  Bruno Haible  <bruno@clisp.org>
1612
1613         * lib/gl_sublist.h: New file.
1614         * lib/gl_sublist.c: New file.
1615
1616 2006-10-06  Paul Eggert  <eggert@cs.ucla.edu>
1617
1618         * lib/mkancesdirs.c (mkancesdirs): Pass to MAKE_DIR both the full file
1619         name (relative to the original working directory) and the file
1620         name component (relative to the temporary working directory).  All
1621         callers changed.
1622         * lib/mkancesdirs.h (mkancesdirs): Adjust prototype to match.
1623         * lib/mkdir-p.c (make_dir_parents): Likewise.
1624         * lib/mkdir-p.h (make_dir_parents): Likewise.
1625
1626 2006-10-06  Eric Blake  <ebb9@byu.net>
1627
1628         Define several macros for use by the clean-temp module.
1629         * m4/close-stream.m4 (gl_CLOSE_STREAM): Define GNULIB_CLOSE_STREAM.
1630         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Define GNULIB_FCNTL_SAFER.
1631         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Define GNULIB_FOPEN_SAFER.
1632
1633         * lib/clean-temp.h (close_stream_temp): New declaration.
1634         * lib/clean-temp.c (includes): Pull in headers according to what
1635         other modules are in use.
1636         (close_stream_temp) [GNULIB_CLOSE_STREAM]: New function.
1637
1638 2006-10-06  Bruno Haible  <bruno@clisp.org>
1639
1640         * lib/javacomp.c (write_temp_file): Use fopen_temp, fwriteerror_temp
1641         instead of fopen, fwriteerror.
1642
1643 2006-10-06  Bruno Haible  <bruno@clisp.org>
1644
1645         * lib/clean-temp.h (cleanup_temp_file, cleanup_temp_subdir,
1646         cleanup_temp_dir_contents, cleanup_temp_dir): Change return type to
1647         int.
1648         * lib/clean-temp.c (do_unlink, do_rmdir, cleanup_temp_file,
1649         cleanup_temp_subdir, cleanup_temp_dir_contents, cleanup_temp_dir):
1650         Return an error indicator.
1651         Suggested by Eric Blake.
1652
1653 2006-10-06  Bruno Haible  <bruno@clisp.org>
1654
1655         * lib/clean-temp.c (PATH_MAX): Provide a fallback for GNU Hurd.
1656         Reported by Eric Blake.
1657
1658 2006-10-06  Bruno Haible  <bruno@clisp.org>
1659
1660         * modules/closeout (Description): Mention stderr too.
1661
1662 2006-10-06  Bruno Haible  <bruno@clisp.org>
1663         and Paul Eggert  <eggert@cs.ucla.edu>
1664
1665         * lib/closeout.c (close_stdout): Also close stderr.
1666         * lib/closeout.h: Update comment.
1667
1668 2006-10-05  Paul Eggert  <eggert@cs.ucla.edu>
1669
1670         Fix some Darwin-7.9.0 porting problems reported by Bruno Haible in
1671         <http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00063.html>.
1672         * lib/dirchownmod.c: Include lchown.h.
1673         * lib/lchown.c: Don't include files that lchown.h now includes.
1674         Don't declare chown, since lchown.h now does that.
1675         * lib/lchown.h: Include errno.h, sys/types.h, unistd.h.
1676         (lchown): Define to rpl_chown if lchown is declared but
1677         does not exist.  Declare using a prototype if lchown is not
1678         declared.  Add a copyright notice.
1679         * lib/mkstemp.h: Include <unistd.h>.
1680         * lib/openat.c: Include lchown.h.
1681
1682         * lib/fcntl_.h (O_NOFOLLOW): Don't depend on O_NOFOLLOW_IS_INEFFECTIVE;
1683         we now test for that separately.
1684         * lib/fts.c (fts_safe_changedir): Inspect HAVE_WORKING_O_NOFOLLOW
1685         rather than O_NOFOLLOW, when testing whether it's possible to
1686         avoid a race condition reliably.
1687         * lib/savewd.c (savewd_chdir): Likewise.
1688
1689         Remove macros that are no longer needed now that stdint.h is
1690         reliable.
1691         * lib/fsusage.c (UINTMAX_MAX): Remove.
1692         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Remove.
1693         * lib/utimecmp.c (SIZE_MAX): Remove.
1694
1695         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check whether lchown is declared.
1696
1697         * m4/fcntl_h.m4 (gl_FCNTL_H): Define HAVE_WORKING_O_NOFOLLOW instead
1698         of O_NOFOLLOW_IS_INEFFECTIVE.  Define HAVE_WORKING_O_NOATIME if
1699         O_NOATIME works.
1700
1701 2006-10-05  Bruno Haible  <bruno@clisp.org>
1702
1703         * lib/gl_list.h (gl_sortedlist_search_from_to,
1704         gl_sortedlist_indexof_from_to): New declarations.
1705         (gl_list_implementation): New fields sortedlist_search_from_to,
1706         sortedlist_indexof_from_to.
1707         (gl_sortedlist_search_from_to, gl_sortedlist_indexof_from_to): New
1708         inline functions.
1709         * lib/gl_list.c (gl_sortedlist_search_from_to,
1710         gl_sortedlist_indexof_from_to): New functions.
1711         * lib/gl_array_list.c (gl_array_sortedlist_indexof_from_to): New
1712         function.
1713         (gl_array_sortedlist_indexof, gl_array_sortedlist_search): Use it.
1714         (gl_array_sortedlist_search_from_to): New function.
1715         (gl_array_list_implementation): Update.
1716         * lib/gl_carray_list.c (gl_carray_sortedlist_indexof_from_to): New
1717         function.
1718         (gl_carray_sortedlist_indexof, gl_carray_sortedlist_search): Use it.
1719         (gl_carray_sortedlist_search_from_to): New function.
1720         (gl_carray_list_implementation): Update.
1721         * lib/gl_anylinked_list2.h (gl_linked_sortedlist_search_from_to,
1722         gl_linked_sortedlist_indexof_from_to): New functions.
1723         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
1724         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
1725         * lib/gl_anytree_list2.h (gl_tree_sortedlist_search_from_to,
1726         gl_tree_sortedlist_indexof_from_to): New functions.
1727         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
1728         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
1729         Update.
1730         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
1731         * lib/gl_rbtreehash_list.c (gl_avltreehash_list_implementation):
1732         Update.
1733
1734 2006-10-05  Bruno Haible  <bruno@clisp.org>
1735
1736         * lib/gl_list.h (gl_list_search_from, gl_list_search_from_to,
1737         gl_list_indexof_from, gl_list_indexof_from_to): New declarations.
1738         (struct gl_list_implementation): Add fields search_from_to,
1739         indexof_from_to. Remove fields search, indexof.
1740         (gl_list_search): Use the search_from_to method.
1741         (gl_list_search_from, gl_list_search_from_to): New functions.
1742         (gl_list_indexof): Use the indexof_from_to method.
1743         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
1744         * lib/gl_list.c (gl_list_search): Use the search_from_to method.
1745         (gl_list_search_from, gl_list_search_from_to): New functions.
1746         (gl_list_indexof): Use the indexof_from_to method.
1747         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
1748         * lib/gl_array_list.c (gl_array_indexof_from_to): Renamed from
1749         gl_array_indexof. Add start_index, end_index arguments.
1750         (gl_array_search_from_to): Renamed from gl_array_search. Add
1751         start_index, end_index arguments.
1752         (gl_array_remove, gl_array_list_implementation): Update.
1753         * lib/gl_carray_list.c (gl_carray_indexof_from_to): Renamed from
1754         gl_carray_indexof. Add start_index, end_index arguments.
1755         (gl_carray_search_from_to): Renamed from gl_carray_search. Add
1756         start_index, end_index arguments.
1757         (gl_carray_remove, gl_carray_list_implementation): Update.
1758         * lib/gl_anylinked_list2.h (gl_linked_search_from_to): Renamed from
1759         gl_linked_search. Add start_index, end_index arguments.
1760         (gl_linked_indexof_from_to): Renamed from gl_linked_indexof. Add
1761         start_index, end_index arguments.
1762         (gl_linked_remove): Update.
1763         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
1764         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
1765         * lib/gl_anytree_list1.h (iterstack_item_t): Change type of 'rightp'
1766         field to 'size_t'.
1767         * lib/gl_anytree_list2.h (gl_tree_search_from_to): Renamed from
1768         gl_tree_search. Add start_index, end_index arguments.
1769         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
1770         start_index, end_index arguments.
1771         (gl_tree_remove): Update.
1772         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
1773         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
1774         * lib/gl_anytreehash_list1.h (compare_position_threshold): New
1775         function.
1776         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Renamed from
1777         gl_tree_search. Add start_index, end_index arguments.
1778         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
1779         start_index, end_index arguments.
1780         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
1781         Update.
1782         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Update.
1783
1784 2006-10-05  Bruno Haible  <bruno@clisp.org>
1785
1786         * modules/fwriteerror (configure.ac): Define GNULIB_FWRITEERROR.
1787
1788         * lib/clean-temp.h (open_temp, fopen_temp, close_temp, fclose_temp,
1789         fwriteerror_temp): New declarations.
1790         * lib/clean-temp.c (uintptr_t): Provide fallback definition.
1791         (descriptors): New variable.
1792         (cleanup): First, close the descriptors.
1793         (register_fd, unregister_fd, open_temp, fopen_temp, close_temp,
1794         fclose_temp, fwriteerror_temp): New functions.
1795
1796 2006-10-04  Jim Meyering  <jim@meyering.net>
1797
1798         * lib/fts.c (fts_open): Tiny comment change.
1799
1800 2006-10-04  Bruno Haible  <bruno@clisp.org>
1801
1802         Make it possible to invoke AC_GNU_SOURCE after gl_LOCK_EARLY.
1803         * m4/lock.m4 (gl_LOCK_EARLY_BODY): New macro, extracted code from
1804         gl_LOCK_BODY.
1805         (gl_LOCK_EARLY): Require gl_LOCK_EARLY_BODY, not gl_LOCK_BODY.
1806         (gl_LOCK_BODY): Remove settings of CPPFLAGS, now done in
1807         gl_LOCK_EARLY_BODY.
1808         (gl_LOCK): Require gl_LOCK_BODY.
1809
1810 2006-10-04  Bruno Haible  <bruno@clisp.org>
1811
1812         * lib/gl_oset.h (gl_setelement_threshold_fn): New type.
1813         (gl_oset_search_atleast): New declaration.
1814         (struct gl_oset_implementation): Add field 'search_atleast'.
1815         (gl_oset_search_atleast): New inline function.
1816         * lib/gl_oset.c (gl_oset_search_atleast): New function.
1817         * lib/gl_array_oset.c (gl_array_search_atleast): New function.
1818         (gl_array_oset_implementation): Update.
1819         * lib/gl_anytree_oset.h (gl_tree_search_atleast): New function.
1820         * lib/gl_avltree_oset.c (gl_avltree_oset_implementation): Update.
1821         * lib/gl_rbtree_oset.c (gl_rbtree_oset_implementation): Update.
1822
1823 2006-10-04  Bruno Haible  <bruno@clisp.org>
1824
1825         * lib/fatal-signal.c (fatal_signals) [WOE32]: Add the SIGBREAK signal.
1826
1827 2006-10-03  Bruno Haible  <bruno@clisp.org>
1828
1829         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Renamed
1830         from gl_avltreehash_list_implementation.
1831
1832 2006-10-03  Bruno Haible  <bruno@clisp.org>
1833
1834         * lib/gl_oset.c (gl_oset_add): Fix return type.
1835
1836 2006-10-02  Paolo Bonzini  <bonzini@gnu.org>  (tiny change)
1837
1838         * lib/quotearg.c (mbstate_t) [!HAVE_MBRTOWC]: #define to int.
1839
1840 2006-10-02  Eric Blake  <ebb9@byu.net>
1841
1842         * modules/strnlen (Depends-on): Add extensions.
1843
1844 2006-10-02  Eric Blake  <ebb9@byu.net>
1845
1846         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use autoconf's
1847         definition in 2.60+.
1848
1849 2006-10-02  Dmitry V. Levin  <ldv@altlinux.org>
1850
1851         * lib/fts.c (fts_close, fts_build, fts_palloc): Remove redundant
1852         checks.
1853
1854 2006-10-02  Bruno Haible  <bruno@clisp.org>
1855
1856         * gnulib-tool (func_emit_lib_Makefile_am): Don't add no-dependencies
1857         to the AUTOMAKE_OPTIONS.
1858         Reported by Jim Meyering.
1859
1860 2006-09-29  Paul Eggert  <eggert@cs.ucla.edu>
1861
1862         Work around bug in Solaris 10 /proc file system:
1863         /proc/self/fd/NNN/.. isn't the parent directory of
1864         the directory whose file descriptor is NNN.  This needs to
1865         be worked around at run time, not compile time, since a
1866         program might be built on Solaris 8, where things work, and
1867         run on Solaris 10.
1868         * lib/openat-priv.h (BUILD_PROC_NAME): Remove.  All callers changed
1869         to use the following interface instead:
1870         (OPENAT_BUFFER_SIZE): New macro.
1871         (openat_proc_name): New function.
1872         * lib/at-func.c (AT_FUNC_NAME): Adjust to above changes.
1873         * lib/openat.c (openat_permissive, openat_needs_fchdir, fdopendir):
1874         Likewise.
1875         * lib/openat-proc.c: New file.
1876         * modules/openat (Files): Add lib/openat-proc.c.
1877         (Depends-on): Add same-inode, stdbool.
1878         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBOBJ(openat-proc).
1879
1880 2006-09-29  Bruno Haible  <bruno@clisp.org>
1881
1882         * lib/fwriteerror.h (fwriteerror_no_ebadf): New declaration.
1883         * lib/(do_fwriteerror): Renamed from fwriteerror. Add ignore_ebadf
1884         argument. Set stdout_closed before testing for ferror, not after.
1885         (fwriteerror, fwriteerror_no_ebadf): New functions.
1886
1887 2006-09-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
1888
1889         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Avoid unused variables warning.
1890
1891 2006-09-28  Paolo Bonzini  <bonzini@gnu.org>
1892
1893         * lib/poll.c (rpl_poll) [__APPLE__]: Use FIONREAD instead of MSG_PEEK.
1894         * m4/poll.m4: Look for sys/ioctl.h and sys/filio.h.
1895
1896 2006-09-28  Jim Meyering  <jim@meyering.net>
1897
1898         * lib/mkdir-p.c: Include "dirchownmod.h", not "dirchownmod.c".
1899         Include <unistd.h>.
1900
1901 2006-09-28  Bruno Haible  <bruno@clisp.org>
1902
1903         * modules/avltreehash-list (Depends-on): Add stdint, remove size_max.
1904         * modules/linkedhash-list (Depends-on): Likewise.
1905         * modules/rbtreehash-list (Depends-on): Likewise.
1906
1907 2006-09-28  Bruno Haible  <bruno@clisp.org>
1908
1909         * lib/strndup.h: Simplify the redefinition of strndup.
1910         (_GL_CONCAT, _GL_XCONCAT, __STRNDUP_ID): Remove macros.
1911         * m4/strndup.m4 (gl_FUNC_STRNDUP): Don't define __STRNDUP_PREFIX.
1912
1913 2006-09-28  Bruno Haible  <bruno@clisp.org>
1914
1915         * lib/gl_avltreehash_list.c: Include <stdint.h> instead of size_max.h.
1916         * lib/gl_linkedhash_list.c: Likewise.
1917         * lib/gl_rbtreehash_list.c: Likewise.
1918
1919 2006-09-27  Paul Eggert  <eggert@cs.ucla.edu>
1920
1921         * lib/canon-host.c (canon_host_r): Work around bug in Darwin 7.9.0
1922         getaddrinfo.
1923
1924         * lib/__fpending.h: Don't include <stdio_ext.h> unless
1925         HAVE_DECL___FPENDING.  This avoids a bug with lsbcc, where
1926         it causes <stdio_ext.h> to cause a compile-time error.
1927         Problem reported by Nelson H. F. Beebe.
1928         * lib/getpass.c: Likewise, except for HAVE_DECL___FSETLOCKING instead
1929         of HAVE_DECL___PENDING.
1930
1931         * m4/fpending.m4 (gl_FUNC_FPENDING): Check for stdio_ext at most once.
1932         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for __fsetlocking's
1933         declaration.
1934
1935 2006-09-27  Jim Meyering  <jim@meyering.net>
1936
1937         This file could end up with a definition for a function
1938         named __strndup, rather than rpl_strndup on a system with
1939         incomplete weak_alias support.
1940         * lib/strndup.c (strndup): Rename from __strndup.
1941         Remove #defines that used to map __strndup to strndup.
1942         Don't use K&R prototypes.
1943         Remove LIBC-related code, since this file is not sync'd with glibc.
1944         * lib/strndup.h: Revamp, accordingly.
1945         * m4/strndup.m4: Modernize.
1946
1947 2006-09-26  Paul Eggert  <eggert@cs.ucla.edu>
1948
1949         * modules/savewd (Depends-on): Add 'raise'.
1950         * lib/savewd.c: Include <signal.h>, for 'raise'.
1951
1952 2006-09-26  Jim Meyering  <jim@meyering.net>
1953
1954         * m4/acl.m4 (AC_FUNC_ACL): Disable ACL support altogether
1955         when we detect Darwin 8.7.0's acl_get_file bug.
1956         Rearrange to perform the new (below) run-test while $LIBS
1957         contains any acl-related library.  Set USE_ACL at the end.
1958         (gl_ACL_GET_FILE): New function.
1959
1960 2006-09-26  Eric Blake  <ebb9@byu.net>
1961
1962         * lib/verror.c: Include <config.h> unconditionally.
1963
1964 2006-09-25  Paul Eggert  <eggert@cs.ucla.edu>
1965
1966         * modules/clock-time (Maintainer): Add self.
1967         * modules/getlogin_r (Depends-on): Add extensions.
1968
1969 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
1970
1971         * modules/clock-time: New module.
1972         * modules/nanosleep (Depends-on): Add clock-time.
1973         * modules/gethrxtime (Depends-on): Likewise.
1974         * modules/gettime (Depends-on): Likewise.
1975         * modules/settime (Depends-on): Likewise.
1976
1977         * modules/fts-lgpl: Depend on openat.
1978         * modules/mkancesdirs: Depend on savewd.
1979         * modules/mkdir-p: Likewise.
1980
1981 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
1982
1983         * m4/host-os.m4 (gl_HOST_OS): Require AC_CANONICAL_HOST.
1984
1985         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Rename cache variable from
1986         `gl_have_arbitrary_file_name_length_limit' to
1987         `gl_cv_have_arbitrary_file_name_length_limit', so that caching
1988         actually works between configure runs.
1989
1990 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
1991             Bruno Haible  <bruno@clisp.org>
1992
1993         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Include <string.h>.
1994
1995 2006-09-25  Jim Meyering  <jim@meyering.net>
1996
1997         * m4/fcntl_h.m4 (gl_FCNTL_H): Fix typo in test for failed open.
1998         This typo caused coreutils/tests/dd/misc to fail on Darwin 8.7.0.
1999
2000 2006-09-25  Eric Blake  <ebb9@byu.net>
2001
2002         * gnulib-tool (func_import, func_create_testdir): Fix typos in
2003         exec's in 2006-09-18 patch when shuffling fds.
2004
2005 2006-09-25  Bruno Haible  <bruno@clisp.org>
2006
2007         * m4/getloadavg.m4 (gl_GETLOADAVG): Fix directory in error message.
2008         Reported by Jim Meyering.
2009
2010 2006-09-24  Jim Meyering  <jim@meyering.net>
2011
2012         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Don't use '>' to
2013         compare a pointer against a literal "0".  That caused failures with
2014         at least HP-UX's hpcc.
2015
2016 2006-09-22  Simon Josefsson  <jas@extundo.com>
2017
2018         * modules/gc-sha1:
2019         * modules/gc-md4:
2020         * modules/gc-hmac-sha1:
2021         * modules/gc-hmac-md5:
2022         * modules/gc-des:
2023         * modules/gc-arcfour: Distribute more files.
2024
2025 2006-09-22  Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
2026
2027         * lib/gl_anylinked_list2.h [lint] (gl_linked_iterator)
2028         (gl_linked_iterator_from_to): Initialize struct completely.
2029         * lib/gl_anytree_list2.h [lint] (gl_tree_iterator): Likewise.
2030         (gl_tree_iterator_from_to): Likewise
2031         * lib/gl_anytree_oset.h [lint] (gl_tree_iterator): Likewise.
2032         * lib/gl_array_list.c [lint] (gl_array_iterator)
2033         (gl_array_iterator_from_to): Likewise.
2034         * lib/gl_array_oset.c [lint] (gl_array_iterator): Likewise.
2035         * lib/gl_carray_list.c [lint] (gl_carray_iterator)
2036         (gl_carray_iterator_from_to): Likewise.
2037
2038         * lib/gc-gnulib.c [GC_USE_HMAC_SHA1]: include hmac.h for hmac_sha1.
2039         * lib/md4.c (md4_process_block): Remove unused variable.
2040         * lib/rijndael-api-fst.c (rijndaelBlockDecrypt): GCC suggests
2041         parentheses for clarity.
2042
2043 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
2044
2045         * modules/bison-i18n (Depends-on): Add gettext.
2046
2047 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
2048
2049         * m4/fsusage.m4 (gl_STATFS_TRUNCATES): Avoid unused variable.
2050         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Likewise.
2051         * m4/jm-winsz1.m4 (gl_HEADER_TIOCGWINSZ_IN_TERMIOS_H): Likewise;
2052         also add missing comma that caused broken test.
2053         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Include
2054         stdlib.h, for `abort'.
2055         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Avoid unused
2056         variables.
2057         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Check for and
2058         include unistd.h if present, for `rmdir'.
2059         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Avoid unused
2060         variables.
2061         * m4/putenv.m4 (gl_FUNC_PUTENV): Rewrite using AC_RUN_IFELSE, and
2062         in the process include standard headers for prototypes.
2063         * m4/readutmp.m4 (gl_READUTMP): Require AC_GNU_SOURCE, so utmpxname
2064         gets declared on GNU/Linux.
2065         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Check for and include
2066         unistd.h, for `rmdir'.
2067         * m4/time_r.m4 (gl_TIME_R): Avoid unused variables.
2068
2069         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Avoid expression that is
2070         always true.
2071         * m4/strndup.m4 (gl_FUNC_STRNDUP): include stdlib.h, for `free'.
2072
2073         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Avoid gcc -Wall warnings.
2074
2075 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
2076
2077         * gnulib-tool (func_version): Create output all at once.  This
2078         may help avoid triggering unnecessary SIGPIPEs, and at any
2079         rate it doesn't hurt.
2080
2081 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
2082             Bruno Haible  <bruno@clisp.org>
2083
2084         * m4/lock.m4 (gl_LOCK_BODY): Avoid unused variables warning.
2085         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
2086         * m4/signed.m4 (bh_C_SIGNED): Likewise.
2087
2088         * m4/vasprintf.m4 (gl_PREREQ_VASPRINTF_H): New macro.
2089         (gl_FUNC_VASPRINTF): Invoke it.
2090
2091 2006-09-22  Bruno Haible  <bruno@clisp.org>
2092
2093         * m4/getloadavg.m4 (gl_GETLOADAVG): Expect the directory of
2094         getloadavg.c as first argument.
2095
2096 2006-09-22  Bruno Haible  <bruno@clisp.org>
2097
2098         * gnulib-tool (func_import, func_create_testdir): Set gl_source_base
2099         at the beginning of the gl_INIT macro.
2100         * modules/getloadavg (configure.ac): Pass $gl_source_base to
2101         gl_GETLOADAVG.
2102
2103 2006-09-22  Bruno Haible  <bruno@clisp.org>
2104
2105         * gnulib-tool (func_create_megatestdir): Don't include the config-h
2106         module.
2107         Suggested by Ralf Wildenhues.
2108
2109 2006-09-20  Paul Eggert  <eggert@cs.ucla.edu>
2110
2111         Import this patch from libc:
2112
2113         2006-09-06  Jakub Jelinek  <jakub@redhat.com>
2114
2115         * lib/regex_internal.c (re_string_reconstruct): Handle
2116         offset < pstr->valid_raw_len && pstr->offsets_needed case.
2117         Ensure no bytes read before raw_mbs array.  Pass a saved copy of
2118         pstr->valid_len - 1 rather than pstr->valid_raw_len - 1 to
2119         re_string_context_at.
2120
2121         * m4/regex.m4 (gl_REGEX): Check for locale.h, since the test
2122         now requires it.
2123         (gl_PREREQ_REGEX): Don't check for locale.h any more, since
2124         gl_REGEX now does it for us.
2125         (gl_REGEX): Add test taken from
2126         http://sourceware.org/ml/libc-hacker/2006-09/msg00008.html.
2127
2128         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require AC_SYS_LARGEFILE.
2129         Check that large offsets work.  Modernize Autoconf usages.
2130         Prefer "yes" to mean a good thing rather than a bad.
2131         Don't put "#define mkstemp" in config.h, as this might interfere
2132         with standard system headers that "#define mkstemp mkstemp64".
2133
2134         * modules/mkstemp (Depends-on): Add extensions, so that
2135         mkstemp is visible on some platforms.
2136         (Makefile.am): Add mkstemp.h to EXTRA_DIST.
2137         (Include): Change to "mkstemp.h" from <stdlib.h>.
2138         (Files): Add mkstemp.h.
2139
2140         * lib/mkstemp.h: New file, since some standard headers
2141         #define mkstemp.
2142         * lib/mkstemp.c: Revamp to put the !_LIBC code together.
2143         Include "mkstemp.h".
2144         Make the _LIBC code resemble glibc original more,
2145         e.g., use K&R style.
2146         * lib/mkstemp-safer.c: Include "mkstemp.h" instead of <stdlib.h>.
2147         (mkstemp): Remove, since mkstemp.h does this for us.
2148         * lib/stdlib--.h: Include mkstemp.h.
2149
2150         Import this patch from libc:
2151
2152         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
2153
2154         * lib/tempname.c (__gen_tempname): Change attempts_min
2155         into a macro.  Use preprocessor to decide how to initialize
2156         attempts [Coverity CID 67].
2157
2158 2006-09-20  Bruno Haible  <bruno@clisp.org>
2159
2160         * lib/mkdtemp.c: Import from libc.
2161         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
2162                 * sysdeps/posix/tempname.c (__gen_tempname): Change
2163                 attempts_min into a macro.  Use preprocessor to decide how to
2164                 initialize attempts [Coverity CID 67].
2165         2001-11-27  Paul Eggert  <eggert@twinsun.com>
2166                 * sysdeps/posix/tempname.c (__gen_tempname): Try at least
2167                 ATTEMPTS_MIN or TMP_MAX times, whichever is greater.
2168
2169 2006-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
2170
2171         * gnulib-tool (func_exit): New function, to allow to pass the
2172         exit status portably through the trap.  Use everywhere.
2173         (--help, --version): Signal a write error.
2174         (trap): catch SIGPIPE, for write errors.
2175         Exit at the end of the trap, with the correct exit status.
2176
2177 2006-09-19  Karl Berry  <karl@gnu.org>
2178
2179         * doc/gnulib.texi: note about the license texinfo files.
2180
2181 2006-09-19  Eric Blake  <ebb9@byu.net>
2182
2183         * gnulib-tool: Avoid space-tab.
2184
2185 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
2186
2187         * lib/getaddrinfo.c (getaddrinfo) [defined HAVE_IPV6]: Fix typo
2188         that prevented coreutils 6.1 from building.  Problem reported
2189         by Petter Reinholdtsen.
2190
2191 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
2192
2193         * gnulib-tool (avoidlist): Fix typo that broke options like
2194         --avoid=lock that are used by coreutils bootstrap.
2195
2196 2006-09-18  Mark D. Baushke  <mdb@gnu.org>
2197
2198         * m4/inttypes.m4 (gl_INTTYPES_H): Quote "test" args
2199         more systematically.
2200
2201 2006-09-18  Jim Meyering  <jim@meyering.net>
2202
2203         * lib/savewd.c (savewd_restore): Don't shadow: s/status/child_status/.
2204
2205 2006-09-18  Bruno Haible  <bruno@clisp.org>
2206
2207         * modules/inttypes (Files): Remove m4/inttypes-h.m4.
2208
2209 2006-09-18  Bruno Haible  <bruno@clisp.org>
2210
2211         * m4/inttypes-h.m4 (gl_HEADER_INTTYPES_H): Remove macro.
2212         * m4/inttypes-pri.m4: Require autoconf >= 2.52.
2213         (gt_INTTYPES_PRI): Invoke AC_CHECK_HEADERS on inttypes.h. Test
2214         ac_cv_header_inttypes_h instead of gl_cv_header_inttypes_h.
2215         * m4/gettext.m4: Require autoconf >= 2.52.
2216         (gt_INTL_SUBDIR_CORE): Invoke AC_CHECK_HEADERS on inttypes.h.
2217         * m4/inttypes.m4 (gl_INTTYPES_H): Test ac_cv_header_inttypes_h instead
2218         of gl_cv_header_inttypes_h.
2219
2220 2006-09-18  Bruno Haible  <bruno@clisp.org>
2221
2222         * lib/javaversion.c: Include configmake.h.
2223
2224 2006-09-18  Bruno Haible  <bruno@clisp.org>
2225
2226         * gnulib-tool (func_import, func_create_testdir): Use exec tricks to
2227         avoid that the while loops be executed in a subshell.
2228
2229 2006-09-18  Bruno Haible  <bruno@clisp.org>
2230
2231         * MODULES.html.sh (func_module): Break long lines.
2232         Suggested by Bruce Korb <bkorb@gnu.org>.
2233
2234 2006-09-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
2235
2236         Speed up by a factor of 1.12.
2237         * gnulib-tool (nl): New variable.
2238         (func_import): Rewrite include directive extraction to only read each
2239         directive once.
2240
2241 2006-09-17  Bruno Haible  <bruno@clisp.org>
2242
2243         * modules/javaversion (Makefile.am): Remove DEFS setting.
2244         (Depends-on): Add configmake, for PKGDATADIR definition.
2245
2246 2006-09-17  Bruno Haible  <bruno@clisp.org>
2247
2248         * gnulib-tool (func_create_testdir): Rewrite all files at once.
2249
2250 2006-09-17  Bruno Haible  <bruno@clisp.org>
2251
2252         * gnulib-tool (func_append): New function, stolen from libtool.m4.
2253         (func_modules_transitive_closure, func_modules_add_dummy,
2254         func_modules_to_filelist, func_import, func_create_testdir,
2255         func_create_megatestdir, ...): Use it wherever possible.
2256         Suggested by Ralf Wildenhues.
2257
2258 2006-09-16  Karl Berry  <karl@gnu.org>
2259
2260         * doc/fdl.texi (ADDENDUM): switch to @heading from @appendixsubsec,
2261         to avoid sectioning errors.
2262         * doc/lgpl.texi, gpl.texi (Copying): downcase @unnumbered title.
2263         [ifinfo]: blank line after @center-ed titles.
2264         * doc/lgpl.texi (Library Copying): Rename main node to GNU LGPL.
2265         Spell FSF address consistently with others.
2266         (These changes approved by rms.)
2267
2268 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
2269
2270         Speed up by a factor of 1.61.
2271         * gnulib-tool (func_modules_transitive_closure): Rewrite to not check
2272         already checked module names again.
2273
2274 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
2275
2276         Speed up by a factor of 1.13.
2277         * gnulib-tool (func_import): Rewrite all old_files at once; likewise
2278         for new_files, and the input to func_add_or_update.
2279
2280 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
2281
2282         * gnulib-tool (func_all_modules, func_modules_to_filelist, func_import,
2283         func_create_testdir, ...): Change 'sort | uniq' to 'sort -u'.
2284
2285 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
2286
2287         * modules/mkancesdirs (Depends-on): Add fcntl.
2288         * modules/savewd: New file.
2289         * MODULES.html.sh (File system functions): Add savewd.
2290
2291         * modules/configmake (Makefile.am): Add support for the
2292         Automake-supplied PKGLIBDIR, PKGINCLUDEDIR, PKGDATADIR.
2293
2294 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
2295
2296         * m4/savewd.m4: New file.
2297
2298 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
2299
2300         * lib/dirchownmod.c: Don't include fcntl.h; no longer needed.
2301         (dirchownmod): New arg FD.  All callers changed.
2302         Use FD rather than opening the directory ourself, as opening is
2303         now the caller's responsibility.
2304         * lib/dirchownmod.h: Likewise.
2305         * lib/mkancesdirs.c: Include <sys/types.h>, for portability to older
2306         hosts that require <sys/types.h> before <sys/stat.h>.  Include
2307         fcntl.h, savewd.h, and unistd.h, not dirname.h and stat-macros.h.
2308         (test_dir): Remove.
2309         (mkancesdirs): Return length of prefix of FILE that has already
2310         been made, or -2 if there is a child doing the work.  Redo
2311         algorithm so that it is O(N) rather than O(N**2).  Optimize away
2312         ".", and treat ".." specially since it might stray back into
2313         already-created areas.  Use a subprocess if necessary.  New arg
2314         WD; all users changed.  MAKE_DIR function should now return 1
2315         if it creates a directory that is not readable.  Return -2 if
2316         a child process is spun off.
2317         * lib/mkancesdirs.h: Include <stddef.h>, for ptrdiff_t.
2318         Adjust signature to match code.
2319         * lib/mkdir-p.c: Include dirname.h, for IS_ABSOLUTE_FILE_NAME.
2320         (make_dir_parents): Use a subprocess if necessary.  New arg WD;
2321         all users changed.
2322         * lib/savewd.c, lib/savewd.h: New files.
2323
2324 2006-09-15  Jim Meyering  <jim@meyering.net>
2325
2326         * modules/rename-dest-slash: New module.
2327         * MODULES.html.sh (posix_compat): Add it here.
2328
2329         * modules/rename: Reflect vb_FUNC_RENAME -> gl_FUNC_RENAME change.
2330
2331 2006-09-15  Jim Meyering  <jim@meyering.net>
2332
2333         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH): New
2334         file.
2335
2336         * m4/rename.m4 (gl_FUNC_RENAME): Rename from vb_FUNC_RENAME.
2337
2338 2006-09-15  Jim Meyering  <jim@meyering.net>
2339
2340         * lib/rename-dest-slash.c (has_trailing_slash): Use
2341         FILE_SYSTEM_PREFIX_LEN, for non-POSIX systems.
2342         (rpl_rename_dest_slash): Perform the cheaper trailing slash
2343         test before testing whether SRC is a directory.
2344         Suggestions from Bruno Haible.
2345
2346         Avoid a warning about an unused variable.
2347         * lib/regex_internal.c (re_dfa_add_node): Move declaration of "type"
2348         into the #ifdef block where it's used.
2349
2350         * lib/rename-dest-slash.c: New file.
2351
2352 2006-09-14  Bruno Haible  <bruno@clisp.org>
2353
2354         * lib/allocsa.c: Include <config.h> unconditionally.
2355         * lib/asnprintf.c: Likewise.
2356         * lib/asprintf.c: Likewise.
2357         * lib/c-strcasecmp.c: Likewise.
2358         * lib/c-strcasestr.c: Likewise.
2359         * lib/c-strncasecmp.c: Likewise.
2360         * lib/c-strstr.c: Likewise.
2361         * lib/classpath.c: Likewise.
2362         * lib/clean-temp.c: Likewise.
2363         * lib/concatpath.c: Likewise.
2364         * lib/copy-file.c: Likewise.
2365         * lib/csharpcomp.c: Likewise.
2366         * lib/csharpexec.c: Likewise.
2367         * lib/execute.c: Likewise.
2368         * lib/fatal-signal.c: Likewise.
2369         * lib/findprog.c: Likewise.
2370         * lib/fwriteerror.c: Likewise.
2371         * lib/gl_array_list.c: Likewise.
2372         * lib/gl_array_oset.c: Likewise.
2373         * lib/gl_avltree_list.c: Likewise.
2374         * lib/gl_avltree_oset.c: Likewise.
2375         * lib/gl_avltreehash_list.c: Likewise.
2376         * lib/gl_carray_list.c: Likewise.
2377         * lib/gl_linked_list.c: Likewise.
2378         * lib/gl_linkedhash_list.c: Likewise.
2379         * lib/gl_list.c: Likewise.
2380         * lib/gl_oset.c: Likewise.
2381         * lib/gl_rbtree_list.c: Likewise.
2382         * lib/gl_rbtree_oset.c: Likewise.
2383         * lib/gl_rbtreehash_list.c: Likewise.
2384         * lib/imaxabs.c: Likewise.
2385         * lib/imaxdiv.c: Likewise.
2386         * lib/javacomp.c: Likewise.
2387         * lib/javaexec.c: Likewise.
2388         * lib/javaversion.c: Likewise.
2389         * lib/linebreak.c: Likewise.
2390         * lib/localcharset.c: Likewise.
2391         * lib/lock.c: Likewise.
2392         * lib/mbchar.c: Likewise.
2393         * lib/mbswidth.c: Likewise.
2394         * lib/mkdtemp.c: Likewise.
2395         * lib/pipe.c: Likewise.
2396         * lib/printf-args.c: Likewise.
2397         * lib/printf-parse.c: Likewise.
2398         * lib/progname.c: Likewise.
2399         * lib/progreloc.c: Likewise.
2400         * lib/readlink.c: Likewise.
2401         * lib/sh-quote.c: Likewise.
2402         * lib/stpcpy.c: Likewise.
2403         * lib/stpncpy.c: Likewise.
2404         * lib/strcasecmp.c: Likewise.
2405         * lib/strcasestr.c: Likewise.
2406         * lib/strcspn.c: Likewise.
2407         * lib/striconv.c: Likewise.
2408         * lib/strncasecmp.c: Likewise.
2409         * lib/strnlen1.c: Likewise.
2410         * lib/strstr.c: Likewise.
2411         * lib/strtok_r.c: Likewise.
2412         * lib/tls.c: Likewise.
2413         * lib/tmpdir.c: Likewise.
2414         * lib/unicodeio.c: Likewise.
2415         * lib/unsetenv.c: Likewise.
2416         * lib/vasnprintf.c: Likewise.
2417         * lib/vasprintf.c: Likewise.
2418         * lib/wait-process.c: Likewise.
2419         * lib/xallocsa.c: Likewise.
2420         * lib/xsetenv.c: Likewise.
2421         * lib/xstriconv.c: Likewise.
2422
2423 2006-09-13  Simon Josefsson  <jas@extundo.com>
2424
2425         * m4/getdate.m4: Don't AC_LIBOBJ([getdate]), automake takes care of
2426         that internally, suggested by Ralf Wildenhues
2427         <Ralf.Wildenhues@gmx.de>.
2428
2429 2006-09-13  Simon Josefsson  <jas@extundo.com>
2430
2431         * gnulib-tool (func_emit_lib_Makefile_am): Use $(LIBOBJS), not
2432         @LIBOBJS@.
2433         Suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
2434
2435 2006-09-13  Paul Eggert  <eggert@cs.ucla.edu>
2436
2437         * lib/_fpending.c: Include <config.h> unconditionally, since we no
2438         longer worry about uses that don't define HAVE_CONFIG_H.
2439         * lib/acl.c, lib/alloca.c, lib/argmatch.c, lib/atexit.c:
2440         * lib/backupfile.c, lib/basename.c, lib/c-stack.c, lib/c-strtod.c:
2441         * lib/calloc.c,lib/ canon-host.c, lib/canonicalize.c, lib/chdir-long.c:
2442         * lib/chdir-safer.c, lib/chown.c, lib/cloexec.c, lib/close-stream.c:
2443         * lib/closeout.c, lib/creat-safer.c, lib/cycle-check.c, lib/diacrit.c:
2444         * lib/dirchownmod.c, lib/dirfd.c, lib/dirname.c, lib/dup-safer.c:
2445         * lib/dup2.c, lib/error.c, lib/euidaccess.c, lib/exclude.c:
2446         * lib/exitfail.c, lib/fchmodat.c, lib/fchown-stub.c, lib/fd-safer.c:
2447         * lib/file-type.c, lib/fileblocks.c, lib/filemode.c, lib/filenamecat.c:
2448         * lib/fnmatch.c, lib/fopen-safer.c, lib/fprintftime.c, lib/free.c:
2449         * lib/fsusage.c, lib/ftruncate.c, lib/fts-cycle.c, lib/fts.c:
2450         * lib/full-write.c, lib/gai_strerror.c, lib/getcwd.c, lib/getdate.y:
2451         * lib/getdomainname.c, lib/getgroups.c, lib/gethostname.c:
2452         * lib/gethrxtime.c, lib/getloadavg.c, lib/getlogin_r.c:
2453         * lib/getndelim2.c, lib/getnline.c, lib/getopt.c, lib/getopt1.c:
2454         * lib/getpass.c, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c:
2455         * lib/getusershell.c, lib/glob.c, lib/group-member.c:
2456         * lib/hard-locale.c, lib/hash-pjw.c, lib/hash.c, lib/human.c:
2457         * lib/idcache.c, lib/inet_ntop.c, lib/inet_pton.c, lib/inttostr.c:
2458         * lib/isdir.c, lib/lchown.c, lib/linebuffer.c, lib/long-options.c:
2459         * lib/lstat.c, lib/malloc.c, lib/md5.c, lib/memcasecmp.c, lib/memchr.c:
2460         * lib/memcmp.c, lib/memcoll.c, lib/memcpy.c, lib/memmove.c:
2461         * lib/memrchr.c, lib/mkancesdirs.c, lib/mkdir-p.c, lib/mkdir.c:
2462         * lib/mkdirat.c, lib/mkstemp-safer.c, lib/mkstemp.c, lib/modechange.c:
2463         * lib/mountlist.c, lib/nanosleep.c, lib/obstack.c, lib/open-safer.c:
2464         * lib/openat-die.c, lib/openat.c, lib/pagealign_alloc.c, lib/physmem.c:
2465         * lib/pipe-safer.c, lib/posixtm.c, lib/posixver.c, lib/putenv.c:
2466         * lib/quote.c, lib/quotearg.c, lib/raise.c, lib/readtokens.c:
2467         * lib/readtokens0.c, lib/readutmp.c, lib/realloc.c, lib/regex.c:
2468         * lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c:
2469         * lib/same.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c:
2470         * lib/settime.c, lib/sha1.c, lib/sig2str.c, lib/snprintf.c:
2471         * lib/strdup.c, lib/strerror.c, lib/strftime.c, lib/stripslash.c:
2472         * lib/strndup.c, lib/strnlen.c, lib/strpbrk.c, lib/strtod.c:
2473         * lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c:
2474         * lib/time_r.c, lib/timegm.c, lib/tmpfile-safer.c, lib/unlinkdir.c:
2475         * lib/userspec.c, lib/utime.c, lib/utimecmp.c, lib/utimens.c:
2476         * lib/version-etc-fsf.c, lib/version-etc.c, lib/xalloc-die.c:
2477         * lib/xgetcwd.c, lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c:
2478         * lib/xnanosleep.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtoimax.c:
2479         * lib/xstrtol.c, lib/xstrtoumax.c, lib/yesno.c:
2480         Likewise.
2481
2482 2006-09-13  Eric Blake  <ebb9@byu.net>
2483
2484         * lib/getopt.c: Fix typo in last commit.
2485
2486 2006-09-12  Sergey Poznyakoff  <gray@gnu.org.ua>
2487
2488         * lib/argp-help.c (argp_doc): Make sure NULL is not passed to
2489         dgettext.
2490
2491 2006-09-12  Jim Meyering  <jim@meyering.net>
2492
2493         * lib/nanosleep.c: Include <sys/types.h> before sys/select.h, to avoid
2494         compilation failure (due to use of pid_t in latter) on NetBSD 1.6.
2495         Reported by Nelson H. F. Beebe.
2496
2497 2006-09-10  Sergey Poznyakoff  <gray@gnu.org.ua>
2498
2499         * lib/argp-parse.c (__argp_parse) [!_LIBC]: Make sure
2500         program_invocation_name and program_invocation_short_name are
2501         initialized.
2502         * lib/argp-namefrob.h: Move declarations of program_invocation_name
2503         and program_invocation_short_name to argp.h, so they are visible
2504         to user programs.
2505         * lib/argp.h: Likewise
2506
2507 2006-09-10  Bruno Haible  <bruno@clisp.org>
2508
2509         * modules/mkdtemp (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
2510         m4/inttypes_h.m4, m4/uintmax_t.m4.
2511
2512 2006-09-10  Bruno Haible  <bruno@clisp.org>
2513
2514         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Don't require
2515         gl_AC_TYPE_UINTMAX_T.
2516
2517 2006-09-10  Bruno Haible  <bruno@clisp.org>
2518
2519         * lib/mkdtemp.c: Include <stdint.h> always. Don't include <inttypes.h>.
2520
2521 2006-09-09  Sergey Poznyakoff  <gray@gnu.org.ua>
2522
2523         * lib/argp.h (struct argp): Document the N_("..") "\v" N_("..")
2524         convention.  Text proposed by Bruno Haible.
2525         (struct argp_option): Document the use of N_() wrappers.
2526
2527         * lib/argp-help.c (argp_doc): Split the untranslated doc string on
2528         '\v', and translate the two parts separately, instead of feeding
2529         the whole string to gettext.  This allows to exclude
2530         '\v' from the strings visible to the translator by writing doc
2531         strings as N_("..") "\v" N_("..").
2532
2533 2006-09-09  Paul Eggert  <eggert@cs.ucla.edu>
2534
2535         * config/srclist.txt: Undo latest change; the bug was fixed.
2536
2537 2006-09-09  Bruno Haible  <bruno@clisp.org>
2538
2539         * gnulib-tool (func_emit_lib_Makefile_am): Eliminate lib_LDFLAGS
2540         assignments if building a library without libtool.
2541         (func_emit_tests_Makefile_am): Likewise. Handle lib_* variables as
2542         in func_emit_lib_Makefile_am.
2543         (func_import): When building a static library libfoo.a, arrange to
2544         define variables LIBFOO_LIBDEPS and LIBFOO_LTLIBDEPS.
2545         (func_create_testdir): Likewise.
2546         * modules/gc (configure.ac, Makefile.am): If building statically,
2547         augment gl_libdeps and gl_ltlibdeps instead of lib_LDFLAGS.
2548         * modules/iconvme (configure.ac, Makefile.am): Likewise.
2549         * modules/striconv (configure.ac, Makefile.am): Likewise.
2550         Based on a suggestion by Ralf Wildenhues.
2551
2552 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
2553
2554         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
2555         Check for unistd.h too, since Autoconf doesn't assume POSIX.
2556         Also:
2557
2558         2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
2559         Add year_2050_test to catch glibc bug 2821
2560         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
2561
2562         2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
2563         Prefer #ifdef to #if.
2564
2565         2006-04-02  Paul Eggert  <eggert@cs.ucla.edu>
2566         Return from 'main' instead of calling 'exit'.
2567
2568 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
2569
2570         * lib/mktime.c (guess_time_tm): Fix bug where mktime
2571         returned the maximum time_t value rather than (time_t) -1.
2572         Problem originally reported by William Bardwell
2573         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
2574
2575         * lib/isapipe.h (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
2576         Moved to here ...
2577         * lib/isapipe.c (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
2578         ... from here.
2579
2580 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
2581
2582         * config/srclist.txt: Temporarily comment out mktime.c until glibc bug
2583         2821 is fixed.
2584
2585 2006-09-08  Jim Meyering  <jim@meyering.net>
2586
2587         Don't make generated files read-only.  That would bother too many
2588         people.  However, do retain the ability to work when targets are
2589         read-only: remove the destination and temporary files before writing
2590         them (when generated via sed or echo), or by using the -f option for
2591         both cp and mv commands.  Suggestion to use -f from Paul Eggert.
2592         * modules/alloca-opt, modules/argz, modules/arpa_inet:
2593         * modules/byteswap, modules/configmake, modules/fcntl:
2594         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
2595         * modules/localcharset, modules/netinet_in, modules/poll:
2596         * modules/stdbool, modules/stdint, modules/sys_select:
2597         * modules/sys_socket, modules/sys_stat, modules/sysexits:
2598
2599 2006-09-08  Jim Meyering  <jim@meyering.net>
2600
2601         Avoid new build failure on FreeBSD 6.0.
2602         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Include
2603         <sys/param.h> when testing whether getmntinfo uses statvfs.  Patch by
2604         Pavel Tsekov, in <http://savannah.gnu.org/bugs/?17643>.
2605
2606 2006-09-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
2607
2608         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't use plain echo.
2609
2610 2006-09-07  Jim Meyering  <jim@meyering.net>
2611
2612         Fix global typo in last change: use chmod u-w, not chmod u-x.
2613         Spotted by Paul Eggert and Bruce Korb.
2614         * modules/alloca-opt, modules/argz, modules/arpa_inet:
2615         * modules/byteswap, modules/configmake, modules/fcntl:
2616         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
2617         * modules/localcharset, modules/netinet_in, modules/poll:
2618         * modules/stdbool, modules/stdint, modules/sys_select:
2619         * modules/sys_socket, modules/sys_stat, modules/sysexits:
2620
2621 2006-09-06  Jim Meyering  <jim@meyering.net>
2622
2623         Make generated files be read-only.
2624         * modules/alloca-opt (Makefile.am): Work also when $@ is read-only.
2625         Ensure that each generated file is now read-only.
2626         * modules/argz: Likewise.
2627         * modules/arpa_inet: Likewise.
2628         * modules/byteswap: Likewise.
2629         * modules/configmake: Likewise.
2630         * modules/fcntl: Likewise.
2631         * modules/fnmatch: Likewise.
2632         * modules/getopt: Likewise.
2633         * modules/glob: Likewise.
2634         * modules/inttypes: Likewise.
2635         * modules/netinet_in: Likewise.
2636         * modules/poll: Likewise.
2637         * modules/stdbool: Likewise.
2638         * modules/stdint: Likewise.
2639         * modules/sys_select: Likewise.
2640         * modules/sys_socket: Likewise.
2641         * modules/sys_stat: Likewise.
2642         * modules/sysexits: Likewise.
2643         * modules/localcharset: Same as above, but continue using temporary
2644         file named "t-$@" (why different?) rather than the "$@-t" used
2645         everywhere else.
2646
2647         * modules/sysexits (Makefile.am): Replace literal occurrences
2648         of "sysexit.h" more readable, and more consistent, "$@".
2649
2650 2006-09-06  Bruno Haible  <bruno@clisp.org>
2651
2652         * modules/striconv: New file.
2653         * modules/xstriconv: New file.
2654         * MODULES.html.sh (Internationalization functions): Add striconv,
2655         xstriconv.
2656
2657 2006-09-06  Bruno Haible  <bruno@clisp.org>
2658
2659         * modules/gc (Makefile.am): Augment lib_LDFLAGS, not lib_LIBADD.
2660         * modules/iconvme (Makefile.am): Likewise. Also handle the case of
2661         not using libtool correctly.
2662
2663 2006-09-06  Bruno Haible  <bruno@clisp.org>
2664
2665         * lib/striconv.h: New file.
2666         * lib/striconv.c: New file, merging iconvme.c with GNU gettext's
2667         iconvstring.c.
2668         * lib/xstriconv.h: New file.
2669         * lib/xstriconv.c: New file.
2670
2671 2006-09-06  Bruno Haible  <bruno@clisp.org>
2672
2673         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
2674         lib_..._LDFLAGS.
2675
2676 2006-09-05  Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
2677
2678         * lib/argz_.h: Sync from Libtool.
2679
2680         2006-09-04  George Bosilca <bosilca@cs.utk.edu>
2681                 and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
2682
2683         * lib/libltdl/argz_.h: It's __cplusplus, not _cplusplus.
2684
2685 2006-09-05  Davide Angelocola <davide.angelocola@tiscali.it>
2686
2687         * modules/trim: New file.
2688
2689 2006-09-05  Davide Angelocola <davide.angelocola@tiscali.it>
2690
2691         * lib/trim.h: New file.
2692         * lib/trim.c: New file.
2693
2694 2006-09-05  Bruno Haible  <bruno@clisp.org>
2695
2696         * MODULES.html.sh (String handling): Add trim.
2697
2698 2006-09-04  Karl Berry  <karl@gnu.org>
2699
2700         * config/srclist.txt (signed.m4, gettext.m4): changes not propagated
2701         until next release.
2702
2703 2006-09-03  Bruno Haible  <bruno@clisp.org>
2704
2705         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Locate mingw shared libraries
2706         correctly.
2707
2708 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
2709
2710         * m4/getloadavg.m4 (gl_GETLOADAVG): Use CONFIGURING_GETLOADAVG,
2711         not gl_GETLOADAVG.  Omit unneeded semicolons.
2712         Problems reported by Ralf Wildenhues in
2713         <http://lists.gnu.org/archive/html/bug-gnulib/2006-09/msg00000.html>.
2714         (gl_PREREQ_GETLOADAVG): Use AC_DEFUN, not m4_define.  Put
2715         at the end, which is the usual gnulib style.
2716
2717         * m4/fstypename.m4 (gl_FSTYPENAME): Use AC_CHECK_MEMBERS instead
2718         of doing all the work ourselves.
2719         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Don't check for
2720         sys/statvfs.h since the code doesn't use HAVE_SYS_STATVFS_H.
2721
2722 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
2723
2724         * lib/getloadavg.c: Use CONFIGURING_GETLOADAVG, not gl_GETLOADAVG.
2725         Problem reported by Ralf Wildenhues in
2726         <http://lists.gnu.org/archive/html/bug-gnulib/2006-09/msg00000.html>.
2727
2728         * lib/mountlist.c: All uses of HAVE_F_FSTYPENAME_IN_STATFS replaced by
2729         HAVE_STRUCT_STATFS_F_FSTYPENAME.
2730
2731 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
2732
2733         * gnulib-tool (func_emit_lib_Makefile_am): Fix typos in
2734         yesterday's patch by changing test -n to test -z.
2735
2736 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
2737
2738         * modules/getloadavg (Files): Add m4/getloadavg.m4.
2739         (configure.ac): AC_FUNC_GETLOADAVG -> gl_GETLOADAVG, as
2740         the former is now obsolescent.
2741
2742         * modules/chdir-long (Depends-on): Add fcntl.
2743
2744 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
2745
2746         * m4/fnmatch.m4: Add comment that Autoconf AC_FUNC_FNMATCH is
2747         obsolescent, and programs should use gnulib instead.
2748         * m4/getloadavg.m4: New file, with contents taken from Autoconf
2749         but with prefixes changed.
2750
2751 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
2752
2753         * lib/getloadavg.c [defined gl_GETLOADAVG]: Don't include config.h
2754         or stdbool.h, because they might not exist while configuring.
2755
2756         * lib/chdir-long.c: Include <fcntl.h>, for O_DIRECTORY.
2757         Don't include unistd.h or limits.h; not needed, since chdir-long.h
2758         does that for us.
2759         (O_DIRECTORY): Remove.
2760
2761 2006-08-31  Eric Blake  <ebb9@byu.net>
2762
2763         * gnulib-tool: Don't let emacs change spaces to TAB.
2764
2765 2006-08-31  Bruno Haible  <bruno@clisp.org>
2766
2767         * gnulib-tool: When calling func_import more than once, do it in a
2768         subshell.
2769         Reported by Eric Blake <ebb9@byu.net>.
2770
2771 2006-08-31  Bruno Haible  <bruno@clisp.org>
2772
2773         * gnulib-tool (nl): Remove variable.
2774         (sed_transform_lib_file): Use more robust test for config-h module.
2775         (func_import): Fix typo in 2006-08-25 patch.
2776
2777 2006-08-31  Bruno Haible  <bruno@clisp.org>
2778
2779         * gnulib-tool (func_emit_lib_Makefile_am): When --makefile-name was
2780         specified, augment Makefile.am variables instead of assigning them.
2781
2782 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
2783
2784         Work around a bug in both the Linux and SunOS 64-bit kernels:
2785         nanosleep mishandles sleeps for longer than 2**31 seconds.
2786         Problem reported by Frank v Waveren in
2787         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00298.html>.
2788         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require gl_CLOCK_TIME.
2789         Check for nanosleep bug.
2790         (LIB_NANOSLEEP): Append clock_gettime library if needed.
2791
2792 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
2793
2794         Work around a bug in both the Linux and SunOS 64-bit kernels:
2795         nanosleep mishandles sleeps for longer than 2**31 seconds.
2796         Problem reported by Frank v Waveren in
2797         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00298.html>.
2798         * lib/nanosleep.c (BILLION): New constant.
2799         (getnow) [HAVE_BUG_BIG_NANOSLEEP]: New functions.
2800         (rpl_nanosleep) [HAVE_BUG_BIG_NANOSLEEP]: Completely new
2801         implementation.
2802
2803 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
2804
2805         * modules/nanosleep (Depends-on): Add gettime.
2806
2807 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
2808         and Simon Josefsson  <jas@extundo.com>
2809         and Oskar Liljeblad  <oskar@osk.mine.nu>
2810
2811         * MODULES.html.sh (Support for building documentation): Add gpl, lgpl.
2812         * gnulib-tool (func_import): New license type 'unmodifiable license
2813         text'.
2814         * modules/fdl: Use it.  Longer description.
2815         * module/gpl, module/lgpl: New files.
2816
2817 2006-08-30  Jim Meyering  <jim@meyering.net>
2818
2819         * lib/isapipe.c (isapipe): Rename local s/fd/fd_pair/ to avoid
2820         shadowing the parameter.
2821
2822 2006-08-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
2823
2824         Sync from Libtool:
2825
2826         2006-08-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
2827
2828         * lib/libltdl/argz.c: Use `#ifdef HAVE_CONFIG_H', to facilitate code
2829         sharing with gnulib.  Report by Eric Blake.
2830
2831 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
2832
2833         * modules/isapipe: New file.
2834         * MODULES.html.sh (File descriptor based Input/Output): Add isapipe.
2835
2836 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
2837
2838         * modules/configmake (Makefile.am): Add a comment, and omit
2839         the CONFIGMAKE_ prefix from generated macro names.  Suggested
2840         by Bruno Haible.
2841
2842 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
2843
2844         * m4/isapipe.m4: New file.
2845
2846 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
2847
2848         * lib/isapipe.c, lib/isapipe.h: New files.
2849
2850 2006-08-29  Jim Meyering  <jim@meyering.net>
2851
2852         * modules/configmake (Makefile.am): Make configmake.h depend on
2853         Makefile.  Otherwise, a stale configmake.h could hang around.
2854
2855 2006-08-29  Eric Blake  <ebb9@byu.net>
2856
2857         * lib/error.c (error_at_line, print_errno_message): Match libc, after
2858         resolution of upstream bug 3044.
2859
2860 2006-08-29  Bruno Haible  <bruno@clisp.org>
2861
2862         * modules/localcharset (Depends-on): Add configmake.
2863         (Makefile.am): Remove setting of LIBDIR through DEFS.
2864
2865 2006-08-29  Bruno Haible  <bruno@clisp.org>
2866
2867         * lib/localcharset.c: Include configmake.h in order to get LIBDIR
2868         defined.
2869
2870 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
2871
2872         * modules/fcntl: New file.
2873         * modules/chdir-safer (Depends-on): Add fcntl.
2874         * modules/fts: Likewise.
2875         * modules/mkdir-p: Likewise.
2876
2877         * modules/stdint (Makefile.am): Do not substitute ABSOLUTE_INTTYPES_H.
2878         This undoes the most recent change, since we're now addressing the
2879         problem in a different way.
2880
2881         * gnulib-tool (emit_lib_Makefile_am): Don't put $makefile_name
2882         into output, since the output might be called Makefile.am even
2883         if $makefile_name is something different.
2884         (func_import): Use $makefile_am rather than
2885         ${makefile_name-Makefile.am}, to fix a bug where makefile_name was
2886         empty.
2887
2888         * modules/inttypes (Files): Add m4/inttypes-h.m4.
2889
2890 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
2891
2892         * m4/inttypes.m4 (gl_INTTYPES_H): Move ABSOLUTE_INTTYPES_H code here...
2893         * m4/stdint.m4 (gl_STDINT_H): ... from here.  This undoes the most
2894         recent change to stdint.m4, since we're now addressing the problem in a
2895         different way.
2896
2897 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
2898
2899         * m4/fcntl_h.m4: New file.
2900
2901 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
2902
2903         * lib/fcntl_.h: New file.
2904         * lib/chdir-safer.c (O_DIRECTORY, O_NOFOLLOW): Remove, now that we have
2905         the fcntl module.
2906         * lib/dirchownmod.c: Likewise.
2907         * lib/fts.c: Likewise.
2908
2909         * lib/inttypes_.h [defined _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H]:
2910         Include @ABSOLUTE_INTTYPES_H@ if available, but do nothing else.
2911         * lib/stdint_.h (_GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H): Define
2912         just before including <inttypes.h>, to avoid circular inclusion.
2913
2914 2006-08-28  Jim Meyering  <jim@meyering.net>
2915
2916         * doc/visibility.texi: Actually read and correct the grammar of the
2917         sentence affected by yesterday's change.
2918
2919 2006-08-28  Eric Blake  <ebb9@byu.net>
2920
2921         * modules/inttypes (Makefile.am): Fix sed error when inttypes.h
2922         needs wrapper.
2923
2924 2006-08-28  Eric Blake  <ebb9@byu.net>
2925
2926         * m4/inttypes.m4 (gl_INTTYPES_H): Fix missing #endif.
2927
2928 2006-08-28  Eric Blake  <ebb9@byu.net>
2929
2930         * m4/codeset.m4 (AM_LANGINFO_CODESET): Avoid compiler warning.
2931
2932 2006-08-28  Bruno Haible  <bruno@clisp.org>
2933
2934         * modules/c-strstr: New file, from GNU gettext.
2935         * MODULES.html.sh (String handling): Add c-strstr.
2936
2937 2006-08-28  Bruno Haible  <bruno@clisp.org>
2938
2939         * m4/inttypes.m4 (gl_INTTYPES_H): Don't test for the existence of SCNX*
2940         macros.
2941         Reported by Eric Blake.
2942
2943 2006-08-28  Bruno Haible  <bruno@clisp.org>
2944
2945         * lib/vasnprintf.c (EOVERFLOW): Remove definition.
2946         (VASNPRINTF): Return a string of length > INT_MAX without failing.
2947         * lib/vasprintf.c: Include errno.h, limits.h.
2948         (EOVERFLOW): New fallback definition.
2949         (vasprintf): Test here whether the string length is > INT_MAX.
2950         * lib/vsnprintf.c: Include errno.h, limits.h.
2951         (EOVERFLOW): New fallback definition.
2952         (vsnprintf): Fix bug when generated string was too long for the buffer.
2953         Test here whether the string length is > INT_MAX.
2954
2955 2006-08-28  Bruno Haible  <bruno@clisp.org>
2956
2957         * lib/inttypes_.h (SCNX*): Remove definitions.
2958         Reported by Eric Blake.
2959
2960 2006-08-28  Bruno Haible  <bruno@clisp.org>
2961
2962         * lib/c-strstr.h: New file, from GNU gettext.
2963         * lib/c-strstr.c: New file, from GNU gettext.
2964
2965 2006-08-28  Bruno Haible  <bruno@clisp.org>
2966
2967         * gnulib-tool: Reorder some statements.
2968
2969 2006-08-28  Bruno Haible  <bruno@clisp.org>
2970
2971         * gnulib-tool: New option --makefile-name.
2972         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Use
2973         $makefile_name.
2974         (func_import): Write $makefile_name to the cache file, and read it from
2975         there unless explicitly specified. Use $makefile_name as file name
2976         instead of Makefile.am. Adjust the recommendations accordingly.
2977
2978 2006-08-28  Bruno Haible  <bruno@clisp.org>
2979
2980         * gnulib-tool (func_verify_module): Check against misapplying patch.
2981
2982 2006-08-28  Bruno Haible  <bruno@clisp.org>
2983
2984         * gnulib-tool (func_relativize, func_relconcat): New functions.
2985         Give an error if --local-dir is given with --update.
2986         Remove trailing slashes from $local_gnulib_dir.
2987         (func_import): Store the relativized $local_gnulib_dir in
2988         gnulib-cache.m4, and read it from there if not specified explicitly.
2989
2990 2006-08-28  Bruno Haible  <bruno@clisp.org>
2991
2992         * gnulib-tool (func_get_tests_module): Don't assume that $gnulib_dir
2993         is the current directory. Respect also $local_gnulib_dir.
2994
2995 2006-08-28  Bruno Haible  <bruno@clisp.org>
2996             Simon Josefsson  <jas@extundo.com>
2997
2998         BeOS portability.
2999         * lib/getaddrinfo.c (PF_INET, PF_UNSPEC): New macros.
3000
3001 2006-08-27  Jim Meyering  <jim@meyering.net>
3002
3003         * doc/visibility.texi: Remove duplicate word: "pointer".
3004
3005 2006-08-26  Bruno Haible  <bruno@clisp.org>
3006
3007         * modules/inttypes (Files): Add lib/inttypes_.h, remove lib/inttypes.h.
3008         Add m4/inttypes.m4, remove m4/_inttypes_h.m4 and m4/include_next.m4.
3009         (Makefile.am): Create inttypes.h from inttypes_.h.
3010         * modules/stdint (Makefile.am): Substitute also ABSOLUTE_INTTYPES_H.
3011
3012         * modules/imaxabs: New file.
3013
3014         * modules/imaxdiv: New file.
3015
3016 2006-08-26  Bruno Haible  <bruno@clisp.org>
3017
3018         * m4/inttypes.m4: New file.
3019         * m4/_inttypes_h.m4: Remove file.
3020         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Also AC_SUBST
3021         PRI_MACROS_BROKEN.
3022         * m4/stdint.m4 (gl_STDINT_H): Define also ABSOLUTE_INTTYPES_H.
3023
3024         * m4/imaxabs.m4: New file.
3025
3026         * m4/imaxdiv.m4: New file.
3027
3028 2006-08-26  Bruno Haible  <bruno@clisp.org>
3029
3030         * lib/inttypes_.h: New file.
3031         * lib/inttypes.h: Remove file.
3032         * lib/stdint_.h: Include <inttypes.h> through its absolute filename.
3033
3034         * lib/imaxabs.c: New file.
3035
3036         * lib/imaxdiv.c: New file.
3037
3038 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
3039
3040         New config-h module, so that "make" output needn't be cluttered
3041         by -DHAVE_CONFIG_H.
3042         * MODULES.html.sh (Support for building libraries and executables):
3043         Add config-h.
3044         * modules/config-h: New file.
3045         * gnulib-tool (nl, sed_transform_lib_file): New vars.
3046         (func_import): Turn "#ifdef HAVE_CONFIG_H" to "#if 1" if
3047         the config-h module is used.
3048
3049         New configmake module, so that "make" output needn't be cluttered
3050         by fluff like '-DLIBDIR=\"/usr/local/lib\"'.
3051         * MODULES.html.sh (Support for building libraries and executables):
3052         Add configmake.
3053         * modules/configmake: New file.
3054
3055 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
3056
3057         * m4/config-h.m4: New file.
3058
3059 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
3060
3061         * config/srclist.txt: Add elisp-comp.
3062
3063 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
3064
3065         * MODULES.html.sh (Support for building libraries and executables):
3066         Add elisp-comp.
3067         * build-aux/elisp-comp: New file.
3068         * modules/elisp-comp: New file.
3069
3070 2006-08-24  Bruno Haible <bruno@clisp.org>
3071
3072         * gnulib-tool (func_create_testdir): Use non-default values of
3073         sourcebase and m4base.
3074
3075 2006-08-24  Bruno Haible <bruno@clisp.org>
3076
3077         * MODULES.html.sh (Compatibility checks for POSIX:2001 functions: Fix
3078         HTML structure.
3079
3080 2006-08-23  Paul Eggert  <eggert@cs.ucla.edu>
3081
3082         * modules/openat (Depends-on): Add lchown.
3083
3084 2006-08-23  Bruno Haible <bruno@clisp.org>
3085
3086         * gnulib-tool (func_import, func_create_testdir): Emit an invocation
3087         of gl_LOCK_EARLY instead of gl_LOCK.
3088
3089 2006-08-23  Bruno Haible  <bruno@clisp.org>
3090
3091         * m4/lock.m4 (gl_LOCK_BODY): Change the default value of gl_use_threads
3092         on OSF/1 to no.
3093         Reported by Stephen Cartwright <sgcartwr@ucalgary.ca>.
3094
3095 2006-08-23  Bruno Haible  <bruno@clisp.org>
3096
3097         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't consider BeOS statvfs
3098         as unusable.
3099
3100         * m4/lock.m4 (gl_LOCK_EARLY): Renamed from gl_LOCK.
3101         (gl_LOCK_BODY): Remove gl_PREREQ_LOCK invocation.
3102         (gl_LOCK): New macro.
3103
3104 2006-08-22  Simon Josefsson  <jas@extundo.com>
3105
3106         * modules/gc-md5 (Makefile.am): Need to add md5.h, after changes
3107         to md5 module.
3108
3109 2006-08-22  Simon Josefsson  <jas@extundo.com>
3110
3111         * MODULES.html.sh: Add "Support for maintaining and release
3112         projects".
3113
3114         * build-aux/gnupload: New file, from coreutils.
3115
3116 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
3117
3118         Avoid the need for AC_LIBSOURCES in m4 macros.
3119         * modules/arcfour (EXTRA_DIST): Add arcfour.h.
3120         * modules/arctwo (EXTRA_DIST): Add arctwo.h.
3121         * modules/check-version (EXTRA_DIST): Add check-version.h.
3122         * modules/crc (EXTRA_DIST): Add crc.h.
3123         * modules/des (EXTRA_DIST): Add des.h.
3124         * modules/gc (EXTRA_DIST): Add gc.h.
3125         * modules/getdelim (EXTRA_DIST): Add getdelim.h.
3126         * modules/getline (EXTRA_DIST): Add getline.h.
3127         * modules/getlogin_r (EXTRA_DIST): Add getlogin_r.h.
3128         * modules/hmac-md5 (EXTRA_DIST): Add hmac.h.
3129         * modules/hmac-sha1 (EXTRA_DIST): Add hmac.h.
3130         * modules/md2 (EXTRA_DIST): Add md2.h.
3131         * modules/md4 (EXTRA_DIST): Add md4.h.
3132         * modules/pagealign_alloc (EXTRA_DIST): Add pagealign_alloc.h.
3133         * modules/read-file (EXTRA_DIST): Add read-file.h.
3134         * modules/readline (EXTRA_DIST): Add readline.h.
3135         * modules/rijndael (EXTRA_DIST): Add rijndael-alg-fst.h,
3136         rijndael-api-fst.h.
3137
3138 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
3139
3140         * m4/rijndael.m4 (gl_ARCFOUR):
3141         * m4/arctwo.m4 (gl_ARCTWO):
3142         * m4/check-version.m4 (gl_CHECK_VERSION):
3143         * m4/crc.m4 (gl_CRC):
3144         * m4/des.m4 (gl_DES):
3145         * m4/gc-pbkdf2-sha1.m4 (gl_GC_PBKDF2_SHA1):
3146         * m4/gc.m4 (gl_GC):
3147         * m4/getdelim.m4 (gl_FUNC_GETDELIM):
3148         * m4/getline.m4 (gl_FUNC_GETLINE):
3149         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE):
3150         * m4/hmac-md5.m4 (gl_HMAC_MD5):
3151         * m4/hmac-sha1.m4 (gl_HMAC_SHA1):
3152         * m4/md2.m4 (gl_MD2):
3153         * m4/md4.m4 (gl_MD4):
3154         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC):
3155         * m4/read-file.m4 (gl_FUNC_READ_FILE):
3156         * m4/readline.m4 (gl_FUNC_READLINE):
3157         * m4/rijndael.m4 (gl_RIJNDAEL):
3158         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
3159         to get the necessary .h files and whatnot.
3160
3161 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
3162
3163         * config/srclist.txt: Remove gnupload, since coreutils now syncs from
3164         gnulib rather than the other way around.
3165         * config/srclistvars.sh (COREUTILS): Remove.
3166
3167 2006-08-22  Jim Meyering  <jim@meyering.net>
3168
3169         * modules/mkdir-p (Makefile.am): Fix typo: s/lib+SOURCES/lib_SOURCES/.
3170
3171         * modules/getpass-gnu (Makefile.am): Add getpass.h to EXTRA_DIST.
3172
3173 2006-08-22  Eric Blake  <ebb9@byu.net>
3174
3175         * modules/regexprops-generic: New file.
3176         * MODULES.html.sh (Support for building documentation): List it.
3177
3178 2006-08-22  Eric Blake  <ebb9@byu.net>
3179
3180         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Avoid compiler warning.
3181         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
3182         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Likewise.
3183         * m4/intmax_t.m4 (gt_AC_TYPE_INTMAX_T): Likewise.
3184
3185 2006-08-22  Bruno Haible <bruno@clisp.org>
3186
3187         * gnulib-tool (func_emit_lib_Makefile_am): Don't treat lib_LIBRARIES
3188         and lib_LTLIBRARIES like the other lib_* variables.
3189
3190 2006-08-22  Bruno Haible <bruno@clisp.org>
3191
3192         * build-aux/x-to-1.in: New file, from GNU gettext.
3193
3194 2006-08-22  Bruno Haible  <bruno@clisp.org>
3195
3196         * m4/readutmp.m4 (gl_READUTMP): Compile readutmp.c only if <utmp.h> or
3197         <utmpx.h> exists.
3198
3199 2006-08-22  Bruno Haible  <bruno@clisp.org>
3200
3201         * lib/readutmp.h: Skip most definitions if neither <utmp.h> nor
3202         <utmpx.h> exists.
3203
3204 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
3205
3206         BeOS portability.
3207         * lib/dirchownmod.c (dirchownmod): Don't use fchmod if it doesn't
3208         exist.
3209         Problem reported by Bruno Haible.
3210
3211 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
3212
3213         Avoid the need for AC_LIBSOURCES in m4 macros.
3214         * modules/acl (EXTRA_DIST): Add acl.h.
3215         * modules/argmatch (Files): Add m4/argmatch.m4.
3216         (configure.ac): Add gl_ARGMATCH.
3217         (EXTRA_DIST): Renamed from lib_SOURCES, for
3218         consistency with the other modules.  Remove argmatch.c.
3219         * modules/backupfile (EXTRA_DIST): Add backupfile.h.
3220         * modules/c-strtod (EXTRA_DIST): Add c-strtod.h.
3221         * modules/c-strtold (EXTRA_DIST): Add c-strtod.c, c-strtod.h.
3222         * modules/canonhost (EXTRA_DIST): Add c-canonhost.h.
3223         * modules/canonicalize (EXTRA_DIST): Add canonicalize.h.
3224         * modules/chdir-long (EXTRA_DIST): Add chdir-long.h.
3225         * modules/chdir-safer (EXTRA_DIST): Add chdir-safer.h.
3226         * modules/cloexec (EXTRA_DIST): Add cloexec.h.
3227         * modules/close-stream (EXTRA_DIST): Add close-stream.h.
3228         * modules/closeout (EXTRA_DIST): Add closeout.h.
3229         * modules/cycle-check (EXTRA_DIST): Add cycle-check.h.
3230         * modules/dev-ino (EXTRA_DIST): Add dev-ino.h.
3231         * modules/dirfd (EXTRA_DIST): Add dirfd.h.
3232         * modules/dirname (EXTRA_DIST): Renamed from lib_SOURCES.  Add
3233         dirname.h; remove basename.c and stripslash.c.
3234         * modules/exclude (EXTRA_DIST): Add exclude.h.
3235         * modules/exitfail (EXTRA_DIST): Add exitfail.h.
3236         * modules/fcntl-safer (EXTRA_DIST): Add fcntl-safer.h fcntl--.h.
3237         * modules/file-type (EXTRA_DIST): Add file-type.h.
3238         * modules/filemode (EXTRA_DIST): Add filemode.h.
3239         * modules/filenamecat (EXTRA_DIST): Add filenamecat.h.
3240         * modules/fopen-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
3241         * modules/fpending (EXTRA_DIST): Add __fpending.h.
3242         * modules/fprintftime (EXTRA_DIST): Add fprintftime.h.
3243         * modules/fsusage (EXTRA_DIST): Add fsusage.h.
3244         * modules/fts (EXTRA_DIST): Add fts_.h fts-cycle.c.
3245         * modules/getcwd (EXTRA_DIST): Add getcwd.h.
3246         * modules/getdate (EXTRA_DIST): Add getdate.c.
3247         * modules/gethrxtime (EXTRA_DIST): Add gethrxtime.h xtime.h.
3248         * modules/getpagesize (EXTRA_DIST): Add getpagesize.h.
3249         * modules/getpass (EXTRA_DIST): Add getpass.h.
3250         * modules/glob (EXTRA_DIST): Add glob_.h glob-libc.h.
3251         * modules/group-member (EXTRA_DIST): Add group-member.h.
3252         * modules/hard-locale (EXTRA_DIST): Add hard-locale.h.
3253         * modules/hash (EXTRA_DIST): Add hash.h.
3254         * modules/human (EXTRA_DIST): Add human.h.
3255         * modules/inttypes (EXTRA_DIST): Add inttypes.h.
3256         * modules/lchmod (EXTRA_DIST): Add lchmod.h.
3257         * modules/lchown (EXTRA_DIST): Add lchown.h.
3258         * modules/long-options (EXTRA_DIST): Add long-options.h.
3259         * modules/lstat (EXTRA_DIST): Add lstat.h.
3260         * modules/md5 (EXTRA_DIST): Add memcasecmp.h.
3261         * modules/memcoll (EXTRA_DIST): Add memcoll.h.
3262         * modules/mempcpy (EXTRA_DIST): Add mempcpy.h.
3263         * modules/memrchr (EXTRA_DIST): Add memrchr.h.
3264         * modules/memxor (EXTRA_DIST): Add memxor.h.
3265         * modules/mkancesdirs (EXTRA_DIST): Add mkancesdirs.h.
3266         * modules/mkdir-p (EXTRA_DIST): Add modechange.h.
3267         * modules/mountlist (EXTRA_DIST): Add mountlist.h.
3268         * modules/openat (EXTRA_DIST): Add at-func.c openat.h openat-priv.h.
3269         * modules/pathmax (EXTRA_DIST): Add pathmax.h.
3270         * modules/physmem (EXTRA_DIST): Add physmem.h.
3271         * modules/posixtm (EXTRA_DIST): Add posixtm.h.
3272         * modules/posixver (EXTRA_DIST): Add posixver.h.
3273         * modules/quote (EXTRA_DIST): Add quote.h.
3274         * modules/quotearg (EXTRA_DIST): Add quotearg.h.
3275         * modules/readtokens (EXTRA_DIST): Add readtokens.h.
3276         * modules/readutmp (EXTRA_DIST): Add readutmp.h.
3277         * modules/regex (EXTRA_DIST): Add regcomp.c regex.h regex_internal.c
3278         regex_internal.h regexec.c.
3279         * modules/safe-read (EXTRA_DIST): Add safe-read.h.
3280         * modules/safe-write (EXTRA_DIST): Add safe-write.h.
3281         * modules/same (EXTRA_DIST): Add same.h.
3282         * modules/same-inode (EXTRA_DIST): Add same-inode.h.
3283         * modules/save-cwd (EXTRA_DIST): Add save-cwd.h.
3284         * modules/savedir (EXTRA_DIST): Add savedir.h.
3285         * modules/sha1 (EXTRA_DIST): Add sha1.h.
3286         * modules/sig2str (EXTRA_DIST): Add sig2str.h.
3287         * modules/stat-macros (EXTRA_DIST): Add stat-macros.h.
3288         * modules/stat-time (EXTRA_DIST): Add stat-time.h.
3289         * modules/stdlib-safer (EXTRA_DIST): Add stdlib-safer.h stdlib--.h.
3290         * modules/strdup (EXTRA_DIST): Add strdup.h.
3291         * modules/strftime (EXTRA_DIST): Add strftime.h.
3292         * modules/strndup (EXTRA_DIST): Add strndup.h.
3293         * modules/strnlen (EXTRA_DIST): Add strnlen.h.
3294         * modules/strverscmp (EXTRA_DIST): Add strverscmp.h.
3295         * modules/time_r (EXTRA_DIST): Add time_r.h.
3296         * modules/timespec (EXTRA_DIST): Add timespec.h.
3297         * modules/tmpfile-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
3298         * modules/unistd-safer (EXTRA_DIST): Add unistd-safer.h unistd--.h.
3299         * modules/unlinkdir (EXTRA_DIST): Add unlinkdir.h.
3300         * modules/unlocked-io (EXTRA_DIST): Add unlocked-io.h.
3301         * modules/userspec (EXTRA_DIST): Add userspec.h.
3302         * modules/utimecmp (EXTRA_DIST): Add utimecmp.h.
3303         * modules/utimens (EXTRA_DIST): Add utimens.h.
3304         * modules/xalloc (EXTRA_DIST): Add xalloc.h.
3305         * modules/xgetcwd (EXTRA_DIST): Add xgetcwd.h.
3306         * modules/xnanosleep (EXTRA_DIST): Add xnanosleep.h.
3307         * modules/xreadlink (EXTRA_DIST): Add xreadlink.h.
3308         * modules/xstrtod (EXTRA_DIST): Add xstrtod.h.
3309         * modules/xstrtol (EXTRA_DIST): Add xstrtol.h.
3310         * modules/xstrtold (EXTRA_DIST): Add xstrtod.c xstrtod.h.
3311         * modules/yesno (EXTRA_DIST): Add yesno.h.
3312
3313 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
3314
3315         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Check for fchmod.
3316
3317         * m4/argmatch.m4: New file, from coreutils with AC_LIBSOURCES removed.
3318         * m4/dev-ino.m4, same-inode.m4: Remove.
3319
3320         * m4/_inttypes_h.m4 (gl_INTTYPES_H):
3321         * m4/acl.m4 (AC_FUNC_ACL):
3322         * m4/backupfile.m4 (gl_BACKUPFILE):
3323         * m4/c-strtod.m4 (gl_C99_STRTOLD):
3324         * m4/canon-host.m4 (gl_CANON_HOST):
3325         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
3326         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG):
3327         * m4/chdir-safer.m4 (gl_CHDIR_SAFER):
3328         * m4/cloexec.m4 (gl_CLOEXEC):
3329         * m4/close-stream.m4 (gl_CLOSE_STREAM):
3330         * m4/closeout.m4 (gl_CLOSEOUT):
3331         * m4/dirfd.m4 (gl_FUNC_DIRFD):
3332         * m4/dirname.m4 (gl_DIRNAME):
3333         * m4/exclude.m4 (gl_EXCLUDE):
3334         * m4/exitfail.m4 (gl_EXITFAIL):
3335         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER):
3336         * m4/file-type.m4 (gl_FILE_TYPE):
3337         * m4/filemode.m4 (gl_FILEMODE):
3338         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT):
3339         * m4/fpending.m4 (gl_FUNC_FPENDING):
3340         * m4/fprintftime.m4 (gl_FPRINTFTIME):
3341         * m4/fts.m4 (gl_FUNC_FTS):
3342         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL):
3343         * m4/getdate.m4 (gl_GETDATE):
3344         * m4/gethrxtime.m4 (gl_GETHRXTIME):
3345         * m4/getpagesize.m4 (gl_GETPAGESIZE):
3346         * m4/getpass.m4 (gl_FUNC_GETPASS):
3347         * m4/gettime.m4 (gl_GETTIME):
3348         * m4/getugroups.m4 (gl_GETUGROUPS):
3349         * m4/glob.m4 (gl_GLOB_SUBSTITUTE):
3350         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER):
3351         * m4/hard-locale.m4 (gl_HARD_LOCALE):
3352         * m4/hash.m4 (gl_HASH):
3353         * m4/idcache.m4 (gl_IDCACHE):
3354         * m4/lchmod.m4 (gl_FUNC_LCHMOD):
3355         * m4/lchown.m4 (gl_FUNC_LCHOWN):
3356         * m4/long-options.m4 (gl_LONG_OPTIONS):
3357         * m4/lstat.m4 (gl_FUNC_LSTAT):
3358         * m4/md5.m4 (gl_MD5):
3359         * m4/memcasecmp.m4 (gl_MEMCASECMP):
3360         * m4/memcoll.m4 (gl_MEMCOLL):
3361         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY):
3362         * m4/memrchr.m4 (gl_FUNC_MEMRCHR):
3363         * m4/memxor.m4 (gl_MEMXOR):
3364         * m4/mkancesdirs.m4 (gl_MKANCESDIRS):
3365         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS):
3366         * m4/modechange.m4 (gl_MODECHANGE):
3367         * m4/mountlist.m4 (gl_MOUNTLIST):
3368         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
3369         * m4/openat.m4 (gl_FUNC_OPENAT):
3370         * m4/pathmax.m4 (gl_PATHMAX):
3371         * m4/physmem.m4 (gl_PHYSMEM):
3372         * m4/posixtm.m4 (gl_POSIXTM):
3373         * m4/posixver.m4 (gl_POSIXVER):
3374         * m4/quote.m4 (gl_QUOTE):
3375         * m4/quotearg.m4 (gl_QUOTEARG):
3376         * m4/readtokens.m4 (gl_READTOKENS):
3377         * m4/readutmp.m4 (gl_READUTMP):
3378         * m4/regex.m4 (gl_REGEX):
3379         * m4/safe-read.m4 (gl_SAFE_READ):
3380         * m4/safe-write.m4 (gl_SAFE_WRITE):
3381         * m4/same.m4 (gl_SAME):
3382         * m4/save-cwd.m4 (gl_SAVE_CWD):
3383         * m4/savedir.m4 (gl_SAVEDIR):
3384         * m4/settime.m4 (gl_SETTIME):
3385         * m4/sha1.m4 (gl_SHA1):
3386         * m4/sig2str.m4 (gl_FUNC_SIG2STR):
3387         * m4/stat-macros.m4 (gl_STAT_MACROS):
3388         * m4/stat-time.m4 (gl_STAT_TIME):
3389         * m4/stdio-safer.m4 (gl_FOPEN_SAFER):
3390         * m4/stdlib-safer.m4 (gl_STDLIB_SAFER):
3391         * m4/strdup.m4 (gl_FUNC_STRDUP):
3392         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME):
3393         * m4/strndup.m4 (gl_FUNC_STRNDUP):
3394         * m4/strnlen.m4 (gl_FUNC_STRNLEN):
3395         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP):
3396         * m4/time_r.m4 (gl_TIME_R):
3397         * m4/timespec.m4 (gl_TIMESPEC):
3398         * m4/unistd-safer.m4 (gl_UNISTD_SAFER):
3399         * m4/unlinkdir.m4 (gl_UNLINKDIR):
3400         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO):
3401         * m4/userspec.m4 (gl_USERSPEC):
3402         * m4/utimecmp.m4 (gl_UTIMECMP):
3403         * m4/utimens.m4 (gl_UTIMENS):
3404         * m4/xalloc.m4 (gl_XALLOC):
3405         * m4/xgetcwd.m4 (gl_XGETCWD):
3406         * m4/xnanosleep.m4 (gl_XNANOSLEEP):
3407         * m4/xreadlink.m4 (gl_XREADLINK):
3408         * m4/xstrtod.m4 (gl_XSTRTOD):
3409         * m4/yesno.m4 (gl_YESNO):
3410         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
3411         to get the necessary .h files and whatnot.
3412
3413 2006-08-21  Mark D. Baushke  <mdb@gnu.org>
3414             Bruno Haible <bruno@clisp.org>
3415
3416         * gnulib-tool (func_verify_module): Work around Sun's non-POSIX 1003.2
3417         /bin/sh understanding of '!' conditional negation.
3418
3419 2006-08-21  Jim Meyering  <jim@meyering.net>
3420
3421         * modules/openat (Depends-on): Really alphabetize.
3422
3423         * modules/acl (Depends-on): Add error and quote.
3424
3425         * check-module (find_included_lib_files): Add at-func.c to the
3426         ok-to-include-more-than-once white list.
3427
3428         * modules/openat (Depends-on): Add lstat.  Alphabetize.
3429
3430 2006-08-21  Bruno Haible <bruno@clisp.org>
3431
3432         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
3433         Emit a pkgdata_DATA variable only if some snippets add contents to it.
3434         Reported by Martin Lambers <marlam@marlam.de>.
3435
3436 2006-08-21  Bruno Haible <bruno@clisp.org>
3437
3438         * gnulib-tool (func_emit_lib_Makefile_am): If the snippets already
3439         specify an installation location, don't emit a noinst_LIBRARIES or
3440         noinst_LTLIBRARIES assignment.
3441
3442 2006-08-21  Bruno Haible  <bruno@clisp.org>
3443
3444         BeOS portability.
3445         * modules/mbchar (Include): Don't test HAVE_WCTYPE_H any more, since
3446         BeOS has mbrtowc() but no <wctype.h>.
3447
3448 2006-08-21  Bruno Haible  <bruno@clisp.org>
3449
3450         BeOS portability.
3451         * m4/mbchar.m4 (gl_MBCHAR): Compile mbchar.c also if <wctype.h> doesn't
3452         exist.
3453
3454 2006-08-21  Bruno Haible  <bruno@clisp.org>
3455
3456         BeOS portability.
3457         * lib/mbchar.h: Include <wctype.h> only if it exists.
3458
3459 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
3460
3461         Remove files that are no longer needed by their respective modules.
3462         * m4/obstack.m4: Remove.
3463         * m4/strerror_r.m4: Remove.
3464         * m4/uint32_t.m4: Remove.
3465         * m4/uintptr_t.m4: Remove.
3466         * m4/ullong_max.m4: Remove.
3467         * m4/xstrtoimax.m4: Remove.
3468         * m4/xstrtoumax.m4: Remove.
3469
3470         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Do not require
3471         gl_AC_TYPE_UINTMAX_T, gl_STRUCT_DEV_INO, or gl_SAME_INODE, since gnulib
3472         dependencies now capture this.
3473
3474         * m4/cycle-check.m4 (gl_CYCLE_CHECK):
3475         Do not use AC_LIBSOURCES, since gnulib modules now do this.
3476         * m4/fsusage.m4 (gl_FSUSAGE): Likewise.
3477         * m4/human.m4 (gl_HUMAN): Likewise.
3478         * m4/inttostr.m4 (gl_INTTOSTR): Likewise.
3479         * m4/xstrtol.m4 (gl_XSTRTOL): Likewise.
3480
3481         * m4/filemode.m4 (gl_FILEMODE): Require AC_STRUCT_ST_DM_MODE.
3482
3483         * m4/filemode.m4 (gl_PREREQ_FSUSAGE_EXTRA): Do not require
3484         gl_AC_TYPE_INTMAX_T or gl_AC_TYPE_UINTMAX_T, since we now require
3485         stdint.
3486         * m4/human.m4 (gl_HUMAN): Likewise.
3487         * m4/inttostr.m4 (gl_PREREQ_INTTOSTR): Likewise.
3488         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Likewise.
3489         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
3490         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
3491         * m4/xstrtol (gl_XSTRTOL): Likewise.
3492
3493         * m4/gethrxtime.m4 (gl_XTIME): gl_AC_TYPE_LONG_LONG ->
3494         AC_TYPE_LONG_LONG_INT.
3495         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
3496         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Likewise.
3497         * m4/strtoull.m4 (gl_FUNC_STRTOULL): Likewise, for unsigned long.
3498         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
3499
3500         * m4/human.m4 (gl_HUMAN): Do not require AM_STDBOOL_H since we depend
3501         on stdbool.
3502
3503         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL_H, gl_PREREQ_XSTRTOL): Remove.
3504         (gl_PREREQ_XSTRTOUL): Remove.
3505
3506         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Check for hasmntopt.
3507
3508         * m4/posixver.m4: Fix comment since head -1 now works even in POSIX
3509         mode.
3510
3511 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
3512
3513         Add and change modules to make it easier for coreutils to use
3514         gnulib-tool.
3515         * modules/backupfile (Files): Remove m4/d-ino.m4.
3516         (Depends-on): Add d-ino.
3517         * modules/cycle-check (Depends-on): Add stdint.
3518         (lib_SOURCES): Add cycle-check.h.
3519         * modules/d-ino: New module.
3520         * modules/d-type: New module.
3521         * modules/error (Files): Remove m4/strerror_r.m4.
3522         * modules/filemode (Files): Add m4/st_dm_mode.m4.
3523         * modules/fsuage (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
3524         m4/inttypes_h.m4, m4/uintmax_t.m4.
3525         (Depends-on): Add stdint.
3526         (lib_SOURCES): Add fsusage.h.
3527         * modules/getcwd (Files): Remove d-ino.m4.
3528         (Depends-on): Add d-ino.
3529         * modules/getndelim2 (Depends-on): Add stdint.
3530         * modules/glob (Files): Remove m4/d-type.m4.
3531         (Depends-on): Add d-type.
3532         * modules/host-os: New module.
3533         * modules/human (Files):  Remove m4/ulonglong.m4, m4/stdint_h.m4,
3534         m4/inttypes_h.m4, m4/uintmax_t.m4.
3535         * Depends-on: Add stdint.
3536         (lib_SOURCES): Add human.h.
3537         * modules/inttostr (Files): Remove m4/intmax_t.m4,
3538         m4/inttostr.m4, m4/inttypes_h.m4, m4/longlong.m4, m4/stdint_h.m4,
3539         m4/uintmax_t.m4, m4/ulonglong.m4.
3540         (Depends-on): Add stdint.
3541         (EXTRA_DIST): Add inttostr.h.
3542         * modules/lchmod: New module.
3543         * modules/link-follow: New module.
3544         * modules/mkdir-p (Files): Remove lib/lchmod.h, m4/lchmod.m4.
3545         (Depends-on): Add lchmod.
3546         * modules/mkstemp (Files): Remove m4/ulonglong.m4,
3547         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4.
3548         (Depends-on): Add stdint.
3549         * modules/obstack (Files): Remove m4/inttypes_h.m4, m4/obstack.m4,
3550         m4/stdint_h.m4, m4/uintmax_t.m4, m4/ulonglong.m4.
3551         (Depends-on): Add stdint.
3552         (configure.ac): Change gl_OBSTACK to AC_FUNC_OBSTACK.
3553         * modules/perl: New module.
3554         * modules/regex (Depends-on): Add stdint.
3555         * modules/rmdir-errno: New module.
3556         * modules/strtoimax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
3557         m4/intmax_t.m4.
3558         (Depends-on): Add stdint.
3559         * modules/strtoumax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
3560         m4/uintmax_t.m4.
3561         (Depends-on): Add stdint.
3562         * modules/unlink-busy: New module.
3563         * modules/utimecmp (Depends-on): Add stdint.
3564         * modules/uptime: New module.
3565         * modules/winsz-ioctl: New module.
3566         * modules/winsz-termios: New module.
3567         * modules/xnanosleep (Depends-on): Add nanosleep.
3568         * modules/ullong_max: Remove.
3569         * modules/xstrtoimax (Files): Remove m4/xstrtoimax.m4.
3570         (configure.ac): Remove gl_XSTRTOIMAX; no action needed now.
3571         * modules/xstrtol (Files): Remove m4/ulonglong.m4, m4/longlong.m4,
3572         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4, m4/intmax_t.m4.
3573         (Depends-on): Add inttypes.
3574         (lib_SOURCES): Add xstrtol.h.
3575         * modules/xstrtoumax (Files): Remove m4/xstrtoumax.m4.
3576         (configure.ac): Remove gl_XSTRTOUMAX; no action needed now.
3577         * MODULES.html.sh: Move 'assert' into the assert section.
3578         Move 'dummy' into the linking section.
3579         Remove ullong_max.
3580         Add section for compatibility checks for POSIX:2001 functions,
3581         and put d-ino, d-type, link-follow, rmdir-errno, unlink-busy,
3582         winsz-ioctl, and winsz-termios into it.
3583         Add lchmod.
3584         Add top-level Misc section and put host-os, perl, and uptime
3585         into it.
3586
3587 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
3588
3589         * lib/cycle-check.h: Include <stdint.h> unconditionally, since we
3590         now assume the stdint module.  Do not include inttypes.h.
3591         * lib/fsusage.h: Likewise.
3592         * lib/getndelim2.c: Likewise.
3593         * lib/human.h: Likewise.
3594         * lib/inttostr.h: Likewise.
3595         * lib/obstack.c: Likewise.
3596         * lib/regex_internal.h: Likewise.
3597         * lib/tempname.c: Likewise.
3598         * lib/utimecmp.c: Likewise.
3599         * lib/xstrtol.h: Likewise.
3600
3601         * lib/stat_.h: Fix typo: HAVE_FUNC_LSTAT -> HAVE_LSTAT.
3602
3603         * lib/strtoimax.c: Adjust to macro name changes in Autoconf,
3604         e.g., HAVE_LONG_LONG -> HAVE_LONG_LONG_INT.
3605         * lib/xtime.h: Likewise.
3606
3607 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
3608
3609         * modules/openat (Files): Add lib/fchmodat.c.
3610         Fixes problem reported by Jay Youngman.
3611
3612 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
3613
3614         * lib/fchmodat.c: New file, from coreutils.  This was inadvertently
3615         omitted in the 2006-08-17 update.  Problem reported by Jay Youngman.
3616
3617 2006-08-18  Paul Eggert  <eggert@cs.ucla.edu>
3618             Bruno Haible  <bruno@clisp.org>
3619
3620         * m4/bison-i18n.m4 (BISON_I18N): Also handle the case where yacc exists
3621         and is a script that invokes bison. Tighten the code. Add comments.
3622
3623 2006-08-18  Jim Meyering  <jim@meyering.net>
3624
3625         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Also check for
3626         CLOCK_REALTIME, since gethrxtime may revert to using clock_gettime via
3627         gettime.c.  Gabor Z. Papp reported that gethrxtime-using programs
3628         failed to link due to unresolved clock_gettime on a linux-2.4.x system.
3629
3630 2006-08-18  Bruno Haible  <bruno@clisp.org>
3631
3632         * modules/bison-i18n: New file.
3633         * MODULES.html.sh (Internationalization functions): Add it.
3634
3635 2006-08-18  Bruno Haible  <bruno@clisp.org>
3636
3637         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Also check for
3638         sys/statvfs.h. When getmntinfo was found, check its declaration and
3639         set either MOUNTED_GETMNTINFO or MOUNTED_GETMNTINFO2 depending on it.
3640
3641 2006-08-18  Bruno Haible  <bruno@clisp.org>
3642
3643         * m4/bison-i18n.m4: New file, from bison.
3644
3645 2006-08-18  Bruno Haible  <bruno@clisp.org>
3646
3647         * lib/mountlist.c [MOUNTED_GETMNTINFO2]: Include sys/statvfs.h.
3648         (ME_DUMMY): Treat "kernfs" as a dummy.
3649         (read_file_system_list) [MOUNTED_GETMNTINFO2]: Implement.
3650
3651 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
3652
3653         Update from coreutils.
3654
3655         2006-08-15  Jim Meyering  <jim@meyering.net>
3656
3657         * m4/openat.m4 (gl_FUNC_OPENAT): Add at-func.c via AC_LIBSOURCES.
3658
3659         2006-01-17  Jim Meyering  <jim@meyering.net>
3660
3661         * m4/fts.m4 (gl_FUNC_FTS_CORE): Depend on gl_FUNC_OPENAT.
3662
3663         2006-01-11  Jim Meyering  <jim@meyering.net>
3664
3665         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile fchmodat.c.
3666         Check for the lchmod function.
3667
3668 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
3669
3670         Update from coreutils.
3671
3672         * lib/__fpending.h: Add copyright notice.
3673         * lib/fprintftime.h: Likewise.
3674         * lib/savedir.c: Use (C) in copyright notice.
3675         * lib/savedir.h: Likewise.
3676
3677         2006-08-15  Jim Meyering  <jim@meyering.net>
3678
3679         * lib/at-func.c: New file, with the logic of all emulated at-functions.
3680         * lib/openat-priv.h: Include <errno.h> and define ENOSYS,
3681         in support of the EXPECTED_ERRNO macro.
3682         * lib/openat.c (fstatat, unlinkat, fchownat): Remove function
3683         definitions.  Instead, define the appropriate symbols and include
3684         "at-func.c".
3685         * lib/mkdirat.c (mkdirat): Likewise.
3686         * lib/fchmodat.c (fchmodat): Likewise.
3687         (ENOSYS): Remove definition.
3688         * lib/openat.c: Don't include <errno.h>, now that "openat-priv.h" does
3689         it.  Don't include "unistd--.h" -- it wasn't ever used.
3690
3691         2006-01-17  Jim Meyering  <jim@meyering.net>
3692
3693         Rewrite fts.c not to change the current working directory,
3694         by using openat, fstatat, fdopendir, etc..
3695
3696         * lib/fts.c [! _LIBC]: Include "openat.h" and "unistd--.h".
3697         (HAVE_OPENAT_SUPPORT): Define.
3698         [_LIBC] (fchdir): Don't undef or define; no longer used.
3699         (FCHDIR): Define in terms of cwd_advance_fd rather than fchdir.
3700         Now, this `function' always succeeds, and consumes its file descriptor
3701         parameter -- so callers must not close such FDs.  Update callers.
3702         (diropen_fd, opendirat, cwd_advance_fd): New functions.
3703         (diropen): Add parameter, SP.  Adjust all callers.
3704         Implement using diropen_fd, rather than open.
3705         (fts_open): Initialize new member, fts_cwd_fd.
3706         Remove fts_rft-setting code.
3707         (fts_close): Close fts_cwd_fd, if necessary.
3708         (__opendir2): Define in terms of opendir or opendirat,
3709         depending on whether the FST_NOCHDIR flag is set.
3710         (fts_build): Since fts_safe_changedir consumes its FD, and since
3711         this code must do `closedir(dirp)', dup the dirfd(dirp) argument,
3712         and close the dup'd file descriptor upon failure.
3713         (fts_stat): Use fstatat(...AT_SYMLINK_NOFOLLOW) in place of lstat.
3714         (fts_safe_changedir): Tweak semantics to reflect that this function
3715         now calls cwd_advance_fd and hence consumes its FD argument.
3716         * lib/fts_.h [struct FTS] (fts_cwd_fd): New member.
3717         [struct FTS] (fts_rft): Remove now-unused member.
3718         [struct FTS] (fts_cycle.state): Improve comment.
3719
3720         * lib/openat.c (openat_needs_fchdir): New function.
3721         * lib/openat.h (openat_needs_fchdir): Declare it.
3722
3723 2006-08-16  Paul Eggert  <eggert@cs.ucla.edu>
3724
3725         * lib/memcoll.c (memcoll): Set errno = 0 in the shortcut case, too.
3726         Problem and fix reported by Pádraig Brady in
3727         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00099.html>.
3728
3729 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
3730
3731         * modules/cycle-check (configure.ac): Add gl_CYCLE_CHECK.
3732
3733 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
3734
3735         * lib/memcoll.c (memcoll): Optimize for the common case where the
3736         arguments are bytewise equal.
3737
3738 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
3739
3740         * doc/regexprops-generic.texi: Add a copyright notice.
3741
3742 2006-08-15  Bruno Haible  <bruno@clisp.org>
3743
3744         * modules/tmpdir (License): Change to LGPL.
3745
3746 2006-08-15  Bruno Haible  <bruno@clisp.org>
3747
3748         * gnulib-tool (func_all_modules, func_verify_module): COPYING is not a
3749         module.
3750
3751 2006-08-14  Simon Josefsson  <jas@extundo.com>
3752
3753         * config/srclist.txt: Add gnupload.
3754
3755 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
3756
3757         Change copyright notice from LGPL 2 to GPL 2, since that's the
3758         standard form used in the gnulib repository.
3759         * tests/test-lock.c: Likewise.
3760         * tests/test-stdint.c: Likewise.
3761         * tests/test-tls.c: Likewise.
3762
3763         * users.txt: Add bison, diffutils, libprelude, prelude-lml,
3764         prelude-manager.  User shorter URLs for GNU projects, without '?'.
3765         Add copyright notice.
3766
3767         * check-module: Add copyright notice.  Output a copyright
3768         notice if "--version" is specified.
3769         * modules/COPYING: New file.
3770         * tests/test-getaddrinfo.c: Add copyright notice.
3771         * tests/test-verify.c: Likewise.
3772
3773 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
3774
3775         Change copyright notice from LGPL 2 to GPL 2, since that's the
3776         standard form used in the gnulib repository.
3777         * lib/lock.c: LGPL -> GPL.
3778         * lib/lock.h: Likewise.
3779         * lib/strnlen1.c: Likewise.
3780         * lib/strnlen1.h: Likewise.
3781         * lib/tls.c: Likewise.
3782         * lib/tls.h: Likewise.
3783         * lib/tmpdir.c: Likewise.
3784
3785         * lib/TODO: Remove; this belongs only in coreutils.
3786
3787 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
3788
3789         Add copyright notices to long-enough files that lack them, since
3790         otherwise the files aren't clearly free.  Use the same notice that
3791         getdate.texi already uses.
3792         * doc/alloca-opt.texi: Add copyright notice.
3793         * doc/alloca.texi: Likewise.
3794         * doc/ctime.texi: Likewise.
3795         * doc/functions.texi: Likewise.
3796         * doc/gcd.texi: Likewise.
3797         * doc/gnulib-tool.texi: Likewise.
3798         * doc/inet_ntoa.texi: Likewise.
3799         * doc/visibility.texi: Likewise.
3800
3801         * doc/getdate.texi: Update FDL version from 1.1 to 1.2.
3802         * doc/quote.texi: Add copyright notice.
3803
3804         * doc/solaris-versions: Add SunOS 5.10, SunOS 1.x, SunOS 4.0, SunOS
3805         4.0.x, SunOS 4.1.1.1, SunOS 4.1.1_U1, SunOS 4.1.3B.  SunOS 4.1.3
3806         was Solaris 1.1A.  Remove space before B in Solaris 1.1.1B.
3807         Mention SunOS 5.11.  Mention that everything before SunOS 5.7
3808         is now obsolete, and give a pointer to the Sun list.
3809         Add copyright notice.
3810
3811 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
3812
3813         * config/srclistvars.sh: Add copyright notice.
3814
3815 2006-08-14  Eric Blake  <ebb9@byu.net>
3816
3817         Import the following change from libc:
3818
3819         2006-08-12  Ulrich Drepper  <drepper@redhat.com>
3820
3821         Upstream bug 2997.
3822         * lib/misc/error.c: Add space between program name and message if file
3823         name is missing.
3824
3825 2006-08-12  Karl Berry  <karl@gnu.org>
3826
3827         * config/srclist.txt (ssize_t.m4, sig_atomic_t.m4, signalblocking.m4):
3828         remove, these originate in gnulib now.
3829
3830 2006-08-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
3831
3832         * doc/Makefile (standards.info standards.html standards.dvi):
3833         Also depend on make-stds.texi.
3834
3835 2006-08-11  Paul Eggert  <eggert@cs.ucla.edu>
3836
3837         * lib/pipe-safer.c (pipe_safer): Fix misspelling: HAVE_FUNC_PIPE ->
3838         HAVE_PIPE.  Fix a file descriptor leak when fd_safer fails.
3839
3840         * lib/regex_internal.c (re_string_skip_chars): Don't assume WEOF fits
3841         in wchar_t.  Problem reported by Eric Blake.
3842
3843         * lib/snprintf.c (snprintf): memcpy LEN bytes, not SIZE - 1, when
3844         LEN is smaller than SIZE.  Suggested by Bruno Haible.
3845         Also, help the compiler to keep LEN in a register.
3846
3847 2006-08-11  Eric Blake  <ebb9@byu.net>
3848
3849         * users.txt: Sort.  Add tar.
3850
3851 2006-08-11  Bruno Haible  <bruno@clisp.org>
3852
3853         * users.txt: New file.
3854
3855 2006-08-11  Bruno Haible  <bruno@clisp.org>
3856
3857         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Include <stdio.h> and <time.h>
3858         before <wchar.h>. Needed for OSF/1 and BSD/OS.
3859
3860 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
3861
3862         * modules/snprintf (Depends-on): Remove minmax.
3863         (Maintainer): Add self and Bruno.
3864
3865 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
3866
3867         * lib/.cppi-disable: Add snprintf.h, socket_.h.
3868         * lib/snprintf.c: Include <errno.h> and <limits.h>.
3869         (EOVERFLOW): Define if the system does not.
3870         Do not include "minmax.h"; it wasn't used.
3871         (snprintf): Don't assume size_t promotes to an unsigned type.
3872         Fix bug when generated string was too long for the buffer: the
3873         buffer's contents are supposed to be the initial prefix of the
3874         output.  Don't assume vasnprintf returns EOVERFLOW if the size
3875         exceeds INT_MAX; do the check ourselves.
3876
3877         Import the following changes from libc:
3878
3879         2006-06-02  Jakub Jelinek  <jakub@redhat.com>
3880
3881         * lib/posix/regex_internal.c (re_string_skip_chars): If no character
3882         has been converted at all, set *last_wc to WEOF.  If mbrtowc failed,
3883         set wc to the byte which couldn't be converted.
3884         (re_string_reconstruct): Don't clear valid_raw_len before calling
3885         re_string_skip_chars.  If wc is WEOF after re_string_skip_chars, set
3886         tip_context using re_string_context_at.
3887
3888         2006-05-02  Ulrich Drepper  <drepper@redhat.com>
3889
3890         * lib/posix/regex.h: g++ still cannot handled [restrict].
3891
3892         2006-04-21  Ulrich Drepper  <drepper@redhat.com>
3893
3894         * lib/posix/regex.h: Remove special handling for VMS.
3895
3896 2006-08-10  Jim Meyering  <jim@meyering.net>
3897
3898         * modules/same-inode: New module.
3899         * modules/dev-ino: New module.
3900         * modules/cycle-check: Depend on these modules, rather than simply
3901         including their .h files.
3902         (Makefile.am): Don't list cycle-check.[ch] here, now that they're
3903         required via m4/cycle-check.m4.
3904         * modules/same: Depend on new same-inode module, rather than
3905         including same-inode.h.
3906         * modules/chdir-safer: New file.
3907
3908         * modules/chown (Depends-on): Add stat-macros.
3909
3910 2006-08-10  Jim Meyering  <jim@meyering.net>
3911
3912         * m4/cycle-check.m4: New file.
3913         Require gl_STRUCT_DEV_INO and gl_SAME_INODE.
3914         * m4/dev-ino.m4, m4/same-inode.m4: New files.
3915
3916 2006-08-10  Eric Blake  <ebb9@byu.net>
3917
3918         * modules/verror (Depends-on): Remove bogus gl_VERROR that snuck
3919         in from original proposal.
3920
3921 2006-08-10  Eric Blake  <ebb9@byu.net>
3922         and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
3923
3924         * gnulib-tool (func_import): Detect unexpanded macros in gnulib
3925         namespace.
3926
3927 2006-08-10  Bruno Haible  <bruno@clisp.org>
3928
3929         * gnulib-tool (func_create_testdir): Detect unexpanded macros here
3930         as well.
3931
3932 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
3933
3934         Sync from coreutils.
3935
3936         2006-07-19  Mike Frysinger  <vapier@gentoo.org>
3937
3938         * lib/mountlist.c [ME_REMOTE]: Filter out cifs.
3939         Reported by Toralf Förster in <http://bugs.gentoo.org/141012>.
3940
3941 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
3942
3943         * modules/restrict: Remove; no longer needed now that we assume
3944         Autoconf 2.59 or later.
3945         * MODULES.html.sh: Remove 'restrict'.
3946         * modules/argp (Depends-on): Remove 'restrict'.
3947         * modules/base64 (Depends-on): Likewise.
3948         * modules/gc (Depends-on): Likewise.
3949         * modules/getaddrinfo (Depends-on): Likewise.
3950         * modules/glob (Depends-on): Likewise.
3951         * modules/inet_ntop (Depends-on): Likewise.
3952         * modules/inet_pton (Depends-on): Likewise.
3953         * modules/memxor (Depends-on): Likewise.
3954         * modules/regex (Depends-on): Likewise.
3955         * modules/strtok_r (Depends-on): Likewise.
3956         * modules/time_r (Depends-on): Likewise.
3957
3958 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
3959
3960         * m4/argp.m4 (gl_ARGP): Require AC_C_RESTRICT.
3961         * m4/gc.m4 (gl_PREREQ_GC): Likewise.
3962         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
3963         * m4/inet_ntop.m4 (gl_PREREQ_INET_NTOP): Likewise.
3964         * m4/inet_pton.m4 (gl_PREREQ_INET_PTON): Likewise.
3965         * m4/memxor.m4 (gl_MEMXOR): Likewise.
3966         * m4/restrict.m4: Remove; no longer needed.  All remaining uses of
3967         gl_C_RESTRICT replaced by AC_C_RESTRICT.
3968
3969         Merge from coreutils.
3970         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_C_RESTRICT, not
3971         gl_C_RESTRICT, now that we assume Autoconf 2.59 or later.
3972         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
3973         * m4/time_r.m4 (gl_TIME_R): Likewise.
3974
3975 2006-08-09  Karl Berry  <karl@gnu.org>
3976
3977         * config/srclist.txt: no more gettext-tools, per Bruno.
3978
3979 2006-08-08  Eric Blake  <ebb9@byu.net>
3980
3981         * modules/verror: New module.
3982         * MODULES.html.sh: Document it.
3983
3984 2006-08-08  Eric Blake  <ebb9@byu.net>
3985
3986         * lib/verror.h, lib/verror.c: New files.
3987
3988 2006-08-08  Eric Blake  <ebb9@byu.net>
3989
3990         * lib/verror.c (verror_at_line): Work around glibc bug 2997, so that
3991         verror_at_line output complies with GNU Coding Standards even when
3992         file is NULL.
3993
3994 2006-08-07  Bruno Haible  <bruno@clisp.org>
3995
3996         * lib/allocsa.h (sa_alignof) [_AIX]: Also consider 'long long' in newer
3997         versions of AIX.
3998         Reported by Ralf Wildenhues.
3999
4000 2006-08-07  Bruno Haible  <bruno@clisp.org>
4001
4002         * gnulib-tool (func_create_testdir): Wrap the set of autoconf snippets
4003         in an AC_DEFUN. Needed so that the autoconf snippets can use
4004         AC_REQUIRE.
4005
4006 2006-08-06  Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
4007
4008         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
4009         Initialize pkgdata_DATA.
4010         * modules/javaversion (Makefile.am): Add to pkgdata_DATA, rather than
4011         overriding it.
4012
4013 2006-08-06  Eric Blake  <ebb9@byu.net>
4014
4015         * lib/error.h: Fold in some upstream changes from glibc.
4016         * lib/error.c: Likewise.
4017
4018 2006-08-04  Bruno Haible  <bruno@clisp.org>
4019
4020         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
4021         Make the mostlyclean-local rule depend on mostlyclean-generic.
4022         Reported by Jim Meyering. Solution suggested by Ralf Wildenhues.
4023
4024 2006-07-31  Bruno Haible  <bruno@clisp.org>
4025
4026         * m4/localcharset.m4 (gl_LOCALCHARSET): Remove tests for <stddef.h>,
4027         <stdlib.h>, <string.h>.
4028
4029 2006-07-30  Bruno Haible  <bruno@clisp.org>
4030
4031         * modules/readlink (License): Change to LGPL.
4032
4033 2006-07-30  Bruno Haible  <bruno@clisp.org>
4034
4035         * modules/javaversion (Makefile.am): Distribute javaversion.java and
4036         javaversion.class. Also install javaversion.class in $(pkgdatadir) and
4037         set PKGDATADIR to point to it.
4038
4039 2006-07-30  Bruno Haible  <bruno@clisp.org>
4040
4041         * modules/csharpexec (configure.ac): Comment out macro invocation.
4042         * modules/javaexec (configure.ac): Likewise.
4043         * modules/javacomp-script (configure.ac): Likewise.
4044
4045         * modules/csharpcomp-script (configure.ac): Use AC_REQUIRE.
4046
4047 2006-07-30  Bruno Haible  <bruno@clisp.org>
4048
4049         * modules/clean-temp (Depends-on): Add linkedhash-list, remove
4050         linked-list.
4051
4052 2006-07-30  Bruno Haible  <bruno@clisp.org>
4053
4054         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Assume <string.h> exists.
4055
4056 2006-07-30  Bruno Haible  <bruno@clisp.org>
4057
4058         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
4059         Initialize MOSTLYCLEANFILES to core and *.stackdump, so that core dumps
4060         get removed.
4061
4062 2006-07-29  Bruno Haible  <bruno@clisp.org>
4063
4064         Make it possible for gnulib-tool to work with locally modified or
4065         augmented gnulib repositories.
4066         * gnulib-tool (func_usage): Document --local-dir option.
4067         (local_gnulib_dir): New variable.
4068         Handle --local-dir option.
4069         (func_lookup_file): New function.
4070         (func_all_modules, func_verify_module): Look also in $local_gnulib_dir.
4071         (func_get_description, func_get_filelist, func_get_description,
4072         func_get_filelist, func_get_dependencies, func_get_autoconf_snippet,
4073         func_get_automake_snippet, func_get_include_directive,
4074         func_get_license, func_get_maintainer): Use func_lookup_file.
4075         (func_import, func_create_testdir): Use func_lookup_file.
4076
4077 2006-07-29  Bruno Haible  <bruno@clisp.org>
4078
4079         * modules/setenv (Depends-on): Add unistd.
4080
4081 2006-07-29  Bruno Haible  <bruno@clisp.org>
4082
4083         * lib/setenv.c: Undo unintended modification done on 2006-02-27.
4084
4085 2006-07-29  Bruno Haible  <bruno@clisp.org>
4086
4087         * lib/localcharset.c: Assume <stddef.h>, <stdlib.h>, <string.h> exist.
4088
4089 2006-07-29  Bruno Haible  <bruno@clisp.org>
4090
4091         * gnulib-tool (import, update): If there is no Makefile.am, look at
4092         aclocal.m4, instead of bailing out.
4093
4094 2006-07-29  Bruno Haible  <bruno@clisp.org>
4095
4096         * gnulib-tool (func_usage): Revert most of the 2006-07-15 change.
4097         Categorize the options by when they are useful.
4098
4099 2006-07-29  Bruno Haible  <bruno@clisp.org>
4100
4101         * gnulib-tool (func_usage): Document option --no-libtool.
4102         Handle option --no-libtool.
4103         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Update
4104         for changed semantics of $libtool variable.
4105         (func_import): Likewise. If libtool is not used, show this through
4106         an option --no-libtool.
4107         (func_create_testdir): Update.
4108
4109 2006-07-29  Bruno Haible  <bruno@clisp.org>
4110
4111         * gnulib-tool (func_import): Extend error message about missing
4112         --doc-base.
4113
4114 2006-07-29  Bruno Haible  <bruno@clisp.org>
4115
4116         * gnulib-tool (func_import): Don't create the $docbase directory if
4117         there is no file to store there.
4118
4119 2006-07-29  Bruno Haible  <bruno@clisp.org>
4120
4121         * gnulib-tool (autoconf_minversion): If a --dir option is given and
4122         relevant, look for configure.ac there, not in the current directory.
4123         Also use a simple search for AC_PREREQ, not "autoconf --trace".
4124
4125 2006-07-29  Bruno Haible  <bruno@clisp.org>
4126
4127         * gnulib-tool (SORT): New variable.
4128         (func_usage): Undocument --assume-autoconf option.
4129         Remove --assume-autoconf option handling.
4130         (autoconf_minversion): Determine from the contents of configure.ac.
4131         (func_import): Remove autoconf_minversion handling.
4132         Suggested by Eric Blake.
4133
4134 2006-07-29  Bruno Haible  <bruno@clisp.org>
4135
4136         * doc/gnulib-tool.texi (gl_LIBTOOL): Mention --no-libtool option.
4137
4138 2006-07-29  Bruno Haible  <bruno@clisp.org>
4139
4140         * config/srclist.txt (*setenv.[ch]): Remove rules.
4141
4142 2006-07-28  Yoann Vandoorselaere <yoann.v@prelude-ids.com>
4143
4144         * m4/inet_pton.m4, inet_ntop.m4: Check for netinet/in.h too.
4145
4146 2006-07-28  Yoann Vandoorselaere <yoann.v@prelude-ids.com>
4147
4148         * lib/inet_ntop.h, inet_pton.h: Need to include netinet/in.h before
4149         arpa/inet.h.
4150
4151 2006-07-28  Simon Josefsson  <jas@extundo.com>
4152
4153         * modules/inet_ntop (Depends-on): Depend on arpa_inet.
4154         * modules/inet_pton (Depends-on): Likewise.
4155
4156 2006-07-28  Simon Josefsson  <jas@extundo.com>
4157
4158         * m4/netinet_in_h.m4: New file.
4159
4160 2006-07-28  Simon Josefsson  <jas@extundo.com>
4161
4162         * lib/inet_ntop.h, inet_pton.h: No need to guard netinet/in.h
4163         #include's.
4164
4165 2006-07-28  Simon Josefsson  <jas@extundo.com>
4166
4167         * lib/inet_ntop.h, inet_pton.h: No need to guard arpa/inet.h
4168         #include's.
4169
4170 2006-07-28  Paul Eggert  <eggert@cs.ucla.edu>
4171
4172         * lib/modechange.c (mode_compile): Numeric modes now affect setuid and
4173         setgid on directories only if they set these bits.
4174         * lib/modechange.h: Remove obsolete comment about masks.
4175
4176 2006-07-28  Eric Blake  <ebb9@byu.net>
4177
4178         * lib/regex_internal.h (struct re_dfa_t) [!_LIBC]: Avoid invalid C89
4179         macro expansion.
4180
4181 2006-07-28  Bruno Haible <bruno@clisp.org>
4182
4183         * lib/inet_ntop.h, inet_pton.h: Use #if HAVE* instead of #ifdef HAVE*.
4184
4185 2006-07-28  Bruno Haible  <bruno@clisp.org>
4186
4187         * m4/mbchar.m4 (gl_MBCHAR): Also test for iswcntrl.
4188
4189 2006-07-28  Bruno Haible  <bruno@clisp.org>
4190
4191         * lib/mbchar.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
4192         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit):
4193         Define fallbacks.
4194         Avoids link error on FreeBSD 4.x.
4195         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
4196
4197         * lib/wcwidth.h (iswprint): Assume an ASCII compatible wide character
4198         encoding.
4199         * lib/mbswidth.c (iswcntrl): Likewise.
4200
4201 2006-07-27  Bruno Haible  <bruno@clisp.org>
4202
4203         * m4/stdint.m4 (gl_STDINT_H): Define __STDC_CONSTANT_MACROS during the
4204         test.
4205
4206 2006-07-27  Bruno Haible  <bruno@clisp.org>
4207
4208         * lib/stdint_.h (INT*_C, UINT*_C) [C++]: Define these if
4209         __STDC_CONSTANT_MACROS is defined, not if __STDC_LIMIT_MACROS is
4210         defined.
4211
4212 2006-07-26  Eric Blake  <ebb9@byu.net>
4213
4214         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Check for missing pipe.
4215
4216 2006-07-26  Eric Blake  <ebb9@byu.net>
4217
4218         * lib/mkstemp-safer.c [! HAVE_MKSTEMP]: Add prototype for platforms
4219         like mingw that lack mkstemp.
4220         * lib/pipe-safer.c (pipe_safer) [!HAVE_FUNC_PIPE]: Provide fallback to
4221         avoid compilation warning on mingw.
4222
4223 2006-07-26  Bruno Haible  <bruno@clisp.org>
4224
4225         * m4/stdint.m4 (gl_STDINT_H): Also verify the existence of the macros
4226         INT*_MIN, INT_LEAST*_MAX, INT_LEAST*_MIN, UINT_LEAST*_MAX,
4227         INT_FAST*_MIN, INTPTR_MIN.
4228
4229 2006-07-25  Bruno Haible  <bruno@clisp.org>
4230
4231         * modules/version-etc (Depends-on): Add stdarg.
4232
4233 2006-07-25  Bruno Haible  <bruno@clisp.org>
4234
4235         * m4/stdint.m4 (gl_INTEGER_TYPE_SUFFIX): Avoid 'eval' in front of
4236         complex commands.
4237
4238 2006-07-25  Bruno Haible  <bruno@clisp.org>
4239
4240         * lib/version-etc.c (version_etc_va): Use va_copy, assumed to be
4241         defined in <stdarg.h> or config.h.
4242
4243 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
4244
4245         * m4/stdio-safer.m4 (gl_FOPEN_SAFER, gl_TMPFILE_SAFER): New macros.
4246         (gl_STDIO_SAFER): Remove.
4247
4248 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
4249
4250         * MODULES.html.sh (File stream based Input/Output):
4251         Add fopen-safer, tmpfile-safer; remove stdio-safer.
4252         * modules/getusershell (Depends-on): Change stdio-safer to fopen-safer.
4253         * modules/fopen-safer, modules/tmpfile-safer: New files.
4254         * modules/stdio-safer: Remove.
4255
4256 2006-07-24  Bruno Haible  <bruno@clisp.org>
4257
4258         * modules/tmpdir: New file.
4259         * MODULES.html.sh (File system functions): Add it.
4260
4261 2006-07-24  Bruno Haible  <bruno@clisp.org>
4262
4263         * modules/javacomp (Depends-on): Add unistd, javaversion, binary-io,
4264         getline, pathname, fwriteerror, clean-temp, xvasprintf, strstr.
4265
4266 2006-07-24  Bruno Haible  <bruno@clisp.org>
4267
4268         * modules/clean-temp: New file.
4269
4270 2006-07-24  Bruno Haible  <bruno@clisp.org>
4271
4272         * m4/tmpdir.m4: New file, from GNU gettext.
4273
4274 2006-07-24  Bruno Haible  <bruno@clisp.org>
4275
4276         * lib/tmpdir.h: New file, from GNU gettext.
4277         * lib/tmpdir.c: New file, from GNU gettext.
4278
4279 2006-07-24  Bruno Haible  <bruno@clisp.org>
4280
4281         * lib/clean-temp.h: New file, from GNU gettext.
4282         * lib/clean-temp.c: New file, from GNU gettext.
4283
4284 2006-07-23  Eric Blake  <ebb9@byu.net>
4285
4286         * modules/stdio-safer (Files): Add tmpfile-safer.c.
4287         (Depends-on): Add binary-io.
4288
4289 2006-07-23  Eric Blake  <ebb9@byu.net>
4290
4291         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add tmpfile-safer.c.
4292
4293 2006-07-23  Eric Blake  <ebb9@byu.net>
4294
4295         * lib/tmpfile-safer.c: New file.
4296         * lib/stdio-safer.h (fopen_safer): Add prototype.
4297         * lib/stdio--.h (tmpfile): Make safer.
4298
4299 2006-07-23  Bruno Haible  <bruno@clisp.org>
4300
4301         * lib/gl_anylinked_list2.h (ASYNCSAFE): New macro.
4302         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before,
4303         gl_linked_add_after, gl_linked_add_at, gl_linked_remove_node,
4304         gl_linked_remove_at): Use it.
4305
4306 2006-07-22  Yoann Vandoorselaere <yoann.v@prelude-ids.com>
4307         and Simon Josefsson <jas@extundo.com>
4308
4309         * lib/getaddrinfo.h (AI_PASSIVE): Make sure it is defined.
4310
4311         * lib/getaddrinfo.c (getaddrinfo): Support AI_PASSIVE.
4312
4313 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
4314
4315         * modules/close-stream: New file.
4316         * modules/closeout (Description): Make it clear that it exits
4317         with a diagnostic on error.
4318         (Depends-on): Add close-stream.  Remove fpending, stdbool.
4319         * MODULES.html.sh (File stream based Input/Output): Add close-stream.
4320
4321 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
4322
4323         * m4/close-stream.m4: New file.
4324
4325 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
4326
4327         * lib/close-stream.c, lib/close-stream.h: New files.
4328
4329 2006-07-22  Bruno Haible  <bruno@clisp.org>
4330
4331         Merge from GNU gettext 0.15.
4332
4333         2006-05-01  Bruno Haible  <bruno@clisp.org>
4334
4335                 * build-aux/javacomp.sh.in: Update for changed javacomp.m4.
4336
4337         2006-07-22  Bruno Haible  <bruno@clisp.org>
4338
4339                 * modules/javaversion: New file.
4340                 * MODULES.html.sh (Java): Add javaversion.
4341
4342         2006-03-12  Bruno Haible  <bruno@clisp.org>
4343
4344                 * build-aux/javaexec.sh.in: Update for changed javaexec.m4.
4345
4346         2005-12-04  Bruno Haible  <bruno@clisp.org>
4347
4348                 * build-aux/csharpexec.sh.in: Add support for 'clix' launcher
4349                 (untested).
4350
4351         2006-06-21  Bruno Haible  <bruno@clisp.org>
4352
4353                 Avoid warnings from recent versions of mcs.
4354                 * build-aux/csharpcomp.sh.in (options_mcs): Don't use options
4355                 -o, -L, -r any more. Use options documented since mcs-1.0
4356                 instead. Similarly for -g.
4357
4358         2005-12-04  Bruno Haible  <bruno@clisp.org>
4359
4360                 * build-aux/csharpcomp.sh.in: Suffix for resources is
4361                 .resources, not .resource.
4362
4363         2005-07-09  Bruno Haible  <bruno@clisp.org>
4364
4365                 * build-aux/csharpcomp.sh.in (options_csc): For -l option,
4366                 add a .dll suffix.
4367                 Reported by Mark Junker <mjscod@gmx.de>.
4368
4369         2006-07-22  Bruno Haible  <bruno@clisp.org>
4370
4371                 * modules/gettext: Upgrade to gettext-0.15.
4372                 (Files): Remove m4/isc-posix.m4. Add m4/lock.m4,
4373                 m4/visibility.m4.
4374                 Replace m4/inttypes.m4 with m4/inttypes-h.m4.
4375
4376 2006-07-22  Bruno Haible  <bruno@clisp.org>
4377
4378         Merge from GNU gettext 0.15.
4379
4380         2006-03-25  Bruno Haible  <bruno@clisp.org>
4381
4382                 * lib-link.m4 (AC_LIB_LINKFLAGS_FROM_LIBS): New macro.
4383
4384         2006-07-21  Bruno Haible  <bruno@clisp.org>
4385
4386                 * javacomp.m4 (gt_JAVACOMP): Convert target_version "null" to
4387                 "1.1".
4388
4389         2006-05-09  Bruno Haible  <bruno@clisp.org>
4390
4391                 * javacomp.m4 (gt_JAVACOMP): On Cygwin, set
4392                 CLASSPATH_SEPARATOR to a semicolon. Use CLASSPATH_SEPARATOR
4393                 for the conftestver execution.
4394
4395         2006-05-01  Bruno Haible  <bruno@clisp.org>
4396
4397                 * javacomp.m4 (gt_JAVACOMP): Accept a source-version and an
4398                 optional target-version argument. Verify that the compiler
4399                 groks source of the specified source-version, or add -source
4400                 option as necessary. Verify that the compiler produces
4401                 bytecode in the specified target-version, or add -target and
4402                 -source options as necessary. Make the result of the test
4403                 available as variable CONF_JAVAC. Also log error output in
4404                 config.log.
4405
4406         2006-03-11  Bruno Haible  <bruno@clisp.org>
4407
4408                 * javacomp.m4 (gt_JAVACOMP): Treat gcj-4.x like gcj-3.x.
4409
4410         2006-05-09  Bruno Haible  <bruno@clisp.org>
4411
4412                 * javaexec.m4 (gt_JAVAEXEC): On Cygwin, set
4413                 CLASSPATH_SEPARATOR to a semicolon.
4414
4415         2006-03-12  Bruno Haible  <bruno@clisp.org>
4416
4417                 * javaexec.m4 (gt_JAVAEXEC): Make the result of the test
4418                 available as variable CONF_JAVA, for subsequent autoconf
4419                 tests. Also log error output in config.log.
4420
4421         2006-07-19  Bruno Haible  <bruno@clisp.org>
4422
4423                 * getline.m4 (AM_FUNC_GETLINE): When cross-compiling, assume
4424                 that getline works on glibc2 systems. Needed to avoid trouble
4425                 in relocatable.c.
4426                 Reported by Nils Magnus Larsgard <nmlarsgaard@atmel.no>.
4427
4428         2005-12-04  Bruno Haible  <bruno@clisp.org>
4429
4430                 * csharpexec.m4 (gt_CSHARPEXEC): Add support for 'clix'
4431                 launcher (untested).
4432
4433         2005-12-04  Bruno Haible  <bruno@clisp.org>
4434
4435                 * csharpcomp.m4 (gt_CSHARPCOMP): Also set CSHARPCOMPFLAGS.
4436
4437         2006-07-22  Bruno Haible  <bruno@clisp.org>
4438
4439                 * gettext.m4: Update from GNU gettext-0.15.
4440                 * nls.m4: Likewise.
4441                 * po.m4: Likewise.
4442                 * inttypes-pri.m4: Likewise.
4443                 * inttypes-h.m4: Renamed from inttypes.m4.
4444                 (gl_HEADER_INTTYPES_H): Renamed from gt_HEADER_INTTYPES_H.
4445
4446 2006-07-22  Bruno Haible  <bruno@clisp.org>
4447
4448         Merge from GNU gettext 0.15.
4449
4450         2005-07-05  Bruno Haible  <bruno@clisp.org>
4451
4452                 * printf-args.c (printf_fetchargs): Work around broken
4453                 definition of wint_t on mingw.
4454
4455         2005-02-12  Bruno Haible  <bruno@clisp.org>
4456
4457                 * xallocsa.h: Add extern "C" for C++.
4458
4459         2006-05-17  Bruno Haible  <bruno@clisp.org>
4460
4461                 Cygwin portability.
4462                 * progreloc.c (WIN32_NATIVE): Renamed from WIN32.
4463
4464         2006-04-30  Bruno Haible  <bruno@clisp.org>
4465
4466                 * progreloc.c: Include <mach-o/dyld.h> if available.
4467                 (find_executable): Use _NSGetExecutablePath when possible.
4468
4469         2006-05-06  Charles Wilson  <cygwin@cwilson.fastmail.fm>
4470
4471                 * progreloc.c (maybe_executable) [CYGWIN]: Use the access()
4472                 function.
4473
4474         2005-12-29  Bruno Haible  <bruno@clisp.org>
4475
4476                 * progreloc.c (set_program_name_and_installdir): Fix
4477                 compilation error.
4478
4479         2005-12-04  Bruno Haible  <bruno@clisp.org>
4480
4481                 Cygwin portability.
4482                 * progreloc.c: Include <windows.h> also on Cygwin.
4483                 (find_executable): Add support for Cygwin.
4484                 (set_program_name_and_installdir): Handle also platforms with
4485                 nonempty EXEEXT.
4486
4487         2006-07-11  Bruno Haible  <bruno@clisp.org>
4488
4489                 * javacomp.c: Fix a comment.
4490                 Reported by Jim Meyering.
4491
4492         2006-04-30  Bruno Haible  <bruno@clisp.org>
4493
4494                 * javacomp.h (compile_java_class): Add source_version,
4495                 target_version arguments.
4496                 * javacomp.c: Rewritten to choose only a compiler that
4497                 respects the specified source_version and target_version.
4498
4499         2006-06-27  Bruno Haible  <bruno@clisp.org>
4500
4501                 Assume correct S_ISDIR macro.
4502                 * mkdtemp.c: Remove test of STAT_MACROS_BROKEN.
4503
4504         2006-07-22  Bruno Haible  <bruno@clisp.org>
4505
4506                 * javaversion.h: New file, from GNU gettext.
4507                 * javaversion.c: New file, from GNU gettext.
4508                 * javaversion.java: New file, from GNU gettext.
4509                 * javaversion.class: New file, from GNU gettext.
4510
4511         2006-05-17  Bruno Haible  <bruno@clisp.org>
4512
4513                 Cygwin portability.
4514                 * javaexec.c (execute_java_class): Test for jview program
4515                 also on Cygwin.
4516
4517         2006-04-09  Bruno Haible  <bruno@clisp.org>
4518
4519                 * fatal-signal.c: Don't include string.h.
4520                 (at_fatal_signal): Use a copying loop instead of memcpy.
4521
4522         2005-12-04  Bruno Haible  <bruno@clisp.org>
4523
4524                 * csharpexec.c: Add support for 'clix' launcher (untested).
4525                 (execute_csharp_using_sscli): New function.
4526                 (execute_csharp_program): Call it.
4527
4528         2006-06-21  Bruno Haible  <bruno@clisp.org>
4529
4530                 Avoid warnings from recent versions of mcs.
4531                 * csharpcomp.c (compile_csharp_using_mono): Don't use options
4532                 -o, -L, -r any more. Use options documented since mcs-1.0
4533                 instead. Similarly for -g.
4534
4535         2005-07-09  Bruno Haible  <bruno@clisp.org>
4536
4537                 * csharpcomp.c (compile_csharp_using_sscli): For -l option,
4538                 add a .dll suffix.
4539                 Reported by Mark Junker <mjscod@gmx.de>.
4540
4541         2006-06-17  Bruno Haible  <bruno@clisp.org>
4542
4543                 * config.charset: Update for NetBSD 3.0.
4544
4545         2006-05-17  Bruno Haible  <bruno@clisp.org>
4546
4547                 Cygwin portability.
4548                 * localcharset.c (WIN32_NATIVE): Renamed from WIN32.
4549
4550         2006-05-16  Bruno Haible  <bruno@clisp.org>
4551
4552                 * localcharset.c [CYGWIN]: Include <windows.h>.
4553                 (get_charset_aliases): For Cygwin, return the same CPxxx
4554                 aliases list as under WIN32.
4555                 (locale_charset) [CYGWIN]: Try to retrieve the encoding from
4556                 the environment variables. Fall back to GetACP().
4557
4558         2006-04-05  Bruno Haible  <bruno@clisp.org>
4559
4560                 * config.charset: Update Juan Manuel Guerrero's address.
4561
4562         2005-02-12  Bruno Haible  <bruno@clisp.org>
4563
4564                 * allocsa.h: Add extern "C" for C++.
4565
4566         2005-02-10  Bruno Haible  <bruno@clisp.org>
4567
4568                 * allocsa.h (sa_alignof): Define differently with AIX xlc, to
4569                 avoid a bug of this compiler on AIX 3.2.5 dealing with enums.
4570
4571         2006-07-22  Bruno Haible  <bruno@clisp.org>
4572
4573                 * gettext.h: Update to GNU gettext-0.15.
4574
4575 2006-07-22  Bruno Haible  <bruno@clisp.org>
4576
4577         * config/srclist.txt: Resync printf-args.c, vasnprintf.c,
4578         localcharset.c, mkdtemp.c, config.rpath, lib-ld.m4, lib-link.m4,
4579         lib-prefix.m4, longdouble.m4, ssize_t.m4.
4580
4581 2006-07-21  Eric Blake  <ebb9@byu.net>
4582
4583         * modules/stdlib-safer: New file.
4584         * MODULES.html.sh (File stream based Input/Output): Add
4585         stdlib-safer.
4586
4587 2006-07-21  Eric Blake  <ebb9@byu.net>
4588
4589         * lib/stdlib-safer.h: New file from coreutils, required by
4590         stdlib--.h.
4591
4592 2006-07-20  Paul Eggert  <eggert@cs.ucla.edu>
4593
4594         * gnulib-tool (func_usage): Document --assume-autoconf='latest-stable'.
4595
4596 2006-07-20  Bruno Haible  <bruno@clisp.org>
4597
4598         * gnulib-tool: Recognize new option --assume-autoconf.
4599         (autoconf_minversion): New variable.
4600         (func_get_filelist): Use it to decide whether to add onceonly_2_57.m4.
4601
4602 2006-07-20  Bruno Haible  <bruno@clisp.org>
4603
4604         * MODULES.html.sh (func_all_modules): Add a missing func_begin_table.
4605
4606 2006-07-19  Derek R. Price  <derek@ximbiot.com>
4607
4608         * lib/getaddrinfo.h: Don't define unimplemented AI_* flags.
4609         Reindent and repaginate.
4610
4611 2006-07-19  Derek Price  <derek@ximbiot.com>
4612
4613         * doc/gnulib.texi (Libtool and Windows):  Eliminate passive voice.
4614         Correct grammar.
4615
4616 2006-07-17  Bruno Haible  <bruno@clisp.org>
4617
4618         * modules/list: New file.
4619         * modules/array-list: New file.
4620         * modules/carray-list, modules/carray-list-tests: New files.
4621         * modules/linked-list, modules/linked-list-tests: New files.
4622         * modules/avltree-list, modules/avltree-list-tests: New files.
4623         * modules/rbtree-list, modules/rbtree-list-tests: New files.
4624         * modules/linkedhash-list, modules/linkedhash-list-tests: New files.
4625         * modules/avltreehash-list, modules/avltreehash-list-tests: New files.
4626         * modules/rbtreehash-list, modules/rbtreehash-list-tests: New files.
4627         * modules/oset: New file.
4628         * modules/array-oset: New file.
4629         * modules/avltree-oset, modules/avltree-oset-tests: New files.
4630         * modules/rbtree-oset, modules/rbtree-oset-tests: New files.
4631         * tests/test-carray_list.c: New file.
4632         * tests/test-linked_list.c: New file.
4633         * tests/test-avltree_list.c: New file.
4634         * tests/test-rbtree_list.c: New file.
4635         * tests/test-linkedhash_list.c: New file.
4636         * tests/test-avltreehash_list.c: New file.
4637         * tests/test-rbtreehash_list.c: New file.
4638         * tests/test-avltree_oset.c: New file.
4639         * tests/test-rbtree_oset.c: New file.
4640         * MODULES.html.sh (Container data structures): New section.
4641
4642 2006-07-17  Bruno Haible  <bruno@clisp.org>
4643
4644         * m4/gl_list.m4: New file.
4645
4646 2006-07-17  Bruno Haible  <bruno@clisp.org>
4647
4648         * lib/gl_list.h: New file.
4649         * lib/gl_list.c: New file.
4650         * lib/gl_array_list.h: New file.
4651         * lib/gl_array_list.c: New file.
4652         * lib/gl_carray_list.h: New file.
4653         * lib/gl_carray_list.c: New file.
4654         * lib/gl_linked_list.h: New file.
4655         * lib/gl_linked_list.c: New file.
4656         * lib/gl_anylinked_list1.h: New file.
4657         * lib/gl_anylinked_list2.h: New file.
4658         * lib/gl_avltree_list.h: New file.
4659         * lib/gl_avltree_list.c: New file.
4660         * lib/gl_anyavltree_list1.h: New file.
4661         * lib/gl_anyavltree_list2.h: New file.
4662         * lib/gl_rbtree_list.h: New file.
4663         * lib/gl_rbtree_list.c: New file.
4664         * lib/gl_anyrbtree_list1.h: New file.
4665         * lib/gl_anyrbtree_list2.h: New file.
4666         * lib/gl_anytree_list1.h: New file.
4667         * lib/gl_anytree_list2.h: New file.
4668         * lib/gl_linkedhash_list.h: New file.
4669         * lib/gl_linkedhash_list.c: New file.
4670         * lib/gl_anyhash_list1.h: New file.
4671         * lib/gl_anyhash_list2.h: New file.
4672         * lib/gl_avltreehash_list.h: New file.
4673         * lib/gl_avltreehash_list.c: New file.
4674         * lib/gl_rbtreehash_list.h: New file.
4675         * lib/gl_rbtreehash_list.c: New file.
4676         * lib/gl_anytreehash_list1.h: New file.
4677         * lib/gl_anytreehash_list2.h: New file.
4678
4679         * lib/gl_oset.h: New file.
4680         * lib/gl_oset.c: New file.
4681         * lib/gl_array_oset.h: New file.
4682         * lib/gl_array_oset.c: New file.
4683         * lib/gl_avltree_oset.h: New file.
4684         * lib/gl_avltree_oset.c: New file.
4685         * lib/gl_rbtree_oset.h: New file.
4686         * lib/gl_rbtree_oset.c: New file.
4687         * lib/gl_anytree_oset.h: New file.
4688
4689 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
4690
4691         * m4/mkancesdirs.m4: New file.
4692         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Mention dirchownmod.c,
4693         dirchownmod.h.  Don't require AC_FUNC_ALLOCA, gl_AFS, gl_CHDIR_SAFER;
4694         no longer needed.  Require gl_FUNC_LCHOWN, since dirchownmod.c needs
4695         it.
4696
4697 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
4698
4699         * lib/dirchownmod.c, lib/dirchownmod.h, lib/mkancesdirs.c:
4700         * lib/mkancesdirs.h: New files.
4701         * lib/mkdir-p.c: Don't include alloca.h, stdio.h, sys/types.h,
4702         unistd.h, string.h, chdir-safer.h, dirname.h, lchmod.h, lchown.h,
4703         save-cwd.h.  Instead, include dirchownmod.h and mkancesdirs.h.
4704         (make_dir_parents): New args MAKE_ANCESTOR, OPTIONS, ANNOUNCE,
4705         MODE_BITS.  Remove options VERBOSE_FMT_STRING, CWD_ERRNO.  All
4706         callers changed.  Revamp internals significantly, by not
4707         attempting to create directories that are temporarily more
4708         permissive than the final results.  Do not attempt to use
4709         save_cwd/restore_cwd; it isn't worth it for mkdir and install.
4710         This removes some race conditions, fixes some bugs, and simplifies
4711         things.  Use new dirchownmod function to do owner and mode changes.
4712         * lib/mkdir-p.h: Likewise.
4713         * lib/modechange.c (octal_to_mode): New function.
4714         (struct mode_change): New member mentioned.
4715         (make_node_op_equals): New arg mentioned.  All callers changed.
4716         (mode_compile): Keep track of which mode bits the user has explicitly
4717         mentioned.
4718         (mode_adjust): New arg DIR, so that we implement the X op correctly.
4719         New arg PMODE_BITS, to keep track of which mode bits the user
4720         mentioned; it treats S_ISUID and S_ISGID speciall.
4721         All callers changed.
4722         * lib/modechange.h: Likewise.
4723
4724 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
4725
4726         * MODULES.html.sh: Add mkancestors.
4727         * modules/mkancesdirs: New module.
4728         * modules/mkdir-p (Files): Remove lib/chdir-safer.c, lib/chdir-safer.h,
4729         lib/same-inode.h, m4/afs.m4, m4/chdir-safer.m4.
4730         The chdir-safer and afs files are now orphans; I'll remove them
4731         unless someone speaks up.
4732         Add lib/dirchownmod.c, lib/dirchownmod.h.
4733         (Depends-on): Remove alloca, chown, save-cwd, dirname.
4734         Add lchown, mkancesdirs.
4735         (Maintainer): Add self.
4736
4737 2006-07-15  Karl Berry  <karl@gnu.org>
4738
4739         * gnulib-tool: help message wording/arrangement.
4740
4741 2006-07-14  Simon Josefsson  <jas@extundo.com>
4742
4743         * doc/gnulib.texi (Libtool and Windows): New section.
4744
4745 2006-07-12  Simon Josefsson  <jas@extundo.com>
4746
4747         * modules/gendocs (License): Fix license, approved by Karl.
4748
4749 2006-07-12  Eric Blake  <ebb9@byu.net>
4750
4751         * MODULES.html.sh: Add gendocs.
4752
4753 2006-07-11  Eric Blake  <ebb9@byu.net>
4754
4755         * modules/fdl: New module, to install doc/fdl.texi.
4756         * MODULES.html.sh: Add new section for documentation modules.
4757         * gnulib-tool: Avoid space-tab.
4758         (--doc-base): New option, to manage files from doc.
4759
4760 2006-07-11  Eric Blake  <ebb9@byu.net>
4761
4762         * m4/absolute-header.m4: Fix comments to match recent change.
4763
4764 2006-07-11  Eric Blake  <ebb9@byu.net>
4765
4766         * gnulib-tool: List --doc-base before --tests-base.
4767
4768 2006-07-11  Derek R. Price  <derek@ximbiot.com>
4769
4770         * lib/glob.c: s/NAMLEN/_D_EXACT_NAMLEN/.
4771
4772 2006-07-11  Bruno Haible  <bruno@clisp.org>
4773
4774         * README: Mention where to put documentation.
4775
4776 2006-07-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
4777
4778         * doc/functions.texi, gnulib-tool.texi, gnulib.texi: Fix some typos.
4779
4780 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
4781
4782         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Like today's change
4783         to stdint.m4.
4784
4785 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
4786
4787         * m4/stdint.m4 (gl_STDINT_H): Like yesterday's change to
4788         absolute-header.m4.  Also, set ABSOLUTE_STDINT_H to a string
4789         "no/such/file/stdint.h" when there is no such file, so that
4790         the resulting C code can be parsed by dodgy compilers.
4791         Problems reported by Bob Proulx.
4792
4793 2006-07-10  Derek R. Price  <derek@ximbiot.com>
4794
4795         * lib/backupfile.c, dirfd.h, fts.c, getcwd.c, glob.c, glob_.h:
4796         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
4797         macros into the GNU _D_EXACT_NAMLEN.
4798         * lib/savedir.c:  Likewise.
4799         (savedirstream): Use _D_EXACT_NAMLEN in preference to strlen.
4800
4801 2006-07-10  Derek R. Price  <derek@ximbiot.com>
4802         and Paul Eggert  <eggert@cs.ucla.edu>
4803
4804         * m4/backupfile.m4, d-ino.m4, d-type.m4, dirfd.m4, fts.m4, getcwd.m4:
4805         * m4/savedir.m4:
4806         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
4807         macros into the GNU _D_EXACT_NAMLEN.
4808
4809 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
4810
4811         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Use "" rather than <>
4812         around the absolute name, to work around a problem with the HP-UX
4813         11.23 native C compiler, reported by Bob Proulx.
4814
4815 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
4816
4817         * doc/maintain.texi, make-stds.texi: Sync from
4818         <http://savannah.gnu.org/projects/gnustandards>.
4819
4820 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
4821
4822         * build-aux/depcomp, build-aux/install-sh: Sync from Automake.
4823
4824 2006-07-09  Jim Meyering  <jim@meyering.net>
4825
4826         * m4/glob.m4: Remove a doubled word in a comment.
4827
4828 2006-07-09  Jim Meyering  <jim@meyering.net>
4829
4830         * lib/argp-pv.c: Remove a doubled word in a comment.
4831         * lib/check-version.c (check_version): Likewise.
4832         * lib/javacomp.c (compile_java_class): Likewise.
4833
4834 2006-07-08  Paul Eggert  <eggert@cs.ucla.edu>
4835
4836         * gnulib-tool (func_get_filelist): Don't echo m4/onceonly_2_57.m4,
4837         for the benefit of people using Autoconf 2.60.  If you want to
4838         support older Autoconf versions you can copy m4/onceonly_2_57.m4
4839         (or m4/onceonly.m4, if pre-2.57) manually.
4840
4841 2006-07-08  Jim Meyering  <jim@meyering.net>
4842
4843         * m4/link-follow.m4: Remove one of two adjacent "whether"s in a
4844         comment.
4845         * m4/getopt.m4: Remove one of two adjacent "your"s in a comment.
4846         * m4/regex.m4 (gl_REGEX): Remove one of two adjacent "the"s in a
4847         comment.
4848
4849 2006-07-08  Jim Meyering  <jim@meyering.net>
4850
4851         * lib/getndelim2.h (getndelim2): Remove doubled "after" in comment.
4852
4853 2006-07-07  Simon Josefsson  <jas@extundo.com>
4854
4855         * tests/test-crc.c: Change expected crc value, the test vector
4856         were probably computed using the old broken crc.c?
4857
4858 2006-07-06  Simon Josefsson  <jas@extundo.com>
4859
4860         * modules/sys_socket (Files): Add m4/sockpfaf.m4 (this module is
4861         now the canonical place for the M4 file).
4862
4863         * modules/getaddrinfo (Files): Remove m4/sockpfaf.m4, we get it
4864         from the sys_socket dependency now.
4865
4866         * modules/inet_pton (Files): Ditto.
4867
4868         * modules/inet_ntop (Files): Ditto.
4869
4870 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
4871
4872         * modules/getusershell (configure.ac): Use gl_FUNC_GETUSERSHELL,
4873         not gl_PREREQ_GETUSERSHELL.
4874
4875 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
4876
4877         * m4/_inttypes_h.m4 (gl_INTTYPES_H): Use AC_CHECK_DECLS_ONCE
4878         with only one argument, for Autoconf 2.60.
4879         * m4/fileblocks.m4 (gl_PREREQ_FILEBLOCKS): AC_CHECK_DECLS_ONCE may
4880         expand to nothing, so add a shell command to avoid syntax error.
4881         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
4882
4883 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
4884
4885         * lib/strtod.c (strtod): cast the argument of tolower to unsigned char.
4886
4887 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
4888
4889         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't check for getenv decl;
4890         no longer needed.  Check for isblank decl.
4891         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Don't check for getenv decl.
4892         * m4/regex.m4 (gl_PREREQ_REGEX): Dheck for isblank decl instead
4893         of existence.
4894
4895 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
4896
4897         * lib/getloadavg.c: Use __VMS, not VMS.
4898         * lib/getopt.c: Likewise.
4899         * lib/getpagesize.h: Likewise.
4900         * lib/glob.c: Remove most VMS cruft; it hasn't been tested for a while
4901         and probably does not work.
4902
4903 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
4904
4905         * lib/.cppi-disable: Add wcwidth.
4906         * lib/fnmatch.c (ISBLANK): Remove.  All uses changed to isblank.
4907         (isblank) [! (defined isblank || HAVE_DECL_ISBLANK)]: New macro.
4908         (ISGRAPH): Remove.  All uses changed to isgraph.
4909         (FOLD) [!defined _LIBC]: Remove special case.
4910         * lib/getdate.y (lookup_word): Remove no-longer-needed call to islower.
4911         * lib/regex_internal.h (isblank): Depend on HAVE_DECL_ISBLANK, not
4912         HAVE_ISBLANK.
4913         * lib/strftime.c (TOLOWER, TOUPPER) [!defined _LIBC]: Remove special
4914         case.
4915
4916 2006-07-06  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
4917
4918         * lib/getaddrinfo.c: Changes to compile under MSVC6: changed
4919         '#if WIN32_NATIVE' to '#ifdef' & moved WSAAPI macro inside
4920         brackets.  Other minor changes to suppress some compiler
4921         warnings.
4922
4923 2006-07-06  Derek R. Price  <derek@ximbiot.com>
4924         and Paul Eggert  <eggert@cs.ucla.edu>
4925
4926         * m4/backupfile.m4 (gl_BACKUPFILE): Check for dirent.h, instead
4927         of invoking obsolescent AC_HEADER_DIRENT macro.
4928         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
4929         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Likewise.
4930         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
4931         * m4/fts.m4 (gl_FUNC_FTS_CORE): Likewise.
4932         * m4/getcwd.m4 (gl_PREREQ_GETCWD): Likewise.
4933         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
4934         * m4/savedir.m4 (gl_SAVEDIR): Likewise.
4935         * m4/readdir.m4: Remove; no longer needed.
4936
4937 2006-07-06  Derek R. Price  <derek@ximbiot.com>
4938         and Paul Eggert  <eggert@cs.ucla.edu>
4939
4940         * lib/backupfile.c [HAVE_DIRENT_H && ! HAVE_NDIR_H]:
4941         Don't worry about this obsolete case any more.
4942         (HAVE_DIR): Remove.  All uses removed; we now assume you can read
4943         directories.
4944         * lib/dirfd.h [HAVE_DIRENT_H && ! HAVE_NDIR_H]: Don't
4945         worry about this obsolete case any more.
4946         * lib/fts.c: Likewise.
4947         * lib/getcwd.c: Likewise.
4948         * lib/glob.h: Likewise.
4949         * lib/savedir.c: Likewise.
4950
4951 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
4952
4953         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Use AC_CHECK_DECLS_ONCE
4954         rather than AC_CHECK_DECLS for strtoimax and strtoumax.
4955         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Remove; no longer
4956         needed.
4957         All uses removed.
4958         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
4959         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
4960         * m4/exclude.m4 (gl_EXCLUDE): Don't check for isascii; no longer
4961         needed.
4962         * m4/getdate.m4 (gl_GETDATE): Likewise.
4963         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
4964         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
4965         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
4966         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
4967         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
4968         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
4969         * m4/exclude.m4 (gl_EXCLUDE): Don't require AC_C_INLINE; no longer
4970         needed.
4971
4972 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
4973
4974         * lib/memcasecmp.c: Include <limits.h>.
4975         (memcasecmp): Don't assume UCHAR_MAX <= INT_MAX.
4976         * lib/strtod.c (strtod): Don't assume isspace works on negative chars.
4977         Don't assume isdigit succeeds only on '0' through '9'.
4978
4979 2006-07-05  Eric Blake  <ebb9@byu.net>
4980
4981         * modules/getaddrinfo (Depends-on): Add snprintf.
4982
4983 2006-07-05  Eric Blake  <ebb9@byu.net>
4984
4985         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Use gl_HEADER_SYS_SOCKET
4986         to avoid 'header present but could not be compiled' on cygwin.
4987
4988 2006-07-05  Eric Blake  <ebb9@byu.net>
4989
4990         * lib/getaddrinfo.h (NI_NUMERICHOST, NI_NUMERICSERV): Define if
4991         missing from netdb.h.
4992         * lib/getaddrinfo.c (includes): Include inet_ntop and snprintf.
4993
4994 2006-07-05  Derek R. Price  <derek@ximbiot.com>
4995
4996         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Don't require AC_HEADER_STDC;
4997         no longer needed.
4998         * m4/exclude.m4 (gl_EXCLUDE): Likewise.
4999         * m4/getdate.m4 (gl_GETDATE): Likewise.
5000         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
5001         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
5002         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
5003         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
5004         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
5005
5006 2006-07-05  Derek R. Price  <derek@ximbiot.com>
5007
5008         * lib/exclude.c (IN_CTYPE_DOMAIN, is_space): Remove; no longer needed.
5009         All uses of is_space replaced by isspace.
5010         * lib/exit.h: Don't talk about STDC_HEADERS.
5011         * lib/fnmatch.c (ISASCII): Remove; no longer needed.  All uses removed.
5012         (ISPRINT, ISDIGIT, ISALNUM, ISALPHA, ISCNTRL, ISLOWER, ISPUNCT):
5013         (ISSPACE, ISUPPER, ISXDIGIT): Remove; no longer needed.  All uses
5014         replaced by isprint etc.
5015         * lib/getdate.y (IN_CTYPE_DOMAIN, ISSPACE, ISALPHA, ISLOWER): Likewise.
5016         * lib/getusershell.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
5017         * lib/memcasecmp.c (IN_CTYPE_DOMAIN, ISLOWER, TOUPPER): Likewise.
5018         * lib/strtod.c (IN_CTYPE_DOMAIN, ISSPACE, ISDIGIT, TOLOWER): Likewise.
5019         * lib/strtol.c (IN_CTYPE_DOMAIN): Likewise.
5020         * lib/xstrtol.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
5021
5022 2006-07-05  Bruno Haible  <bruno@clisp.org>
5023
5024         * m4/strndup.m4 (gl_FUNC_STRNDUP): When cross-compiling, check whether
5025         the function exists, before testing against AIX.
5026         Reported by Martin Lambers <marlam@marlam.de>.
5027
5028 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
5029
5030         * modules/cycle-check (lib_SOURCES): Add same-inode.h.
5031         From Mark D. Baushke.
5032
5033 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
5034
5035         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Prepend three slashes
5036         to the absolute name, not just one, to bypass Sun C 5.8's
5037         "warning: #include of /usr/include/... may be non-portable".
5038
5039 2006-07-04  Eric Blake  <ebb9@byu.net>
5040
5041         * modules/dirname-tests: New test module.
5042         * tests/test-dirname.c: New file, replacing dirname.c
5043         TEST_DIRNAME section that was recently deleted.
5044
5045 2006-07-04  Bruno Haible  <bruno@clisp.org>
5046
5047         Assume ANSI C header files and <ctype.h> functions.
5048         * lib/mbswidth.c (IN_CTYPE_DOMAIN, ISPRINT, ISCNTRL): Remove macros.
5049         (mbsnwidth): Use isprint, iscntrl instead.
5050
5051 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
5052
5053         Merge from coreutils.
5054         * MODULES.html.sh: Add xstrtold.
5055         * modules/xstrtold: New file.
5056         * modules/cycle-check (Files): Add lib/same-inode.h.
5057         * modules/dirname (Files): Add m4/double-slash-root.m4.
5058         * modules/getcwd (Files): Add m4/getcwd-abort-bug.m4.
5059         * modules/mkdir-p (Files): Add lib/same-inode.h.
5060         * modules/same (Files): Add lib/same-inode.h.
5061
5062 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
5063
5064         * m4/absolute-header.m4: Renamed from full-header-path.m4.
5065         This is to keep the terminology clean; POSIX talks about
5066         "absolute pathnames", not "full pathnames", but the GNU
5067         Coding Standards say to use "path" for something else;
5068         so use "absolute" to keep both sides happy.
5069         (gl_ABSOLUTE_HEADER): Renamed from gl_FULL_HEADER_PATH.
5070         Set gl_absolute_header, not gl_full_header_path.
5071         Set gl_cv_absolute_<header>, not gl_full_path_<header>.
5072         Define ABSOLUTE_<HEADER>, not FULL_PATH_<HEADER>.
5073         All uses changed.
5074
5075         Merge from coreutils.
5076
5077         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
5078
5079         * m4/c-strtod.m4 (gl_C_STRTOLD): Add c-strtod.c to LIBSOURCES.
5080         Require gl_USE_SYSTEM_EXTENSIONS, not gl_C_STRTOD, since we don't
5081         want to require the building of c-strtod.o.
5082         * m4/lib-check.m4 (cu_LIB_CHECK): Remove SEQ_LIBM, since seq no longer
5083         needs -lm directly.
5084         * m4/xstrtod.m4 (gl_XSTRTOLD): New macro.
5085
5086         2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
5087
5088         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Prefer binutils's
5089         --as-needed option if available.  Problem reported by Albert Chin in
5090         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00114.html>.
5091         However, use -Wl,--as-needed, not bare --as-needed, since HP-UX 11.11
5092         cc merely issues a bunch of annoying warnings for --as-needed
5093         (this problem was reported by Bob Proulx).  Also, try linking with
5094         -lm to detect a bug in binutils 2.16 (this problem was reported
5095         by Ralf Wildenhues).
5096
5097         2006-06-18  Jim Meyering  <jim@meyering.net>
5098
5099         Test for a bug that causes glibc's getcwd to suffer a failed assertion.
5100         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): New file and
5101         macro.
5102         * m4/getcwd.m4 (gl_FUNC_GETCWD): If we detect support for getcwd_null,
5103         also check for glibc-2.4's abort-inducing bug.
5104
5105         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Fix typo.
5106         Low-probability clean-up should be to use rmdir to get rid of
5107         the just-created directory, not unlink.
5108
5109         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): If ftruncate is missing, make
5110         configure fail, and request a bug report to inform us about it.
5111         Add a comment that, barring reports to the contrary, in 2007 we'll
5112         assume ftruncate is universally available.
5113
5114         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
5115
5116         * m4/filemode.m4 (gl_FILEMODE): Check for strmode declaration.
5117
5118         2006-03-12  Jim Meyering  <jim@meyering.net>
5119
5120         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Add same-inode.h to the list.
5121         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Likewise.
5122         * m4/same.m4 (gl_SAME): Likewise.
5123         * m4/root-dev-ino.m4 (gl_ROOT_DEV_INO): Likewise.
5124
5125         2006-03-11  Eric Blake  <ebb9@byu.net>
5126
5127         * m4/double-slash-root.m4: New file, provides gl_DOUBLE_SLASH_ROOT.
5128         * m4/dirname.m4 (gl_DIRNAME): Use gl_DOUBLE_SLASH_ROOT.
5129         * m4/dos.m4 (FILE_SYSTEM_PREFIX_LEN): Move from here to dirname.h.
5130         (FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE): New define.
5131
5132 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
5133
5134         * lib/stdint_.h: Include <sys/types.h> after @FULL_PATH_STDINT_H@, for
5135         MacOS X 10.4.6.  Don't mention <sys/int_types.h>.  Problems
5136         reported by Mark D. Baushke, one in
5137         <http://lists.gnu.org/archive/html/bug-gnulib/2006-07/msg00015.html>.
5138
5139         Merge from coreutils.
5140
5141         * lib/.cppi-disable: Add stdint_.h.
5142         * lib/.cvsignore: Add stdint.h.
5143
5144         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
5145
5146         * lib/xstrtod.c (XSTRTOD, DOUBLE): New macros, so that we can support
5147         both double and long double versions.
5148         (XSTRTOD): Renamed from xstrtod.  Use DOUBLE internally.
5149         * lib/xstrtold.c: New file.
5150         * lib/xstrtod.h (xstrtold): New decl.
5151
5152         2006-05-22  Paul Eggert  <eggert@cs.ucla.edu>
5153
5154         * lib/filemode.c (setst): Remove.
5155         (strmode): Rewrite to avoid setst.  This makes the code shorter,
5156         (arguably) clearer, and the generated code is a bit smaller on my
5157         Debian GNU/Linux stable x86 host.
5158
5159         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
5160
5161         * lib/filemode.c: Include "filemode.h" first, to test the interface.
5162         Assume that filemode.h includes sys/types.h and sys/stat.h.
5163         (HAVE_ST_DM_MODE): New macro, moved here from ls.c.
5164         (ftypelet): Reorder to put common cases first, for efficiency.
5165         Add 'P', 'w'.  Remove 'M', since it's now the caller's responsibility
5166         to do 'M'.
5167         (strmode): Renamed from mode_string, and now stores 12 bytes instead
5168         of 10, for compatibility with FreeBSD.  All callers changed.
5169         (filemodestring): Now stores 12 bytes instead of 10, and sets file
5170         types that can't be deduced solely from st_mode.  First arg is now a
5171         const pointer.
5172         * lib/filemode.h (HAVE_DECL_STRMODE): Include <string.h> for strmode.
5173         (strmode): Renamed from mode_string.
5174         (filemodestring): New decl.
5175         * lib/stat-macros.h: Don't undef S_ISDOOR, since it's never buggy.
5176         (S_ISDOOR): Don't bother with S_IFDOOR, since that code is never
5177         needed.
5178         (S_ISPORT, S_ISWHT): New macros, if not already defined.
5179
5180         2006-04-12  Paul Eggert  <eggert@cs.ucla.edu>
5181
5182         * lib/fsusage.c: Don't include <inttypes.h> or <stdint.h>, since
5183         fsusage.h now does that.  Include fsusage.h first, to test interface.
5184         Prefer statvfs if it works, since it's blessed by POSIX.  Attempt
5185         at most one method (the old code could have generated decls that
5186         didn't conform to C89, not that this was ever exercised).
5187         * lib/fsusage.h: Include <inttypes.h> and <stdint.h> if they exist.
5188
5189         2006-03-19  Jim Meyering  <jim@meyering.net>
5190
5191         Work even in a chroot where d_ino values for entries in "/"
5192         don't match the stat.st_ino values for the same names.
5193         * lib/getcwd.c (__getcwd): When no d_ino value matches the target inode
5194         number, iterate through all entries again, using lstat instead.
5195         Reported by Kenshi Muto in http://bugs.debian.org/355810, and by
5196         Zouhir Hafidi in https://bugzilla.redhat.com/bugzilla/190656.
5197
5198         * lib/getcwd.c (__getcwd): Clarify a comment.
5199         Use memcpy in place of a call to strcpy.
5200
5201         2006-03-12  Jim Meyering  <jim@meyering.net>
5202
5203         * lib/fts-cycle.c (leave_dir): If cycle-check's saved dev-ino pair
5204         matches that of the current directory (which we're about to chdir ".."
5205         out of), then save the dev-ino of the parent, instead.
5206
5207         * lib/same-inode.h (SAME_INODE): New file/macro.
5208         * lib/chdir-safer.c (SAME_INODE): Remove definition.
5209         Include "same-inode.h", instead.
5210         * lib/same.c: Likewise.
5211         * lib/cycle-check.h: Include "same-inode.h".
5212         (CYCLE_CHECK_REFLECT_CHDIR_UP): Define.
5213         * lib/cycle-check.c (SAME_INODE): Remove definition.
5214         * lib/root-dev-ino.h: Include "same-inode.h".
5215
5216         2006-03-11  Eric Blake  <ebb9@byu.net>
5217
5218         * lib/same.c (same_name): s/base_name/last_component/
5219         * lib/backupfile.c (check_extension, numbered_backup): Likewise.
5220         * lib/filenamecat.c (file_name_concat): Likewise.
5221
5222         2006-03-11  Eric Blake  <ebb9@byu.net>,
5223                     Paul Eggert  <eggert@cs.ucla.edu>
5224
5225         * lib/dirname.h (FILE_SYSTEM_PREFIX_LEN): Move here from dos.m4.
5226         [FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't treat 1: as a
5227         drive prefix.
5228         (IS_ABSOLUTE_FILE_NAME): Treat all drive letters as absolute on
5229         platforms like cygwin with FILE_SYSTEM_DRIVE_PREFIX_IS_ABSOLUTE.
5230         (last_component): New method.
5231         * lib/dirname.c (dir_len): Determine when drive letters need a
5232         subsequent slash.  Preserve // when it is special.
5233         (dir_name): Don't append dot when drive letter is absolute.
5234         [TEST_DIRNAME]: Move into a full-blown gnulib test.
5235         * lib/basename.c (base_name): New semantics - malloc the result.
5236         Preserve // when it is special.  Preserve relative files that look
5237         like drive letters.
5238         (base_len): Preserve // when it is special.
5239         (last_component): New method, similar to old base_name semantics.
5240         * lib/stripslash.c (strip_trailing_slashes): Use last_component, not
5241         base_name.  Strip redundant slashes from ///.
5242
5243 2006-07-03  Jim Meyering  <jim@meyering.net>
5244
5245         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Abort if this
5246         macro is used before the first cycle_check call.
5247
5248 2006-07-03  Eric Blake  <ebb9@byu.net>
5249
5250         * modules/dirname (Depends-on): Add xstrndup.
5251
5252 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
5253
5254         * m4/stdint.m4 (gl_STDINT_H): Use more-mnemonic identifiers for
5255         test cases, so that config.log is a bit easier to follow.
5256
5257 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
5258
5259         * lib/stdint_.h (intmax_t, uintmax_t): Prefer long to long long if
5260         both are 64 bits, since this seems to be the tradition, and this
5261         prevents gcc -Wformat from warning about usages with PRIuMAX.  If
5262         we ever run into a host that prefers long long to long in this
5263         case, we'll need another configure-time test.  Problem reported by
5264         Jim Meyering.
5265
5266 2006-07-02  Eric Blake  <ebb9@byu.net>
5267
5268         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Simplify by using AC_CHECK_DECLS.
5269
5270 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
5271
5272         * modules/inttypes (Depends-on): No longer depends on stdint.
5273         * modules/stdint (Description): Say more about assumptions.
5274         Say that the fast types might differ.  Say macros are used.
5275         (Files): Remove m4/size_max.m4, m4/wchar_t.m4.  Add m4/longlong.m4.
5276         (Makefile.am): Revise list of substituted symbols to match
5277         new stdint.m4.
5278         * modules/stdint-tests (Files): Add m4/wchar_t.m4, m4/wint_t.m4.
5279         (configure.ac): Add gt_TYPE_WCHAR_T, gt_TYPE_WINT_T.
5280         * tests/test-stdint.c (verify_same_types)
5281         [! (__GNUC__ >= 2 && DO_PEDANTIC)]: Put in a decl, so that
5282         the code conforms to C99/C89.
5283         Test for WCHAR_MIN and WCHAR_MAX only if HAVE_WCHAR_T.
5284         Test for WINT_MIN and WINT_MAX only if HAVE_WINT_T.
5285
5286 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
5287
5288         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Backport from Autoconf 2.60,
5289         but fix a bug, by requiring at least 64 bits.
5290         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise.
5291         * m4/longlong.m4 (gl_AC_TYPE_LONG_LONG): Now just call
5292         AC_TYPE_LONG_LONG_INT.  This macro is obsolete and will go soon.
5293         * m4/ulonglong.m4 (gl_AC_TYPE_UNSIGNED_LONG_LONG) Likewise.
5294
5295         * m4/stdint.m4 (gl_STDINT_H): Rewrite to accommodate stdint_.h
5296         changes.  Make 2.59 a prerequisite.  Check and substitute for
5297         HAVE_LONG_LONG_INT.  Rely on Autoconf to check for stdint.h and
5298         inttypes.h.  Do not use special include files; just use the
5299         defaults.  Check for sys/inttypes.h and sys/bitypes.h in the usual
5300         way now.  Remove no-longer-needed tests for HAVE_LONG_64BIT,
5301         HAVE_LONG_LONG_64BIT, int8_t, int16_t, int32_t, int64_t, uint8_t,
5302         uint16_t, uint32_t uint64_t, int_least8_t, int_least16_t,
5303         int_least32_t, int_least64_t, uint_least8_t, uint_least16_t,
5304         uint_least32_t, uint_least64_t, int_fast8_t, int_fast16_t,
5305         int_fast32_t, int_fast64_t, uint_fast8_t uint_fast16_t,
5306         uint_fast32_t, uint_fast64_t, intptr_t, uintptr_t, intmax_t,
5307         uintmax_t, INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX,
5308         UINT16_MAX, INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN,
5309         INT64_MAX, UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX,
5310         UINT_LEAST8_MAX, INT_LEAST16_MIN, INT_LEAST16_MAX,
5311         UINT_LEAST16_MAX, INT_LEAST32_MIN, INT_LEAST32_MAX,
5312         UINT_LEAST32_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX,
5313         UINT_LEAST64_MAX, INT_FAST8_MIN, INT_FAST8_MAX, UINT_FAST8_MAX,
5314         INT_FAST16_MIN, INT_FAST16_MAX, UINT_FAST16_MAX, INT_FAST32_MIN,
5315         INT_FAST32_MAX, UINT_FAST32_MAX, INT_FAST64_MIN, INT_FAST64_MAX,
5316         UINT_FAST64_MAX, INTPTR_MIN, INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN,
5317         INTMAX_MAX, UINTMAX_MAX, PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN,
5318         SIG_ATOMIC_MAX, SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN,
5319         WINT_MAX.  Check for C99 conformance more strictly, by detecting
5320         bugs in glibc 2.4, Solaris 10, and OpenBSD 3.9.  On the other hand do
5321         not check for things that C99 does not require, e.g., int8_t.  If
5322         a test isn't needed unless <stdint.h> isn't working, and is
5323         unlikely to be needed for any other reason, then don't do it
5324         unless <stdint.h> isn't working.  Do not check for ptrdiff_t or
5325         size_t, since we assume C89 freestanding at least.  Do not check
5326         for sig_atomic_t, wchar_t, or wint_t, since the code now does
5327         the right thing even if the types are not defined.  Instead use:
5328         (gl_STDINT_TYPE_PROPERTIES): New macro.
5329         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H): Remove.  Don't bother
5330         testing whether <sys/types.h> clashes, as Autoconf does this for
5331         us now.  All uses removed.
5332         (gl_STDINT_CHECK_TYPES, gl_STDINT_MISSING_BOUND):
5333         (gl_STDINT_MISSING_BOUNDS, gl_STDINT_MISSING_BOUNDS2):
5334         (gl_CHECK_TYPE_SAME):
5335         Remove; no longer needed.
5336         (gl_STDINT_BITSIZEOF): Don't bother to check whether the type
5337         exists, since we'll return 0 anyway in that case.
5338         (gl_INTEGER_TYPE_SUFFIX, gl_STDINT_INCLUDES): New macros.
5339
5340 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
5341
5342         * lib/stdint_.h (_GL_STDINT_H): Renamed from _STDINT_H, to avoid
5343         possible collision with system files.
5344         (<stdio.h>, <time.h>, <wchar.h>) [defined __cplusplus && ! defined
5345         __STDC_CONSTANT_MACROS)]: Do not include, since we don't need
5346         WCHAR_MIN and WCHAR_MAX in this case.
5347         (<stddef.h>): Do not include; no longer needed.
5348         (<sys/types.h>): Include if @HAVE_SYS_TYPES_H@, not if
5349         (defined(__OpenBSD__) || defined(__bsdi__) || defined(__sgi)).
5350         (<sys/inttypes.h>): Include if @HAVE_SYS_INTTYPES_H@ &&
5351         !@HAVE_INTTYPES_H@, not if (defined(__FreeBSD__)
5352         && (__FreeBSD__ >= 3) && (__FreeBSD__ <= 4)).
5353         (__STDINT_H__) [@HAVE_STDINT_H@ && defined __sgi && ! defined
5354         __c99]: Define, to work around IRIX <stdint.h> incompatibility.
5355         (@FULL_PATH_STDINT_H@) [!(defined(__sgi) && @HAVE_INTTYPES_H@ &&
5356         !defined(__c99))]: Include in this case too, since it's harmless
5357         now.
5358         (<inttypes.h>) [@HAVE_INTTYPES_H@]: Include, since it's no longer
5359         dangerous to do so.
5360         (@FULL_PATH_INTTYPES_H@) [(defined(__hpux) || defined(_AIX)) &&
5361         @HAVE_INTTYPES_H@]: Do not include, since we now include <inttypes.h>.
5362         (_STDINT_MIN, _STDINT_MAX): New macros.
5363         (int8_t, uint8_t, int16_t, uint16_t, int32_t, uint32_t, int64_t):
5364         (uint64_t, int_least8_t, uint_least8_t, int_least16_t):
5365         (uint_least16_t, int_least32_t, uint_least32_t, int_least64_t):
5366         (uint_least64_t, int_fast8_t, uint_fast8_t, int_fast16_t):
5367         (uint_fast16_t, int_fast32_t, uint_fast32_t, int_fast64_t):
5368         (uint_fast64_t, intptr_t, uintptr_t, intmax_t, uintmax_t): Now
5369         macros, not typedefs; this simplifies things quite a bit.
5370         Use long int for all types narrower than int64_t.
5371         (intmax_t, uintmax_t, INTMAX_C, UINTMAX_C):
5372         Define in terms of long long int or int64_t or long int,
5373         not int64_t or int32_t.  This saves some compile-time testing.
5374         (INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX, UINT16_MAX):
5375         (INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN, INT64_MAX):
5376         (UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX, UINT_LEAST8_MAX):
5377         (INT_LEAST16_MIN, INT_LEAST16_MAX, UINT_LEAST16_MAX):
5378         (INT_LEAST32_MIN, INT_LEAST32_MAX, UINT_LEAST32_MAX):
5379         (INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX, INT_FAST8_MIN):
5380         (INT_FAST8_MAX, UINT_FAST8_MAX, INT_FAST16_MIN, INT_FAST16_MAX):
5381         (UINT_FAST16_MAX, INT_FAST32_MIN, INT_FAST32_MAX, UINT_FAST32_MAX):
5382         (INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTPTR_MIN):
5383         (INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN, INTMAX_MAX, UINTMAX_MAX):
5384         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
5385         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
5386         undef any previous version and define our own version, for
5387         simplicity and consistency with the new macros for types.
5388         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
5389         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
5390         Simplify definitions by using _STDINT_MIN and _STDINT_MAX
5391         where appropriate.  Rely on new symbols @PTRDIFF_T_SUFFIX@,
5392         @SIG_ATOMIC_T_SUFFIX@, @SIZE_T_SUFFIX@, @WCHAR_T_SUFFIX@,
5393         @WINT_T_SUFFIX@ to keep things simple here.
5394         (UINT8_C, UINT16_C, UINT32_C, INT64_C, UINT64_C):
5395         Simplify by assuming typical 8/16/32/64 host, since we're
5396         already doing that elsewhere anyway.
5397         Use (LONG_MAX >> 31 >> 31 == 1) rather than @HAVE_LONG_64BIT@,
5398         and assume long long int is 64 bits if available.  This
5399         speeds up 'configure'.
5400
5401 2006-07-01  Eric Blake  <ebb9@byu.net>
5402
5403         * m4/stdarg.m4 (gl_STDARG_H): Use proper AH_VERBATIM.
5404         Reported by Andreas Buening.
5405
5406 2006-07-01  Eric Blake  <ebb9@byu.net>
5407
5408         * m4/stdarg.m4 (gl_STDARG_H): Properly parenthesize gl_va_copy.
5409
5410 2006-06-30  Jim Hyslop <jhyslop@dreampossible.ca>  (tiny change)
5411
5412         * lib/getaddrinfo.c: fixed typo
5413
5414 2006-06-29  Jim Meyering  <jim@meyering.net>
5415
5416         * modules/strftime (Maintainer): Add my name, since with the
5417         FPRINTFTIME changes strftime.c has forked from glibc.
5418
5419 2006-06-29  Eric Blake  <ebb9@byu.net>
5420
5421         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Use AC_C_INLINE.
5422
5423 2006-06-29  Eric Blake  <ebb9@byu.net>
5424
5425         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): New file.
5426
5427 2006-06-29  Eric Blake  <ebb9@byu.net>
5428
5429         * lib/stat_.h: New file.
5430
5431 2006-06-29  Eric Blake  <ebb9@byu.net>
5432
5433         * lib/stat_.h (rpl_mkdir): Declare inline, to avoid warnings about
5434         unused static function.
5435
5436 2006-06-29  Eric Blake  <ebb9@byu.net>
5437
5438         * doc/functions.texi (Function Portability): Document missing lstat
5439         on mingw.
5440
5441 2006-06-29  Eric Blake  <ebb9@byu.net>
5442
5443         * MODULES.html.sh: Add sys_stat.
5444         * modules/sys_stat: New module.
5445         * modules/mkstemp (Depends-on): Add sys_stat.
5446
5447 2006-06-29  Derek R. Price  <derek@ximbiot.com>
5448
5449         * m4/strftime.m4: Don't call AC_FUNC_STRFTIME.
5450
5451 2006-06-29  Derek R. Price  <derek@ximbiot.com>
5452
5453         * m4/c-bs-a.m4: Removed.
5454
5455 2006-06-29  Derek R. Price  <derek@ximbiot.com>
5456
5457         * lib/strftime.c: Assume strftime() exists.
5458
5459 2006-06-29  Derek Price  <derek@ximbiot.com>
5460
5461         * modules/c-bs-a: Removed - \a is C89.
5462         * MODULES.html.sh: Remove c-bs-a.
5463
5464 2006-06-29  Bruno Haible  <bruno@clisp.org>
5465
5466         * modules/wcwidth (License): Change to LGPL.
5467
5468 2006-06-28  Simon Josefsson  <jas@extundo.com>
5469
5470         * tests/test-getaddrinfo.c: Test getnameinfo too.  Call WSAStartup
5471         on _WIN32.
5472
5473         * modules/getaddrinfo (Depends-on): Add inet_ntop, needed by
5474         getnameinfo.
5475
5476 2006-06-28  Simon Josefsson  <jas@extundo.com>
5477
5478         * m4/getaddrinfo.m4: Look for getnameinfo prototypes too.
5479
5480 2006-06-28  Simon Josefsson  <jas@extundo.com>
5481
5482         * lib/getaddrinfo.c: Try to load ws2_32.dll on Windows, to find the
5483         functions there.  It will succeed on Windows XP, but on Windows
5484         2000 and (presumably) earlier, it will fail, and use the internal
5485         re-implementation.
5486         (use_win32_p): New function.
5487         (getaddrinfo): Use strtoul on servname, to support numeric ports.
5488         Support AI_NUMERICSERV to disable getservbyname.
5489         (getnameinfo): New function, only supports
5490         NI_NUMERICHOST|NI_NUMERICSERV for now.
5491
5492         * lib/getaddrinfo.h: Test and check for AI_* flags separately, MinGW
5493         only have some of them.  Add AI_NUMERICSERV.  Add prototype for
5494         getnameinfo.
5495
5496 2006-06-28  Eric Blake  <ebb9@byu.net>
5497
5498         * modules/wcwidth: New file.
5499         * modules/mbchar (Depends-on): Add wcwidth.
5500         * modules/mbswidth (Depends-on): Add wcwidth.
5501         * MODULES.html.sh: Add wcwidth.
5502
5503 2006-06-28  Eric Blake  <ebb9@byu.net>
5504
5505         * m4/mbswidth.m4 (gl_MBSDWIDTH): Move wcwidth from here...
5506         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): ...to this new file.
5507
5508 2006-06-28  Eric Blake  <ebb9@byu.net>
5509
5510         * lib/xvasprintf.h: Fix comments.
5511
5512 2006-06-28  Eric Blake  <ebb9@byu.net>
5513
5514         * lib/mbchar.h (wcwidth): Include wcwidth.h.
5515         * lib/mbswidth.c (wcwidth): Move from here...
5516         * lib/wcwidth.h: ...to this new file.
5517
5518 2006-06-28  Derek R. Price  <derek@ximbiot.com>
5519
5520         * m4/savedir.m4: Remove AC_FUNC_CLOSEDIR_VOID requirement.
5521
5522         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't require AC_C_CONST, since
5523         it's obsolete.
5524         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Likewise.
5525
5526 2006-06-28  Derek R. Price  <derek@ximbiot.com>
5527
5528         * lib/savedir.c (CLOSEDIR): Remove.  All uses changed to closedir.
5529         Autoconf 2.60 says this stuff was obsolete.
5530
5531 2006-06-28  Bruno Haible  <bruno@clisp.org>
5532
5533         * modules/wcwidth (Files): Add m4/wchar_t.m4.
5534
5535 2006-06-28  Bruno Haible  <bruno@clisp.org>
5536
5537         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Also require AC_C_INLINE and
5538         gt_TYPE_WCHAR_T.
5539
5540 2006-06-28  Bruno Haible  <bruno@clisp.org>
5541
5542         * lib/wcwidth.h: Declare nothing if !HAVE_WCHAR_T. Provide a fallback
5543         declaration for wcwidth.
5544         * lib/mbswidth.c: Restore the includes of <wchar.h> and <wctypes.h>.
5545
5546 2006-06-28  Bruno Haible  <bruno@clisp.org>
5547
5548         * lib/mkdtemp.c [MINGW]: Include <io.h>.
5549         (mkdir): Define using _mkdir.
5550
5551 2006-06-28  Bruno Haible  <bruno@clisp.org>
5552
5553         * lib/getaddrinfo.h: Fix POSIX URL.
5554         * lib/getaddrinfo.c (WIN32_NATIVE): New macro. Use it instead of
5555         _WIN32.
5556         (use_win32_p): Make static.
5557         (getaddrinfo): Reject service name if it is empty or does not consist
5558         solely of decimal digits, or if its value is > 65535.
5559         (getnameinfo): Remove useless casts.
5560
5561 2006-06-27  Simon Josefsson  <jas@extundo.com>
5562
5563         * modules/sys_select: New file, suggested by Bruno Haible, Paul
5564         Eggert and Martin Lambers.
5565
5566 2006-06-27  Simon Josefsson  <jas@extundo.com>
5567
5568         * m4/sys_select_h.m4: New file, suggested by Bruno Haible, Paul
5569         Eggert and Martin Lambers.
5570
5571 2006-06-27  Bruno Haible  <bruno@clisp.org>
5572
5573         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): For nonexistent types, set the
5574         result to 0, not to empty.
5575         Reported by Martin Neitzel <neitzel@sco.gaertner.de>.
5576
5577 2006-06-27  Bruno Haible  <bruno@clisp.org>
5578
5579         * lib/stdint_.h (intmax_t, uintmax_t): Undefine before typedef.
5580
5581 2006-06-26  Simon Josefsson  <jas@extundo.com>
5582
5583         * m4/inet_ntop.m4: Don't check for sys/types.h, we assume it is
5584         present.
5585
5586 2006-06-26  Paul Eggert  <eggert@cs.ucla.edu>
5587
5588         * lib/base64.c (B64): Use _ as the formal parameter, not x, to avoid
5589         bug in IBM C V6 for AIX.  Problem reported by Larry Jones in
5590         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00181.html>.
5591
5592 2006-06-26  Mark D. Baushke  <mdb@gnu.org>
5593
5594         * m4/stdint.m4 (gl_STDINT_H): Treat BSD/OS like OpenBSD.
5595
5596 2006-06-26  Bruno Haible  <bruno@clisp.org>
5597
5598         * modules/stdint (Makefile.am): Also substitute HAVE_WCHAR_H.
5599
5600 2006-06-26  Bruno Haible  <bruno@clisp.org>
5601
5602         * m4/stdint.m4 (gl_STDINT_H): Test also for <wchar.h>.
5603
5604 2006-06-26  Bruno Haible  <bruno@clisp.org>
5605
5606         * m4/stdint.m4 (gl_STDINT_H): Don't include <stdint.h> when using the
5607         SGI C compiler in pre-C99 mode.
5608         Suggested by Mark D. Baushke and Larry Jones.
5609
5610 2006-06-26  Bruno Haible  <bruno@clisp.org>
5611
5612         * lib/stdint_.h: Include <wchar.h> if necessary for WCHAR_MIN or
5613         WCHAR_MAX.
5614         Reported by Mark D. Baushke and Larry Jones.
5615
5616 2006-06-26  Bruno Haible  <bruno@clisp.org>
5617
5618         * lib/stdint_.h: Don't include <stdint.h> when using the SGI C compiler
5619         in pre-C99 mode.
5620         Suggested by Mark D. Baushke and Larry Jones.
5621
5622 2006-06-23  Simon Josefsson  <jas@extundo.com>
5623             Bruno Haible  <bruno@clisp.org>
5624
5625         * gnulib-tool (func_emit_lib_Makefile_am): Define MOSTLYCLEANDIRS.
5626         Emit mostlyclean-local rule.
5627         (func_emit_tests_Makefile_am): Likewise.
5628         * modules/sys_socket (Makefile.am): Use MOSTLYCLEANDIRS.
5629
5630 2006-06-23  Mark D. Baushke  <mdb@gnu.org>
5631
5632         * lib/stdint_.h: Treat BSD/OS like OpenBSD.
5633
5634 2006-06-23  Bruno Haible  <bruno@clisp.org>
5635
5636         * tests/test-stdint.c: Update to match ISO C 99 Technical
5637         Corrigendum 1.
5638
5639 2006-06-23  Bruno Haible  <bruno@clisp.org>
5640
5641         * m4/stdint.m4 (gl_STDINT_H): Treat IRIX like OpenBSD.
5642
5643 2006-06-23  Bruno Haible  <bruno@clisp.org>
5644
5645         * lib/stdint_.h: Treat IRIX like OpenBSD.
5646
5647 2006-06-23  Bruno Haible  <bruno@clisp.org>
5648
5649         * lib/stdint_.h (UINT8_C, UINT16_C, UINT32_C): Define according to
5650         ISO C 99 Technical Corrigendum 1.
5651
5652 2006-06-22  Simon Josefsson  <jas@extundo.com>
5653
5654         * m4/sockpfaf.m4: Include winsock2.h too, to make it work under
5655         MinGW.
5656
5657 2006-06-22  Paul Eggert  <eggert@cs.ucla.edu>
5658
5659         * lib/glob.c (collated_compare): Remove 'const' uses that weren't
5660         needed.  Some compiler complained about some of them.  Problem reported
5661         by Larry Jones in
5662         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00172.html>.
5663
5664 2006-06-21  Simon Josefsson  <jas@extundo.com>
5665
5666         * tests/test-getaddrinfo.c: New file.
5667
5668         * modules/getaddrinfo-tests: New file.
5669
5670         * MODULES.html.sh: Add inet_pton.
5671
5672         * modules/inet_pton: New file.
5673
5674 2006-06-21  Simon Josefsson  <jas@extundo.com>
5675
5676         * m4/getaddrinfo.m4: Don't define WINVER.  Look for gethostbyname in
5677         -lws2_32 too.  Fixes getaddrinfo on Windows 2000, with the price
5678         of using the (limited) gnulib implementation on Windows XP.
5679
5680         * m4/inet_pton.m4: New file.
5681
5682 2006-06-21  Simon Josefsson  <jas@extundo.com>
5683
5684         * lib/getaddrinfo.c (getaddrinfo): Set ai_family in the return
5685         variable.
5686
5687         * lib/socket_.h: Don't define WINVER.
5688
5689         * lib/inet_pton.h, inet_pton.c: New file, taken from glibc but
5690         slightly modified to work in gnulib.
5691
5692 2006-06-21  Simon Josefsson  <jas@extundo.com>
5693
5694         * doc/gnulib.texi (Windows sockets): Add.
5695
5696 2006-06-21  Paul Eggert  <eggert@cs.ucla.edu>
5697
5698         * lib/read-file.c (fread_file): Start with buffer allocation of
5699         0 bytes rather than 1 byte; this simplifies the code.
5700         Don't invoke feof; it's not needed.  Refactor to avoid duplicate
5701         code to free buffer and save/restore errno.
5702         (internal_read_file): Remove unused local.
5703
5704 2006-06-20  Paul Eggert  <eggert@cs.ucla.edu>
5705
5706         * lib/openat.c (openat): Use ?:, not if, to work around GCC bug 4210
5707         <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=4210>.
5708         Problem reported by Denis Excoffier in
5709         <http://lists.gnu.org/archive/html/bug-tar/2006-06/msg00023.html>.
5710
5711 2006-06-19  Yoann Vandoorselaere <yoann.v@prelude-ids.com>
5712
5713         * modules/sys_socket, modules/socklen: Include sys/types since
5714         FreeBSD 4.x's sys/socket.h needs it.
5715
5716 2006-06-19  Simon Josefsson  <jas@extundo.com>
5717
5718         * lib/inet_ntop.c: Always build inet_ntop4, since inet_ntop6 calls it.
5719
5720 2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
5721
5722         * lib/alloca_.h (alloca) [defined alloca]: Don't define or declare.
5723
5724 2006-06-19  Bruno Haible  <bruno@clisp.org>
5725
5726         * m4/stdint.m4 (gl_STDINT_H): Enclose the values of FULL_PATH_STDINT_H
5727         and FULL_PATH_INTTYPES_H in angle brackets.
5728         Reported by Mark D. Baushke <mdb@gnu.org>.
5729
5730 2006-06-17  Eric Blake  <ebb9@byu.net>
5731
5732         * m4/rmdir-errno.m4 (gl_FUNC_FMDIR_NOTEMPTY): Assume errno.h declares
5733         errno.
5734
5735 2006-06-17  Bruno Haible  <bruno@clisp.org>
5736
5737         * m4/stdint.m4 (gl_STDINT_H) [FreeBSD >= 5]: Don't include
5738         <sys/inttypes.h>.
5739
5740 2006-06-17  Bruno Haible  <bruno@clisp.org>
5741
5742         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove test
5743         whether errno is declared. Assume <errno.h> declares errno.
5744
5745 2006-06-17  Bruno Haible  <bruno@clisp.org>
5746
5747         * lib/stdint_.h [FreeBSD >= 5]: Don't include <sys/inttypes.h>.
5748
5749 2006-06-17  Bruno Haible  <bruno@clisp.org>
5750
5751         * lib/stdint_.h (_UINT8_T, _UINT32_T, _UINT64_T): New macros. Fixes a
5752         problem on Solaris 2.5.1.
5753
5754 2006-06-16  Eric Blake  <ebb9@byu.net>
5755
5756         * lib/unsetenv.c [!defined errno]: Assume errno.h declares errno.
5757         * lib/unicodeio.c [!defined errno]: Likewise.
5758         * lib/strtol.c [!defined errno]: Likewise.
5759         * lib/strtod.c [!defined errno]: Likewise.
5760
5761 2006-06-15  Eric Blake  <ebb9@byu.net>
5762
5763         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Work in spite of -Werror.
5764
5765 2006-06-15  Eric Blake  <ebb9@byu.net>
5766
5767         * config/srclist.txt (ssize_t.m4): Lose sync.
5768
5769 2006-06-15  Bruno Haible  <bruno@clisp.org>
5770
5771         * modules/stdint (Files): Include m4/full-header-path.m4,
5772         m4/size_max.m4, m4/wchar_t.m4.
5773         (Makefile.am): Many more substitutions.
5774         * modules/stdint-tests: New file.
5775         * tests/test-stdint.c: New file.
5776
5777 2006-06-15  Bruno Haible  <bruno@clisp.org>
5778
5779         * m4/stdint.m4 (gl_STDINT_H): Rewritten to produce a complete stdint.h.
5780         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H, gl_STDINT_CHECK_TYPES,
5781         gl_STDINT_MISSING_BOUND, gl_STDINT_MISSING_BOUNDS,
5782         gl_STDINT_MISSING_BOUNDS2, gl_STDINT_BITSIZEOF, gl_CHECK_TYPES_SIGNED,
5783         gl_CHECK_TYPE_SAME): New macros.
5784
5785 2006-06-15  Bruno Haible  <bruno@clisp.org>
5786
5787         * m4/size_max.m4 (gl_SIZE_MAX): Make it work also when cross-compiling.
5788
5789 2006-06-15  Bruno Haible  <bruno@clisp.org>
5790
5791         * lib/stdint_.h: Rewritten to be fully auto-configured.
5792         Fixes bug on HP-UX/IA64.
5793
5794 2006-06-11  Paul Eggert  <eggert@cs.ucla.edu>
5795
5796         * lib/getdate.y (__attribute__): Don't define if already defined.
5797         Problem reported by Larry Jones.
5798         * lib/utimens.c (__attribute__): Likewise.
5799
5800 2006-06-04  Paul Eggert  <eggert@cs.ucla.edu>
5801
5802         * lib/regexec.c (group_nodes_into_DFAstates): Fix a buffer overrun
5803         reported by Andreas Schwab.
5804
5805 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
5806             Bruno Haible  <bruno@clisp.org>
5807
5808         * m4/strndup.m4 (gl_FUNC_STRNDUP): Replace the AC_REPLACE_FUNCS with a
5809         check for the declaration of strnlen and a run test that exposes the
5810         AIX 5.1 strnlen bug.  In the failure case, #define strndup to
5811         rpl_strndup.
5812
5813 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
5814             Bruno Haible  <bruno@clisp.org>
5815
5816         * lib/strndup.c (strndup) [!_LIBC]: Don't undefine macro definition.
5817
5818 2006-05-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
5819
5820         * m4/c-strtod.m4 (gl_C99_STRTOLD): Use a link test rather than a
5821         compile test, for Tru64 4.0D.
5822
5823 2006-05-28  Karl Berry  <karl@gnu.org>
5824
5825         * config/srclist.txt (printf-args.c): lose sync.
5826
5827 2006-05-26  Martin Lambers  <marlam@marlam.de>
5828
5829         * lib/getpass.c: Updates the test for the native W32 API, and adds
5830         missing includes, thus fixing compilation warnings.
5831
5832 2006-05-25  Sergey Poznyakoff  <gray@gnu.org.ua>
5833
5834         * lib/exclude.c (exclude_fnmatch): New function.
5835         (excluded_file_name): Call exclude_fnmatch.
5836         * lib/exclude.h (excluded_file_name): New prototype
5837
5838 2006-05-25  Paul Eggert  <eggert@cs.ucla.edu>
5839
5840         * lib/tempname.c (small_open, large_open): New macros.
5841         (__open, __open64) [!_LIBC]: Remove.
5842         (__gen_tempname): Use small_open and large_open instead of __open
5843         and __open64.  This fixes a portability bug on HP-UX 11.11i
5844         reported by Simon Wing-Tang in
5845         <http://lists.gnu.org/archive/html/bug-coreutils/2006-05/msg00114.html>.
5846
5847 2006-05-24  Bruno Haible  <bruno@clisp.org>
5848
5849         * lib/printf-args.c (printf_fetchargs): Turn NULL pointers for
5850         TYPE_STRING and TYPE_WIDE_STRING into a non-NULL replacement.
5851         Reported by Thorsten Maerz <torte@netztorte.de> via
5852         Aaron Stone <aaron@serendipity.cx>.
5853
5854 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
5855
5856         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Rename cache variables to use
5857         gl_ rather than jm_.  Link, don't run, so that cross-compiles are
5858         allowed.  Check that resulting type is arithmetic.  Move AC_REQUIRE
5859         and AC_CHECK_HEADERS_ONCE outside of AC_CACHE_CHECK, since they're
5860         not really conditional on the cache.
5861         (gl_PREREQ_NANOSLEEP): Check for sys/select.h.
5862
5863 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
5864
5865         * lib/nanosleep.c [HAVE_SYS_SELECT_H]: Include <sys/select.h>.
5866         Use the usual Autoconf way to include <time.h> and/or sys/time.h.
5867         (my_usleep): Don't mishandle maximum value.
5868
5869 2006-05-19  Jim Meyering  <jim@meyering.net>
5870
5871         * lib/getugroups.c: Correct an outdated comment.  From Bruno Haible.
5872
5873 2006-05-17  Bruno Haible  <bruno@clisp.org>
5874
5875         Cygwin portability.
5876         * lib/classpath.c (PATH_SEPARATOR) [CYGWIN]: Define as ':'.
5877
5878 2006-05-17  Bruno Haible  <bruno@clisp.org>
5879
5880         * lib/stdint_.h: Fix recognition of Cygwin.
5881
5882 2006-05-15  Bruno Haible  <bruno@clisp.org>
5883
5884         * build-aux/config.rpath: Improve support for Sun C 5.9 on Linux, based
5885         on libtool patch by Ralf Wildenhues.
5886
5887 2006-05-14  Paul Eggert  <eggert@cs.ucla.edu>
5888
5889         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Fix overly-picky
5890         test for C99 conformance; (bool) 0.5 is an integer constant
5891         expression, but (bool) -0.5 is not.  Problem reported by Fedor
5892         Sergeev in <http://forum.sun.com/jive/thread.jspa?threadID=96202>.
5893
5894 2006-05-11  Simon Josefsson  <jas@extundo.com>
5895
5896         * m4/xvasprintf.m4: Fix obvious typo.
5897
5898 2006-05-11  Jim Meyering  <jim@meyering.net>
5899
5900         * lib/sha1.c (sha1_buffer): Correct comment: s/MD5/SHA1/.  From
5901         James Lemley.
5902
5903 2006-05-10  Simon Josefsson  <jas@extundo.com>
5904
5905         * lib/md4.c: Typo fix, update copyright years.
5906         (K1, K2): Don't use L because it turn computations into 64-bit on
5907         64-bit platforms.
5908
5909 2006-05-10  Paul Eggert  <eggert@cs.ucla.edu>
5910
5911         * lib/crc.c (crc32_update): Remove unnecessary L suffix.
5912         * lib/md4.c (rol): Cast right-shift arg to uint32_t to prevent
5913         unwanted sign propagation, e.g., on hosts with 64-bit int.
5914         There still are some problems with reeelly weird theoretical hosts
5915         (e.g., 33-bit int) but it's not worth worrying about now.
5916         * lib/sha1.c (rol): Likewise.
5917         (K1, K2, K3, K4): Remove unnecessary L suffix.
5918
5919 2006-05-10  Bruno Haible  <bruno@clisp.org>
5920
5921         * lib/des.c: Cast to avoid warnings.
5922
5923 2006-05-09  Bruno Haible  <bruno@clisp.org>
5924
5925         * modules/xvasprintf (Files): Add m4/xvasprintf.m4.
5926         (Depends-on): Depend also on xsize, stdarg.
5927         (configure.ac): Add gl_XVASPRINTF.
5928
5929 2006-05-09  Bruno Haible  <bruno@clisp.org>
5930
5931         * m4/xvasprintf.m4: New file.
5932
5933 2006-05-09  Bruno Haible  <bruno@clisp.org>
5934
5935         * lib/xvasprintf.c: Include limits.h, string.h, xsize.h.
5936         (EOVERFLOW): Define fallback value.
5937         (xstrcat): New function.
5938         (xvasprintf): Recognize the special case of a string concatenation.
5939
5940 2006-05-08  Eric Blake  <ebb9@byu.net>
5941
5942         * gnulib-tool (func_version): Base copyright year on CVS date.
5943         (func_emit_copyright_notice): New function.
5944         (func_emit_lib_Makefile_am): Use it.
5945         (func_emit_tests_Makefile_am): Likewise.
5946         (func_import): Likewise.
5947
5948 2006-05-08  Bruno Haible  <bruno@clisp.org>
5949
5950         * modules/stdarg: New file.
5951         * MODULES.html.sh (func_all_modules): Add section for <stdarg.h>.
5952
5953 2006-05-08  Bruno Haible  <bruno@clisp.org>
5954
5955         * m4/stdarg.m4: New file, from GNU gettext.
5956
5957 2006-05-08  Bruno Haible  <bruno@clisp.org>
5958
5959         * config/srclist.txt (build-aux/config.rpath): different from latest
5960         release.
5961
5962 2006-05-08  Bruno Haible  <bruno@clisp.org>
5963
5964         * build-aux/config.rpath: Add support for Sun C 5.9 on Linux.
5965
5966 2006-05-05  Jim Meyering  <jim@meyering.net>
5967
5968         * m4/warning.m4: New file, derived from bison's file by the same name.
5969
5970 2006-05-03  Bruno Haible  <bruno@clisp.org>
5971
5972         * lib/stdint_.h: Shorter URL.
5973         * lib/inttypes.h: Likewise.
5974
5975 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
5976
5977         * modules/inttypes (Maintainer): Change from Derek Price to 'all'.
5978
5979 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
5980
5981         * lib/verify.h: Document the internals better.  Most of this change
5982         was written by Bruno Haible.
5983
5984 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
5985
5986         * doc/verify.texi: New file, partly based on a proposal by
5987         Bruno Haible.
5988
5989 2006-05-02  Bruno Haible  <bruno@clisp.org>
5990
5991         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Move the include_next
5992         test from here...
5993         * m4/_inttypes_h.m4 (gl_INTTYPES_H): ... to here.
5994
5995 2006-04-29  Bruno Haible  <bruno@clisp.org>
5996
5997         * lib/gcd.c: Use WORD_T and GCD instead of unsigned long and gcd.
5998         Suggested by Oskar Liljeblad <oskar@osk.mine.nu>.
5999
6000 2006-04-29  Bruno Haible  <bruno@clisp.org>
6001
6002         * gnulib-tool: Make --update option actually work.
6003
6004 2006-04-29  Bruno Haible  <bruno@clisp.org>
6005
6006         * doc/gcd.texi: New file.
6007         * doc/gnulib.texi: Include it.
6008
6009 2006-04-25  Paul Eggert  <eggert@cs.ucla.edu>
6010
6011         * lib/getdate.y (get_date): When adding relative date, start with the
6012         initial time, not with the result of the first mktime call.
6013
6014 2006-04-25  Bruno Haible  <bruno@clisp.org>
6015
6016         * gnulib-tool (func_import): Output the include directives in three
6017         blocks, sorted separately.
6018         Reported by Ben Pfaff <blp@cs.stanford.edu>.
6019
6020 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
6021
6022         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use prototype
6023         to define main with arguments, for C++.  Reported by Eric Blake.
6024         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC):
6025         Prefer 'int main ()' to 'int main (void)', for C++.
6026         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
6027         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Specify a return type
6028         for 'main', for C99 and C++.
6029
6030 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
6031
6032         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Use return, not exit.
6033         Don't assume that exit status -1 is valid.
6034         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
6035         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
6036         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
6037         * m4/readdir.m4 (GL_FUNC_READDIR): Include <stdlib.h>.
6038         * m4/rename.m4 (vb_FUNC_RENAME): Likewise.
6039         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use AC_RUN_IFELSE,
6040         not AC_TRY_RUN.  Use return, not exit.  Don't assume that
6041         functions can be used without declaring them, or that you can
6042         exit with status -1.
6043         * m4/utimes-null.m4 (gl_FUNC_UTIMES_NULL): Likewise.
6044
6045 2006-04-24  Karl Berry  <karl@gnu.org>
6046
6047         * config/srclist.txt (longdouble.m4): sync lost.
6048
6049 2006-04-24  Eric Blake  <ebb9@byu.net>
6050
6051         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Avoid unused variable warning.
6052
6053 2006-04-24  Bruno Haible  <bruno@clisp.org>
6054
6055         * m4/poll.m4 (gl_FUNC_POLL): When cross-compiling, reject also the
6056         poll() implementation in AIX.
6057         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
6058
6059 2006-04-24  Bruno Haible  <bruno@clisp.org>
6060
6061         * m4/poll.m4 (gl_FUNC_POLL): Rearrange code, so that POLL_H gets
6062         assigned exactly once.
6063
6064 2006-04-23  Claudio Fontana  <claudio@gnu.org>
6065             Bruno Haible  <bruno@clisp.org>
6066
6067         * modules/gettext (Makefile.am): Add a -I flag for <libintl.h>.
6068         * gnulib-tool (func_emit_lib_Makefile_am): Emit empty default value
6069         for AM_CPPFLAGS.
6070
6071 2006-04-23  Bruno Haible  <bruno@clisp.org>
6072
6073         * modules/copy-file: Depend on unistd.
6074         * modules/execute: Likewise.
6075         * modules/fatal-signal: Likewise.
6076         * modules/findprog: Likewise.
6077         * modules/mkdtemp : Likewise.
6078         * modules/pipe: Likewise.
6079         * modules/wait-process: Likewise.
6080
6081 2006-04-23  Bruno Haible  <bruno@clisp.org>
6082
6083         * lib/fwriteerror.c (fwriteerror): Call fclose also when an error
6084         condition was already detected.
6085         Reported by Ben Pfaff <blp@cs.stanford.edu>.
6086
6087 2006-04-23  Bruno Haible  <bruno@clisp.org>
6088
6089         * lib/copy-file.c: Include <unistd.h> unconditionally.
6090         * lib/execute.c: Likewise.
6091         * lib/fatal-signal.c: Likewise.
6092         * lib/findprog.c: Likewise.
6093         * lib/mkdtemp.c: Likewise.
6094         * lib/pipe.h: Likewise.
6095         * lib/pipe.c: Likewise.
6096         * lib/wait-process.h: Likewise.
6097
6098 2006-04-23  Bruno Haible  <bruno@clisp.org>
6099
6100         * gnulib-tool (func_usage): Fix --import description. Document
6101         --update.
6102         (func_import): Create temporary file in a temporary directory, if
6103         --dry-run is specified. Silence errors from 'grep' when there are no
6104         m4 files in $m4dir.
6105         (func_create_testdir): Silence errors from 'grep' when there are no
6106         m4 files in $m4dir.
6107         Reported by Karl Berry <karl@freefriends.org>.
6108
6109 2006-04-20  Bruno Haible  <bruno@clisp.org>
6110
6111         * m4/argp.m4 (gl_ARGP): Don't call AC_CHECK_DECLS_ONCE with more than
6112         one argument, so that the code will be portable to Autoconf 2.60.
6113         * m4/getlogin_r.m4 (gl_PREREQ_GETLOGIN_R): Likewise.
6114         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
6115         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO): Likewise.
6116
6117 2006-04-19  Derek Price  <derek@ximbiot.com>
6118             Eric Blake  <ebb9@byu.net>
6119
6120         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Use </full/path.h>
6121         rather than "/full/path.h".  Update comment to match.  Shorten &
6122         generalize m4_translit call via AS_TR_CPP.
6123
6124 2006-04-19  Derek Price  <derek@ximbiot.com>
6125             Eric Blake  <ebb9@byu.net>
6126
6127         * lib/inttypes.h: Correct grammar in comment.
6128
6129 2006-04-18  Derek Price  <derek@ximbiot.com>
6130             Paul Eggert  <eggert@cs.ucla.edu>
6131
6132         * modules/inttypes: New file.
6133         * modules/strtoimax, modules/strtoumax: Depend on inttypes.
6134
6135 2006-04-18  Derek Price  <derek@ximbiot.com>
6136             Paul Eggert  <eggert@cs.ucla.edu>
6137
6138         * m4/_inttypes_h.m4, m4/full-header-path.m4, m4/include_next.m4:
6139         New files.
6140
6141 2006-04-18  Derek Price  <derek@ximbiot.com>
6142             Paul Eggert  <eggert@cs.ucla.edu>
6143
6144         * lib/inttypes.h: New file.
6145         * lib/strtoimax.c: Assume <inttypes.h>.
6146
6147 2006-04-15  Paul Eggert  <eggert@cs.ucla.edu>
6148
6149         * lib/utimens.c (futimens): glibc futimesat messes up if /proc
6150         isn't mounted.  Problem reported by Kir Kolyshkin.
6151
6152 2006-04-13  Paul Eggert  <eggert@cs.ucla.edu>
6153
6154         * lib/regcomp.c (init_dfa): Don't use wchar_t or wctype_t if
6155         RE_ENABLE_I18N is not defined.  Problem reported by Mark D. Baushke via
6156         Derek R. Price.
6157         * lib/regex.h (RE_DUP_MAX): Update comment to match current
6158         implementation.
6159
6160 2006-04-12  Eric Blake  <ebb9@byu.net>
6161
6162         * modules/time_r (Makefile.am): Remove lib_SOURCES line, as this
6163         is now done automatically by the corresponding Autoconf macro.
6164
6165 2006-04-11  Paul Eggert  <eggert@cs.ucla.edu>
6166
6167         * m4/time_r.m4 (gl_TIME_R): Add AC_LIBSOURCES for time_r.c and
6168         time_r.h.
6169
6170 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
6171
6172         Merge regex changes from libc, removing some of our
6173         POSIX-conformance changes that were rejected and redoing them in a
6174         less-intrusive way.
6175
6176         * lib/regcomp.c (re_compile_internal, init_dfa):
6177         Length arg is now size_t, not Idx.  All uses changed.
6178         (peek_token): Forward decl now says internal_function.
6179         (__re_error_msgid, __re_error_msgid_idx):
6180         Now static rather than extern with attribute_hidden.
6181         (re_compile_pattern) [!defined _LIBC]: Use K&R-style defn.
6182         For some reason libc prefers K&R style defns for external functions.
6183         (regerror) [!defined _LIBC]: Likewise.
6184         (re_set_syntax, re_compile_fastmap, regcomp, regfree, re_comp):
6185         (seek_collating_symbol_entry, lookup_collation_sequence_value):
6186         (build_range_exp, build_collating_symbol):
6187         Use K&R-style defn.
6188         (re_compile_fastmap): Use '\0' to memset, not 0.
6189         (utf8_sb_map): Make the calculations more obvious.
6190         (init_dfa, parse_bracket_exp, build_charclass_op):
6191         Call calloc and cast result, as glibc does.
6192         (init_word_char, fetch_token, peek_token, peek_token_bracket):
6193         (build_range_exp, build_collating_symbol):
6194         Now internal functions.
6195
6196         * lib/regex.c [!defined _LIBC]: Allow compiling with C++ compilers.
6197
6198         * lib/regex.h (__USE_GNU_REGEX): New macro.  Don't depend on
6199         _REGEX_SOURCE any more; depend on _GNU_SOURCE instead.
6200         Don't depend on VMS; depend on __VMS instead, for POSIX
6201         namespace cleanness.
6202         (regoff_t): Define to ssize_t, not long int.
6203
6204         Remove the REG_ macros named below.  Instead, make the old names
6205         (e.g., RE_BACKSLASH_ESCAPE_IN_LISTS) visible only if
6206         __USE_GNU_REGEX.
6207         (REG_BACKSLASH_ESCAPE_IN_LISTS):
6208         (REG_BK_PLUS_QM, REG_CHAR_CLASSES, REG_CONTEXT_INDEP_ANCHORS):
6209         (REG_CONTEXT_INDEP_OPS, REG_CONTEXT_INVALID_OPS):
6210         (REG_DOT_NEWLINE, REG_DOT_NOT_NULL, REG_HAT_LISTS_NOT_NEWLINE):
6211         (REG_INTERVALS, REG_LIMITED_OPS, REG_NEWLINE_ALT):
6212         (REG_NO_BK_BRACES, REG_NO_BK_PARENS, REG_NO_BK_REFS):
6213         (REG_NO_BK_VBAR, REG_NO_EMPTY_RANGES):
6214         (REG_UNMATCHED_RIGHT_PAREN_ORD, REG_NO_POSIX_BACKTRACKING):
6215         (REG_NO_GNU_OPS, REG_DEBUG, REG_INVALID_INTERVAL_ORD):
6216         (REG_IGNORE_CASE, REG_CARET_ANCHORS_HERE):
6217         (REG_CONTEXT_INVALID_DUP, REG_NO_SUB, REG_SYNTAX_EMACS):
6218         (REG_SYNTAX_AWK, REG_SYNTAX_GNU_AWK, REG_SYNTAX_POSIX_AWK):
6219         (REG_SYNTAX_GREP, REG_SYNTAX_EGREP, REG_SYNTAX_POSIX_EGREP):
6220         (REG_SYNTAX_ED, REG_SYNTAX_SED, _REG_SYNTAX_POSIX_COMMON):
6221         (REG_SYNTAX_POSIX_BASIC, REG_SYNTAX_POSIX_MINIMAL_BASIC):
6222         (REG_SYNTAX_POSIX_EXTENDED, REG_SYNTAX_POSIX_MINIMAL_EXTENDED):
6223         (REG_DUP_MAX, REG_UNALLOCATED, REG_REALLOCATE, REG_FIXED):
6224         (REG_NREGS):
6225         Remove.  All uses replaced by the old RE_* names.
6226         (RE_BACKSLASH_ESCAPE_IN_LISTS):
6227         (RE_BK_PLUS_QM, RE_CHAR_CLASSES, RE_CONTEXT_INDEP_ANCHORS):
6228         (RE_CONTEXT_INDEP_OPS, RE_CONTEXT_INVALID_OPS):
6229         (RE_DOT_NEWLINE, RE_DOT_NOT_NULL, RE_HAT_LISTS_NOT_NEWLINE):
6230         (RE_INTERVALS, RE_LIMITED_OPS, RE_NEWLINE_ALT):
6231         (RE_NO_BK_BRACES, RE_NO_BK_PARENS, RE_NO_BK_REFS):
6232         (RE_NO_BK_VBAR, RE_NO_EMPTY_RANGES):
6233         (RE_UNMATCHED_RIGHT_PAREN_ORD, RE_NO_POSIX_BACKTRACKING):
6234         (RE_NO_GNU_OPS, RE_DEBUG, RE_INVALID_INTERVAL_ORD):
6235         (RE_IGNORE_CASE, RE_CARET_ANCHORS_HERE):
6236         (RE_CONTEXT_INVALID_DUP, RE_NO_SUB):
6237         Don't bother having these macros be independent of each others'
6238         values, since they no longer exist in the POSIX name space.
6239
6240         Rename the following member names back to their old names,
6241         unless !__USE_GNU_REGEX.  All uses changed back.
6242         (buffer): Renamed from re_buffer.
6243         (allocated): Renamed from re_allocated.
6244         (used): Renamed from re_used.
6245         (syntax): Renamed from re_syntax.
6246         (fastmap): Renamed from re_fastmap.
6247         (translate): Renamed from re_translate.
6248         (can_be_null): Renamed from re_can_be_null.
6249         (regs_allocated): Renamed from re_regs_allocated.
6250         (fastmap_accurate): Renamed from re_fastmap_accurate.
6251         (no_sub): Renamed from re_no_sub.
6252         (not_bol): Renamed from re_not_bol.
6253         (not_eol): Renamed from re_not_eol.
6254         (newline_anchor): Renamed from re_newline_anchor.
6255         (num_regs): Renamed from rm_num_regs.
6256         (start): Renamed from rm_start.
6257         (end): Renamed from rm_end.
6258
6259         (free_state): Move up a bit.
6260
6261         * lib/regex_internal.h (inline) [__GNUC__ < 3 && defined _LIBC]:
6262         #define to be empty.
6263         (ASCII_CHARS): New macro, replacing all uses of 0x80 and/or SBC_MAX / 2
6264         when that is what is intended.
6265         (SBC_MAX): Define to UCHAR_MAX + 1, not 256.
6266         (__re_error_msgid, __re_error_msgid_idx): Remove decls; not needed.
6267         (MAX): New macro.
6268         (re_xmalloc, re_calloc, re_xrealloc, re_x2realloc): Remove.
6269         All uses changed back to re_malloc, etc.  It's now the caller's
6270         responsibility to check for overflow; all callers changed.
6271         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc, re_xnrealloc):
6272         (re_x2nrealloc): Remove.
6273         (free_state): Remove decl.
6274
6275         * lib/regexc.c (regexec, re_match, re_search, re_match_2, re_search_2):
6276         (re_set_registers, re_exec):
6277         Use K&R-style defn.
6278
6279         2006-01-31  Roland McGrath  <roland@redhat.com>
6280
6281         * lib/regcomp.c (calc_eclosure_iter): Remove dead variables.
6282         Reported by Mike Frysinger <vapier@gentoo.org>.
6283
6284         2006-01-15  Andreas Jaeger  <aj@suse.de>
6285
6286         [BZ #1950]
6287         * lib/regex_internal.c (re_string_reconstruct): Adjust for
6288         build_wcs_upper_buffer change.
6289         (build_wcs_upper_buffer): Change return type.
6290
6291         2005-12-10  Ulrich Drepper  <drepper@redhat.com>
6292
6293         * lib/regex_internal.h: Include <stdint.h> if available.
6294
6295         2005-12-06  Paolo Bonzini  <bonzini@gnu.org>
6296
6297         * lib/regex_internal.h (SIZE_MAX): Provide a default definition.
6298
6299         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
6300
6301         * lib/regcomp.c: Adjust for changed secondary hash function.
6302
6303         2005-09-30  Ulrich Drepper  <drepper@redhat.com>
6304
6305         * lib/regex.h: Pretty printing.
6306         Clean up namespace a bit.
6307
6308         2005-09-30  Jakub Jelinek  <jakub@redhat.com>
6309
6310         * lib/regexec.c (update_cur_sifted_state, check_arrival,
6311         check_arrival_add_next_nodes): Avoid using uninitialized variable.
6312
6313         2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
6314                     Ulrich Drepper  <drepper@redhat.com>
6315
6316         [BZ #1302]
6317         * lib/regex_internal.h (bitset_t): Renamed from bitset.  All uses
6318         changed.
6319         (bitset_word_t): Renamed from bitset_word.  All uses changed.
6320
6321         2005-09-22  Ulrich Drepper  <drepper@redhat.com>
6322
6323         [BZ #281]
6324         * lib/regex.h: Define RE_TRANSLATE_TYPE as unsigned char *.
6325         * lib/regcomp.c: Remove unnecessary uses of
6326         unsigned RE_TRANSLATE_TYPE.
6327         * lib/regex_internal.h: Likewise.
6328         * lib/regex_internal.c: Likewise.
6329         * lib/regexec.c: Likewise.
6330         Based on a patch by Stepan Kasal <kasal@ucw.cz>.
6331
6332         2005-09-07  Ulrich Drepper  <drepper@redhat.com>
6333
6334         * lib/regexec.c (find_recover_state): Remove unnecessary
6335         initialization.
6336         (transit_state_bkref): Make DFA a const pointer.
6337         (get_subexp): Likewise.
6338         (check_arrival): Likewise.
6339         (update_cur_sifted_state): Likewise.
6340         (re_search_internal): Likewise.
6341         (prune_impossible_nodes): Likewise.
6342         (acquire_init_state_context): Likewise.
6343         (proceed_next_node): Likewise.
6344         (set_regs): Likewise.
6345         (free_fail_stack_return): Likewise.
6346         (check_arrival_expand_ecl): Mark DFA parameter as const.
6347         (check_arrival_expand_ecl_sub): Likewise.
6348         (check_subexp_limits): Likewise.
6349         (sub_epsilon_src_nodes):  Likewise.
6350         (add_epsilon_src_nodes):  Likewise.
6351         (merge_state_array): Likewise.
6352         (update_regs): Likewise.
6353         (build_trtable): Likewise.
6354         (sift_states_backward): Mark MCTX parameter as const.
6355         (build_sifted_states): Likewise.
6356         (update_cur_sifted_state): Likewise.
6357         (sift_states_mkref): Likewise.
6358         (check_arrival_expand_ecl): Mark eclosure as const.
6359         (check_dst_limits_calc_pos_1): Likewise.
6360         * lib/regex_internal.h (re_match_context_t): Make dfa a const
6361         pointer.
6362
6363         2005-09-06  Ulrich Drepper  <drepper@redhat.com>
6364
6365         * lib/regexec.c (merge_state_with_log): Define dfa as const pointer.
6366         (transit_state_sb): Likewise.
6367         (transit_state_mb): Likewise.
6368         (sift_states_iter_mb): Likewise.
6369         (check_arrival_add_next_nodes): Likewise.
6370         (check_node_accept_bytes): Change first parameter to pointer-to-const.
6371         [_LIBC] (re_search_2_stub): Use mempcpy.
6372
6373         * lib/regex_internal.c (re_string_reconstruct): Avoid calling
6374         mbrtowc for very simple UTF-8 case.
6375
6376         * lib/regex_internal.c (re_acquire_state): Make DFA pointer arg
6377         a pointer-to-const.
6378         (re_acquire_state_context): Likewise.
6379         * lib/regex_internal.h: Adjust prototypes.
6380
6381         * lib/regex.c: Prevent using C++ compilers.
6382
6383         * lib/regex_internal.c (re_acquire_state): Minor code rearrangement.
6384         (re_acquire_state_context): Likewise.
6385
6386 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
6387
6388         * modules/regex (Depends-on): Add ssize_t.
6389
6390 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
6391
6392         * m4/regex.m4 (gl_REGEX): Check for new glibc interface to
6393         translation table.
6394
6395 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
6396
6397         * doc/gnulib-tool.texi (Modified imports): pathname -> file name.
6398
6399 2006-03-29  Mark D. Baushke  <mdb@gnu.org>
6400             Bruno Haible  <bruno@clisp.org>
6401
6402         * lib/stdint_.h: On OpenBSD, don't redefine types already included in
6403         <sys/types.h> and <inttypes.h>.
6404
6405 2006-03-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
6406
6407         * m4/argz.m4 (gl_FUNC_ARGZ): If we define `error_t', also define
6408         `__error_t_defined', so argp.h will not typedef the former.
6409
6410 2006-03-25  Paul Eggert  <eggert@cs.ucla.edu>
6411
6412         * m4/regex.m4 (gl_REGEX): Don't insist on REG_SYNTAX_POSIX_EGREP,
6413         REG_SYNTAX_EMACS, and REG_IGNORE_CASE.  Settle for the traditional
6414         glibc names.  Even if glibc is changed to conform to POSIX, the
6415         traditional names will be available anyway, since regex depends on
6416         the extensions module.  Also, fix a longstanding typo in the
6417         implementation of Spencer ERE test #75 from grep 2.3.  Problems
6418         reported by Emanuele Giaquinta.  Also, change sense of cached
6419         variable, so that the message makes sense.
6420
6421 2006-03-24  Simon Josefsson  <jas@extundo.com>
6422
6423         * lib/base64.c: Fix problems reported by Eric Blake <ebb9@byu.net>,
6424         including some doc fixes.
6425         (base64_encode_alloc): Fix +1 bug on allocation failures.
6426
6427 2006-03-24  Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
6428
6429         * lib/base64.c (base64_encode): Do not read past end of array with
6430         unsanitized input on systems with CHAR_BIT > 8.
6431
6432 2006-03-24  Eric Blake  <ebb9@byu.net>
6433
6434         * lib/time_r.c (copy_string_result): Remove, as it is no longer used.
6435
6436 2006-03-22  Karl Berry  <karl@gnu.org>
6437
6438         * config/srclist.txt (*setenv.[ch]): get from coreutils.
6439         * config/srclistvars.sh (COREUTILS): new var.
6440
6441 2006-03-17  Jim Meyering  <jim@meyering.net>
6442
6443         * m4/regex.m4 (gl_REGEX): Fix typo in last change:
6444         s/_REGEX_WIDE_OFFSETS/_REGEX_LARGE_OFFSETS/.
6445
6446 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
6447
6448         * m4/regex.m4 (gl_REGEX): Don't check for off_t, since the code
6449         no longer needs it.  Instead, check that regoff_t is as least
6450         as wide as ptrdiff_t.
6451
6452         Don't define _REGEX_WIDE_OFFSETS unless using the included regex,
6453         so that our regex.h stays compatible with the installed regex.
6454         This is helpful for installers who configure --without-included-regex.
6455         Problem reported by Emanuele Giaquinta.
6456
6457 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
6458
6459         * lib/regex.h (regoff_t) [defined _REGEX_LARGE_OFFSETS]:
6460         Typedef to long int, not to off_, as POSIX will likely change
6461         in that direction.
6462
6463 2006-03-15  Eric Blake  <ebb9@byu.net>
6464
6465         * m4/dirfd.m4 (gl_FUNC_DIRFD): Use AC_REQUIRE for AC_HEADER_DIRENT.
6466
6467 2006-03-13  Sergey Poznyakoff  <gray@gnu.org.ua>
6468
6469         * lib/argp-help.c (validate_uparams): Fix typo
6470         * lib/argp-parse.c (argp_default_options): Consistently begin help
6471         messages with a lowercase letter.
6472
6473 2006-03-11  Paul Eggert  <eggert@cs.ucla.edu>
6474
6475         * lib/time_r.h (asctime_r, ctime_r): Remove.  These functions can
6476         overrun buffers and shouldn't be used (much as gets shouldn't be
6477         used).
6478         * lib/time_r.c (asctime_r, ctime_r): Likewise.
6479
6480 2006-03-08  Simon Josefsson  <jas@extundo.com>
6481
6482         * m4/gc-random.m4: Permit 'no' as variable values and fix warnings,
6483         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
6484
6485 2006-03-08  Simon Josefsson  <jas@extundo.com>
6486
6487         * m4/gc-random.m4: Call AC_CANONICAL_HOST and use $host_os instead of
6488         $target, suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
6489
6490 2006-03-08  Simon Josefsson  <jas@extundo.com>
6491
6492         * lib/gc-gnulib.c (randomize): Don't open files called 'no', they
6493         signal that configure disabled the device.
6494
6495 2006-03-08  Simon Josefsson  <jas@extundo.com>
6496
6497         * build-aux/maint.mk: Fix refresh-po, to handle no translated
6498         languages.
6499
6500 2006-03-07  Simon Josefsson  <jas@extundo.com>
6501
6502         * modules/getopt (Depends-on): Add unistd.
6503
6504         * modules/unistd: New file.
6505
6506 2006-03-07  Simon Josefsson  <jas@extundo.com>
6507
6508         * modules/gc-random: New file.
6509
6510 2006-03-07  Simon Josefsson  <jas@extundo.com>
6511
6512         * m4/unistd_h.m4: New file.
6513
6514 2006-03-07  Simon Josefsson  <jas@extundo.com>
6515
6516         * m4/readline.m4 (gl_FUNC_READLINE): Rewrite the cached part of the
6517         test to be side-effect free by storing the result in the cache
6518         variable gl_cv_lib_readline, and moving the assignment of
6519         LIBREADLINE and LTLIBREADLINE outside the COMMANDS-TO-SET-IT.
6520         From Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
6521
6522 2006-03-07  Simon Josefsson  <jas@extundo.com>
6523
6524         * m4/gc-random.m4: New file, mostly from gc.m4.  Warn instead of
6525         error on missing devices (the functions will return an error).
6526
6527         * m4/gc.m4: Move random stuff to gc-random.m4
6528
6529 2006-03-07  Simon Josefsson  <jas@extundo.com>
6530
6531         * lib/unistd_.h: New file.
6532
6533 2006-03-07  Simon Josefsson  <jas@extundo.com>
6534
6535         * lib/gc-libgcrypt.c, gc-gnulib.c: Use GC_USE_RANDOM.
6536
6537 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
6538
6539         * m4/unistd_h.m4 (gl_HEADER_UNISTD): Rename, to match modules file.
6540         Problem reported by Juan Manuel Guerrero.
6541
6542 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
6543
6544         * lib/c-stack.c: Include unistd.h unconditionally, since we now assume
6545         the unistd module.
6546         * lib/getlogin_r.c: Likewise.
6547         * lib/getlogin_r.h: Likewise.
6548         * lib/glob.c: Likewise.
6549         * lib/pagealign_alloc.c: Likewise.
6550         * lib/unistd_.h: Remove; no longer needed.
6551
6552 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
6553
6554         * MODULES.html.sh (Support for systems lacking POSIX:2001):
6555         Add unistd.
6556         * modules/c-stack (Depends-on): Add unistd.
6557         * modules/getlogin_r: Likewise.
6558         * modules/glob: Likewise.
6559         * modules/pagealign_alloc: Likewise.
6560         * modules/unistd (Files): Remove lib/unistd_.h.
6561         (EXTRA_DIST): Remove.
6562         (unistd.h): Create using 'echo' rather than 'cp', so that we don't
6563         need unistd_.h.
6564         (MOSTLYCLEANFILES): Remove unistd.h-t.
6565
6566 2006-03-03  Simon Josefsson  <jas@extundo.com>
6567
6568         * build-aux/maint.mk: Add several syntax checks from CoreUtils.
6569
6570 2006-03-03  Simon Josefsson  <jas@extundo.com>
6571
6572         * build-aux/maint.mk: Add refresh-po rule, based on ideas from
6573         libidn and bison.
6574
6575 2006-03-03  Simon Josefsson  <jas@extundo.com>
6576
6577         * build-aux/maint.mk: Add indent target.
6578
6579 2006-03-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de> (tiny change)
6580
6581         * m4/poll.m4 (gl_FUNC_POLL): If we deem poll(2) unacceptable, use
6582         our replacement poll.h in any case, to avoid a differing
6583         declaration from a system header.  Seen on AIX.
6584
6585 2006-03-01  Simon Josefsson  <jas@extundo.com>
6586
6587         * lib/readline.c: Fix typo, tiny patch from Stepan Kasal
6588         <kasal@ucw.cz>.
6589
6590 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
6591
6592         * modules/gettime (Depends-on): Add extensions module.
6593         * modules/nanosleep (Depends-on): Likewise.
6594         * modules/settime (Depends-on): Likewise.
6595
6596 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
6597
6598         * m4/clock_time.m4 (gl_CLOCK_TIME): Require gl_USE_SYSTEM_EXTENSIONS,
6599         not merely AC_GNU_SOURCE, for the benefit of Solaris 10 when compiled
6600         pedantically.
6601         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
6602         * m4/timespec.m4 (gl_TIMESPEC): Likewise.
6603
6604         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use "=" with "test",
6605         not "==".  Reported by Ralf Wildenhues.
6606
6607 2006-03-01  Karl Berry  <karl@gnu.org>
6608
6609         * doc/Copyright/request-*: new files, synced from gnuorg.
6610
6611 2006-03-01  Karl Berry  <karl@gnu.org>
6612
6613         * config/srclist.txt (Copyright/*): new entries.
6614
6615 2006-02-28  Simon Josefsson  <jas@extundo.com>
6616
6617         * lib/getopt.c: Protect #include of unistd.h, for MSVS.
6618
6619 2006-02-27  Simon Josefsson  <jas@extundo.com>
6620
6621         * lib/base64.h: Indent #define's.  From Jim Meyering
6622         <jim@meyering.net>.
6623
6624 2006-02-27  Jim Meyering  <jim@meyering.net>
6625
6626         Revert the change of 2006-02-24, so these files can continue
6627         to be sync'd from gettext.
6628         * lib/mkdtemp.c, setenv.c, unsetenv.c: *Un*-normalize inclusion
6629         of `config.h'.
6630
6631 2006-02-26  Paul Eggert  <eggert@cs.ucla.edu>
6632
6633         * modules/intprops: New file.
6634         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
6635         Add intprops.
6636         * modules/getloadavg (Files): Remove lib/intprops.h.
6637         (Depends-on): Add intprops.
6638         * modules/human: Likewise.
6639         * modules/inttostr: Likewise.
6640         * modules/openat: Likewise.
6641         * modules/sig2str: Likewise.
6642         * modules/userspec: Likewise.
6643         * modules/utimecmp: Likewise.
6644         * modules/xnanosleep: Likewise.
6645         * modules/xstrtol: Likewise.
6646
6647 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny changes)
6648
6649         * modules/xstrtod: Omit xstrtod.h, xstrtod.c; they're in LIB_SOURCES.
6650         * modules/lock-tests (TESTS): Use $(EXEEXT).
6651         * modules/tls-tests: Likewise.
6652         * modules/argp-tests: Likewise.
6653         (check_PROGRAMS): New var, replacing...
6654         (noinst_PROGRAMS, test_argp_SOURCES): Remove.
6655
6656 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
6657
6658         * lib/mkdtemp.c, lib/setenv.c, lib/unsetenv.c: Normalize inclusion of
6659         `config.h'.
6660
6661 2006-02-24  Paul Eggert  <eggert@cs.ucla.edu>
6662
6663         * lib/glob.c: Say "invalid" rather than "illegal" in comments.
6664
6665 2006-02-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
6666
6667         Sync from coreutils.
6668         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Require gl_FUNC_LCHMOD and
6669         gl_CHDIR_SAFER.
6670
6671 2006-02-22  Jim Meyering  <jim@meyering.net>
6672
6673         Sync from coreutils.
6674         * m4/chdir-safer.m4: New file.
6675
6676 2006-02-20  Paul Eggert  <eggert@cs.ucla.edu>
6677
6678         * lib/getcwd.c (AT_FDCWD): Work around a bug in Solaris 9 and 10, where
6679         AT_FDCWD exceeds INT_MAX.
6680         * lib/openat.h (AT_FDCWD): Likewise.
6681
6682 2006-02-17  Eric Blake  <address@hidden>
6683
6684         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix caching error.
6685
6686 2006-02-16  Simon Josefsson  <jas@extundo.com>
6687
6688         * modules/getaddrinfo (Depends-on): Add sys_socket.
6689
6690 2006-02-15  Simon Josefsson  <jas@extundo.com>
6691
6692         * build-aux/maint.mk: Add dsyntax-check rule.
6693
6694 2006-02-15  Eric Blake  <ebb9@byu.net>
6695
6696         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Don't attempt using
6697         winsock2.h or ws2tcpip.h when sys/socket.h is present. Fixes
6698         'present but cannot compile' warnings on cygwin.
6699         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Use gl_HEADER_SYS_SOCKET.  Don't
6700         use ws2tcpip.h if sys/socket.h works.
6701         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Use gl_HEADER_SYS_SOCKET.
6702         (gl_GETADDRINFO): Don't use ws2tcpip.h when sys/socket.h is present.
6703
6704 2006-02-14  Simon Josefsson  <jas@extundo.com>
6705
6706         * modules/maintainer-makefile (Files): Rename.
6707
6708         * build-aux/GNUmakefile: Rename Makefile.maint to maint.mk
6709         and (the local) Makefile.cfg to maint-cfg.mk.
6710
6711         * build-aux/Makefile.maint, build-aux/maint.mk: Renamed the former
6712         to the latter.
6713
6714         * modules/maintainer-makefile: New module.
6715
6716         * build-aux/Makefile.maint: New file, from GNU CoreUtils, although
6717         severaly stripped to make it possible to build it up from scratch
6718         with reliable tests.
6719
6720         * build-aux/GNUmakefile: New file, from GNU CoreUtils with some
6721         fixes to permit overriding the default actions when configure and
6722         makefile are not available.
6723
6724 2006-02-14  Paul Eggert  <eggert@cs.ucla.edu>
6725
6726         Sync from coreutils.
6727         * modules/lstat (Depends-on): Don't depend on xalloc.
6728         (License): Change from GPL to LGPL, since this is now simply a
6729         replacement for a libc function.
6730
6731 2006-02-14  Jim Meyering  <jim@meyering.net>
6732
6733         Sync from coreutils.
6734
6735         Eliminate the unwelcome (albeit unlikely) possibility of xmalloc
6736         failure on deficient systems, and simplify gnulib lgpl dependencies.
6737         * lib/lstat.c (rpl_lstat): Rewrite to use stat() in place of the
6738         xmalloc/lstat combination.  Based on a patch from Bruno Haible.
6739
6740         * lib/xalloc-die.c: Remove unused definition of N_.
6741
6742 2006-02-14  Jim Meyering  <jim@meyering.net>
6743
6744         Sync from coreutils.
6745         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Invoke
6746         AC_CHECK_FUNCS(getmntent) unconditionally so that tests of
6747         $ac_cv_func_getmntent (e.g., in gl_LIST_MOUNTED_FILE_SYSTEMS) need not
6748         double-quote uses of that variable, to accommodate the rare case in
6749         which getmntent is available in none of the libraries checked.  This
6750         happens at least on FreeBSD 5.0.
6751
6752 2006-02-13  Simon Josefsson  <jas@extundo.com>
6753
6754         * gnulib-tool (Usage): Fix --import, from
6755         karl@freefriends.org (Karl Berry).
6756
6757 2006-02-13  Sergey Poznyakoff  <gray@gnu.org.ua>
6758
6759         * lib/argp-fmtstream.c: Restore another bugfix lost on 2005-12-12
6760
6761 2006-02-07  Sergey Poznyakoff  <gray@gnu.org.ua>
6762
6763         * lib/argp-namefrob.h: Restore changes accidentally lost during the
6764         "autoupdate" on 2005-12-12.
6765
6766 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
6767
6768         * modules/closeout (Depends-on): Remove atexit.
6769
6770 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
6771
6772         * lib/closeout.c (close_stdout): Don't assume 'bool' converts nonzero
6773         ints to 0 or 1, as this isn't true for the stdbool.h substitute.
6774
6775 2006-02-05  Paul Eggert  <eggert@cs.ucla.edu>
6776
6777         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Don't #define
6778         __EXTENSIONS__ if this causes compilation to fail.  Problem
6779         reported by Nelson H. F. Beebe with Solaris 10 and Sun C 5.7
6780         c89 -D_XOPEN_SOURCE -D_XOPEN_SOURCE_EXTENDED.
6781
6782 2006-01-27  Paul Eggert  <eggert@cs.ucla.edu>
6783
6784         * lib/fnmatch.c (L_): Renamed from L, to work around a bug in
6785         Mac OS X 10.3.9 with GCC 3 reported by Claudio Fontana in
6786         <http://lists.gnu.org/archive/html/bug-gnulib/2006-01/msg00074.html>.
6787         All uses changed.
6788
6789 2006-01-26  Simon Josefsson  <jas@extundo.com>
6790
6791         * lib/socket_.h: Set WINVER to 0x0501, to make sure getaddrinfo
6792         prototype is visible on mingw32.
6793
6794         * lib/getaddrinfo.h: Define EAI_ADDRFAMILY and EAI_SYSTEM if not set,
6795         for mingw32.
6796
6797         * lib/gai_strerror.c, getaddrinfo.h: Protect netdb.h #include (for
6798         mingw32).
6799
6800 2006-01-26  Paul Eggert  <eggert@cs.ucla.edu>
6801
6802         * lib/fts.c (diropen): Open with O_NOCTTY | O_NONBLOCK too.  Don't
6803         attempt to open for write; this always fails, at least on POSIX
6804         hosts.  This reinstates the 2006-01-09 change, which was
6805         inadvertently removed.
6806
6807 2006-01-26  Bruno Haible  <bruno@clisp.org>
6808
6809         * gnulib-tool (func_import): Use "trap 'exit $?' instead of "trap :".
6810         Reported by Paul Eggert.
6811
6812 2006-01-26  Bruno Haible  <bruno@clisp.org>
6813             Paul Eggert  <eggert@cs.ucla.edu>
6814
6815         * lib/stdbool_.h (_Bool)
6816         [(! (defined __cplusplus || defined __BEOS__)
6817           && !defined __GNUC__
6818           && !(defined __HP_cc || defined __xlc__
6819                || (defined __SUNPRO_C && (__SUNPRO_C < 0x550 || __STDC__ == 1))
6820                || defined __sgi))]:
6821         #define to signed char in these cases too; this simplifies
6822         the code (so that we don't have to worry about HP-UX, AIX, SunPRO,
6823         etc., separately) and makes it more conservative.
6824
6825 2006-01-25  Simon Josefsson  <jas@extundo.com>
6826
6827         * m4/getaddrinfo.m4: Look for getaddrinfo inside ws2tcip.h and
6828         -lws2_32.  Protect sys/socket.h and netdb.h #include's.  Include
6829         ws2tcpip.h with WINVER=0x0501.  All for mingw32.
6830
6831 2006-01-25  Sergey Poznyakoff  <gray@gnu.org.ua>
6832
6833         * lib/argp-namefrob.h: Bugfix. Remove stray #
6834
6835 2006-01-25  Paul Eggert  <eggert@cs.ucla.edu>
6836
6837         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for xlc bug if __GCC__ too,
6838         so that we test the test.
6839         Check for yet another HP-UX cc bug involving *bool |= bool.
6840
6841 2006-01-25  Karl Berry  <karl@gnu.org>
6842
6843         * config/srclist.txt (vasnprintf.c): sync lost.
6844
6845 2006-01-25  Jim Meyering  <jim@meyering.net>
6846
6847         Sync from the stable (b5) branch of coreutils:
6848
6849         * lib/fts.c (fts_children): Don't let close() clobber errno from
6850         failed fchdir().
6851
6852         * lib/fts.c (fts_stat): When following a symlink-to-directory,
6853         don't necessarily interpret stat-fails+lstat-succeeds as indicating
6854         a dangling symlink.  That can also happen at least for ELOOP.
6855         The fix: return FTS_SLNONE only when the stat errno is ENOENT.
6856         FYI, this bug predates the inclusion of fts.c in coreutils.
6857
6858         * lib/fts.c (fts_open): Put new maxarglen declaration and uses
6859         in their own block, so pre-c99 compilers don't object.
6860
6861         Avoid the double-free (first in fts_read, second in fts_close) that
6862         would occur when an `active' directory is made inaccessible (e.g.,
6863         via chmod a-x) during a traversal.
6864         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
6865         before returning.  Reproduce this failure by
6866         mkdir -p a/b; cd a; chmod a-x . b
6867         Reported by Stavros Passas.
6868
6869 2006-01-25  Jim Meyering  <jim@meyering.net>
6870
6871         * lib/fileblocks.c: Remove more useless parentheses.
6872         * lib/readutmp.h: Likewise.
6873
6874 2006-01-25  Bruno Haible  <bruno@clisp.org>
6875
6876         * lib/stdbool_.h (_Bool) [IRIX cc]: Define as 'signed char', to avoid
6877         warnings.
6878         Reported by Paul Eggert.
6879
6880 2006-01-25  Bruno Haible  <bruno@clisp.org>
6881
6882         * gnulib-tool (func_import): Use "trap :" instead of "trap -" to get
6883         rid of a trap command. For Solaris sh.
6884         Reported by Mark D. Baushke <mdb@gnu.org>.
6885
6886 2006-01-24  Simon Josefsson  <jas@extundo.com>
6887
6888         * lib/socket_.h (SHUT_WR, SHUT_RDWR): Don't hardcode, suggested by
6889         Bruno.
6890
6891 2006-01-24  Karl Berry  <karl@gnu.org>
6892
6893         * config/srclist.txt (argp-namefrob.h): sync lost.
6894
6895 2006-01-24  Jim Meyering  <jim@meyering.net>
6896
6897         * modules/openat (Files): Add lib/intprops.h.
6898         From Mark D. Baushke.
6899
6900 2006-01-24  Jim Meyering  <jim@meyering.net>
6901
6902         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBSOURCES([intprops.h]).
6903         Reported by Mark D. Baushke.
6904
6905 2006-01-24  Jim Meyering  <jim@meyering.net>
6906
6907         * lib/socket_.h: Remove useless parentheses in uses of cpp `defined'.
6908
6909 2006-01-24  Bruno Haible  <bruno@clisp.org>
6910
6911         * modules/strnlen (Maintainer): Change from glibc to all.
6912
6913 2006-01-24  Bruno Haible  <bruno@clisp.org>
6914
6915         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for IBM and HP-UX bugs.
6916         Patch by Paul Eggert.
6917
6918 2006-01-24  Bruno Haible  <bruno@clisp.org>
6919
6920         * lib/stdbool_.h (_Bool) [__cplusplus]: Don't define if the compiler
6921         already has it.
6922         Report and patch by Albert Chin-A-Young  <china@thewrittenword.com> on
6923         2005-11-26.
6924
6925         * lib/stdbool_.h (_Bool) [HP-UX cc, AIX cc,xlc]: Define as
6926         'signed char' to avoid problems with the built-in _Bool type.
6927         Reported by Paul Eggert on 2005-11-26.
6928
6929 2006-01-24  Bruno Haible  <bruno@clisp.org>
6930
6931         * gnulib-tool (func_import): Avoid constructing complicated sed
6932         expressions inside backquote.
6933         Report and solution by Mark D. Baushke <mdb@gnu.org>.
6934
6935 2006-01-23  Ulrich Drepper  <drepper@redhat.com>
6936
6937         These changes imported from libc.
6938         * lib/getopt.c: Use __fxprintf instead of inline stream orientation
6939         test and two separate function calls.
6940         * lib/strndup.c (__strndup): Add libc_hidden_def.
6941
6942 2006-01-23  Simon Josefsson  <jas@extundo.com>
6943
6944         * modules/lock-tests: Use check_PROGRAMS instead of noinst_PROGRAMS.
6945         Remove the test_*_SOURCES variable: automake infers it by default.
6946         * modules/tls-tests: Likewise.
6947
6948 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
6949
6950         Work around porting bugs reported by Dieter in
6951         <http://lists.gnu.org/archive/html/bug-bison/2006-01/msg00049.html>.
6952         * lib/getopt.c (_NOPROTO): Remove; no longer needed.
6953         Include <stdlib.h> and <unistd.h> in all environments; it's safe now.
6954         Include "getopt.h" first, to check interface.
6955         (getenv): Declare only if defined HAVE_DECL_GETENV &&
6956         !HAVE_DECL_GETENV.
6957         * lib/strndup.c [!_LIBC]: Include "strndup.h" to get prototype.
6958         (__strndup): Revert to K&R-style function dfns, the glibc style.
6959         * lib/strnlen.c: Don't claim it's taken from glibc; it's not.
6960         (strnlen, __strnlen): Remove #defines and #undefs; not needed.
6961         Include strnlen.h first, to get prototype properly.
6962         (strnlen): Renamed from __strnlen.
6963         Remove weak alias.
6964
6965 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
6966
6967         * m4/getopt.m4 (gl_PREREQ_GETOPT): Check for getenv decl.
6968
6969 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
6970
6971         * config/srclist.txt: Adjust to reflect glibc reorganization.
6972         This affects only comments.
6973
6974 2006-01-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
6975
6976          * gnulib-tool, build-aux/csharpcomp.sh.in: Do not pass `-q' to mktemp.
6977          Reported by Bruce Korb <bkorb@gnu.org>.
6978
6979 2006-01-22  Paul Eggert  <eggert@cs.ucla.edu>
6980
6981         * lib/quotearg.c (quotearg_buffer_restyled): Add "default: break;"
6982         to pacify gcc -Wswitch-default.
6983
6984 2006-01-22  Bruno Haible  <bruno@clisp.org>
6985
6986         * lib/vasnprintf.c (VASNPRINTF): In the computation of the size of the
6987         temporary buffer for sprintf, take into account the precision also
6988         for 'd', 'i', 'u', 'o', 'x', 'X'.
6989
6990 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
6991
6992         * modules/argp-tests: New module
6993         * tests/test-argp.c: New file
6994         * tests/test-argp-2.sh: New file
6995
6996 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
6997
6998         * lib/argp-help.c (usage_long_opt): Do not print DOC options.
6999         (__argp_base_name): Removed
7000         * lib/argp-namefrob.h (__argp_basename): Removed definition. Was a
7001         typo.
7002         (__argp_base_name): Provide macro definition or extern declaration
7003         depending on the configuration
7004
7005 2006-01-20  Simon Josefsson  <jas@extundo.com>
7006
7007         * modules/inet_ntop (Depends-on): Depend on sys_socket.
7008
7009 2006-01-20  Simon Josefsson  <jas@extundo.com>
7010
7011         * lib/inet_ntop.h: Unconditionally include sys/socket.h.
7012
7013 2006-01-20  Paul Eggert  <eggert@cs.ucla.edu>
7014
7015         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Use -Wl,-z,ignore
7016         rather than -Xlinker -z -Xlinker ignore, as it's more portable.
7017         Suggested by Bruno Haible.
7018
7019 2006-01-20  Karl Berry  <karl@gnu.org>
7020
7021         * config/srclist.txt (argp-fmtstream.h, localcharset.c): comment out
7022         until changes propagate, I guess.
7023
7024 2006-01-19  Simon Josefsson  <jas@extundo.com>
7025
7026         * m4/socklen.m4: Look in ws2tcpip.h too, for mingw32.
7027
7028 2006-01-19  Simon Josefsson  <jas@extundo.com>
7029
7030         * lib/socket_.h: Map SHUT_RD, SHUT_WR, SHUT_RDWR correctly.
7031
7032 2006-01-19  Simon Josefsson  <jas@extundo.com>
7033
7034         * gnulib-tool: Set check_PROGRAMS.
7035
7036         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
7037         modules/des-tests, modules/gc-arcfour-tests,
7038         modules/gc-arctwo-tests, modules/gc-des-tests,
7039         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
7040         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
7041         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
7042         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
7043         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
7044         modules/md5-tests, modules/readline, modules/rijndael-tests: Use
7045         check_PROGRAMS instead of noinst_PROGRAMS to be able to remove
7046         test_*_SOURCES.
7047
7048 2006-01-18  Simon Josefsson  <jas@extundo.com>
7049
7050         * modules/socklen (Depends-on): Depend on sys_socket.
7051
7052 2006-01-18  Simon Josefsson  <jas@extundo.com>
7053
7054         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
7055         modules/des-tests, modules/gc-arcfour-tests,
7056         modules/gc-arctwo-tests, modules/gc-des-tests,
7057         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
7058         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
7059         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
7060         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
7061         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
7062         modules/md5-tests, modules/readline, modules/rijndael-tests: Add
7063         $(EXEEXT) to automake TESTS variable, for mingw32.
7064
7065 2006-01-17  Simon Josefsson  <jas@extundo.com>
7066
7067         * modules/socklen (Include): Need sys/socket.h.
7068
7069 2006-01-17  Bruno Haible  <bruno@clisp.org>
7070
7071         * modules/ssize_t (Include): Add <sys/types.h>.
7072
7073 2006-01-16  Paul Eggert  <eggert@cs.ucla.edu>
7074
7075         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Don't use ldd, as
7076         it's not portable and it doesn't work with cross-compiles.
7077         Problem reported by Bruno Haible.  Fix missing-$ typo in
7078         'test "gl_cv_ignore_unused_libraries" ...' that prevented
7079         -zignore from being used with Sun's C compiler.
7080
7081 2006-01-12  Simon Josefsson  <jas@extundo.com>
7082
7083         * lib/base64.c: Fix warning, reported by Bruno Haible
7084         <bruno@clisp.org> and patch by Paul Eggert <eggert@CS.UCLA.EDU>.
7085
7086 2006-01-12  Bruno Haible  <bruno@clisp.org>
7087
7088         * modules/ldd: New file.
7089         * build-aux/ldd.sh.in: New file.
7090         * MODULES.html.sh (Support for building libraries and executables): Add
7091         ldd.
7092
7093 2006-01-12  Bruno Haible  <bruno@clisp.org>
7094
7095         * m4/ldd.m4: New file.
7096
7097 2006-01-12  Bruno Haible  <bruno@clisp.org>
7098
7099         * gnulib-tool (func_import, func_create_testdir): Don't go into an
7100         endless loop while replacing $auxdir with build-aux.
7101
7102 2006-01-11  Simon Josefsson  <jas@extundo.com>
7103
7104         * lib/stdint_.h (SIZE_MAX): Add missing (.
7105
7106 2006-01-11  Paul Eggert  <eggert@cs.ucla.edu>
7107
7108         Sync from coreutils.
7109         * lib/md5.c: Fix commentary typos.
7110         (alignof, UNALIGNED_P): No need for a GCC-specific version.
7111         * lib/md5.h (__attribute__): Remove; unused.
7112         * lib/sha1.c: Fix commentary to match md5 better.
7113         * lib/sha1.h (struct sha1_ctx): Use a word buffer, not a byte buffer,
7114         so that we don't need to worry about alignment.  All uses changed.
7115         This merges the 2005-10-28 md5 change into sha1.
7116
7117 2006-01-11  Jim Meyering  <jim@meyering.net>
7118
7119         Sync from coreutils.
7120         * lib/md5.c (OP): Fix spacing.
7121
7122 2006-01-11  Bruno Haible  <bruno@clisp.org>
7123
7124         Ensure automatic ordering between gl_LOCK and gl_ARGP.
7125         * m4/lock.m4 (gl_LOCK_BODY): Renamed from gl_LOCK.
7126         (gl_LOCK): New macro, requiring gl_LOCK_BODY.
7127
7128 2006-01-11  Bruno Haible  <bruno@clisp.org>
7129
7130         Ensure automatic ordering between gl_LOCK and gl_ARGP.
7131         * gnulib-tool (func_import, func_create_testdir): Put gl_LOCK into
7132         the "early" section as well.
7133
7134 2006-01-11  Bruno Haible  <bruno@clisp.org>
7135
7136         Avoid "ar: no archive members specified" error on MacOS X.
7137         * gnulib-tool (func_modules_add_dummy): New function.
7138         (func_import, func_create_testdir): Invoke it.
7139
7140 2006-01-11  Bruno Haible  <bruno@clisp.org>
7141
7142         * gnulib-tool (func_import, func_create_testdir): Replace build-aux
7143         with $auxdir in AC_CONFIG_FILES statements.
7144
7145 2006-01-11  Bruno Haible  <bruno@clisp.org>
7146
7147         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
7148         Initialize also noinst_HEADERS to empty.
7149
7150 2006-01-11  Bruno Haible  <bruno@clisp.org>
7151
7152         * gnulib-tool (AUTOMAKEPATH, AUTOCONF, ACLOCAL, AUTOMAKE): New
7153         variables.
7154         (func_create_megatestdir): Call aclocal, autoconf, automake here, not
7155         autoreconf.
7156
7157 2006-01-11  Bruno Haible  <bruno@clisp.org>
7158
7159         * gnulib-tool (AUTOCONF, ACLOCAL, AUTOMAKE, AUTORECONF): Make
7160         overridable by the user.
7161         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
7162
7163 2006-01-10  Simon Josefsson  <jas@extundo.com>
7164
7165         * modules/sys_socket: New file.
7166
7167 2006-01-10  Simon Josefsson  <jas@extundo.com>
7168
7169         * m4/sys_socket_h.m4: New file.
7170
7171 2006-01-10  Simon Josefsson  <jas@extundo.com>
7172
7173         * lib/socket_.h: New file.
7174
7175 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
7176
7177         * modules/readutmp (Maintainer): Add myself.
7178
7179 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
7180
7181         * m4/memcoll.m4 (gl_MEMCOLL): Don't require AC_FUNC_MEMCMP, undoing
7182         the 2002-12-31 change.  Problem and fix reported by Bruno Haible.
7183         People who are still concerned with buggy memcmp implementations
7184         can invoke gl_FUNC_MEMCMP themselves.
7185
7186 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
7187
7188         * lib/regex_internal.h (BITSET_WORD_BITS):
7189         Work around a bug in 64-bit PGC (before version 6.1-2), where the
7190         preprocessor mishandles large unsigned values as if they were signed.
7191         Problem reported by Claudio Fontana in
7192         <http://lists.gnu.org/archive/html/bug-gnulib/2005-12/msg00061.html>.
7193
7194 2006-01-10  Jim Meyering  <jim@meyering.net>
7195
7196         Avoid the double-free (first in fts_read, second in fts_close) that
7197         would occur when an `active' directory is made inaccessible (e.g.,
7198         via chmod a-x) during a traversal.
7199         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
7200         before returning.  Reproduce this failure by
7201         mkdir -p a/b; cd a; chmod a-x . b
7202         Reported by Stavros Passas.
7203
7204         Sync from coreutils.
7205         * lib/sha1.c: Tweak grammar in a comment.
7206
7207 2006-01-10  Jim Meyering  <jim@meyering.net>
7208
7209         * m4/fpending.m4: Also include <stdio.h>, for Dragonfly.
7210         Patch by Joerg Sonnenberger.
7211
7212 2006-01-10  Bruno Haible  <bruno@clisp.org>
7213
7214         * modules/readutmp: Depend on module free.
7215         * modules/strtok_r: Depend on module restrict.
7216
7217 2006-01-10  Bruno Haible  <bruno@clisp.org>
7218
7219         * modules/gettext (configure.ac): Add an invocation of
7220         AM_GNU_GETTEXT_VERSION. Needed since autoreconf is used by gnulib-tool.
7221
7222 2006-01-10  Bruno Haible  <bruno@clisp.org>
7223
7224         * m4/localcharset.m4 (gl_LOCALCHARSET): Also test for getc_unlocked.
7225         Reported by Werner Lemberg <wl@gnu.org>.
7226
7227 2006-01-10  Bruno Haible  <bruno@clisp.org>
7228
7229         * lib/localcharset.c: Update from GNU gettext.
7230
7231 2006-01-10  Bruno Haible  <bruno@clisp.org>
7232
7233         * lib/argp.h (__const): Remove macro. Use const instead.
7234         * lib/argp-fmtstream.h (__const): Likewise.
7235         * lib/glob_.h (__const): Remove macro.
7236         * lib/glob-libc.h: Use const instead of __const.
7237
7238 2006-01-10  Bruno Haible  <bruno@clisp.org>
7239
7240         * gnulib-tool (func_emit_tests_Makefile_am): Emit an empty SUBDIR
7241         variable.
7242         Needed to avoid an automake error regarding the 'gettext' module.
7243
7244 2006-01-09  Simon Josefsson  <jas@extundo.com>
7245
7246         * modules/inet_ntop (Depends-on): Add restrict.
7247
7248 2006-01-09  Simon Josefsson  <jas@extundo.com>
7249
7250         * modules/gc-rijndael-tests (License): Put under LGPL.
7251
7252         * modules/gc-des-tests (License): Likewise.
7253
7254         * modules/gc-arcfour-tests (License): Likewise.
7255
7256         * modules/gc-arctwo-tests (License): Likewise.
7257
7258         * modules/gc-pbkdf2-sha1-tests (License): Likewise.
7259
7260         * modules/gc-hmac-sha1-tests (Files): Likewise.
7261
7262         * modules/gc-hmac-md5-tests (License): Likewise.
7263
7264         * modules/gc-sha1-tests (License): Likewise.
7265
7266         * modules/gc-md5-tests (License): Likewise.
7267
7268         * modules/gc-md4-tests (License): Likewise.
7269
7270         * modules/gc-md2-tests (License): Likewise.
7271
7272         * modules/gc-tests (License): Likewise.
7273
7274         * modules/des-tests (License): Likewise.
7275
7276         * modules/md4-tests (License): Likewise.
7277
7278         * modules/md2-tests (License): Likewise.
7279
7280 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
7281
7282         Sync from coreutils:
7283
7284         * MODULES.html.sh (build_lib): New section, with new lib-ignore module.
7285         * modules/lib-ignore: New file.
7286         * modules/mkdir-p (Files): Add chdir-safer.c, chdir-safer.h, lchmod.h,
7287         chdir-safer.m4, lchmod.m4.
7288         * modules/openat: Add mkdirat.c, openat-priv.h.
7289
7290 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
7291
7292         Sync from coreutils.
7293         * m4/lib-ignore.m4: New file.
7294         * m4/lchmod.m4: New file.
7295
7296 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
7297
7298         Sync from coreutils.
7299         * lib/chdir-long.c (cdb_free): Don't bother trying to open directory
7300         for write access: POSIX says that must fail.
7301         * lib/fts.c (diropen): Likewise.
7302         * lib/save-cwd.c (save_cwd): Likewise.
7303         * lib/chdir-long.c (cdb_free): Open with O_NOCTTY | O_NONBLOCK as
7304         well, for minor improvements on hosts that lack O_DIRECTORY.
7305         * lib/chown.c (rpl_chown) [CHOWN_MODIFIES_SYMLINK]:
7306         Don't try O_WRONLY unless O_RDONLY failed wth EACCES.
7307         Fall back on chown if open failed with EACCES.
7308
7309         * lib/gettime.c (gettime) [!defined OK_TO_USE_1S_CLOCK]:
7310         Report an error at compile-time if only a 1-second nominal clock
7311         resolution is found.
7312
7313         * lib/lchmod.h: New file.
7314         * lib/mkdir-p.c: Include lchmod.h, lchown.h.
7315         (make_dir_parents): Use lchown rather than chown, and
7316         lchmod rather than chmod.
7317
7318         * lib/mountlist.c (ME_DUMMY): "none" and "proc" file systems are
7319         dummies too.  Problem with "none" reported by Bob Proulx.  Problem with
7320         "proc" reported by n0dalus.
7321
7322         * lib/mountlist.c: Include <limits.h>.
7323         (dev_from_mount_options)
7324         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]:
7325         New function.  It no longer assumes "dev=" has the System V meaning
7326         on Linux (since it doesn't).  It also parses "dev=" more carefully.
7327         (read_file_system_list)
7328         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]: Use it.
7329         MOUNTED_GETMNTENT2 is new here; the code didn't used to look for
7330         dev= in that case.
7331
7332         * lib/posixtm.h (PDS_PRE_2000): New macro.
7333         * lib/posixtm.c (year): Arg is now syntax_bits rather than
7334         allow_century.  All usages changed.  Reject dates outside the range
7335         1969-1999 if PDS_PRE_2000 is used.
7336
7337 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
7338
7339         Sync from coreutils.
7340         * doc/getdate.texi (General date syntax): Invalid dates are rejected.
7341         (Time of day items): Mention the possibility of leap seconds.
7342         Problem reported by Dr. David Alan Gilbert.
7343
7344 2006-01-09  Jim Meyering  <jim@meyering.net>
7345
7346         Sync from coreutils.
7347
7348         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2006.
7349
7350         * lib/chdir-safer.h, lib/chdir-safer.c: New files.
7351
7352         * lib/modechange.c (mode_compile): Reject an invalid mode string
7353         that starts with an octal digit.  From Andreas Gruenbacher.
7354
7355         * lib/openat.c: Include "fcntl--.h" and "unistd--.h", to map open
7356         and dup to open_safer and dup_safer, respectively.
7357         (openat_permissive): Fix typo in comment.
7358
7359         * lib/openat.c: Don't include <stdlib.h>, <unistd.h>, <fcntl.h>,
7360         "gettext.h"; either no longer needed or are guaranteed by openat.h.
7361         (_): Remove; no longer needed.
7362         (openat): Renamed from rpl_openat; no need for rpl_openat
7363         since openat.h renames openat for us.
7364         Replace most of the body with a call to openat_permissive,
7365         to avoid duplicate code.
7366         Port to (probably hypothetical) environments were mode_t is
7367         wider than int.
7368         (openat_permissive): Require mode arg, so that we can check
7369         types better.  Put it just after flags.  Change cwd failure
7370         indicator from pointer-to-bool to pointer-to-errno-value.
7371         All callers changed.
7372         Invoke openat_save_fail and/or openat_restore_fail if
7373         cwd_errno is null, so that openat can call us.
7374         (openat_permissive, fdopendir, fstatat, unlinkat):
7375         Simplify errno handling to avoid some duplicate code,
7376         as it's OK to set errno on success.
7377         * lib/openat.h: Revamp code so that function macros depend on
7378         __OPENAT_PREFIX only, not also on AT_FDCWD.
7379         (openat_ro): Remove.  Caller changed to use openat_permissive.
7380         (openat_permissive): Now a macro, if not a function.
7381         (openat_restore_fail, openat_save_fail): Now always functions,
7382         since mkdirat needs them even if __OPENAT_PREFIX is defined.
7383
7384         * lib/openat-priv.h: New file, defining macros used by mkdirat.c
7385         and openat.c.
7386         * lib/mkdirat.c: Include openat-priv.h.
7387         Remove definitions of macros defined therein.
7388         * lib/openat.c: Likewise.
7389
7390         * lib/mkdirat.c (mkdirat): New file and function.
7391         * lib/openat.h (mkdirat): Declare.
7392
7393         * lib/openat.c (fdopendir): Don't change errno when returning non-NULL.
7394
7395         * lib/openat.h (openat_permissive): Declare.
7396         (openat_ro): Define.
7397
7398         * lib/openat.c (EXPECTED_ERRNO): New macro.
7399         (openat_permissive): New function -- used in remove.c rewrite.
7400         (all functions): Set errno just before returning, only if there
7401         was an actual failure.
7402         Use EXPECTED_ERRNO rather than comparing against only ENOTDIR.
7403
7404         Emulate openat-family functions using Linux's procfs, if possible.
7405         Idea and some code based on Ulrich Drepper's glibc changes.
7406
7407         * lib/openat.c: (BUILD_PROC_NAME): New macro.
7408         Include <stdio.h>, <string.h>, "alloca.h" and "intprops.h".
7409         (rpl_openat): Emulate by trying to open /proc/self/fd/%d/%s,
7410         before falling back on save_cwd and restore_cwd.
7411         (fdopendir, fstatat, unlinkat): Likewise.
7412
7413         * lib/openat.c (fstatat, unlinkat): Perform the syscall directly,
7414         skipping the save_cwd...restore_cwd overhead, if FILE is absolute.
7415
7416         * lib/openat.c (rpl_openat): Use the promoted type (int), not mode_t,
7417         as second argument to va_arg.  Otherwise, some versions of gcc
7418         warn that `if this code is reached, the program will abort'.
7419
7420 2006-01-09  Jim Meyering  <jim@meyering.net>
7421
7422         Sync from coreutils.
7423         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile mkdirat.c.
7424         Require openat-priv.h.
7425
7426 2006-01-09  Bruno Haible  <bruno@clisp.org>
7427
7428         * modules/strnlen (Include): Use strnlen.h.
7429
7430 2006-01-09  Bruno Haible  <bruno@clisp.org>
7431
7432         * m4/stdint.m4 (gl_STDINT_H): Also test for <sys/bitypes.h>.
7433
7434 2006-01-09  Bruno Haible  <bruno@clisp.org>
7435
7436         * lib/sysexit_.h (EX_OK): New macro.
7437         Suggested by Martin Lambers <marlam@marlam.de>.
7438
7439 2006-01-09  Bruno Haible  <bruno@clisp.org>
7440
7441         * lib/stdint_.h: On Linux libc4 and libc5, include <sys/bitypes.h> and
7442         don't define _STDINT_H_NEED_SIGNED_INT_TYPES.
7443
7444 2006-01-09  Bruno Haible  <bruno@clisp.org>
7445
7446         * lib/stdint_.h (SIZE_MAX): Write the value without involving negative
7447         numbers.
7448
7449 2006-01-09  Bruno Haible  <bruno@clisp.org>
7450
7451         * lib/javacomp.sh.in: Move to ../build-aux/javacomp.sh.in.
7452         * lib/javaexec.sh.in: Move to ../build-aux/javaexec.sh.in.
7453         * lib/csharpcomp.sh.in: Move to ../build-aux/csharpcomp.sh.in.
7454         * lib/csharpexec.sh.in: Move to ../build-aux/csharpexec.sh.in.
7455
7456 2006-01-09  Bruno Haible  <bruno@clisp.org>
7457
7458         * build-aux/javacomp.sh.in: New file, moved from lib/.
7459         * modules/javacomp-script (Files): Update.
7460         (configure.ac): Add AC_CONFIG_FILES invocation.
7461         (EXTRA_DIST): Remove variable.
7462
7463         * build-aux/javaexec.sh.in: New file, moved from lib/.
7464         * modules/javaexec (Files): Update.
7465         (configure.ac): Add AC_CONFIG_FILES invocation.
7466         (EXTRA_DIST): Remove javaexec.sh.in.
7467
7468         * build-aux/csharpcomp.sh.in: New file, moved from lib/.
7469         * modules/csharpcomp-script (Files): Update.
7470         (configure.ac): Add AC_CONFIG_FILES invocation.
7471         (EXTRA_DIST): Remove variable.
7472
7473         * build-aux/csharpexec.sh.in: New file, moved from lib/.
7474         * modules/csharpexec (Files): Update.
7475         (configure.ac): Add AC_CONFIG_FILES invocation.
7476         (EXTRA_DIST): Remove csharpexec.sh.in.
7477
7478 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
7479
7480         Sync from coreutils.
7481
7482         Add POSIX ACL support
7483         * lib/acl.h (copy_acl, set_acl): Add declarations.
7484         * lib/acl.c (acl_entries): Add fallback implementation for POSIX ACL
7485         systems other than Linux.
7486         (chmod_or_fchmod): New function: use fchmod when possible,
7487         and chmod otherwise.
7488         (file_has_acl): Add a POSIX ACL implementation, with a
7489         Linux-specific subcase.
7490         (copy_acl): Add: copy an acl and S_ISUID, S_ISGID, and
7491         S_ISVTX from one file to another.  Fall back to fchmod/chmod when
7492         acls are unsupported.
7493         (set_acl): Add: set a file's acl and S_ISUID, S_ISGID, and
7494         S_ISVTX to a defined value.  Fall back to fchmod/chmod when acls
7495         are unsupported.
7496
7497 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
7498
7499         Sync from coreutils.
7500         * m4/acl.m4 (AC_FUNC_ACL): Add POSIX ACL and Linux-specific acl tests.
7501
7502 2006-01-07  Bruno Haible  <bruno@clisp.org>
7503
7504         * gnulib-tool (func_import): Add an AC_PROG_RANLIB dependency to
7505         gl_EARLY.
7506
7507 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
7508
7509         * lib/strftime.c (tzname): Don't declare if it is already #defined.
7510         Problem reported for Mingw by Mark Junker.
7511
7512 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
7513
7514         * README: Gnulib normally doesn't generate a tarball.
7515
7516 2006-01-03  Paul Eggert  <eggert@cs.ucla.edu>
7517
7518         * lib/xtime.h (xtime_make, xtime_nonnegative_nsec, xtime_nsec): Use
7519         long int, not int, for nanosecond counts, so that people who are
7520         used to POSIX struct timespec won't be surprised.  Reported by Jim
7521         Meyering.
7522
7523 2005-12-28  Bruno Haible  <bruno@clisp.org>
7524
7525         * build-aux/config.rpath: Update from GNU gettext.
7526
7527 2005-12-16  Jim Meyering  <jim@meyering.net>
7528
7529         * modules/fprintftime: New module.
7530         * MODULES.html.sh (Date and time <time.h>): Add fprintftime.
7531
7532 2005-12-16  Jim Meyering  <jim@meyering.net>
7533
7534         * m4/fprintftime.m4: New file.
7535
7536 2005-12-16  Jim Meyering  <jim@meyering.net>
7537
7538         * lib/fprintftime.c, lib/fprintftime.h: New files.
7539
7540 2005-12-15  Simon Josefsson  <jas@extundo.com>
7541
7542         * modules/socklen (configure.ac): Fix M4 macro name, to align with
7543         new m4/socklen.m4.
7544
7545 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
7546
7547         * m4/argp.m4: Define HAVE_DECL_PROGRAM_INVOCATION_NAME and
7548         HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME
7549
7550 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
7551
7552         * lib/argp-fmtstream.c (__argp_fmtstream_update): Fix coredump
7553         * lib/argp-help.c (fill_in_uparams): Check if the constructed
7554         struct uparams is valid. Fall back to the default values if it is
7555         not.
7556
7557 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
7558
7559         * modules/argp (Files): Add argp-pin.c
7560         (Depends-on): dirname
7561         (lib_SOURCES): Add argp-pin.c
7562
7563 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
7564
7565         * m4/argp.m4:  Check if program_invocation_name and
7566         program_invocation_short_name are declared and define appropriate
7567         macros if they are not.
7568
7569 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
7570
7571         * lib/argp-help.c (__argp_base_name): New function
7572         (__argp_short_program_name): Rewrite using __argp_base_name
7573         * lib/argp-namefrob.h: Define program_invocation_name and
7574         program_invocation_short_name if requested
7575         (__argp_base_name): Add prototype
7576         * lib/argp-parse.c (argp_def): Use gettext wrappers
7577         (argp_default_parser): Use __argp_base_name
7578         * lib/argp-pin.c: New file. Defines program_invocation_name and
7579         program_invocation_short_name on systems that lack them.
7580
7581 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
7582
7583         * m4/stat-time.m4 (gl_STAT_TIME): Add check for
7584         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
7585         porting problem reported by Georg Schwarz in
7586         <http://lists.gnu.org/archive/html/bug-coreutils/2005-12/msg00083.html>.
7587
7588 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
7589
7590         * lib/stat-time.h (STATE_TIMESPEC, STAT_TIMESPEC_NS): Add check for
7591         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
7592         porting problem reported by Georg Schwarz in
7593         <http://lists.gnu.org/archive/html/bug-coreutils/2005-12/msg00083.html>.
7594
7595 2005-12-05  Bruno Haible  <bruno@clisp.org>
7596
7597         * lib/csharpcomp.sh.in (options_csc): For -l option, add a .dll suffix.
7598         * lib/csharpcomp.c (compile_csharp_using_sscli): Likewise.
7599         Reported by Mark Junker <mjscod@gmx.de>.
7600
7601 2005-12-02  Paul Eggert  <eggert@cs.ucla.edu>
7602
7603         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Renamed from gl_SOCKLEN_T.
7604         Use implementation from Albert Chin, with some
7605         comments/corrections by Stepan Kasal and myself.
7606
7607 2005-12-02  Bruno Haible  <bruno@clisp.org>
7608
7609         * gnulib-tool (func_import): Accept GPLed build tool modules when
7610         --lgpl is given.
7611         * modules/csharpcomp-script: New file.
7612         * modules/csharpcomp: Depend on it.
7613         * modules/javacomp-script: New file.
7614         * modules/javacomp: Depend on it.
7615         Suggested by Simon Josefsson.
7616
7617 2005-12-01  Paul Eggert  <eggert@cs.ucla.edu>
7618
7619         * m4/regex.m4 (gl_REGEX): Check whether off_t can be used in a switch
7620         statement, to work around an HP-UX 10.20 compiler bug reported by
7621         Peter O'Gorman.
7622
7623 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
7624
7625         * modules/savedir (Depends-on): Add openat.
7626
7627 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
7628
7629         * lib/stdint_.h (intmax_t) [defined intmax_t]: Do not declare.
7630         (uintmax_t) [defined uintmax_t]: Do not declare.
7631         (SIZE_MAX) [defined SIZE_MAX]: Do not define.
7632         This works around a problem if intmax_t.m4 and/or uintmax_t.m4
7633         and/or size_max.m4 are also used.  Problem reported by Mark D. Baushke.
7634         (SIZE_MAX): Define to ((size_t) -1), not (~(size_t)0), for the
7635         sake of portability to weird hosts that C allows (though we don't
7636         know of any practical examples).
7637
7638         * lib/savedir.h (fdsavedir): New decl.
7639         * lib/savedir.c (fdsavedir, savedirstream): New functions; the latter
7640         contains most of the former guts of savedir.
7641         (savedir): Use savedirstream.
7642         Include "openat.h".
7643
7644 2005-11-25  Paul Eggert  <eggert@cs.ucla.edu>
7645
7646         * modules/obstack (Files): Add m4/ulonglong.m4.
7647         Problem reported by Davide Angelocola.
7648
7649 2005-11-15  Paul Eggert  <eggert@cs.ucla.edu>
7650
7651         * lib/xstrtod.c: Don't bother with #pragma STDC FENV_ACCESS ON, as
7652         coreutils no longer futzes with rounding modes.
7653
7654 2005-11-14  Jim Meyering  <jim@meyering.net>
7655
7656         * lib/mkstemp-safer.c: Include <config.h>, required for possible
7657         replacement of mkstemp.
7658
7659 2005-11-10  Simon Josefsson  <jas@extundo.com>
7660
7661         * lib/readline.c: Remove EOL.
7662
7663 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
7664
7665         * modules/gethrxtime (Depends-on): Add gettime.
7666
7667 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
7668
7669         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Don't require AC_HEADER_TIME
7670         or gettimeofday; no longer needed.
7671
7672 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
7673
7674         * lib/gethrxtime.c: Include "timespec.h" rather than the sys/time /
7675         time business.
7676         (gethrxtime) [! (HAVE_NANOUPTIME
7677         || (defined CLOCK_MONOTONIC && HAVE_CLOCK_GETTIME)
7678         || HAVE_MICROUPTIME)]: Fall back on gettime rather than rolling
7679         our own approximation.
7680
7681 2005-11-08  Eric Blake  <ebb9@byu.net>
7682
7683         * lib/inet_ntop.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
7684
7685 2005-11-08  Eric Blake  <ebb9@byu.net>
7686
7687         * lib/getaddrinfo.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
7688
7689 2005-11-04  Bruno Haible  <bruno@clisp.org>
7690
7691         * gnulib-tool: Implement --update mode.
7692
7693 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
7694
7695         Fix porting problem reported by Theodoros V. Kalamatianos.
7696         * lib/utimens.c (futimens) [HAVE_WORKING_UTIMES && HAVE_FUTIMES]:
7697         Don't assume that futimes failing means we must fail.
7698
7699 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
7700
7701         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Revamp wording and local
7702         variables to suggest the intended function of the PATH_MAX check.
7703
7704 2005-10-30  Kean Johnston  <jkj@sco.com>
7705
7706         Trivial changes to support SCO systems.
7707         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Check for MAXPATHLEN as well
7708         as PATH_MAX.
7709         * m4/fpending.m4 (gl_FUNC_FPENDING): Correct check for SCO systems,
7710         where __ptr is null when no I/O is pending.
7711
7712 2005-10-29  Paul Eggert  <eggert@cs.ucla.edu>
7713
7714         * lib/getcwd.c (__getcwd): Don't assume that system calls after readdir
7715         leave errno alone.  Problem reported by Dmitry V. Levin.
7716
7717 2005-10-28  Simon Josefsson  <jas@extundo.com>
7718
7719         * tests/test-gc-md4.c, tests/test-gc-md5.c, tests/test-gc-sha1.c:
7720         Test more.
7721
7722         * tests/test-gc-md2.c, tests/test-md2.c: New files.
7723
7724         * modules/md2, modules/md2-tests: New files.
7725
7726 2005-10-28  Simon Josefsson  <jas@extundo.com>
7727
7728         * m4/inet_ntop.m4: More tests.
7729
7730         * m4/gc-md2.m4, md2.m4: New file.
7731
7732 2005-10-28  Simon Josefsson  <jas@extundo.com>
7733
7734         * lib/inet_ntop.h, inet_ntop.c: Make it work under mingw32: Add
7735         "restrict" keywords, as per POSIX.  Protect the function
7736         declaration around HAVE_DECL_INET_NTOP rather than HAVE_INET_NTOP.
7737         Don't use K&R prototypes.  Check the sprintf return values.
7738         Re-define EAFNOSUPPORT if not present.  Indent.
7739
7740         * lib/md5.h, md5.c: Simplify buffer handling visavi alignment,
7741         suggested by Bruno Haible <bruno@clisp.org>.
7742
7743         * lib/gc-gnulib.c, gc-libgcrypt.c: Check calloc return value.
7744
7745         * lib/gc.h: Add MD2 and RMD160 length defines.  Add prototypes.
7746
7747         * lib/gc-libgcrypt.c: Add MD2 (which is not available through
7748         libgcrypt).
7749
7750         * lib/gc-gnulib.c: Add MD2.  Implement gc_hash_* API.
7751
7752         * lib/md2.h, lib/md2.c: New files.
7753
7754 2005-10-28  Paul Eggert  <eggert@cs.ucla.edu>
7755
7756         * lib/savedir.c (savedir): Don't assume that xrealloc etc. leave
7757         errno alone.  Problem reported by Frederic Jolliton.
7758
7759 2005-10-27  Paul Eggert  <eggert@cs.ucla.edu>
7760
7761         * modules/verify (License): Change from GPL to LGPL.  This is a
7762         tiny module and there are apparently near-equivalents that are
7763         under the BSD license.
7764
7765 2005-10-24  Simon Josefsson  <jas@extundo.com>
7766
7767         * modules/sha1: Relicense to LGPL.
7768
7769 2005-10-24  Simon Josefsson  <jas@extundo.com>
7770
7771         * lib/md4.h: Shrink buffer size, now that we changed the type.
7772
7773 2005-10-23  Simon Josefsson  <jas@extundo.com>
7774
7775         * gnulib-tool (func_import): Fix --tests-base.
7776
7777 2005-10-22  Simon Josefsson  <jas@extundo.com>
7778
7779         * modules/arcfour (Depends-on): Need stdint.
7780
7781 2005-10-22  Simon Josefsson  <jas@extundo.com>
7782
7783         * m4/gc.m4: Don't be fooled by --disable-*random-device parameters,
7784         suggested by Bruno Haible <bruno@clisp.org>.  Fix error messages.
7785
7786 2005-10-22  Simon Josefsson  <jas@extundo.com>
7787
7788         * lib/md4.h, md4.c: Simplify buffer handling visavi alignment,
7789         suggested by Bruno Haible <bruno@clisp.org>.
7790
7791 2005-10-22  Simon Josefsson  <jas@extundo.com>
7792
7793         * lib/crc.h: Include stddef.h, for size_t.
7794
7795 2005-10-22  Simon Josefsson  <jas@extundo.com>
7796
7797         * lib/arcfour.h, arcfour.c: Use fixed size indices in the
7798         arcfour_context struct (simplify test vector testing in GNU
7799         Shishi).
7800
7801 2005-10-21  Simon Josefsson  <jas@extundo.com>
7802
7803         * modules/des, modules/des-tests: New files.
7804
7805         * modules/gc-des, modules/gc-des-tests: New files.
7806
7807         * tests/test-des.c, tests/test-gc-des.c: New file.
7808
7809 2005-10-21  Simon Josefsson  <jas@extundo.com>
7810
7811         * modules/arctwo, modules/arctwo-tests: New files.
7812
7813         * tests/test-arctwo.c: New file.
7814
7815         * modules/gc-arctwo, modules/gc-arctwo-tests: New files.
7816
7817         * tests/test-gc-arctwo.c: New file.
7818
7819 2005-10-21  Simon Josefsson  <jas@extundo.com>
7820
7821         * m4/gc.m4: Don't use libgcrypt if gcrypt.h isn't found, suggested by
7822         Bruno Haible <bruno@clisp.org>.
7823
7824         * m4/gc-des.m4: New file.
7825
7826 2005-10-21  Simon Josefsson  <jas@extundo.com>
7827
7828         * m4/arctwo.m4: New file.
7829
7830         * m4/gc-arctwo.m4: New file.
7831
7832 2005-10-21  Simon Josefsson  <jas@extundo.com>
7833
7834         * lib/rijndael-api-fst.c: Fix bugs in CBC mode for more than one
7835         block.
7836
7837 2005-10-21  Simon Josefsson  <jas@extundo.com>
7838
7839         * lib/hmac-md5.c (hmac_md5): Add comments, suggested by Bruno Haible
7840         <bruno@clisp.org>.
7841
7842         * lib/hmac-sha1.c (hmac_sha1): Likewise.
7843
7844         * lib/crc.c (crc32_update): Actually use crc parameter, suggested by
7845         Bruno Haible <bruno@clisp.org>.
7846
7847         * lib/crc.h: Include stdint.h directly, suggested by Bruno Haible
7848         <bruno@clisp.org>.
7849
7850 2005-10-21  Simon Josefsson  <jas@extundo.com>
7851
7852         * lib/gc-libgcrypt.c (gc_cipher_open): Handle ECB.
7853
7854 2005-10-21  Simon Josefsson  <jas@extundo.com>
7855
7856         * lib/gc-gnulib.c: Support ARCTWO in CBC mode.
7857
7858 2005-10-21  Simon Josefsson  <jas@extundo.com>
7859
7860         * lib/des.h, lib/des.c: New files.
7861
7862         * lib/gc-gnulib.c: Support DES.c
7863
7864 2005-10-21  Simon Josefsson  <jas@extundo.com>
7865
7866         * lib/arctwo.h, lib/arctwo.c: New files.
7867
7868         * lib/gc-gnulib.c: Support ARCTWO.
7869
7870 2005-10-21  Simon Josefsson  <jas@extundo.com>
7871
7872         * lib/arctwo.h (arctwo_setkey): Protect variable in CPP macro,
7873         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
7874
7875 2005-10-21  Simon Josefsson  <jas@extundo.com>
7876
7877         * gnulib-tool (func_import, func_create_testdir): Define automake
7878         conditional GL_COND_LIBTOOL if libtool is used (to be used by modules
7879         Makefile.am snippet),
7880         suggested by Bruno Haible <bruno@clisp.org>.
7881
7882         * modules/gc (Makefile.am): Use it.
7883
7884 2005-10-21  Bruno Haible  <bruno@clisp.org>
7885
7886         * gnulib-tool (func_import, func_create_testdir): Add quoting to last
7887         patch.
7888
7889 2005-10-19  Simon Josefsson  <jas@extundo.com>
7890
7891         * tests/test-gc-rijndael.c: New file.
7892
7893         * modules/gc-rijndael, modules/gc-rijndael-test: New files.
7894
7895 2005-10-19  Simon Josefsson  <jas@extundo.com>
7896
7897         * tests/test-gc-md4.c, tests/test-gc-md5.c: Test gc_hash_buffer
7898         interface too.
7899
7900 2005-10-19  Simon Josefsson  <jas@extundo.com>
7901
7902         * tests/test-gc-arcfour.c: New file.
7903
7904         * modules/gc-arcfour, modules/gc-arcfour-tests: New files.
7905
7906 2005-10-19  Simon Josefsson  <jas@extundo.com>
7907
7908         * modules/gc-md4, modules/gc-md4-tests: New file.
7909
7910         * tests/test-gc-md4.c: New file.
7911
7912 2005-10-19  Simon Josefsson  <jas@extundo.com>
7913
7914         * m4/gc-md4.m4: New file.
7915
7916 2005-10-19  Simon Josefsson  <jas@extundo.com>
7917
7918         * m4/gc-hmac-md5.m4, gc-hmac-sha1.m4, gc-md4.m4,
7919         gc-md5.m4, gc-sha1.m4: Fix typo, suggested by Stepan Kasal
7920         <kasal@ucw.cz>.
7921
7922 2005-10-19  Simon Josefsson  <jas@extundo.com>
7923
7924         * m4/gc-arcfour.m4: New file.
7925
7926         * m4/gc-rijndael.m4: New file.
7927
7928 2005-10-19  Simon Josefsson  <jas@extundo.com>
7929
7930         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support MD4.
7931
7932 2005-10-19  Simon Josefsson  <jas@extundo.com>
7933
7934         * lib/gc-gnulib.c: Support ARCFOUR.
7935
7936 2005-10-19  Simon Josefsson  <jas@extundo.com>
7937
7938         * lib/gc-gnulib.c: Implement gc_cipher_* API, currently only with AES
7939         support.
7940
7941         * lib/gc.h: Add ECB enum type.
7942
7943         * lib/hmac-md5.c, hmac-sha1.c: Include memxor.h.
7944
7945 2005-10-18  Simon Josefsson  <jas@extundo.com>
7946
7947         * tests/test-md5.c: New file.
7948
7949         * modules/md5-tests: New file.
7950
7951 2005-10-18  Simon Josefsson  <jas@extundo.com>
7952
7953         * tests/test-md4.c: New file.
7954
7955         * modules/md4, modules/md4-tests: New files.
7956
7957 2005-10-18  Simon Josefsson  <jas@extundo.com>
7958
7959         * m4/md4.m4: New file.
7960
7961 2005-10-18  Simon Josefsson  <jas@extundo.com>
7962
7963         * lib/md4.h, lib/md4.c: New files, based on md5.?.
7964
7965 2005-10-17  Stepan Kasal  <kasal@ucw.cz>
7966
7967         * gnulib-tool (func_create_testdir): Omit the second check whether
7968         BUILT_SOURCES in nonempty.
7969
7970 2005-10-17  Simon Josefsson  <jas@extundo.com>
7971
7972         * tests/test-rijndael.c: New file.
7973
7974 2005-10-17  Simon Josefsson  <jas@extundo.com>
7975
7976         * modules/sha1: Depend on stdint instead of md5.
7977
7978         * modules/md5: Depend on stdint, remove uint32_t.
7979
7980 2005-10-17  Simon Josefsson  <jas@extundo.com>
7981
7982         * modules/gc-sha1-tests: New file.
7983
7984         * tests/test-gc-sha1.c: New file.
7985
7986 2005-10-17  Simon Josefsson  <jas@extundo.com>
7987
7988         * m4/md5.m4: Remove call to uint32_t.m4.
7989
7990 2005-10-17  Simon Josefsson  <jas@extundo.com>
7991
7992         * lib/sha1.c: Use uint32_t instead of md5_uint32.t
7993
7994         * lib/sha1.h: Use stdint.h and uint32_t instead of md5_uint32 from
7995         md5.h.
7996
7997         * lib/md5.c: Use uin32_t.  Fix non-gcc UNALIGNED_P macro.
7998
7999         * lib/md5.h: Use stdint.h and uint32_t.  Doc fix.
8000
8001 2005-10-17  Simon Josefsson  <jas@extundo.com>
8002
8003         * lib/gc.h, gc-libgcrypt.c: Add more hash types/functions.
8004
8005 2005-10-17  Simon Josefsson  <jas@extundo.com>
8006
8007         * lib/gc.h, gc-libgcrypt.c: Add ciphers.
8008
8009 2005-10-17  Simon Josefsson  <jas@extundo.com>
8010
8011         * lib/gc-libgcrypt.c (gc_hmac_sha1): Fix assert.
8012
8013         * lib/gc.h (gc_nonce, gc_pseudo_random, gc_random): Add prototypes.
8014
8015 2005-10-17  Bruno Haible  <bruno@clisp.org>
8016
8017         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Change the return statement so
8018         that it can also be used in a test.
8019
8020 2005-10-16  Bruno Haible  <bruno@clisp.org>
8021
8022         * gnulib-tool (func_emit_tests_Makefile_am): Also define
8023         TESTS_ENVIRONMENT, so that individual tests can augment it.
8024
8025         * gnulib-tool (func_create_testdir): Use an intermediate target for
8026         building $(BUILT_SOURCES). Needed because BUILT_SOURCES can contain
8027         macros, like $(ALLOCA_H), which cannot be passed through the command
8028         line.
8029
8030 2005-10-15  Simon Josefsson  <jas@extundo.com>
8031
8032         * modules/rijndael-tests: New file.
8033
8034         * modules/rijndael: New file.
8035
8036 2005-10-15  Simon Josefsson  <jas@extundo.com>
8037
8038         * m4/rijndael.m4: New file.
8039
8040 2005-10-15  Simon Josefsson  <jas@extundo.com>
8041
8042         * lib/rijndael-api-fst.h, lib/rijndael-api-fst.c: New files.
8043
8044         * lib/rijndael-alg-fst.h, lib/rijndael-alg-fst.c: New files.
8045
8046 2005-10-14  Simon Josefsson  <jas@extundo.com>
8047
8048         * tests/test-arcfour.c: New file.
8049
8050         * modules/arcfour, modules/arcfour-tests: New files.
8051
8052 2005-10-14  Simon Josefsson  <jas@extundo.com>
8053
8054         * m4/arcfour.m4: New file.
8055
8056 2005-10-14  Simon Josefsson  <jas@extundo.com>
8057
8058         * lib/arcfour.h, lib/arcfour.c: New files.
8059
8060 2005-10-14  Roland McGrath  <roland@redhat.com>
8061
8062         Import from libc.  [BZ #1331]
8063         * lib/obstack.h [!__STDC__] (obstack_int_grow_fast): Fix misnamed
8064         macro argument.
8065         Reported by Matej Vela <vela@debian.org>.
8066
8067 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
8068
8069         * lib/obstack.c [defined _LIBC && defined USE_IN_LIBIO]: Don't
8070         include <wchar.h>; no longer needed.
8071
8072 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
8073
8074         * config/srclist.txt: Add glibc bug 321 for obstack.c, obstack.h.
8075
8076 2005-10-14  Jakub Jelinek  <jakub@redhat.com>
8077         and  Ulrich Drepper  <drepper@redhat.com>
8078
8079         Import from libc.
8080         * lib/obstack.c (print_and_abort) [defined _LIBC]: Use __fxprintf
8081         instead of inline stream orientation test and two separate
8082         function calls.  Pay no attention to USE_IN_LIBIO.
8083
8084 2005-10-13  Simon Josefsson  <jas@extundo.com>
8085
8086         * modules/gc-hmac-md5-tests: New file.
8087
8088         * tests/test-gc-hmac-sha1.c: New file.
8089
8090         * tests/test-gc.c (main): Remove MD5 and HMAC-MD5 tests.
8091
8092         * modules/gc-hmac-md5-tests: New file.
8093
8094         * tests/test-gc-md5.c: New file.
8095
8096         * modules/gc-md5-tests: New file.
8097
8098 2005-10-13  Simon Josefsson  <jas@extundo.com>
8099
8100         * lib/gc-pbkdf2-sha1.c (gc_pbkdf2_sha1): Optimize CEIL computation.
8101         Move memory allocation outside of loop.
8102
8103 2005-10-13  Paul Eggert  <eggert@cs.ucla.edu>
8104
8105         * lib/mkdir-p.c (make_dir_parents): Don't report an error if an
8106         intermediate directory is in a read-only file system.  Problem
8107         reported by Eric Blake.
8108
8109 2005-10-13  Oskar Liljeblad  <oskar@osk.mine.nu>
8110
8111         * modules/human (Depends-on): Depend on xstrtoumax, not xstrtol.
8112
8113 2005-10-12  Simon Josefsson  <jas@extundo.com>
8114
8115         * tests/test-hmac-sha1.c: New file.
8116
8117         * modules/hmac-sha1-tests: New file.
8118
8119         * modules/hmac-sha1: New file.
8120
8121 2005-10-12  Simon Josefsson  <jas@extundo.com>
8122
8123         * modules/gc-sha1: New file.
8124
8125 2005-10-12  Simon Josefsson  <jas@extundo.com>
8126
8127         * modules/gc-pbkdf2-sha1, modules/gc-pbkdf2-sha1-tests: New files.
8128
8129         * tests/test-gc-pbkdf2-sha1.c: New file.
8130
8131 2005-10-12  Simon Josefsson  <jas@extundo.com>
8132
8133         * modules/gc-md5, modules/gc-hmac-md5: New files.
8134
8135         * modules/gc (Files): Remove md5, memxor and hmac files.
8136
8137 2005-10-12  Simon Josefsson  <jas@extundo.com>
8138
8139         * m4/gc-pbkdf2-sha1.m4: New file.
8140
8141         * m4/gc-hmac-sha1.m4: New file.
8142
8143         * m4/gc-sha1: New file.
8144
8145         * m4/hmac-sha1.m4: New file.
8146
8147 2005-10-12  Simon Josefsson  <jas@extundo.com>
8148
8149         * m4/gc-md5.m4, m4/gc-hmac-md5.m4: New files.
8150
8151         * m4/gc.m4: Don't call gl_MD5, gl_MEMXOR or gl_HMAC_MD5.
8152
8153 2005-10-12  Simon Josefsson  <jas@extundo.com>
8154
8155         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Use Gc_rc for return types,
8156         suggested by Bruno Haible <bruno@clisp.org>.
8157
8158 2005-10-12  Simon Josefsson  <jas@extundo.com>
8159
8160         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support SHA-1.
8161
8162 2005-10-12  Simon Josefsson  <jas@extundo.com>
8163
8164         * lib/gc-pbkdf2-sha1.c: New file.
8165
8166         * lib/gc.h: Add gc_pbkdf2_sha1 prototype.
8167
8168 2005-10-12  Simon Josefsson  <jas@extundo.com>
8169
8170         * lib/gc-libgcrypt.c (gc_hmac_sha1): New function.
8171
8172         * lib/gc-gnulib.c (gc_hmac_sha1): New function.
8173
8174 2005-10-12  Simon Josefsson  <jas@extundo.com>
8175
8176         * lib/gc-gnulib.c: Condition MD5 and HMAC-MD5 use on GC_USE_MD5 and
8177         GC_USE_HMAC_MD5, respectively.
8178
8179         * lib/gc-libgcrypt.c (gc_md5): Fix assert call.
8180         (gc_md5): Fix typo.
8181
8182         * lib/gc.h (gc_hash_buffer): Use gc_hash in prototype.
8183
8184         * lib/gc-libgcrypt.c (gc_hash_buffer): Ditto.
8185
8186         * lib/gc-gnulib.c (gc_hash_buffer): Ditto.
8187
8188 2005-10-12  Bruno Haible  <bruno@clisp.org>
8189
8190         * m4/stdbool.m4 (gl_STDBOOL_H): Define as an alias of AM_STDBOOL_H.
8191         Reported by Stepan Kasal <kasal@ucw.cz>.
8192
8193 2005-10-11  Simon Josefsson  <jas@extundo.com>
8194
8195         * tests/test-crc.c: New file.
8196
8197         * modules/crc, modules/crc-tests: New files.
8198
8199 2005-10-11  Simon Josefsson  <jas@extundo.com>
8200
8201         * m4/crc.m4: New file.
8202
8203 2005-10-11  Simon Josefsson  <jas@extundo.com>
8204
8205         * lib/gc.h: Add gc_hash and gc_hash_buffer.
8206
8207         * lib/gc-gnulib.c (gc_hash_buffer): Add.  Reorder #include's.
8208
8209         * lib/gc-libgcrypt.c (gc_hash_buffer): Add.
8210
8211 2005-10-11  Simon Josefsson  <jas@extundo.com>
8212
8213         * lib/crc.h, lib/crc.c: New files.
8214
8215         * lib/gc.h (gc_hash_buffer): Add doc.
8216
8217 2005-10-11  Bruno Haible  <bruno@clisp.org>
8218
8219         * modules/c-strcasestr: New file.
8220         * MODULES.html.sh (String handling <string.h>): Add c-strcasestr.
8221
8222 2005-10-11  Bruno Haible  <bruno@clisp.org>
8223
8224         * modules/c-strcase: New file.
8225         * MODULES.html.sh (String handling <string.h>): Add c-strcase.
8226
8227 2005-10-11  Bruno Haible  <bruno@clisp.org>
8228
8229         * lib/strcasecmp.c: Include limits.h.
8230         (strcasecmp): Avoid integer overflow on exotic platforms.
8231         * lib/strncasecmp.c: Include limits.h.
8232         (strncasecmp): Avoid integer overflow on exotic platforms.
8233         Reported by Paul Eggert.
8234
8235 2005-10-11  Bruno Haible  <bruno@clisp.org>
8236
8237         * lib/c-strcasestr.h: New file, from GNU gettext.
8238         * lib/c-strcasestr.c: New file, from GNU gettext.
8239
8240 2005-10-11  Bruno Haible  <bruno@clisp.org>
8241
8242         * lib/c-strcase.h: New file, from GNU gettext.
8243         * lib/c-strcasecmp.c: New file, from GNU gettext.
8244         * lib/c-strncasecmp.c: New file, from GNU gettext.
8245
8246 2005-10-10  Paul Eggert  <eggert@cs.ucla.edu>
8247
8248         * modules/mempcpy (License): GPL -> LGPL.
8249         * modules/strchrnul (License): Likewise.
8250         * modules/sysexits (License): Likewise.
8251
8252 2005-10-08  Simon Josefsson  <jas@extundo.com>
8253
8254         * config/srclist.txt: Bug 1423 is closed, but 1439 remains.
8255
8256 2005-10-07  Simon Josefsson  <jas@extundo.com>
8257
8258         * m4/memxor.m4: Remove gl_C_RESTRICT call.
8259
8260 2005-10-06  Simon Josefsson  <jas@extundo.com>
8261
8262         * tests/test-hmac-md5.c: New file.
8263
8264         * modules/hmac-md5-tests: New file.
8265
8266         * modules/hmac-md5: New file.
8267
8268 2005-10-06  Simon Josefsson  <jas@extundo.com>
8269
8270         * m4/hmac-md5.m4: New file.
8271
8272         * m4/memxor.m4: Require gl_C_RESTRICT.
8273
8274 2005-10-06  Simon Josefsson  <jas@extundo.com>
8275
8276         * lib/memxor.c (memxor): Avoid casts and warnings.
8277
8278 2005-10-06  Simon Josefsson  <jas@extundo.com>
8279
8280         * lib/hmac-md5.c: New file.
8281
8282         * lib/hmac.h: New file.
8283
8284 2005-10-06  Paul Eggert  <eggert@cs.ucla.edu>
8285
8286         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check that bool
8287         promotes to int, not unsigned int, to catch the AIX 5.3
8288         compiler bug.
8289
8290 2005-10-05  Simon Josefsson  <jas@extundo.com>
8291
8292         * modules/memxor: New file.
8293
8294         * modules/iconv (Files): Move config.rpath to havelib, it is used
8295         there.
8296
8297         * modules/havelib (Files): Add config.rpath.
8298
8299 2005-10-05  Simon Josefsson  <jas@extundo.com>
8300
8301         * m4/memxor.m4: New file.
8302
8303 2005-10-05  Simon Josefsson  <jas@extundo.com>
8304
8305         * lib/memxor.c (memxor): Fix compiler error.
8306
8307         * lib/md5.h (MD5_DIGEST_SIZE, MD5_BLOCK_SIZE): Add, see also
8308         <http://sourceware.org/bugzilla/show_bug.cgi?id=1423>.
8309
8310         * lib/memxor.h, lib/memxor.c: New files.
8311
8312         * lib/getaddrinfo.h: Don't protect sys/types.h with HAVE_SYS_TYPES_H,
8313         we assume all systems have it, suggested by Jim Meyering
8314         <jim@meyering.net>.  Remove HAVE_SYS_SOCKET_H test too, to see if
8315         any systems lack sys/socket.h; mingw32 is known to lack it, but we
8316         don't support it yet anyway.  Also remove HAVE_NETDB_H test, for
8317         same reasons.
8318
8319 2005-10-05  Simon Josefsson  <jas@extundo.com>
8320
8321         * config/srclist.txt: Add glibc bug 1423 for md5.h.
8322
8323 2005-10-05  Paul Eggert  <eggert@cs.ucla.edu>
8324
8325         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Don't check for
8326         sys/socket.h, netdb.h, sys/types.h; the checks areno longer
8327         needed, since the source code now assumes these .h files.
8328
8329 2005-10-05  Derek Price  <derek@ximbiot.com>
8330
8331         * lib/getdelim.c (SIZE_MAX): New macro, if not already defined.
8332
8333 2005-10-05  Bruno Haible  <bruno@clisp.org>
8334
8335         * modules/stdint (License): Change to LGPL.
8336
8337 2005-10-04  Simon Josefsson  <jas@extundo.com>
8338
8339         * lib/getaddrinfo.h: Move sys/types.h include first, reported by "Mark
8340         D. Baushke" <mdb@gnu.org>.
8341
8342 2005-10-04  Bruno Haible  <bruno@clisp.org>
8343
8344         * lib/verify.h (verify_true): Provide alternative definition for C++.
8345
8346 2005-10-03  Paul Eggert  <eggert@cs.ucla.edu>
8347
8348         * lib/getdelim.c: Include getdelim.h first.  Include <limits.h>.
8349         (SSIZE_MAX): New macro, if not already defined.
8350         (getdelim): Fix buffer overrun on 64-bit hosts with lines longer
8351         than 2 GiB.
8352
8353 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
8354
8355         Sync from coreutils.
8356         * m4/openat.m4 (gl_FUNC_OPENAT): Check for fdopendir.
8357         * m4/ullong_max.m4 (gl_ULLONG_MAX): Simplify so that it merely
8358         defines ULONG_MAX_LT_ULLONG_MAX.  Thomas M.Ott reports that
8359         ULLONG_MAX doesn't work with 2.7.2.1.
8360
8361 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
8362
8363         * modules/xreadlink (Makefile.am): Remove lib_SOURCES.
8364         From Ben Pfaff.
8365
8366         * modules/exclude (Depends-on): Depend on verify.
8367         * modules/strtoimax (Depends-on): Likewise.
8368         * modules/utimecmp (Depends-on): Likewise.
8369
8370 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
8371
8372         * lib/exclude.c: Include verify.h.
8373         (verify): Remove.  All callers changed to use verify.h's version.
8374         * lib/strtoimax.c: Likewise.
8375         * lib/utimecmp.c: Likewis.e
8376
8377         Sync from coreutils.
8378         * lib/.cppi-disable: Add getaddrinfo.h, getdelim.h, getline.h,
8379         getpass.c, mbchar.h, mbuiter.h, strcase.h, strnlen.h, strnlen1.h.
8380         * lib/.cvsignore: Add fts.h, search.h, t-fpending.
8381         * lib/settime.c (settime): Fix { typo in previous patch.  Also, don't
8382         bother returning ENOSYS if settimeofday or stime fails; just let
8383         them return whatever errno they want to return.
8384         * lib/utimens.c: Include unistd.h, for dup2.
8385         (futimens): Fix typo: HAVE_FUTIMESAT was misspelled in an #if.
8386         (futimens) [! HAVE_FUTIMESAT]: If !file, set errno before returning -1.
8387
8388 2005-10-02  Jim Meyering  <jim@meyering.net>
8389
8390         Sync from coreutils.
8391         * m4/utimes.m4 (gl_FUNC_UTIMES): Detect the version of utimes
8392         from glibc-2.2.5 that fails for read-only files.
8393
8394 2005-10-02  Jim Meyering  <jim@meyering.net>
8395
8396         Sync from coreutils.
8397         * lib/fts-cycle.c [HAVE_CONFIG_H]: Include <config.h>.
8398         * lib/openat-die.c: Use `#ifdef HAVE_CONFIG_H', not
8399         `#if HAVE_CONFIG_H'.
8400         * lib/openat.c (fdopendir): Do not define if HAVE_FDOPENDIR.
8401         Remove AT_FDCWD test.
8402         Do not consume the fd unless successful.
8403         * lib/openat.h (fdopendir): Do not define if HAVE_FDOPENDIR.
8404         * lib/settime.c (settime): Move the HAVE_STIME block `up' into an #elif
8405         block, so that we don't even try to compile it if settimeofday is
8406         available.  This works around a compilation failure on OSF1 V5.1,
8407         due to stime requiring a `long int*' while tv_sec is `int'.
8408
8409 2005-10-02  Alfred M. Szmidt  <ams@gnu.org>
8410
8411         Sync from coreutils.
8412         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Compare $gl_have_path...
8413         against `yes', rather than just testing for nonempty.
8414
8415 2005-10-01  Simon Josefsson  <jas@extundo.com>
8416
8417         * m4/getaddrinfo.m4: Include sys/types.h for sys/socket.h, on FreeBSD
8418         and Darwin.
8419
8420         * m4/getaddrinfo.m4: Use AC_GNU_SOURCE, GNU only declare getaddrinfo
8421         as an (POSIX) extension.  Check for sys/types.h, sys/socket.h, and
8422         netdb.h too, needed by getaddrinfo.h.  Check if getaddrinfo,
8423         freeaddrinfo and gai_strerror are declared by the POSIX headers.
8424         Check if struct addrinfo is declared.
8425
8426 2005-10-01  Simon Josefsson  <jas@extundo.com>
8427
8428         * lib/getaddrinfo.h: Protect #include's of sys/socket.h and netdb.h.
8429         Only define struct addrinfo if !HAVE_STRUCT_ADDRINFO.  Protect
8430         AI_* and EAI_* definitions.  Protect function declarations.
8431
8432 2005-10-01  Jim Meyering  <jim@meyering.net>
8433
8434         Sync from coreutils.
8435
8436         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Look for getservbyname in these
8437         libraries [inet nsl socket xnet].  Nelson Beebe reported that with
8438         native cc on Solaris 7, getaddrinfo.c requires -lsocket.
8439         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
8440         in the inet and nsl libraries.  Required on Solaris 5.7.
8441
8442 2005-10-01  Jim Meyering  <jim@meyering.net>
8443
8444         Sync from coreutils.
8445         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
8446         in the inet and nsl libraries.  Required on Solaris 5.7.
8447
8448 2005-10-01  Eric Blake  <ebb9@byu.net>  (tiny change)
8449
8450         * lib/getdelim.c (getdelim): Remove unused variables.
8451
8452 2005-09-29  Paul Eggert  <eggert@cs.ucla.edu>
8453
8454         * lib/xtime.h (XTIME_PRECISION): Now of type int, not long long int,
8455         so that the code works even with ancient cpp.  Portability problem
8456         with GCC 2.7.2.1 reported by Thomas M.Ott.
8457
8458 2005-09-27  Paul Eggert  <eggert@cs.ucla.edu>
8459
8460         * modules/regex (Depends-on): Add strcase.
8461
8462         * modules/gethostname (Licence): Change from GPL to LGPL, since
8463         gethostname.c is a trivial implementation of a standard library
8464         function.
8465         * modules/poll (License): Change from GPL to LGPL, since it's
8466         derived from LGPL code.
8467
8468 2005-09-27  Jim Meyering  <jim@meyering.net>
8469
8470         * lib/getcwd.c: Change #ifdef<TAB>HAVE_CONFIG_H to #ifdef
8471         HAVE_CONFIG_H.
8472
8473         * lib/intprops.h (signed_type_or_expr__): Define.
8474         (INT_STRLEN_BOUND) [__GNUC__]: Use a slightly tighter bound
8475         for unsigned types.
8476
8477 2005-09-26  Paul Eggert  <eggert@cs.ucla.edu>
8478
8479         * lib/verify.h (verify_expr): Remove, replacing with:
8480         (verify_true): New macro that returns true instead of void.
8481         (verify_type__): Remove.
8482         (verify): Use verify_true rather than verify_type__.
8483
8484 2005-09-26  Bruno Haible  <bruno@clisp.org>
8485
8486         * modules/mbchar (Include): Mention that HAVE_WCHAR_H && HAVE_WCTYPE_H
8487         is necessary.
8488         (lib_SOURCES): Remove mbchar.c.
8489         * modules/mbfile (Include): Mention that HAVE_MBRTOWC is necessary.
8490         (Files): Add m4/mbrtowc.m4.
8491         * modules/mbiter: Likewise.
8492         * modules/mbuiter: Likewise.
8493
8494 2005-09-26  Bruno Haible  <bruno@clisp.org>
8495
8496         * m4/mbchar.m4 (gl_MBCHAR): Check for wchar.h and wctype.h. Don't
8497         compile mbchar.c if they are not both present.
8498         * m4/mbfile.m4 (gl_MBFILE): Require gl_FUNC_MBRTOWC.
8499         * m4/mbiter.m4 (gl_MBITER): Likewise.
8500         * m4/strstr.m4 (gl_PREREQ_STRSTR): Use AC_REQUIRE.
8501         * m4/strcasestr.m4 (gl_PREREQ_STRCASESTR): Likewise.
8502         * m4/strcase.m4 (gl_PREREQ_STRCASECMP): Likewise.
8503
8504 2005-09-25  Jim Meyering  <jim@meyering.net>
8505
8506         * modules/inet_ntop (Depends-on): Add socklen, since inet_ntop.c
8507         also uses socklen_t.
8508
8509 2005-09-24  Paul Eggert  <eggert@cs.ucla.edu>
8510
8511         * lib/utimens.c (ENOSYS): Define if not already defined.
8512         (futimens): Support having a null PATH if the file descriptor
8513         is nonnegative.
8514
8515         * lib/regex_internal.h (__GNUC_PREREQ, always_inline, inline, pure):
8516         Remove.
8517         (__attribute): Define to empty unless GCC 3.1 or later.
8518         This works around a core dump on OpenBSD 3.4, which has GCC
8519         2.95.3, which dumps core when given __attribute__(()).  It also
8520         simplifies other tests, since we really don't want to bother with
8521         worrying about which ancient version of GCC supported what.
8522         Original problem reported by Yoann Vandoorselaere, with part of
8523         the fix suggested by Derek Price.
8524
8525 2005-09-24  Jim Meyering  <jim@meyering.net>
8526
8527         * lib/verify.h (verify_type__): Use `unsigned int' as the bitfield type
8528         so we can once again use a positive bitfield width of 1 -- now we
8529         don't have to explain why we were using a bitfield width of 2.
8530
8531 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
8532
8533         * m4/regex.m4 (gl_REGEX): If replacing, define regcomp to rpl_regcomp,
8534         and similarly for the other external symbols.  Problem reported
8535         by James Gallager.
8536
8537         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Catch Sun Studio 10u1 on Linux
8538         bug reported by Jim Meyering.
8539
8540         * m4/utimens.m4 (gl_UTIMENS): Check for futimesat.
8541         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Undo previous change;
8542         not needed, since socklen is a prerequisite module.
8543
8544 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
8545
8546         * lib/getaddrinfo.c [HAVE_NETINET_IN_H]: Include <netinet/in.h>.
8547         Problem reported by Eric Blake.
8548         (getaddrinfo): Initialize se so that it's not garbage.
8549         Redo internal storage allocation so that it doesn't make unportable
8550         assumptions about alignment.
8551         Fix a memory leak.
8552
8553         * lib/utimens.c (futimens): Use futimesat if available.
8554         Prefer it to futimes since it doesn't have the futimes bug.
8555
8556         * lib/verify.h (GL_CONCAT0, GL_CONCAT): Remove.
8557         (verify): Don't use the __LINE__ trick, as it doesn't work in general.
8558         Instead, declare a function that returns a pointer to an array,
8559         and use verify_type__ to declare the size of the array.
8560         Problem and germ of a solution reported by Bruno Haible.
8561         (verify_type__): Use 2, not 1, for bitfield size, to avoid
8562         a warning with Irix 6.5 cc.  Problem reported by Bruno Haible.
8563
8564 2005-09-23  Jim Meyering  <jim@meyering.net>
8565
8566         Sync from coreutils.
8567         Correct build failure (socklen_t not defined) on at least
8568         mips-sgi-irix6.5 and alphaev67-dec-osf5.1.
8569         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Require gl_SOCKLEN_T.
8570
8571 2005-09-23  Jim Meyering  <jim@meyering.net>
8572
8573         * modules/getaddrinfo (Depends-on): Add socklen.
8574
8575 2005-09-23  Bruno Haible  <bruno@clisp.org>
8576
8577         * tests/test-verify.c: New file.
8578
8579 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
8580
8581         Sync from coreutils.
8582
8583         * modules/argmatch (Depends-on): Add verify.
8584         * modules/getloadavg (Depends-on): Depend on fcntl-safer, not
8585         unistd-safer.
8586         * modules/save-cwd (Depends-on): Likewise.
8587
8588         * modules/openat (Files): Add lib/openat-die.c.
8589         (Depends-on): Remove error, exitfail.
8590         Add dirname.
8591
8592         * modules/verify: New file.
8593         * MODULES.html.sh (Diagnostics <assert.h>): New section,
8594         with "verify" module.
8595
8596 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
8597
8598         Sync from coreutils.
8599
8600         * m4/backupfile.m4, calloc.m4, chown.m4, cloexec.m4, dup2.m4:
8601         * m4/fileblocks.m4, free.m4, ftruncate.m4, getcwd.m4, getpagesize.m4:
8602         * m4/getugroups.m4, group-member.m4, idcache.m4, link-follow.m4:
8603         * m4/mkstemp.m4, mktime.m4, mountlist.m4, nanosleep.m4, pathmax.m4:
8604         * m4/physmem.m4, posixver.m4, putenv.m4, safe-read.m4, same.m4:
8605         * m4/save-cwd.m4, stdio-safer.m4, unistd-safer.m4, unlinkdir.m4:
8606         * m4/userspec.m4, xgetcwd.m4, xreadlink.m4:
8607         Don't bother checking for string.h, stdlib.h, unistd.h.
8608         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't require
8609         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK; that's now the lstat
8610         module's job.
8611         * m4/jm-macros.m4 (gl_MACROS): Likewise.
8612         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_LSTAT.
8613
8614         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): New macro.
8615         (gl_GETDATE): Use it.
8616
8617         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Don't bother checking for unistd.h.
8618
8619 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
8620
8621         Sync from coreutils.
8622
8623         * lib/.cppi-disable: Add regcomp.c, regex_internal.c, regex_internal.h,
8624         stat-time.h.
8625         * lib/argmatch.h: Include verify.h
8626         (ARGMATCH_VERIFY): Use verify rather than rolling our own.
8627         (ARGMATCH_ASSERT): Remove; unused.
8628         * lib/canonicalize.c: Assume STDC_HEADERS.
8629         * lib/exclude.c: Include "strcase.h".
8630         * lib/regex_internal.h [!defined _LIBC]: Likewise.
8631         * lib/getusershell.c: Include stdio--.h rather than stdio.h
8632         and stdio-safer.h.
8633         (getusershell): Call fopen, not fopen_safer.
8634         * lib/save-cwd.c: Include fcntl--.h rather than fcntl.h.
8635         Do not include unistd-safer.h.
8636         (save_cwd): Don't call fd_safer; no longer needed
8637         now that we include fcntl--.h.
8638
8639         * lib/getdate.y (relative_time): New type.
8640         (RELATIVE_TIME_0): New constant.
8641         (parser_control): Use relative_time instead of doing it ourselves.
8642         (%union): Add new relative_time rel member.
8643         (tYEAR_UNIT, tMONTH_UNIT, tHOUR_UNIT, tMINUTE_UNIT, tSEC_UNIT):
8644         Now typeless.
8645         (relunit, relunit_snumber): Now of type rel.
8646         (zone, rel, relunit, get_date): Adjust to above changes.
8647
8648         * lib/getloadavg.c: Include fcntl--.h rather than fcntl.h.
8649         Do not include unistd-safer.h.
8650         (getloadavg): Don't call fd_safer; no longer needed
8651         now that we include fcntl--.h.
8652
8653         * lib/mkdir-p.c (ENOSYS): Define to EEXIST if not defined.
8654         (make_dir_parents): Treat ENOSYS like EEXIST.
8655
8656         Improve quality of diagnostics on restore_cwd failure.
8657         * lib/mkdir-p.h (make_dir): Remove.  All uses replaced by mkdir.
8658         (make_dir_parents): Last arg is now int * (for errno), not bool *.
8659         * lib/mkdir-p.c (make_dir, make_dir_parents): Likewise.
8660         Rewrite "mkdir -p" algorithm to avoid the need for "stat"
8661         each time through the loop.  Do not diagnose restore_cwd failure;
8662         that is the caller's job (and perhaps the caller does not care).
8663
8664         * lib/mkdir-p.c (CLEANUP_CWD, CLEANUP): Remove.
8665         (make_dir_parents): Revamp to avoid need for CLEANUP_CWD, CLEANUP.
8666         If the file already exists but is not a directory, don't bother
8667         to try to make its parents.
8668         Close potential file descriptor leak if we can't chdir("/") (!).
8669         Don't always return true if chdir($PWD) fails; return true only
8670         if the requested action was done successfully (except for the
8671         chdir($PWD)).
8672         Don't log final directory unless we actually made it.
8673         Refactor to avoid duplicate code to fix up permissions.
8674         Don't attempt to fix up parent permissions if chdir($PWD) fails.
8675
8676         * lib/strftime.c (my_strftime): Rewrite the previous change slightly,
8677         to make it a bit faster and (I hope) clearer.
8678         * lib/strftime.c (my_strftime): Add support for %:z, %::z, %:::z.
8679         Fix bug in formats like %2N.
8680
8681         * lib/verify.h: New file.
8682
8683 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
8684
8685         Sync from coreutils.
8686         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Check for netinet/in.h.
8687
8688 2005-09-22  Jim Meyering  <jim@meyering.net>
8689
8690         Sync from coreutils.
8691
8692         * m4/lstat.m4 (gl_FUNC_LSTAT):
8693         Use AC_LIBSOURCES to require lstat.c and lstat.h.
8694         Remove obsolete comment.
8695         * m4/xreadlink.m4: Use AC_LIBSOURCES and AC_LIBOBJ.
8696         * m4/xstrtod.m4: Likewise.
8697
8698         * m4/openat.m4 (gl_FUNC_OPENAT): Add openat-die.c.
8699
8700 2005-09-22  Jim Meyering  <jim@meyering.net>
8701
8702         Sync from coreutils.
8703
8704         * lib/backupfile.c: Use ARGMATCH_VERIFY, just in case.
8705
8706         * lib/posixtm.c (posixtime) [lint]: Initialize *all* of tm0, not just
8707         the .tm_year member, since otherwise gcc-4.0 would now warn about
8708         tm_zone, tm_gmtoff, tm_isdst, tm_yday, tm_wday.
8709
8710         * lib/quotearg.c (quotearg_n_options): Change code to be suboptimal, in
8711         order to avoid an unsuppressible warning from gcc on 64-bit systems.
8712
8713         * lib/getdate.y (get_date): Undo part of the 2005-04-04 change, so that
8714         the command "date -d'2005-03-27 +1 day'" succeeds once again, even
8715         when run in a time zone for which daylight savings time is in effect
8716         for the starting date.
8717
8718         * lib/mkdir-p.c (make_dir_parents): Don't let a failed chdir($PWD)
8719         stop us from restricting permissions of just-created absolute-named
8720         directories.
8721         * lib/mkdir-p.c (CLEANUP_CWD): Return *true*, not false when failing
8722         to restore initial working directory.
8723         * lib/mkdir-p.c (make_dir_parents): New parameter:
8724         different_working_dir, to tell caller if/when we change the working
8725         directory and are unable to return to the initial one.
8726         * lib/mkdir-p.h (make_dir_parents): Update prototype.
8727         * lib/mkdir-p.c (CLEANUP_CWD): Change one more `return 1' to
8728         `return false'.  This fixes a bug introduced on 2004-07-30.
8729
8730         * lib/openat.c (fdopendir): Be sure to close the supplied
8731         file descriptor before returning.  This makes our replacement
8732         implementation a little closer to Solaris's, where fdopendir
8733         ties the file descriptor to the returned DIR* pointer.
8734         * lib/openat.c (unlinkat): New function.
8735         * lib/openat.h (unlinkat): Add prototype.
8736         * lib/openat-die.c (openat_save_fail): Rename from openat_save_die.
8737         (openat_restore_fail): Rename from openat_restore_die.
8738         * lib/openat.c, openat.h: Reflect s/_die/_fail/ renaming.
8739
8740         Provide an alternative to exiting immediately upon save_cwd or
8741         restore_cwd failure.  Now, an application can arrange e.g.,
8742         to perform a longjump in that case.
8743         * lib/openat.c: Include dirname.h.
8744         Use IS_ABSOLUTE_FILE_NAME rather than testing for leading slash.
8745         (rpl_openat, fdopendir, fstatat): Call openat_save_die
8746         and openat_restore_die rather than calling error directly.
8747         Don't include "error.h" or "exitfail.h"; they're no longer needed.
8748
8749         * lib/openat-die.c (openat_save_die, openat_restore_die): New file.
8750         * lib/openat.h (openat_save_die, openat_restore_die): Declare and
8751         define.
8752
8753         * lib/strftime.c [FPRINTFTIME] (fprintftime): Provide a new interface:
8754         size_t fprintftime (FILE *fp, char const *fmt, struct tm const *tm,
8755                             int utc, int nanoseconds);
8756         Background:
8757         date should not have to allocate a megabyte of virtual memory to
8758         handle a format argument like +%1048575T.  When implemented with
8759         strftime, it must allocate such a buffer, use strftime to fill it
8760         in, print it, then free it.
8761         With fprintftime, it simply prints everything and exits.
8762         With no need for memory allocation, that's one fewer way to fail.
8763         * lib/strftime.c (my_strftime): Parse the colons of %:::z *after* the
8764         optional field width, not before, so we accept %9:z, not %:9z.
8765         (my_strftime): Be sure to use L_('x') for literals.
8766
8767         * lib/backupfile.c, lib/canon-host.c, lib/canonicalize.c, lib/chown.c:
8768         * lib/cloexec.c, lib/dup-safer.c, lib/dup2.c, lib/euidaccess.c:
8769         * lib/fd-safer.c, lib/fileblocks.c, lib/fopen-safer.c, lib/fsusage.c:
8770         * lib/ftruncate.c, lib/getcwd.c, lib/getcwd.h, lib/getloadavg.c:
8771         * lib/getopt_.h, lib/getpagesize.h, lib/getugroups.c:
8772         * lib/group-member.c, lib/human.h, lib/idcache.c, lib/mkdir-p.c:
8773         * lib/mountlist.c, lib/nanosleep.c, lib/pathmax.h, lib/physmem.c:
8774         * lib/posixver.c, lib/putenv.c, lib/raise.c, lib/safe-read.c:
8775         * lib/same.c, lib/save-cwd.c, lib/setenv.c, lib/settime.c:
8776         * lib/tempname.c, lib/unlinkdir.c, lib/unsetenv.c, lib/userspec.c:
8777         * lib/xgethostname.c, lib/xreadlink.c:
8778         Assume HAVE_UNISTD_H, i.e., include <unistd.h> unconditionally.
8779
8780         * lib/chown.c, lib/cloexec.c, lib/dup-safer.c, lib/dup2.c:
8781         * lib/fsusage.c, lib/getcwd.c, lib/getloadavg.c, lib/mountlist.c:
8782         * lib/openat.h, lib/save-cwd.c, lib/tempname.c:
8783         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
8784         and don't include <sys/file.h>).
8785
8786 2005-09-22  Eric Blake  <ebb9@byu.net>  (tiny change)
8787
8788         Sync from coreutils.
8789
8790         * lib/getloadavg.c (getloadavg) [__CYGWIN__]: Port to cygwin.
8791         [__linux__]: Allocate a big enough buffer for /proc/loadavg.
8792         [!LDAV_DONE]: Avoid unused variable warning.
8793
8794 2005-09-21  Bruno Haible  <bruno@clisp.org>
8795
8796         * lib/unicodeio.h (unicode_to_mb): New declaration.
8797
8798 2005-09-20  Derek Price  <derek@ximbiot.com>
8799
8800         * lib/getaddrinfo.c: Don't include <netdb.h> included from
8801         getaddrinfo.h.
8802
8803 2005-09-20  Bruno Haible  <bruno@clisp.org>
8804
8805         * gnulib-tool: Remove trailing slashes from the values specified for
8806         --source-base, --m4-base, --tests-base, --aux-dir.
8807         Suggested by Simon Josefsson <jas@extundo.com>.
8808
8809 2005-09-20  Bruno Haible  <bruno@clisp.org>
8810
8811         * gnulib-tool (func_all_modules, func_modules_transitive_closure,
8812         func_modules_to_filelist, func_import, func_create_testdir): Make all
8813         sorting results locale-independent, so that gnulib-cache.m4 doesn't
8814         change when gnulib-tool is invoked in a different locale.
8815
8816 2005-09-19  Simon Josefsson  <jas@extundo.com>
8817
8818         * m4/socklen.m4: Fix typo.
8819
8820 2005-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
8821
8822         Use a consistent style for including <config.h>.
8823         * lib/__fpending.c, lib/acl.c, lib/argmatch.c, lib/argp-help.c,
8824         lib/argp-parse.c, lib/argp-pvh.c, lib/backupfile.c, lib/basename.c,
8825         lib/c-stack.c, lib/calloc.c, lib/check-version.c, lib/cloexec.c,
8826         lib/closeout.c, lib/copy-file.c, lib/creat-safer.c, lib/cycle-check.c,
8827         lib/dirfd.c, lib/dirname.c, lib/dup-safer.c, lib/dup2.c,
8828         lib/euidaccess.c, lib/exclude.c, lib/exitfail.c, lib/fatal-signal.c,
8829         lib/fd-safer.c, lib/file-type.c, lib/fileblocks.c, lib/filemode.c,
8830         lib/filenamecat.c, lib/findprog.c, lib/fnmatch.c, lib/fopen-safer.c,
8831         lib/free.c, lib/fsusage.c, lib/ftruncate.c, lib/full-write.c,
8832         lib/fwriteerror.c, lib/getaddrinfo.c, lib/getcwd.c, lib/getdelim.c,
8833         lib/getline.c, lib/getlogin_r.c, lib/getndelim2.c, lib/getnline.c,
8834         lib/getopt1.c, lib/getpass.c, lib/group-member.c, lib/hard-locale.c,
8835         lib/hash-pjw.c, lib/hash.c, lib/human.c, lib/idcache.c,
8836         lib/inet_ntop.c, lib/isdir.c, lib/long-options.c, lib/malloc.c,
8837         lib/memcasecmp.c, lib/memcmp.c, lib/memcoll.c, lib/memcpy.c,
8838         lib/memmove.c, lib/mkdir-p.c, lib/modechange.c, lib/mountlist.c,
8839         lib/open-safer.c, lib/physmem.c, lib/pipe-safer.c, lib/pipe.c,
8840         lib/poll.c, lib/posixver.c, lib/progname.c, lib/progreloc.c,
8841         lib/putenv.c, lib/quote.c, lib/quotearg.c, lib/readline.c,
8842         lib/readlink.c, lib/realloc.c, lib/regex.c, lib/rename.c, lib/rmdir.c,
8843         lib/rpmatch.c, lib/safe-read.c, lib/same.c, lib/save-cwd.c,
8844         lib/savedir.c, lib/sig2str.c, lib/strcspn.c, lib/strerror.c,
8845         lib/stripslash.c, lib/strncasecmp.c, lib/strndup.c, lib/strnlen.c,
8846         lib/strnlen1.c, lib/strsep.c, lib/strstr.c, lib/strtod.c,
8847         lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c,
8848         lib/time_r.c, lib/userspec.c, lib/utimecmp.c, lib/version-etc-fsf.c,
8849         lib/version-etc.c, lib/wait-process.c, lib/xalloc-die.c, lib/xgetcwd.c,
8850         lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c, lib/xreadlink.c,
8851         lib/xsetenv.c, lib/xstrndup.c, lib/xstrtoimax.c, lib/xstrtol.c,
8852         lib/xstrtoumax.c, lib/yesno.c:
8853         Standardize inclusion of config.h.
8854         * lib/__fpending.h, lib/dirfd.h, lib/getdate.h, lib/human.h,
8855         lib/inttostr.h:  Removed inclusion of config.h from header files.
8856         * lib/inttostr.c:  Adjusted in-tree users.
8857         * lib/timespec.h: Remove superfluous warning to include config.h.
8858         * lib/atexit.c, lib/chdir-long.c, lib/chown.c, lib/fchown-stub.c,
8859         lib/getgroups.c, lib/gettimeofday.c, lib/lchown.c, lib/lstat.c,
8860         lib/mkdir.c, lib/mkstemp.c, lib/nanosleep.c, lib/openat.c, lib/raise.c,
8861         lib/readtokens0.c, lib/readutmp.c, lib/unlinkdir.c: Guard inclusion of
8862         config.h with HAVE_CONFIG_H.
8863
8864 2005-09-19  Jim Meyering  <jim@meyering.net>
8865
8866         * modules/pathmax (License): Change to LGPL.
8867
8868 2005-09-19  Derek Price  <derek@ximbiot.com>
8869
8870         * config/srclist.txt: glibc's glob.h is now in lib/glob-libc.h.
8871
8872 2005-09-19  Bruno Haible  <bruno@clisp.org>
8873
8874         * gnulib-tool (import): Provide default for --tests-base.
8875
8876 2005-09-19  Bruno Haible  <bruno@clisp.org>
8877
8878         * doc/quote.texi: New file, extracted from gnulib.texi.
8879         * doc/ctime.texi: New file, extracted from gnulib.texi.
8880         * doc/inet_ntoa.texi: New file, extracted from gnulib.texi.
8881         * doc/gnulib-tool.texi: New file, extracted from gnulib.texi.
8882         * doc/gnulib.texi: Include them.
8883
8884 2005-09-18  Bruno Haible  <bruno@clisp.org>
8885
8886         Portability fix.
8887         * gnulib-tool (func_readlink): New function.
8888         (func_ln_if_changed): Use it.
8889
8890 2005-09-18  Bruno Haible  <bruno@clisp.org>
8891
8892         * gnulib-tool: Support --with-tests also with --import.
8893         (func_emit_tests_Makefile_am): Use variables $m4base and $testsbase.
8894         (func_import): Use variables $testsbase and $inctests. Emit a
8895         gl_TESTS_BASE form into gnulib-cache.m4. Create $testsbase/Makefile.am.
8896         Remind the user to add AC_CONFIG_FILES($testsdir/Makefile) and
8897         SUBDIRS += $testsdir.
8898         (func_create_testdir): Update.
8899
8900 2005-09-18  Bruno Haible  <bruno@clisp.org>
8901
8902         * gnulib-tool: Revise --dry-run implementation. Use variable $doit
8903         instead of $dry_run.
8904         (func_cp_if_changed, func_mv_if_changed): Remove functions.
8905         (func_ln_if_changed): Don't handle dry-run here.
8906         (func_import): In dry-run mode, detect more precisely which actions
8907         would be performed, and don't use "...ing" verbs.
8908
8909 2005-09-18  Bruno Haible  <bruno@clisp.org>
8910
8911         * gnulib-tool (func_tmpdir): New function, taken from GNU gettextize.
8912         (func_import): Use join on two temporary files instead of three nested
8913         loops, in order to determine which files are new or old.
8914
8915 2005-09-18  Bruno Haible  <bruno@clisp.org>
8916
8917         * gnulib-tool (func_import): Comment out code that spits out the
8918         new files with --dry-run.
8919
8920 2005-09-18  Bruno Haible  <bruno@clisp.org>
8921
8922         * doc/gnulib.texi (Invoking gnulib-tool): 50% rewritten.
8923
8924 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
8925
8926         * lib/stat-time.h: New file.
8927         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP, ATIME_CMP, CTIME_CMP):
8928         (MTIME_CMP, TIMESPEC_NS): Remove.  Now done by stat-time.h,
8929         in a different way.
8930         (timespec_cmp): New function.
8931         * lib/utimecmp.c: Include stat-time.h.
8932         (SYSCALL_RESOLUTION): Depend on whether various struct stat
8933         members exist, not on the obsolescent ST_MTIM_NSEC.
8934         (utimecmp): Use the new stat-time functions rater than TIMESPEC_NS.
8935
8936 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
8937
8938         * config/srclist.txt: Remove glibc bug 1033 and uncomment mktime.c.
8939
8940 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
8941
8942         * MODULES.html.sh (File system functions): Add stat-time.
8943         * modules/stat-time: New file.
8944         * modules/timespec (Files): Remove m4/st_mtim.m4; this
8945         is now done in a different way, by the stat-time module.
8946         * modules/utimecmp (Depends-on): Add stat-time.
8947
8948 2005-09-15  Paul Eggert  <eggert@cs.ucla.edu>
8949
8950         * m4/st_mtim.m4: Remove.  Superseded by...
8951         * m4/stat-time.m4: New file.
8952         * m4/timespec.m4 (gl_TIMESPEC): Require AC_C_INLINE.
8953         Do not invoke AC_STRUCT_ST_MTIM_NSEC; no longer needed.
8954
8955 2005-09-15  Derek Price  <derek@ximbiot.com>
8956
8957         * m4/strstr.m4 (gl_FUNC_STRSTR): Don't define strstr here.
8958
8959 2005-09-15  Derek Price  <derek@ximbiot.com>
8960
8961         * lib/regex_internal.h: Blank `pure' for GNUC < 3.
8962         * lib/regex_internal.c: Ditto, using this...
8963         (__GNUC_PREREQ): ...new macro.
8964         * lib/regcomp.c, regexec.c: Blank `always_inline' for GNUC < 3.1
8965         using...
8966         (__GNUC_PREREQ): ...this new macro.
8967
8968         * lib/strstr.h: Include string.h. Define strstr as a macro here.
8969
8970 2005-09-15  Derek Price  <derek@ximbiot.com>
8971             Paul Eggert  <eggert@cs.ucla.edu>
8972
8973         * lib/regcomp.c, regexec.c, regex_internal.c: Back out previous
8974         changes, consolidating in...
8975         * lib/regex_internal.h: ...this file.
8976
8977 2005-09-13  Jim Meyering  <jim@meyering.net>
8978
8979         * lib/canon-host.c: Filter through gnu indent and reword comments
8980         slightly.
8981         * lib/canon-host.h (ch_strerror_r): Tweak cpp indentation and spacing.
8982
8983 2005-09-13  Derek Price  <derek@ximbiot.com>
8984
8985         * lib/canon-host.c (canon_host_r): Set *cherror on memory allocation
8986         failure.
8987         Reported by Jim Meyering  <jim@meyering.net>.
8988
8989 2005-09-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
8990
8991         * lib/base64.c: Typo.
8992         (base64_encode): Put b64str in initialized data section.
8993
8994 2005-09-12  Paul Eggert  <eggert@cs.ucla.edu>
8995
8996         Merge glibc and coreutils changes into gnulib, plus a few
8997         extra fixes.
8998         * lib/md5.c: Use #error rather than a string.
8999         (CYCLIC): New macro, from glibc source.  Use it instead of rol.
9000         * lib/md5.h (__GNUC_PREREQ, __THROW): Define if not defined already.
9001         (__attribute__): Define to empty for non recent-GCC.
9002         (__md5_buffer, __md5_finish_ctx, __md5_init_ctx, __md5_process_block):
9003         (__md5_process_bytes, __md5_read_ctx, __md5_stream):
9004         Renamed from their non-__ counterparts, with new macros replacing
9005         them if not _LIBC.  Add __THROW attribute.
9006         (rol): Remove.
9007         (struct md5_ctx): Align buffer if using GCC.
9008         * lib/sha1.h (struct sha1_ctx): Likewise.
9009         * lib/sha1.c (SWAP): Renamed from the NOTSWAP.  All uses changed.
9010         The old name was backwards.
9011         (NOTSWAP): Remove; not used.
9012         (rol): New macro, moved here from md5.h.
9013         (sha1_process_block): Remove a FIXME that doesn't make sense.
9014
9015 2005-09-12  Derek Price  <derek@ximbiot.com>
9016
9017         Return usable errors from canon-host.
9018         * lib/canon-host.h: New file.
9019         * lib/canon-host.c (canon_host): Wrap...
9020         (canon_host_r): ...this new function, which now relies exclusively on
9021         getaddrinfo.
9022         (ch_strerror): New function.
9023         (last_cherror): New global.
9024         * lib/getaddrinfo.c: Move include of getaddrinfo.h first to test
9025         interface.
9026         (getaddrinfo): Add AI_CANONNAME functionality.  Don't do arithmetic on
9027         void *.
9028         (freeaddrinfo): Free ai->ai_canonname when set.
9029
9030 2005-09-12  Derek Price  <derek@ximbiot.com>
9031
9032         Make canon-host require getaddrinfo.
9033         * m4/canon-host.m4 (gl_CANON_HOST): Remove most dependencies.
9034         AC_LIBSOURCE canon-host.h.  Call...
9035         (gl_PREREQ_CANON_HOST): ...this new function, which requires
9036         gl_GETADDRINFO.
9037         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Compile gai_strerror when needed.
9038
9039 2005-09-12  Derek Price  <derek@ximbiot.com>
9040
9041         * modules/canon-host: Add canon-host.h.  Depend on getaddrinfo.  Make
9042         LGPL.
9043         * modules/getaddrinfo: Add link to opengroup spec.  Depend on strdup.
9044
9045 2005-09-12  Derek Price  <derek@ximbiot.com>
9046
9047         * lib/gai_strerror.c: Include config.h when available.  Include
9048         getaddrinfo.h before other headers to test interface.
9049         Reported by Larry Jones <lawrence.jones@ugs.com>.
9050
9051 2005-09-12  Derek Price  <derek@ximbiot.com>
9052             Paul Eggert  <eggert@cs.ucla.edu>
9053
9054         * modules/glob (Files): Add glob-libc.h.
9055
9056 2005-09-12  Derek Price  <derek@ximbiot.com>
9057             Paul Eggert  <eggert@cs.ucla.edu>
9058
9059         * m4/glob.m4 (gl_GLOB_SUBSTITUTE): AC_LIBSOURCES for glob.c,
9060         glob_.h, glob-libc.h.
9061         (gl_PREREQ_GLOB): Remove _SYS_CDEFS_H hack; no longer needed.
9062
9063 2005-09-12  Derek Price  <derek@ximbiot.com>
9064             Paul Eggert  <eggert@cs.ucla.edu>
9065
9066         * lib/glob-libc.h: Renamed from glob_.h.  The new version is
9067         taken from libc's glob.h, except with '#ifdef __GLOB_GNULIB'
9068         protecting things that should be done only in gnulib contexts.
9069         * lib/glob_.h: New file, containing only the glob things needed for
9070         gnulib.
9071         (GLOB_PREFIX): Remove.  All uses changed to look for __GLOB_GNULIB.
9072         (__GLOB_CONCAT, __GLOB_XCONCAT, __GLOB_ID): Remove; no longer needed.
9073         (glob, globfree, glob_pattern_p): Now defined simply in terms of
9074         rpl_glob, rpl_globfree, rpl_glob_pattern_p.
9075         (__GLOB_GNULIB): New macro, to keep the glob.h changes clearer
9076         and to respect the namespace rules better.
9077
9078 2005-09-08  Simon Josefsson  <jas@extundo.com>
9079
9080         * modules/socklen: New file.
9081
9082 2005-09-08  Simon Josefsson  <jas@extundo.com>
9083
9084         * m4/socklen.m4: New file.
9085
9086 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
9087
9088         * modules/utimens (Files): Add m4/utimbuf.m4, since
9089         m4/utimens.m4 requires gl_CHECK_TYPE_STRUCT_UTIMBUF.
9090         Reported by Sergey Poznyakoff.
9091
9092 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
9093
9094         * lib/glob.c (glob, globfree, __glob_pattern_p): Use old-style function
9095         definitions, since that's the preferred style in glibc.
9096         Fix a minor spacing issue, and update copyright notice to match
9097         glibc's.
9098
9099 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
9100
9101         * config/srclist.txt: Remove glibc bug 1061; it's been fixed.
9102
9103 2005-09-06  Simon Josefsson  <jas@extundo.com>
9104
9105         * lib/getpass.c (getpass): Fix typo, test for HAVE_TCSETATTR and not
9106         TCSETATTR.  Reported by Derek Price <derek@ximbiot.com>.
9107
9108 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
9109
9110         * lib/regex_internal.h (bitset_not): Add parens to avoid gcc -Wall
9111         warning.
9112
9113 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
9114
9115         * config/srclist.txt: Add glibc bug 1302.
9116
9117 2005-09-05  Paul Eggert  <eggert@cs.ucla.edu>
9118
9119         Change bitset word type from unsigned int to unsigned long int,
9120         as this has better performance on typical 64-bit hosts.
9121         Port bitset code to hosts with unusual word sizes.
9122         * lib/regcomp.c (build_equiv_class, build_charclass, build_range_exp):
9123         (build_collating_symbol):
9124         Prefer bitset to re_bitset_ptr_t in prototypes, when the actual
9125         argument is a bitset.  This is merely a style issue, but it makes
9126         it clearer that an entire array is expected.
9127         (re_compile_fastmap_iter, init_dfa, init_word_char, optimize_subexps):
9128         * lib/regcomp.c (lower_subexp, parse_bracket_exp, built_charclass_op):
9129         Port to the case where bitset_word is not the same as unsigned int.
9130         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
9131         (bitset_not, bitset_merge, bitset_set_all, bitset_mask):
9132         Likewise.
9133         * lib/regexec.c (check_dst_limits_calc_pos_1,
9134         check_subexp_matching_top):
9135         (build_trtable, group_nodes_into_DFAstates):
9136         Likewise.
9137         * lib/regcomp.c (re_compile_fastmap_iter, utf8_sb_map, optimize_utf8):
9138         Don't assume that SBC_MAX is a multiple of BITSET_WORD_BITS.
9139         * lib/regex_internal.h (bitset_set_all, bitset_not): Likewise.
9140         * lib/regexec.c (group_nodes_into_DFAstates): Likewise.
9141         * lib/regcomp.c (utf8_sb_map): Don't assume UINT_MAX == 0xffffffff.
9142         * lib/regcomp.c (optimize_subexps, lower_subexp):
9143         Work even if bitset_word has holes in its bitwise representation.
9144         * lib/regex_internal.h (BITSET_WORD_BITS): Likewise.
9145         * lib/regexec.c (check_dst_limits_calc_pos_1,
9146         check_subexp_matching_top):
9147         Likewise.
9148         * lib/regex_internal.c (re_string_reconstruct):
9149         Don't assume UCHAR_MAX == 255.
9150         * lib/regex_internal.h (bitset_set_all): Likewise.
9151         * lib/regex_internal.h (BITSET_WORD_BITS): Renamed from UINT_BITS.
9152         All uses changed.
9153         (BITSET_WORDS): Renamed from BITSET_UINTS.  All uses changed.
9154         (bitset_word): New type, replacing 'unsigned int' for bitset uses.
9155         All uses changed.
9156         (BITSET_WORD_MAX): New macro.
9157         (bitset_set, bitset_clear, bitset_contain, bitset_empty):
9158         (bitset_set_all, bitset_copy):  Now inline functions, not macros.
9159         (bitset_empty, bitset_copy):
9160         Prefer sizeof (bitset) to multiplying it out ourselves.
9161         (bitset_not_merge): Remove; unused.
9162         (bitset_contain): Return bool, not unsigned int with one bit on.
9163         All callers changed.
9164         * lib/regexec.c (build_trtable): Don't assume bitset has no stricter
9165         alignment than re_node_set; do this by defining a new internal
9166         type struct dests_alloc and using it to allocate memory.
9167
9168 2005-09-05  Bruno Haible  <bruno@clisp.org>
9169
9170         * gnulib-tool (func_import): Fix comparison in handling of symbolic
9171         links.
9172
9173 2005-09-04  Martin Lambers <marlam@marlam.de>  (tiny change)
9174
9175         * modules/size_max (Makefile.am): Add size_max.h
9176
9177 2005-09-04  Derek Price  <derek@ximbiot.com>
9178
9179         * gnulib-tool (func_import): Fix reversed $symbolic logic.
9180
9181 2005-09-03  Simon Josefsson  <jas@extundo.com>
9182
9183         * gnulib-tool: Fix typo.
9184
9185 2005-09-03  Simon Josefsson  <jas@extundo.com>
9186
9187         * config/srclist.txt: Add glibc bug 1293.
9188
9189 2005-09-03  Derek Price  <derek@ximbiot.com>
9190
9191         * m4/getlogin_r (gl_GETLOGIN_R): Fix cut & paste error.
9192         From Larry Jones <lawrence.jones@ugs.com>.
9193
9194 2005-09-02  Simon Josefsson  <jas@extundo.com>
9195
9196         * modules/socklen: New file.
9197
9198 2005-09-02  Simon Josefsson  <jas@extundo.com>
9199
9200         * modules/havelib: New module.
9201
9202         * modules/gettext, modules/iconv, modules/lock, modules/readline:
9203         Use havelib.
9204
9205 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
9206
9207         Check for arithmetic overflow when calculating sizes, to prevent
9208         some buffer-overflow issues.  These patches are conservative, in the
9209         sense that when I couldn't determine whether an overflow was possible,
9210         I inserted a run-time check.
9211         * lib/regex_internal.h (re_xmalloc, re_xrealloc, re_x2realloc): New
9212         macros.
9213         (SIZE_MAX) [!defined SIZE_MAX]: New macro.
9214         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc):
9215         (re_xnrealloc, re_x2nrealloc): New inline functions.
9216         * lib/regcomp.c (init_dfa, analyze, build_range_exp,
9217         parse_bracket_exp):
9218         (build_equiv_class, build_charclass): Check for arithmetic overflow
9219         in size expression calculations.
9220         * lib/regex_internal.c (re_string_realloc_buffers):
9221         (build_wcs_upper_buffer, re_node_set_add_intersect):
9222         (re_node_set_init_union, re_node_set_insert, re_node_set_insert_last):
9223         (re_dfa_add_node, register_state): Likewise.
9224         * lib/regexec.c (re_search_stub, re_copy_regs, re_search_internal):
9225         (prune_impossible_nodes, push_fail_stack, set_regs, check_arrival):
9226         (build_trtable, extend_buffers, match_ctx_init, match_ctx_add_entry):
9227         (match_ctx_add_subtop, match_ctx_add_sublast): Likewise.
9228
9229 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
9230
9231         * modules/inttostr (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
9232         m4/ulonglong.m4.  Problem reported by Martin Lambers.
9233
9234 2005-09-02  Bruno Haible  <bruno@clisp.org>
9235
9236         Support for lib vs. lib64 distinction on biarch platforms.
9237         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): New macro.
9238         (AC_LIB_PREFIX): Require it. Use $acl_libdirstem instead of 'lib'.
9239         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Likewise.
9240
9241 2005-09-02  Bruno Haible  <bruno@clisp.org>
9242
9243         * gnulib-tool (import): In the other first-use case, provide defaults
9244         as well.
9245
9246 2005-09-02  Bruno Haible  <bruno@clisp.org>
9247
9248         * config/srclist.txt: lib-link.m4 and lib-prefix.m4 currently have
9249         patches not yet found in the latest gettext release.
9250
9251 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
9252
9253         * lib/glob.c (GET_LOGIN_NAME_MAX): Renamed from LOGIN_NAME_MAX,
9254         to avoid a collision with bits/local_lim.h in glibc.
9255         All uses changed.  Problem reported by Dmitry V. Levin in
9256         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=1060>.
9257
9258         * lib/regex_internal.c (build_wcs_upper_buffer): Fix portability
9259         bugs in int versus size_t comparisons.
9260         (re_string_context_at): Fix bug where the code assumed that
9261         Idx is signed.
9262
9263         Use bool where appropriate.
9264         * lib/regcomp.c (re_set_fastmap): ICASE arg is bool, not int.
9265         All callers changed.
9266         (calc_eclosure_iter): Likewise, for ROOT arg.
9267         (parse_bracket_element): Likewise, for ACCEPT_HYPHEN arg.
9268         (build_charclass_op): Likewise, for NON_MATCH arg.
9269         * lib/regex_internal.c (re_string_allocate, re_string_construct):
9270         (re_string_construct_common): Likewise, for ICASE arg.
9271         * lib/regexec.c (re_search_2_stub, re_search_stub):
9272         Likewise, for RET_LEN arg.
9273         (check_matching): Likewise, for FL_LONGEST_MATCH arg.
9274         (set_regs): Likewise, for FL_BACKTRACK arg.
9275         * lib/regcomp.c (re_compile_fastmap_iter, optimize_utf8):
9276         (duplicate_node_closure, calc_inveclosure, calc_eclosure):
9277         (calc_eclosure_iter, parse_bracket_exp):
9278         Use bool for internal variables that are booleans.
9279         * lib/regexec.c (re_search_internal, check_matching,
9280         proceed_next_node):
9281         (set_regs, build_sifted_states, sift_states_bkref):
9282         (check_arrival_add_next_nodes, check_arrival_expand_ecl_sub):
9283         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
9284         (find_collation_sequence_value):
9285         Likewise.
9286         * lib/regex_internal.c (re_node_set_insert, re_node_set_insert_last):
9287         (re_node_set_compare):
9288         Return bool, not int. All callers changed.
9289         * lib/regexec.c (check_halt_node_context, check_dst_limits):
9290         (build_trtable, check_node_accept): Likewise.
9291         * lib/regex_internal.h: Include stdbool.h.
9292
9293         Fix bugs uncovered when converting to bool.
9294         * lib/regcomp.c (calc_eclosure_iter): Check for storage allocation
9295         failure instead of charging ahead blindly.
9296         * lib/regex_internal.c (register_state): Likewise.
9297         * lib/regexec.c (re_search_2_stub): Use simpler method than boolean
9298         for freeing internal storage.
9299         (group_nodes_into_DFA_states): Use unsigned int, not int, for
9300         bitset pieces used as boolean, to avoid undefined behavior
9301         on hosts that do int overflow checking.
9302
9303 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
9304
9305         * config/srclist.txt: Add glibc bugs 1285-1287.
9306
9307 2005-09-01  Jim Meyering  <jim@meyering.net>
9308
9309         * m4/lchown.m4: Require gl_FUNC_CHOWN, for the definition of
9310         CHOWN_MODIFIES_SYMLINK, which is used by lchown.c.
9311         Require gl_STAT_MACROS, too.
9312
9313 2005-09-01  Bruno Haible  <bruno@clisp.org>
9314
9315         * gnulib-tool (import): In the first-use case, provide defaults.
9316
9317 2005-09-01  Bruno Haible  <bruno@clisp.org>
9318
9319         * gnulib-tool (func_import): Remove the .tmp files.
9320
9321 2005-09-01  Bruno Haible  <bruno@clisp.org>
9322
9323         * gnulib-tool (func_import): Fix handling of symbolic links.
9324
9325 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
9326
9327         On 64-bit hosts (where size_t is 64 bits and int is 32 bits), the
9328         old glibc regex code mishandles strings longer than 2**31 bytes.
9329         This patch fixes this when the regex code is used in gnulib
9330         (i.e., outside glibc).
9331
9332         This patch should not affect the use of the regex code inside
9333         glibc.  No doubt this problem also needs to be handled for glibc
9334         as well, but the result will be an incompatible change to the
9335         glibc ABI, and the old ABI will have to be supported too.  That
9336         can be the the subject for another patch.
9337
9338         * lib/regex.h (_REGEX_LARGE_OFFSETS): New feature-test macro,
9339         governing whether the rest of this patch is active.  By default,
9340         the macro is disabled and the patch has no effect.
9341         (regoff_t) [defined _REGEX_LARGE_OFFSETS]: Define to off_t, not int.
9342         (__re_idx_t, __re_size_t, __re_long_size_t): New types.
9343         (struct re_pattern_buffer, re_search, re_search_2, re_match):
9344         (re_match_2, re_set_registers): Use the new types.
9345         * lib/regex_internal.h (Idx, re_hashval_t): New types.
9346         (REG_MISSING, REG_ERROR, REG_VALID_INDEX, REG_VALID_NONZERO_INDEX):
9347         New macros.
9348         (re_node_set, re_charset_t, re_token_t, re_string_realloc_buffers):
9349         (re_string_context_at, bin_tree_t, re_dfastate_t):
9350         (struct re_state_table_entry, state_array_t, re_sub_match_last_t):
9351         (re_sub_match_top_t, re_match_context_t, re_sift_context_t):
9352         (struct re_fail_stack_ent_t, struct re_fail_stack_t, struct re_dfa_t):
9353         (re_string_char_size_at, re_string_wchar_at):
9354         (re_string_elem_size_at):
9355         Use the new types and macros to port to 64-bit hosts.
9356         Use unsigned types for internal values, so that the code
9357         mostly works even for arrays larger than SSIZE_MAX.
9358         * lib/regcomp.c (re_compile_internal, init_dfa, duplicate_node):
9359         (search_duplicated_node, calc_eclosure_iter, fetch_number):
9360         (parse_reg_exp, parse_branch, parse_expression, parse_sub_exp):
9361         (build_equiv_class, build_charclass, re_compile_fastmap_iter):
9362         (free_dfa_content, create_initial_state, optimize_utf8, analyze):
9363         (optimize_subexps, calc_first, link_nfa_nodes, duplicate_node_closure):
9364         (calc_inveclosure, parse_dup_op, build_range_exp):
9365         (build_collating_symbol, parse_bracket_exp, build_charclass_op):
9366         (fetch_number, create_token_tree, mark_opt_subexp):
9367         Likewise.
9368         * lib/regex_internal.c (re_string_construct_common,
9369         create_ci_newstate):
9370         (create_cd_newstate, re_string_allocate, re_string_construct):
9371         (re_string_realloc_buffers, build_wcs_upper_buffer):
9372         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
9373         (re_string_reconstruct, re_string_peek_byte_case):
9374         (re_string_fetch_byte_case, re_string_context_at):
9375         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
9376         (re_node_set_init_copy, re_node_set_add_intersect):
9377         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
9378         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
9379         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
9380         (re_acquire_state, re_acquire_state_context, register_state):
9381         Likewise.
9382         * lib/regex.c (match_ctx_init, match_ctx_add_entry,
9383         search_cur_bkref_entry):
9384         (match_ctx_add_subtop, match_ctx_add_sublast, sift_ctx_init):
9385         (re_search_internal, re_search_2_stub, re_search_stub)
9386         (re_copy_regs, check_matching, check_halt_state_context, update_regs):
9387         (push_fail_stack, sift_states_iter_mb, build_sifted_states):
9388         (update_cur_sifted_state, check_dst_limits):
9389         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
9390         (check_subexp_limits, sift_states_bkref, merge_state_array):
9391         (check_subexp_matching_top, get_subexp, get_subexp_sub):
9392         (find_subexp_node, check_arrival, check_arrival_add_next_nodes):
9393         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
9394         (expand_bkref_cache, check_node_accept_bytes):
9395         (group_nodes_into_DFAstates, check_node_accept, regexec, re_match):
9396         (re_search, re_match_2, re_search_2, prune_impossible_nodes):
9397         (acquire_init_state_context, check_halt_node_context):
9398         (proceed_next_node, pop_fail_stack, set_regs, free_fail_stack_return):
9399         (sift_states_backward, clean_state_log_if_needed):
9400         (sub_epsilon_src_nodes, add_epsilone_src_nodes, merge_state_with_log):
9401         (find_recover_state, transit_state_sb, transit_state_mb):
9402         (transit_state_bkref, build_trtable, match_ctx_clean):
9403         Likewise.
9404         * lib/regcomp.c (parse_dup_op): Add an extra test if Idx is unsigned,
9405         to work around an assumption that REG_MISSING is negative.
9406
9407         * lib/regcomp.c (re_comp) [defined _REGEX_RE_COMP || defined _LIBC]:
9408         (seek_collating_symbol_entry) [defined _LIBC]:
9409         (lookup_collation_sequence_value) [defined _LIBC]:
9410         (build_range_exp, build_collating_symbol) [defined _LIBC]:
9411         Use prototypes rather than old-style function definitions.
9412         * lib/regexec.c (re_exec) [defined _REGEX_RE_COMP || defined _LIBC]:
9413         (transit_state_sb) [0]:
9414         (find_collation_sequence_value) [defined _LIBC]: Likewise.
9415
9416         * lib/regexec.c (re_search_internal): Simplify update of rm_so and
9417         rm_eo.
9418
9419         * lib/regcomp.c (re_compile_fastmap_iter, init_dfa, init_word_char):
9420         (optimize_subexps, lower_subexp):
9421         Don't assume 1<<31 has defined behavior on hosts with 32-bit int,
9422         since the signed shift might overflow.  Use 1u<<31 instead.
9423         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
9424         Likewise.
9425         * lib/regexec.c (check_dst_limits_calc_pos_1,
9426         check_subexp_matching_top): Likewise.
9427
9428         * lib/regcomp.c (optimize_subexps, lower_subexp):
9429         Use CHAR_BIT rather than 8, for clarity.
9430         * lib/regexec.c (check_dst_limits_calc_pos_1):
9431         (check_subexp_matching_top): Likewise.
9432         * lib/regcomp.c (init_dfa): Make table_size unsigned, so that we don't
9433         have to worry about portability issues when shifting it left.
9434         Remove no-longer-needed test for table_size > 0.
9435         * lib/regcomp.c (parse_sub_exp): Do not shift more bits than there are
9436         in a word, as the resulting behavior is undefined.
9437         * lib/regexec.c (check_dst_limits_calc_pos_1): Likewise;
9438         in one case, a <= should have been an <, and in another case the
9439         whole test was missing.
9440         * lib/regex_internal.h (BYTE_BITS): Remove.  All uses changed to
9441         the standard name CHAR_BIT.
9442         * lib/regexec.c (match_ctx_add_entry): Don't assume that ~0 == -1;
9443         this is not true on one's complement and signed-magnitude hosts.
9444
9445         * lib/regex_internal.h (re_sub_match_top_t): Remove unused member
9446         next_last_offset.
9447         (struct re_dfa_t): Remove unused member states_alloc.
9448         * lib/regcomp.c (init_dfa): Don't initialize unused members.
9449
9450 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
9451
9452         * m4/regex.m4 (gl_REGEX): Require AC_SYS_LARGEFILE, Define
9453         _REGEX_LARGE_OFFSETS).  Test for regoff_t/off_t bug in 64-bit
9454         and large-file glibc and in 32-bit large-file Solaris.
9455
9456 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
9457
9458         * lib/regex_internal.c (re_string_reconstruct): Don't assume buffer
9459         lengths fit in regoff_t; this isn't true if regoff_t is the same
9460         width as size_t.
9461         * lib/regex.c (re_search_internal): 5th arg is LAST_START
9462         (= START + RANGE) instead of RANGE.  This avoids overflow
9463         problems when regoff_t is the same width as size_t.
9464         All callers changed.
9465         (re_search_2_stub): Check for overflow when adding the
9466         sizes of the two strings.
9467         (re_search_stub): Check for overflow when adding START
9468         to RANGE; if it occurs, substitute the extreme value.
9469
9470 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
9471
9472         * config/srclist.txt: Add glibc bugs 1273, 1278-1282, 1284.
9473
9474 2005-08-31  Jim Meyering  <jim@meyering.net>
9475
9476         * lib/regcomp.c (search_duplicated_node): Make first pointer arg
9477         a pointer-to-const.
9478         * lib/regex_internal.c (create_ci_newstate, create_cd_newstate):
9479         (register_state): Likewise.
9480         * lib/regexec.c (search_cur_bkref_entry, check_dst_limits):
9481         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
9482         (group_nodes_into_DFAstates): Likewise.
9483
9484 2005-08-31  Jim Meyering  <jim@meyering.net>
9485
9486         * check-module: Add a FIXME comment.
9487
9488 2005-08-31  Eric Blake  <ebb9@byu.net>
9489
9490         * modules/unistd-safer (Files): Add unistd--.h.
9491         * modules/stdio-safer (Files): Add stdio--.h.
9492
9493 2005-08-31  Derek Price  <derek@ximbiot.com>
9494
9495         * lib/getdelim.c (getdelim): Return EOF on EOF.
9496         Reported by Larry Jones <lawrence.jones@ugs.com>.
9497
9498 2005-08-31  Bruno Haible  <bruno@clisp.org>
9499
9500         Avoid unnecessary diffs in the generated lib/Makefile.am.
9501         * gnulib-tool (func_emit_lib_Makefile_am): Don't write the cmd into
9502         the generated files.
9503         (func_import): Don't set cmd.
9504
9505 2005-08-31  Bruno Haible  <bruno@clisp.org>
9506
9507         * lib/strstr.c: Include <stddef.h>, for NULL.
9508         * lib/strcasestr.c: Likewise.
9509         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
9510
9511 2005-08-31  Bruno Haible  <bruno@clisp.org>
9512
9513         * gnulib-tool: New option --macro-prefix.
9514         (func_import): Use macro_prefix.
9515         (import): Handle option --macro-prefix.
9516
9517 2005-08-31  Bruno Haible  <bruno@clisp.org>
9518
9519         * gnulib-tool (import): Rename most ac_* variables to cached_*.
9520         Also use new variables cached_lgpl, cached_libtool.
9521
9522 2005-08-31  Bruno Haible  <bruno@clisp.org>
9523
9524         * gnulib-tool (func_import): Require AC_GNU_SOURCE etc. instead of
9525         always instantiating them.
9526
9527 2005-08-31  Bruno Haible  <bruno@clisp.org>
9528
9529         * gnulib-tool (func_import): Read the previous cached settings
9530         from gnulib-cache.m4 and gnulib-comp.m4. Remove files that were
9531         earlier added by gnulib but are now dropped. Warn when a gnulib file
9532         overwrites a non-gnulib file.
9533
9534 2005-08-31  Bruno Haible  <bruno@clisp.org>
9535
9536         * gnulib-tool (func_import): Generate two files gnulib-cache.m4 and
9537         gnulib-comp.m4 instead of a single gnulib.m4, to make it easy for
9538         projects that don't keep autogenerated files in CVS. Put into
9539         actioncmd only the specified modules, not the transitive closure.
9540
9541 2005-08-31  Bruno Haible  <bruno@clisp.org>
9542
9543         * gnulib-tool (func_import): Fix defaulting of $libname and $libtool.
9544         Create directories that shall be filled.
9545         (import): Don't look for gl_* macros in configure.ac. Recurse across
9546         all directories containing a gnulib-cache.m4 files, if meaningful.
9547
9548 2005-08-31  Bruno Haible  <bruno@clisp.org>
9549
9550         * gnulib-tool (func_import): Emit also a stub for gl_LIBTOOL.
9551         (import): Set seen_libtool when we see gl_LIBTOOL.
9552
9553 2005-08-31  Bruno Haible  <bruno@clisp.org>
9554
9555         * gnulib-tool (func_import): Also copy m4/gnulib-tool.m4. Omit
9556         declaration macro definitions from generated gnulib.m4.
9557
9558 2005-08-30  "Oskar Liljeblad" <oskar@osk.mine.nu>
9559
9560         * lib/iconvme.h: Add prototype for iconv_alloc.
9561
9562 2005-08-29  Simon Josefsson  <jas@extundo.com>
9563
9564         * lib/iconvme.c: Fix errno.
9565
9566 2005-08-29  Bruno Haible  <bruno@clisp.org>
9567
9568         * gnulib-tool: Enclose all occurrences of $destdir in "...", so
9569         that it works when the directory contains spaces.
9570
9571 2005-08-29  Bruno Haible  <bruno@clisp.org>
9572
9573         * gnulib-tool (import): Avoid unnecessary spaces in $avoidlist.
9574
9575 2005-08-29  Bruno Haible  <bruno@clisp.org>
9576
9577         * gnulib-tool (func_import): Emit more comments into gnulib.m4.
9578         Emit more advice.
9579
9580 2005-08-29  Bruno Haible  <bruno@clisp.org>
9581         and Stepan Kasal  <kasal@ucw.cz>
9582
9583         * check-module: If more parameters are given, check each of them
9584         separately; add more exceptions, as noted by Jim Meyering.
9585         (check_module): New procedure.
9586         (%exempt_header): Now contains all exceptions.
9587
9588 2005-08-29  Ben Pfaff  <blp@cs.stanford.edu>
9589
9590         * modules/byteswap (Makefile.am): Fix rule to not assume GNU make.
9591
9592 2005-08-29  "Oskar Liljeblad" <oskar@osk.mine.nu>
9593
9594         * lib/iconvme.c: Split iconv_string into iconv_alloc.
9595
9596 2005-08-28  Bruno Haible  <bruno@clisp.org>
9597
9598         * m4/gnulib-tool.m4: New file.
9599
9600 2005-08-27  Jim Meyering  <jim@meyering.net>
9601
9602         * modules/unistd-safer (Files): Add pipe-safer.c.
9603         * modules/fcntl-safer (Files): Add creat-safer.c.
9604
9605 2005-08-27  Jim Meyering  <jim@meyering.net>
9606
9607         * m4/stdlib-safer.m4: New file.  From coreutils.
9608         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add stdio--.h.
9609         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Add creat-safer.c to the
9610         AC_LIBSOURCES list and arrange to compile it via AC_LIBOBJ.
9611         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise, add pipe-safer.c.
9612         Add pipe-safer.c and unistd--.h to the AC_LIBSOURCES list.
9613
9614 2005-08-27  Jim Meyering  <jim@meyering.net>
9615
9616         * lib/fopen-safer.c: Merge minor changes from coreutils.
9617         * lib/dup-safer.c: Likewise.
9618         * lib/fd-safer.c: Likewise.
9619
9620         Merge from coreutils.
9621         * lib/stdio--.h: New file.
9622         * lib/stdlib--.h: New file.
9623         * lib/mkstemp-safer.c: New file.
9624
9625         GNU tar needs these.
9626         * lib/pipe-safer.c: New file.
9627         * lib/creat-safer.c: New file.
9628         * lib/fcntl--.h (creat): Define to creat_safer.
9629         * lib/fcntl-safer.h: Include <sys/types.h> and declare creat_safer.
9630         * lib/unistd--.h (pipe): Define to pipe_safer.
9631         * lib/unistd-safer.h: Declare pipe_safer.
9632
9633 2005-08-26  Simon Josefsson  <jas@extundo.com>
9634
9635         * lib/getpass.c: Use _WIN32 instead of WIN32, suggested by Bruno
9636         Haible <bruno@clisp.org>.
9637
9638 2005-08-26  Paul Eggert  <eggert@cs.ucla.edu>
9639
9640         * lib/regex_internal.h: Remove all references to
9641         RE_NO_INTERNAL_PROTOTYPES; no longer neeeded now that we assume C89
9642         or better.
9643         (bitset_not, bitset_merge, bitset_not_merge):
9644         (bitset_mask, re_string_allocate, re_string_construct):
9645         (re_string_reconstruct, re_string_destruct, re_string_elem_size_at):
9646         (re_string_char_size_at, re_string_wchar_at, re_string_peek_byte_case):
9647         (re_string_fetch_byte_case, re_node_set_alloc, re_node_set_init_1):
9648         (re_node_set_init_2, re_node_set_init_copy, re_node_set_add_intersect):
9649         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
9650         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
9651         (re_node_set_remove_at, re_dfa_add_node, re_acquire_state):
9652         (re_acquire_state_context):
9653         Remove unnecessary forward decls.
9654         (re_string_char_size_at, re_string_wchar_at, re_string_elem_size_at):
9655         Put __attribute at function definition,
9656         now that the function decl has been removed.
9657         * lib/regex_internal.c (re_string_peek_byte_case):
9658         (re_string_fetch_byte_case, re_node_set_compare, re_node_set_contains):
9659         Likewise.
9660
9661 2005-08-25  Stepan Kasal  <kasal@ucw.cz>
9662
9663         * m4/regex.m4: Add AC_PREREQ(2.50).
9664         (gl_REGEX): If --with-included-regex was given, skip the autodetection.
9665
9666 2005-08-25  Simon Josefsson  <jas@extundo.com>
9667
9668         * m4/getpass.m4: Check for termios.h, tcgetattr, tcsetattr, and
9669         __fsetlocking.
9670
9671 2005-08-25  Simon Josefsson  <jas@extundo.com>
9672
9673         * lib/getpass.c: Add WIN32 implementation.  Conditionalize use of
9674         termios.h, tcgetattr, tcsetattr and __fsetlocking.  Remove some
9675         GLIBC specific code.
9676
9677 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
9678
9679         Make regex safe for g++.  This fixes one real bug (an "err"
9680         that should have been "*err").  g++ problem reported by
9681         Sam Steingold.
9682         * lib/regex_internal.h (re_calloc): New macro, consistent with
9683         re_malloc etc.  All callers of calloc changed to use re_calloc.
9684         * lib/regex_internal.c (build_wcs_upper_buffer): Return reg_errcode_t,
9685         not int.  All callers changed.
9686         * lib/regcomp.c (re_compile_fastmap_iter): Don't use
9687         alloca (mb_cur_max); just use an array of size MB_LEN_MAX.
9688         * lib/regexec.c (push_fail_stack): Use re_realloc, not realloc.
9689         (find_recover_state): Change "err" to "*err"; this fixes what
9690         appears to be a real bug.
9691         (check_arrival_expand_ecl_sub): Be consistent about reg_errcode_t
9692         versus int.
9693
9694 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
9695
9696         * modules/regex (Depends-on): Add malloc, since the code
9697         assumes that !malloc(0) means failure.
9698
9699 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
9700
9701         * lib/regexec.c (set_regs): Don't alloca with an unbounded size.
9702
9703         alloca modernization/simplification for regex.
9704         * lib/regex.c: Remove portability cruft for alloca.  This no longer
9705         needs to be at the start of the file, and can be moved into
9706         regex_internal.h and simplified.
9707         * lib/regex_internal.h: Include <alloca.h>.
9708         (__libc_use_alloca) [!defined _LIBC]: New macro.
9709         * lib/regexec.c (build_trtable): Remove "#ifdef _LIBC", since the code
9710         now works outside glibc.
9711
9712 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
9713
9714         * config/srclist.txt: Add glibc bugs 1241, 1245.
9715
9716 2005-08-25  Jim Meyering  <jim@meyering.net>
9717
9718         * lib/open-safer.c: Include <config.h>.
9719         Otherwise, we'd lose LARGEFILE support in any file using
9720         e.g. "fcntl--.h"
9721
9722 2005-08-25  Bruno Haible  <bruno@clisp.org>
9723
9724         * m4/minmax.m4: Require autoconf 2.52.
9725         (gl_MINMAX_IN_HEADER): Add comments. Use m4_pushdef/m4_popdef instead
9726         of define/undefine. Use AS_TR_SH and AS_TR_CPP as more robust
9727         alternatives of translit over the alphabet.
9728         Based on a patch from Stepan Kasal <kasal@ucw.cz>.
9729
9730 2005-08-24  Simon Josefsson  <jas@extundo.com>
9731
9732         * tests/test-getpass.c: New file.
9733
9734 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
9735
9736         * m4/regex.m4 (gl_REGEX): Use POSIX-compliant spellings when testing
9737         for GNU regex features.
9738
9739 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
9740
9741         * lib/regcomp.c (regerror): 2nd arg is 'restrict', as per POSIX.
9742         * lib/regex.h (regerror): Likewise.
9743
9744         * lib/regex.c: Do not include <sys/types.h>, as POSIX no longer
9745         requires this.  (The code never needed it.)
9746
9747         * lib/regcomp.c, regex_internal.c, regex_internal.h, regexec.c:
9748         All uses of recently-renamed identifiers changed to use the new,
9749         POSIX-compliant names.  The code will build and run just fine
9750         without these changes, but it's better to eat our own dog food
9751         and use the standard-conforming names.
9752
9753         * lib/regex.h: Fix a multitude of POSIX name space violations.
9754         These changes have an effect only for programs that define
9755         _POSIX_C_SOURCE, _POSIX_SOURCE, or _XOPEN_SOURCE; they
9756         do not change anything for programs compiled in the normal way.
9757         Also, there is no effect on the ABI.
9758
9759         (_REGEX_SOURCE): New macro.
9760         Do not include <stddef.h> if _XOPEN_SOURCE and VMS are both
9761         defined and _GNU_SOURCE is not; this fixes a name space violation.
9762
9763         Rename the following macros to obey POSIX requirements.
9764         The old names are still visible as macros if _REGEX_SOURCE is defined.
9765         (REG_BACKSLASH_ESCAPE_IN_LISTS): renamed from
9766         RE_BACKSLASH_ESCAPE_IN_LISTS.
9767         (REG_BK_PLUS_QM): renamed from RE_BK_PLUS_QM.
9768         (REG_CHAR_CLASSES): renamed from RE_CHAR_CLASSES.
9769         (REG_CONTEXT_INDEP_ANCHORS): renamed from RE_CONTEXT_INDEP_ANCHORS.
9770         (REG_CONTEXT_INDEP_OPS): renamed from RE_CONTEXT_INDEP_OPS.
9771         (REG_CONTEXT_INVALID_OPS): renamed from RE_CONTEXT_INVALID_OPS.
9772         (REG_DOT_NEWLINE): renamed from RE_DOT_NEWLINE.
9773         (REG_DOT_NOT_NULL): renamed from RE_DOT_NOT_NULL.
9774         (REG_HAT_LISTS_NOT_NEWLINE): renamed from RE_HAT_LISTS_NOT_NEWLINE.
9775         (REG_INTERVALS): renamed from RE_INTERVALS.
9776         (REG_LIMITED_OPS): renamed from RE_LIMITED_OPS.
9777         (REG_NEWLINE_ALT): renamed from RE_NEWLINE_ALT.
9778         (REG_NO_BK_BRACES): renamed from RE_NO_BK_BRACES.
9779         (REG_NO_BK_PARENS): renamed from RE_NO_BK_PARENS.
9780         (REG_NO_BK_REFS): renamed from RE_NO_BK_REFS.
9781         (REG_NO_BK_VBAR): renamed from RE_NO_BK_VBAR.
9782         (REG_NO_EMPTY_RANGES): renamed from RE_NO_EMPTY_RANGES.
9783         (REG_UNMATCHED_RIGHT_PAREN_ORD): renamed from
9784         RE_UNMATCHED_RIGHT_PAREN_ORD.
9785         (REG_NO_POSIX_BACKTRACKING): renamed from RE_NO_POSIX_BACKTRACKING.
9786         (REG_NO_GNU_OPS): renamed from RE_NO_GNU_OPS.
9787         (REG_DEBUG): renamed from RE_DEBUG.
9788         (REG_INVALID_INTERVAL_ORD): renamed from RE_INVALID_INTERVAL_ORD.
9789         (REG_IGNORE_CASE): renamed from RE_ICASE.  This renaming is a bit
9790         unusual, since we can't clash with the POSIX REG_ICASE.
9791         (REG_CARET_ANCHORS_HERE): renamed from RE_CARET_ANCHORS_HERE.
9792         (REG_CONTEXT_INVALID_DUP): renamed from RE_CONTEXT_INVALID_DUP.
9793         (REG_NO_SUB): renamed from RE_NO_SUB.
9794         (REG_SYNTAX_EMACS): renamed from RE_SYNTAX_EMACS.
9795         (REG_SYNTAX_AWK): renamed from RE_SYNTAX_AWK.
9796         (REG_SYNTAX_GNU_AWK): renamed from RE_SYNTAX_GNU_AWK.
9797         (REG_SYNTAX_POSIX_AWK): renamed from RE_SYNTAX_POSIX_AWK.
9798         (REG_SYNTAX_GREP): renamed from RE_SYNTAX_GREP.
9799         (REG_SYNTAX_EGREP): renamed from RE_SYNTAX_EGREP.
9800         (REG_SYNTAX_POSIX_EGREP): renamed from RE_SYNTAX_POSIX_EGREP.
9801         (REG_SYNTAX_ED): renamed from RE_SYNTAX_ED.
9802         (REG_SYNTAX_SED): renamed from RE_SYNTAX_SED.
9803         (_REG_SYNTAX_POSIX_COMMON): renamed from _RE_SYNTAX_POSIX_COMMON.
9804         (REG_SYNTAX_POSIX_BASIC): renamed from RE_SYNTAX_POSIX_BASIC.
9805         (REG_SYNTAX_POSIX_MINIMAL_BASIC): renamed from
9806         RE_SYNTAX_POSIX_MINIMAL_BASIC.
9807         (REG_SYNTAX_POSIX_EXTENDED): renamed from RE_SYNTAX_POSIX_EXTENDED.
9808         (REG_SYNTAX_POSIX_MINIMAL_EXTENDED): renamed from
9809         RE_SYNTAX_POSIX_MINIMAL_EXTENDED.
9810         (REG_DUP_MAX): renamed from RE_DUP_MAX.  No need to undef it.
9811         (REG_UNALLOCATED): Renamed from REGS_UNALLOCATED.
9812         (REG_REALLOCATE): Renamed from REGS_REALLOCATE.
9813         (REG_FIXED): Renamed from REGS_FIXED.
9814         (REG_NREGS): Renamed from RE_NREGS.
9815
9816         (REG_ICASE, REG_NEWLINE, REG_NOSUB): Do not depend on the values
9817         of other REG_* macros, since POSIX says the user is allowed to
9818         #undef these macros selectively.
9819
9820         (reg_errcode_t): Update comment stating what other tables need
9821         to be consistent.
9822
9823         Rename the following enum values to obey POSIX requirements.
9824         The old names are still visible as macros.
9825         (_REG_ENOSYS): Renamed from REG_ENOSYS.  Define even if _XOPEN_SOURCE
9826         is not defined, since GNU is supposed to be a superset of POSIX as
9827         much as possible, and since we want reg_errcode_t to be a signed
9828         type for implementation consistency.
9829         (_REG_NOERROR): Renamed from REG_NOERROR.
9830         (_REG_NOMATCH): Renamed from REG_NOMATCH.
9831         (_REG_BADPAT): Renamed from REG_BADPAT.
9832         (_REG_ECOLLATE): Renamed from REG_ECOLLATE.
9833         (_REG_ECTYPE): Renamed from REG_ECTYPE.
9834         (_REG_EESCAPE): Renamed from REG_EESCAPE.
9835         (_REG_ESUBREG): Renamed from REG_ESUBREG.
9836         (_REG_EBRACK): Renamed from REG_EBRACK.
9837         (_REG_EPAREN): Renamed from REG_EPAREN.
9838         (_REG_EBRACE): Renamed from REG_EBRACE.
9839         (_REG_BADBR): Renamed from REG_BADBR.
9840         (_REG_ERANGE): Renamed from REG_ERANGE.
9841         (_REG_ESPACE): Renamed from REG_ESPACE.
9842         (_REG_BADRPT): Renamed from REG_BADRPT.
9843         (_REG_EEND): Renamed from REG_EEND.
9844         (_REG_ESIZE): Renamed from REG_ESIZE.
9845         (_REG_ERPAREN): Renamed from REG_ERPAREN.
9846         (REG_ENOSYS, REG_NOERROR, REG_NOMATCH, REG_BADPAT, REG_ECOLLATE):
9847         (REG_ECTYPE, REG_EESCAPE, REG_ESUBREG, REG_EBRACK, REG_EPAREN):
9848         (REG_EBRACE, REG_BADBR, REG_ERANGE, REG_ESPACE, REG_BADRPT, REG_EEND):
9849         (REG_ESIZE, REG_ERPAREN): Now macros, not enum constants.
9850
9851         (_REG_RE_NAME, _REG_RM_NAME): New macros.
9852         (REG_TRANSLATE_TYPE): Renamed from RE_TRANSLATE_TYPE.  All uses
9853         changed.  But support the old name if the new one is not defined
9854         and if _REGEX_SOURCE.
9855
9856         Change the following member names in struct re_pattern_buffer.
9857         The old names are still supported if !_REGEX_SOURCE.
9858         The new names are always supported, regardless of _REGEX_SOURCE.
9859         (re_buffer): Renamed from buffer.
9860         (re_allocated): Renamed from allocated.
9861         (re_used): Renamed from used.
9862         (re_syntax): Renamed from syntax.
9863         (re_fastmap): Renamed from fastmap.
9864         (re_translate): Renamed from translate.
9865         (re_can_be_null): Renamed from can_be_null.
9866         (re_regs_allocated): Renamed from regs_allocated.
9867         (re_fastmap_accurate): Renamed from fastmap_accurate.
9868         (re_no_sub): Renamed from no_sub.
9869         (re_not_bol): Renamed from not_bol.
9870         (re_not_eol): Renamed from not_eol.
9871         (re_newline_anchor): Renamed from newline_anchor.
9872
9873         Change the following member names in struct re_registers.
9874         The old names are still supported if !_REGEX_SOURCE.
9875         The new names are always supported, regardless of _REGEX_SOURCE.
9876         (rm_num_regs): Renamed from num_regs.
9877         (rm_start): Renamed from start.
9878         (rm_end): Renamed from end.
9879
9880         (re_set_syntax, re_compile_pattern, re_compile_fastmap):
9881         (re_search, re_search_2, re_match, re_match_2, re_set_registers):
9882         Prepend __ to parameter names.
9883
9884         Undo yesterday's changes.
9885
9886 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
9887
9888         * config/srclist.txt: Remove glibc bug 1233 and add 1236, which
9889         supersedes it. Add glibc bugs 1237, 1238, 1240.  Comment out
9890         lib/regex.c.
9891
9892 2005-08-24  Jim Meyering  <jim@meyering.net>
9893
9894         Sync from coreutils.
9895         * m4/fcntl-safer.m4: New file.
9896
9897         * m4/xgetcwd.m4: Use AC_LIBSOURCES and AC_LIBOBJ to indicate source
9898         and object files for this module.
9899
9900 2005-08-24  Jim Meyering  <jim@meyering.net>
9901
9902         Sync from coreutils.
9903         * lib/fcntl--.h, lib/fcntl-safer.h, lib/open-safer.c: New files.
9904
9905 2005-08-24  Jim Meyering  <jim@meyering.net>
9906
9907         * modules/xgetcwd (Makefile.am): Remove `lib_SOURCES += ...' line,
9908         now that xgetcwd.m4 requires xgetcwd.c and xgetcwd.h.
9909
9910 2005-08-24  Jim Meyering  <jim@meyering.net>
9911
9912         * modules/fcntl-safer: New module.
9913         * modules/fts (Depends-on): Add fcntl-safer.
9914         * MODULES.html.sh (File descriptor based Input/Output):
9915         Add fcntl-safer.
9916
9917 2005-08-24  Bruno Haible  <bruno@clisp.org>
9918
9919         Support for unit test modules.
9920         * modules/README: Mention tests modules.
9921         * modules/TEMPLATE-TESTS: New file.
9922         * gnulib-tool: New options --extract-tests-module, --with-tests and
9923         --tests-base (unused for the moment).
9924         (testsbase, inctests): New variables.
9925         (func_all_modules): Exclude TEMPLATE-TESTS and *-tests.
9926         (func_verify_module): Exclude TEMPLATE-TESTS.
9927         (func_verify_nontests_module, func_verify_tests_module): New functions.
9928         (func_get_dependencies): Add implicit dependency for tests modules.
9929         (func_get_tests_module): New function.
9930         (func_modules_transitive_closure): When --with-tests was specified,
9931         include the unit tests as well, unless explicitly avoided.
9932         (func_emit_lib_Makefile_am): Ignore the tests modules here.
9933         (func_emit_tests_Makefile_am): New function.
9934         (func_create_testdir): When --with-tests was specified, emit a
9935         tests/ directory.
9936         * MODULES.html.sh (Future developments): Update.
9937
9938 2005-08-24  Bruno Haible  <bruno@clisp.org>
9939
9940         * modules/tls-tests: New file.
9941         * tests/test-tls.c: New file, from GNU gettext.
9942
9943 2005-08-24  Bruno Haible  <bruno@clisp.org>
9944
9945         * modules/lock-tests: New file.
9946         * tests/test-lock.c: New file, from GNU gettext.
9947
9948 2005-08-24  Bruno Haible  <bruno@clisp.org>
9949
9950         * lib/lock.h: Add multiple inclusion guard.
9951         * lib/tls.h: Add multiple inclusion guard.
9952
9953 2005-08-24  Bruno Haible  <bruno@clisp.org>
9954
9955         * gnulib-tool: Add support for the --aux-dir option to
9956         --create-testdir, --create-megatestdir, --test, --megatest.
9957         (func_create_testdir, func_create_megatestdir): Optionally emit a
9958         AC_CONFIG_AUX_DIR directive.
9959         (create-testdir, create-megatestdir, test, megatest): Provide a
9960         default value for $auxdir.
9961
9962 2005-08-24  Bruno Haible  <bruno@clisp.org>
9963
9964         * gnulib-tool (import): Use compound statement instead of subshell
9965         where possible.
9966
9967 2005-08-24  Bruno Haible  <bruno@clisp.org>
9968
9969         * gnulib-tool (import): Change --aux-dir default to "build-aux".
9970
9971 2005-08-24  Bruno Haible  <bruno@clisp.org>
9972
9973         * gnulib-tool (func_version): Update.
9974
9975 2005-08-24  Bruno Haible  <bruno@clisp.org>
9976
9977         * gnulib-tool (func_import, func_create_testdir,
9978         func_create_megatestdir): Quote all autoconf macro arguments.
9979
9980 2005-08-24  Bruno Haible  <bruno@clisp.org>
9981
9982         * gnulib-tool (func_create_megatestdir): Call autoreconf without the
9983         option --force, because --force causes the aclocal.m4 of each
9984         subdirectory to be newer than the corresponding config.h.in.
9985
9986 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
9987
9988         * m4/regex.m4 (gl_INCLUDED_REGEX): Remove; no longer used.
9989         All contents moved to gl_REGEX.
9990         (gl_REGEX): Don't bother checking whether lib/regex.c exists;
9991         assume that it does.
9992
9993 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
9994
9995         * lib/regex.h (REG_NOSYS)
9996         [!defined _XOPEN_SOURCE && 200112L <= _POSIX_C_SOURCE]:
9997         Define, since POSIX requires it as of 2001.
9998         (_REG_ENOSYS)
9999         [! (defined _XOPEN_SOURCE || 200112L <= _POSIX_C_SOURCE)]:
10000         New private symbol, used to keep the enum signed in all cases.
10001         * lib/regex.h (RE_NO_EMPTY_RANGES): Fix doc bug reported by James
10002         Youngman in
10003         <http://lists.gnu.org/archive/html/bug-gnulib/2005-07/msg00132.html>.
10004
10005         * lib/regex_internal.c (re_string_skip_chars, register_state):
10006         (calc_state_hash):
10007         Remove forward decls; no longer needed now that we use prototypes.
10008         * lib/regexec.c (acquire_init_state_context, check_halt_node_context):
10009         (proceed_next_node, pop_fail_stack, sub_epsilon_src_nodes):
10010         (clean_state_log_if_needed): Likewise.
10011
10012 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
10013
10014         * config/srclist.txt: Add glibc bugs 1231-1233.
10015
10016 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
10017
10018         Fix problems reported by Sam Steingold in
10019         <http://lists.gnu.org/archive/html/bug-gnulib/2005-08/msg00007.html>.
10020         * lib/regexec.c (sift_states_bkref): Fix portability bug: the code
10021         assumed that reg_errcode_t is a signed type, which is not
10022         necessarily true if _XOPEN_SOURCE is not defined.
10023         * lib/regex_internal.c (calc_state_hash): Put 'inline' before type,
10024         since some compilers warn about it otherwise.
10025
10026 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
10027
10028         * lib/regcomp.c (create_initial_state): Remove duplicate decl.
10029         (init_word_char, create_initial_state, duplicate_node_closure):
10030         (fetch_token, peek_token_bracket, build_range_exp):
10031         (build_collating_symbol): Remove forward decls; no longer needed
10032         now that we use prototypes.
10033
10034         * lib/regcomp.c:
10035         (re_compile_pattern, re_set_syntax, re_compile_fastmap):
10036         (re_compile_fastmap_iter, regcomp, regerror, regfree):
10037         (re_compile_internal, init_dfa, init_word_char, free_workarea_compile):
10038         (create_initial_state, optimize_utf8, analyze, postorder, preorder):
10039         (optimize_subexps, lower_subexps, lower_subexp, calc_first, calc_next):
10040         (link_nfa_nodes, duplicate_node_closure, search_duplicated_node):
10041         (duplicate_node, calc_inveclosure, calc_eclosure, calc_eclosure_iter):
10042         (fetch_token, peek_token, peek_token_bracket, parse, parse_reg_exp):
10043         (parse_branch, parse_expression, parse_sub_exp, parse_dup_op):
10044         (build_range_exp, build_collating_symbol, parse_bracket_exp):
10045         (parse_bracket_element, parse_bracket_symbol, build_equiv_class):
10046         (build_charclass, build_charclass_op, fetch_number, create_tree):
10047         (create_token_tree, mark_opt_subexp, duplicate_tree):
10048         Use prototypes rather than old-style definitions.
10049
10050         * lib/regex_internal.c:
10051         (re_string_allocate, re_string_construct, re_string_realloc_buffers):
10052         (re_string_construct_common, build_wcs_buffer, build_wcs_upper_buffer):
10053         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
10054         (re_string_reconstruct, re_string_peek_byte_case):
10055         (re_string_fetch_byte_case, re_string_destruct, re_string_context_at):
10056         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
10057         (re_node_set_init_copy, re_node_set_add_intersect):
10058         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
10059         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
10060         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
10061         (re_acquire_state, re_acquire_state_context, register_state):
10062         (create_ci_newstate, create_cd_newstate, free_state):
10063         Likewise.
10064         * lib/regexec.c (regexec, re_match, re_search, re_match_2,
10065         re_search_2):
10066         (re_search_2_stub, re_search_stub, re_copy_regs, re_set_registers):
10067         (re_search_internal, prune_impossible_nodes):
10068         (acquire_init_state_context, check_matching, static):
10069         (check_halt_node_context, check_halt_state_context, proceed_next_node):
10070         (push_fail_stack, pop_fail_stack, set_regs, free_fail_stack_return):
10071         (update_regs, sift_states_backward, build_sifted_states):
10072         (clean_state_log_if_needed, merge_state_array):
10073         (update_cur_sifted_state, add_epsilon_src_nodes):
10074         (sub_epsilon_src_nodes, check_dst_limits, check_dst_limits_calc_pos_1):
10075         (check_dst_limits_calc_pos, check_subexp_limits, sift_states_bkref):
10076         (sift_states_iter_mb, transit_state, merge_state_with_log, static):
10077         (find_recover_state, check_subexp_matching_top, transit_state_mb):
10078         (transit_state_bkref, get_subexp, get_subexp_sub, find_subexp_node):
10079         (check_arrival, check_arrival_add_next_nodes):
10080         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
10081         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
10082         (check_node_accept_bytes, check_node_accept, extend_buffers):
10083         (match_ctx_init, match_ctx_clean, match_ctx_free, match_ctx_add_entry):
10084         (search_cur_bkref_entry, match_ctx_add_subtop, match_ctx_add_sublast):
10085         (sift_ctx_init):
10086         Likewise.
10087
10088         * lib/regex_internal.h:
10089         (re_string_allocate, re_string_construct, re_string_reconstruct):
10090         (re_string_realloc_buffers, build_wcs_buffer, build_wcs_upper_buffer):
10091         (build_upper_buffer, re_string_translate_buffer, re_string_destruct):
10092         (re_string_elem_size_at, re_string_char_size_at, re_string_wchar_at):
10093         (re_string_context_at, re_string_peek_byte_case):
10094         (re_string_fetch_byte_case): Declare even if RE_NO_INTERNAL_PROTOTYPES
10095         is defined, since we now use prototypes always.
10096
10097         * lib/regex.h (_RE_ARGS): Remove.  No longer needed, since we assume
10098         C89 or better.  All uses removed.
10099
10100 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
10101
10102         * config/srclist.txt: Add glibc bugs 1220-1227.
10103
10104 2005-08-20  Jim Meyering  <jim@meyering.net>
10105
10106         * lib/regexec.c (regexec, re_search_stub) [!_LIBC]: Omit declaration
10107         of unused local, dfa.
10108
10109 2005-08-20  Bruno Haible  <bruno@clisp.org>
10110
10111         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_GNU_SOURCE.
10112
10113 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
10114
10115         * lib/regex_internal.c (re_string_realloc_buffers, re_node_set_insert):
10116         (re_node_set_insert_last, re_dfa_add_node):
10117         Rename local variables to avoid GCC shadowing warnings.
10118
10119 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
10120
10121         * lib/regex_internal.c (re_acquire_state, re_acquire_state_context)
10122         [defined lint]: Suppress bogus uninitialized-variable warnings.
10123
10124         * lib/regcomp.c (duplicate_node): Return new index, not an error code,
10125         and let the caller return REG_ESPACE if out of space.  This
10126         removes an uninitialied-variable warning with GCC 4.0.1, and also
10127         avoids taking the address of a local variable.  All callers
10128         changed.
10129
10130 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
10131
10132         * config/srclist.txt: Comment out $LIBCSRC/posix/regex_internal.c,
10133         $LIBCSRC/posix/regexec.c.
10134         Add glibc bug 1217 for regcomp.c.
10135
10136 2005-08-19  Jim Meyering  <jim@meyering.net>
10137
10138         * lib/regexec.c (proceed_next_node): Redo local variables to
10139         avoid GCC shadowing warnings.
10140
10141 2005-08-18  Bruno Haible  <bruno@clisp.org>
10142
10143         * lib/strstr.c (strstr): Fix return value in multibyte case.
10144         * lib/strcasestr.c (strcasestr): Likewise.
10145
10146 2005-08-17  Paul Eggert  <eggert@cs.ucla.edu>
10147
10148         * lib/regex.h: Remove useless space-before-tab.  From coreutils.
10149
10150 2005-08-17  Jim Meyering  <jim@meyering.net>
10151
10152         Make the %s format (seconds since the epoch) work for a negative
10153         number and when used with a zero-padded field width, e.g. %015s.
10154
10155         * lib/strftime.c (my_strftime): Move the `do_number_sign_and_padding'
10156         label so that it precedes the code to set `digits'.  Otherwise,
10157         %0Ns wouldn't work.  Before this change, `date -d @-22 +%05s' would
10158         print `00-22'.  Now, it prints `-0022', as it should.
10159
10160 2005-08-17  Bruno Haible  <bruno@clisp.org>
10161
10162         * modules/strstr (Files): Add m4/mbrtowc.m4.
10163         (Depends-on): Add mbuiter.
10164
10165 2005-08-17  Bruno Haible  <bruno@clisp.org>
10166
10167         * modules/strcasestr: New file.
10168         * MODULES.html.sh (String handling, based on ANSI C 89): Add
10169         strcasestr.
10170
10171 2005-08-17  Bruno Haible  <bruno@clisp.org>
10172
10173         * modules/strcase (Depends-on): Add mbuiter. Remove strnlen1, mbchar.
10174
10175 2005-08-17  Bruno Haible  <bruno@clisp.org>
10176
10177         * modules/mbuiter: New file.
10178         * MODULES.html.sh (Extended multibyte and wide character utilities):
10179         Add mbuiter.
10180
10181 2005-08-17  Bruno Haible  <bruno@clisp.org>
10182
10183         * m4/strstr.m4 (gl_FUNC_STRSTR): Use the replacement function always.
10184         (gl_PREREQ_STRSTR): Use gl_FUNC_MBRTOWC.
10185
10186 2005-08-17  Bruno Haible  <bruno@clisp.org>
10187
10188         * m4/strcasestr.m4: New file.
10189
10190 2005-08-17  Bruno Haible  <bruno@clisp.org>
10191
10192         * lib/strstr.h: Ignore HAVE_STRSTR, always declare the gnulib function.
10193         * lib/strstr.c: Completely rewritten, with multibyte locale support.
10194
10195 2005-08-17  Bruno Haible  <bruno@clisp.org>
10196
10197         * lib/strcasestr.h: New file.
10198         * lib/strcasestr.c: New file.
10199
10200 2005-08-17  Bruno Haible  <bruno@clisp.org>
10201
10202         * lib/strcasecmp.c: Use mbuiter.h.
10203
10204 2005-08-17  Bruno Haible  <bruno@clisp.org>
10205
10206         * lib/mbuiter.h: New file.
10207
10208 2005-08-16  Paul Eggert  <eggert@cs.ucla.edu>
10209
10210         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Do not override the results
10211         of gl_GETOPT_SUBSTITUTE.  That way, if both gl_GETOPT_SUBSTITUTE
10212         and gl_GETOPT are both invoked via different paths (as happens
10213         with GNU tar CVS because it uses both argp and getopt), the former
10214         wins.
10215
10216 2005-08-16  Bruno Haible  <bruno@clisp.org>
10217
10218         * modules/tls: New file.
10219         * MODULES.html.sh (Multithreading): Add tls.
10220
10221 2005-08-16  Bruno Haible  <bruno@clisp.org>
10222
10223         * modules/strnlen1: New file.
10224         * MODULES.html.sh (String handling): Add strnlen1.
10225
10226 2005-08-16  Bruno Haible  <bruno@clisp.org>
10227
10228         * modules/strcase (Files): Add m4/mbrtowc.m4.
10229         (Depends-on): Add strnlen1, mbchar.
10230
10231 2005-08-16  Bruno Haible  <bruno@clisp.org>
10232
10233         * modules/mbiter: New file.
10234         * MODULES.html.sh (Extended multibyte and wide character utilities):
10235         Add mbiter.
10236
10237 2005-08-16  Bruno Haible  <bruno@clisp.org>
10238
10239         * modules/mbfile: New file.
10240         * MODULES.html.sh (Extended multibyte and wide character utilities):
10241         Add mbfile.
10242
10243 2005-08-16  Bruno Haible  <bruno@clisp.org>
10244
10245         * modules/mbchar: New file.
10246         * MODULES.html.sh (Extended multibyte and wide character utilities):
10247         New section.
10248
10249 2005-08-16  Bruno Haible  <bruno@clisp.org>
10250
10251         * m4/tls.m4: New file, from GNU gettext.
10252
10253 2005-08-16  Bruno Haible  <bruno@clisp.org>
10254
10255         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Use the replacement function
10256         always.
10257         (gl_PREREQ_STRCASECMP): Use gl_FUNC_MBRTOWC.
10258
10259 2005-08-16  Bruno Haible  <bruno@clisp.org>
10260
10261         * m4/mbiter.m4: New file.
10262
10263 2005-08-16  Bruno Haible  <bruno@clisp.org>
10264
10265         * m4/mbfile.m4: New file.
10266
10267 2005-08-16  Bruno Haible  <bruno@clisp.org>
10268
10269         * m4/mbchar.m4: New file.
10270
10271 2005-08-16  Bruno Haible  <bruno@clisp.org>
10272
10273         * lib/tls.h: New file, from GNU gettext.
10274         * lib/tls.c: New file, from GNU gettext.
10275
10276 2005-08-16  Bruno Haible  <bruno@clisp.org>
10277
10278         * lib/strnlen1.h: New file.
10279         * lib/strnlen1.c: New file.
10280
10281 2005-08-16  Bruno Haible  <bruno@clisp.org>
10282
10283         * lib/strcasecmp.c (struct mbiter_multi): Remove at_end field.
10284         (mbi_init): Update.
10285         (mbi_avail, mbi_advance): Let the iteration end before the terminating
10286         NUL byte, not after it.
10287
10288 2005-08-16  Bruno Haible  <bruno@clisp.org>
10289
10290         * lib/strcase.h (strcasecmp): Add note in comments.
10291         * lib/strncasecmp.c: Use code from strcasecmp.c.
10292         * lib/strcasecmp.c: Use mbchar module. Define private mbiter variant.
10293         (strcasecmp): Work correctly in multibyte locales.
10294
10295 2005-08-16  Bruno Haible  <bruno@clisp.org>
10296
10297         * lib/mbiter.h: New file.
10298
10299 2005-08-16  Bruno Haible  <bruno@clisp.org>
10300
10301         * lib/mbfile.h: New file.
10302
10303 2005-08-16  Bruno Haible  <bruno@clisp.org>
10304
10305         * lib/mbchar.h: New file.
10306         * lib/mbchar.c: New file.
10307
10308 2005-08-16  Bruno Haible  <bruno@clisp.org>
10309
10310         * lib/mbchar.h (mb_cmp, mb_casecmp): Order the invalid characters after
10311         the valid ones. Makes the comparison operations transitive:
10312         cmp (a, b) < 0 && cmp (b, c) < 0 ==> cmp (a, c) < 0.
10313         * lib/strcasecmp.c (strcasecmp): Use mb_casecmp.
10314
10315 2005-08-15  Simon Josefsson  <jas@extundo.com>
10316
10317         * modules/ssize_t (License): Change to 'unlimited'.
10318
10319         * gnulib-tool (sed_extract_prog): Recognize 'unlimited' license.
10320
10321 2005-08-15  Paul Eggert  <eggert@cs.ucla.edu>
10322
10323         * config/srclist.txt: Comment out $LIBCSRC/posix/regex.h.
10324         Add comments for each pending glibc patch.
10325
10326 2005-08-15  Bruno Haible  <bruno@clisp.org>
10327
10328         * lib/regex.h (__restrict_arr): Don't define to __restrict if
10329         __cplusplus is defined.
10330
10331 2005-08-14  Jim Meyering  <jim@meyering.net>
10332
10333         Sync from coreutils.
10334
10335         * lib/fts-cycle.c (setup_dir, enter_dir, leave_dir, free_dir):
10336         Use the hash-table-based cycle-detection code not just when
10337         FTS_TIGHT_CYCLE_CHECK if specified, but also with FTS_LOGICAL.
10338         Reported by James Youngman in
10339         <http://lists.gnu.org/archive/html/bug-gnulib/2005-08/msg00011.html>.
10340         * lib/fts_.h: Mention that with FTS_LOGICAL, we use
10341         FTS_TIGHT_CYCLE_CHECK.
10342         * lib/fts.c (fts_cross_check) [FTS_DEBUG]:
10343         s/active_dir_ht/fts_cycle.ht/. This lets us compile with -DFTS_DEBUG,
10344         once again.
10345         * lib/fts.c [! _LIBC]: Include "lstat.h" rather than rolling our own.
10346         * lib/fts.c (fd_safer): Remove decl.
10347         Include fcntl--.h rather than unistd-safer.h
10348         (fts_safe_changedir): Don't call fd_safer; no longer needed
10349         now that we include fcntl--.h.
10350
10351 2005-08-12  Simon Josefsson  <jas@extundo.com>
10352
10353         * modules/getndelim2: Use ssize_t module.
10354         * modules/getnline: Likewise.
10355         * modules/safe-read: Likewise.
10356         * modules/xreadlink: Likewise.
10357
10358         * modules/ssize_t: New file.
10359
10360 2005-08-12  Simon Josefsson  <jas@extundo.com>
10361
10362         * m4/readline.m4: Look for termcap, curses or ncurses if required.
10363
10364 2005-08-12  Simon Josefsson  <jas@extundo.com>
10365
10366         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
10367         ssize_t.
10368
10369 2005-08-12  Simon Josefsson  <jas@extundo.com>
10370
10371         * MODULES.html.sh (Extra functions based on ANSI C 89: Misc): Add
10372         readline, getdelim and check_version.
10373         (Support for systems lacking ISO C 99: Sizes of integer types):
10374         Add size_max.
10375
10376 2005-08-12  Bruno Haible  <bruno@clisp.org>
10377
10378         * m4/readline.m4 (gl_FUNC_READLINE): Look for ncurses first.
10379
10380 2005-08-11  Simon Josefsson  <jas@extundo.com>
10381
10382         * modules/readline: New file.
10383
10384         * modules/strnlen (Files): Add strnlen.h.
10385
10386 2005-08-11  Simon Josefsson  <jas@extundo.com>
10387
10388         * m4/readline.m4: New file.
10389
10390 2005-08-11  Simon Josefsson  <jas@extundo.com>
10391
10392         * lib/readline.h, readline.c: New file.
10393
10394 2005-08-11  Simon Josefsson  <jas@extundo.com>
10395
10396         * doc/gnulib.texi (Initial import, Finishing touches): Mention
10397         gl_AVOID.
10398
10399 2005-08-11  Bruno Haible  <bruno@clisp.org>
10400
10401         * lib/strnlen.h (strnlen): Change parameter name to match comment.
10402
10403 2005-08-10  Stepan Kasal  <kasal@ucw.cz>
10404
10405         * m4/onceonly_2_57.m4: Really require Autoconf 2.57.
10406
10407 2005-08-10  Simon Josefsson  <jas@extundo.com>
10408
10409         * tests/test-iconvme.c: New file.
10410
10411 2005-08-10  Simon Josefsson  <jas@extundo.com>
10412
10413         * m4/strnlen.m4: New file.
10414
10415         * m4/strndup.m4: Don't check for strnlen declaration, done in
10416         strnlen.m4.
10417
10418 2005-08-10  Simon Josefsson  <jas@extundo.com>
10419
10420         * lib/strndup.c: Use strnlen.h.
10421
10422         * lib/strnlen.h: New file.
10423
10424 2005-08-08  Ralf Wildenhues <Ralf.Wildenhues@gmx.de>  (tiny change)
10425
10426         * README: Typos.
10427
10428 2005-08-02  Simon Josefsson  <jas@extundo.com>
10429
10430         * modules/readline: New file.
10431
10432 2005-08-02  Simon Josefsson  <jas@extundo.com>
10433
10434         * modules/getdelim: New file.
10435
10436         * modules/getline: Rewrite, don't use getndelim2.
10437
10438 2005-08-02  Simon Josefsson  <jas@extundo.com>
10439
10440         * m4/getline.m4: Separate out getdelim stuff into separate module.
10441
10442         * m4/getdelim.m4: New file.
10443
10444 2005-08-02  Simon Josefsson  <jas@extundo.com>
10445
10446         * lib/getline.h, getline.c: Rewrite.
10447
10448         * lib/getdelim.h, lib/getdelim.c: New files, ported from glibc.
10449
10450 2005-07-31  Bruno Haible  <bruno@clisp.org>
10451
10452         * lib/lock.h (gl_lock_initializer): New macro.
10453         (gl_lock_define_initialized): Use it.
10454         (gl_rwlock_initializer): New macro.
10455         (gl_rwlock_define_initialized): Use it.
10456         (gl_recursive_lock_initializer): New macro.
10457         (gl_recursive_lock_define_initialized): Use it.
10458
10459 2005-07-30  Karl Berry  <karl@gnu.org>
10460
10461         * doc/gnulib.texi (Initial import): mention -I$(top_builddir)/lib.
10462         Report from Ben Pfaff, regarding getopt.
10463
10464 2005-07-26  Paul Eggert  <eggert@cs.ucla.edu>
10465
10466         Add support to getopt for Emacs, which doesn't use LIBOBJS in the
10467         normal way.
10468         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE_HEADER): New macro.
10469         (gl_GETOPT_SUBSTITUTE): Use it.  Invoke gl_PREREQ_GETOPT.
10470         (gl_GETOPT_IFELSE, gl_GETOPT_CHECK_HEADERS): New macros.
10471         (gl_GETOPT): Use the new macros.  Most of the implementation
10472         is moved to the new macros.  This is for programs like Emacs
10473         that don't want all the functionality of gl_GETOPT.
10474
10475 2005-07-26  Bruno Haible  <bruno@clisp.org>
10476
10477         * m4/lock.m4: Update from GNU gettext.
10478
10479 2005-07-26  Bruno Haible  <bruno@clisp.org>
10480
10481         * lib/lock.h: Update from GNU gettext.
10482         * lib/lock.c: Update from GNU gettext.
10483
10484 2005-07-25  Paul Eggert  <eggert@cs.ucla.edu>
10485
10486         * m4/regex.m4 (gl_INCLUDED_REGEX): Use AC_RUN_IFELSE instead of the
10487         obsolescent AC_TRY_RUN.  Include the default includes files, for
10488         'exit'.
10489
10490 2005-07-24  Bruno Haible  <bruno@clisp.org>
10491
10492         * modules/visibility: New file.
10493         * MODULES.html.sh (Misc): Add visibility.
10494
10495 2005-07-24  Bruno Haible  <bruno@clisp.org>
10496
10497         * m4/visibility.m4: New file.
10498
10499 2005-07-24  Bruno Haible  <bruno@clisp.org>
10500
10501         * doc/visibility.texi: New file.
10502
10503 2005-07-22  Bruno Haible  <bruno@clisp.org>
10504
10505         * modules/alloca-opt (Makefile.am): Remove explicit dependency on
10506         $(ALLOCA_H), redundant through BUILT_SOURCES.
10507         * modules/argz (Makefile.am): Remove explicit dependency on $(ARGZ_H),
10508         redundant through BUILT_SOURCES.
10509         * modules/byteswap (Makefile.am): Remove explicit dependency on
10510         $(BYTESWAP_H), redundant through BUILT_SOURCES.
10511         * modules/fnmatch (Makefile.am): Remove explicit dependency on
10512         $(FNMATCH_H), redundant through BUILT_SOURCES.
10513         * modules/getopt (Makefile.am): Remove explicit dependency on
10514         $(GETOPT_H), redundant through BUILT_SOURCES.
10515         * modules/glob (Makefile.am): Remove explicit dependency on $(GLOB_H),
10516         redundant through BUILT_SOURCES.
10517         * modules/poll (Makefile.am): Remove explicit dependency on $(POLL_H),
10518         redundant through BUILT_SOURCES.
10519         * modules/stdbool (Makefile.am): Remove explicit dependency on
10520         $(STDBOOL_H), redundant through BUILT_SOURCES.
10521         * modules/stdint (Makefile.am): Remove explicit dependency on
10522         $(STDINT_H), redundant through BUILT_SOURCES.
10523         * modules/sysexits (Makefile.am): Add $(SYSEXITS_H) to BUILT_SOURCES.
10524         Remove explicit dependency on $(SYSEXITS_H).
10525         Reported by Alexandre Duret-Lutz <adl@src.lip6.fr>.
10526
10527 2005-07-18  Simon Josefsson  <jas@extundo.com>
10528
10529         * lib/check-version.c (check_version): Accept identical versions too.
10530
10531 2005-07-18  Bruno Haible  <bruno@clisp.org>
10532
10533         * modules/lock: New file.
10534         * MODULES.html.sh (Multithreading): New section.
10535
10536 2005-07-18  Bruno Haible  <bruno@clisp.org>
10537
10538         * m4/lock.m4: New file, from GNU gettext.
10539
10540 2005-07-18  Bruno Haible  <bruno@clisp.org>
10541
10542         * lib/lock.h: New file, from GNU gettext.
10543         * lib/lock.c: New file, from GNU gettext.
10544
10545 2005-07-18  Bruno Haible  <bruno@clisp.org>
10546
10547         * lib/lock.h (gl_once_t): New type.
10548         (gl_once_define, gl_once): New macros.
10549         * lib/lock.c (fresh_once): New variable.
10550         (glthread_once, glthread_once_call, glthread_once_singlethreaded): New
10551         functions.
10552
10553 2005-07-16  Simon Josefsson  <jas@extundo.com>
10554
10555         * doc/gnulib.texi (Library version handling): Add ELF symbol collision
10556         workaround, suggested by Bruno.
10557
10558 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
10559
10560         * modules/xalloc (Depends-on): Add xalloc-die.
10561         * modules/xvasprintf (Depends-on): Add xalloc-die.
10562
10563 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
10564
10565         * lib/quotearg.c: Add translator comment suggested by Bruno Haible,
10566         with a minor change.
10567
10568 2005-07-15  Bruno Haible  <bruno@clisp.org>
10569
10570         * m4/poll.m4 (gl_FUNC_POLL): Check against MacOS X 10.4 poll() bug.
10571         When using lib/poll.c, define poll as rpl_poll.
10572
10573 2005-07-14  Paul Eggert  <eggert@cs.ucla.edu>
10574
10575         * modules/argp (Depends-on): Remove unlocked-io.
10576
10577 2005-07-14  Derek Price  <derek@ximbiot.com>
10578
10579         * m4/glob.m4 (gl_GLOB): Cache glob interface check result.  Add check
10580         for glob symlink bug.
10581
10582 2005-07-14  Bruno Haible  <bruno@clisp.org>
10583
10584         * m4/argp.m4 (gl_ARGP): Remove invocation of gl_FUNC_GLIBC_UNLOCKED_IO.
10585         Instead, test for *_unlocked function declarations directly.
10586
10587 2005-07-11  Simon Josefsson  <jas@extundo.com>
10588
10589         * modules/size_max: New file.
10590
10591         * modules/xsize: Depend on size_max module for size_max.m4.
10592
10593 2005-07-11  Simon Josefsson  <jas@extundo.com>
10594
10595         * lib/size_max.h: New file.
10596
10597 2005-07-11  Paul Eggert  <eggert@cs.ucla.edu>
10598
10599         * lib/version-etc-fsf.c (version_etc_copyright): Parameterize the
10600         copyright symbol and the year.
10601         * lib/version-etc.c (COPYRIGHT_YEAR): New constant.
10602         (version_etc_va): Use parameterized copyright notice.
10603         Reword to conform to the current GNU coding standards.
10604
10605 2005-07-11  Karl Berry  <karl@gnu.org>
10606
10607         * doc/gnulib.texi (Quoting): new node.
10608         (Initial import): more info, from Patrice.
10609
10610 2005-07-11  Bruno Haible  <bruno@clisp.org>
10611
10612         * gnulib-tool (func_usage): Document option --avoid.
10613         (Command line options): Handle --avoid.
10614         (func_acceptable): New function.
10615         (func_modules_transitive_closure): Use it.
10616
10617 2005-07-11  Bruno Haible  <bruno@clisp.org>
10618
10619         * MODULES.html.sh: Use shortcut URLs to the www.opengroup.org site.
10620         Reported by Jim Meyering.
10621
10622 2005-07-10  Bruno Haible  <bruno@clisp.org>
10623
10624         * m4/size_max.m4 (gl_SIZE_MAX): Cast ~(size_t)0 back to size_t.
10625         Needed when size_t is smaller than 'unsigned int'.
10626         Reported by Paul Eggert.
10627
10628 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
10629
10630         * modules/argp (Depends-on): Add unlocked-io
10631
10632 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
10633
10634         * lib/argp-namefrob.h: Include unlocked-io.h. Removed unnecessary
10635         block of defines.
10636
10637 2005-07-08  Paul Eggert  <eggert@cs.ucla.edu>
10638
10639         * config/srclist.txt: Comment out regcomp.c, since we have a porting
10640         fix now.
10641
10642 2005-07-08  Eric Blake  <ebb9@byu.net>  (tiny change)
10643         and Paul Eggert  <eggert@cs.ucla.edu>
10644
10645         * lib/regcomp.c (init_dfa, build_range_exp): Store __btowc value
10646         in wint_t, not wchar_t.  Remove now-unnecessary cast.
10647
10648 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
10649
10650         * modules/regex (Files): Add lib/regex_internal.c,
10651         lib/regex_internal.h, lib/regexec.c, lib/regcomp.c, m4/codeset.m4.
10652         (Depends-on): Add extensions.
10653         (Makefile.am): Remove lib_SOURCES; now done by m4 code.
10654
10655 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
10656
10657         * m4/backupfile.m4 (gl_BACKUPFILE): Use AC_CHECK_FUNCS_ONCE on
10658         pathconf.
10659         * m4/same.m4 (gl_SAME): Likewise.
10660         Require AC_SYS_LONG_FILE_NAMES; bug reported by Gerrit P. Haase.
10661
10662         * m4/regex.m4: Adjust to new libc regex implementation.
10663         (gl_INCLUDED_REGEX): Add AC_LIBSOURCES for
10664         all the .c and .h parts of (the new) regex.
10665         Quote the m4 stuff better.
10666         Check for RE_ICASE bug of old gnulib.
10667         Check for REG_STARTEND of recent libc.
10668         Rename local variables from jm_* to gl_*.
10669         Quote operand of "test -f".
10670         Say "recent enough" version of libc, not "version 2".
10671         (gl_PREREQ_REGEX): Remove AC_FUNC_ALLOCA, since alloca is a
10672         prerequisite module.  Remove AC_HEADER_STDC; no longer needed.
10673         Check for locale.h, isblank, mbrtowc, wcrtomb, wcscoll.
10674         Remove check for btowc, isascii.
10675         Require AM_LANGINFO_CODESET.
10676
10677 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
10678
10679         * lib/regex.c, regex.h: Sync from libc.
10680         * lib/regcomp.c, lib/regexec_internal.c, lib/regex_internal.h:
10681         * lib/regexec.c:
10682         New files, synced from libc, except that regex_internal.h
10683         currently has a small porting fix.
10684
10685 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
10686
10687         * config/srclist.txt: Add regcomp.c, regex.c, regex.h,
10688         regex_internal.c, regexec.c.
10689         Add regex_internal.h too, but as a comment, since the libc version
10690         is currently broken in gnulib mode.
10691
10692 2005-07-06  Paul Eggert  <eggert@cs.ucla.edu>
10693
10694         Support programs like Emacs that use gnulib but not gettext.
10695         * MODULES.html.sh (Internationalization functions): Add gettext-h.
10696         * modules/gettext-h: New file.
10697         * modules/gettext (Files): Remove lib/gettext.h.
10698         (Depends-on): Add gettext-h.
10699         (Makefile.am): Remove lib_SOURCES.
10700         * modules/argmatch, modules/c-stack, modules/closeout:
10701         * modules/copy-file, modules/csharpcomp, modules/csharpexec:
10702         * modules/execute, modules/file-type, modules/getaddrinfo:
10703         * modules/getopt, modules/human, modules/javacomp:
10704         * modules/javaexec, modules/mkdir-p, modules/obstack:
10705         * modules/openat, modules/pagealign_alloc, modules/pipe:
10706         * modules/quotearg, modules/regex, modules/rpmatch:
10707         * modules/unicodeio, modules/userspec, modules/version-etc:
10708         * modules/wait-process, modules/xalloc-die, modules/xmemcoll:
10709         * modules/xsetenv:
10710         Depend on gettext-h, not gettext.
10711
10712 2005-07-05  Paul Eggert  <eggert@cs.ucla.edu>
10713
10714         * gnulib-tool (func_import): Add support for 'public domain' license.
10715         * modules/alloca, modules/atexit, modules/memmove:
10716         Now public domain, not GPL.
10717         * modules/dup2, modules/getpagesize, modules/malloc, modules/memset:
10718         * modules/realloc, modules/strerror, modules/strtod:
10719         Now LGPL, not GPL.
10720
10721 2005-07-05  Bruno Haible  <bruno@clisp.org>
10722
10723         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): Upgrade to version from current
10724         autoconf CVS. Needed for mingw.
10725
10726 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
10727
10728         Remove the dependency of the strftime module on the tzset module.
10729         * modules/strftime (Depends-on): Remove dependency on tzset.
10730
10731 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
10732
10733         Remove the dependency of the strftime module on the tzset module.
10734         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't require
10735         gl_FUNC_TZSET_CLOBBER.
10736
10737 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
10738
10739         Remove the dependency of the strftime module on the tzset module.
10740         * lib/strftime.c (my_strftime)
10741         [! defined _LIBC && ! HAVE_RUN_TZSET_TEST]:
10742         Copy the input structure, to work around some of the bug with
10743         Solaris 2.5.1 and Solaris 2.6.  If you still care about these old
10744         Solaris releases, you should also use the tzset module, but we won't
10745         require it as a dependency any more since we don't want LGPLed code
10746         to depend on GPLed code.
10747
10748 2005-07-02  Jim Meyering  <jim@meyering.net>
10749
10750         * m4/chown.m4, cloexec.m4, dup2.m4, fsusage.m4:
10751         * m4/getcwd-path-max.m4, getcwd.m4, mkstemp.m4, mountlist.m4:
10752         * m4/pagealign_alloc.m4, save-cwd.m4, unistd-safer.m4:
10753         Don't check for fcntl.h, and don't test for HAVE_FCNTL_H.
10754
10755 2005-07-02  Jim Meyering  <jim@meyering.net>
10756
10757         * lib/backupfile.c (backup_args): Change a `0' to NULL.
10758
10759 2005-07-01  Paul Eggert  <eggert@cs.ucla.edu>
10760
10761         * lib/xnanosleep.c: Include timespec.h, since OpenBSD 3.4 <time.h>
10762         declares only 'struct timespec;' (!).
10763
10764 2005-07-01  Jim Meyering  <jim@meyering.net>
10765
10766         * lib/chown.c, cloexec.c, dup-safer.c, dup2.c, fsusage.c, getcwd.c:
10767         * lib/getloadavg.c, mountlist.c, openat.h, pagealign_alloc.c:
10768         * lib/save-cwd.c, tempname.c:
10769         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
10770         and don't include <sys/file.h>).
10771
10772 2005-06-29  Jim Meyering  <jim@meyering.net>
10773
10774         * lib/mkdir-p.c (make_dir_parents): Don't apply sizeof to a hard-coded
10775         type name.  Use the variable name instead.
10776         * lib/idcache.c (getuser, getuidbyname, getgroup, getgidbyname):
10777         Likewise.
10778
10779 2005-06-28  Simon Josefsson  <jas@extundo.com>
10780
10781         * modules/check-version (Files): Add check-version.m4.
10782
10783 2005-06-28  Simon Josefsson  <jas@extundo.com>
10784
10785         * m4/check-version.m4: New file, suggested by Jim Meyering
10786         <jim@meyering.net>.
10787
10788 2005-06-28  Simon Josefsson  <jas@extundo.com>
10789
10790         * lib/check-version.h, lib/check-version.c: New files.
10791
10792 2005-06-28  Simon Josefsson  <jas@extundo.com>
10793
10794         * lib/base64.c (base64_encode): Indent.  Rename 'b64' to avoid
10795         collision with global variable.  Better indentation.  Don't
10796         increment buffer pointer beyond buffer end.  Based on comments
10797         from Paul Eggert <eggert@cs.ucla.edu>.
10798
10799         * lib/base64.h: Indent.
10800
10801 2005-06-28  Simon Josefsson  <jas@extundo.com>
10802
10803         * doc/gnulib.texi (Library version handling): New section.
10804
10805 2005-06-28  Jim Meyering  <jim@meyering.net>
10806
10807         * check-module (find_included_lib_files): Hard-code another
10808         pair of exceptions: fts.c includes fts-cycle.c and unistd-safer.h
10809         but modules/fts-lgpl (correctly) does not list those files.
10810
10811         * modules/canonicalize (Files): Add lib/pathmax.h.
10812
10813 2005-06-25  Simon Josefsson  <jas@extundo.com>
10814
10815         * modules/check-version: New file.
10816
10817 2005-06-24  Paul Eggert  <eggert@cs.ucla.edu>
10818
10819         * lib/canon-host.c (canon-host): Append trailing "," to 0 in
10820         initializer of struct addrinfo, as an indication that we don't
10821         care how many members the structure has.
10822
10823 2005-06-24  Derek Price  <derek@ximbiot.com>
10824         and Bruno Haible  <bruno@clisp.org>
10825
10826         Remove stat module & update lstat.
10827         * m4/lstat.m4 (gl_FUNC_LSTAT): Drop AC_FUNC_LSTAT in favor of
10828         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
10829         * m4/stat.m4: Remove this file.
10830
10831 2005-06-24  Derek Price  <derek@ximbiot.com>
10832         and Bruno Haible  <bruno@clisp.org>
10833
10834         Remove stat module & update lstat.
10835         * lib/stat.c: Remove this file...
10836         (slash_aware_lstat): ...moving this content and its support...
10837         * lib/lstat.c (rpl_lstat): ...into here.
10838         * lib/lstat.h: New file.
10839
10840 2005-06-24  Derek Price  <derek@ximbiot.com>
10841         and Bruno Haible  <bruno@clisp.org>
10842
10843         Remove stat module & update lstat.
10844         * config/srclist.txt (libc sources): Remove stat.
10845
10846 2005-06-24  Derek Price  <derek@ximbiot.com>
10847         and Bruno Haible  <bruno@clisp.org>
10848
10849         Remove stat module & update lstat.
10850         * MODULES.html.sh (stat): Remove.
10851         * MODULES.html: Regenerated.
10852         * modules/lstat (Description): Correct function name.
10853         (Files): Add "lstat.h".
10854         (Depends-on): Remove stat, add xalloc, stat-macros.
10855         * modules/stat: Remove this file.
10856         (Include): Add "lstat.h", remove <sys/stat.h>.
10857
10858 2005-06-23  Paul Eggert  <eggert@cs.ucla.edu>
10859
10860         * lib/mktime.c: Include <string.h> even if !DEBUG.  (From glibc.)
10861         (ranged_convert): Don't save conversion in a temporary struct.
10862         This causes a warning with GCC 4.0.0, and anyway in the typical
10863         case it's not worth the extra 100 bytes or so of code.
10864         (ranged_convert, __mktime_internal): When calling a function via a
10865         pointer P, use P () rather than (*P) (), as we now assume C89 or
10866         better.
10867
10868 2005-06-22  Paul Eggert  <eggert@cs.ucla.edu>
10869
10870         * lib/readutmp.c (desirable_utmp_entry): Fix bug where "who -b" and
10871         "who -r" failed to give output.  Problem reported by Tim Waugh.
10872
10873         * lib/xmalloc.c (HAVE_GNU_CALLOC): New constant.
10874         (xcalloc): Use it to avoid needless tests.
10875         Problem reported by Jim Meyering.
10876
10877 2005-06-20  Derek Price  <derek@ximbiot.com>
10878
10879         * m4/bison.m4: Note that precious decls of YACC & YFLAGS will be
10880         unnecessary for Autoconfs > 2.59c.
10881
10882 2005-06-16  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
10883
10884         * lib/argp.h (__option_is_short): Check upper limit of
10885         __key. Isprint() requires its argument to have the value
10886         of an unsigned char or EOF.
10887
10888 2005-06-16  Jim Meyering  <jim@meyering.net>
10889
10890         * lib/calloc.c (rpl_calloc): Allocate a 1-byte buffer (not 1xS or Nx1)
10891         when either N or S is zero.
10892
10893 2005-06-16  Derek Price  <derek@ximbiot.com>
10894
10895         * m4/bison.m4: Declare YACC & YFLAGS precious.
10896
10897 2005-06-10  Paul Eggert  <eggert@cs.ucla.edu>
10898
10899         * lib/fnmatch.c (fnmatch): If there is an encoding error in a
10900         multibyte string or pattern, fall back on unibyte matching.
10901         Problem reported by James Youngman.
10902
10903 2005-06-08  Bruno Haible  <bruno@clisp.org>
10904
10905         * modules/csharpcomp: New file.
10906         * MODULES.html.sh (C#): Add csharpcomp.
10907
10908 2005-06-08  Bruno Haible  <bruno@clisp.org>
10909
10910         * m4/csharpcomp.m4: New file, from GNU gettext.
10911
10912 2005-06-08  Bruno Haible  <bruno@clisp.org>
10913
10914         * lib/csharpcomp.h: New file, from GNU gettext.
10915         * lib/csharpcomp.c: New file, from GNU gettext.
10916         * lib/csharpcomp.sh.in: New file, from GNU gettext.
10917
10918 2005-06-08  Bruno Haible  <bruno@clisp.org>
10919
10920         * lib/binary-io.h (fileno): Undefine before defining it. Avoids a gcc
10921         warning on mingw.
10922
10923 2005-06-07  Derek Price  <derek@ximbiot.com>
10924
10925         Sync from CVS.
10926         * lib/glob_.h: Indent nested #ifdef.
10927
10928 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
10929
10930         Sync from coreutils.
10931         Use "file name" when talking about file names, instead of "filename"
10932         or "path", as per the GNU coding standards.
10933         * lib/mkdir-p.c: Renamed from makepath.c.
10934         (make_dir_parents): Renamed from make_path.  All callers changed.
10935         * lib/mkdir-p.h: Likewise.  All includers changed.
10936         * lib/filenamecat.c: Renamed from path-concat.c.
10937         (file_name_concat): Renamed from path_concat.  All callers changed.
10938         [TEST_FILE_NAME_CONCAT]: Renamed from TEST_PATH_CONCAT.
10939         * lib/filenamecat.h: Likewise.  All includers changed.
10940         * lib/acl.c: Don't use "path" or "filename" to mean "file name"
10941         in comments or local variable names.
10942         * lib/basename.c: Likewise.
10943         * lib/canonicalize.c, canonicalize.h: Likewise.
10944         * lib/dirname.c, dirname.h: Likewise.
10945         * lib/euidaccess.c: Likewise.
10946         * lib/exclude.c: Likewise
10947         * lib/fnmatch_.h, fnmatch_loop.c: Likewise.
10948         * lib/fsusage.c, fsuage.h: Likewise.
10949         * lib/fts.c, fts_.h: Likewise.
10950         * lib/getcwd.c: Likewise.
10951         * lib/getloadavg.c: Likewise.
10952         * lib/mkstemp.c: Likewise.
10953         * lib/mountlist.c, mountlist.h: Likewise.
10954         * lib/openat.c, openat.h: Likewise.
10955         * lib/readlink-stub.c: Likewise.
10956         * lib/readutmp.c, readutmp.h: Likewise.
10957         * lib/rename.c: Likewise.
10958         * lib/rmdir.c: Likewise.
10959         * lib/same.c: Likewise.
10960         * lib/savedir.c: Likewise.
10961         * lib/stripslash.c: Likewise.
10962         * lib/tempname.c: Likewise.
10963         * lib/xreadlink.c: Likewise.
10964         * lib/exclude.c (excluded_file_name): Renamed from excluded_filename.
10965         All uses changed.
10966         * lib/exclude.h: Likewise.
10967
10968         * lib/euidaccess.c (getuid, getgid, getuid, getegid)
10969         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
10970         * lib/idcache.c (getpwuid, getpwnam, getgrgid, getgrnam)
10971         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
10972         * lib/pathmax.h: Include <limits.h> unconditionally, since other
10973         files have been getting away with it for years (MORE/BSD 4.3
10974         is extinct now).
10975         * lib/userspec.c (getpwnam, getgrnam, getgrgid)
10976         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
10977
10978         * lib/pathmax.h (_POSIX_PATH_MAX) [!defined _POSIX_PATH_MAX]:
10979         Define to 256, not 255, as per modern POSIX.
10980
10981 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
10982
10983         Sync from coreutils.
10984         Use "file name" when talking about file names, instead of "filename"
10985         or "path", as per the GNU coding standards.
10986         * MODULES.html.sh: mkdir-p renamed from makepath.
10987         filenamecat renamed from path-concat.
10988         * modules/filenamecat: Renamed from modules/path-concat.
10989         (Files): filenamecat.h and filenamecat.c renamed from
10990         path-concat.h and path-concat.c.
10991         (configure.ac): gl_FILE_NAME_CONCAT, not gl_PATH_CONCAT.
10992         (Include): filenamecat.h, not path-concat.h.
10993         * modules/mkdir-p: Renamed from modules/makepath.
10994         (Files): mkdir-p.h and mkdir-p.c renamed from makepath.h and
10995         makepath.c.
10996         (configure.ac): gl_MKDIR_PARENTS, not gl_MAKEPATH.
10997         (Include): mkdir-p.h, not makepath.h.
10998
10999 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
11000
11001         Sync from coreutils.
11002         * m4/mkdir-p.m4: Renamed from makepath.m4.
11003         (gl_MKDIR_PARENTS): Renamed from gl_MAKEPATH.  All uses changed.
11004         Rename files from makepath.c to mkdir-p.c, and from
11005         makepath.h to mkdir-p.h.
11006         * m4/filenamecat.m4: Renamed from path-concat.m4.
11007         (gl_FILE_NAME_CONCAT): Renamed from gl_PATH_CONCAT.  All uses changed.
11008         Rename files from path-concat.c to filenamecat.c,
11009         and from path-concat.h to filenamecat.h.
11010         * m4/getcwd-path-max.m4: Don't use "path" or "filename" to mean
11011         "file name" in local variables or comments.
11012         * m4/rename.m4: Likewise.
11013
11014 2005-06-01  Bruno Haible  <bruno@clisp.org>
11015
11016         * modules/csharpexec: New file.
11017         * MODULES.html.sh (C#): New section.
11018
11019 2005-06-01  Bruno Haible  <bruno@clisp.org>
11020
11021         * m4/csharp.m4: New file, from GNU gettext.
11022         * m4/csharpexec.m4: New file, from GNU gettext.
11023
11024 2005-06-01  Bruno Haible  <bruno@clisp.org>
11025
11026         * lib/csharpexec.h: New file, from GNU gettext.
11027         * lib/csharpexec.c: New file, from GNU gettext.
11028         * lib/csharpexec.sh.in: New file, from GNU gettext.
11029
11030 2005-05-31  Derek Price  <derek@ximbiot.com>
11031             Paul Eggert  <eggert@cs.ucla.edu>
11032
11033         Sync from cvs.
11034         * m4/glob.m4: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
11035
11036 2005-05-31  Derek Price  <derek@ximbiot.com>
11037             Paul Eggert  <eggert@cs.ucla.edu>
11038
11039         Sync from cvs.
11040         * lib/glob_.h: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
11041
11042 2005-05-29  Derek Price  <derek@ximbiot.com>
11043
11044         * config/srclist.txt (glob_.h, glob.c): Add these files.
11045
11046 2005-05-29  Derek Price  <derek@ximbiot.com>
11047
11048         * MODULES.html.sh: Add glob to Enhanced POSIX.2001 section.
11049         * modules/glob: New file.
11050         * modules/getlogin_r: Add link to POSIX spec in description.
11051
11052 2005-05-29  Derek Price  <derek@ximbiot.com>
11053             Paul Eggert  <eggert@cs.ucla.edu>
11054
11055         * m4/glob.m4: New file.
11056
11057 2005-05-29  Derek Price  <derek@ximbiot.com>
11058             Paul Eggert  <eggert@cs.ucla.edu>
11059
11060         * lib/glob_.h, lib/glob.c: New files.
11061
11062 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
11063
11064         * modules/fts (Files): Remove m4/inttypes-pri.m4.
11065         * modules/fts-lgpl (Depends-on): Remove gettext.
11066
11067 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
11068
11069         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't check for inttypes.h or stdint.h,
11070         and don't require gt_INTTYPES_PRI.
11071
11072 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
11073
11074         * lib/getlogin_r.c (getlogin_r): Don't set errno to 0 on return.
11075
11076         * lib/fts.c: Don't worry about debugging on pre-C99-compatible hosts;
11077         the configuration hassle isn't worth it.
11078         Include inttypes.h and stdint.h unconditionally if FTS_DEBUG.
11079         (LONGEST_MODIFIER, PRIuMAX): Remove.
11080
11081 2005-05-27  Bruno Haible  <bruno@clisp.org>
11082
11083         * lib/getlogin_r.h: Remove second include of <stddef.h>.
11084
11085 2005-05-26  Paul Eggert  <eggert@cs.ucla.edu>
11086
11087         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Define
11088         _POSIX_PTHREAD_SEMANTICS for Solaris.
11089
11090 2005-05-25  Derek Price  <derek@ximbiot.com>
11091
11092         * MODULES.html.sh: Add getlogin_r to POSIX.2001 support section.
11093
11094 2005-05-25  Derek Price  <derek@ximbiot.com>
11095             Paul Eggert  <eggert@cs.ucla.edu>
11096
11097         * modules/getlogin_r, m4/getlogin_r.m4: New files.
11098         * lib/getlogin_r.c, getlogin_r.h: New files.
11099
11100 2005-05-25  Bruno Haible  <bruno@clisp.org>
11101             Derek Price  <derek@ximbiot.com>
11102
11103         * lib/getlogin_r.h: Simplify API documentation.
11104
11105 2005-05-23  Derek Price  <derek@ximbiot.com>
11106
11107         * modules/minmax (Files): Add m4/minmax.m4.
11108         (configure.ac): Add gl_MINMAX.
11109
11110 2005-05-22  Paul Eggert  <eggert@cs.ucla.edu>
11111
11112         * lib/fts.c (fd_safer) [_LGPL_PACKAGE]: New static function,
11113         so that unistd-safer.h (GPL'ed code) need not be included.
11114
11115 2005-05-22  Bruno Haible  <bruno@clisp.org>
11116
11117         * m4/minmax.m4: New file.
11118         Based on a patch by Derek Price <derek@ximbiot.com>.
11119
11120 2005-05-22  Bruno Haible  <bruno@clisp.org>
11121
11122         * lib/stdint_.h (_STDINT_H_HAVE_INT64): New macro. Use it in #ifdefs.
11123         (INT64_MIN): Fix definition.
11124         Suggested by Paul Eggert <eggert@cs.ucla.edu>.
11125
11126         * lib/stdint_.h (_STDINT_H_NEED_SIGNED_INT_TYPES): Renamed from
11127         NEED_SIGNED_INT_TYPES.
11128
11129         * lib/stdint_.h (_STDINT_H_HAVE_SYSTEM_INTTYPES): Renamed from
11130         HAVE_SYSTEM_INTTYPES.
11131
11132 2005-05-22  Bruno Haible  <bruno@clisp.org>
11133
11134         * lib/minmax.h: Include <limits.h> only when it defines MIN, MAX.
11135         Also include <sys/param.h> if it defines MIN, MAX.
11136         Based on a patch by Derek Price <derek@ximbiot.com>.
11137
11138 2005-05-21  Jim Meyering  <jim@meyering.net>
11139
11140         * modules/fts (Files): Add m4/inttypes-pri.m4.
11141         (Depends-on): Add lstat and remove gettext.  Alphabetize.
11142
11143 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
11144
11145         New fts module.
11146         * lib/fts.c: Don't include "cycle-check.h" or "hash.h".
11147         (setup_dir, free_dir): New functions.
11148         (enter_dir, leave_dir): Define trivial
11149         alternatives of _LGPL_PACKAGE.  Move to fts-cycle.c if !_LGPL_PACKAGE.
11150         (HT_INITIAL_SIZE, ENTER_DIR): Remove.  All uses removed.
11151         (LEAVE_DIR): Fix typo: pass Fts and Ent to leave_dir.
11152         (struct Active_dir, AD_compare, AD_hash, enter_dir, leave_dir):
11153         Move to fts-cycle.c.
11154         (fts_open): Use setup_dir.
11155         (fts_close): Use free_dir.
11156         (fts_read): Have just one copy of the ENTER_DIR code rather than three.
11157         This adds a label and some gotos, but the alternatives were messier.
11158         Check for memory allocation failure when entering a dir.
11159         (fts_stat) [_LGPL_PACKAGE]: Bring back glibc cycle detection code.
11160         * lib/fts_.h (_LGPL_PACKAGE) [defined _LIBC]: New macro.
11161         (FTS): New member fts_cycle, that is a union that contains the
11162         old active_dir_ht and cycle_state.  All uses changed to mention
11163         fts_cycle.ht and fts_cycle.state.
11164         * lib/fts-cycle.c: New file, containing GPL'ed code migrated out of
11165         fts.c, with the following changes:
11166         (setup_dir, free_dir): New functions.
11167         (enter_dir): Now returns bool.  Return true if successful, false
11168         if memory exhausted.  All callers changed.
11169         Do not bother partly cleaning up on
11170         memory allocation failure; that is free_dir's job.
11171         However, free ad if hash_insert fails, to avoid memory leak.
11172         (enter_dir, leave_dir): Accommodate change to FTS by inspecting
11173         fts->fts_options to see which union member to use.
11174
11175 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
11176
11177         * m4/fts.m4 (gl_FUNC_FTS_CORE): Renamed from gl_FUNC_FTS.
11178         (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): New macros.
11179
11180 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
11181
11182         * MODULES.html.sh (File system functions): Add fts, fts-lgpl.
11183
11184 2005-05-20  Jim Meyering  <jim@meyering.net>
11185
11186         * lib/unlinkdir.h (cannot_unlink_dir) [UNLINK_CANNOT_UNLINK_DIR]:
11187         Now a macro, to pacify GCC.
11188
11189 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
11190
11191         * m4/chown.m4 (gl_FUNC_CHOWN): Correct sense of test for honoring IDs
11192         of -1.
11193
11194 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
11195
11196         * lib/chown.c (rpl_chown): Return -1 on failure.
11197
11198 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
11199
11200         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME]):
11201         Don't check for stddef.h.
11202         * m4/fts.m4 (gl_FUNC_FTS): Don't require AC_HEADER_STDC, as we
11203         don't use its results.
11204         Don't check for fcntl.h, stddef.h, stdlib.h, string.h, unistd.h,
11205         since we include them unconditionally.  Don't require
11206         AM_STDBOOL_H, since stdbool is a prerequisite.
11207         Don't require AC_C_CONST, AC_TYPE_SIZE_T or check for ptrdiff_t
11208         since we assume C89 or better.
11209         Don't require AC_FUNC_CLOSEDIR_VOID, AC_FUNC_LSTAT, or AC_FUNC_STAT,
11210         as we don't use their results.
11211         Don't check for fchdir, memmove, memset, strrchr, as we use
11212         them unconditionally.
11213         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't define
11214         GETTIMEOFDAY_CLOBBERS_LOCALTIME_BUFFER, since nobody uses it.
11215
11216 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
11217
11218         * lib/canonicalize.c: Include canonicalize.h first, to test interface.
11219         Include <stddef.h> unconditionally, since we assume C89 now.
11220         All uses of PTR_INT_TYPE replaced by ptrdiff_t.
11221         * lib/fts.c: Include fts_.h first, to check interface.
11222         Do not include intprops.h; no longer needed.
11223         Include cycle-check.h and hash.h, since fts_.h no longer does.
11224         Remove unnecessary casts of closedir to void.
11225         (fts_build): Use a simpler method (not involving TYPE_SIGNED) to
11226         decide whether to decrement nlinks.
11227         * lib/fts_.h: Do not include hash.h or cycle-check.h; no longer needed.
11228         (FTS): Use struct hash_table * instead of Hash_table, so that
11229         we no longer need to include hash.h here.
11230
11231 2005-05-18  Jim Meyering  <jim@meyering.net>
11232
11233         * modules/dirfd (License): Change to LGPL.  Most of the code
11234         is already in the public domain.
11235
11236 2005-05-18  Jim Meyering  <jim@meyering.net>
11237
11238         * m4/fts.m4 (AC_LIBSOURCES): Add intprops.h to the list.
11239         Reported by Yoann Vandoorselaere.
11240
11241 2005-05-17  Jim Meyering  <jim@meyering.net>
11242
11243         * m4/fts.m4: New file, from coreutils.
11244
11245 2005-05-17  Jim Meyering  <jim@meyering.net>
11246
11247         * lib/fts.c, lib/fts_.h: New files, from coreutils.
11248
11249 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
11250
11251         Sync from coreutils.
11252         * m4/unlinkdir.m4: New file.
11253
11254 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
11255
11256         Sync from coreutils.
11257         * lib/unlinkdir.c, lib/unlinkdir.h: New files.
11258         * lib/gethrxtime.c, lib/gethrxtime.h, lib/getpass.h, lib/mountlist.h,
11259         lib/path-concat.c, lib/regex.h, lib/unlocked-io.h, lib/xtime.h:
11260         White space changes only.
11261         * lib/makepath.c (make_path): Port to hosts where leading "//" is
11262         special.
11263         * lib/yesno.c: Include getline.h, not ctype.h.
11264         (yesno): Don't remove leading white space; POSIX doesn't allow it.
11265         Use getline to remove arbitrary restriction on response length.
11266
11267 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
11268
11269         * config/srclist-update: Spell out "Street" in FSF postal
11270         mail address; this is the style the FSF seems to prefer.
11271
11272         * build-aux/depcomp, build-aux/install-sh, build-aux/mdate-sh,
11273         build-aux/missing, build-aux/mkinstalldirs: Sync from Automake;
11274         this updates FSF postal mail address.
11275
11276         Sync from coreutils.
11277         * modules/unlinkdir: New file.
11278         * modules/yesno (Depends-on): Add getline.
11279         * MODULES.html.sh (File system functions): Add unlinkdir.
11280
11281 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
11282
11283         * lib/byteswap_.h, lib/getsubopt.h, lib/iconvme.h, lib/strsep.c,
11284         lib/strsep.h:
11285         Change the initial comment to refer to GPL, not LGPL.
11286         gnulib-tool will change it to LGPL as needed.
11287
11288         * lib/__fpending.c, lib/acl.c, lib/acl.h, lib/alloca_.h, lib/allocsa.c,
11289         lib/allocsa.h, lib/argmatch.c, lib/argmatch.h, lib/argp-ba.c,
11290         lib/argp-eexst.c, lib/argp-fmtstream.c, lib/argp-fmtstream.h,
11291         lib/argp-fs-xinl.c, lib/argp-help.c, lib/argp-namefrob.h,
11292         lib/argp-parse.c, lib/argp-pv.c, lib/argp-pvh.c, lib/argp-xinl.c,
11293         lib/argp.h, lib/argz.c, lib/argz_.h, lib/asnprintf.c, lib/asprintf.c,
11294         lib/atanl.c, lib/backupfile.c, lib/backupfile.h, lib/base64.c,
11295         lib/base64.h, lib/basename.c, lib/binary-io.h, lib/byteswap_.h,
11296         lib/c-ctype.c, lib/c-ctype.h, lib/c-stack.c, lib/c-stack.h,
11297         lib/c-strtod.c, lib/calloc.c, lib/canon-host.c, lib/canonicalize.c,
11298         lib/canonicalize.h, lib/ceill.c, lib/chdir-long.c, lib/chdir-long.h,
11299         lib/chown.c, lib/classpath.c, lib/classpath.h, lib/cloexec.c,
11300         lib/closeout.c, lib/closeout.h, lib/concatpath.c, lib/config.charset,
11301         lib/copy-file.c, lib/copy-file.h, lib/cycle-check.c, lib/cycle-check.h,
11302         lib/diacrit.c, lib/diacrit.h, lib/dirfd.c, lib/dirfd.h, lib/dirname.c,
11303         lib/dirname.h, lib/dummy.c, lib/dup-safer.c, lib/dup2.c, lib/eealloc.h,
11304         lib/error.c, lib/error.h, lib/euidaccess.c, lib/exclude.c,
11305         lib/exclude.h, lib/execute.c, lib/execute.h, lib/exit.h,
11306         lib/exitfail.c, lib/exitfail.h, lib/expl.c, lib/fatal-signal.c,
11307         lib/fatal-signal.h, lib/fd-safer.c, lib/file-type.c, lib/file-type.h,
11308         lib/fileblocks.c, lib/filemode.c, lib/filemode.h, lib/findprog.c,
11309         lib/findprog.h, lib/floorl.c, lib/fnmatch.c, lib/fnmatch_.h,
11310         lib/fnmatch_loop.c, lib/fopen-safer.c, lib/free.c, lib/frexpl.c,
11311         lib/fsusage.c, lib/fsusage.h, lib/full-read.c, lib/full-read.h,
11312         lib/full-write.c, lib/full-write.h, lib/fwriteerror.c,
11313         lib/fwriteerror.h, lib/gai_strerror.c, lib/gcd.c, lib/gcd.h,
11314         lib/getaddrinfo.c, lib/getaddrinfo.h, lib/getcwd.c, lib/getcwd.h,
11315         lib/getdate.h, lib/getdate.y, lib/getdomainname.c, lib/getdomainname.h,
11316         lib/getgroups.c, lib/gethostname.c, lib/gethrxtime.c, lib/gethrxtime.h,
11317         lib/getline.c, lib/getline.h, lib/getloadavg.c, lib/getndelim2.c,
11318         lib/getndelim2.h, lib/getnline.c, lib/getnline.h, lib/getopt.c,
11319         lib/getopt1.c, lib/getopt_.h, lib/getopt_int.h, lib/getpagesize.h,
11320         lib/getpass.c, lib/getpass.h, lib/getsubopt.c, lib/getsubopt.h,
11321         lib/gettext.h, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c,
11322         lib/getusershell.c, lib/group-member.c, lib/group-member.h,
11323         lib/hard-locale.c, lib/hard-locale.h, lib/hash-pjw.c, lib/hash-pjw.h,
11324         lib/hash.c, lib/hash.h, lib/human.c, lib/human.h, lib/iconvme.c,
11325         lib/iconvme.h, lib/idcache.c, lib/inet_ntop.h, lib/intprops.h,
11326         lib/inttostr.c, lib/inttostr.h, lib/isdir.c, lib/javacomp.c,
11327         lib/javacomp.h, lib/javacomp.sh.in, lib/javaexec.c, lib/javaexec.h,
11328         lib/javaexec.sh.in, lib/lbrkprop.h, lib/lchown.c, lib/ldexpl.c,
11329         lib/linebreak.c, lib/linebreak.h, lib/linebuffer.c, lib/linebuffer.h,
11330         lib/localcharset.c, lib/localcharset.h, lib/logl.c, lib/long-options.c,
11331         lib/long-options.h, lib/lstat.c, lib/makepath.c, lib/makepath.h,
11332         lib/malloc.c, lib/mathl.h, lib/mbswidth.c, lib/mbswidth.h, lib/md5.c,
11333         lib/md5.h, lib/memcasecmp.c, lib/memcasecmp.h, lib/memchr.c,
11334         lib/memcmp.c, lib/memcoll.c, lib/memcoll.h, lib/memcpy.c, lib/memmem.c,
11335         lib/memmem.h, lib/mempcpy.c, lib/mempcpy.h, lib/memrchr.c,
11336         lib/memrchr.h, lib/memset.c, lib/minmax.h, lib/mkdir.c, lib/mkdtemp.c,
11337         lib/mkdtemp.h, lib/mkstemp.c, lib/mktime.c, lib/modechange.c,
11338         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
11339         lib/obstack.c, lib/obstack.h, lib/openat.c, lib/openat.h,
11340         lib/pagealign_alloc.c, lib/pagealign_alloc.h, lib/path-concat.c,
11341         lib/path-concat.h, lib/pathmax.h, lib/pathname.h, lib/physmem.c,
11342         lib/physmem.h, lib/pipe.c, lib/pipe.h, lib/poll.c, lib/poll_.h,
11343         lib/posixtm.c, lib/posixtm.h, lib/posixver.c, lib/printf-args.c,
11344         lib/printf-args.h, lib/printf-parse.c, lib/printf-parse.h,
11345         lib/progname.c, lib/progname.h, lib/progreloc.c, lib/putenv.c,
11346         lib/quote.c, lib/quote.h, lib/quotearg.c, lib/quotearg.h, lib/raise.c,
11347         lib/readlink.c, lib/readtokens.c, lib/readtokens.h, lib/readtokens0.c,
11348         lib/readtokens0.h, lib/readutmp.c, lib/readutmp.h, lib/realloc.c,
11349         lib/ref-add.sin, lib/ref-del.sin, lib/regex.c, lib/regex.h,
11350         lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c,
11351         lib/safe-read.h, lib/safe-write.c, lib/safe-write.h, lib/same.c,
11352         lib/same.h, lib/save-cwd.c, lib/save-cwd.h, lib/savedir.c,
11353         lib/savedir.h, lib/setenv.c, lib/setenv.h, lib/settime.c,
11354         lib/sh-quote.c, lib/sh-quote.h, lib/sha1.c, lib/sha1.h, lib/sig2str.c,
11355         lib/sig2str.h, lib/sincosl.c, lib/snprintf.c, lib/snprintf.h,
11356         lib/sqrtl.c, lib/stat-macros.h, lib/stat.c, lib/stdbool_.h,
11357         lib/stdint_.h, lib/stdio-safer.h, lib/stpcpy.c, lib/stpcpy.h,
11358         lib/stpncpy.c, lib/stpncpy.h, lib/strcase.h, lib/strcasecmp.c,
11359         lib/strchrnul.c, lib/strchrnul.h, lib/strcspn.c, lib/strdup.c,
11360         lib/strdup.h, lib/strerror.c, lib/strftime.c, lib/strftime.h,
11361         lib/stripslash.c, lib/strndup.c, lib/strndup.h, lib/strnlen.c,
11362         lib/strpbrk.c, lib/strpbrk.h, lib/strsep.c, lib/strsep.h, lib/strstr.c,
11363         lib/strstr.h, lib/strtod.c, lib/strtoimax.c, lib/strtok_r.c,
11364         lib/strtok_r.h, lib/strtol.c, lib/strtoll.c, lib/strtoul.c,
11365         lib/strtoull.c, lib/strverscmp.c, lib/strverscmp.h, lib/sysexit_.h,
11366         lib/tempname.c, lib/time_r.c, lib/time_r.h, lib/timegm.c, lib/timegm.h,
11367         lib/timespec.h, lib/trigl.c, lib/trigl.h, lib/ucs4-utf16.h,
11368         lib/ucs4-utf8.h, lib/unicodeio.c, lib/unicodeio.h, lib/unistd-safer.h,
11369         lib/unlocked-io.h, lib/unsetenv.c, lib/userspec.c, lib/utf16-ucs4.h,
11370         lib/utf8-ucs4.h, lib/utime.c, lib/utimecmp.c, lib/utimecmp.h,
11371         lib/utimens.c, lib/vasnprintf.c, lib/vasnprintf.h, lib/vasprintf.c,
11372         lib/vasprintf.h, lib/version-etc-fsf.c, lib/version-etc.c,
11373         lib/version-etc.h, lib/vsnprintf.c, lib/vsnprintf.h, lib/w32spawn.h,
11374         lib/wait-process.c, lib/wait-process.h, lib/xalloc-die.c, lib/xalloc.h,
11375         lib/xallocsa.c, lib/xallocsa.h, lib/xasprintf.c, lib/xgetcwd.c,
11376         lib/xgetcwd.h, lib/xgetdomainname.c, lib/xgetdomainname.h,
11377         lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c,
11378         lib/xreadlink.c, lib/xreadlink.h, lib/xsetenv.c, lib/xsetenv.h,
11379         lib/xsize.h, lib/xstrndup.c, lib/xstrndup.h, lib/xstrtod.c,
11380         lib/xstrtod.h, lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h,
11381         lib/xstrtoumax.c, lib/xtime.h, lib/xvasprintf.c, lib/xvasprintf.h,
11382         lib/yesno.c, lib/yesno.h:
11383         Update FSF postal mail address.
11384
11385 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
11386
11387         * MODULES.html.sh, README, gnulib-tool, tests/test-base64.c,
11388         tests/test-memmem.c, tests/test-stpncpy.c:
11389         Update FSF postal mail address.
11390
11391 2005-05-13  Bruno Haible  <bruno@clisp.org>
11392
11393         * lib/stdint_.h (int64_t, uint64_t, int_least64_t, uint_least64_t,
11394         int_fast64_t, uint_fast64_t, intmax_t, uintmax_t, INT64_MIN, INT64_MAX,
11395         UINT64_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX,
11396         INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTMAX_MIN,
11397         INTMAX_MAX, UINTMAX_MAX, INT64_C, UINT64_C, INTMAX_C, UINTMAX_C):
11398         Add support for 64-bit integers in the MSVC compiler.
11399
11400 2005-05-12  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
11401
11402         * modules/getdate (Makefile.am): Add getdate.c to EXTRA_DIST
11403
11404 2005-05-12  Eric Blake  <ebb9@byu.net>  (tiny change)
11405
11406         * gnulib-tool (func_import): Sort and uniquify recommended includes.
11407
11408 2005-05-11  Paul Eggert  <eggert@cs.ucla.edu>
11409
11410         * doc/getdate.texi (General date syntax): Don't say that date
11411         date --iso-8601=ns generates acceptable dates; it doesn't yet.
11412         Problem reported by Nic Ferrier.
11413
11414 2005-05-10  Yoann Vandoorselaere <yoann.v@prelude-ids.com>
11415
11416         * lib/getaddrinfo.c: Don't fail when SOCK_STREAM or SOCK_DGRAM are
11417         specified in ai_socktype. Fix invalid ai_protocol
11418         check. ai_protocol is usually set to 0 or depending on
11419         ai_family/ai_socktype to IPPROTO_TCP / IPPROTO_UDP.  Checking for
11420         SOCK_STREAM / SOCK_DGRAM in ai_protocol was invalid.  Set
11421         ai_socktype / ai_protocol in the returned addrinfo structure.
11422
11423 2005-05-10  Simon Josefsson  <jas@extundo.com>
11424
11425         * m4/getaddrinfo.m4: Look in libnsl/libsocket for getaddrinfo, from
11426         Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
11427
11428 2005-05-10  Karl Berry  <karl@gnu.org>
11429
11430         * doc/fdl.texi, gpl.texi, lgpl.texi, COPYING: update FSF address
11431         (from http://www.gnu.org/licenses).
11432         * doc/COPYING.LIB: also rename to COPYING.LESSER.
11433         * doc/COPYING.DOC: remove; per rms, only needed in doc files, so
11434         fdl.texi suffices.
11435
11436 2005-05-10  Karl Berry  <karl@gnu.org>
11437
11438         * config/srclist.txt (COPYING.LESSER): rename from COPYING.LIB.
11439         (COPYING.DOC): remove.
11440
11441         * config/srclist-update: new FSF address.
11442
11443 2005-05-10  Derek Price  <derek@ximbiot.com>
11444
11445         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 bug, not decl, when
11446         possible.
11447
11448 2005-05-09  Yoann Vandoorselaere <yoann.v@prelude-ids.com>
11449             Bruno Haible  <bruno@clisp.org>
11450
11451         * modules/inet_ntop: New file.
11452         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
11453         inet_ntop.
11454
11455 2005-05-09  Yoann Vandoorselaere <yoann.v@prelude-ids.com>
11456             Bruno Haible  <bruno@clisp.org>
11457
11458         * m4/inet_ntop.m4: New file.
11459
11460 2005-05-09  Yoann Vandoorselaere <yoann.v@prelude-ids.com>
11461             Bruno Haible  <bruno@clisp.org>
11462
11463         * lib/inet_ntop.h: New file.
11464         * lib/inet_ntop.c: New file, from glibc with modifications.
11465
11466 2005-05-09  Paul Eggert  <eggert@cs.ucla.edu>
11467
11468         * modules/time_r (License): Change to LGPL.
11469         * modules/extensions (License): Change to LGPL.  Actually,
11470         the license is more permissive than that, but currently gnulib-tool
11471         doesn't know how to handle more-permissive licenses.
11472
11473         * modules/stat-macros (Depends-on): Don't depend on stat-macros (!).
11474         Problem reported by Dave Love.
11475
11476 2005-05-08  Jim Meyering  <jim@meyering.net>
11477
11478         * lib/classpath.c (PATH_SEPARATOR): Remove insignificant trailing
11479         blank.
11480
11481 2005-05-06  Paul Eggert  <eggert@cs.ucla.edu>
11482
11483         * modules/argmatch (Depends-on): Add stdbool.
11484         * modules/backupfile (Depends-on): Likewise.
11485         * modules/chdir-long (Depends-on): Likewise.
11486         * modules/closeout (Depends-on): Likewise.
11487         * modules/cycle-check (Depends-on): Likewise.
11488         * modules/dirname (Depends-on): Likewise.
11489         * modules/fnmatch (Depends-on): Likewise.
11490         * modules/fsusage (Depends-on): Likewise.
11491         * modules/fwriteerror (Depends-on): Likewise.
11492         * modules/getcwd (Depends-on): Likewise.
11493         * modules/getloadavg (Depends-on): Likewise.
11494         * modules/hard-locale (Depends-on): Likewise.
11495         * modules/makepath (Depends-on): Likewise.
11496         * modules/mountlist (Depends-on): Likewise.
11497         * modules/nanosleep (Depends-on): Likewise.
11498         * modules/posixtm (Depends-on): Likewise.
11499         * modules/quotearg (Depends-on): Likewise.
11500         * modules/readtokens (Depends-on): Likewise.
11501         * modules/readtokens0 (Depends-on): Likewise.
11502         * modules/readutmp (Depends-on): Likewise.
11503         * modules/save-cwd (Depends-on): Likewise.
11504         * modules/strftime (Depends-on): Likewise.
11505         * modules/userspec (Depends-on): Likewise.
11506         * modules/utimecmp (Depends-on): Likewise.
11507         * modules/xgetcwd (Depends-on): Likewise.
11508         * modules/xnanosleep (Depends-on): Likewise.
11509         * modules/xstrtod (Depends-on): Likewise.
11510         * modules/yesno (Depends-on): Likewise.
11511
11512 2005-05-05  Paul Eggert  <eggert@cs.ucla.edu>
11513
11514         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 getopt, and avoid
11515         needless checks.
11516
11517 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
11518
11519         Merge from coreutils.  Among other things,
11520         add bulletproofing for cases where stdin, stdout, or stderr are closed.
11521         * lib/fd-safer.c: New file.
11522         * lib/fcntl-safer.h, open-safer.c: Remove.
11523         * lib/chdir-long.c: Fix comment "fetish" -> "coreutils".
11524         * lib/dup-safer.c: Include unistd-safer.h first.
11525         Don't include errno.h.
11526         (dup_safer) [!defined F_DUPFD]: Let fd_safer do the real work.
11527         * lib/file-type.h: Don't assume invoker included sys/stat.h first.
11528         * lib/file-type.c: Rely on file-type.h change.
11529         * lib/getloadavg.c: Include unistd-safer.h.
11530         (getloadavg): Use safer open.
11531         * lib/getusershell.c: Include "stdio-safer.h".
11532         (getusershell): Use safer fopen.
11533         * lib/long-options.c (long_options): Use NULL rather than 0.
11534         * lib/modechange.h (mode_free): Remove; all callers changed to invoke
11535         'free'.
11536         * lib/modechange.c: Likewise.
11537         xstrtol.h, stdbool.h, stddef.h: Don't include; no longer needed.
11538         (MODE_DONE): New constant.
11539         (struct mode_change): Remove 'next' member.
11540         (make_node_op_equals): New function; like the old one of the
11541         same name, except it allocates an array.
11542         (mode_compile, mode_create_from_ref): Use it.
11543         (mode_compile): Allocate result as an array, not a linked list.
11544         Parse octal string ourself, so that we catch mistakes like "+0".
11545         (mode_adjust): Arg is an array, not a linked list.
11546         * lib/modechange.c: Include stat-macros.h, xalloc.h.
11547         (S_ISDIR, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR):
11548         (S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH, S_IRXWU):
11549         (S_IRWXG, S_IRWXO, CHMOD_MODE_BITS):
11550         Remove.  This is now stat-macros.h's job.
11551         (talloc): Remove.  All callers replaced by xalloc, so that
11552         our invokers don't have to worry about reporting memory failures.
11553         (make_node_op_equals): Remove.
11554         (MODE_ORDINARY_CHAGE, MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
11555         New constants.
11556         (struct mode_change): Moved here from modechange.h.
11557         (mode_append_entry): Remove.
11558         (mode_compile): Remove MASKED_OPS arg, since it encouraged
11559         apps to have incorrect behavior.  Use simpler algorithm for head
11560         and tail.  Don't futz with umask; that's now the job of mode_adjust.
11561         Detect more invalid usages rather than having somewhat-random behavior.
11562         Don't insert an "a=" action, as that leads to incorrect behavior.
11563         (mode_compile, mode_create_from_ref): Return NULL on error instead
11564         of an enum, since now there's only one way to have an error.  All
11565         callers changed.
11566         (mode_adjust): Accept new arg UMASK_VALUE, and interpret it
11567         at the correct time.  Simplify calculation of "+u" and its ilk.
11568         Don't mishandle "+X".
11569         (mode_free): Remove "register" and localize decls.
11570         * lib/modechange.h (MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
11571         (struct mode_change): Move to modechange.c; callers don't
11572         need to see this stuff.
11573         (MODE_MASK_EQUALS, MODE_MASK_PLUS, MODE_MASK_MINUS, MODE_MASK_ALL):
11574         (MODE_INVALID, MODE_MEMORY_EXHAUSTED, MODE_BAD_REFERENCE): Remove.
11575         (mode_change, mode_adjust): Reflect the new signatures noted above.
11576         * lib/nanosleep.c (rpl_nanosleep): Include "timespec.h" before macros
11577         that might redefine system include files.
11578         (siginterrupt) [!HAVE_SIGINTERRUPT]: New macro.
11579         (my_usleep): Use NULL rather than (void *) 0.
11580         (rpl_nanosleep) [!defined SA_NOCLDSTOP]:
11581         Use siginterrupt to specify that system calls should be interrupted.
11582         (rpl_nanosleep): Move initialization of suspended closer to call of
11583         my_usleep.
11584         * lib/readutmp.h (read_utmp): New arg OPTIONS.  All uses changed.
11585         * lib/readutmp.c: Likewise.  Include signal.h, stdbool.h.
11586         (desirable_utmp_entry): New function.
11587         (read_utmp) [defined UTMP_NAME_FUNCTION]: Redo memory allocation
11588         using x2nrealloc, to simplify logic.
11589         (read_utmp) [!defined UTMP_NAME_FUNCTION]: Check for overflow in
11590         size calculation.  Do not assume utmp file is a regular file.
11591         * lib/readutmp.h (UT_PID): Moved here from ../src/who.c.
11592         (READ_UTMP_CHECK_PIDS): New constant.
11593         * lib/save-cwd.c: Include unistd-safer.h.
11594         (save_cwd): Use fd_safer.
11595         * lib/tempname.c (S_ISDIR, S_IRUSR, S_IRUSR, S_IWUSR, S_IXUSR): Remove.
11596         [!_LIBC] Include "stat-macros.h" instead.
11597         * lib/unistd-safer.h (fd_safer): New decl.
11598
11599 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
11600
11601         * modules/getloadavg (Depends-on): Add unistd-safer.
11602         * modules/getusershell (Depends-on): Add stdio-safer.
11603         * modules/lstat (Depends-on): Remove xalloc.
11604         * modules/mkstemp (Depends-on): Add stat-macros.
11605         * modules/modechange (Depends-on): Remove xstrtol.
11606         Add stat-macros, xalloc.
11607         * modules/save-cwd (Depends-on): Add unistd-safer.
11608         * modules/stdio-safer (Makefile.am): Remove lib_SOURCES.
11609         * modules/unistd-safer (Files): Add lib/fd-safer.c
11610         (Makefile.am): Remove lib_SOURCES.
11611
11612         * MODULES.html.sh (Enhancements for POSIX:2001 functions):
11613         Remove fcntl-safer; unistd-safer supersedes it.
11614
11615 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
11616
11617         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Don't require
11618         AC_HEADER_STAT.
11619         * m4/lchown.m4 (gl_FUNC_CHOWN): Likewise.
11620         (gl_PREREQ_CHOWN): Remove.
11621         * m4/lstat.m4 (gl_FUNC_LSTAT): Require AC_FUNC_LSTAT instead of calling
11622         it.  Don't require AC_HEADER_STAT.
11623         (gl_PREREQ_LSTAT): Remove.
11624         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Check stdint.h only once.
11625         Don't require AC_HEADER_STAT.
11626         * m4/rmdir.m4 (gl_FUNC_RMDIR): Don't require AC_HEADER_STAT.
11627         (gl_PREREQ_RMDIR): Remove.
11628         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Don't
11629         mention stat-macros.h or AC_HEADER_STAT, since we'll make
11630         the stat-macros module a prerequisite.
11631         * m4/file-type.m4 (gl_FILE_TYPE): Likewise.
11632         * m4/filemode.m4 (gl_FILEMODE): Likewise.
11633         * m4/makepath.m4 (gl_MAKEPATH): Likewise.
11634         * m4/modechange.m4 (gl_MODECHANGE): Likewise.
11635         * m4/clock_time.m4 (gl_CLOCK_TIME): Use gl_ rather than fetish_ for
11636         variable names.
11637         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Renamed from
11638         fetish_FUNC_RMDIR_NOTEMPTY.  All uses changed.  Use gl_ for
11639         variable prefixes.
11640         * m4/fcntl-safer.m4: Remove.
11641         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Use AC_LIBSOURCES and AC_LIBOBJ.
11642         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise.
11643         Invoke gl_PREREQ_FD_SAFER.
11644         (gl_PREREQ_FD_SAFER): New macro.
11645         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Check for siginterrupt.
11646         * m4/readutmp.m4 (gl_READUTMP): Require AC_C_INLINE.
11647         Use AC_CHECK_HEADERS_ONCE and AC_CHECK_FUNCS_ONCE when possible.
11648         Remove duplicate call to AC_LIBOBJ(readutmp).
11649         (gl_PREREQ_READUTMP): Remove.  All uses inlined.
11650
11651         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Check for message, not for
11652         MAP_ANON.  Problem reported by Moriyoshi Koizumi to bug-cvs.
11653
11654 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
11655
11656         * MODULES.html.sh (Misc): Add byteswap.
11657
11658 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
11659
11660         * modules/getcwd (Depends-on): Add extensions.
11661         * modules/openat (Depends-on): Likewise.
11662
11663 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
11664
11665         * modules/byteswap: New file.
11666
11667 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
11668
11669         * m4/byteswap.m4: New file.
11670
11671 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
11672
11673         * lib/byteswap_.h: New file.
11674
11675 2005-04-25  Karl Berry  <karl@gnu.org>
11676
11677         * m4/gettext.m4: Update from GNU gettext 0.14.4.
11678
11679 2005-04-25  Albert Chin  <china@thewrittenword.com>
11680
11681         * lib/regex.c: Include <stdio.h>, as a workaround to a Compaq Desktop
11682         Toolkit C bug.
11683
11684 2005-04-21  Oskar Liljeblad  <oskar@osk.mine.nu>
11685
11686         * gnulib-tool (Options): Add -s for --symlink/--symbolic.
11687         (func_ln_if_changed) Remove forcibly for no error message
11688         in case file does not exist.
11689
11690 2005-04-19  Simon Josefsson  <jas@extundo.com>
11691
11692         * gnulib-tool (Options): Make --symlink mean --symbolic.
11693
11694 2005-04-18  Oskar Liljeblad <oskar@osk.mine.nu>
11695
11696         * doc/gnulib.texi (Initial import): Fix.  Mention --aux-dir.
11697
11698 2005-04-16  Simon Josefsson  <jas@extundo.com>
11699
11700         * modules/getpass-gnu (Makefile.am): Don't mention getpass.h.
11701
11702 2005-04-15  Simon Josefsson  <jas@extundo.com>
11703
11704         * m4/getpass.m4 (gl_FUNC_GETPASS): Use AC_LIBSOURCES.
11705
11706 2005-04-15  Simon Josefsson  <jas@extundo.com>
11707
11708         * gnulib-tool: Rename --symlink to --symbolic.
11709
11710 2005-04-15  Oskar Liljeblad <oskar@osk.mine.nu>
11711
11712         * gnulib-tool: Add -s, --symlink option to gnulib-tool to make
11713         symbolic links to files instead of copying/moving.  Add --aux-dir,
11714         specifying directory relative --dir where auxiliary build tools
11715         are placed.
11716
11717 2005-04-14  Bruno Haible  <bruno@clisp.org>
11718
11719         * modules/allocsa (License): Change to LGPL.
11720         Requested by Yoann Vandoorselaere <yoann@prelude-ids.org>.
11721
11722 2005-04-13  Paul Eggert  <eggert@cs.ucla.edu>
11723
11724         * lib/getdate.y (zone): Allow relunit_snumber after tZONE, so
11725         that "UTC +1 second" continues to work.  Problem reported
11726         by Dmitry V. Levin.
11727         (relunit_snumber): New rule.
11728         (relunit): Use it.
11729
11730 2005-04-12  Paul Eggert  <eggert@cs.ucla.edu>
11731
11732         * lib/getdate.y (universal_time_zone_table): New constant.
11733         (time_zone_table): Remove GMT, UT, UTC entries; they're now in
11734         universal_time_zone_table.
11735         (lookup_zone): Prefer universal_time_zone_table to
11736         local_time_zone_table, so that "GMT" time stamps are allowed in
11737         London during the summer.  Problem reported by Ian Abbott.
11738
11739 2005-04-12  Jim Meyering  <jim@meyering.net>
11740
11741         * lib/human.c (humblock): Set *options even when returning due to
11742         xstrtoumax conversion failure.  Thanks to a used-uninitialized
11743         warning from gcc-4.
11744
11745 2005-04-09  Jim Meyering  <jim@meyering.net>
11746
11747         * lib/posixtm.c (posixtime) [lint]: Avoid spurious warning from gcc-4's
11748         -Wuninitialized: initialize tm0.tm_year.
11749
11750 2005-04-04  Paul Eggert  <eggert@cs.ucla.edu>
11751
11752         * lib/getdate.y (parser_control): rels_seen is now a boolean, not a
11753         count, since there's no maximum.  All uses changed.
11754         Add member dsts_seen.
11755         (local_zone): Accumulate dsts_seen rather than relying on tm_isdst
11756         not being INT_MAX.
11757         (get_date): Initialize dsts_seen, and check that it doesn't go over 1.
11758         Use pc_rels_seen to decide whther a date is absolute.
11759
11760         * lib/getdate.y (number): Don't overwrite year.
11761         (get_date): Initialize pc.year.digits to 0, not 4, to enable above
11762         check.
11763
11764 2005-04-02  Simon Josefsson  <jas@extundo.com>
11765
11766         * lib/getaddrinfo.h: Fix OpenBSD compilation failure, inspired by tiny
11767         patch from Yoann Vandoorselaere <yoann@prelude-ids.org>.
11768
11769 2005-03-28  Eric Blake  <ebb9@byu.net>  (tiny change)
11770
11771         * m4/getcwd-path-max.m4: Return success on systems such as Cygwin
11772         where no absolute path name can be longer than PATH_MAX.
11773
11774 2005-03-27  Jim Meyering  <jim@meyering.net>
11775
11776         * lib/argmatch.c: Clarify comment: null-terminated -> NULL-terminated.
11777
11778 2005-03-26  Paul Eggert  <eggert@cs.ucla.edu>
11779
11780         * lib/intprops.h (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND):
11781         "one's complement" -> "ones' complement" in comment, as per Knuth.
11782         "value of type" -> "type or expression" in comment.
11783         * lib/mktime.c, strftime.c: Propagate intprops.h comment nits.
11784
11785 2005-03-26  Jim Meyering  <jim@meyering.net>
11786
11787         Comment nits.
11788         * lib/intprops.h: Add the apostrophe in `(one|two)'s complement'.
11789         Correct typos: s/or/of/.
11790
11791 2005-03-26  Jim Meyering  <jim@meyering.net>
11792
11793         * modules/check-include-files: Move to ../ and rename to...
11794         * check-module: ...this.
11795
11796 2005-03-25  Jim Meyering  <jim@meyering.net>
11797
11798         * modules/xvasprintf (Files): Add xalloc.h.
11799
11800 2005-03-23  Paul Eggert  <eggert@cs.ucla.edu>
11801
11802         * modules/gettext (Files): config/config.rpath ->
11803         build-aux/config.rpath
11804         * modules/iconv (Files): Likewise.
11805         Problem reported by Oskar Liljeblad.
11806
11807 2005-03-23  Jim Meyering  <jim@meyering.net>
11808
11809         * modules/check-include-files: New script to check for
11810         missing dependencies, multiple includes, etc.
11811
11812         * modules/c-strtold (Depends-on): Add xalloc.
11813         * modules/c-strtod (Depends-on): Add xalloc.
11814         * modules/hash (Depends-on): Add xalloc.
11815         (Files): Remove lib/xalloc.h.
11816
11817         * modules/gethrxtime (Files): Add lib/gethrxtime.h.
11818         * modules/userspec (Files): Add lib/inttostr.h.
11819
11820 2005-03-23  Jim Meyering  <jim@meyering.net>
11821
11822         * lib/canonicalize.c: Remove duplicate `#include "stat-macros.h"'.
11823
11824 2005-03-22  Jim Meyering  <jim@meyering.net>
11825
11826         * modules/stat-macros: New module.
11827         * modules/canonicalize, modules/euidaccess, modules/file-type,
11828         * modules/filemode, modules/lchown, modules/makepath,
11829         * modules/rmdir, modules/stat: Depend on new stat-macros module
11830         rather than listing lib/stat-macros.h manually.
11831         Don't add stat-macros.h to lib_SOURCES or list it in Files: section.
11832
11833 2005-03-22  Jim Meyering  <jim@meyering.net>
11834
11835         * m4/stat-macros.m4 (gl_STAT_MACROS): New file/macro.
11836
11837 2005-03-22  Bruno Haible  <bruno@clisp.org>
11838
11839         * config/srclist.txt: Replace target directory 'config' with
11840         'build-aux'.
11841         * config/config.guess, config.sub, config.rpath, depcomp, install-sh:
11842         * config/mdate-sh, missing, mkinstalldirs, texinfo.tex: Move to
11843         ../build-aux/.
11844
11845 2005-03-21  Paul Eggert  <eggert@cs.ucla.edu>
11846
11847         * modules/chdir-long (Depends-on): Add mempcpy.
11848
11849         * modules/acl, modules/backupfile, modules/c-strtod,
11850         modules/c-strtold, modules/canon-host, modules/canonicalize,
11851         modules/cloexec, modules/closeout, modules/dirfd, modules/dirname,
11852         modules/exclude, modules/exitfail, modules/file-type,
11853         modules/filemode, modules/fpending, modules/fsusage, modules/getcwd,
11854         modules/getdate, modules/getline, modules/getpagesize,
11855         modules/getpass, modules/getugroups, modules/group-member,
11856         modules/hard-locale, modules/hash, modules/human, modules/idcache,
11857         modules/inttostr, modules/long-options, modules/makepath,
11858         modules/md5, modules/memcasecmp, modules/memcoll,
11859         modules/modechange, modules/mountlist, modules/path-concat,
11860         modules/pathmax, modules/physmem, modules/posixtm, modules/posixver,
11861         modules/quote, modules/quotearg, modules/readtokens, modules/readutmp,
11862         modules/safe-read, modules/safe-write, modules/same, modules/savedir,
11863         modules/settime, modules/sha1, modules/sig2str, modules/strdup,
11864         modules/strftime, modules/strndup, modules/strverscmp,
11865         modules/timespec, modules/unlocked-io, modules/userspec,
11866         modules/utimecmp, modules/utimens, modules/xalloc, modules/xstrtol,
11867         modules/yesno:
11868         Remove lib_SOURCES line from Makefile.am section, as this is now
11869         done automatically by the corresponding Autoconf macro.
11870
11871 2005-03-21  Jim Meyering  <jim@meyering.net>
11872
11873         Changes imported from coreutils.
11874
11875         * lib/cycle-check.c: Don't include xalloc.h.
11876
11877         * lib/path-concat.c: Don't include assert.h.
11878         (path_concat): Remove assertion that would have triggered
11879         for ABASE starting with more than one slash.
11880         Reported by Andreas Schwab.
11881
11882         * lib/path-concat.c (path_concat): Set *BASE_IN_RESULT
11883         properly when ABASE is an absolute file name.
11884         Correct the description of this function.
11885         Include <assert.h>.
11886         Add an assertion and a test driver.
11887         This fixes a bug introduced on 2004-07-02.
11888         Andreas Schwab reported the resulting failure of cp --parents:
11889         http://lists.gnu.org/archive/html/bug-coreutils/2005-01/msg00130.html
11890
11891 2005-03-21  Jim Meyering  <jim@meyering.net>
11892
11893         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Invoke gl_FUNC_MEMRCHR.
11894         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Check for memrchr decl.
11895
11896 2005-03-21  Jim Meyering  <jim@meyering.net>
11897         and  Paul Eggert  <eggert@cs.ucla.edu>
11898
11899         * m4/acl.m4, m4/backupfile.m4, m4/c-strtod.m4, m4/canon-host.m4,
11900         m4/canonicalize.m4, m4/cloexec.m4, m4/closeout.m4, m4/dirfd.m4,
11901         m4/dirname.m4, m4/exclude.m4, m4/exitfail.m4, m4/file-type.m4,
11902         m4/filemode.m4, m4/fpending.m4, m4/fsusage.m4, m4/getcwd.m4,
11903         m4/getdate.m4, m4/getline.m4, m4/getpagesize.m4, m4/getpass.m4,
11904         m4/getugroups.m4, m4/group-member.m4, m4/hard-locale.m4, m4/hash.m4,
11905         m4/human.m4, m4/idcache.m4, m4/inttostr.m4, m4/long-options.m4,
11906         m4/makepath.m4, m4/md5.m4, m4/memcasecmp.m4, m4/memcoll.m4,
11907         m4/modechange.m4, m4/mountlist.m4, m4/nanosleep.m4, m4/path-concat.m4,
11908         m4/pathmax.m4, m4/physmem.m4, m4/posixtm.m4, m4/posixver.m4,
11909         m4/quote.m4, m4/quotearg.m4, m4/readtokens.m4, m4/readutmp.m4,
11910         m4/safe-read.m4, m4/safe-write.m4, m4/same.m4, m4/savedir.m4,
11911         m4/settime.m4, m4/sha1.m4, m4/sig2str.m4, m4/strdup.m4, m4/strftime.m4,
11912         m4/strndup.m4, m4/strverscmp.m4, m4/timespec.m4, m4/unlocked-io.m4,
11913         m4/userspec.m4, m4/utimecmp.m4, m4/utimens.m4, m4/xalloc.m4,
11914         m4/xnanosleep.m4, m4/xstrtol.m4, m4/yesno.m4:
11915         Use AC_LIBSOURCES and AC_LIBOBJ to indicate source and object files
11916         for these modules.
11917
11918 2005-03-18  Paul Eggert  <eggert@cs.ucla.edu>
11919
11920         * lib/strftime.c (my_strftime): If the underlying strftime returns 0
11921         (which shouldn't happen), generate nothing instead of returning 0
11922         immediately, so that nstrftime (NULL, ...) doesn't return 0.
11923
11924 2005-03-16  Bruno Haible  <bruno@clisp.org>
11925
11926         * modules/stdint (Makefile.am): Use HAVE_LONG_LONG_64BIT instead of
11927         HAVE_LONGLONG_64BIT.
11928
11929 2005-03-16  Bruno Haible  <bruno@clisp.org>
11930
11931         * m4/stdint.m4 (gl_STDINT_H): Define HAVE_LONG_LONG_64BIT instead of
11932         HAVE_LONGLONG_64BIT.
11933
11934 2005-03-16  Bruno Haible  <bruno@clisp.org>
11935
11936         * lib/stdint_.h: Use HAVE_LONG_LONG_64BIT instead of
11937         HAVE_LONGLONG_64BIT.
11938
11939 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
11940
11941         * lib/strftime.c (my_strftime): Prepend space to format so that we can
11942         reliably distinguish strftime failure from empty output on POSIX
11943         hosts.
11944
11945 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
11946
11947         * lib/iconvme.c (SIZE_MAX): New macro, if not already defined.
11948         (iconv_string): Don't guess a size-zero buffer, as that might cause
11949         buffer overrun.  Instead, avoid multiplying by MB_LEN_MAX if the
11950         result would be 'too large', where 'too large' is (heuristically)
11951         the square root of SIZE_MAX, divided by MB_LEN_MAX to allay
11952         overflow concerns.  This will prevent some unwanted malloc failures
11953         when the inputs are very large.
11954
11955 2005-03-15  Karl Berry  <karl@gnu.org>
11956
11957         * config/srclist.txt (config.rpath): from gettext.
11958         * config/config.rpath: update.
11959
11960 2005-03-15  Bruno Haible  <bruno@clisp.org>
11961
11962         * lib/regex.c (byte_re_match_2_internal): Rename local variable 'not'
11963         to 'negate'.
11964
11965         * lib/regex.c (byte_re_match_2_internal): Reduce scope of same_str_p
11966         variable.
11967
11968         * lib/regex.c (EXTEND_BUFFER, regcomp): Cast the realloc/malloc
11969         results.
11970
11971 2005-03-14  Simon Josefsson  <jas@extundo.com>
11972
11973         * lib/timegm.h: Use proper prototype CPP guards, reported by Dave Love
11974         <fx@gnu.org>.
11975
11976 2005-03-14  Paul Eggert  <eggert@cs.ucla.edu>
11977
11978         * lib/mktime.c (TYPE_TWOS_COMPLEMENT, TYPE_ONES_COMPLEMENT,
11979         TYPE_SIGNED_MAGNITUDE, TYPE_MINIMUM, TYPE_MAXIMUM): Sync from
11980         intprops.h.
11981         * lib/strtol.c: Likewise.
11982
11983 2005-03-14  Jim Meyering  <jim@meyering.net>
11984
11985         * lib/strftime.c (my_strftime) [HAVE_STRFTIME && ! (_NL_CURRENT
11986         && HAVE_STRUCT_ERA_ENTRY)]: Initialize the first byte of ubuf[]
11987         to be nonzero so that we (and caller) can detect the difference
11988         between a valid zero-length expansion and an error return, even
11989         when the underlying strftime fails before writing anything into
11990         that location.
11991
11992 2005-03-14  Bruno Haible  <bruno@clisp.org>
11993
11994         * m4/lib-link.m4, gettext.m4, nls.m4, po.m4:
11995         Update from GNU gettext 0.14.3.
11996
11997 2005-03-10  Jim Meyering  <jim@meyering.net>
11998
11999         * m4/save-cwd.m4 (gl_SAVE_CWD): Check for fchdir.
12000
12001 2005-03-10  Jim Meyering  <jim@meyering.net>
12002
12003         * lib/save-cwd.c [!HAVE_FCHDIR]: Define open, fchdir, and chdir_long
12004         so that this module works on systems without fchdir.
12005
12006 2005-03-09  Paul Eggert  <eggert@cs.ucla.edu>
12007
12008         Factor int-properties macros into a single file, except for
12009         glibc-related files.
12010         * lib/intprops.h: New file.
12011         * lib/getloadavg.c: Include it instead of limits.h.
12012         (INT_STRLEN_BOUND): Remove.
12013         * lib/human.c: Include intprops.h.
12014         (group_number): Use INT_STRLEN_BOUND instead of rolling it ourself.
12015         * lib/human.h (LONGEST_HUMAN_READABLE): Use 146/485 rather than
12016         302/1000.
12017         * lib/inttostr.h: Include intprops.h instead of limits.h.
12018         (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND): Remove.
12019         * lib/mktime.c (TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT): New macros,
12020         for consistency with intprops.h.
12021         (time_t_is_integer, twos_complement_arithmetic): Use them.
12022         * lib/sig2str.h: Include <signal.h>, intprops.h.
12023         (INT_STRLEN_BOUND): Remove.
12024         * lib/strftime.c (TYPE_SIGNED): Remove.
12025         (INT_STRLEN_BOUND): Switch to same implementation as intprops.h.
12026         * lib/strtol.c: Adjust comments to match intprops.h.
12027         * lib/userspec.c: Include intprops.h.
12028         (TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Remove.
12029         * lib/utimecmp.c, xnanosleep.c, xstrtol.c: Likewise.
12030         * lib/utimecmp.c (utimecmp): Use TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT
12031         instead of rolling our own expressions.
12032         * lib/xstrtol.c: Include xstrtol.h first, to test interface.
12033
12034         * lib/strftime.c: Include <stdbool.h>.  Use bool where appropriate,
12035         instead of int.
12036         (my_strftime): Do not mishandle years close to INT_MAX, by doing
12037         the right thing even if adding 1900 would overflow.  Similarly
12038         for tm_mon + 1 and tm_yday + 1.
12039         Make %Y always equivalent to %C%y, and similarly for %G and %g.
12040         (DO_NUMBER, DO_NUMBER_SPACEPAD): Set digits to d, not a conditional.
12041         (DO_SIGNED_NUMBER): New macro.
12042         (my_strftime) [HAVE_TZNAME]: Don't dump core if tp->tm_dst > 1.
12043
12044 2005-03-07  Bruno Haible  <bruno@clisp.org>
12045
12046         * m4/mmap-anon.m4 (MAP_FILE, MAP_FAILED): Remove definitions.
12047
12048 2005-03-07  Bruno Haible  <bruno@clisp.org>
12049
12050         * lib/pagealign_alloc.c (MAP_FILE, MAP_FAILED): Define fallbacks.
12051
12052 2005-03-04  Derek R. Price  <derek@ximbiot.com>
12053
12054         * gnulib-tool (func_cp_if_changed, func_mv_if_changed): New functions.
12055         (func_import): Only replace files via --import when they have actually
12056         changed.
12057
12058 2005-03-03  Derek R. Price  <derek@ximbiot.com>
12059
12060         * m4/mmap-anon.m4: New file.
12061         * m4/pagealign_alloc.m4: New file.
12062
12063 2005-03-03  Derek R. Price  <derek@ximbiot.com>
12064             Bruno Haible  <bruno@clisp.org>
12065
12066         * modules/pagealign_alloc: New file.
12067         * MODULES.html.sh (Memory management functions): Add pagealign_alloc.
12068
12069 2005-03-03  Derek R. Price  <derek@ximbiot.com>
12070             Bruno Haible  <bruno@clisp.org>
12071
12072         * lib/pagealign_alloc.h: New file.
12073         * lib/pagealign_alloc.c: New file.
12074
12075 2005-03-03  Bruno Haible  <bruno@clisp.org>
12076
12077         * m4/inttypes.m4, isc-posix.m4, once-only.m4:
12078         Use an all-permissive copyright notice, recommended by RMS.
12079
12080 2005-03-02  Bruno Haible  <bruno@clisp.org>
12081
12082         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Undo the replacement here. Because
12083         of AIX, the replacement has to be done only after <string.h> is
12084         included, therefore not in config.h. stpncpy.h does the replacement,
12085         and stpncpy.c uses it.
12086
12087 2005-03-02  Bruno Haible  <bruno@clisp.org>
12088
12089         * lib/stpncpy.h (stpncpy): Define as a macro without arguments, so that
12090         stpncpy.c uses it.
12091
12092 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
12093
12094         Remove workaround for bug in Linux kernel 2.6.8 or thereabouts.
12095         The workaround isn't strictly needed for POSIX conformance, and
12096         it's too much of a pain to configure and maintain.  We'll ask
12097         people to fix their kernels instead.
12098         * lib/xnanosleep.c: Don't include gethrxtime.h or xtime.h.
12099         (NANOSLEEP_BUG_WORKAROUND): Remove.
12100         (xnanosleep): Remove the workaround.
12101
12102 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
12103
12104         * modules/gettime (Makefile.am): Remove lib_SOURCES line.
12105         Reported by Derek Price.
12106         (Include): Add "timespec.h".
12107
12108         * modules/xnanosleep (Depends-on): Remove gethrxtime.
12109
12110 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
12111
12112         * m4/xnanosleep.m4 (gl_XNANOSLEEP): Remove configuration attempting
12113         to detect nanosleep bug.
12114
12115 2005-03-01  Bruno Haible  <bruno@clisp.org>
12116
12117         * lib/vasnprintf.c (EOVERFLOW): Define to a fallback if needed.
12118
12119 2005-02-26  Paul Eggert  <eggert@cs.ucla.edu>
12120
12121         * modules/gethrxtime: New file.
12122         * modules/xnanosleep (Files): Add m4/xnanosleep.m4.
12123         (Depends-on): Add gethrxtime.
12124         (configure.ac): Add gl_XNANOSLEEP.
12125         (Makefile.am): Remove lib_SOURCES line.
12126
12127 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
12128
12129         * m4/gethrxtime.m4, m4/xnanosleep.m4: New files.
12130         * m4/gettime.m4 (gl_GETTIME): Check for nanotime.
12131
12132 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
12133
12134         * lib/gethrxtime.h, lib/gethrxtime.c, lib/xtime.h: New files.
12135         * lib/timespec.h (gettime): Return void, since it always
12136         succeeds now.  All uses changed.
12137         * lib/gettime.c (gettime) Likewise.
12138         [HAVE_NANOTIME]: Prefer nanotime.
12139         Assume gettimeofday succeeds, as POSIX requires.
12140         Assime time () succeeds, since other code already does.
12141         * lib/xnanosleep.c: Include xtime.h and gethrxtime.h, not xalloc.h.
12142         (timespec_subtract): Remove.
12143         (NANOSLEEP_BUG_WORKAROUND): New constant.
12144         (xnanosleep): Use gethrxtime rather than gettime; this simplifies
12145         things considerably.  Use it only on GNU/Linux hosts, since the
12146         workaround shouldn't be needed elsewhere.
12147
12148 2005-02-24  Bruno Haible  <bruno@clisp.org>
12149
12150         * modules/gettext (Files): Add m4/glibc2.m4.
12151
12152 2005-02-24  Bruno Haible  <bruno@clisp.org>
12153
12154         * m4/gettext.m4, intdiv0.m4, intmax.m4, inttypes-pri.m4, lcmessage.m4:
12155         * m4/lib-link.m4, lib-prefix.m4, nls.m4, po.m4, printf-posix.m4:
12156         * m4/progtest.m4:
12157         Update from GNU gettext 0.14.2.
12158         * m4/glibc2.m4: New file, from GNU gettext 0.14.2.
12159
12160 2005-02-24  Bruno Haible  <bruno@clisp.org>
12161
12162         * lib/localcharset.c: Update from GNU gettext 0.14.2.
12163         * lib/config.charset: Update from GNU gettext 0.14.2.
12164
12165 2005-02-24  Bruno Haible  <bruno@clisp.org>
12166
12167         * lib/gettext.h: Update from GNU gettext 0.14.2.
12168
12169 2005-02-23  Simon Josefsson  <jas@extundo.com>
12170
12171         * m4/iconvme.m4: New file.
12172
12173 2005-02-23  Jim Meyering  <jim@meyering.net>
12174
12175         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Revert yesteday's
12176         change.
12177         Thanks to Bruno Haible for catching it.
12178
12179 2005-02-22  Simon Josefsson  <jas@extundo.com>
12180
12181         * modules/iconvme: New file.
12182
12183         * MODULES.html.sh: Add iconvme.
12184
12185 2005-02-22  Simon Josefsson  <jas@extundo.com>
12186
12187         * lib/iconvme.h, lib/iconvme.c: New files, from libc.
12188
12189 2005-02-22  Simon Josefsson  <jas@extundo.com>
12190
12191         * config/srclist.txt: Sync iconvme.h, iconvme.c from libc.
12192
12193 2005-02-22  Jim Meyering  <jim@meyering.net>
12194
12195         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Fix typo:
12196         s/ifndef/ifdef/.
12197
12198 2005-02-20  Neil Conway  <neilc@samurai.com>
12199
12200         * lib/xgethostname.c (xgethostname): Check for ENOMEM, which is
12201         returned by OSX/Darwin if the specified buffer is not large
12202         enough for the hostname.
12203
12204 2005-02-03  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
12205
12206         * lib/argp-help.c (__argp_help): Create a fake struct argp_state and
12207         pass it to _help, otherwise the latter coredumps trying to
12208         dereference state.root_argp.
12209
12210 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
12211
12212         * modules/chdir-long (Depends-on): Add memrchr.
12213         * modules/memrchr (Files): Add lib/memrchr.h.
12214         (Include): "memrchr.h".
12215
12216 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
12217
12218         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Add AC_LIBSOURCES, for memrchr.h.
12219
12220 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
12221
12222         * lib/memrchr.h: New file.
12223         * lib/chdir-long.c: Include it.
12224         * lib/memrchr.c [!defined _LIBC]: Include it rather than <string.h>
12225         Don't bother including stddef.h.
12226
12227 2005-02-01  Paul Eggert  <eggert@cs.ucla.edu>
12228
12229         * lib/mountlist.h (MOUNTLIST_H_): New macro, to protect against double
12230         inclusion.
12231         Include <sys/types.h>, for dev_t.
12232         (ME_DUMMY, ME_REMOTE): Move from here....
12233         * lib/mountlist.c (ME_DUMMY, ME_REMOTE): To here.
12234         (ME_DUMMY): Count "subfs" as a dummy.  Problem reported by
12235         Dmitry V. Levin.
12236         Include mountlist.h first, to test the interface.
12237
12238 2005-01-29  Bruno Haible  <bruno@clisp.org>
12239
12240         * lib/progname.c (program_name): Initialize.
12241         Needed when linking statically on MacOS X.
12242
12243 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
12244
12245         Sync from coreutils.
12246         * modules/getloadavg (Files): Remove m4/getloadavg.m4.
12247         (Depends-on): Add c-strtod.
12248         (configure.ac): Replace gl_FUNC_GETLOADAVG with AC_FUNC_GETLOADAVG.
12249
12250 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
12251
12252         Sync from coreutils.
12253         * m4/getloadavg.m4, glibc.m4, search-libs.m4: Remove.
12254
12255         Remove files that are specific to coreutils.
12256         * m4/check-decl.m4, jm-macros.m4, lib-check.m4, prereq.m4: Remove.
12257
12258 2005-01-28  Bruno Haible  <bruno@clisp.org>
12259
12260         * modules/javacomp: New file.
12261         * MODULES.html.sh (Java): Add javacomp.
12262
12263 2005-01-28  Bruno Haible  <bruno@clisp.org>
12264
12265         * m4/javacomp.m4: New file, from GNU gettext.
12266
12267 2005-01-28  Bruno Haible  <bruno@clisp.org>
12268
12269         * lib/javacomp.sh.in: New file, from GNU gettext.
12270         * lib/javacomp.h: New file, from GNU gettext.
12271         * lib/javacomp.c: New file, from GNU gettext.
12272
12273 2005-01-26  Simon Josefsson  <jas@extundo.com>
12274
12275         * lib/gai_strerror.c: Use GPL in header.
12276
12277 2005-01-26  Bruno Haible  <bruno@clisp.org>
12278
12279         * modules/javaexec: New file.
12280         * MODULES.html.sh (Java): Add javaexec.
12281
12282 2005-01-26  Bruno Haible  <bruno@clisp.org>
12283
12284         * m4/javaexec.m4: New file, from GNU gettext.
12285
12286 2005-01-26  Bruno Haible  <bruno@clisp.org>
12287
12288         * lib/javaexec.sh.in: New file, from GNU gettext.
12289         * lib/javaexec.h: New file, from GNU gettext.
12290         * lib/javaexec.c: New file, from GNU gettext.
12291
12292 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
12293
12294         * modules/lchown (Depends-on): Remove lchown.h
12295
12296 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
12297
12298         * m4/sysexits.m4 (gl_SYSEXITS): Reverted logic. SYSEXITS_H
12299         must be defined if the header file was not found, in order
12300         to provide a replacement. Reported by Todd Vierling <tv@duh.org>
12301
12302 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
12303
12304         * lib/argp-help.c (hol_entry_help): Avoid using non-constant
12305         initializers for struct pentry_state.
12306         (__argp_error): Check return value of __asprintf
12307         (__argp_failure): Translate error message
12308
12309         * lib/argp-parse.c: Removed braces around the expansion of N_()
12310
12311 2005-01-23  Paul Eggert  <eggert@cs.ucla.edu>
12312
12313         * m4/acl.m4, afs.m4, alloca.m4, argp.m4, assert.m4, atexit.m4,
12314         backupfile.m4, base64.m4, bison.m4, c-bs-a.m4, c-stack.m4,
12315         c-strtod.m4, calloc.m4, canon-host.m4, canonicalize.m4,
12316         clock_time.m4, cloexec.m4, closeout.m4, d-ino.m4, d-type.m4,
12317         dirfd.m4, dirname.m4, dos.m4, dup2.m4, error.m4, euidaccess.m4,
12318         exclude.m4, exitfail.m4, extensions.m4, fcntl-safer.m4,
12319         file-type.m4, fileblocks.m4, filemode.m4, fnmatch.m4, fpending.m4,
12320         free.m4, fstypename.m4, fsusage.m4, ftruncate.m4, getaddrinfo.m4,
12321         getcwd-path-max.m4, getcwd.m4, getdate.m4, getdomainname.m4,
12322         getgroups.m4, gethostname.m4, getline.m4, getndelim2.m4,
12323         getnline.m4, getopt.m4, getpagesize.m4, getpass.m4, getsubopt.m4,
12324         gettime.m4, gettimeofday.m4, getugroups.m4, getusershell.m4,
12325         group-member.m4, hard-locale.m4, hash.m4, host-os.m4, human.m4,
12326         idcache.m4, inttostr.m4, isdir.m4, jm-winsz1.m4, jm-winsz2.m4,
12327         link-follow.m4, long-options.m4, ls-mntd-fs.m4, lstat.m4,
12328         makepath.m4, mathl.m4, md5.m4, memcasecmp.m4, memchr.m4,
12329         memcmp.m4, memcoll.m4, memcpy.m4, memmem.m4, memmove.m4,
12330         memrchr.m4, memset.m4, mkdir-slash.m4, mkstemp.m4, mktime.m4,
12331         modechange.m4, mountlist.m4, nanosleep.m4, obstack.m4,
12332         path-concat.m4, pathmax.m4, perl.m4, physmem.m4, poll.m4,
12333         posixtm.m4, posixver.m4, putenv.m4, quote.m4, quotearg.m4,
12334         readdir.m4, readtokens.m4, readutmp.m4, regex.m4, rename.m4,
12335         restrict.m4, rmdir-errno.m4, rmdir.m4, rpmatch.m4, same.m4,
12336         savedir.m4, settime.m4, sha1.m4, sig2str.m4, snprintf.m4,
12337         sockpfaf.m4, st_dm_mode.m4, st_mtim.m4, stat.m4, stdint.m4,
12338         stdio-safer.m4, strchrnul.m4, strdup.m4, strerror.m4,
12339         strerror_r.m4, strftime.m4, strndup.m4, strnlen.m4, strsep.m4,
12340         strtod.m4, strtoimax.m4, strtok_r.m4, strtol.m4, strtoll.m4,
12341         strtoul.m4, strtoull.m4, strtoumax.m4, strverscmp.m4, sysexits.m4,
12342         time_r.m4, timegm.m4, timespec.m4, tm_gmtoff.m4, tzset.m4,
12343         uint32_t.m4, uintptr_t.m4, unistd-safer.m4, unlink-busy.m4,
12344         unlocked-io.m4, uptime.m4, userspec.m4, utimbuf.m4, utime.m4,
12345         utimecmp.m4, utimens.m4, utimes-null.m4, vsnprintf.m4, xalloc.m4,
12346         xgetcwd.m4, xreadlink.m4, xstrndup.m4, xstrtod.m4, xstrtoimax.m4,
12347         xstrtol.m4, xstrtoumax.m4, yesno.m4:
12348         Use an all-permissive copyright notice, recommended by RMS.
12349
12350 2005-01-21  Paul Eggert  <eggert@cs.ucla.edu>
12351
12352         * modules/chdir-long (Depends-on): Remove mempcpy.
12353
12354 2005-01-21  Jim Meyering  <jim@meyering.net>
12355
12356         * lib/openat.h (AT_SYMLINK_NOFOLLOW): Define to 4096, so it's the
12357         same value as for Solaris 9.
12358
12359         * lib/chdir-long.c (chdir_long): Rewrite to remove limitation on
12360         component length.  This included changing the parameter to be
12361         of type `char *' rather than `char const *'.
12362         * lib/chdir-long.h (chdir_long): Update prototype.
12363
12364         * lib/openat.c (fdopendir, fstatat): New functions.
12365         * lib/openat.h: Include headers required for use of DIR and struct
12366         stat.
12367         [AT_SYMLINK_NOFOLLOW]: Define.
12368         (fdopendir, fstatat): Add prototypes.
12369
12370 2005-01-21  Bruno Haible  <bruno@clisp.org>
12371
12372         * modules/classpath: New file.
12373         * MODULES.html.sh (Java): Add classpath.
12374
12375 2005-01-21  Bruno Haible  <bruno@clisp.org>
12376
12377         * lib/classpath.h: New file, from GNU gettext.
12378         * lib/classpath.c: New file, from GNU gettext.
12379
12380 2005-01-20  Simon Josefsson  <jas@extundo.com>
12381
12382         * modules/version-etc-fsf: New file.
12383
12384 2005-01-20  Simon Josefsson  <jas@extundo.com>
12385
12386         * lib/version-etc-fsf.c: New file, with version_etc_copyright.
12387         * lib/version-etc.c: Remove version_etc_copyright.
12388         * lib/version-etc.h (version_etc_copyright): Use [] instead of * in
12389         prototype, suggested by Paul Eggert <eggert@CS.UCLA.EDU>.
12390
12391 2005-01-20  Simon Josefsson  <jas@extundo.com>
12392
12393         * lib/base64.h (isbase64): Add.
12394
12395         * lib/base64.c (isb64): Rename to isbase64, use to_uchar instead of
12396         using a unsigned prototype, don't inline.
12397         (base64_decode): Use it.
12398
12399 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
12400
12401         * m4/save-cwd.m4 (gl_SAVE_CWD): Remove check for fcntl; we now assume
12402         it.
12403
12404 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
12405
12406         * lib/save-cwd.c (save_cwd): Remove code to support the case
12407         where fchdir is missing or flaky.
12408
12409 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
12410
12411         * MODULES.html.sh (Command-line arguments): Add version-etc-fsf.
12412
12413 2005-01-19  Paul Eggert  <eggert@cs.ucla.edu>
12414
12415         * modules/mempcpy (Makefile.am): Remove mention of mempcpy.h;
12416         AC_LIBSOURCES now does this.
12417         * MODULES.html.sh (Sizes of integer types <limits.h>): New element,
12418         with new ullong_max module.
12419
12420 2005-01-19  Bruno Haible  <bruno@clisp.org>
12421
12422         * modules/sh-quote: New file.
12423         * MODULES.html.sh (Executing programs): Add sh-quote.
12424
12425 2005-01-19  Bruno Haible  <bruno@clisp.org>
12426
12427         * lib/sh-quote.h: New file, from GNU gettext.
12428         * lib/sh-quote.c: New file, from GNU gettext.
12429
12430 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
12431
12432         Merge from coreutils.
12433         * m4/ullong_max.m4: New file.
12434         * m4/jm-macros.m4 (gl_MACROS): Require gl_ULLONG_MAX.
12435         (gl_MACROS): Assume localeconv exists.
12436
12437 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
12438
12439         Merge changes from coreutils, as described below in several
12440         changelogs dated today.
12441
12442         * lib/save-cwd.c: Include "save-cwd.h" before other include files.
12443         (O_DIRECTORY): Remove; not needed here, since "." must be
12444         a directory.  All uses removed.
12445         (save_cwd): Use __sgi || __sun, not sun || __sun.  __sun is
12446         universal on Suns, and we also need to test for IRIX.
12447         Revamp code to use 'if' rather than '#if'.
12448         Avoid unnecessary comparison of cwd->desc to 0.
12449
12450         * lib/utimens.c (futimens): Robustify the previous patch, by checking
12451         for known valid error numbers rather than observed invalid ones.
12452
12453 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
12454
12455         * modules/ullong_max: New file.
12456
12457         * modules/chdir-long, modules/openat: New files.
12458         * modules/save-cwd (Depends-on): Depend on chdir-long.
12459         (Makefile.am): Remove lib_SOURCES; now handled by AC_LIBSOURCES.
12460
12461 2005-01-18  Jim Meyering  <jim@meyering.net>
12462
12463         Merge from coreutils.
12464         * m4/chdir-long.m4, m4/openat.m4: New files.
12465         * m4/save-cwd.m4 (gl_SAVE_CWD): Add AC_LIBSOURCES for save-cwd.c,
12466         save-cwd.h.  Add AC_LIBOBJ for save-cwd.
12467         * m4/chown.m4 (gl_FUNC_CHOWN): When cross-compiling, assume that chown
12468         is sane and DOES follow symlinks.  Besides, testing 20 different
12469         systems found no broken chown implementations.
12470         Prompted by a change in rsync's copy of this macro.
12471         * m4/jm-macros.m4 (gl_MACROS): Require gl_FUNC_CHDIR_LONG.
12472
12473         * m4/lchown.m4 (gl_FUNC_LCHOWN): Use AC_LIBSOURCES.
12474
12475         * m4/utimes.m4: Work around tests/touch/empty-file failure on a system
12476         (sparc64, Linux-2.4.28, glibc-2.3.3) that didn't honor utimes'
12477         NULL-means-set-to-current-time semantics.
12478         Remove temporary file immediately, rather than waiting
12479         for configure's at-exit trap code to do it.
12480
12481 2005-01-18  Jim Meyering  <jim@meyering.net>
12482
12483         * lib/version-etc.c (version_etc_copyright): Update copyright date.
12484
12485         * lib/utimens.c (futimens): Account for the fact that futimes
12486         can also fail with errno == ENOSYS or errno == ENOENT.
12487         Patch from Dmitry V. Levin.
12488
12489         Change the name of the robust chdir function from chdir to chdir_long.
12490         * lib/save-cwd.c: Include chdir-long.h rather than chdir.h.
12491         (restore_cwd): Use chdir_long, not chdir.
12492         * lib/chdir-long.c: Renamed from chdir.c.
12493         * lib/chdir-long.h: Renamed from chdir.h.
12494         [!defined PATH_MAX]: Define chdir_long to chdir on systems like the
12495         Hurd.
12496
12497 2005-01-18  Bruno Haible  <bruno@clisp.org>
12498
12499         * m4/allocsa.m4, m4/codeset.m4, m4/copy-file.m4, m4/eaccess.m4:
12500         * m4/eealloc.m4, m4/eoverflow.m4, m4/execute.m4, m4/fatal-signal.m4:
12501         * m4/findprog.m4, m4/glibc21.m4, m4/iconv.m4, m4/intmax_t.m4:
12502         * m4/inttypes_h.m4, m4/lib-ld.m4, m4/lib-link.m4, m4/lib-prefix.m4:
12503         * m4/linebreak.m4, m4/localcharset.m4, m4/longdouble.m4:
12504         * m4/longlong.m4, m4/mbrtowc.m4, m4/mbstate_t.m4, m4/mbswidth.m4:
12505         * m4/mkdtemp.m4, m4/pipe.m4, m4/readlink.m4, m4/safe-read.m4:
12506         * m4/safe-write.m4, m4/setenv.m4, m4/sig_atomic_t.m4:
12507         * m4/signalblocking.m4, m4/signed.m4, m4/size_max.m4, m4/ssize_t.m4:
12508         * m4/stdbool.m4, m4/stdint_h.m4, m4/stpcpy.m4, m4/stpncpy.m4:
12509         * m4/strcase.m4, m4/strcspn.m4, m4/strpbrk.m4, m4/strstr.m4:
12510         * m4/ucs4-utf.m4, m4/uintmax_t.m4, m4/ulonglong.m4, m4/unicodeio.m4:
12511         * m4/utf-ucs4.m4, m4/vasnprintf.m4, m4/vasprintf.m4:
12512         * m4/wait-process.m4, m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4:
12513         Use an all-permissive copyright notice, recommended by RMS.
12514
12515 2005-01-18  Bob Proulx  <bob@proulx.com>
12516
12517         * lib/obstack.c [DEFAULT_ALIGNMENT]: Use an intermediate type to
12518         simplify offsetof() macro construct to avoid compile failure with
12519         native HP-UX 11.0 ANSI C compiler.
12520
12521 2005-01-17  Bruno Haible  <bruno@clisp.org>
12522
12523         * lib/stpncpy.c: Remove HAVE_STPNCPY and gnu_stpncpy renaming,
12524         redundant because stpncpy.m4 takes care of it.
12525
12526 2005-01-17  Bruno Haible  <bruno@clisp.org>
12527
12528         * lib/progreloc.c: Include xalloc.h instead of xmalloc.h.
12529
12530 2005-01-17  Bruno Haible  <bruno@clisp.org>
12531
12532         * lib/progreloc.c (xstrdup): Define as strdup if no xmalloc should be
12533         used.
12534
12535 2005-01-17  Bruno Haible  <bruno@clisp.org>
12536
12537         * lib/fwriteerror.h (fwriteerror): Change specification to include
12538         fclose.
12539         * lib/fwriteerror.c: Include <stdbool.h>.
12540         (fwriteerror): At the end, close the file stream. Record whether
12541         stdout was already closed.
12542
12543 2005-01-17  Bruno Haible  <bruno@clisp.org>
12544
12545         * lib/execute.c (environ): Declare if needed.
12546         * lib/pipe.c (environ): Likewise.
12547         Reported by Michael Schloh von Bennewitz <michael.schloh@cw.com>.
12548
12549 2005-01-11  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
12550
12551         * modules/argp: Depend on vsnprintf
12552
12553 2005-01-10  Jim Meyering  <jim@meyering.net>
12554
12555         * modules/closeout (Depends-on): Add atexit.
12556
12557 2005-01-06  Bruno Haible  <bruno@clisp.org>
12558
12559         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Rename stpncpy to gnu_stpncpy here.
12560
12561 2005-01-04  Paul Eggert  <eggert@cs.ucla.edu>
12562
12563         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Move these conditional
12564         definitions to be after all include files, to avoid collisions.
12565         Problem reported by Bob Proulx.
12566
12567 2005-01-04  Jim Meyering  <jim@meyering.net>
12568
12569         Changes imported from coreutils.
12570         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Rather than using "conftestXXXXXX"
12571         as the mkstemp template, use a temporary directory and an
12572         8.3-friendly template to avoid trouble on systems like DJGPP.
12573         Reported by Juan M. Guerrero via Stepan Kasal.
12574         * m4/(gl_FUNC_MKSTEMP): Include <unistd.h> for the declaration of
12575         close. Remove the temporary directory right away, rather than waiting
12576         for configure's at-exit trap code to do it.
12577         Suggestion from Stepan Kasal.
12578
12579 2005-01-01  Simon Josefsson  <jas@extundo.com>
12580
12581         * gnulib-tool: Print #include directives when --import'ing.
12582
12583 2004-12-28  Simon Josefsson  <jas@extundo.com>
12584
12585         * tests/test-base64.c: Include required header files.  Remove
12586         unused variables.
12587
12588 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
12589
12590         * modules/error (Depends-on): Remove gettext.
12591
12592 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
12593
12594         * lib/error.c [!_LIBC && !ENABLE_NLS]: Do not include "gettext.h";
12595         not needed.  This removes a dependency on the gettext module.
12596         [defined _LIBC]: Do not include <libintl.h>; not needed.
12597
12598 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
12599
12600         * m4/c-strtod.m4 (gl_C99_STRTOLD): New macro.
12601         (gl_C_STRTOD): Use it instead of AC_CHECK_DECLS_ONCE(strtold).
12602
12603 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
12604
12605         * lib/c-strtod.c (STRTOD): Depend on HAVE_C99_STRTOLD, not
12606         HAVE_DECL_STRTOLD.
12607
12608 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
12609
12610         * modules/getdate (Depends-on): Remove alloca-opt.
12611
12612 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
12613
12614         * m4/getdate.m4 (gl_GETDATE): Remove AC_FUNC_ALLOCA.
12615
12616 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
12617
12618         * lib/argp-parse.c: Include <stddef.h>.
12619         (alignof, alignto): New macros.
12620         (parser_init): Don't assume that void * is aligned sufficiently
12621         for struct option.
12622
12623         * lib/getdate.y (YYSTACK_USE_ALLOCA): Define to 0, since there's no
12624         need to extend the stack.
12625         (YYINITDEPTH): New macro, so that the initial stack isn't overly
12626         large.
12627
12628 2004-12-22  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
12629
12630         * lib/argp-parse.c (parser_init): Avoid arithmetics on void pointers.
12631
12632 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
12633
12634         * modules/regex (lib_SOURCES): Remove regex.c, undoing previous
12635         (2004-10-24) change.  Apparently this was a false alarm.
12636
12637         * modules/getdate: Depend on alloca-opt, not alloca.
12638
12639 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
12640
12641         * lib/alloca_.h: Conditionalize on _GNULIB_ALLOCA_H, not _ALLOCA_H.
12642         Remove now-obsolete comment about AIX.
12643         * lib/getdate.y: Include <alloca.h> only if HAVE_ALLOCA.
12644         (YYSTACK_USE_ALLOCA): Define to 0 if !HAVE_ALLOCA.
12645         (YYMAXDEPTH): New macro.
12646
12647 2004-12-18  Simon Josefsson  <jas@extundo.com>
12648
12649         * modules/alloca: Depend on alloca-opt, instead of duplicating it.
12650
12651 2004-12-18  Bruno Haible  <bruno@clisp.org>
12652
12653         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Also test for sigaction.
12654
12655 2004-12-18  Bruno Haible  <bruno@clisp.org>
12656
12657         * lib/fatal-signal.c (fatal_signals): Make non-const.
12658         (init_fatal_signals): New function.
12659         (uninstall_handlers, install_handlers): Ignore signals that were set to
12660         SIG_IGN.
12661         (at_fatal_signal): Call init_fatal_signals.
12662         (init_fatal_signal_set): Likewise. Ignore signals that were set to
12663         SIG_IGN.
12664         Reported by Paul Eggert.
12665
12666 2004-12-18  Bruno Haible  <bruno@clisp.org>
12667
12668         * doc/alloca.texi: New file.
12669         * doc/alloca-opt.texi: New file.
12670
12671 2004-12-17  Jim Meyering  <jim@meyering.net>
12672
12673         * config/install-sh: Use `(exit N); exit N', not `(exit N); exit'.
12674         Otherwise, install-sh could exit with improper exit status when
12675         exiting via a trapped interrupt.  Thanks to a report from Bob Proulx.
12676
12677 2004-12-16  Simon Josefsson  <jas@extundo.com>
12678
12679         * tests/test-base64.c: Add license.
12680
12681 2004-12-15  Stepan Kasal  <address@hidden>
12682
12683         * gnulib-tool (func_emit_lib_Makefile_am): Shorten a long sed command.
12684
12685 2004-12-12  Paul Eggert  <eggert@cs.ucla.edu>
12686
12687         * modules/getcwd (Files): Add m4/d-ino.m4.
12688         Suggested by Mark D. Baushke.
12689
12690 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
12691
12692         * lib/getdate.y (textint): New member "negative".
12693         (time_zone_hhmm): New function.
12694         Expect 14 shift-reduce conflicts, not 13.
12695         (o_colon_minutes): New rule.
12696         (time, zone): Use it to add support for +HH:MM, UTC+HH:MM.
12697         (yylex): Set the "negative" member of signed numbers.
12698
12699 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
12700
12701         * doc/getdate.texi (Time of day items, Time zone items):
12702         Describe new formats +00:00, UTC+00:00.
12703
12704 2004-12-07  Paul Eggert  <eggert@cs.ucla.edu>
12705
12706         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Fix typo in previous change:
12707         spurious "-l"s.  Problem reported by Stepan Kasal.
12708
12709 2004-12-06  Paul Eggert  <eggert@cs.ucla.edu>
12710
12711         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): New macro, to work around bug
12712         in Autoconf 2.59.  Problem reported by Mark D. Baushke.
12713
12714 2004-12-04  Simon Josefsson  <jas@extundo.com>
12715
12716         * modules/getaddrinfo (License): Add LGPL, reported by Yoann
12717         Vandoorselaere <yoann@prelude-ids.org>.
12718
12719 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
12720
12721         Changes imported from coreutils.
12722         * m4/hard-locale.m4 (gl_HARD_LOCALE): Assume locale.h and setlocale
12723         exist.
12724         * m4/human.m4 (gl_HUMAN): Assume locale.h and localeconv exist.
12725
12726 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
12727
12728         Changes imported from coreutils.
12729         * lib/hard-locale.c: Assume <locale.h> exists.
12730         Include "strdup.h".
12731         (GLIBC_VERSION): New macro.
12732         (hard_locale): Assume setlocale exists.
12733         Rewrite to avoid #ifdef.
12734         Use strdup rather than malloc + strcpy.
12735         * lib/human.c: Assume <locale.h> exists.
12736         (human_readable): Assume localeconv exists.
12737
12738 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
12739
12740         * modules/hard-locale (Depends-on): Add strdup.
12741
12742 2004-12-01  Jakub Jelinek  <jakub@redhat.com>
12743
12744         * lib/mktime.c (__mktime_internal): If SEC_REQUESTED != SEC,
12745         convert T2, not T.  (Imported from libc.)
12746
12747 2004-11-30  Simon Josefsson  <jas@extundo.com>
12748
12749         * modules/restrict (License): Change to LGPL.
12750
12751 2004-11-30  Simon Josefsson  <jas@extundo.com>
12752
12753         * m4/restrict.m4: Add copyright and copying conditions.
12754
12755 2004-11-30  Simon Josefsson  <jas@extundo.com>
12756
12757         * m4/base64.m4: New file.
12758
12759 2004-11-30  Simon Josefsson  <jas@extundo.com>
12760
12761         * MODULES.html.sh (Extra functions based on ANSI C 89): Add
12762         base64.
12763
12764         * tests/test-base64.c: New file.
12765
12766         * modules/base64: New file.
12767
12768 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
12769
12770         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX):
12771         Define HAVE_PARTLY_WORKING_GETCWD if getcwd is partly working.
12772
12773         * m4/readutmp.m4 (gl_READUTMP): Don't check for sys/param.h.
12774
12775 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
12776
12777         * lib/getcwd.c (is_ENAMETOOLONG): New macro.
12778         (__getcwd.c): Don't restore errno; glibc doesn't.
12779         [HAVE_PARTLY_WORKING_GETCWD && !defined AT_FDCWD]: Try system getcwd
12780         first, falling back to our code only if its results look suspicious.
12781         Ensure that the resulting buffer is only as large as necessary.
12782
12783         * lib/readutmp.c: Include readutmp.h first.
12784         Include <errno.h>, since readutmp.h no longer does that.
12785         * lib/readutmp.h: Don't include <errno.h>,
12786         <sys/param.h>, <time.h>; not needed to establish interface.
12787         (errno): Remove decl.
12788         (HAVE_STRUCT_XTMP_UT_TYPE): Remove; no longer needed.
12789         (UT_TYPE_EQ, UT_TYPE_NOT_DEFINED, UT_TYPE_BOOT_TIME,
12790         UT_TYPE_USER_PROCESS, IS_USER_PROCESS): New macros.
12791
12792 2004-11-28  Simon Josefsson  <jas@extundo.com>
12793
12794         * lib/base64.h, base64.c: New file.
12795
12796 2004-11-27  Paul Eggert  <eggert@cs.ucla.edu>
12797
12798         * lib/getcwd.h: New file, which I forgot to check in on 2004-11-25.
12799
12800 2004-11-26  Paul Eggert  <eggert@cs.ucla.edu>
12801
12802         * modules/getcwd (Files): Add lib/getcwd.h, m4/getcwd.m4.
12803         (Depends-on): Remove pathmax, same.  Add mempcpy.
12804         (configure.ac): GL_FUNC_GETCWD_PATH_MAX -> gl_FUNC_GETCWD.
12805         (Makefile.am): Append getcwd.h to lib_SOURCES.
12806         (Include): Add getcwd.h.
12807         (Maintainer): Change from Jim Meyering to "all, glibc",
12808         since getdate now uses intended-for-glibc code.
12809         * modules/xgetcwd (Files): Remove m4/getcwd.m4.
12810         (Depends-on): Depend on getcwd.  Do not depend on pathmax.
12811
12812 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
12813
12814         Fix problems reported by Scott S. Tinsley for HP-UX 11.11 using
12815         HP's ANSI C compiler.
12816         * lib/fsusage.c (statvfs) [HAVE_SYS_STATVFS_H]: Remove decl.
12817         Declaring int functions causes warnings on some modern systems and
12818         shouldn't be needed to compile on ancient ones.
12819         * lib/same.c (MIN) [defined MIN]: Don't define, since it's already
12820         defined.
12821
12822         * lib/getcwd.c: Replace by a copy of glibc/sysdeps/posix/getcwd.c, but
12823         with the following changes.
12824         (__set_errno): Parenthesize properly.
12825         Include <stdbool.h>.
12826         (MIN, MAX, MATCHING_INO): New macros.
12827         (__getcwd): Define with prototype, not K&R form.
12828         Use heuristics to allocate default buffer on stack if possible.
12829         If AT_FDCWD is defined, use openat and fstatat to avoid O(N**2)
12830         behavior, and to avoid the PATH_MAX limit when computing
12831         ../../../../...
12832         Use MATCHING_INO to compare inode number to file.
12833         Check for arithmetic overflow in size calculations.
12834         Fix bug in reallocation of dot array that caused getcwd to fail
12835         on directories nested deeper than 75.
12836         Be more careful about saving errno on error.
12837         Do not use realloc; use only free+malloc, as this is a bit
12838         more flexible and avoids a needless copy operation.
12839         Do not inspect st_dev and st_ino for symbolic links; POSIX
12840         doesn't specify the latter.
12841         Check for closedir errors.
12842         Avoid needless casts.
12843         Use "#ifdef weak_alias" around weak_alias, to be like other
12844         glibc code.
12845         The following changes to getcwd.c have effect only when used in
12846         gnulib; they have no effect inside glibc proper.
12847         (#pragma alloca) [defined _AIX && !defined __GNUC__]: Remove,
12848         as alloca isn't used.
12849         (alloca, __alloca): Likewise.
12850         [!_LIBC]: Include "getcwd.h", "mempcpy.h".
12851         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
12852         unconditionally, as gnulib assumes C89 or better.
12853         Do not include <sys/param.h>.
12854         (errno) [!defined __GNU_LIBRARY__ && !defined STDC_HEADERS]: Remove
12855         no-longer-necessary 'extern int errno' decl; gnulib assumes C89 or
12856         better.
12857         (NULL) [!defined NULL]: Remove; we assume C89 or better.
12858         Include <dirent.h> in a way that is compatible with modern Autoconf.
12859         (_D_ALLOC_NAMELEN, _D_EXACT_NAMLEN):
12860         New macros, if not already defined.
12861         Include <unistd.h> if _LIBC, not if __GNU_LIBRARY__.
12862         Use "_LIBC", not "defined _LIBC", for consistency.
12863         (HAVE_MEMPCPY): Remove; no longer needed now that gnulib has
12864         a mempcpy module.
12865         (__lstat, __closedir, __opendir, __readdir) [!_LIBC]: New macros.
12866         (GETCWD_RETURN_TYPE): Remove.  All uses replaced by char *.
12867         * lib/xgetcwd.c: David MacKenzie's old code was removed, so give
12868         credit only to Jim Meyering and adjust the copyright dates.
12869         Do not include <limits.h>, <stdio.h>, <sys/types.h>,
12870         <stdlib.h>, <unistd.h>, "pathmax.h".
12871         Instead, include "xgetcwd.h" (first) and "getcwd.h".
12872         (INITIAL_BUFFER_SIZE): Remove.
12873         (xgetcwd): Rely on getcwd, since we now depend on a reliable one.
12874
12875 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
12876
12877         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Renamed from
12878         GL_FUNC_GETCWD_PATH_MAX for consistency.  All uses changed.
12879         Use the _ONCE methods, for efficiency.
12880         Check for fcntl.h.  In test program, include <errno.h>
12881         and <fcntl.h> if available.  Remove old K&R cruft from
12882         test program.  Check for common errors in GNU/Linux,
12883         OpenBSD, and Solaris.  Just set gl_cv_func_getcwd_path_max;
12884         don't do AC_LIBOBJ, as that's getcwd.m4's job.
12885         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Renamed from
12886         AC_FUNC_GETCWD_NULL.  All used changed.  Change cache variable
12887         name accordingly.
12888         (gl_FUNC_GETCWD, gl_PREREQ_GETCWD): New macros.  Revamp to
12889         accommodate new getcwd.c.
12890         * m4/jm-macros.m4 (gl_MACROS): Don't require GL_FUNC_GETCWD_PATH_MAX.
12891         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_MEMPCPY.
12892         * m4/xgetcwd.m4 (gl_XGETCWD): Replace with gl_FUNC_GETCWD, since
12893         that's all we need now.
12894
12895 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
12896
12897         * m4/argp.m4 (gl_ARGP): Require gl_GETOPT_SUBSTITUTE unconditionally:
12898         argp-parse.c depends on getopt internals, that means we should
12899         always use our getopt, to be on the safe side.
12900         * m4/getopt.m4 (gl_GETOPT): Check if GETOPT_H is already set, in
12901         order not to spoil the result of an eventual previous invocation
12902         of gl_GETOPT_SUBSTITUTE.
12903
12904 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
12905
12906         * lib/getopt_.h: Re-addition of __getopt_argv_const caused
12907         redefinition warnings. To avoid them, include the defines
12908         in `#if !defined __need_getopt ... #endif'. The only place
12909         where __getopt_argv_const is used is in definitions
12910         of getopt_long and getopt_long_only below, which are as well
12911         protected by `#ifndef __need_getopt'.
12912         [defined __GETOPT_PREFIX && !defined __need_getopt]: Undef
12913         __need_getopt after including <stdio.h> and <unistd.h> These
12914         headers might have defined it.
12915
12916 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
12917
12918         * m4/utimens.m4 (gl_UTIMENS): Check for futimes function.
12919
12920 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
12921
12922         * lib/utimens.c (__attribute__, ATTRIBUTE_UNUSED): New macros.
12923         (futimens): New function, which uses futimes if available.
12924         (futimens, utimens): Support timespec==NULL, with same semantics
12925         as utime and utimens.
12926         * lib/utimens.h (futimens): New decl.
12927
12928 2004-11-23  Jim Meyering  <jim@meyering.net>
12929
12930         * lib/getopt_.h: Remove trailing blanks.
12931
12932 2004-11-23  Jim Meyering  <jim@meyering.net>
12933
12934         * lib/__fpending.c: Add comment.
12935
12936 2004-11-22  Paul Eggert  <eggert@cs.ucla.edu>
12937
12938         * modules/canonicalize (Depends-on): Add xreadlink.
12939         Problem reported by James Youngman.
12940
12941 2004-11-20  Paul Eggert  <eggert@cs.ucla.edu>
12942
12943         * lib/getopt_.h (__GETOPT_CONCAT, __GETOPT_XCONCAT, __GETOPT_ID):
12944         New macros.
12945         (getopt, getopt_long, getopt_long_only, optarg, opterr, optind,
12946         optopt): Use them instead of invoking ## directly; otherwise, the
12947         symbols will be __GETOPT_PREFIXgetopt rather than rpl_getopt.
12948
12949 2004-11-19  Bruno Haible  <bruno@clisp.org>
12950
12951         * lib/strtok_r.c: Move comments from here...
12952         * lib/strtok_r.h: ... to here.
12953
12954 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
12955
12956         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Check for buggy calloc
12957         implementations that mishandle size_t overflow.
12958
12959 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
12960
12961         * lib/realloc.c (rpl_realloc): Call 'free' if n==0, since realloc
12962         might fail.  Problem reported by Yoann Vandoorselaere.
12963         * lib/calloc.c (rpl_calloc): Defend against buggy calloc
12964         implementations that mishandle size_t overflow.
12965
12966 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
12967
12968         * modules/canon-host (Depends-on): Add strdup.
12969
12970 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
12971
12972         * m4/canon-host.m4 (gl_CANON_HOST): Check for getaddrinfo.
12973
12974 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
12975
12976         * lib/canon-host.c: Include "strdup.h".
12977         (canon_host): Use getaddrinfo if available, so that IPv6 works.
12978         Use strdup instead of malloc/strcpy to duplicate strings.
12979
12980         * lib/human.h (LONGEST_HUMAN_READABLE): Add 1 for space before unit.
12981         (human_space_before_unit): New constant.
12982         * lib/human.c (human_readable): Support it.
12983
12984         * lib/xgetcwd.c: Include <limits.h>, for PATH_MAX.
12985         (xgetcwd): Set errno correctly when failing.
12986         Work around Solaris 9 bug: getcwd sets errno==ERANGE even though
12987         the failure is actually due to a PATH_MAX problem.
12988
12989         Further getopt changes to make it more likely that glibc will
12990         buy the changes back.
12991         * lib/getopt.c (POSIXLY_CORRECT): New constant.
12992         (getopt): Use it, so to preserve glibc semantic
12993         * lib/getopt1.c (getopt_long, getopt_long_only): Arg is char * const *
12994         when compiling for libc.
12995         * lib/getopt_.h (__getopt_argv_const): Bring it back.
12996         (getopt_long, getopt_long_only): Use it.
12997
12998         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
12999         _getopt_internal): New arg POSIXLY_CORRECT.  All callers changed.
13000         (getopt): Argv is now char * const *, as per standard.
13001         (_getopt_internal_r, _getopt_internal): Argv is now char **,
13002         not char *__getopt_argv_const *.
13003         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
13004         _getopt_long_only_r): Likewise.
13005         * lib/getopt_.h (getopt, getopt_long, geopt_long_only): Likewise.
13006         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
13007         _getopt_long_r, _getopt_long_only_r): Likewise.
13008         * lib/getopt_.h (__getopt_argv_const): Remove.
13009         (getopt): Argv is now char * const *, as per standard.
13010
13011         * lib/getdate.y (tORDINAL): New token.
13012         (day, relunit): Allow it for relative times.
13013         (relative_time_table): Use tORDINAL for ordinals.
13014
13015 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
13016
13017         * doc/getdate.texi (General date syntax): "next" is 1, not 2.
13018         Document that "second" isn't allowed as an ordinal number.
13019
13020 2004-11-16  Jim Meyering  <jim@meyering.net>
13021
13022         * modules/closeout (Depends-on): Add fpending.
13023
13024 2004-11-15  Jim Meyering  <jim@meyering.net>
13025
13026         * lib/closeout.c: Include "__fpending.h" once again.
13027         Include <stdbool.h>.
13028         (close_stdout): Don't fail just because stdout was closed initially,
13029         since some programs don't write to stdout in the normal course of
13030         operation (other than --version and --help), and we don't want this
13031         function to make e.g. `touch file >&-' fail.
13032         But do fail if it was closed and someone has tried to write to it.
13033         E.g., `printf foo >&-' must fail.
13034
13035 2004-11-13  Jim Meyering  <jim@meyering.net>
13036
13037         * m4/jm-macros.m4: Do require gl_FUNC_FPENDING.
13038
13039 2004-11-12  Simon Josefsson  <jas@extundo.com>
13040
13041         * config/srclist.txt: Add strtok_r.c, glibc bought our changes, but a
13042         small doc fix is still pending.
13043
13044 2004-11-11  Simon Josefsson  <jas@extundo.com>
13045
13046         * modules/strtok_r: New file.
13047
13048         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
13049         strtok_r.
13050
13051 2004-11-11  Simon Josefsson  <jas@extundo.com>
13052
13053         * m4/strtok_r.m4: New file.
13054
13055         * m4/getopt.m4: Replace opterr.
13056
13057 2004-11-11  Simon Josefsson  <jas@extundo.com>
13058
13059         * lib/strtok_r.h, strtok_r.c: New file.
13060
13061 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
13062
13063         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): Define __GETOPT_PREFIX instead
13064         of replacing opterr, getopt, etc.  This should handle the
13065         powerpc-apple-darwin5.5 problem recently noted by Simon Josefsson.
13066
13067 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
13068
13069         * lib/getopt_.h (__getopt_argv_const): New macro, to be used so that
13070         we can stop lying to compilers about the constness of argv when we
13071         are compiled outside glibc.
13072         (getopt, getopt_long, getopt_long_only): Use it.
13073         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
13074         _getopt_internal, getopt): Likewise.
13075         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
13076         _getopt_long_only_r): Likewise.
13077         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
13078         _getopt_long_r, _getopt_long_only_r): Likewise.
13079
13080         * lib/getopt_.h [defined __GETOPT_PREFIX && !defined __need_getopt]:
13081         Include <stdlib.h> and <stdio.h>, and <unistd.h> if available.
13082         Then rename getopt to __GETOPT_PREFIX##getopt, and so forth for
13083         the other external symbols.
13084         (getopt) [!defined __GNU_LIBRARY]: Use prototype, not old-style
13085         declaration, since the above renaming now works around collisions.
13086
13087 2004-11-11  Jim Meyering  <jim@meyering.net>
13088
13089         * lib/linebreak.c: Remove trailing blanks.
13090         * lib/alloca_.h: Likewise.
13091         * lib/acosl.c: Likewise.
13092         * lib/euidaccess.c: Likewise.
13093         * lib/allocsa.h: Likewise.
13094
13095 2004-11-10  Simon Josefsson  <jas@extundo.com>
13096
13097         * m4/getaddrinfo.m4: New file.
13098
13099 2004-11-10  Simon Josefsson  <jas@extundo.com>
13100
13101         * lib/getaddrinfo.h, lib/getaddrinfo.c: New files.
13102
13103 2004-11-10  Simon Josefsson  <jas@extundo.com>
13104
13105         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
13106         getaddrinfo.
13107
13108         * modules/getaddrinfo: New file.
13109
13110 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
13111
13112         * m4/prereq.m4 (gl_PREREQ): Require gt_FUNC_SETENV.
13113
13114 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
13115
13116         * lib/mktime.c (SHR): New macro, which is a portable
13117         substitute for >> that should work even on Crays.
13118         (TIME_T_MIDPOINT, ydhms_diff, __mktime_internal): Use it.
13119         Problem reported by Mark D. Baushke in
13120         <http://lists.gnu.org/archive/html/bug-gnulib/2004-11/msg00071.html>.
13121         * lib/getdate.y (SHR): Likewise.
13122         (tm_diff): Use it.
13123         * lib/strftime.c (SHR): Likewise.
13124         (tm_diff): Use it.
13125         * lib/quotearg.c (struct quoting_options): Use unsigned int for
13126         quote_these_too, so that right shifts are well defined.  All uses
13127         changed.
13128
13129 2004-11-10  Jim Meyering  <jim@meyering.net>
13130
13131         Ensure that no close failure goes unreported.
13132         * lib/closeout.c (close_stdout): Always close stdout.  I.e., don't
13133         return early when it seems there's nothing to flush.
13134         Don't include __fpending.h.
13135
13136 2004-11-10  Jim Meyering  <jim@meyering.net>
13137
13138         * modules/closeout (Depends-on): Remove fpending.
13139
13140 2004-11-10  Jim Meyering  <jim@meyering.net>
13141
13142         * m4/jm-macros.m4 (gl_MACROS): Don't require gl_FUNC_FPENDING.
13143
13144 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
13145
13146         * m4/strftime.m4 (_gl_STRFTIME_PREREQS): Remove.  Move its body to
13147         gl_FUNC_STRFTIME.
13148         (gl_FUNC_STRFTIME): Use AC_CHECK_FUNCS_ONCE and AC_CHECK_HEADERS_ONCE
13149         and AC_REQUIRE when possible, to avoid duplicate checks.
13150         Check for <wchar.h>.
13151
13152 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
13153
13154         * lib/strftime.c (DO_MULTIBYTE): Check for wchar.h, too.
13155
13156 2004-11-09  Bruno Haible  <bruno@clisp.org>
13157
13158         * m4/sockpfaf.m4: New file.
13159
13160 2004-11-05  Bruno Haible  <bruno@clisp.org>
13161
13162         * lib/readlink.c: Include stddef.h, needed for size_t on Woe32.
13163         Reported by Mark D. Baushke <mdb@cvshome.org>.
13164
13165 2004-11-04  Bruno Haible  <bruno@clisp.org>
13166
13167         2004-09-11  Bruno Haible  <bruno@clisp.org>
13168                 * allocsa.valgrind: New file.
13169         2004-02-06  Bruno Haible  <bruno@clisp.org>
13170                 * allocsa.h (sa_alignof): Define differently with HP-UX cc, to
13171                 avoid a bug of this cc on HP-UX 10.20 dealing with enums.
13172                 Reported by Christopher Seip <chris.seip@hp.com>.
13173
13174 2004-11-04  Bruno Haible  <bruno@clisp.org>
13175
13176         * modules/allocsa (Files): Add lib/allocsa.valgrind.
13177         (Makefile.am): Distribute it.
13178
13179 2004-11-03  Paul Eggert  <eggert@cs.ucla.edu>
13180
13181         * lib/xreadlink.c (xreadlink): AIX and HP-UX readlink return -1
13182         with errno == ERANGE if the buffer is too small.
13183         Problem reported by Mark D. Baushke.
13184
13185 2004-11-03  Albert Chin <china@thewrittenword.com>
13186             Paul Eggert  <eggert@cs.ucla.edu>
13187
13188         * m4/uint32_t.m4 (gl_AC_TYPE_UINT32_T): When determining uint32_t
13189         equivalent, substitute $ac_type for equivalent type rather than
13190         blindly using uint32_t *always* which won't work if uint32_t is not
13191         available.  Define _UINT32_T to work around typedef of uint32_t if
13192         <sys/sched.h>, <pthread.h>, or <semaphore.h> used on Solaris
13193         2.5.1.
13194
13195 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
13196
13197         * m4/jm-macros.m4: Sync from coreutils.
13198         (gl_MACROS): Check for mbrlen, for pathchk.
13199         (gl_CHECK_ALL_TYPES): Require AC_TYPE_MBSTATE_T, for pathchk.
13200
13201 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
13202
13203         * lib/xreadlink.c (MAXSIZE): New macro.
13204         (xreadlink): Use it instead of SSIZE_MAX.  Ensure initial buffer
13205         size does not exceed MAXSIZE.  Avoid cast.
13206         As suggested by Mark D. Baushke in
13207         <http://lists.gnu.org/archive/html/bug-gnulib/2004-11/msg00009.html>,
13208         if readlink fails with buffer size just under MAXSIZE, try again
13209         with MAXSIZE.
13210
13211 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
13212
13213         * config/srclist.txt: Add mktime.c; glibc bought all our changes.
13214
13215 2004-11-02  Derek R. Price  <derek@ximbiot.com>
13216         and  Paul Eggert  <eggert@cs.ucla.edu>
13217
13218         * lib/getdate.y [!TEST]: Include <stdio.h>, since we use sprintf now.
13219         (get_date): Overparenthesize to avoid GCC warning.
13220
13221 2004-11-02  Bruno Haible  <bruno@clisp.org>
13222
13223         * m4/setenv.m4 (gt_FUNC_SETENV): Define VOID_UNSETENV if unsetenv()
13224         returns void.
13225
13226 2004-11-02  Bruno Haible  <bruno@clisp.org>
13227
13228         * lib/setenv.h (unsetenv): Define as a macro if the system's unsetenv()
13229         function returns void.
13230
13231 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
13232
13233         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for declarations of
13234         fflush_unlocked, flockfile, funlockfile, funlockfile,
13235         fputs_unlocked, putc_unlocked.
13236
13237 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
13238
13239         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
13240         (funlockfile, fputs_unlocked, putc_unlocked): Don't define if
13241         already declared.
13242
13243 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
13244
13245         * modules/getdate (Files): Add doc/getdate.texi.
13246         (Depends-on): Add setenv, xalloc.
13247
13248 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
13249
13250         * lib/getdate.y: Add support for TZ="foo" within a date string.
13251         Fix some bugs near time_t boundaries.  Reject dates with
13252         out-of-range components, e.g., "Sept 31".
13253         Include <stdlib.h>, "setenv.h", "xalloc.h".
13254         (ISDIGIT_LOCALE): Remove; unused.
13255         Note that the TZ and time functions used here are not reentrant.
13256         (mktime_ok, get_tz): New functions.
13257         (TZBUFSIZE): New constant.
13258         (get_date): Parse leading TZ="foo".  Reject out-of-range components;.
13259         This requires that we sometimes generate our own TZ="XXX..." setting.
13260
13261 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
13262
13263         * doc/getdate.texi: New file, from coreutils with modifications for
13264         the new TZ parsing.
13265
13266 2004-10-27  Derek R. Price  <derek@ximbiot.com>
13267
13268         * lib/mktime.c (not_equal_tm): Remove redundant check.
13269
13270 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
13271
13272         * modules/regex (lib_SOURCES): Add regex.c.
13273         Reported by James Youngman in
13274         <http://lists.gnu.org/archive/html/bug-gnulib/2004-10/msg00199.html>.
13275
13276 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
13277
13278         * lib/getdate.y: Use Bison 1.875 features, and some minor
13279         code cleanups.  This change does not affect semantics.
13280         Don't include <stdlib.h>; no longer needed.
13281         Don't include unlocked-io.h; only the "#if TEST" code uses
13282         stdio, and performance isn't crucial there.
13283         (PC, YYLEX_PARAM, YYPARSE_PARAM): Remove; replaced by
13284         Bison 1.875 features as described below.
13285         All uses of "PC." replaced by "pc->".
13286         (YYSTYPE): Add a forward declaration.
13287         (yylex, yyerror): Use full prototypes in forward decls.
13288         Use "%pure-parser" rather than obsolescent "%pure_parser".
13289         Use %parse-param and %lex-param instead of obsolescent
13290         YYPARSE_PARAM and YYLEX_PARAM.
13291         (meridian_table, month_and_day_table, time_units_table,
13292         relative_time_table, time_zone_table, military_table,
13293         lookup_zone, lookup_word, get_date):
13294         Use NULL instead of 0 where appropriate.
13295         (to_hour): Avoid abort (), to avoid a dependency on
13296         stdlib.h.
13297         (yyerror, yylex): Now accepts parser_control * arg.
13298         (main) [TEST]: Use '\0' rather than 0 for char.
13299
13300 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
13301
13302         * m4/getpagesize.m4 (gl_GETPAGESIZE): Check for <sys/param.h>.
13303
13304 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
13305
13306         * lib/getpagesize.c (getpagesize): Don't assume <sys/param.h> exists.
13307         It's now the caller's responsibility to handle the case where
13308         !HAVE_GETPAGESIZE && !defined getpagesize.
13309
13310         * lib/mktime.c (leapyear): Arg is long int, not int.
13311
13312 2004-10-18  Paul Eggert  <eggert@cs.ucla.edu>
13313
13314         * lib/argp-fs-xinl.c, argp-xinl.c: Update from glibc.
13315
13316 2004-10-17  Paul Eggert  <eggert@cs.ucla.edu>
13317
13318         * gnulib-tool (func_emit_lib_Makefile_am): Fix typo: a $ was
13319         missing.  Problem reported by James Youngman.
13320
13321 2004-10-16  Simon Josefsson  <jas@extundo.com>
13322
13323         * gnulib-tool: Fix comments.  Fix parse problem.
13324         (func_emit_lib_Makefile_am): Don't hard code a in libgl_a_SOURCES.
13325
13326 2004-10-15  Paul Eggert  <eggert@cs.ucla.edu>
13327
13328         * m4/getopt.m4 (gl_GETOPT): Detect and reject the incompatible BSD
13329         implementation of getopt_long.  Problem reported by Alexander Taler in:
13330         http://lists.gnu.org/archive/html/bug-gnulib/2004-10/msg00103.html
13331
13332 2004-10-15  Bruno Haible  <bruno@clisp.org>
13333
13334         * gnulib-tool: Untabify. Initialize supplied_libname.
13335         (func_usage): More homogenous output.
13336         (func_modules_transitive_closure, func_modules_to_filelist,
13337         func_emit_lib_Makefile_am): New functions.
13338         (func_import): New function, extracted from big case statement. Use
13339         func_get_license, func_modules_transitive_closure,
13340         func_modules_to_filelist, func_emit_lib_Makefile_am. Initialize
13341         opt_lgpl. Don't use test -a, as it's not portable.
13342         (func_create_testdir): Use func_modules_transitive_closure,
13343         func_modules_to_filelist, func_emit_lib_Makefile_am.
13344
13345 2004-10-15  Bruno Haible  <bruno@clisp.org>
13346
13347         * gnulib-tool (func_import): Let gl_INIT define LTALLOCA when needed.
13348
13349 2004-10-15  Bruno Haible  <bruno@clisp.org>
13350
13351         * gnulib-tool (func_emit_lib_Makefile_am): Add markers to separate
13352         the portions belonging to each module.
13353         Suggested by Derek Robert Price <derek@ximbiot.com>.
13354
13355 2004-10-12  Simon Josefsson  <jas@extundo.com>
13356
13357         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
13358         (fputs_unlocked, putc_unlocked) [!_LIBCS && !USE_UNLOCKED_IO]: Map
13359         to real functions.
13360
13361 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
13362
13363         * modules/vsnprintf: New file.
13364
13365 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
13366
13367         * m4/vsnprintf.m4: New file.
13368
13369 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
13370
13371         * lib/vsnprintf.h: New file.
13372         * lib/vsnprintf.c: New file.
13373
13374 2004-10-11  Bruno Haible  <bruno@clisp.org>
13375
13376         * MODULES.html.sh (Support for systems lacking ISO C 99): Add
13377         vsnprintf.
13378
13379 2004-10-10  Paul Eggert  <eggert@cs.ucla.edu>
13380
13381         * config/srclistvars.sh: Add GNUSTANDARDS (for eggert only).
13382
13383 2004-10-07  Bruno Haible  <bruno@clisp.org>
13384
13385         * lib/snprintf.c (snprintf): Avoid a memory allocation if the result
13386         fits into the provided buffer.
13387
13388 2004-10-06  Paul Eggert  <eggert@cs.ucla.edu>
13389
13390         * lib/diacrit.c, diacrit.h: Add GPL notice.
13391
13392         * lib/atanl.c, logl.c: Add GPL notice, to match glibc's added LGPL
13393         notice.
13394         * lib/atanl.c (atanl): Keep the code as similar to glibc as possible.
13395         * lib/logl.c (logl): Keep the code as similar to glibc as possible.
13396         This avoids a potential constant-folding bug.
13397
13398 2004-10-05  Bruno Haible  <bruno@clisp.org>
13399
13400         * m4/strsep.m4 (gl_FUNC_STRSEP): Require AC_GNU_SOURCE. Don't check
13401         for the declaration of strsep.
13402
13403 2004-10-05  Bruno Haible  <bruno@clisp.org>
13404
13405         * lib/strsep.h: Don't declare strsep() if HAVE_STRSEP.
13406
13407 2004-10-04  Simon Josefsson  <jas@extundo.com>
13408
13409         * modules/memmem: New file.
13410         * tests/test-memmem.c: New file.
13411         * MODULES.html.sh (Extra functions based on ANSI C 89): Add memmem.
13412
13413 2004-10-04  Simon Josefsson  <jas@extundo.com>
13414
13415         * m4/memmem.m4: New file.
13416
13417 2004-10-04  Simon Josefsson  <jas@extundo.com>
13418
13419         * lib/memmem.h: New file.
13420         * lib/memmem.c: New file, taken from glibc.
13421
13422 2004-10-04  Simon Josefsson  <jas@extundo.com>
13423
13424         * lib/error.c, md5.c, regex.c: Use '#if USE_UNLOCKED_IO' instead of
13425         '#ifdef USE_UNLOCKED_IO'.
13426
13427 2004-10-04  Simon Josefsson  <jas@extundo.com>
13428
13429         * config/srclist.txt: Add memmem from glibc.
13430
13431 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
13432
13433         * modules/xalloc (Files, Makefile.am): Remove xstrdup.c.
13434
13435         * modules/argmatch, modules/argp, modules/closeout, modules/error,
13436         modules/exclude, modules/getdate, modules/getline,
13437         modules/getndelim2, modules/getpass, modules/getpass-gnu,
13438         modules/getusershell, modules/linebuffer, modules/md5,
13439         modules/mountlist, modules/posixtm, modules/readtokens,
13440         modules/readutmp, modules/regex, modules/sha1,
13441         modules/version-etc, modules/yesno:
13442         Remove dependency on unlocked-io.
13443
13444 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
13445
13446         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Remove.  All uses removed.
13447
13448         * m4/unlocked-io.m4: Add copyright notice.
13449         (gl_FUNC_GLIBC_UNLOCKED_IO): Define USE_UNLOCKED_IO.
13450
13451 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
13452
13453         * lib/xalloc.h (xmemdup): Renamed from xclone.  All uses changed.
13454         * lib/xmalloc.c (xmemdup): Likewise.
13455         * lib/xalloc.h (CCLONE, CLONE, NEW, XCALLOC, XMALLOC, XREALLOC,
13456         XFREE): Remove these long-obsolescent macros.
13457         * lib/xmalloc.c (xstrdup): Implementation moved here from xstrdup.c
13458         * lib/xstrdup.c: Remove.
13459
13460         * lib/regex.c (re_comp): Cast gettext return value to char *,
13461         Problem reported by Martin Neitzel via Mark D. Baushke.
13462
13463 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
13464
13465         * lib/argmatch.c, closeout.c, error.c, exclude.c, getdate.y,
13466         getndelim2.c, getpass.c, getusershell.c, linebuffer.c,
13467         md5.c, mountlist.c, posixtm.c, readtokens.c, readutmp.c,
13468         regex.c, sha1.c, version-etc.c, yesno.c:
13469         Include "unlocked-io.h" only if USE_UNLOCKED_IO.
13470         * lib/unlocked-io.h: Don't worry about USE_UNLOCKED_IO; that's now
13471         the includer's responsibility.
13472
13473         Sync from coreutils.
13474
13475         * lib/modechange.c (mode_compile): Don't decrement a pointer that
13476         points to the start of a string, as the C Standard says the
13477         resulting behavior is undefined.
13478
13479         * lib/backupfile.h (enum backuptype): Rename none -> no_backups,
13480         simple -> simple_backups, numbered_existing ->
13481         numbered_existing_backups, numbered -> numbered_backups
13482         to avoid shadowing problems.  All uses changed.
13483         * lib/argmatch.c (enum backuptype) [defined TEST]: Likewise.
13484         * lib/backupfile.c (check_extension, numbered_backup):
13485         Rename locals to avoid shadowing 'basename'.
13486         * lib/backupfile.h (VALID_BACKUP_TYPE): Don't evaluate arg more than
13487         once.
13488
13489         * lib/.cppi-disable: Add getopt_.h, getopt_int.h.
13490         * lib/.cvsignore: Add getopt.h.
13491
13492 2004-10-04  Bruno Haible  <bruno@clisp.org>
13493
13494         * modules/README: New file.
13495         * gnulib-tool (func_all_modules, func_verify_module): modules/README is
13496         not a module.
13497
13498 2004-10-02  Jim Meyering  <jim@meyering.net>
13499
13500         * lib/dirfd.h, getpagesize.h: Add copyright notice.
13501
13502 2004-10-01  Yoann Vandoorselaere <yoann@prelude-ids.org>
13503
13504         * modules/strsep: New file.
13505
13506 2004-10-01  Yoann Vandoorselaere <yoann@prelude-ids.org>
13507
13508         * m4/strsep.m4: New file.
13509
13510 2004-10-01  Yoann Vandoorselaere <yoann@prelude-ids.org>
13511
13512         * lib/strsep.h: New file.
13513         * lib/strsep.c: New file.
13514
13515 2004-10-01  Simon Josefsson  <jas@extundo.com>
13516
13517         * lib/snprintf.c (snprintf): Handle size==0.
13518
13519 2004-10-01  Simon Josefsson  <jas@extundo.com>
13520             Bruno Haible  <bruno@clisp.org>
13521
13522         * lib/snprintf.c: Include <stdarg.h>, <stdlib.h>, <string.h>.
13523         (snprintf): Declare 'args'.
13524
13525 2004-10-01  Paul Eggert  <eggert@cs.ucla.edu>
13526
13527         * lib/snprintf.c: Remove comments as to why each header is needed.
13528
13529 2004-10-01  Bruno Haible  <bruno@clisp.org>
13530
13531         * MODULES.html.sh: Add strsep.
13532
13533 2004-09-30  Simon Josefsson  <jas@extundo.com>
13534
13535         * modules/snprintf: New file.
13536
13537 2004-09-30  Simon Josefsson  <jas@extundo.com>
13538
13539         * m4/snprintf.m4: New file.
13540
13541 2004-09-30  Simon Josefsson  <jas@extundo.com>
13542
13543         * lib/snprintf.h, lib/snprintf.c: New files.
13544
13545 2004-09-30  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
13546
13547         * lib/argp-help.c (canon_doc_option): Fixed coredump if *name==NULL
13548         (hol_entry_help): Never translate an empty string.
13549         Do not translate option tag (opt->name) if OPTION_NO_TRANS is set
13550         * lib/argp.h (OPTION_NO_TRANS): New option.
13551
13552 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
13553
13554         * modules/argp (Maintainer): Replace Simon Josefsson
13555         by Sergey Poznyakoff.
13556
13557 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
13558
13559         * config/srclist.txt: Comment-out argp/argp.h, until we get the argp
13560         changes merged back into glibc.
13561
13562 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
13563
13564         * MODULES.html.sh (Support for systems lacking ISO C 99): Add snprintf.
13565
13566 2004-09-29  Oskar Liljeblad  <oskar@osk.mine.nu>
13567
13568         * lib/xvasprintf.c: Include xalloc.h.
13569         (xvasprintf): Use xalloc_die, not xmalloc_die.
13570
13571 2004-09-29  Bruno Haible  <bruno@clisp.org>
13572
13573         * modules/alloca-opt: New file, derived from modules/alloca.
13574         * modules/allocsa: Depend on alloca-opt instead of alloca.
13575         * modules/setenv: Likewise.
13576         * modules/vasnprintf: Likewise.
13577         * MODULES.html.sh: Add alloca-opt.
13578
13579 2004-09-28  Simon Josefsson  <jas@extundo.com>
13580
13581         * gnulib-tool: New parameter --lgpl, to asseert that modules are
13582         LGPL, and to replace license template from GPL to LGPL.
13583
13584 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
13585
13586         * modules/dummy: Change license to LGPL.
13587
13588 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
13589
13590         * lib/dummy.c: Change copyright notice to FSF, and license to GPL.
13591
13592 2004-09-24  Simon Josefsson  <jas@extundo.com>
13593
13594         * modules/minmax (License): Change from GPL to LGPL.
13595
13596 2004-09-23  Simon Josefsson  <jas@extundo.com>
13597
13598         * gnulib-tool (--import): Typo.
13599
13600 2004-09-23  Simon Josefsson  <jas@extundo.com>
13601
13602         * gnulib-tool (--import): Make sure *.m4 end up in m4/ by default.
13603
13604 2004-09-22  Bruno Haible  <bruno@clisp.org>
13605
13606         * modules/*: Add 'License' field.
13607         * gnulib-tool: Accept --extract-license option.
13608         (func_get_license): New function.
13609
13610 2004-09-21  Bruno Haible  <bruno@clisp.org>
13611
13612         * modules/vasnprintf (Files): Add m4/stdint_h.m4, m4/inttypes_h.m4.
13613         Reported by Simon Josefsson.
13614
13615 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
13616
13617         * modules/inttostr (Files): Add m4/longlong.m4, since it uses
13618         gl_AC_TYPE_LONG_LONG.
13619
13620 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
13621
13622         * config/srclist.txt: Add getsubopt.c, since libc bought our changes.
13623
13624 2004-09-18  Simon Josefsson  <jas@extundo.com>
13625         and  Paul Eggert  <eggert@cs.ucla.edu>
13626
13627         * gnulib-tool: Replace various ad-hoc automake/autoconf/aclocal
13628         calls with autoreconf.  Define GL_LIB.
13629
13630 2004-09-14  Karl Berry  <karl@gnu.org>
13631
13632         * config/srclist.txt: unsync setenv.c, sigh.
13633
13634 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
13635
13636         * lib/argp-pvh.c (argp_program_version_hook): Provide initial value.
13637         Problem reported by Bruno Haible in:
13638         http://lists.gnu.org/archive/html/bug-tar/2004-09/msg00023.html
13639
13640 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
13641
13642         * config/srclist.txt: Comment out argp-pvh.c.
13643
13644 2004-09-11  Paul Eggert  <eggert@cs.ucla.edu>
13645
13646         * lib/mempcpy.h: Wrap the entire include file inside #ifndef mempcpy,
13647         in case some system header has #define'd it.  Problem reported by
13648         Soeren D. Schulze in
13649         <http://lists.gnu.org/archive/html/bug-gnulib/2004-09/msg00017.html>.
13650
13651 2004-09-09  Karl Berry  <karl@gnu.org>
13652
13653         * regex.[ch]: delete from the root.  These were supposed to be
13654                 synced with emacs cvs, but this has not happened for about
13655                 a year, and anyway nothing else uses emacs regex.[ch].
13656                 bug-gnulib mail from Jeff Bailey, 9 Sep 2004 15:49:24 -0700.
13657                 lib/regex[.ch] is untouched.
13658
13659 2004-09-09  Bruno Haible  <bruno@clisp.org>
13660
13661         * modules/vasnprintf (Files): Add m4/eoverflow.m4.
13662
13663 2004-09-09  Bruno Haible  <bruno@clisp.org>
13664
13665         * m4/eoverflow.m4: New file, taken from GNU libiconv eilseq.m4 with
13666         modifications.
13667         * m4/vasnprintf.m4 (gl_FUNC_VASNPRINTF): Require gl_EOVERFLOW.
13668
13669 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
13670
13671         * modules/xvasprintf: New file.
13672         * MODULES.html.sh (Extra functions based on ANSI C 89): Add vasprintf.
13673
13674 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
13675
13676         * lib/xvasprintf.h: New file.
13677         * lib/xvasprintf.c: New file.
13678         * lib/xasprintf.c: New file.
13679
13680 2004-09-08  Bruno Haible  <bruno@clisp.org>
13681
13682         * m4/stdint.m4: New file, taken from GNU clisp with modifications.
13683
13684 2004-09-08  Bruno Haible  <bruno@clisp.org>
13685
13686         * lib/vasnprintf.c (VASNPRINTF): Signal EOVERFLOW if the resulting
13687         length is > INT_MAX.
13688         * lib/vasprintf.c (vasprintf): Don't test for length > INT_MAX any
13689         more.
13690
13691 2004-09-08  Bruno Haible  <bruno@clisp.org>
13692
13693         * lib/stdint_.h: New file, taken from GNU clisp.
13694
13695 2004-09-08  Bruno Haible  <bruno@clisp.org>
13696             Oskar Liljeblad  <oskar@osk.mine.nu>
13697
13698         * modules/stdint: New file.
13699         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdint.
13700
13701 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
13702
13703         Import from coreutils.
13704         * lib/userspec.c: Don't use <alloca.h>, so that we don't use alloca on
13705         strings on unbounded length.  alloca's performance benefits aren't
13706         that important here.
13707         (V_STRDUP): Remove.
13708         (parse_with_separator): New function, with most of the internals
13709         of the old parse_user_spec.  Allow user to omit both user and group,
13710         for compatibility with FreeBSD.
13711         Clone only the user name, not the entire spec.
13712         Do not set *uid, *gid unless entirely successful.
13713         Avoid memory leak in some failing cases.
13714         Fix regression for USER.GROUP reported by Dmitry V. Levin in
13715         <http://lists.gnu.org/archive/html/bug-coreutils/2004-08/msg00102.html>
13716         (parse_user_spec): Rewrite to use parse_with_separator.
13717
13718 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
13719
13720         * modules/userspec: Don't depend on alloca.
13721
13722 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
13723
13724         * m4/userspec.m4 (gl_USERSPEC): Don't require AC_FUNC_ALLOCA.
13725
13726 2004-08-17  Paul Eggert  <eggert@cs.ucla.edu>
13727
13728         * MODULES.html.sh: Add xalloc-die, c-strtod, c-strtold, raise,
13729         readtokens0, getcwd, fcntl-safer, canonicalize, cycle-check,
13730         utimecmp, utimens, xnanosleep.  Rename sha to sha1.
13731
13732 2004-08-16  Simon Josefsson  <jas@extundo.com>
13733
13734         * gnulib-tool: Use sed instead of autoconf --trace, inspired by
13735         libtoolize behaviour by "Gary V. Vaughan" <gary@gnu.org>.
13736         Add --dry-run for --import.
13737         Let user provided command line parameters override configure.ac
13738         settings.
13739
13740 2004-08-12  Simon Josefsson  <jas@extundo.com>
13741
13742         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): New macro,
13743         as discussed with Paul Eggert in threads rooted at
13744         <http://lists.gnu.org/archive/html/bug-gnulib/2004-06/msg00039.html>
13745         and
13746         <http://lists.gnu.org/archive/html/bug-gnulib/2004-07/msg00001.html>.
13747         Before, the test was empty, and relied on ELIDE_CODE in source
13748         code.)
13749         (gl_PREREQ_GETOPT): New macro.
13750         (gl_GETOPT): Use them.
13751
13752 2004-08-12  Simon Josefsson  <jas@extundo.com>
13753
13754         * lib/getopt.c, getopt1.c: Remove ELIDE_CODE hack.
13755         * lib/getopt_.h: Renamed from getopt.h.
13756
13757 2004-08-12  Simon Josefsson  <jas@extundo.com>
13758
13759         * gnulib-tool: Add --source-base, --m4-base, --libtool options.
13760         Change default library name from libfoo to libgnu.
13761         Now, if you have a configure.ac that says:
13762                 gl_SOURCE_BASE(gl)
13763                 gl_M4_BASE(gl/m4)
13764                 gl_MODULES(error getopt etcetera)
13765                 gl_INIT
13766         you can import all you need by running:
13767                 ../gnulib/gnulib-tool --import
13768
13769         * modules/getopt (Files): Rename getopt.h to getopt_.h.
13770         (Makefile.am): Rewrite, use logic from argz.
13771         (Include): Use <getopt.h> instead of "getopt.h".
13772
13773 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
13774
13775         * modules/argp (Files): Add m4/unlocked-io.m4.
13776         (Depends-on): Add extensions.
13777
13778 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
13779
13780         * m4/argp.m4 (gl_ARGP): Do not check for argp.h or argp_parse; nobody
13781         uses HAVE_ARGP_H or HAVE_ARGP_PARSE.
13782         Require gl_FUNC_GLIBC_UNLOCKED_IO, gl_USE_SYSTEM_EXTENSIONS.
13783         Check for program_invocation_name, program_invocation_short_name,
13784         flockfile, funlockfile, features.h, _getopt_long_only_r.
13785
13786 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
13787
13788         * lib/argp-help.c, argp-parse.c: Use "gettext.h" instead of
13789         its complicated substitute.
13790         * lib/argp-help.c: Include <errno.h>, for program_invocation_short_name
13791         and program_invocation_name.
13792         (__argp_basename) [!_LIBC]: Remove; the only use was
13793         replaced by its body.
13794         (__argp_short_program_name): Change condition from
13795         !defined __argp_short_program_name to
13796         ! (defined _LIBC || HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME),
13797         to match argp-namefrob.h.
13798         (__argp_failure): Don't assume strerror_r returns char *.
13799         * lib/argp-parse.c (N_): Define unconditionally.
13800         (argp_default_options): Fill out initializers with 0 to avoid
13801         gcc warnings.
13802
13803 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
13804
13805         * config/srclist.txt: Remove getopt.c, getopt.h (renamed to getopt_.h),
13806         getopt1.c.
13807
13808 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
13809
13810         Merge from coreutils.
13811
13812         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for wmemchr and wmemcpy.
13813
13814         * m4/obstack.m4 (gl_PREREQ_OBSTACK): Require
13815         gl_AC_HEADER_INTTYPES_H, gl_AC_HEADER_STDINT_H, gl_AC_TYPE_UINTMAX_T.
13816
13817 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
13818
13819         Merge from coreutils.
13820
13821         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Don't set to 1 if missing
13822         wmemchr or wmemcpy.  Problem reported by Robert Dahlem
13823         for Reliant Unix 5.43.
13824
13825         * lib/obstack.c: Include <inttypes.h> and <stdint.h> if available.
13826         (union fooround): Use uintmax_t, not long int.
13827         The rest is a merge from libc:
13828         [defined _LIBC]: Include <shlib-compat.h>.
13829         (_obstack) [defined _LIBC]: Remove after 2.3.4.
13830
13831         * lib/settime.c (settime): Recode to avoid warning with
13832         Sun Forte C 6U2.
13833
13834         * lib/strverscmp.c: Convert to UTF-8.
13835
13836 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
13837
13838         * modules/obstack (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
13839         m4/uintmax_t.m4.
13840
13841 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
13842
13843         * modules/xalloc-die: New file.
13844         * modules/xalloc: Remove dependencies on error, gettext, exitfail.
13845
13846         * modules/md5 (Files): Add m4/uint32_t.m4.
13847         * modules/sha1: Renamed from modules/sha.
13848         (Files):
13849         Rename lib/sha.h to lib/sha1.h.
13850         Rename lib/sha.c to lib/sha1.c.
13851         Rename m4/sha.m4 to m4/sha1.m4.
13852         (lib_SOURCES): Likewise.
13853         (configure.ac): Rename gl_SHA to gl_SHA1.
13854         (Include): sha.h -> sha1.h.
13855
13856 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
13857
13858         * m4/uint32_t.m4, m4/uintptr_t.m4: New files.
13859         * m4/sha1.m4: Renamed from sha.m4.
13860         (gl_SHA1): Renamed from gl_SHA.  All uses changed.
13861
13862 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
13863
13864         * lib/obstack.h (obstack_empty_p):
13865         Don't assume that chunk->contents is suitably aligned.
13866         * lib/obstack.c (_obstack_begin, _obstack_begin_1, _obstack_newchunk):
13867         Likewise. Problem reported by Benno in
13868         <http://sources.redhat.com/ml/libc-alpha/2004-08/msg00055.html>.
13869
13870         * lib/chown.c (rpl_chown): Work even if the file is writeable but not
13871         readable.  This could be improved further but it'd take some work.
13872
13873 2004-08-08  Simon Josefsson  <jas@extundo.com>
13874
13875         * modules/xgethostname (Depends-on): Remove exit and error (not
13876         used).
13877
13878         * modules/getpass-gnu: Add getpass.h.
13879         (Depends-on): Add stdbool.
13880         * modules/getpass: Add getpass.h.
13881
13882 2004-08-08  Simon Josefsson  <jas@extundo.com>
13883
13884         * m4/getpass.m4 (gl_FUNC_GETPASS, gl_FUNC_GETPASS_GNU):
13885         Check getpass declaration.
13886
13887 2004-08-08  Simon Josefsson  <jas@extundo.com>
13888
13889         * lib/xgethostname.c: Don't include error.h (not used).
13890
13891         * lib/getpass.h: Add.
13892         * lib/getpass.c: Include getpass.h first.
13893
13894 2004-08-08  Paul Eggert  <eggert@cs.ucla.edu>
13895
13896         * lib/xalloc-die.c: New file.
13897         * lib/xalloc.h (xalloc_fail_func, xalloc_msg_memory_exhausted): Remove.
13898         All uses removed.
13899         * lib/xmalloc.c (xalloc_fail_func, xalloc_msg_memory_exhausted):
13900         Likewise. Move inclusions of gettext.h, error.h, exitfail.h to
13901         xalloc-die.c.
13902         (_, N_, xalloc_die): Move to xalloc-die.c.
13903         * lib/userspec.c (parse_user_spaec): Use xstrdup rather than strdup,
13904         so that we needn't mess with xalloc_msg_memory_exhausted.
13905
13906         * lib/sha1.h: Renamed from sha.h.
13907         (SHA1_H): Renamed from _SHA_H.
13908         (sha1_ctx): Renamed from sha_ctx.
13909         (sha1_init_ctx): Renamed from sha_init_ctx.
13910         (sha1_process_block): Renamed from sha_process_block.
13911         (sha1_process_bytes): Renamed from sha_process_bytes.
13912         (sha1_finish_ctx): Renamed from sha_finish_ctx.
13913         (sha1_read_ctx): Renamed from sha_read_ctx.
13914         (sha1_stream): Renamed from sha_stream.
13915         (sha1_buffer): Renamed from sha_buffer.
13916         * lib/sha1.c: Likewise; renamed from sha.c.
13917         Do not include <sys/types.h>.
13918         Include <stddef.h> rather than <stdlib.h>.
13919
13920 2004-08-08  Bruno Haible  <bruno@clisp.org>
13921
13922         * lib/pathname.h (FILE_SYSTEM_PREFIX_LEN): Renamed from
13923         FILESYSTEM_PREFIX_LEN.
13924         * lib/progreloc.c: Likewise.
13925         * lib/concatpath.c (concatenated_pathname): Use FILE_SYSTEM_PREFIX_LEN.
13926
13927 2004-08-06  Simon Josefsson  <jas@extundo.com>
13928
13929         * modules/progname (Depends-on): Don't depend on stdbool.
13930
13931 2004-08-06  Simon Josefsson  <jas@extundo.com>
13932
13933         * modules/getsubopt: New file.
13934         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
13935         getsubopt.
13936
13937 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
13938
13939         More merge from coreutils.
13940
13941         * m4/utimens.m4, m4/utimecmp.m4: New files.
13942         * m4/backupfile.m4, euidacces.m4, acl.m4, afs.m4, calloc.m4, dirfd.m4,
13943         fsusage.m4, jm-macros.m4, ls-mntd-fs.m4, md5.m4, mountlist.m4,
13944         prereq.m4, sha.m4: Import changes from coreutils.
13945
13946 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
13947
13948         More merge from coreutils.
13949         * modules/raise, modules/readtokens0, modules/utimens:
13950         * modules/utimecmp, module/xnanosleep: New files.
13951         * modules/strftime: Add lib/strftime.h.
13952         Change include from <time.h> to "strftime.h".
13953         * modules/yesno: Add lib/yesno.h.
13954         * modules/backupfile: Remove lib/addext.c.
13955         * modules/euidaccess: Add stat-macros.h.
13956         * modules/canonicalize, modules/euidaccess,
13957         modules/filemode, modules/lchown, modules/makepath,
13958         modules/rmdir, modules/stat: Likewise.
13959
13960 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
13961
13962         Merge from tar.
13963         * lib/argp-help.c (make_hol, hol_append): Don't assume that
13964         SIZE_MAX is a valid preprocessor constant.
13965         (__argp_basename): Change from "#ifndef _LIBC"
13966         to "#ifndef __argp_short_program_name", so that
13967         we don't compile these functions for tar.
13968
13969         More merges from coreutils.
13970         * lib/raise.c, lib/readtokens0.h, lib/readtokens0.c, lib/strftime.h:
13971         * lib/utimens.h, lib/utimens.c, lib/utimecmp.h, lib/utimecmp.c:
13972         * lib/xnanosleep.h, lib/xnanosleep.c, lib/yesno.h: New files.
13973         * lib/addext.c: Remove; no longer needed.
13974         * lib/yesno.c, lib/argmatch.h, lib/argmatch.c, lib/backupfile.h,
13975         lib/backupfile.c, lib/euidaccess.c, lib/filemode.c, lib/closeout.c,
13976         lib/dup2.c, lib/exclude.c, lib/fileblocks.c, lib/filemode.c,
13977         lib/fnmatch.c, lib/fnmtahc_loop.c, lib/fopen-safer.c, lib/fsusage.c,
13978         lib/fsusage.h, lib/ftruncate.c, lib/full-write.c, lib/getdate.y,
13979         lib/getloadavg.c, lib/getugroups.c, lib/hard-locale.c,
13980         lib/hard-locale.h, lib/hash.c, lib/human.c, lib/human.h, lib/lchown.c,
13981         lib/lchown.h, lib/makepath.c, lib/makepath.h, lib/md5.c, lib/md5.h,
13982         lib/memchr.c, lib/memcoll.c, lib/memrchr.c, lib/modechange.c,
13983         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
13984         lib/posixtm.c, lib/putenv.c, quotearg.c, lib/quotearg.h,
13985         lib/readtokens.c, lib/readutmp.c, lib/readutmp.h, lib/rmdir.c,
13986         lib/safe-read.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c,
13987         lib/sig2str.c, lib/stat.c, lib/strtoimax.c, lib/strverscmp.c,
13988         lib/userspec.c, lib/utime.c, lib/version-etc.c., lib/xgethostname.c,
13989         lib/xmemcoll.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtod.h,
13990         lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h, lib/xstrtoumax.c:
13991         Import changes from coreutils.
13992
13993 2004-08-05  Simon Josefsson  <jas@extundo.com>
13994
13995         * m4/strdup.m4: Always run gl_PREREQ_STRDUP, since strdup.h need it.
13996
13997 2004-08-05  Simon Josefsson  <jas@extundo.com>
13998
13999         * m4/getsubopt.m4: New file.
14000
14001 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
14002
14003         Merge from coreutils.
14004
14005         * m4/c-strtod.m4, m4/canonicalize.m4, m4/fcntl-safer.m4:
14006         * m4/getcwd-path-max.m4: New files.
14007
14008         * m4/dos.m4 (gl_AC_DOS): filesystem -> file system renaming.
14009         FILESYSTEM_PREFIX_LEN ->
14010         FILE_SYSTEM_PREFIX_LEN.
14011         FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX ->
14012         FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX.
14013         FILESYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR ->
14014         FILE_SYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR.
14015
14016         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't require gl_AC_DOS, the
14017         prerequisite modules now handle the DOS stuff.
14018         Don't check for unistd.h.
14019
14020 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
14021
14022         Merge from coreutils.
14023
14024         * lib/.gdb-history: Remove; this doesn't belong here.
14025
14026         * lib/c-strtod.c, lib/c-strtod.h, lib/c-strtold.c, lib/cycle-check.c:
14027         * lib/cycle-check.h, lib/dev-ino.h, lib/canonicalize.h:
14028         * lib/canonicalize.c, lib/fcntl-safer.h, lib/fcntl-safer.c:
14029         * lib/getcwd.c: New files.
14030
14031         * lib/dirname.h: Include <stdbool.h>.
14032         (FILE_SYSTEM_PREFIX_LEN): Renamed from FILESYSTEM_PREFIX_LEN,
14033         for consistency with POSIX terminology.  All uses changed.
14034         (IS_ABSOLUTE_FILE_NAME, IS_RELATIVE_FILE_NAME): New macros.
14035         (strip_trailing_slashes): Use bool for booleans.
14036         * lib/stripslash.c (strip_trailing_slashes): Likewise.
14037
14038         * lib/error.c: Work around bug in OpenBSD 3.4 sterror_r: it
14039         sometimes returns a positive errno value even when it succeeds.
14040         (print_errno_message) [!LIBC]: Fall back on strerror if
14041         __strerror_r fails.
14042
14043         * lib/path-concat.c (mempcpy): Don't define if a system header defines
14044         it. Don't include stdio.h, stdlib.h, unistd.h, strdup.h.
14045         (longest_relative_suffix): New function.
14046         (path_concat): Use it.  Assume first argument is not NULL.
14047         Port to DOS.  Omit redundant separators.
14048         Report an error instead of returning NULL.
14049         Use mempcpy instead of memcpy.
14050         (xpath_concat): Remove: not declared or used.
14051
14052         * lib/same.h: Include <stdbool.h>
14053         (same_name): Return bool, not int.
14054         * lib/same.c (same_name): Likewise.
14055         (errno): Don't declare; we assume C89 or better now.
14056
14057         * lib/stat-macros (S_ISCTG, S_ISOFD, S_ISOFL): New macros,
14058         if not already defined.
14059
14060         * lib/xgetcwd.c (errno): Don't declare; we assume C89 or better now.
14061         * lib/dup-safer.c (errno): Likewise.
14062
14063 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
14064
14065         Merge from coreutils.
14066         * modules/c-strtod, modules/c-strtold, modules/canonicalize:
14067         * modules/cycle-check, modules/fcntl-safer, modules/getcwd: New files.
14068         * modules/path-concat: Don't depend on strdup.
14069
14070 2004-08-03  Simon Josefsson  <jas@extundo.com>
14071
14072         * lib/strdup.h: Only use HAVE_DECL_STRDUP if defined.
14073         * lib/progname.h: Don't include stdbool.h.
14074
14075 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
14076
14077         * modules/fatal: Remove, as the "fatal" module wasn't used or working.
14078         * MODULES.html.sh (func_all_modules): Remove fatal.
14079
14080 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
14081
14082         * m4/fatal.m4: Remove, as the "fatal" module wasn't used or working.
14083
14084 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
14085
14086         * lib/fatal.c, fatal.h: Remove as the "fatal" module wasn't used or
14087         working.
14088
14089 2004-08-02  Simon Josefsson  <jas@extundo.com>
14090
14091         * lib/getsubopt.h: New file, with comments from Bruno Haible.
14092         * lib/getsubopt.c: New file, from glibc, but slightly modified based on
14093         suggestions from Paul Eggert <eggert@cs.ucla.edu>.
14094
14095 2004-08-01  Simon Josefsson  <jas@extundo.com>
14096
14097         * lib/xgetdomainname.c: Include stdlib.h, for free().
14098
14099 2004-07-19  Bruno Haible  <bruno@clisp.org>
14100
14101         * MODULES.html.sh (func_all_modules): Add dummy.
14102
14103 2004-07-16  Simon Josefsson  <jas@extundo.com>
14104
14105         * modules/dummy: New file.
14106
14107 2004-07-16  Simon Josefsson  <jas@extundo.com>
14108
14109         * lib/dummy.c: New file.
14110
14111 2004-07-16  Bruno Haible  <bruno@clisp.org>
14112
14113         * lib/backupfile.h: Add extern "C" for C++.
14114         * lib/closeout.h: Likewise.
14115         * lib/copy-file.h: Likewise.
14116         * lib/findprog.h: Likewise.
14117         * lib/full-write.h: Likewise.
14118         * lib/pathname.h: Likewise.
14119         * lib/progname.h: Likewise.
14120         * lib/stpcpy.h: Likewise.
14121         * lib/stpncpy.h: Likewise.
14122         * lib/strcase.h: Likewise.
14123         * lib/strstr.h: Likewise.
14124         * lib/xalloc.h: Likewise.
14125
14126         * lib/mbswidth.h: Add extern "C" for C++.
14127         Reported by Albert Chin-A-Young <china@thewrittenword.com>.
14128
14129 2004-07-13  Robert Millan  <robertmh@gnu.org>
14130
14131         * m4/host-os.m4: s/KNetBSD/kNetBSD/g and s/KFreeBSD/kFreeBSD/g.
14132
14133 2004-07-09  Simon Josefsson  <jas@extundo.com>
14134
14135         * lib/getndelim2.c: Include stddef.h, for ptrdiff_t.  (FreeBSD 4.9
14136         failed without this.)
14137
14138 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
14139
14140         * modules/chown (Files): Add lib/fchown-stub.c, since
14141         gl_PREREQ_CHOWN invokes AC_LIBOBJ(fchown-stub).
14142
14143 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
14144
14145         * lib/fchown-stub.c: New file.
14146
14147 2004-06-24  Jim Meyering  <jim@meyering.net>
14148
14149         * lib/obstack.h (obstack_base): Cast to (void *), per documentation.
14150
14151 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
14152
14153         * modules/argz: Omit "#include".
14154
14155         * MODULES.html.sh (func_all_modules): Add calloc, to match
14156         2004-06-01 addition of calloc module.
14157
14158 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
14159
14160         * m4/argz.m4: New file, which is autoupdated from libtool.
14161
14162 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
14163
14164         * lib/argz.c, lib/argz_.h: New files, which are autoupdated from
14165         libtool.
14166
14167 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
14168
14169         * config/srclist-update: Don't insist on "USA." before the
14170         close-comment, as libtool omits the period and puts the */ on a
14171         separate line.
14172         * config/srclist.txt: Add argz.c, argz_.h, argz.m4.
14173         * config/srclistvars.sh: Add LIBTOOL (for eggert only).
14174
14175 2004-06-22  Gary V. Vaughan  <gary@gnu.org>
14176
14177         * modules/argz: New file.
14178         * MODULES.html.sh (func_all_modules): Add argz.
14179
14180 2004-06-12  Jim Meyering  <jim@meyering.net>
14181         and  Paul Eggert  <eggert@cs.ucla.edu>
14182
14183         * modules/hash (Files): Add lib/xalloc.h.
14184         * modules/pipe (Depends-on): Add wait-process.
14185         * modules/stat (Depends-on): Add xalloc.
14186         * modules/userspec (Files): Add lib/userspec.h.
14187         * modules/xstrto
14188
14189         Upgrade from gettext-0.13.
14190         * modules/gettext (Files): Add m4/intmax.m4, m4/longdouble.m4,
14191         m4/longlong.m4, m4/printf-posix.m4, m4/signed.m4, m4/size_max.m4,
14192         m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4.
14193
14194 2004-06-10  Jim Meyering  <jim@meyering.net>
14195
14196         * lib/calloc.c: New file.
14197
14198 2004-06-06  Paul Eggert  <eggert@cs.ucla.edu>
14199
14200         * lib/getdate.y (yylex): Allow space between sign and number.
14201         Problem reported by Dan Jacobson.
14202
14203 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
14204
14205         Merge from coreutils CVS.
14206
14207         * m4/backupfile.m4, dirname.m4, human.m4, inttypes.m4, longlong.m4,
14208         makepath.m4, memchr.m4, memcmp.m4, mountlist.m4, path-concat.m4,
14209         putenv.m4, quotearg.m4, readutmp.m4, strtoimax.m4, strtoll.m4,
14210         strtoull.m4, strtoumax.m4, ulonglong.m4, vasnprintf.m4,
14211         xstrtol.m4: Fix copyright date and/or serial number.
14212
14213         * m4/chown.m4 (gl_PREREQ_CHOWN): Check for fcntl.h.
14214         See if we need an fchown replacement.
14215         (gl_FUNC_CHOWN_FOLLOWS_SYMLINK): New macro.
14216         (gl_FUNC_CHOWN): Require gl_FUNC_CHOWN_FOLLOWS_SYMLINK,
14217         and use the replacement function if we detect either defect.
14218
14219         * m4/prereq.m4 (gl_PREREQ): Add gl_ALLOCSA, gl_CLOEXEC, gl_INTTOSTR,
14220         gl_UTIMECMP.
14221
14222 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
14223         and  Jim Meyering  <jim@meyering.net>
14224
14225         Merge from coreutils CVS.
14226
14227         * lib/stat-macros.h: New file, with contents from file-type.h
14228         and coreutils' system.h.
14229         * lib/file-type.c: Include "stat-macros.h".
14230         * lib/file-type.h (file_type): Move all macro definitions to new file,
14231         stat-macros.h.
14232
14233         * lib/chown.c (rpl_chown) [CHOWN_FAILS_TO_HONOR_ID_OF_NEGATIVE_ONE]:
14234         Wrap old code with this conditional.
14235         [CHOWN_MODIFIES_SYMLINK]: Try to work around a chown
14236         function that does not dereference symlinks.
14237         * lib/lchown.c (lchown) [CHOWN_MODIFIES_SYMLINK]: Just call chown.
14238
14239         * lib/xreadlink.c: Include xreadlink.h first, to catch .h file
14240         dependency problems.
14241         (xreadlink): Accept new arg SIZE, for efficiency.
14242         All decls and uses changed.
14243         * lib/xreadlink.h: Include <stddef.h>, for size_t.
14244
14245         * lib/.cppi-disable: Add alloca_.h, allocsa.h, exit.h, getndelim2.h,
14246         gettext.h, localcharset.h, strdup.h, strndup.h, strtoul.c, time_r.h.
14247
14248         * lib/.cvsignore: Add alloca.h, fnmatch.h, poll.h, stdbool.h,
14249         sysexits.h.
14250
14251 2004-06-01  Jim Meyering  <jim@meyering.net>
14252
14253         * m4/calloc.m4: New file.
14254
14255 2004-05-31  Paul Eggert  <eggert@cs.ucla.edu>
14256
14257         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Detect _Bool bug in HP aC++/ANSI
14258         C B3910B A.05.55 [Dec 04 2003].  Problem reported by Jim Meyering.
14259         Also, fix a typo in a diagnostic.
14260
14261 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
14262
14263         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Do not require AC_FUNC_MALLOC
14264         or AC_FUNC_REALLOC.
14265
14266 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
14267
14268         * lib/xmalloc.c (HAVE_MALLOC, HAVE_REALLOC): Do not require these
14269         macros to be defined.
14270         (xnmalloc_inline, xnrealloc_inline, xcalloc): Do not die if
14271         the allocator returns NULL because the requested size is zero.
14272
14273 2004-05-20  Paul Eggert  <eggert@cs.ucla.edu>
14274
14275         * lib/malloc/obstack.c (_obstack) [defined _LIBC]: Bring back this
14276         var.  Add comment explaining why libc still defines it.  This
14277         merges the following patch from glibc:
14278         http://sources.redhat.com/ml/libc-alpha/2004-05/msg00157.html
14279
14280 2004-05-20  Andreas Schwab  <schwab@suse.de>
14281
14282         * m4/free.m4: Replace free if it not known to work, not the other
14283         way round.
14284
14285 2004-05-19  Paul Eggert  <eggert@cs.ucla.edu>
14286
14287         * lib/obstack.c (_obstack): Remove unused variable.  It hasn't been
14288         present in glibc since revision 1.1 of this file.
14289         * lib/obstack.h (_obstack_free, obstack_1grow, obstack_1grow_fast,
14290         obstack_alignment_mask, obstack_alloc, obstack_base,
14291         obstack_blank, obstack_blank_fast, obstack_chunk_size,
14292         obstack_copy, obstack_copy0, obstack_finish, obstack_grow,
14293         obstack_grow0, obstack_init, obstack_int_grow,
14294         obstack_int_grow_fast, obstack_make_room, obstack_memory_used,
14295         obstack_next_free, obstack_object_size, obstack_ptr_grow,
14296         obstack_ptr_grow_fast, obstack_room): Remove declarations of
14297         nonexistent functions.
14298
14299 2004-05-18  Karl Berry  <karl@gnu.org>
14300
14301         * config/srclist.txt: break link for vasnprintf.c.
14302
14303 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
14304
14305         Port obstack to the AS/400, where pointers are 16 bytes wide and
14306         you cannot cast an integer to a valid pointer.  This patch is
14307         currently waiting to be integrated into glibc; see
14308         <http://sources.redhat.com/ml/libc-alpha/2004-05/msg00073.html>.
14309
14310         * lib/obstack.h (__PTR_TO_INT, __INT_TO_PTR): Remove.
14311         All uses of __INT_TO_PTR (PTR_TO_INT ...) replaced by __PTR_ALIGN.
14312         (__BPTR_ALIGN, __PTR_ALIGN): New macros.
14313         (struct obstack): temp member is now a union of a pointer and
14314         an integer, instead of an integer.  All integer uses changed.
14315         This does not affect the physical layout of struct obstack,
14316         except on hosts (like the AS/400) where the size or alignment of
14317         void * is greater than that of ptrdiff_t.
14318         (obstack_finish) [! (defined __GNUC__ && defined __STDC__ &&
14319         __STDC__)]: Store temporary in pointer member of union, not
14320         integer member.
14321         * lib/obstack.c: Include <stddef.h>, for offsetof.
14322         (struct fooalign): Remove; it doesn't need a name.
14323         (union fooround): Change double to long double, and add void *.
14324         (DEFAULT_ALIGNMENT): Use offsetof to compute.
14325         (DEFAULT_ALIGNMENT, DEFAULT_ROUNDING): Now an enum constant,
14326         not a macro.  Hence the values are always int; so remove all
14327         casts-to-int in uses.
14328
14329 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
14330
14331         * config/srclist.txt: Break link for argp-help.c and argp-parse.c until
14332         we can get this patch merged into glibc.
14333
14334 2004-05-17  Derek R. Price  <derek@ximbiot.com>
14335             Paul Eggert  <eggert@cs.ucla.edu>
14336
14337         * m4/argp: Depend on alloca.
14338
14339 2004-05-17  Derek R. Price  <derek@ximbiot.com>
14340             Paul Eggert  <eggert@cs.ucla.edu>
14341
14342         * lib/argp-help.c, argp-parse.c: Assume <alloca.h> rather than
14343         freecoding.
14344
14345 2004-05-17  Bruno Haible  <bruno@clisp.org>
14346
14347         * lib/vasnprintf.c (VASNPRINTF): Correctly handle the case of a
14348         precision that consists of a '.' followed by an empty digit string.
14349         Patch by Tor Lillqvist <tml@iki.fi>.
14350
14351 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
14352
14353         * m4/alloca.m4 (gl_FUNC_ALLOCA): Define HAVE_ALLOCA_H always,
14354         for backward compatibility with older code.  We need our own
14355         alloca.h if _AIX is defined.  Define HAVE_ALLOCA if we discover
14356         it under some other name, and our alloca.h will define it.
14357
14358 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
14359             Derek Price  <derek@ximbiot.com>
14360
14361         * lib/alloca.c: Include <alloca.h>, to get our interface.
14362         * lib/alloca_.h: Use __alloca on AIX, so that we don't have to
14363         include <alloca.h> first.  Use C89 prototype for alloca; this
14364         requires including <stddef.h> for size_t.  Use extern "C" if C++.
14365         Use #elif for simplicity, since we can assume C89 now.
14366         Don't try to source the system alloca.h since it will not be found
14367         and to prevent recursively including its replacement.
14368         * lib/fnmatch.c: Include <alloca.h> instead of opencoding.
14369         * lib/regex.c: Likewise.
14370
14371 2004-05-16  Derek Price  <derek@ximbiot.com>
14372             Paul Eggert  <eggert@cs.ucla.edu>
14373
14374         getline cleanup.  This changes the getndelim2 API: both order of
14375         arguments, and meaning of delim2 (now uses EOF, not 0, to indicate
14376         no delimiter).
14377
14378         * lib/getline.c: Don't include stddef.h or stdio.h, since our
14379         interface does that.
14380         (getline): Always use getdelim, so that we don't have two
14381         copies of this code.
14382         * lib/getndelim2.c: Include <limits.h>, <inttypes.h>, <stdint.h>
14383         if available.
14384         (PTRDIFF_MAX, SIZE_MAX, SSIZE_MAX): Define if not defined.
14385         (GETNDELIM2_MAXIMUM): New macro.
14386         (getndelim2): Reorder arguments.  delim==EOF now means no delimiter,
14387         instead of the old practice of delim2==0.  All callers changed.
14388         Return -1 on overflow, instead of returning junk.
14389         Do not set *linesize unless allocation succeeds.
14390         * lib/getndelim2.h: Do not include stddef.h; no longer needed, now
14391         that we include sys/types.h.
14392         * lib/getnline.h: Likewise.
14393         * lib/getndelim2.h (GETNLINE_NO_LIMIT): New macro.
14394         (getndelim2): Reorder arguments.
14395         * lib/getnline.c (getnline, getndelim):
14396         Don't discard the NMAX argument.
14397         (getnline): Invoke getndelim, to avoid code duplication.
14398         * lib/getnline.h (GETNLINE_NO_LIMIT): New macro, used instead
14399         of (size_t) -1 by callers of the getnline family.
14400
14401 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
14402
14403         * m4/gettime.m4 (gl_GETTIME): Require gl_TIMESPEC.
14404         Check for gettimeofday.
14405         * m4/settime.m4 (gl_SETTIME): Require gl_TIMESPEC.
14406         Check for settimeofday, stime.
14407
14408 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
14409
14410         * lib/nanosleep.c (suspended): Change its type from int to
14411         sig_atomic_t volatile.
14412         (first_call): Make it private to rpl_nanosleep, and have it
14413         be zero initially as that's a bit faster.
14414         (my_usleep): Round up fractional times instead of truncating them,
14415         as this is the usual meaning for 'sleep'.
14416
14417         * lib/gettime.c (gettime): Fall back on `time' if `gettimeofday'
14418         doesn't work.
14419         * lib/settime.c: Include <unistd.h>, for stime (on Solaris 8, anyway).
14420         (ENOSYS): Define if not defined.
14421         (settime): Fall back on stime if it exists and settimeofday fails.
14422         But don't bother with fallbacks if a method fails with errno == EPERM.
14423
14424 2004-05-11  Jim Meyering  <jim@meyering.net>
14425
14426         Prior to this change, the save_cwd caller required read access to the
14427         current directory on most systems (ones with the fchdir function).
14428
14429         * lib/save-cwd.c (save_cwd) [HAVE_FCHDIR]: If opening `.' read-only
14430         fails, try write-only, and finally, resort to using xgetcwd.
14431
14432 2004-05-06  Paul Eggert  <eggert@cs.ucla.edu>
14433
14434         * lib/obstack.c, obstack.h: Import changes from libc.
14435
14436 2004-04-28  Bruno Haible  <bruno@clisp.org>
14437
14438         * lib/findprog.c (find_in_path): Treat Cygwin like Windows, since it
14439         also implicitly appends .exe to executables.
14440         * lib/localcharset.c (ISSLASH): Treat Cygwin like Windows, since it now
14441         accepts Windows pathnames.
14442         * lib/pathname.h (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
14443         Treat Cygwin like Windows, since it now accepts Windows pathnames.
14444         * lib/progreloc.c (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
14445         Treat Cygwin like Windows, since it now accepts Windows pathnames.
14446         Reported by Derek Robert Price <derek@ximbiot.com>.
14447
14448 2004-04-21  Karl Berry  <karl@gnu.org>
14449
14450         * config/srclist.txt (localcharset.c): break sync.
14451
14452 2004-04-20  Paul Eggert  <eggert@twinsun.com>
14453
14454         * m4/host-os.m4: Add a copyright notice.
14455
14456 2004-04-20  Jim Meyering  <jim@meyering.net>
14457
14458         Change UTILS_ to gl_ in AC_DEFINE'd names.
14459         Change utils_- and jm_-prefixed variables, too.
14460         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Renamed from
14461         UTILS_FUNC_MKDIR_TRAILING_SLASH.
14462         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Renamed from UTILS_FUNC_MKSTEP.
14463
14464         * m4/dirfd.m4 (gl_FUNC_DIRFD): Rename from UTILS_FUNC_DIRFD.
14465         Don't emit trailing blanks.
14466         Also rename jm_-prefixed variables to have gl_ prefix.
14467
14468         * m4/host-os.m4 (gl_HOST_OS): Rename from UTILS_HOST_OS.
14469         Also rename jm_-prefixed variables to have gl_ prefix.
14470
14471         * m4/jm-macros.m4: Reflect the renamings.
14472         * m4/prereq.m4: Likewise.
14473
14474 2004-04-20  Jim Meyering  <jim@meyering.net>
14475
14476         * lib/getndelim2.c (getndelim2): Upon realloc failure, don't leak
14477         memory.
14478
14479 2004-04-20  Jim Meyering  <jim@meyering.net>
14480             Bruno Haible  <bruno@clisp.org>
14481
14482         * lib/localcharset.c (get_charset_aliases) [!VMS && !WIN32]: Don't leak
14483         memory when realloc fails.
14484
14485 2004-04-19  Jim Meyering  <jim@meyering.net>
14486
14487         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Require gl_FUNC_FREE,
14488         now that readutmp.c may call `free (0)'.
14489
14490 2004-04-19  Bruno Haible  <bruno@clisp.org>
14491
14492         * m4/mbrtowc.m4: Change jm_ to gl_ in cache variables as well.
14493         * m4/inttypes_h.m4: Likewise.
14494         * m4/stdint_h.m4: Likewise.
14495         * m4/intmax_t.m4: Likewise.
14496         * m4/uintmax_t.m4: Likewise.
14497
14498 2004-04-18  Jim Meyering  <jim@meyering.net>
14499
14500         * m4/prereq.m4: Don't forbid jm_ prefix.
14501
14502         * m4/afs.m4, m4/allocsa.m4, m4/assert.m4, m4/backupfile.m4:
14503         * m4/bison.m4, m4/check-decl.m4, m4/chown.m4, m4/d-ino.m4:
14504         * m4/d-type.m4, m4/dirname.m4, m4/dos.m4, m4/error.m4, m4/fpending.m4:
14505         * m4/fstypename.m4, m4/fsusage.m4, m4/ftruncate.m4, m4/getdate.m4:
14506         * m4/getgroups.m4, m4/gettext.m4, m4/glibc21.m4, m4/group-member.m4:
14507         * m4/human.m4, m4/intmax.m4, m4/intmax_t.m4, m4/inttostr.m4:
14508         * m4/inttypes.m4, m4/inttypes_h.m4, m4/jm-macros.m4, m4/jm-winsz1.m4:
14509         * m4/jm-winsz2.m4, m4/lchown.m4, m4/lib-check.m4, m4/link-follow.m4:
14510         * m4/localcharset.m4, m4/longlong.m4, m4/ls-mntd-fs.m4, m4/lstat.m4:
14511         * m4/makepath.m4, m4/mbrtowc.m4, m4/mbswidth.m4, m4/memchr.m4:
14512         * m4/memcmp.m4, m4/mkdtemp.m4, m4/mkstemp.m4, m4/mountlist.m4:
14513         * m4/nanosleep.m4, m4/path-concat.m4, m4/perl.m4, m4/prereq.m4:
14514         * m4/putenv.m4, m4/quotearg.m4, m4/regex.m4, m4/stat.m4:
14515         * m4/stdint_h.m4, m4/strftime.m4, m4/strtoimax.m4, m4/strtoll.m4:
14516         * m4/strtoull.m4, m4/strtoumax.m4, m4/timespec.m4, m4/uintmax_t.m4:
14517         * m4/ulonglong.m4, m4/unlink-busy.m4, m4/unlocked-io.m4, m4/uptime.m4,
14518         * m4/utimbuf.m4, m4/utime.m4, m4/utimes-null.m4, m4/vasnprintf.m4:
14519         * m4/xstrtoimax.m4, m4/xstrtol.m4, m4/xstrtoumax.m4:
14520         Change jm_ to gl_ in AC_DEFINE'd names. Update all uses.
14521
14522 2004-04-18  Jim Meyering  <jim@meyering.net>
14523
14524         * lib/readutmp.c (read_utmp) [UTMP_NAME_FUNCTION]: Upon realloc
14525         failure, don't leak memory and do call END_UTMP_ENT.
14526
14527 2004-04-16  Jim Meyering  <jim@meyering.net>
14528
14529         * m4/prereq.m4 (jm_PREREQ_STAT): Remove macro.  It is specific to
14530         coreutils' stat program.
14531         (gl_PREREQ): Don't require jm_PREREQ_STAT.
14532
14533 2004-04-11  Paul Eggert  <eggert@twinsun.com>
14534
14535         * lib/inttostr.h: Include <limits.h> unconditionally, since we assume
14536         C89.
14537         (CHAR_BIT): Remove, since we assume C89.
14538         Include <stdint.h> if available, as per current Autoconf CVS advice.
14539
14540 2004-03-31  Jim Meyering  <jim@meyering.net>
14541
14542         * m4/prereq.m4: Require AC_FUNC_MALLOC, not jm_FUNC_MALLOC.
14543         Require AC_FUNC_REALLOC, not jm_FUNC_REALLOC.
14544         * m4/xalloc.m4: Likewise.
14545
14546 2004-03-30  Paul Eggert  <eggert@twinsun.com>
14547
14548         Merge from coreutils.
14549
14550         * m4/inttostr.m4: New file.
14551         * m4/getdate.m4 (gl_GETDATE): Remove time-related stuff.
14552         Require AM_STDBOOL_H and gl_TIMESPEC instead.
14553         Require gl_CLOCK_TIME.
14554         * m4/clock_time.m4 (gl_CLOCK_TIME): Require AC_GNU_SOURCE.
14555
14556 2004-03-30  Paul Eggert  <eggert@twinsun.com>
14557
14558         * lib/cloexec.h, cloexec.c (set_cloexec_flag): Return int
14559         not bool, to be more consistent with Unix conventions.
14560         Suggested by Bruno Haible.
14561
14562         Merge from coreutils.
14563
14564         * lib/imaxtostr.c, lib/inttostr.c, lib/inttostr.h, lib/offtostr.c:
14565         * lib/umaxtostr.c: New files.
14566
14567         * lib/getdate.h: Include stdbool.h, and timespec.h instead of
14568         the usual <time.h> dance.
14569         (get_date): Change signature to support fractional time stamps.
14570         All callers changed.
14571         * lib/getdate.y: Include "getdate.h" first, as we can now
14572         assume C89 and don't need to worry about 'const'.
14573         Similarly, include "unlocked-io.h" near start, not in middle.
14574         Include <limits.h>.
14575         (textint.value): Use long int rather than int.
14576         (textint.digits): Use size_t rather than int.
14577         (BILLION, LOG10_BILLION): New constants.
14578         (parser_control): New member rel_ns.  Members day_ordinal,
14579         time_zone, month, day, hour, minutes, rel_year, rel_month,
14580         rel_day, rel_hour, rel_minutes, rel_seconds
14581         are now long int, not int.  Member seconds is now struct timespec,
14582         not int.  New member timespec_seen.  Members dates_seen, days_seen,
14583         local_zones_seen, rels_seen, times_seen, zones_seen are now size_t,
14584         not int.
14585         (%union.intval): Now long int, not int.
14586         New member timespec.
14587         (tSDECIMAL_NUMBER, tUDECIMAL_NUMBER): New tokens.
14588         (seconds, signed_seconds, unsigned_seconds): New nonterminals.
14589         (spec): Now is a timespec or an item list.
14590         (timespec, items): New nonterminals.
14591         (time, rel, relunit, number, get_date):
14592         Add support for fractional seconds.
14593         (time): Fix bug: seconds weren't cleared in "00:00 +0000" syntax.
14594         (gmtime, localtime, mktime): Remove decls; not needed with C89.
14595         (to_hour): First arg is now long int, not int.
14596         (to_year): Returns long int, not int.
14597         Don't treat year -70 like 70.
14598         (tm_diff): Returns long int, not int.
14599         (lookup_word): Use bool instead of int when appropriate.
14600         (yylex): Use size_t for count, not int.
14601         Detect overflow when parsing large integer constants.
14602         Add support for fractions.
14603         (get_date): Make pointers 'const' if possible.
14604         Use more-portable code to detect integer overflow.
14605         (main) [TEST]: Adjust to above changes.  Test for localtime failure.
14606         Don't use ctime; it's not reliable if the year has >4 digits.
14607
14608         * lib/human.c (humblock): Inspect BLOCKSIZE if BLOCK_SIZE isn't set.
14609         This is for compatibility with BSD.
14610
14611         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP): Define.
14612         (ATIME_CMP, CTIME_CMP, MTIME_CMP, TIMESPEC_NS): Likewise.
14613         From coreutils' system.h.
14614
14615         * lib/userspec.c: Don't include "posixver.h".
14616         (parse_user_spec): Fall back on USER.GROUP parsing, regardless
14617         of POSIX version, as POSIX 1003.1-2001 allows that behavior as a
14618         compatible extension.  Simplify code by removing a boolean int
14619         that was always nonzero if a string was nonnull.
14620
14621 2004-03-30  Jim Meyering  <jim@meyering.net>
14622
14623         Merge from coreutils.
14624
14625         Avoid a configure-time warning about sys/ucred.h on OSF V4.0.
14626         * m4/ls-mntd-fs.m4: Test for sys/ucred.h separately, since
14627         on some systems one must include <grp.h> before it.
14628         Reported by Christian Krackowizer.
14629
14630 2004-03-30  Jim Meyering  <jim@meyering.net>
14631
14632         Merge from coreutils.
14633
14634         * lib/mountlist.c [HAVE_SYS_UCRED_H]: Include grp.h before sys/ucred.h.
14635
14636         * lib/readtokens.c (readtoken): Don't leak 64 bytes when reading
14637         an empty input stream.
14638
14639         * lib/readtokens.c: Include <stdbool.h>.
14640         (readtoken): Use `size_t' rather than int/long.
14641         All callers adjusted.
14642         Use `bool' rather than `int' where appropriate.
14643         Use memset rather than an explicit loop.
14644         Use x2nrealloc rather than xrealloc.
14645         Allow the use of `\0' as a delimiter.
14646         (readtokens): Likewise.
14647         * lib/readtokens.h (readtoken, readtokens): Update prototypes.
14648
14649 2004-03-30  Jim Meyering  <jim@meyering.net>
14650
14651         * m4/realloc.m4: Remove file, since now it does no more than
14652         AC_REQUIRE([AC_FUNC_REALLOC]), and that can be done via
14653         the `configure.ac' section of module/realloc.
14654         * m4/malloc.m4: Likewise, but for AC_FUNC_MALLOC.
14655
14656 2004-03-30  Bruno Haible  <bruno@clisp.org>
14657
14658         * lib/getloadavg.c (getloadavg): Don't assume setlocale returns
14659         nonnull.
14660
14661 2004-03-29  Paul Eggert  <eggert@twinsun.com>
14662
14663         Merge changes to getloadavg.c from coreutils and Emacs.
14664
14665         * lib/getloadavg.c [!defined HAVE_SETLOCALE] (setlocale):
14666         Define to an expression, not to the empty string.
14667         Include cloexec.h and xalloc.h.
14668         (getloadavg): Restore LC_NUMERIC locale after setting it temporarily.
14669         Use set_cloexec_flag rather than rolling our own.
14670         * lib/cloexec.c, lib/cloexec.h: New files.
14671
14672 2004-03-29  Paul Eggert  <eggert@twinsun.com>
14673
14674         * m4/cloexec.m4: New file.
14675
14676 2004-03-18  Paul Eggert  <eggert@twinsun.com>
14677
14678         * lib/getopt.h: Sync with libc CVS.
14679
14680 2004-03-18  Paul Eggert  <eggert@twinsun.com>
14681             Bruno Haible  <bruno@clisp.org>
14682
14683         * m4/mbswidth.m4 (gl_MBSWIDTH): Also test whether <wchar.h> declares
14684         mbswidth.
14685
14686 2004-03-18  Paul Eggert  <eggert@twinsun.com>
14687             Bruno Haible  <bruno@clisp.org>
14688
14689         * lib/mbswidth.h: Include <wchar.h> only if
14690         HAVE_DECL_MBSWIDTH_IN_WCHAR_H, not on all platforms that have
14691         <wchar.h>.
14692         * lib/mbswidth.c: Include <stdio.h> and <time.h> before <wchar.h>.
14693
14694 2004-03-09  Paul Eggert  <eggert@twinsun.com>
14695
14696         * lib/argp-parse.c, getopt.c, getopt.h, getopt1.c:
14697         Sync with libc CVS.
14698         * lib/getopt_int.h: New file, also synced from libc.
14699
14700 2004-03-09  Paul Eggert  <eggert@twinsun.com>
14701
14702         * config/srclistvars.sh: Add GNUWWWLICENSES for eggert.
14703         * config/srclist.txt: Sync getopt with libc.  Add getopt_int.h.
14704         Bring back getopt.c, getopt.h, getopt1.c.
14705
14706 2004-03-07  Paul Eggert  <eggert@twinsun.com>
14707
14708         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Renamed from jm_PREREQ_C_STACK.
14709         All uses changed.  Check for sa_sigaction member; this fixes
14710         a bug first reported by Jason Andrade in
14711         <http://mail.gnu.org/archive/html/bug-textutils/2003-03/msg00027.html>.
14712
14713 2004-03-07  Paul Eggert  <eggert@twinsun.com>
14714
14715         * lib/c-stack.c (SIGACTION_WORKS): New macro.  Use it instead of long
14716         '#if' expressions.  Unlike the code it replaces, it does not
14717         depend on (defined _SC_PAGESIZE).  However, it does depend on
14718         HAVE_STRUCT_SIGACTION_SA_SIGACTION; this last change fixes a bug
14719         first reported by Jason Andrade in
14720         <http://mail.gnu.org/archive/html/bug-textutils/2003-03/msg00027.html>.
14721
14722 2004-02-25  Simon Josefsson  <jas@extundo.com>
14723
14724         * m4/strdup.m4 (gl_PREREQ_STRDUP): Check whether strdup is declared.
14725
14726 2004-02-25  Simon Josefsson  <jas@extundo.com>
14727
14728         * lib/strdup.h: New file.
14729         * lib/strdup.c: Include it.
14730         * lib/path-concat.c: Include strdup.h. Drop strdup declaration.
14731         * lib/userspec.c: Include strdup.h. Drop strdup declaration.
14732
14733 2004-02-23  Karl Berry  <karl@gnu.org>
14734
14735         * doc/maintain.texi, doc/standards.texi, doc/make-stds.texi: new files
14736         (from fencepost.gnu.org:/gd/gnuorg).
14737
14738 2004-02-23  Karl Berry  <karl@gnu.org>
14739
14740         * config/srclistvars.sh (GNUORG) [karl]: redefine.
14741         * config/srclist.txt: add maintain/standards documents.
14742
14743 2004-02-18  Bruno Haible  <bruno@clisp.org>
14744
14745         * m4/xsize.m4 (gl_XSIZE): Require AC_C_INLINE.
14746         Reported by Derek Robert Price <derek@ximbiot.com>.
14747
14748 2004-02-16  Karl Berry  <karl@gnu.org>
14749
14750         * config/mkinstalldirs, install-sh: update from automake.
14751
14752 2004-02-06  Karl Berry  <karl@gnu.org>
14753
14754         * m4/po.m4: update from gettext 0.14.1.
14755
14756 2004-02-06  Karl Berry  <karl@gnu.org>
14757
14758         * lib/config.charset: update from gettext 0.14.1.
14759
14760 2004-02-05  Paul Eggert  <eggert@twinsun.com>
14761
14762         Add comments and code, prompted by suggestions from Bruno Haible
14763         for sh-quote.
14764         * lib/quotearg.h (quotearg_alloc): New decl.  Improve the comments
14765         describing the enum quoting_style values.
14766         * lib/quotearg.c (quotearg_alloc): New function.
14767         (quotearg_buffer_restyled): Treat lone { and } as special.
14768         Treat = as special.  Work around bug with older shells
14769         that "see" a '\' that is really the 2nd byte of a multibyte char.
14770         Quote empty string with shell_quoting_style.
14771
14772 2004-02-03  Bruno Haible  <bruno@clisp.org>
14773
14774         * m4/pipe.m4: New file, from GNU gettext.
14775
14776 2004-02-03  Bruno Haible  <bruno@clisp.org>
14777
14778         * lib/pipe.h: New file, from GNU gettext.
14779         * lib/pipe.c: New file, from GNU gettext.
14780
14781 2004-01-27  Bruno Haible  <bruno@clisp.org>
14782
14783         * m4/execute.m4: New file, from GNU gettext.
14784
14785 2004-01-27  Bruno Haible  <bruno@clisp.org>
14786
14787         * lib/execute.h: New file, from GNU gettext.
14788         * lib/execute.c: New file, from GNU gettext.
14789         * lib/w32spawn.h: New file, from GNU gettext.
14790
14791 2004-01-24  Paul Eggert  <eggert@twinsun.com>
14792
14793         Merge from diffutils.
14794
14795         * lib/file-type.c (file_type): Add typed memory objects.
14796         * lib/file-type.h (S_TYPEISTMO): New macro.
14797
14798         * lib/c-stack.h (c_stack_action): Remove argv argument.
14799         * lib/c-stack.c (c_stack_action): Likewise.  All uses changed.
14800         (die): Don't calculate message unless segv_action returns.
14801         (get_stack_location, min_address_from_argv, max_address_from_argv,
14802         volatile stack_base, volatile_stack_size): Remove.
14803         (segv_handler): If ! HAVE_XSI_STACK_OVERFLOW_HEURISTIC, assume
14804         that every segmentation violation is a stack overflow.  (Ouch!)
14805         See Debian bug 136249 (still outstanding) for more info about why
14806         HAVE_XSI_STACK_OVERFLOW_HEURISTIC fails on Linux kernels.
14807
14808 2004-01-24  Paul Eggert  <eggert@twinsun.com>
14809
14810         Exit-status fix from coreutils.
14811
14812         Use exit_failure consistently in place of EXIT_FAILURE,
14813         so that program exit statuses are consistent on failure.
14814
14815         * lib/argmatch.c (ARGMATCH_DIE) [! defined ARGMATCH_DIE]:
14816         Include "exitfail.h", and use exit_failure rather than EXIT_FAILURE.
14817         * lib/argmatch.h: Comment fix to match the above.
14818         * lib/obstack.c (obstack_exit_failure) [!defined _LIBC]:
14819         Now a macro referring to exit_failure, instead of a separate
14820         variable.  Include "exitfail.h" to get it.
14821         * lib/xstrtol.h: Include "exitfail.h".
14822         (STRTOL_FATAL_ERROR): Exit with status exit_failure, not 2.
14823
14824         * lib/long-options.c (parse_long_options): Use prototype
14825         for usage function arg.  Pass it EXIT_SUCCESS rather than 0,
14826         for clarity.
14827
14828 2004-01-21  Jim Meyering  <jim@meyering.net>
14829
14830         * lib/mktime.c (__mktime_internal) [!_LIBC]: Define to mktime_internal
14831         so as not to conflict with a different-sized __mktime_internal
14832         function in GNU libc.
14833         * lib/timegm.c (__mktime_internal) [!_LIBC]: Likewise.
14834         Problem building statically-linked `ls' reported by Michael Brunnbauer.
14835
14836 2004-01-20  Karl Berry  <karl@gnu.org>
14837
14838         * config/config.guess: update from config.
14839
14840         * config/srclistvars.sh: GNUWWWLICENSES for karl.
14841
14842 2004-01-20  Bruno Haible  <bruno@clisp.org>
14843
14844         Safer stack allocation.
14845         * lib/setenv.c: Include allocsa.h.
14846         (alloca): Remove fallback definition.
14847         (freea): Remove macro.
14848         (__add_to_environ) [!_LIBC]: Use allocsa instead of alloca. Use freesa
14849         instead of freea.
14850
14851 2004-01-20  Bruno Haible  <bruno@clisp.org>
14852
14853         * m4/eealloc.m4: New file, from GNU gettext.
14854
14855 2004-01-20  Bruno Haible  <bruno@clisp.org>
14856
14857         * m4/allocsa.m4: New file, from GNU gettext.
14858
14859 2004-01-20  Bruno Haible  <bruno@clisp.org>
14860
14861         * lib/xallocsa.h: New file, from GNU gettext.
14862         * lib/xallocsa.c: New file, from GNU gettext.
14863
14864 2004-01-20  Bruno Haible  <bruno@clisp.org>
14865
14866         * lib/wait-process.c: On Windows, include windows.h. Needed on mingw.
14867
14868 2004-01-20  Bruno Haible  <bruno@clisp.org>
14869
14870         * lib/wait-process.c (wait_subprocess): Add ignore_sigpipe argument.
14871         * lib/wait-process.c (wait_subprocess): Likewise. Handle SIGPIPE
14872         specially.
14873
14874 2004-01-20  Bruno Haible  <bruno@clisp.org>
14875
14876         * lib/wait-process.c (wait_process): Disable the 2003-10-31 waitid()
14877         patch.
14878
14879 2004-01-20  Bruno Haible  <bruno@clisp.org>
14880
14881         * lib/wait-process.c (cleanup_slaves): Use ANSI C declaration.
14882
14883 2004-01-20  Bruno Haible  <bruno@clisp.org>
14884
14885         * lib/eealloc.h: New file.
14886
14887 2004-01-20  Bruno Haible  <bruno@clisp.org>
14888
14889         * lib/binary-io.h: Avoid warnings on Cygwin.
14890
14891 2004-01-20  Bruno Haible  <bruno@clisp.org>
14892
14893         * lib/allocsa.h: New file, from GNU gettext.
14894         * lib/allocsa.c: New file, from GNU gettext.
14895
14896 2004-01-18  Karl Berry  <karl@gnu.org>
14897
14898         * doc/gpl.texi, doc/lgpl.texi: new files.
14899
14900 2004-01-18  Karl Berry  <karl@gnu.org>
14901
14902         * config/srclistvars.sh (GNUWWWLICENSES): new variable.
14903         * config/srclist.txt ({fdl,gpl,lgpl}.text): get from there.
14904
14905 2004-01-15  Paul Eggert  <eggert@twinsun.com>
14906
14907         Merge from coreutils.
14908
14909         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for uintptr_t.
14910         * m4/posixver.m4 (gl_POSIXVER): Require gl_DEFAULT_POSIX2_VERSION.
14911         (gl_DEFAULT_POSIX2_VERSION): Move
14912         the documentation from 'configure' into 'config.hin',
14913         so that 'configure --help' isn't burdened by it and
14914         we don't have to worry about its formatting there.
14915         Reword the documentation so that it's more succinct
14916         and can be run together into a single paragraph.
14917         * m4/same.m4 (gl_SAME): Check for pathconf.
14918
14919 2004-01-15  Paul Eggert  <eggert@twinsun.com>
14920
14921         Merge from coreutils.
14922
14923         * lib/posixver.c: Include posixver.h.
14924
14925         * lib/same.c: Include <stdbool.h>, <limits.h>.
14926         (_POSIX_NAME_MAX): Define if not defined.
14927         (MIN): New macro.
14928         (same_name): If file names are silently truncated, report
14929         that the file names are the same if they are the same after
14930         the silent truncation.
14931
14932         * lib/xstrtod.h (xstrtod): Accept an extra arg, specifying the
14933         conversion function.
14934         * lib/xstrtod.c (xstrtod): Likewise.  All callers changed to
14935         include c-strtod.h and use c_strtod.  Don't include stdlib.h; no
14936         longer needed.
14937
14938 2004-01-15  Jim Meyering  <jim@meyering.net>
14939
14940         Merge from coreutils.
14941
14942         * m4/clock_time.m4 (gl_CLOCK_TIME): Don't set LIB_CLOCK_GETTIME
14943         if no library is required.
14944         * m4/jm-macros.m4: Don't require UTILS_SYS_OPEN_MAX.
14945         * m4/jm-macros.m4 (jm_MACROS): Require gl_FUNC_FREE.
14946         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.58.
14947         (AC_LANG_SOURCE): Remove definition, now that we require autoconf-2.58.
14948         * m4/jm-macros.m4 (jm_MACROS): Don't require AC_FUNC_FTW.
14949         * m4/lib-check.m4 (jm_LIB_CHECK): Do not set LIB_CRYPT to the
14950         value, $ac_cv_search_crypt, if it's "none required".
14951         * m4/posixver.m4 (gl_DEFAULT_POSIX2_VERSION): New macro.
14952         * m4/prereq.m4 (jm_PREREQ): Require AC_FUNC_GETLOADAVG,
14953         not gl_FUNC_GETLOADAVG.
14954         * m4/prereq.m4 (jm_PREREQ): Require gl_READTOKENS, gl_MD5, gl_MAKEPATH,
14955         gl_LONG_OPTIONS, and gl_IDCACHE, gl_GETUGROUPS.
14956
14957 2004-01-15  Jim Meyering  <jim@meyering.net>
14958
14959         Merge from coreutils.
14960
14961         * lib/md5.h (rol) [__GNUC__ && __i386__]: Don't use `asm' code.  These
14962         days, gcc-3.x does better all by itself.  Patch from Dean Gaudet:
14963         http://mail.gnu.org/archive/html/bug-coreutils/2003-11/msg00144.html
14964
14965         * lib/posixver.c (DEFAULT_POSIX2_VERSION): Use definition of new,
14966         optional configure-time default.
14967
14968         * lib/version-etc.c (version_etc_copyright): Update copyright date.
14969
14970         * lib/xreadlink.c (xreadlink): Correct outdated comment.
14971
14972 2004-01-15  Alexandre Duret-Lutz  <adl@gnu.org>
14973
14974         Merge from coreutils.
14975
14976         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Do not set LIB_NANOSLEEP to the
14977         value, $ac_cv_search_nanosleep, if it's "none required".
14978
14979 2004-01-14  Paul Eggert  <eggert@twinsun.com>
14980
14981         * lib/fnmatch_loop.c (ALLOCA_LIMIT): Remove macro, which collided
14982         with like-named macro in fnmatch.c.
14983         (EXT): Use an internal constant instead.
14984
14985         Merge fnmatch patches from glibc.
14986         * lib/fnmatch.c (mbsinit): Remove define.
14987         Add libc_hidden_ver (__fnmatch, fnmatch).
14988         * lib/fnmatch_loop.c (FCT): Cast to int32_t and UCHAR when appropriate.
14989         Adjust to renaming of collseq_table_lookup to __collseq_table_lookup.
14990
14991 2004-01-14  Karl Berry  <karl@gnu.org>
14992
14993         * config/install-sh: update from automake.
14994
14995 2004-01-13  Karl Berry  <karl@gnu.org>
14996
14997         * config/install-sh: update from automake.
14998
14999 2004-01-09  Karl Berry  <karl@gnu.org>
15000
15001         * config/install-sh: update from automake.
15002
15003 2004-01-05  Karl Berry  <karl@gnu.org>
15004
15005         * config/config.{sub,guess}: update from config.
15006
15007 2003-12-31  Karl Berry  <karl@gnu.org>
15008
15009         * config/depcomp: update from automake.
15010
15011 2003-12-14  Karl Berry  <karl@gnu.org>
15012
15013         * lib/config.charset: update from gettext-runtime.
15014
15015 2003-12-03  Paul Eggert  <eggert@twinsun.com>
15016
15017         * lib/getgroups.c (getgroups): xmalloc takes one argument, not two.
15018         Bug reported by Alfred M. Szmidt.
15019
15020 2003-12-03  Bruno Haible  <bruno@clisp.org>
15021
15022         * m4/gettext.m4: Upgrade from gettext-0.13.
15023         * m4/po.m4: Upgrade from gettext-0.13.
15024         * m4/size_max.m4 (gl_SIZE_MAX): Don't use the _ONCE macros here.
15025         * m4/intmax.m4: New file, from gettext-0.13.
15026         * m4/printf-posix.m4: New file, from gettext-0.13.
15027
15028 2003-11-29  Karl Berry  <karl@gnu.org>
15029
15030         * lib/argp-{help.c,parse.c,namefrob.h}, argp.h: update from libc.
15031
15032 2003-11-25  Paul Eggert  <eggert@twinsun.com>
15033             Bruno Haible  <bruno@clisp.org>
15034
15035         * lib/printf-parse.h: Don't include sys/types.h.
15036         (ARG_NONE): New macro.
15037         (char_directive): Change type of *arg_index fields to size_t.
15038         * lib/printf-parse.c: Don't include sys/types.h.
15039         (SSIZE_MAX): Remove macro.
15040         (PRINTF_PARSE): Change the type of the arg_index variables to size_t.
15041         Remove unnecessary overflow check.
15042         * lib/vasnprintf.c (VASNPRINTF): Update for type change of *arg_index
15043         fields.
15044
15045 2003-11-25  Bruno Haible  <bruno@clisp.org>
15046
15047         * modules/vasnprintf (Files): Remove m4/ssize_t.m4.
15048
15049 2003-11-25  Bruno Haible  <bruno@clisp.org>
15050
15051         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Don't require
15052         gt_TYPE_SSIZE_T.
15053
15054 2003-11-24  Paul Eggert  <eggert@twinsun.com>
15055
15056         * modules/alloca: Remove dependency on xalloc.
15057
15058 2003-11-24  Paul Eggert  <eggert@twinsun.com>
15059
15060         * lib/alloca.c: Remove dependency on xalloc module.
15061         (xalloc_die): Remove.
15062         (memory_full) [!defined emacs]: New macro.
15063         [!defined emacs]: Don't include xalloc.h.
15064         (alloca): Invoke memory_full, not xalloc_die, if malloc fails or
15065         address arithmetic overflows.  Change datatypes a bit to avoid
15066         unnecessary casts.
15067
15068 2003-11-22  Jim Meyering  <jim@meyering.net>
15069
15070         * lib/xmalloc.c (x2nrealloc_inline): Fix typos in comments:
15071         s/size/size_t/.
15072
15073 2003-11-21  Karl Berry  <karl@gnu.org>
15074
15075         * config/config.{sub,guess}: update from config.
15076
15077 2003-11-18  Karl Berry  <karl@gnu.org>
15078
15079         * config/config.{sub,guess}: update from config.
15080
15081         * config/(printf-{parse,args}.[ch]): sync broken, sigh.
15082
15083 2003-11-17  Paul Eggert  <eggert@twinsun.com>
15084
15085         * README: Mention that S+T cannot overflow if S is the size of
15086         an existing object and T is sufficiently small.
15087
15088 2003-11-17  Jim Meyering  <jim@meyering.net>
15089
15090         On systems without utime and without a utimes function capable of
15091         dealing with a NULL struct utimbuf* argument, this utime replacement
15092         could -- in unusual circumstances -- leak a file descriptor.
15093         * lib/utime.c: Include <unistd.h> and <errno.h>.
15094         (utime_null): Be sure to close `fd' and to preserve errno.
15095         Reported by Geoff Collyer via Arnold Robbins.
15096
15097 2003-11-17  Bruno Haible  <bruno@clisp.org>
15098
15099         * modules/vasnprintf (Files): Add m4/ssize_t.m4.
15100         (Depends-on): Add xsize.
15101
15102 2003-11-17  Bruno Haible  <bruno@clisp.org>
15103
15104         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Require gt_TYPE_SSIZE_T.
15105
15106 2003-11-17  Bruno Haible  <bruno@clisp.org>
15107
15108         * lib/vasnprintf.c (alloca): Remove fallback definition.
15109         (freea): Remove definition.
15110         (VASNPRINTF): Use alloca only for small sizes, say <= 4000 bytes.
15111         Reported by Paul Eggert.
15112
15113 2003-11-16  Paul Eggert  <eggert@twinsun.com>
15114             Bruno Haible  <bruno@clisp.org>
15115
15116         Protect against address arithmetic overflow.
15117         * lib/printf-args.h: Include stddef.h.
15118         (arguments): Change type of field 'count' to size_t.
15119         * lib/printf-args.c (printf_fetchargs): Use size_t instead of
15120         'unsigned int' where appropriate.
15121         * lib/printf-parse.h: Include sys/types.h.
15122         (char_directive): Change type of *arg_index fields to ssize_t.
15123         (char_directives): Change type of fields 'count', max_*_length to
15124         size_t.
15125         * lib/printf-parse.c: Include sys/types.h and xsize.h.
15126         (SSIZE_MAX): Define fallback value.
15127         (PRINTF_PARSE): Use size_t instead of 'unsigned int' and ssize_t
15128         instead of 'int' where appropriate. Check a_allocated, d_allocated
15129         against overflow. Reject %m$ argument numbers > SSIZE_MAX + 1.
15130         * lib/vasnprintf.c: Include xsize.h.
15131         (VASNPRINTF): Use size_t instead of 'unsigned int' where appropriate.
15132         Check alloca, malloc, realloc, ENSURE_ALLOCATION arguments against
15133         overflow. Avoid wraparound when converting a width or precision from
15134         decimal to binary.
15135
15136 2003-11-16  Bruno Haible  <bruno@clisp.org>
15137
15138         Update from GNU gettext.
15139         * lib/printf-parse.c: Generalize to it can be compiled for wide
15140         strings.
15141         (PRINTF_PARSE, CHAR_T, DIRECTIVE, DIRECTIVES): New macros.
15142         * lib/vasnprintf.c: Generalize to it can be compiled for wide strings.
15143         (VASNPRINTF, CHAR_T, DIRECTIVE, DIRECTIVES, PRINTF_PARSE, USE_SNPRINTF,
15144         SNPRINTF): New macros.
15145         Don't include <alloca.h> if the file is used inside libintl.
15146         (local_wcslen): New function, for Solaris 2.5.1.
15147         (VASNPRINTF): Use it instead of wcslen.
15148
15149 2003-11-16  Bruno Haible  <bruno@clisp.org>
15150
15151         * lib/xsize.h (xmax): New function.
15152         (xsum, xsum3, xsum4): Declare as "pure" functions.
15153
15154 2003-11-12  Paul Eggert  <eggert@twinsun.com>
15155
15156         * modules/xalloc (Files): Undo latest change, since xalloc.h
15157         no longer needs SIZE_MAX or PTRDIFF_MAX.
15158
15159 2003-11-12  Paul Eggert  <eggert@twinsun.com>
15160
15161         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Do not require gl_SIZE_MAX or
15162         gl_PTRDIFF_MAX.
15163
15164 2003-11-12  Paul Eggert  <eggert@twinsun.com>
15165
15166         * lib/xstrtol.c (__xstrtol): Remove "break" immediately after
15167         "return", to pacify some unknown compiler.  Problem reported
15168         by Joerg Schilling.
15169
15170 2003-11-12  Paul Eggert  <eggert@twinsun.com>
15171
15172         * lib/xalloc.h: Do not include <limits.h> or <stdint.h>.
15173         (xalloc_oversized): Use sizeof (ptrdiff_t) and sizeof (size_t) for
15174         the heuristic, rather than PTRDIFF_MAX and SIZE_MAX.  This
15175         heuristic is just as accurate as far as we know, and it removes a
15176         dependency on size_max.m4 and ptrdiff_max.m4.
15177
15178 2003-11-11  Bruno Haible  <bruno@clisp.org>
15179
15180         * modules/xsize (Files): Add m4/size_max.m4.
15181         * modules/xalloc (Files): Add m4/size_max.m4, m4/ptrdiff_max.m4.
15182
15183 2003-11-11  Bruno Haible  <bruno@clisp.org>
15184
15185         * m4/size_max.m4: New file.
15186         * m4/ptrdiff_max.m4: New file.
15187         * m4/xsize,m4 (gl_XSIZE): Require gl_SIZE_MAX.
15188         * m4/xalloc.m4 (gl_PREREQ_XALLOC): New macro.
15189         (gl_XALLOC): Invoke it.
15190
15191 2003-11-11  Bruno Haible  <bruno@clisp.org>
15192
15193         * lib/xsize.h (SIZE_MAX): Remove fallback definition.
15194         * lib/xalloc.h: Include limits.h. Assume SIZE_MAX and PTRDIFF_MAX are
15195         defined.
15196
15197 2003-11-10  Paul Eggert  <eggert@twinsun.com>
15198
15199         * lib/xalloc.h (xalloc_oversized): [! (defined PTRDIFF_MAX &&
15200         PTRDIFF_MAX < SIZE_MAX)]: Fix off-by-one error that would have
15201         rejected some allocations of exactly SIZE_MAX - 2 bytes.
15202         From Bruno Haible.
15203         [defined PTRDIFF_MAX && PTRDIFF_MAX < SIZE_MAX]: Use SIZE_MAX,
15204         not (size_t) -1, since it's defined here.
15205
15206 2003-11-09  Karl Berry  <karl@gnu.org>
15207
15208         * config/mkinstalldirs, depcomp, mdate-sh: update from automake.
15209
15210 2003-11-06  Paul Eggert  <eggert@twinsun.com>
15211
15212         * lib/xalloc.h [HAVE_STDINT_H]: Include <stdint.h>.
15213         (xalloc_oversized) [! (PTRDIFF_MAX < SIZE_MAX)]:
15214         Reject sizes of exactly SIZE_MAX bytes.
15215         * lib/xreadlink.c: Include "xalloc.h" before checking whether SIZE_MAX
15216         is defined, since "xalloc.h" now defines SIZE_MAX on modern hosts.
15217
15218 2003-11-05  Bruno Haible  <bruno@clisp.org>
15219
15220         * lib/xsize.h: Include limits.h, to avoid a possible collision with
15221         SIZE_MAX defined in <limits.h> on Solaris.
15222
15223 2003-11-04  Jim Meyering  <jim@meyering.net>
15224
15225         * modules/sysexits: Use the `$(VAR)' notation for AC_SUBST'd
15226         variable names, rather than @VAR@.
15227         * modules/poll: Likewise.
15228
15229 2003-11-04  Bruno Haible  <bruno@clisp.org>
15230
15231         * modules/xsize: New file.
15232         * modules/linebreak: Depend on xsize.
15233         * MODULES.html.sh (func_all_modules): Add xsize.
15234
15235 2003-11-04  Bruno Haible  <bruno@clisp.org>
15236
15237         * m4/xsize.m4: New file.
15238
15239 2003-11-04  Bruno Haible  <bruno@clisp.org>
15240
15241         * lib/xsize.h: New file.
15242         * lib/linebreak.c: Include xsize.h.
15243         (mbs_possible_linebreaks, mbs_width_linebreaks): Check malloc()
15244         argument for overflow.
15245         Suggested by Paul Eggert.
15246
15247 2003-11-03  Karl Berry  <karl@gnu.org>
15248
15249         * config/config.{guess,sub}: update from config.
15250
15251 2003-11-03  Jim Meyering  <jim@meyering.net>
15252
15253         * modules/userspec (lib_SOURCES): Add userspec.h.
15254         (Include): Add "userspec.h".
15255         Improve description.
15256
15257 2003-11-03  Jim Meyering  <jim@meyering.net>
15258
15259         * lib/userspec.c: Include "userspec.h".
15260         * lib/userspec.h: New file.
15261
15262 2003-11-03  Bruno Haible  <bruno@clisp.org>
15263
15264         * m4/wait-process.m4 (gl_WAIT_PROCESS): Also check for waitid.
15265
15266 2003-11-03  Bruno Haible  <bruno@clisp.org>
15267
15268         * lib/wait-process.c (wait_process): Use waitid with WNOWAIT if
15269         available, to avoid (extremely rare) race condition.
15270         Suggested by Paul Eggert.
15271
15272 2003-11-02  Karl Berry  <karl@gnu.org>
15273
15274         * config/srclist.txt (vasprintf.c): sync broken, sigh.
15275
15276 2003-10-31  Paul Eggert  <eggert@twinsun.com>
15277
15278         * lib/mountlist.h (struct mount_entry.me_type_malloced): New member.
15279         * lib/mountlist.c (SIZE_MAX): Define if not defined already.
15280         (read_filesystem_list): Set and use me_type_malloced.
15281         Use "sizeof *me" rather than "sizeof (struct mount_entry)" (or
15282         whatever the type happens to be), for brevity and consistency.
15283         Check for size calculation overflow on Alphas running OSF/1.
15284
15285 2003-10-31  Jim Meyering  <jim@meyering.net>
15286
15287         * lib/hash.c: Include "xalloc.h" for use of xalloc_oversized.
15288
15289         * lib/linebuffer.c: Include <string.h> for declaration of memset.
15290
15291 2003-10-30  Paul Eggert  <eggert@twinsun.com>
15292             Bruno Haible  <bruno@clisp.org>
15293
15294         * lib/vasprintf.c: Include <limits.h>, <stdlib.h>.
15295         (vasprintf): Fail if the resulting length doesn't fit in an 'int'.
15296
15297 2003-10-30  Paul Eggert  <eggert@cs.ucla.edu>
15298
15299         * m4/host-os.m4 (UTILS_HOST_OS): Change netbsd*-gnu pattern back to
15300         netbsd*-gnu*.  Suggested by Robert Millan.
15301
15302 2003-10-29  Paul Eggert  <eggert@twinsun.com>
15303
15304         * modules/group-member: Depend on stdbool.
15305
15306 2003-10-29  Paul Eggert  <eggert@twinsun.com>
15307
15308         * m4/xalloc.m4 (gl_XALLOC): Undo previous change.
15309
15310 2003-10-29  Paul Eggert  <eggert@twinsun.com>
15311
15312         * m4/host-os.m4 (UTILS_HOST_OS): Resurrect netbsd*-gnu.  Add comments
15313         to it, and to knetbsd*-gnu and kfreebsd*-gnu.  Remove the '*' from
15314         after the 'gnu' in these cases.  This fixes some bugs in the
15315         previous change, and is based on suggestions by Robert Millan.
15316
15317 2003-10-29  Paul Eggert  <eggert@twinsun.com>
15318
15319         * lib/xalloc.h (xalloc_oversized): Now a macro, not a function,
15320         so that it works even if SIZE_MAX < N.  Do not include <stdbool.h>;
15321         no longer needed.
15322         * lib/quotearg.c (quotearg_n_options): Use it.
15323         * lib/group-member.c: Include <stdbool.h>.
15324         (free_group_info): Arg is now const *; don't free arg.
15325         (get_group_info): Now returns bool and accepts struct group_info *,
15326         rather than returning a malloc'ed struct group_info *.
15327         All uses changed.  Check for overflow in internal size calculation.
15328
15329         * lib/getusershell.c (readname): Simplify the code by using x2nrealloc
15330         rather than xmalloc/xrealloc.
15331         * lib/linebuffer.c (initbuffer, readlinebuffer): Simplify the code by
15332         using x2realloc rather than xmalloc/xrealloc.  Also, fix a C
15333         conformance bug: the old code used a pointer after freeing the
15334         storage that it addressed.
15335         * lib/hash.c (hash_initialize): Simplify the code by using
15336         xalloc_oversized rather than doing it by hand.
15337         * lib/getgroups.c (getgroups): Don't use xrealloc, since we don't need
15338         the buffer preserved.  Use free and xmalloc instead.
15339         * lib/quotearg.c (quotearg_n_options): Likewise.
15340         Use a simpler test for size overflow.  Don't use xalloc_oversized
15341         because unsigned int might be wider than size_t (!); this suggests
15342         that we should switch from unsigned int to size_t for slot numbers.
15343
15344 2003-10-28  Paul Eggert  <eggert@twinsun.com>
15345
15346         * m4/host-os.m4 (UTILS_HOST_OS): Identify GNU/KFreeBSD and
15347         GNU/KNetBSD.  These implementations use glibc atop the FreeBSD and
15348         NetBSD kernels.  Requested by Richard Stallman.
15349
15350 2003-10-27  Paul Eggert  <eggert@twinsun.com>
15351
15352         * lib/exclude.c (new_exclude): Use xzalloc rather than xmalloc
15353         to allocate the returned structure.  Do not allocate a subarray,
15354         as x2nrealloc will do that.
15355         (add_exclude): Use x2nrealloc to reallocate ex->exclude,
15356         instead of xnrealloc.
15357         (add_exclude_file): Use x2realloc instead of malloc + xnrealloc.
15358
15359 2003-10-27  Bruno Haible  <bruno@clisp.org>
15360
15361         * lib/stdbool_.h: Better support for BeOS.
15362
15363 2003-10-26  Paul Eggert  <eggert@twinsun.com>
15364
15365         * m4/xalloc.m4 (gl_XALLOC): Requore AC_C_INLINE, since xalloc.h
15366         now uses inline.
15367
15368 2003-10-26  Paul Eggert  <eggert@twinsun.com>
15369
15370         * lib/xalloc.h (xalloc_oversized): New static inline function, for
15371         callers that want to do their own size-overflow checking.  Include
15372         <stdbool.h>, since xalloc_oversized returns bool.
15373         * lib/xalloc.c (array_size_overflow): Remove.  All callers changed
15374         to use xalloc_oversized.
15375
15376         Add two functions x2realloc, x2nrealloc, for programs that grow
15377         arrays dynamically by doubling their sizes.
15378         * lib/xalloc.h (x2realloc, x2nrealloc): New decls.
15379         * lib/xmalloc.c (x2nrealloc_inline, x2nrealloc, x2realloc):
15380         New functions.
15381
15382         Port to C99 semantics for 'inline' of external functions.
15383         Bug reported by Bruno Haible.
15384         * lib/xmalloc.c (xnmalloc_inline): New static inline function,
15385         with the old contents of xnmalloc.
15386         (xnmalloc, xmalloc): Use it.
15387         (xnrealloc_inline): New static inline function,
15388         with the old contents of xnrealloc.
15389         (xnrealloc, xrealloc): Use it.
15390
15391         * lib/alloc.c (alloca): xmalloc cannot return NULL, so don't test for
15392         that.
15393
15394 2003-10-26  Karl Berry  <karl@gnu.org>
15395
15396         * config/srclist.txt (COPYING.DOC): no longer available from
15397         /gd/gnuorg; don't know where the ultimate source is.
15398
15399 2003-10-25  Paul Eggert  <eggert@twinsun.com>
15400
15401         Fix several address-calculation bugs in the hash modules,
15402         plus some minor code cleanup.
15403
15404         * lib/hash.h: Include <stdbool.h>, for bool.
15405         * lib/hash.c: Don't include <stdbool.h>, since hash.h does it now.
15406         * lib/hash.h (Hash_hasher, hash_get_n_buckets, hash_get_n_buckets_used,
15407         hash_get_n_entries, hash_get_max_bucket_length,
15408         hash_get_entries, hash_do_for_each, hash_string, hash_initialize,
15409         hash_rehash): Use size_t rather than unsigned.
15410         * lib/hash.c (struct hash_table, hash_get_n_buckets,
15411         hash_get_n_buckets_used, hash_get_n_entries,
15412         hash_get_max_bucket_length, hash_table_ok, hash_print_statistics,
15413         hash_get_entries, hash_do_for_each, hash_string, is_prime,
15414         next_prime, hash_initialize, hash_rehash, hash_delete, hash_print):
15415         Likewise.
15416         (SIZE_MAX): Define if not defined.
15417         (hash_get_max_bucket_length, hash_table_ok, hash_lookup,
15418         hash_get_first, hash_get_next, hash_get_entries, hash_do_for_each,
15419         hash_print):
15420         Use const * when possible.
15421         (hash_string): Use (unsigned char) *P rather than *(unsigned char *) P.
15422         (check_tuning): Fix bug: if tuning parameters were very close to
15423         0 or 1, rounding errors could have caused subscript violations.
15424         (hash_initialize, allocate_entry, hash_print): Remove unnecessary cast.
15425         (hash_initialize): Add 'fail:' label
15426         to free table and return NULL, and use it to simplify code.
15427         Use calloc rather than clearing the storage ourself.
15428         (hash_initialize, hash_rehash): Check for arithmetic overflow in
15429         buffer size calculations.
15430         * lib/hash-pjw.h (hash_pjw): Use size_t, not unsigned.
15431         Include <stddef.h>, for size_t.
15432         * lib/hash-pjw.c (hash_pjw): Likewise.
15433         Switch to method described by Bruno Haible.
15434         Include <limits.h>, for CHAR_BIT.
15435         (SIZE_BITS): New macro.
15436
15437 2003-10-23  Paul Eggert  <eggert@twinsun.com>
15438
15439         * m4/getline.m4 (AM_FUNC_GETLINE):
15440         Don't include getndelim2.o twice into LIBOBJS; this breaks on some
15441         hosts.  Problem reported by Derek Robert Price in
15442         <http://mail.gnu.org/archive/html/bug-gnulib/2003-10/msg00092.html>.
15443         This patch can be withdrawn after Autoconf 2.58 is required for gnulib.
15444         * m4/getndelim2.m4 (gl_GETNDELIM2): Likewise.
15445
15446 2003-10-21  Paul Eggert  <eggert@twinsun.com>
15447
15448         * lib/getndelim2.c (getndelim2): When size calculation overflows,
15449         ceiling the allocation at NMAX bytes rather than silently
15450         discarding input bytes before NMAX is reached.  This makes
15451         a difference only if NMAX exceeds SIZE_MAX / 2.
15452
15453         * lib/obstack.c: Merge from glibc.
15454         [defined _LIBC]: Include <obstack.h>, not "obstack.h".
15455         Add libc_hidden_def (_obstack_newchunk).
15456         (_obstack_free) [! defined _LIBC]: Remove.
15457         [defined _LIBC]: Make a strong alias from obstack_free, rather than
15458         a clone of the function body.
15459         (fputs) [defined _LIBC && defined USE_IN_LIBIO]: Remove.
15460         [defined _LIBC && !defined USE_IN_LIBIO]: Include <libio/iolibio.h>.
15461
15462         * lib/obstack.h: Indenting cleanup, to make it easier to merge with
15463         glibc.
15464         (obstack_grow, obstack_grow0): Remove unnecessary parentheses around
15465         arg to memcpy.
15466
15467         * lib/obstack.h (obstack_1grow_fast): Properly parenthesize arg.
15468         (obstack_ptr_grow_fast, obstack_int_grow_fast):
15469         Don't use lvalue casts, as GCC plans to remove support for them
15470         in GCC 3.5.  Reported by Joseph S. Myers.  This bug
15471         was also present in the non-GCC version, indicating that this
15472         code had always been buggy and had never been widely used.
15473         (obstack_1grow, obstack_ptr_grow, obstack_int_grow, obstack_blank):
15474         Use the fast variant of each macro, rather than copying the
15475         definiens of the fast variant; that way, we'll be more likely to
15476         catch future bugs in the fast variants.
15477
15478 2003-10-20  Bruno Haible  <bruno@clisp.org>
15479
15480         * modules/wait-process: New file.
15481         * MODULES.html.sh (func_all_modules): Add wait-process.
15482
15483 2003-10-20  Bruno Haible  <bruno@clisp.org>
15484
15485         * m4/wait-process.m4: New file.
15486
15487 2003-10-20  Bruno Haible  <bruno@clisp.org>
15488
15489         * lib/wait-process.h: New file, from GNU gettext.
15490         * lib/wait-process.c: New file, from GNU gettext.
15491
15492 2003-10-19  Jim Meyering  <jim@meyering.net>
15493
15494         * lib/vasnprintf.c (vasnprintf): Work around losing snprintf on
15495         HPUX 10.20.
15496
15497 2003-10-18  Karl Berry  <karl@gnu.org>
15498
15499         * config/config.guess: update from config.
15500
15501 2003-10-16  Paul Eggert  <eggert@twinsun.com>
15502
15503         * lib/getgroups.c: Include <errno.h>, <stdlib.h>.
15504         (getgroups): First arg is int, not size_t.
15505         Don't let 'free' mangle errno.
15506
15507 2003-10-16  Paul Eggert  <eggert@twinsun.com>
15508
15509         * README: Mention that gnulib assumes that (foo *) NULL + 0 == NULL.
15510
15511 2003-10-16  Karl Berry  <karl@gnu.org>
15512
15513         * config/config.{guess,sub}: update from config.
15514
15515 2003-10-16  Jim Meyering  <jim@meyering.net>
15516
15517         * lib/xmalloc.c: Include <string.h>, for declarations of memset and
15518         memcpy.
15519
15520 2003-10-15  Paul Eggert  <eggert@twinsun.com>
15521
15522         * lib/exclude.c: Do not include <inttypes.h> or <stdint.h>.
15523         (SIZE_MAX): Remove.
15524         (new_exclude, add_exclude_file): Initial size no longer needs to
15525         be a power of 2.
15526         (add_exclude, add_exclude_file): Use xnrealloc instead of rolling
15527         our own address arithmetic overflow checking.
15528
15529         * lib/fnmatch.c (SIZE_MAX): Define if standard headers don't.
15530         (fnmatch): Do not alloca more than 2000 wide characters;
15531         instead, use malloc for large buffers.
15532         Check for address arithmetic overflow, and return -1
15533         with errno set to ENOMEM in that case.
15534         * lib/fnmatch_loop.c (ALLOCA_LIMIT): New macro.
15535         (NEW_PATTERN): Do not alloca more than 8000 bytes;
15536         instead, return -1.  Check for address arithmetic overflow.
15537
15538 2003-10-14  Paul Eggert  <eggert@twinsun.com>
15539
15540         Handle invalid suffixes and overflow independently, so that
15541         callers can treat them independently as needed.  Fix some bugs in
15542         suffix handling, e.g., "100k@" was not diagnosed as an invalid
15543         suffix for a human-readable blocksize.  The major caller-visible
15544         change is the addition of a new
15545         LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW enum value, indicating
15546         that both overflow and suffix chars were found.
15547
15548         * lib/human.c (humblock): Don't check separately for invalid suffix
15549         char; that is xstrtoumax's job (now that its bug is fixed).
15550         * lib/xstrtoimax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [defined
15551         INTMAX_MAX]: New macros.
15552         * lib/xstrtol.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM, TYPE_MINIMUM,
15553         TYPE_MAXIMUM): New macros.
15554         (bkm_scale, bkm_scale_by_power): Return strtol_error, not int.
15555         (bkm_scale, bkm_scale_by_power, __xstrtol): Return maximal values
15556         if overflow occurs, as it's what __strtol does and it's more useful
15557         in practice.
15558         (__xstrtol): If __strtol reports some error other than ERANGE,
15559         reflect it to the caller as LONGINT_INVALID.  If it reports
15560         ERANGE, continue the rest of parsing, and report LONGINT_OVERFLOW
15561         | LONGINT_INVALID_SUFFIX_CHAR if both errors occur.
15562         * lib/xstrtol.h (LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW): New enum
15563         value.
15564         (_STRTOL_ERROR): Handle it.  Abort when given unknown error codes.
15565         * lib/xstrtoul.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM): New macros.
15566         * lib/xstrtoumax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM)
15567         [defined UINTMAX_MAX]: New macros.
15568
15569 2003-10-14  Bruno Haible  <bruno@clisp.org>
15570
15571         * modules/fatal-signal: Add m4/sig_atomic_t.m4 to file list.
15572
15573 2003-10-14  Bruno Haible  <bruno@clisp.org>
15574
15575         * m4/sig_atomic_t: New file, from GNU gettext.
15576         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Require gt_TYPE_SIG_ATOMIC_T.
15577
15578 2003-10-14  Bruno Haible  <bruno@clisp.org>
15579
15580         * lib/fatal-signal.h: Improved comments. Suggested by Paul Eggert.
15581         * lib/fatal-signal.c: Use sig_atomic_t. Suggested by Paul Eggert.
15582         Also use volatile where needed.
15583
15584 2003-10-12  Paul Eggert  <eggert@twinsun.com>
15585
15586         * modules/xalloc: Do not depend on 'exit'.  Depend on 'stdbool'.
15587         Change maintainer from Bruno Haible to 'all'.
15588
15589 2003-10-12  Paul Eggert  <eggert@twinsun.com>
15590
15591         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Require AC_C_INLINE.
15592
15593 2003-10-12  Paul Eggert  <eggert@twinsun.com>
15594
15595         * lib/xalloc.h (xnmalloc, xzalloc, xnrealloc, xclone): New decls.
15596         (XMALLOC, XCALLOC, XREALLOC, XFREE, CCLONE, CLONE): Deprecate,
15597         and define in terms of the other primitives.
15598         * lib/xmalloc.c: Include stdbool.h; do not include exit.h.
15599         (SIZE_MAX): Define if not already defined.
15600         (array_size_overflow): New function.
15601         (xalloc_die): Abort instead of exiting if 'error' returns.
15602         (xnmalloc, xnrealloc, xzalloc, xclone): New functions.
15603         (xmalloc, xrealloc): Use them.
15604         (xcalloc): Check for address arithmetic overflow.
15605         * lib/xstrdup.c (xstrdup): Use xclone, since memcpy should be
15606         a bit faster than strcpy.
15607
15608 2003-10-10  Simon Josefsson  <jas@extundo.com>
15609
15610         * modules/argp (Depends-on): Add restrict and strcase.
15611
15612 2003-10-10  Simon Josefsson  <jas@extundo.com>
15613
15614         * m4/argp.m4: Add AC_C_INLINE.
15615
15616 2003-10-08  Paul Eggert  <eggert@twinsun.com>
15617
15618         Merge getpass from libc, plus a few fixes.
15619
15620         * lib/getpass.c (HAVE_STDIO_EXT) [_LIBC]: Define to 1.
15621         Include <stdbool.h>.
15622         Include <stdio_ext.h> if HAVE_STDIO_H, otherwise define
15623         __fsetlocking to empty.
15624         [_LIBC]: Do not include "getline.h" or "unlocked-io.h", but
15625         do include <bits/libc-lock.h>.
15626         Do not include <fcntl.h>; not needed.
15627         [_LIBC]: Include <wchar.h>.
15628         (NOTCANCEL_MODE): New macro.
15629         (flockfile, funlockfile) [_LIBC]: New macros.
15630         (__libc_cleanup_push, __libc_cleanup_pop, __getline, __tcgetattr)
15631         [!_LIBC]: New macros.
15632         (call_fclose): New function.
15633         (getpass): Use it.  Save tty stream separately; this simplifies the
15634         code and makes it more reliable if stdin happens to equal stdout.
15635         Invoke __fsetlocking on tty.
15636         Handle thread cancellation if needed.
15637         Namespace cleanup (use __tcgetattr, __getline).
15638         Use bool for Booleans.
15639         [USE_IN_LIBIO]: Handle wide streams.
15640         [!_LIBC]: Unconditionally do the fseek, since we don't know what
15641         stream might go where.
15642
15643         * lib/unlocked-io.h: Include <stdio.h>, so that the caller
15644         doesn't have to include <stdio.h> before us.
15645         (clearerr_unlocked, feof_unlocked, ferror_unlocked,
15646         fflush_unlocked, fgets_unlocked, fputc_unlocked, fputs_unlocked,
15647         fread_unlocked, fwrite_unlocked, getc_unlocked, getchar_unlocked,
15648         putc_unlocked, putchar_unlocked): Define to the unlocked counterpart
15649         if not declared, so that we can use getpass.c code from libc without
15650         rewriting it.
15651         (flockfile, ftrylockfile, funlockfile): New macros.
15652
15653 2003-10-08  Paul Eggert  <eggert@twinsun.com>
15654
15655         * modules/getpass: Depend on stdbool.
15656
15657 2003-10-08  Paul Eggert  <eggert@twinsun.com>
15658
15659         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for stdio_ext.h.
15660
15661 2003-10-07  Karl Berry  <karl@gnu.org>
15662
15663         * config/config.{guess,sub}: update from config.
15664
15665 2003-10-06  Jim Meyering  <jim@meyering.net>
15666             Bruno Haible  <bruno@clisp.org>
15667
15668         This lets translators provide better translations for the
15669         "Written by ..." part of --version output.
15670         * lib/version-etc.h: Include stdarg.h.
15671         (version_etc_copyright): Declare as readonly.
15672         (version_etc): Make this function variadic with a NULL-terminated list
15673         of author name strings.
15674         (version_etc_va): New declaration.
15675         * lib/version-etc.c: Include stdarg.h, stdlib.h.
15676         (version_etc_copyright): Declare as readonly.
15677         (version_etc_va): New function. Provide a different translatable string
15678         for each possible number of authors < 10. Abbreviate when there are 10
15679         authors or more.
15680         (version_etc): Make this function variadic. Call version_etc_va.
15681         Suggestion from Gary V. Vaughan.
15682
15683         * lib/long-options.h (parse_long_options): Change prototype: the
15684         authors string is moved to the end and becomes variadic.
15685         * lib/long-options.c: Include stdarg.h.
15686         (parse_long_options): Make this function variadic, too.
15687         Call version_etc_va, not version_etc.
15688
15689 2003-10-06  Bruno Haible  <bruno@clisp.org>
15690
15691         * modules/version-etc-2: Remove file.
15692         * MODULES.html.sh (func_all_modules): Remove version-etc-2.
15693
15694 2003-10-06  Bruno Haible  <bruno@clisp.org>
15695
15696         * modules/fatal-signal: New file.
15697         * MODULES.html.sh (func_all_modules): Add fatal-signal.
15698
15699 2003-10-06  Bruno Haible  <bruno@clisp.org>
15700
15701         * m4/fatal-signal.m4: New file.
15702         * m4/signalblocking.m4: New file, from GNU gettext.
15703
15704 2003-10-06  Bruno Haible  <bruno@clisp.org>
15705
15706         * lib/version-etc-2.h: Remove file.
15707         * lib/version-etc-2.c: Remove file.
15708
15709 2003-10-06  Bruno Haible  <bruno@clisp.org>
15710
15711         * lib/fatal-signal.h: New file, from GNU gettext.
15712         * lib/fatal-signal.c: New file, from GNU gettext.
15713
15714 2003-10-05  Paul Eggert  <eggert@twinsun.com>
15715
15716         * README: Rework advice for preventing empty .o files.
15717         Don't recommend ELIDE constructs.  Recommend <stddef.h>,
15718         not <sys/types.h>.
15719
15720 2003-10-04  Karl Berry  <karl@gnu.org>
15721
15722         * lib/argp*: update from libc.
15723
15724 2003-10-04  Karl Berry  <karl@gnu.org>
15725
15726         * config/config.{guess,sub}: update from config.
15727
15728 2003-10-02  Bruno Haible  <bruno@clisp.org>
15729
15730         * modules/lchown (Include): Add lchown.h.
15731         * modules/time_r (Include): Use "..." syntax.
15732         * modules/xgetdomainname (Include): Add xgetdomainname.h.
15733
15734 2003-10-01  Simon Josefsson  <jas@extundo.com>
15735
15736         * MODULES.html.sh (func_all_modules): Move gethostname from section
15737         'based on' to section 'lacking' POSIX:2001.
15738
15739 2003-10-01  Larry Jones  <lawrence.jones@eds.com>
15740
15741         * lib/getpass.c (getpass): Use a no-op fseek when switching from input
15742         to output mode on the same stream.
15743
15744 2003-09-29  Paul Eggert  <eggert@twinsun.com>
15745
15746         * lib/strftime.c (tm_diff) [! HAVE_TM_GMTOFF]:
15747         Fix arg typo in previous patch.
15748
15749 2003-09-28  Jim Meyering  <jim@meyering.net>
15750
15751         * lib/error.c: Correct cpp indentation.
15752
15753 2003-09-27  Paul Eggert  <eggert@twinsun.com>
15754
15755         * modules/free: New file.
15756
15757 2003-09-27  Paul Eggert  <eggert@twinsun.com>
15758
15759         * m4/free.m4: New file.
15760
15761 2003-09-27  Paul Eggert  <eggert@twinsun.com>
15762
15763         * lib/minmax.h (MIN, MAX)
15764         [__STDC__ && defined __GNUC__ && __GNUC__ >= 2]:
15765         Omit the special code that used __typeof__, since we worry that
15766         it could be more trouble than it's worth.  See:
15767         http://mail.gnu.org/archive/html/bug-gnulib/2003-01/msg00090.html
15768         http://mail.gnu.org/archive/html/bug-gnulib/2003-01/msg00095.html
15769
15770         * lib/free.c: New file.
15771
15772 2003-09-27  Oskar Liljeblad  <oskar@osk.mine.nu>
15773
15774         Trivial fixes to Makefile.am parts of module listings.
15775         * modules/strstr: Append strstr.h to lib_SOURCES.
15776         * modules/strcase: Likewise, for strcase.h.
15777
15778 2003-09-27  Karl Berry  <karl@gnu.org>
15779
15780         * config/mkinstalldirs: update from automake.
15781
15782 2003-09-26  Paul Eggert  <eggert@twinsun.com>
15783
15784         * lib/error.c (SIZE_MAX) [!defined SIZE_MAX]: Define.
15785         (error_tail): Do not loop, reallocating temporary buffer, since
15786         the output cannot contain more wide characters than the input
15787         contains bytes, the size must be big enough already.  This avoids
15788         one potential size overflow calculation.  Check for size overflow
15789         when calculating temporary buffer size.  Free temporary buffer
15790         when done, if it was allocated with malloc; this plugs a memory
15791         leak.  Remove casts from void * to pointers, that are no longer
15792         needed now that we're assuming C89 or better.
15793
15794         Merge error changes from glibc.
15795
15796         * lib/error.c, error.h: Update copyright notice header to match glibc.
15797         * lib/error.c [defined _LIBC]: Include <errno.h>, <bits/libc-lock.h>.
15798         (error, error_at_line) [defined _LIBC && defined __libc_ptf_call]:
15799         Disable cancellation while printing error.
15800         * lib/error.h: Prepend __ to parameter names.
15801
15802 2003-09-26  Jim Meyering  <jim@meyering.net>
15803
15804         * lib/error.c (error_tail): Move some declarations
15805         into inner scope where the local variables are used.
15806
15807 2003-09-26  Bruno Haible  <bruno@clisp.org>
15808
15809         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Add comments about the AIX
15810         stpncpy().
15811         Don't define stpncpy through config.h; it's now done through stpncpy.h.
15812
15813 2003-09-26  Bruno Haible  <bruno@clisp.org>
15814
15815         * lib/stpncpy.h (gnu_stpncpy): New declaration.
15816         (stpncpy): Define as alias for gnu_stpncpy.
15817         * lib/stpncpy.c [!_LIBC]: Define gnu_stpncpy, not stpncpy.
15818
15819 2003-09-25  Simon Josefsson  <jas@extundo.com>
15820
15821         * lib/xgetdomainname.h: New file.
15822         * lib/xgetdomainname.c: New file.
15823
15824 2003-09-25  Simon Josefsson  <jas@extundo.com>
15825             Bruno Haible  <bruno@clisp.org>
15826
15827         * modules/getdomainname: New file.
15828         * modules/xgetdomainname: New file.
15829         * MODULES.html.sh (func_all_modules): Add getdomainname,
15830         xgetdomainname.
15831
15832 2003-09-25  Simon Josefsson  <jas@extundo.com>
15833             Bruno Haible  <bruno@clisp.org>
15834
15835         * m4/getdomainname.m4: New file.
15836
15837 2003-09-25  Simon Josefsson  <jas@extundo.com>
15838             Bruno Haible  <bruno@clisp.org>
15839
15840         * lib/getdomainname.h: New file.
15841         * lib/getdomainname.c: New file.
15842
15843 2003-09-25  Karl Berry  <karl@gnu.org>
15844
15845         * lib/argp-fmtstream.c, argp-help.c: update from libc.
15846
15847 2003-09-25  Karl Berry  <karl@gnu.org>
15848
15849         * config/install-sh: update from automake.
15850
15851 2003-09-25  Bruno Haible  <bruno@clisp.org>
15852
15853         * modules/version-etc-2: New file, from modules/version-etc with
15854         modifications.
15855         * MODULES.html.sh (func_all_modules): Add version-etc-2.
15856
15857 2003-09-25  Bruno Haible  <bruno@clisp.org>
15858
15859         * lib/version-etc-2.h: New file, from version-etc.h with modifications.
15860         * lib/version-etc-2.c: New file, from version-etc.c with modifications.
15861
15862 2003-09-24  Simon Josefsson  <jas@extundo.com>
15863
15864         * modules/xgethostname: Add xgethostname.h.
15865
15866 2003-09-24  Paul Eggert  <eggert@twinsun.com>
15867
15868         * lib/linebuffer.c (freebuffer): Don't free the argument, just
15869         the buffer associated with the argument.  Bug reported by
15870         Simon Josefsson.
15871
15872 2003-09-24  Paul Eggert  <eggert@twinsun.com>
15873
15874         * README: Document assumptions that 'int' is at least 32 bits
15875         wide, that integer arithmetic is 2's complement without overflow,
15876         that there are no holes in integer values, that adding sizes of
15877         two nonoverlapping objects can't overflow, and that all-bits-zero
15878         yields scalar zero.  Fix spelling and capitalization typos.
15879
15880 2003-09-19  Karl Berry  <karl@gnu.org>
15881
15882         * lib/argp.h: update from libc.
15883
15884 2003-09-17  Paul Eggert  <eggert@twinsun.com>
15885
15886         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Call AC_BEFORE first,
15887         to avoid spurious warnings like "AC_RUN_IFELSE was called before
15888         gl_USE_SYSTEM_EXTENSIONS" from autoreconf.
15889
15890 2003-09-17  Paul Eggert  <eggert@twinsun.com>
15891
15892         * gnulib-tool: Use "test -h", not "test -L", for portability
15893         to Solaris 8 /bin/sh.  (This bug is fixed in Solaris 9.)
15894         (tags_regexp): Remove, since \| doesn't conform to POSIX.
15895         (sed_extract_prog): Issue s commands one-by-one, rather than
15896         using \| in one s command.
15897
15898 2003-09-16  Paul Eggert  <eggert@twinsun.com>
15899
15900         * lib/linebuffer.c (readlinebuffer): Return NULL immediately upon
15901         input error, instead of returning NULL the next time we are called
15902         (and therefore losing track of errno).
15903
15904 2003-09-16  Bruno Haible  <bruno@clisp.org>
15905
15906         * gnulib-tool (func_create_testdir): Warn about duplicated
15907         dependencies.
15908
15909 2003-09-15  Paul Eggert  <eggert@twinsun.com>
15910
15911         * modules/argmatch, modules/fatal, modules/obstack,
15912         modules/xalloc, modules/xgethostname: Sort dependencies by
15913         importance, not alphabetically.
15914
15915 2003-09-15  Paul Eggert  <eggert@twinsun.com>
15916
15917         * lib/getndelim2.c (getndelim2): Don't trash errno when a read
15918         fails, so that the caller gets the proper errno.
15919
15920         * lib/readutmp.c (read_utmp): Likewise.
15921         Check for fstat error.  Close stream and free storage
15922         when failing.
15923
15924 2003-09-14  Karl Berry  <karl@gnu.org>
15925
15926         * config/srclist.txt (strdup.c): disable for c89 changes.
15927
15928 2003-09-14  Jim Meyering  <jim@meyering.net>
15929
15930         * lib/getloadavg.c: Correct cpp indentation.
15931         * lib/strdup.c: Likewise.
15932         * lib/vasnprintf.c: Likewise.
15933
15934 2003-09-14  Bruno Haible  <bruno@clisp.org>
15935
15936         * modules/fwriteerror: New file.
15937         * MODULES.html.sh (func_all_modules): Add fwriteerror.
15938
15939 2003-09-14  Bruno Haible  <bruno@clisp.org>
15940
15941         * lib/fwriteerror.h: New file.
15942         * lib/fwriteerror.c: New file.
15943
15944 2003-09-12  Paul Eggert  <eggert@twinsun.com>
15945
15946         * modules/argmatch, modules/exitfail, modules/fatal, modules/obstack,
15947         modules/xgethostname, modules/xalloc: Depend on exit.
15948
15949 2003-09-12  Paul Eggert  <eggert@twinsun.com>
15950
15951         * m4/error.m4: Require AC_FUNC_STRERROR_R rather than invoking it.
15952
15953         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Require AC_AIX
15954         and AC_MINIX, too, so that their extensions are available.
15955
15956         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Remove.  All uses removed.
15957         This macro has been superseded by gl_BACKUPFILE.
15958
15959         More patches to assume C89 or better.
15960
15961         * m4/error.m4 (gl_ERROR): Don't check for vprintf.
15962
15963         * m4/check-decl.m4 (jm_CHECK_DECLS): Include <string.h>, <stdlib.h>
15964         unconditionally.
15965         * m4/closeout.m4 (gl_CLOSEOUT): Don't check for stdlib.h.
15966         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER):
15967         Include <string.h>, <stdlib.h> unconditionally.
15968         * m4/lstat.m4 (gl_PREREQ_LSTAT): Don't check for stdlib.h, free.
15969         * m4/readdir.m4 (GL_FUNC_READDIR): Don't check for string.h.
15970         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Don't check for standard C
15971         headers or for string.h.
15972         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Don't check for stdlib.h
15973         or strtoul.
15974
15975         * m4/mkstemp.m4 (jm_PREREQ_TEMPNAME): Do not require standard C
15976         headers.
15977         * m4/strdup.m4 (gl_PREREQ_STRDUP): Likewise.
15978         * m4/userspec.m4 (gl_USERSPEC): Likewise.
15979         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Likewise.
15980         * m4/xstrtod.m4 (gl_XSTRTOD): Likewise.
15981         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
15982         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't check for limits.h,
15983         memcpy, memset.
15984         (jm_FUNC_GNU_STRFTIME): Don't require standard C headers.
15985         * m4/strtod.m4 (gl_FUNC_STRTOD): Do not check for float.h.
15986         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Do not check for stdlib.h,
15987         strtol.
15988         * m4/strtol.m4 (gl_FUNC_STRTOL): Do not check for limits.h.
15989         * m4/userspec.m4 (gl_USERSPEC): Do not check for string.h.
15990         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Do not check for string.h, strtol,
15991         strtoul.
15992
15993 2003-09-12  Paul Eggert  <eggert@twinsun.com>
15994
15995         * lib/argmatch.c, fatal.c, xgethostname.c, xmalloc.c: Include exit.h.
15996         * lib/obstack.c [!defined _LIBC]: Likewise.
15997         * lib/argmatch.c (EXIT_FAILURE): Remove; now done by exit.h
15998         * lib/exitfail.c, fatal.c, xgethostname.c, xmalloc.c: Likewise.
15999         * lib/exitfail.c: Don't include stdlib.h; no longer needed.
16000
16001         More changes to assume C89 or better.
16002
16003         * lib/error.c (error_tail): Assume vprintf.
16004
16005         * lib/argmatch.c (getenv): Remove decl.
16006         * lib/progreloc.c (get_full_program_name): Define via prototype.
16007         * lib/setenv.c (clearenv): Likewise.
16008         * lib/stpncpy.c: Do not include <string.h> or <sys/types.h>; not
16009         needed.
16010         * lib/strdup.c: Include <stdlib.h>, <string.h> unconditionally.
16011         (malloc, memcpy): Remove decls.
16012         * lib/strftime.c (HAVE_LIMITS_H, STDC_HEADERS) [defined _LIBC]: Remove.
16013         (HAVE_MEMCPY) [defined emacs && !defined HAVE_BCOPY]: Remove.
16014         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
16015         (memcpy): Remove macro.
16016         (MEMCPY) [!defined COMPILE_WIDE]: Define to memcpy unconditionally.
16017         (__P): Remove.  All uses removed.
16018         (PTR): Remove.  All uses changed to void *.
16019         (CHAR_BIT, NULL): Remove.
16020         (spaces, zeros, memset_space, memset_zero)
16021         [!defined memset && !defined HAVE_MEMSET && !defined _LIBC]:
16022         Remove.
16023         (LOCALE_PARAM, LOCALE_PARAM_DECL): Remove.
16024         (memcpy_lowcase, memcpy_uppcase, tm_diff, iso_week_days):
16025         Define with prototype.
16026         Remove now-unnecessary prototype decl.
16027         (extra_args_spec): Assume ANSI C.  All uses changed.
16028         (extra_args_spec_iso): Remove.
16029         (my_strftime, emacs_strftimeu): Define via prototype.
16030         * lib/strtod.c: Include <float.h>, <stdlib.h>, <string.h>
16031         unconditionally.
16032         (DBL_MAX, DBL_MIN, HUGE_VAL, NULL): Remove decls.
16033         * lib/strtoimax.c: Include <stdlib.h> unconditionally.
16034         (strtoul, strtol): Remove decls.
16035         * lib/strtol.c (STDC_HEADERS, HAVE_LIMITS_H, NULL, ULONG_MAX,
16036         LONG_MAX): Remove.
16037         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
16038         (LOCALE_PARAM_DECL): Remove.  All uses changed to LOCALE_PARAM_PROTO.
16039         (LOCALE_PARAM_PROTO): New macro.
16040         (INTERNAL, INTERNAL1, WEAKNAME): Assume ANSI C, not K&R.
16041         (INTERNAL (strtol), strtol): Define with a prototype.
16042         (PARAMS): Remove.  All uses removed.
16043         * lib/tempname.c: Include <string.h> unconditionally.
16044         * lib/userspec.c: Include <stdlib.h>, <string.h> unconditionally.
16045         * lib/xgethostname.c (main): Define with a prototype.
16046         * lib/xmalloc.c: Include "xalloc.h" first, to check interface.
16047         Include <stdlib.h> unconditionally.
16048         (calloc, malloc, realloc, free): Remove decls.
16049         * lib/xstrtod.c: Include "xstrtod.h" first, to check interface.
16050         Include <stdlib.h> unconditionally.  Sort include file names.
16051         (strtod): Remove.
16052         (xstrtod): Define with a prototype.
16053         * lib/xstrtol.c: Include <stdlib.h>, <string.h> unconditionally.
16054         (strtol, strtoul): Remove decls.
16055
16056 2003-09-11  Paul Eggert  <eggert@twinsun.com>
16057
16058         More patches to assume C89 or better.
16059         * m4/strndup.m4 (gl_PREREQ_STRNDUP): Remove STDC_HEADERS check.
16060         * m4/strnlen.m4 (gl_PREREQ_STRNLEN): Don't check for memory.h,
16061         string.h, memchr, STDC_HEADERS.
16062
16063 2003-09-11  Paul Eggert  <eggert@twinsun.com>
16064
16065         * lib/strndup.c: Don't include <stdio.h>, <sys/types.h>.
16066         Include <stdlib.h>, <string.h> unconditionally.
16067         Remove now-unnecessary cast to char *.
16068         * lib/strnlen.c: Include <string.h> unconditionally.
16069         * lib/yesno.c (yesno): Define with a prototype.
16070
16071 2003-09-11  Bruno Haible  <bruno@clisp.org>
16072
16073         * config/srclist.txt (setenv.c, unsetenv.c): Disable for the moment.
16074
16075 2003-09-10  Jim Meyering  <jim@meyering.net>
16076
16077         * lib/error.c: Correct indentation of cpp directives.
16078
16079 2003-09-10  Bruno Haible  <bruno@clisp.org>
16080
16081         * m4/strcspn.m4 (gl_PREREQ_STRCSPN): Remove <string.h> check.
16082         * m4/strpbrk.m4 (gl_PREREQ_STRPBRK): Remove <string.h> check.
16083         * m4/strstr.m4 (gl_PREREQ_STRSTR): Remove <string.h> check.
16084         * m4/unicodeio.m4 (gl_UNICODEIO): Remove <string.h> check.
16085         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove
16086         <stdlib.h> and <string.h> checks.
16087         * m4/xreadlink.m4 (gl_XREADLINK): Remove <stdlib.h> check.
16088         * m4/yesno.m4 (gl_YESNO): Remove <stdlib.h> check.
16089
16090 2003-09-10  Bruno Haible  <bruno@clisp.org>
16091
16092         * lib/strcspn.c: Include <string.h> unconditionally.
16093         * lib/strpbrk.c: Include <string.h> unconditionally.
16094         * lib/strstr.c: Include <string.h> unconditionally.
16095         * lib/unicodeio.c: Include <string.h> unconditionally.
16096         * lib/setenv.c: Include <stdlib.h> and <string.h> unconditionally.
16097         * lib/unsetenv.c: Likewise.
16098         * lib/xreadlink.c: Include <stdlib.h> unconditionally.
16099         * lib/yesno.c: Include <stdlib.h> unconditionally.
16100         (rpmatch): Add prototype.
16101
16102 2003-09-09  Paul Eggert  <eggert@twinsun.com>
16103
16104         More patches to assume C89 or better.
16105         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Don't check for stdlib.h.
16106         * m4/getopt.m4 (gl_GETOPT): Don't check for string.h.
16107         * m4/getugroups.m4 (gl_GETUGROUPS): Do not check for standard C headers
16108         or for string.h.
16109         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Do not check for
16110         stdlib.h.
16111         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): Do not require standard
16112         C headers.
16113         * m4/hard-locale.m4 (gl_HARD_LOCALE): Do not check for stdlib.h,
16114         string.h.
16115         * m4/hash.m4 (gl_HASH): Do not check for stdlib.h, malloc, free.
16116         * m4/human.m4 (gl_HUMAN): Do not check for stdlib.h, string.h, getenv.
16117         * m4/idcache.m4 (gl_IDCACHE): Do not check for standard C headers,
16118         or for string.h.
16119         * m4/long-options.m4 (gl_LONG_OPTIONS): Do not check for stdlib.h.
16120         * m4/makepath.m4 (gl_MAKEPATH): Do not check for string.h or standard
16121         C headers.
16122         * m4/md5.m4 (gl_MD5): Don't check for limits.h, standard C headers,
16123         memcpy.
16124         * m4/sha.m4 (gl_SHA): Don't check for standard Cheaders, memcpy.
16125         * m4/memchr.m4 (jm_PREREQ_MEMCHR): Don't check for limits.h, stdlib.h.
16126         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): Don't check for string.h.
16127         * m4/memcoll.m4 (gl_MEMCOLL): Likewise.
16128         * m4/memrchr.c (gl_PREREQ_MEMRCHR): Don't check for limits.h.
16129         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): Don't check for stdlib.h,
16130         string.h, free.
16131         * m4/mktime.m4 (gl_PREREQ_MKTIME): Don't check for standard C headers.
16132         * m4/modechange.m4 (gl_MODECHANGE): Don't check for standard C headers.
16133         * m4/mountlist.m4 (gl_PREREQ_MOUNTLIST_EXTRA): Don't check for standard
16134         C headers, or for string.h.
16135         * m4/obstack.m4 (gl_OBSTACK): Don't check for stddefe.h, string.h.
16136         (gl_PREREQ_OBSTACK): Don't check for stdlib.h.
16137         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't check for standard C
16138         headers, memory.h, stdlib.h, string.h, strings.h.
16139         * m4/posixtm.m4 (gl_POSIXTM): Don't check for stdlib.h, string.h.
16140         * m4/posixver.m4 (gl_POSIXVER): Don't check for getenv.
16141         * m4/putenv.m4 (gl_PREREQ_PUTENV): Don't check for string.h, memcpy,
16142         strchr.
16143         * m4/readtokens.m4 (gl_READTOKENS): Don't check for standard C
16144         headers, memory.h, string.h.
16145         * m4/regex.m4 (jm_PREREQ_REGEX): Do not check for limits.h, string.h.
16146         * m4/rename.m4 (gl_PREREQ_RENAME): Do not check for stdlib.h, string.h,
16147         free.
16148         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Don't check for standard C
16149         headers.
16150         * m4/same.m4 (gl_SAME): Don't check for stdlib.h, string.h, free.
16151         * m4/save-cwd.m4 (gl_SAVE_CWD): Don't check for standard C headers.
16152         * m4/savedir.m4 (gl_SAVEDIR): Don't check for standard C headers.
16153         * m4/strchrnul.m4 (gl_PREREQ_STRCHRNUL): Don't check for string.h.
16154         * m4/xgetcwd.m4 (gl_XGETCWD): Don't check for stdlib.h.
16155
16156 2003-09-09  Paul Eggert  <eggert@twinsun.com>
16157
16158         More K&R removal.
16159
16160         * lib/acosl.c (main): Use a prototype.
16161         * lib/asinl.c, cosl.c, expl.c, frexpl.c, ldexpl.c, sinl.c,
16162         tanl.c: Likewise.
16163
16164         * lib/getloadavg.c (getloadavg, main): Define via prototypes.
16165
16166         * lib/getopt.h (struct option.name): Assume C89, and use 'const'.
16167         (getopt, etopt_long, getopt_long_only, _getopt_internal)
16168         [defined __GNU_LIBRARY__]: Assume C89, so we can always declare
16169         with a prototype.
16170         * lib/getopt.c (const): Remove macro.
16171         Include <string.h> unconditionally.
16172         (my_index): Remove; all uses changed to strchr.
16173         (strlen): Remove decl.
16174         (exchange): Remove forward decl; no longer needed.
16175         (exchange, _getopt_initialize, _getopt_internal, getopt, main):
16176         Define with prototype.
16177         * lib/getopt1.c (const): Remove macro.
16178         (getopt_long, getopt_long_only, main): Define with prototype.
16179
16180         * lib/getugroups.c: Include <string.h> unconditionally.
16181
16182         * lib/getusershell.c: Include <stdlib.h> unconditionally.
16183         (getusershell, setusershell, endusershell, readname, main):
16184         Define with prototypes.
16185
16186         * lib/group-member.c: Include group-member.h first.
16187         Include <stdlib.h> unconditionally.
16188
16189         * lib/hard-locale.c: Include hard-locale.h first.
16190         Include <stdlib.h>, <string.h> unconditionally.
16191
16192         * lib/hash.c (free, malloc): Remove decls.
16193         Include <stdlib.h> unconditionally.
16194
16195         * lib/human.c: Include <stdlib.h>, <string.h> unconditionally.
16196         (getenv): Do not declare.
16197
16198         * lib/idcache.c: Include <string.h> unconditionally.
16199
16200         * lib/long-options.c: Include long-options.h first, to test interface.
16201         Include <stdlib.h> unconditionally.
16202
16203         * lib/makepath.c: Include makepath.h first, to test interface.
16204         Include <stdlib.h> and <string.h> unconditionally.
16205
16206         * lib/linebuffer.c: Include <stdlib.h>.
16207         (free): Remove decl.
16208
16209         * lib/malloc.c: Include <stdlib.h>, for malloc; don't bother with
16210         stddef.h. rpl_malloc returns void *, not char *.
16211         * lib/realloc.c (rpl_realloc): Likewise.  Also, define with a
16212         prototype.
16213
16214         * lib/md5.h: Include <limits.h> unconditionally.
16215         (UINT_MAX_32_BITS): Don't worry about non-__STDC__ case.
16216         (__P): Remove; all uses removed.
16217         * lib/md5.c: Include "md5.h" first.
16218         (md5_init_ctx, md5_read_ctx, md5_finish_ctx, md5_stream,
16219         md5_buffer, md5_process_bytes, md5_process_block):
16220         Define with prototypes.
16221         * lib/sha.h (__P): Remove all uses.  (It wasn't defined??)
16222         * lib/sha.c: Include "sha.h" first.
16223         Include <stdlib.h>, <string.h> unconditionally.
16224
16225         * lib/memchr.c (__ptr_t): Remove; all uses changed to void *.
16226         * lib/memcmp.c (__ptr_t): Likewise.
16227         * lib/memrchr.c (__ptr_t): Likewise.
16228         * lib/memchr.c, memcmp.c, memcoll.c, memrchr.c:
16229         Include <string.h> unconditionally.
16230         * lib/memchr.c, memrchr.c: Include <limits.h> unconditionally.
16231         * lib/memchr.c: Include <stdlib.h> unconditionally.
16232         * lib/memchr.c (LONG_MAX): Remove.
16233         * lib/memrchr.c (LONG_MAX): Likewise.
16234         * lib/memchr.c (__memchr): Define via a prototype.
16235         * lib/memrchr.c (__memrchr): Likewise.
16236         * lib/memcmp.c (__P): Remove, and remove all uses.
16237         (memcmp_bytes, memcmp_common_alignment, memcmp_not_common_alignment):
16238         Remove forward decls; no longer needed.
16239         * lib/memcpy.c, memmove.c, memset.c: Include <stddef.h>.
16240         Use types required by C89 in prototype.
16241
16242         * lib/mkdir.c: Include <stdlib.h>, <string.h> unconditionally.
16243         * lib/savedir.c: Likewise.
16244         * lib/mkdir.c (free): Remove decl.
16245         * lib/rmdir.c (rmdir): Define with a prototype.
16246         * lib/savedir.c: Include savedir.h first, to test interface.
16247
16248         * lib/mktime.c (STDC_HEADERS): Remove.
16249         Include <stdlib.h>, <string.h> unconditionally.
16250
16251         * lib/modechange.c: Include <stdlib.h> unconditionally.
16252         (malloc): Remove decl.
16253
16254         * lib/mountlist.c: Include <stdlib.h>, <string.h> unconditionally.
16255         (free): Remove decl.
16256
16257         * lib/obstack.h (PTR_INT_TYPE) [!defined __PTRDIFF_TYPE__]:
16258         Define to ptrdiff_t, without bothering to check HAVE_STDDEF_H.
16259         (This type really should be intptr_t, but that's a C99ism.)
16260         (_obstack_memcpy): Remove: all uses changed to memcpy.
16261         Include <string.h> unconditionally.
16262         (struct obstack): Assume __STDC__ for types of members
16263         chunkfun, freefun, extra_arg.
16264         (_obstack_newchunk, _obstack_free, _obstack_begin, _obstack_begin_1,
16265         _obstack_memory_used, obstack_alloc_failed_handler, obstack_init,
16266         obstack_begin, obstack_specify_allocation,
16267         obstack_specify_allocation_with_arg, obstack_chunkfun,
16268         obstack_freefun, obstack_free) [! (defined __STDC__ && __STDC__)]:
16269         Remove unprototyped decls and the macros that use them.
16270         * lib/obstack.c (POINTER): Remove.  All uses changed to void *.
16271         (obstack_alloc_failed_handler, CALL_CHUNKFUN, CALL_FREEFUN,
16272         _obstack_begin, _obstack_begin_1, _obstack_allocated_p)
16273         (defined __STDC__ && __STDC__)]:
16274         Remove nonprototyped code.
16275         Include <stdlib.h> unconditionally.
16276         (_obstack_begin, _obstack_begin_1, _obstack_newchunk,
16277         _obstack_allocated_p, _obstack_free, obstack_free,
16278         _obstack_memory_used, print_and_abort):
16279         Define using prototypes.
16280         (obstack_1grow, obstack_1grow_fast, obstack_alloc, obstack_base,
16281         obstack_blank, obstack_blank_fast, obstack_copy, obstack_copy0,
16282         obstack_finish, obstack_grow, obstack_grow0, obstack_make_room,
16283         obstack_next_free, obstack_object_size, obstack_room) [0]:
16284         Remove unused, unprototyped code.
16285
16286         * lib/path-concat.c: Include <stdlib.h>, <string.h> unconditionally.
16287
16288         * lib/physmem.c (physmem_total, physmem_available, main): Define
16289         with prototypes.
16290
16291         * lib/posixtm.c: Include <stdlib.h>, <string.h> unconditionally.
16292         (main): Define with a prototype.
16293
16294         * lib/posixver.c (getenv): Remove decl.
16295
16296         * lib/putenv.c (malloc): Returns void *, not char *.
16297         Include <string.h> unconditionally.
16298         (strchr, memcpy, NULL): Do not define.
16299
16300         * lib/readtokens.c: Include readtokens.h first, to test interface.
16301         Include <stdlib.h>, <string.h> unconditionally.
16302         (init_tokenbuffer): Define with a prototype.
16303
16304         * lib/regex.c (PARAMS): Remove.  All uses removed.
16305         All uses of _RE_ARGS removed, too.
16306         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
16307         unconditionally.
16308         (bzero): Assume memset exists.
16309         (memcmp, memcpy, NULL): Remove.
16310         (SIGN_EXTEND_CHAR): Remove; all uses replaced by casts to signed
16311         char, or assignments to local vars of type signed char.
16312         (init_syntax_once, PREFIX(extract_number_and_incr),
16313         PREFIX(print_partial_compiled_pattern),
16314         PREFIX(print_compiled_pattern), PREFIX(print_double_string),
16315         convert_mbs_to_wcs, print_fastmap, re_set_syntax,
16316         PREFIX(regex_grow_registers), PREFIX(regex_compile),
16317         PREFIX(store_op1), PREFIX(store_op2), PREFIX(insert_op1),
16318         PREFIX(insert_op2), PREFIX(at_begline_loc_p),
16319         PREFIX(at_endline_loc_p), group_in_compile_stack, insert_space,
16320         wcs_compile_range, byte_compile_range, truncate_wchar,
16321         PREFIX(re_compile_fastmap), re_compile_fastmap, re_set_registers,
16322         re_search, re_search_2, PREFIX(re_search_2), re_match, re_match_2,
16323         count_mbs_length, wcs_re_match_2_internal,
16324         byte_re_match_2_internal, PREFIX(group_match_null_string_p),
16325         PREFIX(alt_match_null_string_p),
16326         PREFIX(common_op_match_null_string_p), PREFIX(bcmp_translate),
16327         re_compile_pattern, re_comp, re_exec, regcomp, regexec, regerror,
16328         regfree, PREFIX(extract_number)): Define with prototype.  Remove
16329         now-unnecessary declaration, if any.
16330         (byte_compile_range, PREFIX(regex_compile), re_comp, re_exec,
16331         regcomp, regexec):
16332         Remove now-unnecessary casts among pointer types.
16333         * lib/regex.h (_RE_ARGS): Remove.  All uses removed.
16334
16335         * lib/rename.c: Include <stdlib.h>, <string.h> unconditionally.
16336         (free): Remove decl.
16337
16338         * lib/rpmatch.c: Include <stdlib.h> unconditionally.
16339
16340         * lib/same.c: Include <stdlib.h>, <string.h> unconditionally.
16341         (free): Remove decl.
16342
16343         * lib/save-cwd.c: Include <stdlib.h> unconditionally.
16344         * lib/xgetcwd.c: Likewise.
16345
16346         * lib/stat.c: Include <stdlib.h>, <string.h> unconditionally.
16347         (free): Remove decl.
16348
16349         * lib/strchrnul.c (strchrnul): Define with a prototype.
16350         Fix bug: c_in was not converted to char before searching.
16351
16352         The following changes are not K&R related:
16353
16354         * lib/group-member.h: Include <sys/types.h>, so that this file is
16355         self-contained.
16356         * lib/makepath.h: Likewise.
16357
16358         * lib/getusershell.c (readname, default_index, line_size, readname):
16359         Use size_t, not int, for sizes.
16360         (readname): If the size overflows, report an error instead of
16361         looping forever.
16362
16363 2003-09-09  Paul Eggert  <eggert@twinsun.com>
16364
16365         * config/srclist.txt: Do not get getopt.h, getopt1.c, or regex.h from
16366         libc.
16367
16368 2003-09-09  Paul Eggert  <eggert@twinsun.com>
16369
16370         * README: New section: portability guidelines.
16371
16372 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
16373
16374         * m4/getndelim2.m4 (gl_PREREQ_GETNDELIM2): Assume stdlib.h per the
16375         C89 spec.
16376
16377 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
16378
16379         * lib/getndelim2.c: Assume stdlib.h per the C89 spec.
16380
16381 2003-09-08  Paul Eggert  <eggert@twinsun.com>
16382
16383         Assume C89 or better; remove K&R cruft.
16384         A few of these changes were first proposed by Derek Robert Price
16385         in <http://mail.gnu.org/archive/html/bug-gnulib/2003-07/msg00105.html>.
16386
16387         * lib/addext.c: Include <string.h> unconditionally.
16388         * lib/backupfile.c: Include <string.h>, <stdlib.h> unconditionally.
16389         Don't declare getenv or malloc.
16390
16391         * lib/alloca.c: Include <string.h>, <stdlib.h> unconditionally.
16392         (POINTER_TYPE, pointer): Remove; all uses changed to void *.
16393         (NULL): Remove.
16394         (find_stack_direction, alloca): Use prototypes.
16395
16396         * lib/atexit.c (atexit): Define using a prototype.
16397
16398         * lib/basename.c, dirname.c, stripslash.c:
16399         Include <string.h> unconditionally.
16400
16401         * lib/bcopy.c: Include <stddef.h>.
16402         (bcopy): Define with prototype, using 'const' and 'void' and 'size_t'.
16403
16404         * lib/canon-host.c: Include <stdlib.h>, <string.h> unconditionally.
16405
16406         * lib/error.h (error, error_at_line, error_print_progname)
16407         [! (defined (__STDC__) && __STDC__)]: Remove decls.
16408         * lib/error.c: Include error.h first, to check interface.
16409         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
16410         (VA_START): Remove; all uses changeed to va_start.
16411         (exit, strerror): Remove decls.
16412         (error_print_progname): Prototype uncondionally.
16413         Don't include <errno.h>; no longer needed.
16414         (private_strerror): Remove.
16415         (error_tail): Always define.
16416         (error, error_at_line): Assume C89 or better; always use prototypes.
16417         * lib/fatal.c: Include "fatal.h" first, to test interface.
16418         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
16419         (VA_START): Remove; all uses changed to va_start.
16420         [! (HAVE_VPRINTF || HAVE_DOPRNT || _LIBC)]: Remove support for
16421         this case.
16422         (exit): Remove decl.
16423         (fatal): Prototype unconditionally.  Assume va_start works.
16424         Abort at end, to pacify gcc.
16425
16426         * lib/euidaccess.c (main): Define with a prototype.
16427
16428         * lib/exclude.c: Include <stdlib.h>, <string.h> unconditionally.
16429
16430         * lib/exitfail.c: Include <stdlib.h> unconditionally.
16431
16432         * lib/fnmatch_.h (__P): Remove.  All uses changed to assume
16433         prototypes.
16434         * lib/fnmatch.c: Include fnmatch.h first, to test interface.
16435         Include <string.h>, <stddef.h>, <stdlib.h> unconditionally.
16436         (getenv): Remove decl.
16437         (fnmatch): Define using a prototype.
16438         * lib/fnmatch_loop.c (FCT): Remove forward decl; no longer needed.
16439         (FCT): Define using a prototype.
16440
16441         * lib/getdate.y: Include <stdlib.h>, <string.h> unconditionally.
16442
16443         * lib/gethostname.c: Include <stddef.h>.
16444         (gethostname): Define with prototype.  Length is size_t, not int.
16445
16446 2003-09-08  Paul Eggert  <eggert@twinsun.com>
16447
16448         Assume C89 or better; remove K&R cruft.
16449         * m4/alloca.m4 (gl_PREREQ_ALLOCA): Don't check for stdlib.h, string.h.
16450         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for stdlib.h,
16451         string.h, getenv, malloc.
16452         * m4/dirname.m4 (gl_DIRNAME): Don't check for string.h or C standard
16453         headers.
16454         * m4/canon-host.m4 (gl_CANON_HOST): Don't check for string.h, stdlib.h.
16455         * m4/error.m4 (jm_PREREQ_ERROR): Do not require STDC headers, and
16456         do not check for strerror.
16457         * m4/exclude.m4: Do not check for stdlib.h, string.h, strings.h.
16458         * m4/exitfail.m4 (gl_EXITFAIL): Do not check for stdlib.h.
16459         * m4/fatal.m4 (gl_FATAL): Do not require STDC headers, and
16460         do not check for doprnt or vprintf.
16461         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH_EXTRA): Remove.  All uses removed.
16462         * m4/getdate.m4 (gl_GETDATE): Don't check for stdlib.h or string.h.
16463
16464 2003-09-08  Paul Eggert  <eggert@twinsun.com>
16465
16466         * lib/getversion.c: Remove; was migrated to backupfile.c in 1997.
16467         getversion.c should have been removed then, but was accidentally
16468         preserved.
16469
16470         * lib/utime.c [!HAVE_UTIMES_NULL]: Include <sys/stat.h>, <fcntl.h>.
16471         (utime_null): Fix typo: 'st' was sometimes called 'sb'.
16472
16473 2003-09-08  Karl Berry  <karl@gnu.org>
16474
16475         * config/config.sub, config.guess, srclistvars.sh: update from savannah
16476                 config, forget about prep.
16477
16478         * config/depcomp, missing: update from automake.
16479
16480 2003-09-07  Paul Eggert  <eggert@twinsun.com>
16481
16482         * modules/time_r: Depend on 'restrict'.  Fix from Simon Josefsson in
16483         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00028.html>.
16484
16485 2003-09-07  Paul Eggert  <eggert@twinsun.com>
16486
16487         * lib/time_r.c (gmtime_r, localtime_r): Fix silly typo: missing arg to
16488         copy_tm_result.  Bug reported by Simon Josefsson in
16489         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00028.html>.
16490
16491 2003-09-06  Paul Eggert  <eggert@twinsun.com>
16492
16493         * m4/time_r.m4: New file.
16494         * m4/mktime.m4 (gl_PREREQ_MKTIME): Remove check for limits.h.
16495         * m4/timegm.m4 (gl_FUNC_TIMEGM): Assume that timegm is buggy if mktime
16496         is. Check for timegm declaration.
16497         (gl_PREREQ_TIMEGM): Require gl_FUNC_MKTIME.
16498         Do not check for gmtime_r.
16499         Replace mktime if __mktime_internal does not exist and if mktime
16500         hasn't been replaced already.
16501
16502 2003-09-06  Paul Eggert  <eggert@twinsun.com>
16503
16504         * lib/time_r.c, lib/time_r.h: New files.
16505
16506         * lib/mktime.c (my_mktime_localtime_r): Remove; all uses changed to
16507         __localtime_r.
16508         (__localtime_r) [!defined _LIBC]: New macro.  Include <time_r.h>.
16509         (__mktime_internal) [!defined _LIBC]: Now extern, not static.
16510
16511         * lib/strftime.c (my_strftime_gmtime_r): Remove; all uses changed to
16512         __gmtime_r.
16513         (my_strftime_localtime_r): Remove; all uses changed to __localtime_r.
16514         (__gtime_r, __localtime_r) [!HAVE_TM_GMTOFF]: New macros.
16515         Include <time_r.h>.
16516
16517         * lib/timegm.c: Switch to glibc implementation, with the following
16518         changes:
16519         [defined HAVE_CONFIG_H]: Include <config.h>.
16520         [!defined _LIBC]: Include "timegm.h" rather than <time.h>.
16521         (__mktime_internal) [!defined _LIBC]: New decl.
16522         (__gmtime_r) [!defined _LIBC]: New macro and function.
16523         (timegm): Use a prototype, since gnulib assumes C89.
16524         Do not bother declaring tmp to be const, as it's not really usefu.
16525         * lib/timegm.h: Hoist "#include <time.h>" out of #ifdef.
16526         (timegm): Declare only if HAVE_DECL_TIMEGM.
16527
16528 2003-09-06  Paul Eggert  <eggert@twinsun.com>
16529
16530         * MODULES.html.sh (func_all_modules): Add time_r.
16531         * modules/time_r: New file.
16532         * modules/mktime, modules/strftime, modules/timegm: Depend on time_r.
16533         * modules/timegm: Depend on mktime.  Change maintainer to "all, glibc".
16534
16535 2003-09-03  Paul Eggert  <eggert@twinsun.com>
16536
16537         * lib/human.c (human_readable): Fix bug that rounded 10501 to 10k.
16538         Bug reported by Lute Kamstra in
16539         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00003.html>.
16540
16541         * lib/getdate.y (relative_time_table): Use tDAY_UNIT for "tomorrow",
16542         "yesterday", "today", and "now" rather than tMINUTE_UNIT.  Of
16543         course with correspondingly smaller numbers for tomorrow and
16544         yesterday.  From Tadayoshi Funaba.  Originally installed into
16545         sh-utils on 1999-08-07, but the patch got lost (I guess during the
16546         coreutils merge?).
16547
16548 2003-08-31  Simon Josefsson  <jas@extundo.com>
16549
16550         * modules/timegm: New file.
16551         * MODULES.html.sh (func_all_modules): Add timegm.
16552
16553 2003-08-31  Simon Josefsson  <jas@extundo.com>
16554
16555         * m4/timegm.m4: New file.
16556
16557 2003-08-31  Simon Josefsson  <jas@extundo.com>
16558
16559         * lib/timegm.h: New file.
16560         * lib/timegm.c: New file.  Based on
16561         wget-1.8.2/src/http.c:mktime_from_utc.
16562
16563 2003-08-31  Karl Berry  <karl@gnu.org>
16564
16565         * lib/argp.h: update from libc.
16566
16567 2003-08-28  Bruno Haible  <bruno@clisp.org>
16568
16569         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Remove AC_DEFINE of fnmatch here.
16570         This avoids havoc on compilers for which '#define fnmatch rpl_fnmatch'
16571         followed by '#define fnmatch fnmatch_posix' gives an error.
16572
16573 2003-08-28  Bruno Haible  <bruno@clisp.org>
16574
16575         * lib/binary-io.h: Undefine O_BINARY before defining it. This avoids a
16576         warning on QNX, which defines O_BINARY to 000000.
16577
16578 2003-08-27  Jim Meyering  <jim@meyering.net>
16579
16580         * m4/mkstemp.m4: Require that the system mkstemp be able to create
16581         70 temporary files, not just 30.  Tru64 V4.0F's mkstemp function
16582         would fail after 32.  Reported by Danny Levinson.  Details here:
16583         http://mail.gnu.org/archive/html/bug-coreutils/2003-08/msg00124.html
16584
16585 2003-08-24  Bruno Haible  <bruno@clisp.org>
16586
16587         * lib/binary-io.h: Include <stdio.h>, to avoid a compilation error when
16588         MSVC7 <stdio.h> is included later.
16589
16590 2003-08-22  Simon Josefsson  <jas@extundo.com>
16591
16592         * modules/strndup (Makefile.am): Add strndup.h to lib_SOURCES.
16593
16594 2003-08-20  Karl Berry  <karl@gnu.org>
16595
16596         * m4/lib-ld.m4: serial 1003 from gettext, no changes besides serial.
16597
16598 2003-08-20  Bruno Haible  <bruno@clisp.org>
16599
16600         * modules/progname: New file.
16601         * MODULES.html.sh (func_all_modules): Add progname.
16602
16603 2003-08-20  Bruno Haible  <bruno@clisp.org>
16604
16605         * lib/progname.h: New file, from GNU gettext.
16606         * lib/progname.c: New file, from GNU gettext.
16607         * lib/progreloc.c: New file, from GNU gettext.
16608
16609 2003-08-19  Jim Meyering  <jim@meyering.net>
16610
16611         * m4/lib-ld.m4: Revert yesterday's change, per Bruno's request here:
16612         http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00155.html
16613
16614 2003-08-19  Bruno Haible  <bruno@clisp.org>
16615
16616         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Don't check for <string.h> any
16617         more.
16618
16619 2003-08-19  Bruno Haible  <bruno@clisp.org>
16620
16621         * lib/xstrdup.c: Assume <string.h> exists.
16622
16623 2003-08-18  Paul Eggert  <eggert@twinsun.com>
16624
16625         * modules/stdbool: Add BUILT_SOURCES.  Prefer $@ to target name
16626         in makefile rules.
16627
16628 2003-08-18  Jim Meyering  <jim@meyering.net>
16629
16630         * m4/getloadavg.m4: Use [\t ], not [ \t] (where \t is a literal TAB).
16631         * m4/lib-ld.m4: Likewise.
16632
16633 2003-08-18  Jim Meyering  <jim@meyering.net>
16634
16635         * lib/setenv.h: Indent nested cpp directive.
16636         * lib/vasnprintf.c: Remove trailing blanks.
16637
16638 2003-08-17  Simon Josefsson  <jas@extundo.com>
16639
16640         * modules/xstrndup: New file.
16641         * MODULES.html.sh (func_all_modules): Add xstrndup.
16642
16643 2003-08-17  Simon Josefsson  <jas@extundo.com>
16644
16645         * modules/argp: Fix autoconf macro name. Add more dependencies.
16646
16647 2003-08-17  Simon Josefsson  <jas@extundo.com>
16648
16649         * m4/xstrndup.m4: New file.
16650
16651 2003-08-17  Simon Josefsson  <jas@extundo.com>
16652
16653         * m4/argp.m4: New file.
16654
16655 2003-08-17  Simon Josefsson  <jas@extundo.com>
16656             Bruno Haible  <bruno@clisp.org>
16657
16658         * lib/xstrndup.h: New file.
16659         * lib/xstrndup.c: New file.
16660
16661 2003-08-17  Bruno Haible  <bruno@clisp.org>
16662
16663         * modules/strndup (Files, Include): Add lib/strndup.h.
16664
16665 2003-08-17  Bruno Haible  <bruno@clisp.org>
16666
16667         * modules/euidaccess (Files): Add lib/euidaccess.h.
16668
16669 2003-08-17  Bruno Haible  <bruno@clisp.org>
16670
16671         * lib/strndup.h: New file.
16672
16673 2003-08-17  Bruno Haible  <bruno@clisp.org>
16674
16675         * gnulib-tool (func_create_testdir): Handle gl_USE_SYSTEM_EXTENSIONS
16676         like AC_GNU_SOURCE.
16677         * modules/extensions (configure.ac): Comment out the invocation of
16678         gl_USE_SYSTEM_EXTENSIONS.
16679
16680 2003-08-16  Paul Eggert  <eggert@twinsun.com>
16681
16682         Merges from coreutils, etc.
16683         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Insert ':' to prevent a syntax
16684         error in gl_FUNC_MATCH.  This fixes a bug I introduced on 2003-05-28.
16685         * m4/readlink.m4 (gl_PREREQ_READLINK): Renamed from gl_PREREQ_READLINE,
16686         fixing a typo.
16687         * m4/host-os.m4 (UTILS_HOST_OS): Add GNU/NetBSD, GNU/FreeBSD.
16688         * m4/hash.m4 (gl_HASH): Use AM_STDBOOL_H, not AC_HEADER_STDBOOL.
16689
16690 2003-08-16  Paul Eggert  <eggert@twinsun.com>
16691
16692         Document merge from coreutils.
16693         * modules/alloca: Append $(ALLOCA_H) to BUILT_SOURCES.
16694         * modules/fnmatch: Append $(FNMATCH_H) to BUILT_SOURCES.
16695         * modules/utime: Add m4/utimes-null.m4.
16696
16697 2003-08-16  Paul Eggert  <eggert@twinsun.com>
16698
16699         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Do not normalize white
16700         space, undoing this 2003-08-12 change:
16701         <http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00080.html>
16702
16703 2003-08-16  Paul Eggert  <eggert@twinsun.com>
16704
16705         * config/srclist.txt: Get regex.h, strdup.c, strtoll.c,
16706         strtoul.c from libc, undoing this 2003-08-12 change:
16707         <http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00080.html>
16708
16709 2003-08-16  Jim Meyering  <jim@meyering.net>
16710
16711         Merges from coreutils.
16712         * m4/readdir.m4 (GL_FUNC_READDIR): Change name to have GL_ (not jm_)
16713         prefix.  Adjust cache variables similarly.  Create 500 rather than
16714         just 300 files, to exercise bug on Darwin6.5, too.
16715         * m4/perl.m4 (jm_PERL): Use $am_missing_run, not undefined
16716         $missing_dir.
16717         * m4/jm-winsz1.m4: Require AC_SYS_POSIX_TERMIOS, not
16718         AM_SYS_POSIX_TERMIOS.
16719         Reported by mkc@mathdogs.com.
16720         Also change use of $am_cv_sys_posix_termios
16721         to $ac_cv_sys_posix_termios.  Reported by Andreas Schwab.
16722         * m4/getgroups.m4 (jm_FUNC_GETGROUPS): Rewrite to use AC_FUNC_GETGROUPS
16723         and (if needed) to call AC_LIBOBJ and to set GETGROUPS_LIB.
16724         * m4/fsusage.m4 [__GLIBC__]: GNU libc's statvfs stats each mount point
16725         in /proc/mounts until it finds one with matching device number.  This
16726         is unnecessary when the FILE argument *is* a mount point.  No stat call
16727         is necessary in that case.  So, disable the statvfs-testing code on
16728         systems with GNU libc.  Reported by Andrei Gaponenko via Tim Waugh
16729         as RedHat bug# 84846.
16730         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
16731         to 1MB, so as not to render systems with no stack size limit (e.g.,
16732         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
16733         Include <unistd.h>.  On some systems,
16734         it is required for the definition of _SC_PAGESIZE.
16735
16736 2003-08-16  Jim Meyering  <jim@meyering.net>
16737
16738         Merge from coreutils.
16739         * lib/xstrtoimax.c: #else #if -> #elif.
16740         * lib/xstrtoumax.c: Likewise.
16741
16742 2003-08-16  Jim Meyering  <jim@meyering.net>
16743
16744         * m4/utimes.m4 (gl_FUNC_UTIMES): New file.
16745         * m4/utimes.m4: Removed.
16746         * m4/utimes-null.m4: Renamed from utimes.m4.
16747
16748         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
16749         to 1MB, so as not to render systems with no stack size limit (e.g.,
16750         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
16751         Include <unistd.h>.  On some systems,
16752         it is required for the definition of _SC_PAGESIZE.
16753
16754 2003-08-16  Jim Meyering  <jim@meyering.net>
16755         and Paul Eggert  <eggert@cs.ucla.edu>
16756
16757         Merges from coreutils, etc.
16758
16759         * m4/jm-macros.m4 (AC_LANG_SOURCE(C)): New macro, undefine, then define
16760         using the latest version from cvs.  This avoids problems with #line
16761         directives using a vendor (Sun) compiler.
16762         (jm_MACROS): Bump prerequisite from 2.52g to 2.57.
16763         Don't set GETGROUPS_LIB here; now it's
16764         done via getgroups.m4's wrapper function.
16765         AC_SUBST OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, and MAN here,
16766         rather than just in sh-util/configure.in, so that the
16767         now-shared-by-fileutils-and-textutils lib/Makefile.am are all the
16768         same.
16769         Use AC_CONFIG_LIBOBJ_DIR(lib) to tell the new
16770         AC_FUNC_GETLOADAVG where to find getloadavg.c.
16771         Require AC_FUNC_FTW, gt_INTTYPES_PRI, gl_CLOCK_TIME,
16772         UTILS_SYS_OPEN_MAX, GL_FUNC_GETCWD_PATH_MAX, GL_FUNC_READDIR,
16773         gl_FSUSAGE, gl_MOUNTLIST, AC_FUNC_CANONICALIZE_FILE_NAME.
16774         Remove code that is now done by the newly-required macros.
16775         Append $(EXEEXT) to DF_PROG.
16776         AC_LIBOBJ fchdir-stub if fchdir doesn't exist; similarly for fchown.
16777         Do not invoke or require the following here,
16778         since prereq.m4 or some gnulib .m4 now does this for us:
16779         gl_REGEX, UTILS_FUNC_MKDIR_TRAILING_SLASH, jm_BISON, gl_FUNC_MKTIME,
16780         jm_FUNC_LSTAT, jm_FUNC_STAT, jm_FUNC_REALLOC, jm_FUNC_MALLOC,
16781         jm_FUNC_NANOSLEEP, jm_FUNC_READDIR, jm_FUNC_MEMCMP,
16782         jm_FUNC_GLIBC_UNLOCKED_IO, AC_FUNC_FNMATCH_GNU, jm_FUNC_PUTENV,
16783         jm_AC_PREREQ_XSTRTOUMAX, jm_AC_PREREQ_XSTRTOIMAX,
16784         AC_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, AC_FUNC_VPRINTF,
16785         vb_FUNC_RENAME, UTILS_FUNC_MKSTEP, jm_FUNC_UTIME, AM_FUNC_GETLINE,
16786         AC_FUNC_OBSTACK.
16787         Do not replace the following functions, as this is now the job
16788         of some gnulib .m4: strcasecmp, strncasecmp, dup2, gethostname,
16789         getusershell, sig2str, strcspn, stpcpy, strstr, strtol, strtoul
16790         strpbrk, euidaccess, memcmp, rmdir, rpmatch, strndup, strverscmp,
16791         atexit getpass, strdup, getpagesize.
16792         Replace 'raise'.
16793         Do not check for the following functions, as this is now the job
16794         of some gnulib .m4: bcopy, canonicalize_file_name, fchdir, ftime,
16795         getcwd, getmntinfo, resolvepath.  But check for sysctl, setreuid,
16796         setregid.
16797         (jm_CHECK_ALL_HEADERS): Do not check for fenv.h.
16798         Check for sys/sysctl.h.
16799         (jm_CHECK_ALL_TYPES): Do not require AC_STRUCT_TM, AC_STRUCT_TIMEZONE,
16800         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Invoke gt_TYPE_SSIZE_T instead
16801         of checking for ssize_t ourselves.
16802
16803         * m4/prereq.m4 (jm_PREREQ): Don't invoke macros; AC_REQUIRE them.
16804         Require every macro that gnulib/modules/* suggests for us.
16805         (jm_PREREQ_ADDEXT): New macro.
16806         (jm_PREREQ_STAT): Check for 'struct statfs' on Ultrix 4.4.
16807         Require jm_AC_TYPE_LONG_LONG instead of invoking it.
16808
16809         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): New macro.
16810         (gl_PHYSMEM): Use it.
16811         Also check for `table' function.
16812         Check for new headers and functions.
16813         Add check for sys/sysmp.h.
16814         With suggestions from Kaveh Ghazi.
16815         Ignore headers that are present but cannot be compiled.  This
16816         avoids spurious warnings on Solaris 9 sparc with Forte Developer 7
16817         C 5.4.
16818
16819 2003-08-15  Paul Eggert  <eggert@twinsun.com>
16820
16821         Document merge from coreutils.
16822         * modules/userspec: Depend on posixver.
16823         * modules/strftime: Depend on tzset.
16824
16825 2003-08-15  Paul Eggert  <eggert@twinsun.com>
16826
16827         * lib/config.charset, ref-add.sin, ref-del.sin: Use three spaces,
16828         rather than tab, after '#' in shell-script copyright notices.
16829         Suggested by Bruno Haible.
16830
16831 2003-08-15  Paul Eggert  <eggert@twinsun.com>
16832
16833         * config/srclist-update: Use three spaces, rather than tab, after '#'
16834         in shell-script copyright notices.  Suggested by Bruno Haible.
16835         Remove unnecessary parenthesization in regular expression.
16836
16837 2003-08-15  Jim Meyering  <jim@meyering.net>
16838
16839         Merge from coreutils.
16840         * lib/xgethostname.c: Include <stdlib.h>.
16841         (xghostname): Don't exit for anything other than memory-related
16842         failure; just return NULL.
16843         * lib/userspec.c: Include "posixver.h".
16844         (parse_user_spec): Accept `.' as a separator only
16845         in pre-POSIX-200112 mode.
16846         * lib/strtoimax.c: Use #elif rather than #else #if.
16847         * lib/strftime.c (my_strftime) [!_LIBC && HAVE_TZNAME && HAVE_TZSET]:
16848         Remove function, now that we can rely on a working tzset function.
16849         [!_LIBC]: Ensure that the required autoconf test has been run.
16850         [!defined _NL_CURRENT && HAVE_STRFTIME]:
16851         Use underlying_strftime for %r.
16852         * lib/sha.c: Merge in some clean-up and optimization changes from
16853         glibc.
16854         * lib/sha.c (sha_stream) [BLOCKSIZE]: Move definition to top of file.
16855         Ensure that it is a multiple of 64.
16856         Rearrange loop exit tests so as to avoid performing an
16857         additional fread after encountering an error or EOF.
16858         * lib/realloc.c: Update copyright date.
16859
16860 2003-08-15  Jim Meyering  <jim@meyering.net>
16861         and Paul Eggert  <eggert@twinsun.com>
16862
16863         Merge from coreutils.
16864         * lib/readutmp.h (HAVE_UTMPX_H): Undef if struct utmp has the ut_exit
16865         member but strut utmpx does not.  Needed for AIX 4.3.3.
16866         (UT_EXIT_E_TERMINATION, UT_EXIT_E_EXIT): Define.
16867
16868 2003-08-15  Jim Meyering  <jim@meyering.net>
16869         and Paul Eggert  <eggert@cs.ucla.edu>
16870
16871         Merges from coreutils, etc.
16872         * m4/strftime.m4 (_jm_STRFTIME_PREREQS):
16873         Require gl_FUNC_TZSET_CLOBBER.
16874         * m4/readutmp.m4 (gl_READUTMP): Check for ut_exit.ut_exit,
16875         ut_exit.e_exit, ut_exit.ut_termination, and ut_exit.e_termination
16876         members.
16877
16878 2003-08-14  Paul Eggert  <eggert@twinsun.com>
16879
16880         Help the merge from coreutils.
16881         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): New macro.
16882         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use it.
16883         * m4/tzset.m4: Use it too.
16884
16885 2003-08-14  Paul Eggert  <eggert@twinsun.com>
16886
16887         * modules/tzset: New file.
16888
16889 2003-08-14  Jim Meyering  <jim@meyering.net>
16890
16891         Merges from coreutils.
16892         * modules/fnmatch: Use the `$(FNMATCH_H)' notation for AC_REPLACED
16893         variable names, rather than @FNMATCH_H@.
16894         * modules/alloca: Likewise for $(ALLOCA_H).
16895
16896         * modules/fnmatch (fnmatch.h): Use `$@' in the commands, in place of
16897         the three copies of the literal target, `fnmatch.h'.
16898         * modules/alloca (alloca.h): Likewise.
16899
16900 2003-08-14  Jim Meyering  <jim@meyering.net>
16901
16902         Merge from coreutils.
16903         * m4/tzset.m4: New file.
16904         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Move the
16905         MOUNTED_VMOUNT test to precede the MOUNTED_GETMNTENT1 tests, since
16906         otherwise, AIX 5.1 systems would end up using the latter.
16907         MOUNTED_GETMNTENT1 support is inadequate on such systems: 1) detecting
16908         whether a file system is remote doesn't work  2) the MOUNTED_VMOUNT
16909         code reports the HOSTNAME:/MOUNT_POINT, while the MOUNTED_GETMNTENT1
16910         code reports merely /MOUNT_POINT.  Reported by Mike Jetzer.
16911
16912 2003-08-14  Jim Meyering  <jim@meyering.net>
16913
16914         Merge from coreutils.
16915         * lib/obstack.h: Whitespace changes.
16916         * lib/mountlist.c: Remove anachronistic casts of xmalloc, xrealloc,
16917         and xcalloc return values.
16918         (read_filesystem_list) [MOUNTED_GETFSSTAT]:
16919         Use MNT_NOWAIT, rather than MNT_WAIT.  Otherwise, `df DIR' could
16920         hang on OSF/1 5.1 for DIR on both local and remote file systems.
16921         Reported by (and fix confirmed by) Nelson H. F. Beebe.
16922         (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
16923         error from mntctl.
16924         Use mntctl's return value to drive the entry-processing loop, since
16925         we can't rely on the value of the vmt_length member in the last
16926         entry.  On some systems doing so could result in exhausting
16927         virtual memory.  Based in part on a patch from Mike Jetzer.
16928
16929 2003-08-14  Jim Meyering  <jim@meyering.net>
16930         and Paul Eggert  <eggert@twinsun.com>
16931
16932         Merges from coreutils, plus other fixes.
16933         * lib/physmem.c: Merge in portability changes from gcc/libiberty
16934         to support AIX, IRIX, Tru64, and Windows.  See the ChangeLog there
16935         for credits and details.  Thanks to Kaveh Ghazi for helping
16936         to keep these files in sync.
16937         (ARRAY_SIZE): Define it.
16938         (physmem_total, physmem_available): Add comments. From Kaveh Ghazi.
16939         * lib/memcasecmp.c: Remove unnecessary parentheses after 'defined'.
16940         (memcasecmp): Don't assume size_t fits in unsigned int.
16941         Remove casts and duplicate code.
16942         * lib/md5.c: Include <string.h> and <stdlib.h> unconditionally.
16943         (memcpy): Remove definition.
16944         Merge in some clean-up and optimization changes from glibc.
16945         [BLOCKSIZE]: Move definition to top of file.
16946         Ensure that it is a multiple of 64.
16947         Rearrange loop exit tests so as to avoid performing an
16948         additional fread after encountering an error or EOF.
16949         * lib/md5.h (md5_uintptr): Define.
16950         * lib/makepath.c (CLEANUP_CWD): Report an error if we failed to
16951         return to the initial working directory.  Preserve errno
16952         for caller.
16953         * lib/idcache.c: Include "xalloc.h".
16954         (xmalloc, xrealloc): Remove decls.
16955         (getuser): Remove casts no longer required in C89.
16956         * lib/human.c: Include stdio.h, for sprintf.
16957         * lib/group-member.c: Include "xalloc.h".
16958         (xmalloc, xrealloc): Remove decls.
16959         (get_group_info): Remove casts no longer required in C89.
16960         * lib/getusershell.c (readname): Remove casts no longer required in
16961         C89.
16962         * lib/gettimeofday.c (rpl_gmtime, rpl_tzset): New functions.
16963         * lib/getline.c: Whitespace fix, from coreutils.
16964
16965 2003-08-13  Paul Eggert  <eggert@twinsun.com>
16966
16967         * m4/exclude.m4 (gl_EXCLUDE): Require AC_C_INLINE, AC_HEADER_STDC.
16968         Check for isascii.
16969
16970         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
16971         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
16972         Undo previous (whitespace-only) change.
16973
16974 2003-08-13  Paul Eggert  <eggert@twinsun.com>
16975
16976         * lib/exclude.c: Include <ctype.h>
16977         (IN_CTYPE_DOMAIN): New macro.
16978         (is_space): New fn.
16979         (add_exclude_file): If LINE_END is a space, ignore trailing spaces
16980         and empty lines.
16981
16982         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
16983         Undo previous (whitespace-only) change.
16984
16985 2003-08-13  Paul Eggert  <eggert@twinsun.com>
16986
16987         * config/srclist-update: Change update back to the old behavior,
16988         leaving whitespace alone.  Use one 'sed' command rather than a
16989         pipeline.
16990         (fixlicense): Now a variable, not a function.
16991         (remove_trailing_blanks): Remove.
16992         (fixfile): Don't invoke unexpand or cat, or remove trailing blanks.
16993         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
16994         Undo previous (whitespace-only) change.
16995
16996 2003-08-12  Paul Eggert  <eggert@twinsun.com>
16997
16998         Merge from coreutils.
16999         * modules/euidaccess: Add lib_SOURCES, include for new
17000         file euidaccess.h
17001
17002 2003-08-12  Paul Eggert  <eggert@twinsun.com>
17003
17004         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
17005         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
17006         Normalize leading white space and remove trailing white space.
17007
17008         Merge from coreutils
17009         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Check for euidaccess decl.
17010
17011         * m4/lib-ld.m4, lib-link.m4, lib-prefix.m4: Regenerate from gettext
17012         0.12.1.  These files are now being upgraded automatically by
17013         ../config/srclist-update.
17014
17015 2003-08-12  Paul Eggert  <eggert@twinsun.com>
17016
17017         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
17018         Normalize leading white space and remove trailing white space.
17019         * lib/ref-add.sin, ref-del.sin: Use '#' before empty line in copyright
17020         notice, as per ../config/srclist-update.
17021
17022         Merge from coreutils.
17023         * lib/euidaccess.h: New file.
17024         * lib/euidaccess.c: Include it.
17025         * lib/.cppi-disable: Add printf-args.h, printf-parse.h, stdbool_.h,
17026         vasnprintf.h, vasprintf.h.  Remove strdup.c, gettext.h.
17027         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Normalize white space.
17028
17029 2003-08-12  Paul Eggert  <eggert@twinsun.com>
17030
17031         * config/srclist-update: Add copyright notice.
17032         (remove_id_lines, remove_trailing_blanks): New constants.
17033         (fixfile): Use them to normalize spacing a bit in copied files.
17034         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
17035         Normalize leading white space and remove trailing white space.
17036
17037         * config/texinfo.tex: Sync with texinfo.
17038
17039         * config/srclist.txt: Don't get regex.h, strdup.c, strtoll.c,
17040         strtoul.c from libc, to merge coreutils whitespace changes.
17041
17042         * config/srclist.txt: Get the following m4 files from gettext:
17043         codeset.m4, gettext.m4, glibc21.m4, iconv.m4, intdiv0.m4,
17044         inttypes-pri.m4, lcmessage.m4, lib-ld.m4, lib-link.m4, lib-prefix.m4,
17045         longdouble.m4, nls.m4, po.m4, progtest.m4, signed.m4, wchar_t.m4,
17046         wint_t.m4.
17047
17048 2003-08-12  Karl Berry  <karl@gnu.org>
17049
17050         * config/srclist.txt: can't sync vasnprintf.c any more, changes have
17051         been made.
17052
17053 2003-08-11  Paul Eggert  <eggert@twinsun.com>
17054
17055         * modules/gnu-source, m4/gnu-source.m4:
17056         Remove; we're assuming Autoconf 2.54 or later now.
17057         Suggested by Bruno Haible.
17058         * MODULES.html.sh (func_all_modules): Remove gnu-source.
17059
17060 2003-08-11  Bruno Haible  <bruno@clisp.org>
17061
17062         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Also check for wcslen.
17063
17064 2003-08-11  Bruno Haible  <bruno@clisp.org>
17065
17066         * lib/vasnprintf.c (local_wcslen): New function, for Solaris 2.5.1.
17067         (vasnprintf): Use it instead of wcslen.
17068
17069 2003-08-11  Bruno Haible  <bruno@clisp.org>
17070
17071         * lib/stdbool_.h (_Bool): Undo last change; instead use a negative enum
17072         value to ensure that _Bool promotes to int. Use #define for _Bool when
17073         using the Solaris C compiler. Adds comments suggested by Paul Eggert.
17074
17075 2003-08-10  Karl Berry  <karl@gnu.org>
17076
17077         * lib/regex.h: update from libc (whitespace fix).
17078
17079 2003-08-09  Paul Eggert  <eggert@twinsun.com>
17080
17081         Merge some files from coreutils.  These changes were
17082         originally made by Jim Meyering.
17083         * lib/acl.c: Include <sys/types.h> before <sys/stat.h>;
17084         many older Unixes require this.
17085         * lib/alloca.c (alloca): Remove cast to argument of free;
17086         no longer needed in C89.
17087         * lib/alloca_.h, regex.h: Fix white space to match
17088         what GNU indent does.
17089
17090 2003-08-09  Paul Eggert  <eggert@twinsun.com>
17091
17092         * m4/regex.m4 (jm_INCLUDED_REGEX): Change "\201" to "\371";
17093         apparently Emacs's Unicode mode got confused before my 2003-08-05
17094         checkin.
17095
17096 2003-08-08  Paul Eggert  <eggert@twinsun.com>
17097
17098         * m4/extensions.m4: New file.
17099         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC):
17100         Require gl_USE_SYSTEM_EXTENSIONS.
17101         * m4/unlocked-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO):
17102         Require gl_USE_SYSTEM_EXTENSIONS rather than AC_GNU_SOURCE.
17103
17104 2003-08-08  Paul Eggert  <eggert@twinsun.com>
17105
17106         * MODULES.html.sh (func_all_modules): Add extensions, gnu-source.
17107         * modules/extensions, modules/gnu-source: New files.
17108         * modules/timespec, modules/unlocked-io: Depend on extensions.
17109
17110 2003-08-07 Paul Eggert  <eggert@twinsun.com>
17111
17112         * modules/restrict: New file.
17113         * MODULES.html.sh (func_all_modules): Add restrict.
17114         * modules/regex: Depend on restrict.
17115
17116 2003-08-07  Paul Eggert  <eggert@twinsun.com>
17117
17118         * m4/restrict.m4: New file.
17119         * m4/regex.m4 (jm_PREREQ_REGEX): Add gl_C_RESTRICT.
17120
17121 2003-08-07  Bruno Haible  <bruno@clisp.org>
17122
17123         * modules/getndelim2 (Makefile.am): Add the files to EXTRA_DIST, not
17124         lib_SOURCES, because getndelim2.m4 now uses AC_LIBOBJ(getndelim2).
17125
17126 2003-08-07  Bruno Haible  <bruno@clisp.org>
17127
17128         * m4/getndelim2.m4 (gl_GETNDELIM2): Use AC_LIBOBJ(getndelim2). This
17129         makes the module 'getndelim2' compatible with the module 'getline'.
17130
17131 2003-08-05  Paul Eggert  <eggert@twinsun.com>
17132
17133         * m4/regex.m4 (jm_INCLUDED_REGEX): Replace a single non-ASCII
17134         byte with "\201" to avoid glitches when editing that source file
17135         with multi-gnome-terminal.
17136
17137 2003-08-05  Paul Eggert  <eggert@twinsun.com>
17138
17139         * lib/bumpalloc.h: Remove.
17140
17141 2003-08-05  Paul Eggert  <eggert@twinsun.com>
17142
17143         * MODULES.html.sh (func_all_modules): Remove bumpalloc.
17144         * modules/bumpalloc: Remove.
17145
17146 2003-08-04  Paul Eggert  <eggert@twinsun.com>
17147
17148         * lib/getloadavg.c: Change copyright notice and spacing to conform to
17149         GNU coding style.
17150
17151         Merge from coreutils.
17152         * lib/error.c [!USE_IN_LIBIO]: Omit this case; assume USE_IN_LIBIO is
17153         1. From glibc.
17154         * lib/getdate.y (date): Also accept dates like May-23-2003; suggestion
17155         from Karl Berry, implemented by Jim Meyering.
17156         * lib/getgroups.c: Include "xalloc.h" instead of declaring xalloc fns;
17157         from Dmitry V. Levin.
17158         Remove anachronistic cast of xrealloc.
17159         * lib/fnmatch_.h (__const): Remove.  Use 'const'.
17160         * lib/fnmatch_loop.c (NEW_PATTERN): Cast alloca return value to proper
17161         type. Otherwise, it wouldn't compile with at least /bin/cc on
17162         ymp-cray-unicos9.0.2.X.
17163         Combine two mostly-identical uses of alloca into one.
17164         Thanks to the Cray-Cyber project for access to a Cray Y-MP.
17165
17166 2003-08-04  Dave Love <d.love@dl.ac.uk>
17167
17168         [From Emacs.]
17169
17170         * lib/getloadavg.c: Check `__unix' as well as `unix'.  Use #ifdef, not
17171         #if.  Check HAVE_LIBKSTAT as well as LOAD_AVE_TYPE.  Check
17172         F_SETFD, not FD_SETFD.  Use HAVE_STRUCT_NLIST_N_UN_N_NAME, not
17173         obsolete NLIST_NAME_UNION.
17174         [__GNU__]: Undef BSD and FSCALE.
17175         [!NLIST_STRUCT]: Remove conditional definition of NLIST_STRUCT.
17176
17177 2003-08-03  Paul Eggert  <eggert@twinsun.com>
17178
17179         * lib/stdbool_.h (_Bool): Make it signed char, instead of
17180         an enum type, so that it's guaranteed to promote to int.  See:
17181         <http://mail.gnu.org/archive/html/bug-gnulib/2003-07/msg00124.html>
17182
17183 2003-08-03  Karl Berry  <karl@gnu.org>
17184
17185         * config/depcomp: update from automake.
17186
17187 2003-07-31  Paul Eggert  <eggert@twinsun.com>
17188
17189         * lib/strerror.c: Include config.h, limits.h.  Declare sprintf.
17190         (strerror): Don't assume that a printable int fits in 14 bytes.
17191
17192 2003-07-31  Bruno Haible  <bruno@clisp.org>
17193
17194         * modules/getpass-gnu: New file.
17195         * MODULES.html.sh (func_all_modules): Add getpass-gnu.
17196
17197 2003-07-31  Bruno Haible  <bruno@clisp.org>
17198
17199         * m4/getpass.m4 (gl_FUNC_GETPASS_GNU): New macro.
17200
17201 2003-07-24  Karl Berry  <karl@gnu.org>
17202
17203         * config/missing: update from automake.
17204
17205 2003-07-24  Derek Robert Price  <derek@ximbiot.com>
17206             Bruno Haible  <bruno@clisp.org>
17207
17208         * lib/getline.h (getline, getdelim): Change return type to ssize_t.
17209         * lib/getline.c (getline, getdelim): Likewise.
17210         Remove _GNU_SOURCE define; now it's defined in config.h through
17211         m4/getline.m4.
17212
17213 2003-07-23  Karl Berry  <karl@gnu.org>
17214
17215         * config/config.sub: update from prep.
17216
17217 2003-07-22  Paul Eggert  <eggert@twinsun.com>
17218
17219         * modules/xalloc (Depends-on): Add exitfail.
17220         * modules/xmemcoll: Likewise.
17221
17222 2003-07-22  Paul Eggert  <eggert@twinsun.com>
17223
17224         * lib/xalloc.h (XCALLOC, XREALLOC, CCLONE): Fix under- and
17225         over-parenthesization in macros.
17226
17227         Sync with coreutils.
17228
17229         * lib/xalloc.h (XMALLOC, XCALLOC, XREALLOC): Remove casts not
17230         required by C99.
17231
17232         Use `exit_failure' for xalloc and xmemcoll instead of their own
17233         private exit-failure variables.
17234         * lib/xalloc.h (xalloc_exit_failure): Remove.
17235         * lib/xmalloc.c: Likewise.  Include exitfail.h.
17236         (xalloc_die): Use exit_failure instead of xalloc_exit_failure.
17237         * lib/xmemcoll.h (xmemcoll_exit_failure): Remove.
17238         * lib/xmemcoll.c: Likewise.  Include exitfail.h.
17239         (xmemcoll): Use exit_failure instead of xalloc_exit_failure.
17240
17241 2003-07-20  Jim Meyering  <jim@meyering.net>
17242
17243         * modules/closeout (Depends-on): Add exitfail.
17244         Suggestion from Bruno Haible.
17245
17246 2003-07-19  Karl Berry  <karl@gnu.org>
17247
17248         * config/config.sub: update from prep.
17249
17250 2003-07-18  Paul Eggert  <eggert@twinsun.com>
17251
17252         * lib/closeout.h (close_stdout_set_status, close_stdout_status):
17253         Remove.
17254         * lib/closeout.c: Likewise.  Include "closeout.h" right after config.h,
17255         to test that it can stand by itself.  Include "exitfail.h".
17256         Clients should set exit_failure instead.
17257         (EXIT_FAILURE): Remove; no longer needed.  Do not include <stdlib.h>.
17258
17259 2003-07-18  Bruno Haible  <bruno@clisp.org>
17260
17261         * modules/getndelim2: New file.
17262         * modules/getline: Share files with module getndelim2.
17263         * modules/getnline: Depend on getndelim2 instead of sharing files with
17264         it. Add getnline.c to lib_SOURCES.
17265         * MODULES.html.sh (func_all_modules): Add getndelim2.
17266
17267 2003-07-18  Bruno Haible  <bruno@clisp.org>
17268
17269         * m4/getndelim2.m4: New file.
17270         * m4/getline.m4 (AM_FUNC_GETLINE): Add AC_LIBOBJ of getndelim2.c and
17271         invoke gl_PREREQ_GETNDELIM2.
17272         (gl_PREREQ_GETLINE): Drop AC_HEADER_STDC, now done by
17273         gl_PREREQ_GETNDELIM2.
17274         * m4/getnline.m4 (gl_GETNLINE): Drop AC_HEADER_STDC, now done by
17275         gl_GETNDELIM2.
17276
17277 2003-07-18  Bruno Haible  <bruno@clisp.org>
17278
17279         * lib/getndelim2.h: New file.
17280         * lib/getndelim2.c: Make into a module of its own. Include config.h,
17281         getndelim2.h.
17282         (getndelim2): Make non-static. Change return type to ssize_t.
17283         * lib/getline.h: Change argument names.
17284         * lib/getline.c: Include getndelim2.h instead of getndelim2.c.
17285         * lib/getnline.c: Include getndelim2.h.
17286
17287 2003-07-18  Andreas Schwab  <schwab@suse.de>
17288
17289         * lib/memcoll.c (memcoll) [!HAVE_STRCOLL]: Clear errno.
17290
17291 2003-07-17  Karl Berry  <karl@gnu.org>
17292
17293         * config/config.sub: update from prep.
17294
17295 2003-07-17  Bruno Haible  <bruno@clisp.org>
17296
17297         * modules/getnline: New file.
17298         * modules/getline: Add lib/getndelim2.c to source file list.
17299         * MODULES.html.sh (func_all_modules): Add getnline.
17300
17301 2003-07-17  Bruno Haible  <bruno@clisp.org>
17302
17303         * m4/getnline.m4: New file.
17304
17305 2003-07-17  Bruno Haible  <bruno@clisp.org>
17306
17307         * m4/Makefile.am.in: Remove file.
17308         * m4/Makefile.am: Remove file.
17309         * m4/Makefile.in: Remove file.
17310
17311 2003-07-17  Bruno Haible  <bruno@clisp.org>
17312
17313         * lib/getnline.h: New file.
17314         * lib/getnline.c: New file.
17315         * lib/getndelim2.c: New file, extracted from getline.c.
17316         (getndelim2): Renamed from getdelim2, with added nmax argument.
17317         * lib/getline.c: Include getndelim2.c.
17318         (getdelim2): Moved out to getndelim2.c.
17319         (getline, getdelim): Update.
17320
17321 2003-07-17  Bruno Haible  <bruno@clisp.org>
17322
17323         * lib/Makefile.am: Remove file.
17324         * lib/Makefile.in: Remove file.
17325
17326 2003-07-17  Bruno Haible  <bruno@clisp.org>
17327
17328         * configure.in: Remove file.
17329         * Makefile.in: Remove file.
17330
17331 2003-07-17  Bruno Haible  <bruno@clisp.org>
17332
17333         * MODULES.html.sh: Put the </BODY> right before </HTML>.
17334
17335 2003-07-16  Karl Berry  <karl@gnu.org>
17336
17337         * config/srclist-update: was running fixlicense twice, which caused
17338                 texinfo.tex to be nullified for some reason.  Simplify,
17339                 $gplsrc is no longer needed as far as I can see?
17340
17341 2003-07-16  Jim Meyering  <jim@meyering.net>
17342
17343         * modules/save-cwd: Depend on xgetcwd.  From Derek Price.
17344
17345 2003-07-15  Paul Eggert  <eggert@twinsun.com>
17346
17347         * config/srclist.txt: Get the following files from gettext-runtime/intl
17348         instead: config.charset, localcharset.c, localcharset.h, ref-add.sin,
17349         ref-del.sin.  From Bruno Haible.
17350         * config/srclist-update (fixfile): Change grep pattern again, since the
17351         previous fix didn't work (there was another trailing $).  Use
17352         '[$]' to escape the $s.
17353
17354 2003-07-15  Karl Berry  <karl@gnu.org>
17355
17356         * lib/vasnprintf.c: update from gettext.
17357
17358 2003-07-15  Karl Berry  <karl@gnu.org>
17359
17360         * config/srclist-update (fixfile): Change grep pattern, since 'Id'
17361         gets expanded when surrounded by '$'.
17362
17363 2003-07-15  Jim Meyering  <jim@meyering.net>
17364
17365         * modules/save-cwd: Don't depend on error.  From Derek Price.
17366
17367 2003-07-15  Jim Meyering  <jim@meyering.net>
17368
17369         * lib/makepath.c (make_path): Enclose diagnostic in _(...).
17370
17371 2003-07-14  Simon Josefsson  <jas@extundo.com>
17372
17373         * modules/mempcpy: New file.
17374         * MODULES.html.sh (func_all_modules): Add mempcpy.
17375
17376 2003-07-14  Simon Josefsson  <jas@extundo.com>
17377
17378         * m4/mempcpy.m4: New file.
17379
17380 2003-07-14  Simon Josefsson  <jas@extundo.com>
17381
17382         * lib/mempcpy.h: New file.
17383         * lib/mempcpy.c: New file.
17384
17385 2003-07-14  Paul Eggert  <eggert@twinsun.com>
17386
17387         * modules/getdate, modules/posixtm: Depend on mktime.
17388
17389 2003-07-14  Paul Eggert  <eggert@twinsun.com>
17390
17391         * lib/ceill.c, expl.c, floorl.c, frexpl.c, ldexpl.c, mathl.h,
17392         sincosl.c, sqrtl.c, trigl.c, trigl.h, poll.c, poll_.h, mkstemp.c,
17393         unicodeio.c, unicodeio.h, unlocked-io.h:
17394         Switch from LGPL to GPL.
17395
17396 2003-07-14  Paul Eggert  <eggert@twinsun.com>
17397
17398         * lib/asnprintf.c, asprintf.c, config.charset, gettext.h,
17399         localcharset.c, localcharset.h, mkdtemp.c, printf-args.c,
17400         printf-args.h, printf-parse.c, printf-parse.h, ref-add.sin,
17401         ref-del.sin, setenv.c, unsetenv.c, vasnprintf.c, vasnprintf.h,
17402         vasprintf.c, vasprintf.h: Regenerate.  These files are now being
17403         updated automatically by ../config/srclist-update.  This changes
17404         their license from LPGL to GPL.
17405
17406 2003-07-14  Paul Eggert  <eggert@twinsun.com>
17407
17408         * config/srclist.txt: Add tons more gettext files.  $GETTEXT is now
17409         assumed to refer to the root of the most recent stable gettext version.
17410         * config/srclistvars.sh: Add defaults for eggert.
17411         * config/srclist-update: Convert LGPL to GPL in shell scripts, too.
17412         Match "This program" as well as "The program".  This is needed
17413         for gettext.
17414
17415 2003-07-14  Jim Meyering  <jim@meyering.net>
17416
17417         Don't emit diagnostics.  Let callers do that.
17418         * lib/save-cwd.c: Don't include "error.h".
17419         (save_cwd): Don't call error.  Ensure that errno is valid
17420         when returning nonzero.
17421
17422         * lib/save-cwd.h (restore_cwd): Update prototype.
17423         * lib/save-cwd.c (restore_cwd): Remove two parameters.
17424         Simplify.  Don't call error upon failure.  Let callers do that.
17425         (save_cwd): Mention that Irix 5.3 has the same problem as SunOS 4
17426         when auditing is enabled.  But don't bother updating the #if.
17427
17428 2003-07-11  Alexandre Duret-Lutz  <adl@gnu.org>
17429
17430         * lib/obstack.h (__INT_TO_PTR): Revert change of 2003-03-13;
17431         it breaks C++ compilation.
17432         [!__GNUC__ || !__STDC__] (obstack_finish): Cast result to void*.
17433
17434 2003-07-10  Simon Josefsson  <jas@extundo.com>
17435
17436         * modules/strchrnul (Makefile.am): Add strchrnul.h.
17437
17438 2003-07-10  Jim Meyering  <jim@meyering.net>
17439
17440         * m4/clock_time.m4: Remove trailing blank.
17441         * m4/intmax_t.m4: Likewise.
17442
17443 2003-07-10  Jim Meyering  <jim@meyering.net>
17444
17445         * lib/vasnprintf.c: Remove trailing blanks.
17446         Make cpp indentation consistent.
17447
17448 2003-07-09  Paul Eggert  <eggert@twinsun.com>
17449
17450         * lib/alloca_.h, euidaccess.c, getpass.c, memrchr.c, obstack.h,
17451         posixver.c, strftime.c, strnlen.c, strverscmp.c:
17452         Switch from LGPL to GPL.
17453
17454 2003-07-09  Paul Eggert  <eggert@twinsun.com>
17455
17456         * config/srclist.txt: Sort sublists.  Add
17457         $LIBCSRC/sysdeps/generic/strtoul.c. In comments, add more libc files
17458         that differ from gnulib for one reason or another; we'd like this list
17459         to be smaller but for now let's document what we have.
17460
17461 2003-07-08  Paul Eggert  <eggert@twinsun.com>
17462
17463         * config/srclist-update: Port to POSIX 1003.1-2001 hosts by avoiding
17464         the use of GNU extensions.  Change "x=`eval echo $x`" to the shorter
17465         and sweeter "eval x=$x".
17466         * config/srclist.txt: Get lib/argp* from glibc.
17467
17468 2003-07-07  Paul Eggert  <eggert@twinsun.com>
17469
17470         * lib/mktime.c: Fix some boundary cases and remove need for floating
17471         point.
17472
17473         Issue a compile-time diagnostic if time_t is floating point, or if
17474         two's complement arithmetic is not in effect, or if arithmetic
17475         right shift does not propagate the sign.  These assumptions were
17476         all in the original code but they weren't checked.
17477
17478         (TIME_T_MIDPOINT, verify): New macros.
17479         (__isleap): Remove; it has integer overflow problems.
17480         (leapyear): New function, without those problems.
17481         (ydhms_tm_diff): Remove; splitting into two parts.
17482         (ydhms_diff): New function, containing the arithmetic part of
17483         the old ydhms_tm_diff function.  Issue a compile-time
17484         diagnostic if we are not using C99 integer division.
17485         Avoid casts when possible.
17486         (guess_time_tm): New function, containing the checking part of
17487         the old ydhms_tm_diff function.  Return the new value, rather than
17488         the difference between it and the old.  Accept a new argument T
17489         so that *T specifies the old value.  Check for overflow in the result.
17490
17491         (__mktime_internal): Use a time_t offset, not a long int offset.
17492         This undoes the 2003-06-04 change, which is no longer needed now
17493         that we have better overflow checking.
17494         (localtime_offset): Likewise.
17495
17496         (__mktime_internal): Avoid harmful overflow on hosts where time_t
17497         and long are 64-bit but int is only 32-bit.
17498         (ydhms_diff): Use long int to store year1 and yday1.
17499         Issue a compile-time diagnostic if long int is not wide enough.
17500
17501         (__mktime_internal): Use long int to store adjusted year and yday.
17502         Use plain C rather than preprocessor commands, if that doesn't
17503         affect efficiency.
17504         Check for overflow (and try to repair) after each probe
17505         rather than checking only at the very end.  This avoids some bugs
17506         (e.g., southern hemisphere, behind GMT, and GMT offset at minimum time
17507         does not equal GMT offset at maximum time).
17508         Use integer to check for overflow rather than floating point; this
17509         is more portable to non-IEEE hosts, and is a tad faster.
17510         When we detect that we are oscillating between two values,
17511         don't check whether tm_isdst has the requested value, since
17512         we already know the answer.  When tm_isdst has the wrong value,
17513         use a different heuristic to find the right one, based on the
17514         extreme values actually observed in practice in tz2003a,
17515         rather than the (overly optimistic) "previous 3 calendar quarters".
17516
17517         (not_equal_tm, print_tm, check_result): Use "const T" rather than
17518         "T const" to accommodate glibc style.
17519         (check_result): Use less-confusing report format.  "long" -> "long int.
17520         (main): Likewise.
17521         Don't loop if the iteration overflows time_t.
17522         Allow a negative step in the iteration.
17523
17524 2003-07-06  Karl Berry  <karl@gnu.org>
17525
17526         * config/depcomp: update from automake.
17527         * config/config.sub: update from prep.
17528
17529 2003-07-03  Karl Berry  <karl@gnu.org>
17530
17531         * config/config.guess: update from prep.
17532
17533 2003-07-01  Paul Eggert  <eggert@twinsun.com>
17534
17535         * m4/xreadlink.m4 (gl_XREADLINK): Don't check for sys/types.h, since
17536         xreadlink.c now includes it unconditionally.
17537
17538 2003-07-01  Paul Eggert  <eggert@twinsun.com>
17539
17540         * lib/xreadlink.c: Include <sys/types.h> unconditionally, instead of
17541         having it depend on HAVE_SYS_TYPES_H.
17542
17543 2003-07-01  Bruno Haible  <bruno@clisp.org>
17544
17545         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Don't include <unistd.h>.
17546         <sys/types.h> should be sufficient.
17547         Reported by Paul Eggert.
17548
17549 2003-06-26  Karl Berry  <karl@gnu.org>
17550
17551         * config/depcomp: update from automake.
17552
17553 2003-06-26  Bruno Haible  <bruno@clisp.org>
17554
17555         * modules/human: Depend on module stdbool.
17556
17557 2003-06-25  Bruno Haible  <bruno@clisp.org>
17558
17559         * modules/readlink: New file.
17560         * modules/xreadlink: Depend on it.
17561         * MODULES.html.sh (func_all_modules): Add readlink.
17562
17563 2003-06-25  Bruno Haible  <bruno@clisp.org>
17564
17565         * m4/readlink.m4: New file.
17566
17567 2003-06-25  Bruno Haible  <bruno@clisp.org>
17568
17569         * lib/readlink.c: New file.
17570
17571 2003-06-22  Karl Berry  <karl@gnu.org>
17572
17573         * config/srclist.txt: update mkinstalldirs from automake.
17574         * config/mkinstalldirs: update.
17575
17576 2003-06-22  Bruno Haible  <bruno@clisp.org>
17577
17578         Portability to mingw32.
17579         * m4/ssize_t.m4: New file, from GNU gettext.
17580         * m4/safe-read.m4 (gl_PREREQ_SAFE_READ): Require gt_TYPE_SSIZE_T.
17581         * m4/xreadlink.m4 (gl_XREADLINK): Require gt_TYPE_SSIZE_T.
17582
17583 2003-06-22  Bruno Haible  <bruno@clisp.org>
17584
17585         * modules/safe-read: Add m4/ssize_t.m4.
17586         * modules/xreadlink: Add m4/ssize_t.m4.
17587
17588 2003-06-20  Bruno Haible  <bruno@clisp.org>
17589
17590         Assume C89, so PARAMS isn't needed.
17591         * lib/unicodeio.h (PARAMS): Remove.
17592         * lib/unicodeio.c: Don't use PARAMS.
17593
17594 2003-06-18  Karl Berry  <karl@gnu.org>
17595
17596         * config/config.{guess,sub}: update from prep.
17597
17598 2003-06-18  Jim Meyering  <jim@meyering.net>
17599
17600         Merge changes from coreutils.
17601         * lib/readutmp.c: Include <string.h> and <stdlib.h> unconditionally.
17602         Remove explicit declarations of xmalloc and realloc.
17603         Include xalloc.h.
17604         (read_utmp): Remove anachronistic cast of xmalloc.
17605
17606 2003-06-17  Paul Eggert  <eggert@twinsun.com>
17607
17608         Assume C89, so PARAMS isn't needed.
17609         * lib/backupfile.h (PARAMS): Remove.  All uses removed.
17610         * lib/closeout.h, lib/dirname.h, lib/filemode.h, lib/fsusage.h,
17611         lib/getdate.h, lib/getline.h, lib/group-member.h, lib/hard-locale.h,
17612         lib/hash.h, lib/linebuffer.h, lib/long-options.h, lib/makepath.h,
17613         lib/memcasecmp.h, lib/memcoll.h, lib/modechange.h, lib/mountlist.h,
17614         lib/path-concat.h, lib/physmem.h, lib/posixtm.h, lib/quote.h,
17615         lib/readutmp.h, lib/same.h, lib/save-cwd.h, lib/savedir.h,
17616         lib/stdio-safer.h, lib/strtoimax.c, lib/strverscmp.h,
17617         lib/unistd-safer.h, lib/version-etc.h, lib/xalloc.h, lib/xreadlink.h,
17618         lib/xstrtod.h, lib/xstrtol.h: Likewise.
17619         * lib/filemode.h, lib/hard-locale.h, lib/memcoll.h, lib/modechange.h,
17620         lib/physmem.h, lib/same.h, lib/strverscmp.h: Do not include config.h;
17621         no longer needed. Anyway, config.h should always be included before any
17622         other file.
17623
17624 2003-06-11  Simon Josefsson  <jas@extundo.com>
17625
17626         * modules/sysexits: New file.
17627         * MODULES.html.sh (func_all_modules): Add sysexits.
17628
17629 2003-06-11  Simon Josefsson  <jas@extundo.com>
17630
17631         * lib/sysexit_.h: New file.
17632
17633 2003-06-11  Derek Price  <derek@ximbiot.com>
17634
17635         * lib/stat.c [LSTAT]: Compile/use slash_aware_lstat only if it is
17636         necessary.
17637
17638 2003-06-11  Bruno Haible  <bruno@clisp.org>
17639
17640         * m4/sysexits.m4: New file.
17641
17642 2003-06-10  Simon Josefsson <jas@extundo.com>
17643
17644         * lib/argp.h: New file, from glibc.
17645         * lib/argp-ba.c: New file, from glibc.
17646         * lib/argp-eexst.c: New file, from glibc.
17647         * lib/argp-fmtstream.c: New file, from glibc.
17648         * lib/argp-fmtstream.h: New file, from glibc.
17649         * lib/argp-fs-xinl.c: New file, from glibc.
17650         * lib/argp-help.c: New file, from glibc.
17651         * lib/argp-namefrob.h: New file, from glibc.
17652         * lib/argp-parse.c: New file, from glibc.
17653         * lib/argp-pv.c: New file, from glibc.
17654         * lib/argp-pvh.c: New file, from glibc.
17655         * lib/argp-xinl.c: New file, from glibc.
17656
17657 2003-06-10  Simon Josefsson  <jas@extundo.com>
17658
17659         * modules/strchrnul: New file.
17660
17661 2003-06-10  Simon Josefsson  <jas@extundo.com>
17662
17663         * modules/argp: New file.
17664
17665 2003-06-10  Simon Josefsson  <jas@extundo.com>
17666
17667         * m4/strchrnul.m4: New file.
17668
17669 2003-06-10  Simon Josefsson  <jas@extundo.com>
17670
17671         * lib/strchrnul.h: New file.
17672         * lib/strchrnul.c: New file.
17673
17674 2003-06-10  Bruno Haible  <bruno@clisp.org>
17675
17676         * MODULES.html.sh (func_all_modules): Add strchrnul and argp.
17677
17678 2003-06-07  Karl Berry  <karl@gnu.org>
17679
17680         * config/config.{guess,sub}: update from prep.
17681
17682 2003-06-07  Jim Meyering  <jim@meyering.net>
17683
17684         * modules/strtod: Use $(...) notation, not @...@ for
17685         AC_REPLACE'd variables.
17686         * modules/localcharset: Likewise.
17687
17688 2003-06-07  Jim Meyering  <jim@meyering.net>
17689
17690         * lib/readtokens.h: Put `Free Software Foundation, Inc.'
17691         in place of my name in the copyright comment.
17692         Remove definition and uses of __P.
17693
17694         From coreutils.
17695         * lib/stat.c: Don't declare xmalloc explicitly.
17696         Instead, include "xalloc.h".
17697         * lib/readtokens.c (readtokens): Remove anachronistic casts of xmalloc,
17698         xrealloc, and xcalloc return values.
17699         * lib/xgetcwd.c (xgetcwd): Include "xgetcwd.h".
17700         Improve comment.
17701         * lib/xgetcwd.h: Remove definition/uses of PARAMS.
17702
17703 2003-06-07  Bruno Haible  <bruno@clisp.org>
17704
17705         * modules/poll (Makefile.am): Use explicit creation rule for poll.h, to
17706         avoid AC_CONFIG_LINKS.
17707         * modules/fnmatch (Makefile.am): Use explicit creation rule for
17708         fnmatch.h, to avoid AC_CONFIG_LINKS.
17709         * modules/alloca (Makefile.am): Make creation of alloca.h Ctrl-C safe.
17710
17711 2003-06-07  Bruno Haible  <bruno@clisp.org>
17712
17713         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH, gl_FUNC_FNMATCH_POSIX,
17714         gl_FUNC_FNMATCH_GNU): Set FNMATCH_H instead of invoking
17715         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
17716         directory.
17717         * m4/poll.m4 (gl_FUNC_POLL): Set POLL_H instead of invoking
17718         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
17719         directory.
17720
17721 2003-06-06  Jim Meyering  <jim@meyering.net>
17722
17723         Merge from coreutils.
17724         * lib/same.c: (same_name): Declare *_basename locals to be `const'.
17725         Consolidate declarations and initializations of *_base* locals.
17726
17727         Merge from coreutils.
17728         This avoids a core dump on systems without GNU putenv,
17729         when running `env -u SOME_ALREADY_UNSET_VARIABLE'.
17730         * lib/putenv.c (__set_errno, LOCK, UNLOCK): Define.
17731         (unsetenv): New static function, from GNU libc.
17732         (rpl_putenv): Use it.
17733
17734         * lib/modechange.c: Remove trailing blanks.
17735
17736         Merge from coreutils.
17737         * lib/fsusage.c: Remove declaration of statfs.
17738         It conflicted with one from OSF/1 5.1 in <sys/mount.h>.
17739
17740         * lib/posixtm.c: Include <stdbool.h> unconditionally.
17741
17742 2003-06-06  Jim Meyering  <jim@meyering.net>
17743
17744         * lib/stdbool_.h: Renamed from stdbool.h.in.
17745
17746 2003-06-06  Jim Meyering  <jim@meyering.net>
17747             Bruno Haible  <bruno@clisp.org>
17748
17749         * modules/stdbool: Reflect renaming: stdbool.h.in -> stdbool_.h.
17750         Adjust Makefile.am snippet not to redirect directly to target.
17751         Use $(STDBOOL_H) notation, not @STDBOOL_H@ for AC_REPLACE'd variables.
17752
17753 2003-06-05  Paul Eggert  <eggert@twinsun.com>
17754
17755         * lib/mktime.c (__mktime_internal): When resolving a tm_isdst
17756         mismatch, look in future quarters as well as past.  This fixes a
17757         bug when processing fall-backwards gaps immediately after a long
17758         period of daylight-saving time.
17759
17760         * lib/mktime.c: Assume freestanding C89 or better.
17761         (HAVE_LIMITS_H): Remove.  Assume it's 1.
17762         (__P): Remove; not used.
17763         (CHAR_BIT, INT_MIN, INT_MAX): Remove; <limits.h> defines them.
17764         (mktime, not_equal_tm, print_tm, check_result,
17765         main): Use prototypes.  Use const * where appropriate.
17766         (main): Fix typo in testing code that uncovered by above changes.
17767         (Local Variables): Remove -DHAVE_LIMITS_H from compile-command.
17768
17769 2003-06-04  Paul Eggert  <eggert@twinsun.com>
17770
17771         * m4/human.m4 (gl_HUMAN): Require AM_STDBOOL_H.  Check for
17772         locale.h, localeconv.  This merges changes from coreutils.
17773
17774         * m4/mktime.m4 (AC_FUNC_MKTIME): New macro, taken from Autoconf CVS.
17775         It can be removed after the next Autoconf is released.
17776         * m4/exclude.m4 (gl_EXCLUDE): Don't check for sys/types.h; no loner
17777         needed.
17778
17779 2003-06-04  Paul Eggert  <eggert@twinsun.com>
17780
17781         * lib/mktime.c: Fix Debian bug 177940
17782         <http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=177940>.
17783         (localtime_offset): Now long int, not time_t, because we want it
17784         to be guaranteed to be signed.  All uses changed.
17785         (__mktime_internal): If overflow would occur when adding offset,
17786         don't add it.
17787
17788         Merge 'human' changes from coreutils.  Rewrite to support
17789         locale-specific notations like thousands separators.
17790         * lib/human.c: Simplify authorship notice.
17791         Include human.h immediately after config.h.
17792         <sys/types.h>, <stdio.h>: Do not include; no longer needed.
17793         <limits.h>: Do not include, since human.h does.
17794         (SIZE_MAX, UINTMAX_MAX): New macros.
17795         <strings.h>: Include if HAVE_STRINGS_H, not if !HAVE_STRING_H.
17796         <locale.h>: Include if HAVE_LOCALE_H and HAVE_LOCALECONV.
17797         (HUMAN_READABLE_SUFFIX_LENGTH_MAX): New macro.
17798         (power_letter): Renamed from suffixes.
17799         (generate_suffix_backwards): Remove.
17800         (adjust_value): Now takes int style (because of human.h changes)
17801         and long double value (for greater precision on some platforms).
17802         (group_number): New function.
17803         (human_readable): Use it.  Use integer options, not enum.
17804         Put the options before the sizes in the arg list.
17805         Support all the new options.
17806         The old human_readable function has been removed;
17807         use inttostr.h instead.
17808         (human_readable, default_block_size, humblock):
17809         Use uintmax_t, not int, for block sizes.
17810         (human_readable_inexact, block_size_types): Remove.
17811         (block_size_opts): New constant.
17812         (human_options): Renamed from human_block_size, with new signature
17813         that allows block sizes up to UINTMAX_MAX.  All callers changed.
17814         * lib/human.h: Add copyright and authorship notice.
17815         Include <limits.h> and <stdbool.h> unconditionally.
17816         (PARAMS): Remove.  All uses removed.
17817         (LONGEST_HUMAN_READABLE): Add support for thousands separator.
17818         (enum human_inexact_style): Remove tag; now a nameless enum.
17819         (human_floor, human_ceiling, human_round_to_even): Now have
17820         values 2, 0, 1 rather than -1, 1, 0.
17821         (human_group_digits, human_suppress_point_zero, human_autoscale,
17822         human_base_1024, human_SI, human_B): New constants.
17823         (human_readable_inexact, human_block_size): Remove.
17824         (human_readable): Size args are now uintmax_t, not int.
17825         (human_options): New decl.
17826
17827         * lib/exclude.c: (new_exclude, add_exclude): Remove casts that are
17828         unnecessary now that we assume C89 or better.  This change
17829         imported from coreutils.
17830
17831         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
17832         arbitrarily.  This is the same patch as 2003-05-28, but it got lost
17833         in the 2003-05-30 sync from glibc.
17834
17835         .h files should stand alone, but we shouldn't include <sys/types.h>
17836         if we can get away with just <stddef.h>.
17837
17838         * lib/__fpending.h, addext.c, backupfile.c, exclude.c, getline.c,
17839         malloc.c, putenv.c, realloc.c, strcasecmp.c: Include <stddef.h>
17840         rather than <sys/types.h>, as we merely need size_t.
17841         * lib/dirname.h, memcoll.h, xalloc.h, xmemcoll.h: Include <stddef.h>,
17842         to get size_t.
17843         * lib/hash.h, linebuffer.h, readtokens.h, stdio-safer.h, version-etc.h:
17844         Include <stdio.h>, to get FILE.
17845         * lib/memcasecmp.c: Don't include <sys/types.h>, as we can assume
17846         memcasecmp.h has included <stddef.h> and all we need is size_t.
17847         * lib/memcoll.c: Include "memcoll.h", which gets us size_t and checks
17848         our interface, instead of including <sys/types.h>
17849
17850 2003-06-04  Paul Eggert  <eggert@twinsun.com>
17851
17852         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): Comment out for
17853         now, as glibc mktime is buggy on non-glibc systems.
17854
17855 2003-06-03  Karl Berry  <karl@gnu.org>
17856
17857         * config/config.sub: update from prep.
17858
17859 2003-06-02  Paul Eggert  <eggert@twinsun.com>
17860
17861         [from coreutils]
17862         Fix some minor time-related bugs with POSIX time arguments.
17863         Some valid time stamps were being rejected (notably -1, and
17864         time stamps before 1900 on 64-bit hosts).  And some invalid
17865         time stamps were being accepted, e.g. September 31.
17866
17867         * lib/posixtm.h (posixtime): Return bool instead of time_t, so
17868         that we can return (time_t) -1 successfully.
17869         * lib/posixtm.c: Likewise.
17870         [HAVE_STDBOOL_H]: Include <stdbool.h>.
17871         (bool, false, true) [!HAVE_STDBOOL_H]: New type.
17872         (t): Remove static var.
17873         (year, posix_time_parse): Now takes struct tm * arg to modify, instead
17874         of static var.  All uses changed.
17875         (year): Do not reject years before 1900; they can occur with
17876         64-bit time_t.
17877         (posix_time_parse): Do not check for out-of-range components;
17878         that is now the caller's responsibility, since our checks were
17879         only approximations.
17880         (posixtime): Use mktime to check for out-of-range components,
17881         since it knows them exactly.
17882         If mktime returns (time_t) -1, check whether an error actually occurred
17883         by invoking localtime on -1.
17884         (main) [TEST_POSIXTIME]: Check for input data errors, and report
17885         posixtime failures better.
17886         Improve the test data (in comments only).
17887
17888 2003-06-02  Karl Berry  <karl@gnu.org>
17889
17890         * config/mkinstalldirs (version): new variable.
17891         (--version): new option.
17892         (usage): improve message.
17893
17894 2003-05-30  Karl Berry  <karl@gnu.org>
17895
17896         * lib/mktime.c: update from libc.
17897
17898 2003-05-30  Bruno Haible  <bruno@clisp.org>
17899
17900         * modules/gettext: Add files m4/nls.m4 and m4/po.m4.
17901         * config/config.rpath: Upgrade to gettext-0.12.1.
17902
17903 2003-05-30  Bruno Haible  <bruno@clisp.org>
17904
17905         * m4/gettext.m4: Upgrade to gettext-0.12.1.
17906         * m4/nls.m4: New file, from gettext-0.12.1.
17907         * m4/po.m4: New file, from gettext-0.12.1.
17908         * m4/progtest.m4: Upgrade to gettext-0.12.1.
17909
17910 2003-05-30  Bruno Haible  <bruno@clisp.org>
17911
17912         * lib/config.charset: Upgrade to gettext-0.12.1 and libiconv-1.9.1.
17913         * lib/localcharset.h: Likewise.
17914         * lib/localcharset.c: Likewise.
17915
17916 2003-05-29  Karl Berry  <karl@gnu.org>
17917
17918         * config/config.rpath: update from gettext.
17919
17920 2003-05-28  Paul Eggert  <eggert@twinsun.com>
17921
17922         Assume the headers required for C89 freestanding compilers.
17923         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for limits.h.
17924         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Likewise.
17925         * m4/human.m4 (gl_HUMAN): Likewise.
17926         * m4/pathmax.m4 (gl_PATHMAX): Likewise.
17927         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Likewise.
17928         * m4/userspec.m4 (gl_USERSPEC): Likewise.
17929         * m4/xreadlink.m4 (gl_XREADLINK): Likewise.
17930         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
17931         * m4/quote.m4 (gl_QUOTE): Don't check for stddef.h.
17932
17933 2003-05-28  Paul Eggert  <eggert@twinsun.com>
17934
17935         Assume the headers required for C89 freestanding compilers.
17936         * lib/addext.c, lib/backupfile.c, lib/fsusage.c, lib/human.c,
17937         lib/pathmax.h, lib/rpmatch.c, lib/userspec.c, lib/xreadlink.c,
17938         lib/xstrtol.c: Include <limits.h> without checking for HAVE_LIMITS_H.
17939         * lib/backupfile.c, lib/fsusage.c, lib/hash.c, lib/human.c,
17940         lib/safe-read.c, lib/userspec.c, lib/xstrtol.c (CHAR_BIT): Don't
17941         define, since <limits.h> is guaranteed to do that.
17942         * lib/fatal.c: Include <stdarg.h> without checking for __STDC__.
17943         * lib/exclude.c: Include <stdbool.h> unconditionally.
17944         * lib/tempname.c: Include <stddef.h> unconditionally.
17945         * lib/hash.c: Include <limits.h>, since we no longer define CHAR_BIT.
17946         * lib/modechange.c, rpmatch.c (NULL): Don't define, since
17947         <stddef.h> does that.
17948         * lib/quote.c: Dont include <stddef.h> or <sys/types.h>; not needed.
17949         * lib/safe-read.c (INT_MAX): Don't define, since <limits.h> does that.
17950         * lib/safe-read.c (TYPE_MINIMUM, TYPE_MAXIMUM): Remove; no longer
17951         needed.
17952         * lib/xstrtol.c: Likewise.
17953         * lib/safe-read.c: Remove TYPE_SIGNED; no longer needed.
17954         * lib/savedir.c: Include <stddef.h> instead of defining NULL.
17955
17956         * lib/addext.c (addext): Use assignment rather than cast, to avoid
17957         warnings on some platforms.
17958
17959         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
17960         arbitrarily.
17961
17962 2003-05-26  Jim Meyering  <jim@meyering.net>
17963
17964         Merge in a change from coreutils:
17965         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Test the cache variable, not one
17966         that is guaranteed to be `no'.  Use `no_such_member' to indicate
17967         that condition, rather than `-1' which is slightly misleading.
17968         Change the name of the cache variable to have the gl_ prefix.
17969         Prompted by a patch from Richard Dawe for DJGPP.
17970
17971 2003-05-24  Karl Berry  <karl@gnu.org>
17972
17973         * config/config.guess: update from prep.
17974
17975 2003-05-22  Karl Berry  <karl@gnu.org>
17976
17977         * gnulib-tool (func_usage): =LIBRARY not =libRARY in help msg.
17978
17979 2003-05-20  Karl Berry  <karl@gnu.org>
17980
17981         * config/config.guess: update from prep.
17982
17983 2003-05-18  Karl Berry  <karl@gnu.org>
17984
17985         * config/srclistvars.sh (TEXMF): use TEXMFROOT instead, since TEXMF
17986         might actually be set by the user.
17987
17988         * config/depcomp, install-sh, mdate-sh: update from automake.
17989
17990 2003-05-17  Bruno Haible  <bruno@clisp.org>
17991
17992         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Fix a quoting bug leading to an
17993         invalid expansion for AC_EGREP_CPP.
17994         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Likewise.
17995         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
17996         Suggested by Akim Demaille <akim@epita.fr> in
17997         http://mail.gnu.org/archive/html/bug-autoconf/2003-05/threads.html
17998
17999 2003-05-12  Jim Meyering  <jim@meyering.net>
18000
18001         * lib/strftime.c (my_strftime): Let the `-' (no-pad) flag affect
18002         the space-padded-by-default conversion specifiers, %e, %k, %l.
18003
18004 2003-05-12  Bruno Haible  <bruno@clisp.org>
18005
18006         * lib/linebreak.c (iconv_string_length): Don't return -1 just because
18007         the string is longer than 4 KB.
18008
18009 2003-05-11  Karl Berry  <karl@gnu.org>
18010
18011         * config/config.{guess,sub}: update from prep.
18012
18013 2003-05-09  Bruno Haible  <bruno@clisp.org>
18014
18015         * modules/error: Add m4/strerror_r.m4 to file list.
18016
18017 2003-05-03  Bruno Haible  <bruno@clisp.org>
18018
18019         Upgrade to Unicode-4.0.
18020         * lib/linebreak.c (nonspacing_table_data): Change width of U+00AD,
18021         U+0350..U+0357, U+035D..U+035F, U+0600..U+0603, U+0610..U+0615,
18022         U+0656..U+0658, U+0A01, U+0AE2..U+0AE3, U+0CBC, U+17B4..U+17B5,
18023         U+17DD, U+1920..U+1922, U+1927..U+192B, U+1932, U+1939..U+193B
18024         from 1 to 0. Change width of U+0CBF, U+0CC6, U+180E from 0 to 1.
18025         (uc_width): Change width of U+4DC0..U+4DFF from 2 to 1. Change width
18026         of U+2A6D7..U+2F7FF, U+2FA1E..U+2FFFD, U+30000..U+3FFFD from 1 to 2.
18027         Change width of U+E0100..U+E01EF from 1 to 0.
18028
18029 2003-04-25  Jim Meyering  <jim@meyering.net>
18030
18031         * lib/copy-file.c (copy_file_preserving): Declare buf_size to be
18032         of type size_t, not int.
18033
18034 2003-04-25  Bruno Haible  <bruno@clisp.org>
18035
18036         * lib/copy-file.c: Include <stddef.h>, for size_t.
18037
18038 2003-04-21  Paul Eggert  <eggert@twinsun.com>
18039
18040         * m4/error.m4 (gl_ERROR): Do not put under dynamic conditions some
18041         code which expansion is under static control.  Patch imported from
18042         Akim Demaille's patch to Bison; see
18043         <http://mail.gnu.org/archive/html/bison-patches/2003-03/msg00057.html>.
18044
18045 2003-04-14  Bruno Haible  <bruno@clisp.org>
18046
18047         * m4/error.m4 (jm_PREREQ_ERROR): Use AC_FUNC_VPRINTF.
18048
18049 2003-04-11  Jim Meyering  <jim@meyering.net>
18050
18051         Merge changes from Coreutils.
18052
18053         2003-03-22  Jim Meyering  <jim@meyering.net>
18054
18055         * lib/strftime.c (widen): Cast alloca return value to proper type.
18056
18057         2003-01-19  Ulrich Drepper  <drepper@redhat.com>
18058
18059         From GNU libc.
18060         * lib/strftime.c (my_strftime): Handle very large width
18061         specifications for numeric values correctly.  Improve checks for
18062         overflow.
18063
18064         2003-01-19  Jim Meyering  <jim@meyering.net>
18065
18066         * lib/strftime.c (widen) [COMPILE_WIDE]: Merge nearly-identical
18067         definitions.
18068         (nl_get_alt_digit) [! defined my_strftime]: Define.
18069         (my_strftime) [_NL_CURRENT]: Merge nearly-identical uses of
18070         _nl_get_alt_digit and _nl_get_walt_digit.
18071
18072         * lib/strftime.c (my_strftime): Merge in locale-related changes from
18073         libc. These changes have no effect outside of _LIBC.
18074
18075 2003-04-10  Bruno Haible  <bruno@clisp.org>
18076
18077         * modules/findprog: New file.
18078         * MODULES.html.sh (func_all_modules): Add it.
18079
18080 2003-04-10  Bruno Haible  <bruno@clisp.org>
18081
18082         * m4/findprog.m4: New file.
18083         * m4/eaccess.m4: New file.
18084
18085 2003-04-10  Bruno Haible  <bruno@clisp.org>
18086
18087         * lib/findprog.h: New file, from GNU gettext.
18088         * lib/findprog.c: New file, from GNU gettext.
18089
18090 2003-04-05  Jim Meyering  <jim@meyering.net>
18091
18092         Merge changes from Coreutils.
18093
18094         * lib/exclude.h (PARAMS): Remove definition and uses.
18095         * lib/exclude.c: Remove uses of `PARAMS'.
18096
18097         * lib/dirname.c [TEST_DIRNAME]: Update build instructions for test.
18098         Add test-cases for DOS filenames. Declare program_name.
18099         (main): Set up program_name.  Patch by Rich Dawe.
18100
18101         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
18102         error from mntctl.
18103         Use mntctl's return value to drive the entry-processing loop, since
18104         we can't rely on the value of the vmt_length member in the last
18105         entry.  On some systems doing so could result in exhausting
18106         virtual memory.  Based in part on a patch from Mike Jetzer.
18107
18108 2003-04-04  Bruno Haible  <bruno@clisp.org>
18109
18110         * modules/linebreak: New file.
18111         * MODULES.html.sh (func_all_modules): Add it.
18112
18113 2003-04-04  Bruno Haible  <bruno@clisp.org>
18114
18115         * m4/linebreak.m4: New file.
18116
18117 2003-04-04  Bruno Haible  <bruno@clisp.org>
18118
18119         * lib/linebreak.h: New file, from GNU gettext.
18120         * lib/linebreak.c: New file, from GNU gettext with slight
18121         modifications.
18122         * lib/lbrkprop.h: New file, from GNU gettext.
18123
18124 2003-04-03  Bruno Haible  <bruno@clisp.org>
18125
18126         * modules/utf8-ucs4: New file.
18127         * modules/utf16-ucs4: New file.
18128         * modules/ucs4-utf8: New file.
18129         * modules/ucs4-utf16: New file.
18130         * MODULES.html.sh (func_all_modules): Add them.
18131
18132 2003-04-03  Bruno Haible  <bruno@clisp.org>
18133
18134         * m4/utf-ucs4.m4: New file.
18135         * m4/ucs4-utf.m4: New file.
18136
18137 2003-04-03  Bruno Haible  <bruno@clisp.org>
18138
18139         * lib/utf8-ucs4.h: New file, from GNU gettext.
18140         * lib/utf16-ucs4.h: New file, from GNU gettext.
18141         * lib/ucs4-utf8.h: New file, from GNU gettext.
18142         * lib/ucs4-utf16.h: New file, from GNU gettext.
18143
18144 2003-04-02  Bruno Haible  <bruno@clisp.org>
18145
18146         * modules/binary-io: New file.
18147         * MODULES.html.sh (func_all_modules): Add it.
18148
18149 2003-04-02  Bruno Haible  <bruno@clisp.org>
18150
18151         * lib/binary-io.h: New file, from GNU gettext.
18152
18153 2003-04-01  Bruno Haible  <bruno@clisp.org>
18154
18155         * modules/pathname: New file.
18156         * MODULES.html.sh (func_all_modules): Add it.
18157
18158 2003-04-01  Bruno Haible  <bruno@clisp.org>
18159
18160         * lib/pathname.h: New file, from GNU gettext.
18161         * lib/concatpath.c: New file, from GNU gettext.
18162
18163 2003-03-30  Bruno Haible  <bruno@clisp.org>
18164
18165         * m4/copy-file.m4 (gl_COPY_FILE): Add check for chown().
18166
18167 2003-03-30  Bruno Haible  <bruno@clisp.org>
18168
18169         * lib/copy-file.c (copy_file_preserving): Don't set owner if the
18170         function chown() doesn't exist.
18171
18172 2003-03-28  Bruno Haible  <bruno@clisp.org>
18173
18174         * modules/copy-file: New file.
18175         * MODULES.html.sh (func_all_modules): Add it.
18176
18177 2003-03-28  Bruno Haible  <bruno@clisp.org>
18178
18179         * m4/copy-file.m4: New file.
18180
18181 2003-03-28  Bruno Haible  <bruno@clisp.org>
18182
18183         * lib/copy-file.h: New file, from GNU gettext.
18184         * lib/copy-file.c: New file, from GNU gettext.
18185
18186 2003-03-18  Jim Meyering  <jim@meyering.net>
18187
18188         * lib/quote.c (quote_n): Fix typo in comment.
18189
18190 2003-03-18  Bruno Haible  <bruno@clisp.org>
18191
18192         * m4/onceonly.m4: Use m4_defn instead of defn, for better error
18193         checking.
18194         * m4/onceonly_2_57.m4: Likewise.
18195
18196 2003-03-17  Bruno Haible  <bruno@clisp.org>
18197
18198         * m4/onceonly.m4: Require autoconf 2.54 or newer.
18199         (m4_quote): Remove macro.
18200         * m4/onceonly_2_57.m4: Require autoconf 2.54 or newer.
18201
18202 2003-03-14  Jim Meyering  <jim@meyering.net>
18203
18204         Merge changes from Coreutils.
18205         * lib/obstack.h (obstack_object_size): Declare temporary, __o,
18206         to be const, in order to avoid warnings.
18207         (obstack_room): Likewise.
18208         (obstack_empty_p): Likewise.
18209
18210 2003-03-14  Bruno Haible  <bruno@clisp.org>
18211
18212         * m4/onceonly_2_57.m4 (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE,
18213         AC_CHECK_DECLS_ONCE): Quote AC_FOREACH variable-expansions properly.
18214
18215 2003-03-13  Paul Eggert  <eggert@twinsun.com>
18216
18217         Merge changes from Bison.
18218         * lib/obstack.h: (__INT_TO_PTR) [__STDC__]: Cast result to
18219         (void *) to avoid diagnostic with native c89 on SGI IRIX 6.5
18220         when compiling Bison 1.875's `bitset bset = obstack_alloc
18221         (bobstack, bytes);'.  Problem reported by Nelson H. F. Beebe.
18222         * lib/hash.c: Include <stdbool.h> unconditionally.
18223
18224 2003-03-13  Paul Eggert  <eggert@twinsun.com>
18225
18226         * m4/onceonly.m4 (m4_quote): New macro.
18227         (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE, AC_CHECK_DECLS_ONCE):
18228         Quote AC_FOREACH variable-expansions properly.
18229
18230 2003-03-13  Paul Eggert  <eggert@twinsun.com>
18231
18232         * doc/COPYING.DOC, fdl.texi: Sync with latest FSF version.
18233
18234 2003-03-09  Paul Eggert  <eggert@twinsun.com>
18235
18236         * lib/argmatch.c (EXIT_FAILURE): Define if the system doesn't.
18237         Reported by Bruce Becker; see:
18238         http://mail.gnu.org/archive/html/bug-bison/2003-03/msg00017.html
18239
18240 2003-03-03  Paul Eggert  <eggert@twinsun.com>
18241             Bruno Haible  <bruno@clisp.org>
18242
18243         * lib/mbswidth.h: Include <wchar.h>. Needed for UnixWare 7.1.1.
18244         Reported by John Hughes, see
18245         http://mail.gnu.org/archive/html/bug-bison/2003-02/msg00030.html
18246
18247 2003-02-20  Bruno Haible  <bruno@clisp.org>
18248
18249         * MODULES.html.sh (func_all_modules): Add poll.
18250
18251 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
18252
18253         * modules/poll: New file.
18254
18255 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
18256
18257         * lib/poll_.h: New file.
18258         * lib/poll.c: New file.
18259
18260 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
18261
18262         * m4/poll.m4: New file.
18263
18264 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
18265
18266         * modules/mathl: New file.
18267
18268 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
18269
18270         * lib/mathl.h: New file.
18271         * lib/acosl.c: New file.
18272         * lib/asinl.c: New file.
18273         * lib/atanl.c: New file.
18274         * lib/ceill.c: New file.
18275         * lib/cosl.c: New file.
18276         * lib/expl.c: New file.
18277         * lib/floorl.c: New file.
18278         * lib/frexpl.c: New file.
18279         * lib/ldexpl.c: New file.
18280         * lib/logl.c: New file.
18281         * lib/sincosl.c: New file.
18282         * lib/sinl.c: New file.
18283         * lib/sqrtl.c: New file.
18284         * lib/tanl.c: New file.
18285         * lib/trigl.c: New file.
18286         * lib/trigl.h: New file.
18287
18288 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
18289
18290         * m4/mathl.m4: New file.
18291
18292 2003-02-18  Bruno Haible  <bruno@clisp.org>
18293
18294         * MODULES.html.sh (func_all_modules): Add mathl.
18295
18296 2003-02-17  Bruno Haible  <bruno@clisp.org>
18297
18298         * modules/mkdtemp: New module.
18299         * MODULES.html.sh (func_all_modules): Add it.
18300
18301 2003-02-17  Bruno Haible  <bruno@clisp.org>
18302
18303         * m4/mkdtemp.m4: New file, from GNU gettext with modifications.
18304
18305 2003-02-17  Bruno Haible  <bruno@clisp.org>
18306
18307         * lib/mkdtemp.h: New file, from GNU gettext.
18308         * lib/mkdtemp.c: New file, from GNU gettext.
18309
18310 2003-02-02  Jim Meyering  <jim@meyering.net>
18311
18312         * m4/regex.m4 (jm_INCLUDED_REGEX): Detect broken re_search in
18313         e.g. glibc-2.2.93.
18314
18315 2003-01-31  Bruno Haible  <bruno@clisp.org>
18316
18317         * m4/rename.m4 (vb_FUNC_RENAME): Add a redirection from 'rename' to
18318         'rpl_rename'.
18319         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Add a redirection from 'strnlen' to
18320         'rpl_strnlen'.
18321         * m4/strtod.m4 (gl_FUNC_STRTOD): Add a redirection from 'strtod' to
18322         'rpl_strtod'.
18323         * m4/utime.m4 (jm_FUNC_UTIME): Add a redirection from 'utime' to
18324         'rpl_utime'.
18325
18326 2003-01-31  Bruno Haible  <bruno@clisp.org>
18327
18328         * lib/rename.c: #undef rename before defining rpl_rename.
18329         * lib/strnlen.c: #undef strnlen, define rpl_strnlen instead of strnlen.
18330
18331 2003-01-30  Bruno Haible  <bruno@clisp.org>
18332
18333         * modules/vasnprintf, modules/vasprintf: New modules.
18334         * MODULES.html.sh (func_all_modules): Add them.
18335
18336 2003-01-30  Bruno Haible  <bruno@clisp.org>
18337
18338         * m4/signed.m4: New file, from GNU gettext.
18339         * m4/longdouble.m4: New file, from GNU gettext.
18340         * m4/wchar_t.m4: New file, from GNU gettext.
18341         * m4/wint_t.m4: New file, from GNU gettext.
18342         * m4/vasnprintf.m4: New file.
18343         * m4/vasprintf.m4: New file.
18344
18345 2003-01-30  Bruno Haible  <bruno@clisp.org>
18346
18347         * lib/printf-args.h: New file, from GNU gettext.
18348         * lib/printf-args.c: New file, from GNU gettext.
18349         * lib/printf-parse.h: New file, from GNU gettext.
18350         * lib/printf-parse.c: New file, from GNU gettext.
18351         * lib/vasnprintf.h: New file, from GNU gettext.
18352         * lib/vasnprintf.c: New file, from GNU gettext.
18353         * lib/asnprintf.c: New file, from GNU gettext.
18354         * lib/vasprintf.h: New file, from GNU gettext with modifications.
18355         * lib/vasprintf.c: New file, from GNU gettext.
18356         * lib/asprintf.c: New file, from GNU gettext.
18357
18358 2003-01-29  Bruno Haible  <bruno@clisp.org>
18359
18360         * modules/stpncpy: New module.
18361         * MODULES.html.sh (func_all_modules): Add it.
18362
18363 2003-01-29  Bruno Haible  <bruno@clisp.org>
18364
18365         * m4/stpncpy.m4: New file.
18366
18367 2003-01-29  Bruno Haible  <bruno@clisp.org>
18368
18369         * lib/stpncpy.h: New file, from GNU gettext with modifications.
18370         * lib/stpncpy.c: New file, from GNU gettext with modifications.
18371
18372 2003-01-28  Bruno Haible  <bruno@clisp.org>
18373
18374         * modules/c-ctype: New module.
18375         * MODULES.html.sh (func_all_modules): Add it.
18376
18377 2003-01-28  Bruno Haible  <bruno@clisp.org>
18378
18379         * lib/c-ctype.h: New file, from GNU gettext, with changes suggested by
18380         Paul Eggert.
18381         * lib/c-ctype.c: New file, from GNU gettext, with changes suggested by
18382         Paul Eggert.
18383
18384 2003-01-27  Bruno Haible  <bruno@clisp.org>
18385
18386         * modules/xsetenv: New module.
18387         * MODULES.html.sh (func_all_modules): Add it.
18388
18389 2003-01-27  Bruno Haible  <bruno@clisp.org>
18390
18391         * lib/xsetenv.h: New file, from GNU gettext.
18392         * lib/xsetenv.c: New file, from GNU gettext.
18393
18394 2003-01-23  Jim Meyering  <jim@meyering.net>
18395
18396         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Correct typo: s/-1/no/ that kept this
18397         from working on systems without dirfd (at least Irix and OSF1/Tru64).
18398
18399 2003-01-23  Bruno Haible  <bruno@clisp.org>
18400
18401         * modules/minmax: New module.
18402         * MODULES.html.sh (func_all_modules): Add it.
18403
18404 2003-01-23  Bruno Haible  <bruno@clisp.org>
18405
18406         * lib/minmax.h: New file, from GNU gettext, with comments from Paul
18407         Eggert.
18408
18409 2003-01-22  Bruno Haible  <bruno@clisp.org>
18410
18411         * modules/exit: New module.
18412         * MODULES.html.sh (func_all_modules): Add it.
18413
18414 2003-01-22  Bruno Haible  <bruno@clisp.org>
18415
18416         * lib/exit.h: New file, from GNU gettext.
18417
18418 2003-01-19  Bruno Haible  <bruno@clisp.org>
18419
18420         * gnulib-tool: Recognize option --extract-maintainer.
18421         (func_get_maintainer): New function.
18422         * modules/*: Add Maintainer entry.
18423
18424 2003-01-16  Jim Meyering  <jim@meyering.net>
18425
18426         * m4/regex.m4: The `regex' struct is both input and output.
18427         Initialize it before each use.  Patch by Tim Waugh.
18428
18429 2003-01-16  Bruno Haible  <bruno@clisp.org>
18430
18431         * MODULES.html.sh: Add a table of contents. Add the module name as
18432         leftmost column. Add hyperlinks.
18433
18434 2003-01-15  Bruno Haible  <bruno@clisp.org>
18435
18436         * m4/md5.m4 (gl_MD5): Require AC_C_INLINE.
18437
18438 2003-01-15  Bruno Haible  <bruno@clisp.org>
18439
18440         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): Also test the LL suffix.
18441         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Also test the ULL
18442         suffix.
18443
18444 2003-01-15  Bruno Haible  <bruno@clisp.org>
18445
18446         * m4/alloca.m4 (gl_FUNC_ALLOCA): Invoke AC_EGREP_CPP prerequisites.
18447
18448 2003-01-15  Bruno Haible  <bruno@clisp.org>
18449
18450         * lib/stpcpy.h (stpcpy): Use ANSI C function declarations.
18451         * lib/strcase.h (strcasecmp, strncasecmp): Likewise.
18452
18453 2003-01-14  Jim Meyering  <jim@meyering.net>
18454
18455         * lib/same.c (same_name): Tweak a comment.
18456
18457 2003-01-14  Bruno Haible  <bruno@clisp.org>
18458
18459         * lib/same.c (same_name): Reorder tests so as to avoid calling stat()
18460         when a string comparison is sufficient.
18461
18462 2003-01-14  Bruno Haible  <bruno@clisp.org>
18463
18464         * lib/readtokens.c (readtoken): Cast character to 'unsigned char', not
18465         'unsigned int'.
18466
18467 2003-01-14  Bruno Haible  <bruno@clisp.org>
18468
18469         * lib/hash-pjw.c: Add comment about low quality of this function.
18470
18471 2003-01-13  Bruno Haible  <bruno@clisp.org>
18472
18473         * modules/stpcpy: Distribute lib/stpcpy.h.
18474         * modules/setenv: Depend on alloca. Distribute lib/setenv.h.
18475
18476 2003-01-13  Bruno Haible  <bruno@clisp.org>
18477
18478         * modules/*: Add a description.
18479         * modules/strpbrk: Fix Makefile.am snippet.
18480         * modules/strtoimax: Fix dependencies.
18481         * modules/strtoumax: Likewise.
18482
18483 2003-01-13  Bruno Haible  <bruno@clisp.org>
18484
18485         * gnulib-tool (func_create_testdir): Substitute lib_OBJECTS.
18486         * modules/alloca (Makefile.am): All object files depend on alloca.h.
18487         * modules/stdbool (Makefile.am): All object files depend on stdbool.h.
18488
18489 2003-01-13  Bruno Haible  <bruno@clisp.org>
18490
18491         * gnulib-tool (func_create_testdir): Store config/* files in the main
18492         directory.
18493         * config.rpath: Move to ...
18494         * config/config.rpath: ... here.
18495         * modules/gettext: Contains config/config.rpath, not config.rpath.
18496         * modules/iconv: Likewise.
18497
18498 2003-01-12  Paul Eggert  <eggert@twinsun.com>
18499
18500         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
18501         to avoid collisions with libcurses and libreadline.
18502
18503         * m4/getstr.m4: Remove.
18504         * m4/getline.m4 (gl_PREREQ_GETLINE): Require AC_HEADER_STDC.
18505
18506 2003-01-12  Paul Eggert  <eggert@twinsun.com>
18507
18508         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
18509         to avoid collisions with libcurses and libreadline.
18510
18511         * lib/Makefile.am (libfetish_a_SOURCES): Remove getstr.c, getstr.h.
18512         * lib/getstr.h, getstr.c: Remove.
18513         * lib/getline.c: Include "getline.h", to check interface.
18514         Move body of old getstr.c here: this defines MIN_CHUNK and
18515         declares getdelim2, which is renamed from getstr.
18516         (getline, getdelim): Adjust to renaming of getstr -> getdelim2.
18517
18518         * lib/linebuffer.c (readlinebuffer): Renamed from readline.
18519         All uses changed.
18520         * lib/linebuffer.h: Likewise.
18521         (readline): Remove backward-compatibility macro.
18522
18523 2003-01-12  Paul Eggert  <eggert@twinsun.com>
18524
18525         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
18526         to avoid collisions with libcurses and libreadline.
18527         * getstr: Remove.
18528         * MODULES.html.sh: Remove getstr.
18529         * modules/getline: Depend on unlocked-io, not getstr.
18530
18531 2003-01-12  Jim Meyering  <jim@meyering.net>
18532
18533         * lib/makepath.c: Don't test HAVE_ERRNO_H.  It's not necessary.
18534
18535 2003-01-10  Bruno Haible  <bruno@clisp.org>
18536
18537         * modules/alloca: Change Makefile.am requirements. Simplify Include
18538         requirements. Add lib/alloca_.h to file list.
18539
18540 2003-01-10  Bruno Haible  <bruno@clisp.org>
18541
18542         * m4/alloca.m4 (gl_FUNC_ALLOCA): Also define ALLOCA_H.
18543
18544 2003-01-10  Bruno Haible  <bruno@clisp.org>
18545
18546         * lib/alloca_.h: New file.
18547         * lib/getdate.y: Unconditionally include alloca.h.
18548         * lib/makepath.c: Likewise.
18549         * lib/setenv.c: Likewise.
18550         * lib/userspec.c: Likewise.
18551
18552 2003-01-09  Karl Berry  <karl@gnu.org>
18553
18554         * MODULES.html.sh: include `dirname $0` in PATH, to find
18555         gnulib-tool.
18556
18557 2003-01-09  Bruno Haible  <bruno@clisp.org>
18558
18559         * modules/stdbool: Change configure.ac, Makefile.am requirements.
18560         Simplify Include requirements. Add lib/stdbool.h.in to file list.
18561
18562 2003-01-09  Bruno Haible  <bruno@clisp.org>
18563
18564         * m4/stdbool.m4 (AM_STDBOOL_H): New macro.
18565
18566 2003-01-09  Bruno Haible  <bruno@clisp.org>
18567
18568         * lib/stdbool.h.in: New file.
18569
18570 2003-01-09  Bruno Haible  <bruno@clisp.org>
18571
18572         * gnulib-tool (func_all_modules): Ignore files ending in ~.
18573         * MODULES.html.sh: Likewise.
18574
18575 2003-01-08  Jim Meyering  <jim@meyering.net>
18576
18577         * lib/full-write.c: Undefine and define-away `const' after inclusion
18578         of errno.h, not before.  Suggestion from Bruno Haible.
18579
18580 2003-01-08  Bruno Haible  <bruno@clisp.org>
18581
18582         * modules/full-read: Depend on full-write.
18583
18584 2003-01-08  Bruno Haible  <bruno@clisp.org>
18585
18586         * lib/safe-read.c: Include specification header first, to ensure its
18587         selfcontainedness.
18588         * lib/full-write.c: Likewise.
18589
18590 2003-01-07  Jim Meyering  <jim@meyering.net>
18591
18592         * lib/full-write.c: Rework so that it may serve to define full_read,
18593         too.
18594         * lib/full-read.c: Simply #define FULL_READ and include full-write.c.
18595
18596 2003-01-07  Bruno Haible  <bruno@clisp.org>
18597
18598         * lib/strtoimax.c: Include <stdint.h> as an alternative to
18599         <inttypes.h>.
18600         * lib/xstrtol.h: Likewise.
18601         * lib/xstrtoimax.c: Likewise.
18602         * lib/xstrtoumax.c: Likewise.
18603         * lib/human.h: Likewise.
18604
18605         * lib/tempname.c: Include <inttypes.h> too. Avoids a compilation error
18606         on systems that have <inttypes.h> but not <stdint.h>.
18607
18608 2003-01-07  Bruno Haible  <bruno@clisp.org>
18609
18610         * MODULES.html.sh: Add copyright notice.
18611         (missed_files): Omit CVS directory entries.
18612         (func_module): Make it work with sed-3.02.
18613         * MODULES.txt: Remove file.
18614
18615 2003-01-06  Jim Meyering  <jim@meyering.net>
18616
18617         * lib/version-etc.c: Update year in translatable copyright string.
18618
18619 2003-01-03  Karl Berry  <karl@gnu.org>
18620
18621         * config/config.{guess,sub}: update from prep.
18622
18623 2003-01-02  Karl Berry  <karl@gnu.org>
18624
18625         * doc/COPYING.DOC: belatedly updated to 1.2.
18626
18627 2003-01-01  Karl Berry  <karl@gnu.org>
18628
18629         * gnulib-tool (func_verify_module): report module name $module in
18630         error message, not $1.
18631         * gnulib-tool (create-testdir): don't complain if destdir couldn't
18632         be created, only if it doesn't exist.
18633         * gnulib-tool (last_checkin_date): don't expand the $Date here.
18634
18635 2002-12-31  Paul Eggert  <eggert@twinsun.com>
18636
18637         * m4/memcoll.m4 (gl_MEMCOLL): Require AC_FUNC_MEMCMP.
18638
18639 2002-12-31  Paul Eggert  <eggert@twinsun.com>
18640
18641         * lib/memcoll.c (memcoll): Fall back on a simple algorithm using
18642         memcmp if strcoll doesn't work.
18643
18644 2002-12-31  Bruno Haible  <bruno@clisp.org>
18645
18646         * lib/utime.c (utime_null): No need to call ftruncate if the file was
18647         nonempty.
18648
18649 2002-12-31  Bruno Haible  <bruno@clisp.org>
18650
18651         * lib/memcoll.c (STRCOLL): New macro.
18652         (memcoll): Use it.
18653
18654 2002-12-31  Bruno Haible  <bruno@clisp.org>
18655
18656         * lib/localcharset.h: New file.
18657         * lib/localcharset.c: Include it.
18658         * lib/unicodeio.c: Likewise.
18659
18660 2002-12-31  Bruno Haible  <bruno@clisp.org>
18661
18662         * lib/getstr.h (getstr): Define, to avoid clash with libcurses.
18663         * lib/linebuffer.h (readline): Define, to avoid clash with libreadline.
18664
18665 2002-12-31  Bruno Haible  <bruno@clisp.org>
18666
18667         * lib/getline.h: Include <stddef.h>, for size_t.
18668
18669         * lib/unicodeio.h: Include <stddef.h>, for size_t.
18670         * lib/unicodeio.c: Don't include <stddef.h>.
18671
18672 2002-12-31  Bruno Haible  <bruno@clisp.org>
18673
18674         * lib/getdate.y (get_date): Test HAVE_STRUCT_TM_TM_ZONE, not
18675         HAVE_TM_ZONE.
18676
18677 2002-12-24  Karl Berry  <karl@gnu.org>
18678
18679         * config/config.guess: update from prep.
18680
18681 2002-12-24  Bruno Haible  <bruno@clisp.org>
18682
18683         General infrasructure.
18684         * m4/README: Rewritten.
18685         * m4/onceonly.m4: New file.
18686         * m4/onceonly_2_57.m4: New file.
18687
18688         Module atexit.
18689         * m4/atexit.m4: New file.
18690
18691         Module strtod.
18692         * m4/strtod.m4: New file.
18693
18694         Module strtol.
18695         * m4/strtol.m4: New file.
18696
18697         Module strtoul.
18698         * m4/strtoul.m4: New file.
18699
18700         Module memchr.
18701         * m4/memchr.m4: New file.
18702
18703         Module memcmp.
18704         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): New macro.
18705         (jm_FUNC_MEMCMP): Invoke it.
18706
18707         Module memcpy.
18708         * m4/memcpy.m4: New file.
18709
18710         Module memmove.
18711         * m4/memmove.m4: New file.
18712
18713         Module memset.
18714         * m4/memset.m4: New file.
18715
18716         Module strcspn.
18717         * m4/strcspn.m4: New file.
18718
18719         Module strpbrk.
18720         * m4/strpbrk.m4: New file.
18721
18722         Module strstr.
18723         * m4/strstr.m4: New file.
18724
18725         Module strerror.
18726         * m4/strerror.m4: New file.
18727
18728         Module mktime.
18729         * m4/mktime.m4: Renamed from jm-mktime.m4.
18730         (gl_PREREQ_MKTIME): New macro.
18731         (gl_FUNC_MKTIME): Renamed from jm_FUNC_MKTIME. Invoke gl_PREREQ_MKTIME.
18732
18733         Module malloc.
18734         * m4/malloc.m4 (gl_PREREQ_MALLOC): New macro.
18735         (jm_FUNC_MALLOC): Use AC_FUNC_MALLOC. Invoke gl_PREREQ_MALLOC.
18736         Don't define HAVE_DONE_WORKING_MALLOC_CHECK, since nothing uses it.
18737
18738         Module realloc.
18739         * m4/realloc.m4 (gl_PREREQ_REALLOC): New macro.
18740         (jm_FUNC_REALLOC): Use AC_FUNC_REALLOC. Invoke gl_PREREQ_REALLOC.
18741         Don't define HAVE_DONE_WORKING_REALLOC_CHECK, since nothing uses it.
18742
18743         Module strftime.
18744         * m4/tm_gmtoff.m4: New file, extracted from strftime.m4.
18745         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Use AC_FUNC_STRFTIME.
18746         Don't test for bcopy (we are not emacs). Invoke AC_TYPE_MBSTATE_T and
18747         gl_TM_GMTOFF.
18748         (_jm_STRFTIME_PREREQS, jm_FUNC_GNU_STRFTIME): Use onceonly macros.
18749
18750         Module xalloc.
18751         * m4/xalloc.m4: New file.
18752
18753         Module alloca.
18754         * m4/alloca.m4: New file.
18755
18756         Module putenv.
18757         * m4/putenv.m4 (gl_PREREQ_PUTENV): New macro.
18758         (jm_FUNC_PUTENV): Invoke it.
18759
18760         Module setenv.
18761         * m4/setenv.m4 (gt_FUNC_SETENV): New macro.
18762         (gt_CHECK_VAR_DECL): Fix quoting error that led to infinite loop in m4
18763         when invoked twice.
18764         (gt_PREREQ_SETENV, gt_PREREQ_UNSETENV): New macros, replacing old
18765         gt_FUNC_SETENV.
18766
18767         Module memrchr.
18768         * m4/memrchr.m4: New file.
18769
18770         Module stpcpy.
18771         * m4/stpcpy.m4: New file.
18772
18773         Module strcase.
18774         * m4/strcase.m4: New file.
18775
18776         Module strdup.
18777         * m4/strdup.m4: New file.
18778
18779         Module strnlen.
18780         * m4/strnlen.m4: New file.
18781
18782         Module strndup.
18783         * m4/strndup.m4: New file.
18784
18785         Module xstrtod.
18786         * m4/xstrtod.m4: New file.
18787
18788         Module xstrtol.
18789         * m4/xstrtol.m4: New file.
18790
18791         Module getdate.
18792         * m4/getdate.m4: New file.
18793
18794         Module unlocked-io.
18795         * m4/unlocked-io.m4: Renamed from jm-glibc-io.m4.
18796         (jm_FUNC_GLIBC_UNLOCKED_IO): Invoke AC_GNU_SOURCE. Use onceonly macros.
18797         * m4/jm-glibc-io.m4n: Remove file.
18798
18799         Module long-options.
18800         * m4/long-options.m4: New file.
18801
18802         Module md5.
18803         * m4/md5.m4: New file.
18804
18805         Module sha.
18806         * m4/sha.m4: New file.
18807
18808         Module getstr.
18809         * m4/getstr.m4: New file.
18810
18811         Module getline.
18812         * m4/getline.m4 (gl_PREREQ_GETLINE): New macro.
18813         (AM_FUNC_GETLINE): Invoke AC_GNU_SOURCE. Use <stdlib.h>, not
18814         <sys/types.h>, for size_t. Use the function name gnu_getline, not
18815         simply getline. Infoke gl_PREREQ_GETLINE.
18816
18817         Module obstack.
18818         * m4/obstack.m4: New file.
18819
18820         Module hash.
18821         * m4/hash.m4: New file.
18822
18823         Module readtokens.
18824         * m4/readtokens.m4: New file.
18825
18826         Module strverscmp.
18827         * m4/strverscmp.m4: New file.
18828
18829         Module stdbool.
18830         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Add test for _Bool. Needed for
18831         OSF/1.
18832
18833         Module strtoll.
18834         * m4/strtoll.m4: New file.
18835
18836         Module strtoull.
18837         * m4/strtoull.m4: New file.
18838
18839         Module strtoimax.
18840         * m4/strtoimax.m4: New file.
18841
18842         Module strtoumax.
18843         * m4/strtoumax.m4: New file.
18844
18845         Module xstrtoimax.
18846         * m4/xstrtoimax.m4 (jm_XSTRTOIMAX): Renamed from
18847         jm_AC_PREREQ_XSTRTOIMAX.
18848         Moved the strtol prerequisites to strtol.m4.
18849         Moved the strtoll prerequisites to strtoll.m4.
18850         Moved the strtoimax prerequisites to strtoimax.m4.
18851
18852         Module xstrtoumax.
18853         * m4/xstrtoumax.m4 (jm_XSTRTOUMAX): Renamed from
18854         jm_AC_PREREQ_XSTRTOUMAX.
18855         Moved the strtoul prerequisites to strtoul.m4.
18856         Moved the strtoull prerequisites to strtoull.m4.
18857         Moved the strtoumax prerequisites to strtoumax.m4.
18858
18859         Module chown.
18860         * m4/chown.m4 (gl_PREREQ_CHOWN): New macro.
18861         (jm_FUNC_CHOWN): Use AC_FUNC_CHOWN. Invoke gl_PREREQ_CHOWN.
18862
18863         Module dup2.
18864         * m4/dup2.m4: New file.
18865
18866         Module ftruncate.
18867         * m4/ftruncate.m4 (gl_PREREQ_FTRUNCATE): New macro.
18868         (jm_FUNC_FTRUNCATE): Use AC_REPLACE_FUNCS. Invoke gl_PREREQ_FTRUNCATE.
18869
18870         Module getgroups.
18871         * m4/getgroups.m4 (gl_PREREQ_GETGROUPS): New macro.
18872         (jm_FUNC_GETGROUPS): Use AC_FUNC_GETGROUPS. Invoke gl_PREREQ_GETGROUPS.
18873
18874         Module gettimeofday.
18875         * m4/gettimeofday.m4 (gl_PREREQ_GETTIMEOFDAY): New macro.
18876         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use onceonly macros. Invoke
18877         gl_PREREQ_GETTIMEOFDAY.
18878
18879         Module mkdir.
18880         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): New macro.
18881         (UTILS_FUNC_MKDIR_TRAILING_SLASH): Invoke gl_PREREQ_MKDIR.
18882
18883         Module mkstemp.
18884         * m4/mkstemp.m4 (gl_PREREQ_MKSTEMP): New macro.
18885         (jm_PREREQ_TEMPNAME): New macro, from prereq.m4. Also invoke
18886         jm_AC_TYPE_UINTMAX_T.
18887         (UTILS_FUNC_MKSTEMP): Invoke gl_PREREQ_MKSTEMP and jm_PREREQ_TEMPNAME.
18888
18889         Module stat.
18890         * m4/stat.m4 (gl_PREREQ_STAT): New macro.
18891         (jm_FUNC_STAT): Use AC_FUNC_STAT. Invoke gl_PREREQ_STAT.
18892
18893         Module lstat.
18894         * m4/lstat.m4 (gl_PREREQ_LSTAT): New macro.
18895         (jm_FUNC_LSTAT): Use AC_FUNC_LSTAT. Invoke gl_PREREQ_LSTAT.
18896
18897         Module timespec.
18898         * m4/timespec.m4 (gl_TIMESPEC): New macro.
18899         (jm_CHECK_TYPE_STRUCT_TIMESPEC): Add check for <sys/time.h>.
18900         * m4/st_mtim.m4: Indentation.
18901
18902         Module nanosleep.
18903         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): New macro.
18904         (jm_FUNC_NANOSLEEP): Add check for <sys/time.h>. Invoke
18905         gl_PREREQ_NANOSLEEP.
18906
18907         Module regex.
18908         * m4/regex.m4 (jm_PREREQ_REGEX): New macro.
18909         (jm_INCLUDED_REGEX): Invoke jm_PREREQ_REGEX.
18910         (gl_REGEX): New macro.
18911
18912         Module rename.
18913         * m4/rename.m4 (gl_PREREQ_RENAME): New macro.
18914         (vb_FUNC_RENAME): Invoke gl_PREREQ_RENAME.
18915
18916         Module rmdir.
18917         * m4/rmdir.m4: New file.
18918
18919         Module utime.
18920         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Use onceonly macros.
18921         * m4/utime.m4 (gl_PREREQ_UTIME): New macro.
18922         (jm_FUNC_UTIME): Invoke gl_PREREQ_UTIME.
18923
18924         Module dirname.
18925         * m4/dirname.m4: New file.
18926
18927         Module getopt.
18928         * m4/getopt.m4: New file.
18929
18930         Module unistd-safer.
18931         * m4/unistd-safer.m4: New file.
18932
18933         Module fnmatch.
18934         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Include <stdlib.h>, for exit()
18935         declaration.
18936         (gl_PREREQ_FNMATCH_EXTRA): New macro.
18937         (gl_FUNC_FNMATCH_POSIX): New macro.
18938         (gl_FUNC_FNMATCH_GNU): Renamed from AC_FUNC_FNMATCH_GNU. Invoke
18939         gl_PREREQ_FNMATCH_EXTRA. Use the function name gnu_fnmatch, not
18940         simply fnmatch.
18941
18942         Module exclude.
18943         * m4/exclude.m4: New file.
18944
18945         Module human.
18946         * m4/human.m4: New file.
18947
18948         Module acl.
18949         * m4/acl.m4: Nop.
18950
18951         Module backupfile.
18952         * m4/backupfile.m4: New file.
18953         * m4/d-ino.m4: Indentation.
18954
18955         Module fsusage.
18956         * m4/fsusage.m4 (gl_FSUSAGE): New macro.
18957         (jm_STATFS_TRUNCATES): New macro, from coreutils-4.5.4/configure.ac.
18958         (gl_PREREQ_FSUSAGE_EXTRA): New macro.
18959
18960         Module dirfd.
18961         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Invoke some AC_EGREP_CPP
18962         requirements.
18963
18964         Module euidaccess.
18965         * m4/euidaccess.m4: New file.
18966
18967         Module file-type.
18968         * m4/file-type.m4: New file.
18969
18970         Module fileblocks.
18971         * m4/fileblocks.m4: New file.
18972
18973         Module filemode.
18974         * m4/filemode.m4: New file.
18975
18976         Module isdir.
18977         * m4/isdir.m4: New file.
18978
18979         Module lchown.
18980         * m4/lchown.m4 (gl_PREREQ_LCHOWN): New macro.
18981         (jm_FUNC_LCHOWN): Invoke gl_PREREQ_LCHOWN.
18982
18983         Module makepath.
18984         * m4/makepath.m4: New file.
18985
18986         Module modechange.
18987         * m4/modechange.m4: New file.
18988
18989         Module mountlist.
18990         * m4/mountlist.m4: New file.
18991         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Use onceonly macros.
18992         Indentation.
18993
18994         Module path-concat.
18995         * m4/path-concat.m4: New file.
18996
18997         Module pathmax.
18998         * m4/pathmax.m4: New file.
18999
19000         Module same.
19001         * m4/same.m4: New file.
19002
19003         Module save-cwd.
19004         * m4/save-cwd.m4: New file.
19005
19006         Module savedir.
19007         * m4/savedir.m4: New file.
19008
19009         Module xgetcwd.
19010         * m4/xgetcwd.m4: New file.
19011         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Use onceonly macros.
19012
19013         Module xreadlink.
19014         * m4/xreadlink.m4: New file.
19015
19016         Module safe-read.
19017         * m4/safe-read.m4: New file.
19018
19019         Module safe-write.
19020         * m4/safe-write.m4: New file.
19021
19022         Module closeout.
19023         * m4/closeout.m4: New file.
19024
19025         Module stdio-safer.
19026         * m4/stdio-safer.m4: New file.
19027
19028         Module getpass.
19029         * m4/getpass.m4: New file.
19030
19031         Module getugroups.
19032         * m4/getugroups.m4: New file.
19033
19034         Module group-member.
19035         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): New macro.
19036         (jm_FUNC_GROUP_MEMBER): Invoke AC_GNU_SOURCE, gl_PREREQ_GROUP_MEMBER.
19037
19038         Module idcache.
19039         * m4/idcache.m4: New file.
19040
19041         Module userspec.
19042         * m4/userspec.m4: New file.
19043
19044         Module gettime.
19045         * m4/clock_time.m4: New file.
19046         * m4/gettime.m4: New file.
19047
19048         Module settime.
19049         * m4/settime.m4: New file.
19050
19051         Module posixtm.
19052         * m4/posixtm.m4: New file.
19053
19054         Module gethostname.
19055         * m4/gethostname.m4: New file.
19056
19057         Module canon-host.
19058         * m4/canon-host.m4: New file.
19059
19060         Module gettext.
19061         * m4/codeset.m4: New file, from gettext-0.11.5.
19062         * m4/gettext.m4: New file, from gettext-0.11.5.
19063         * m4/glibc21.m4: New file, from gettext-0.11.5.
19064         * m4/iconv.m4: New file, from gettext-0.11.5.
19065         * m4/intdiv0.m4: New file, from gettext-0.11.5.
19066         * m4/inttypes-pri.m4: New file, from gettext-0.11.5.
19067         * m4/inttypes.m4: New file, from gettext-0.11.5.
19068         * m4/inttypes_h.m4: New file, from gettext-0.11.5 with modifications.
19069         * m4/isc-posix.m4: New file, from gettext-0.11.5.
19070         * m4/lcmessage.m4: New file, from gettext-0.11.5.
19071         * m4/lib-ld.m4: New file, from gettext-0.11.5.
19072         * m4/lib-link.m4: New file, from gettext-0.11.5.
19073         * m4/lib-prefix.m4: New file, from gettext-0.11.5.
19074         * m4/progtest.m4: New file, from gettext-0.11.5.
19075         * m4/stdint_h.m4: New file, from gettext-0.11.5 with modifications.
19076         * m4/uintmax_t.m4: New file, from gettext-0.11.5 with modifications.
19077         * m4/ulonglong.m4: New file, from gettext-0.11.5 with modifications.
19078
19079         Module localcharset.
19080         * m4/localcharset.m4: New file.
19081
19082         Module hard-locale.
19083         * m4/hard-locale.m4: New file.
19084
19085         Module mbswidth.
19086         * m4/mbswidth.m4 (gl_MBSWIDTH): Renamed from jm_PREREQ_MBSWIDTH. Use
19087         onceonly macros.
19088         * m4/mbrtowc.m4: Add comment.
19089
19090         Module memcasecmp.
19091         * m4/memcasecmp.m4: New file.
19092
19093         Module memcoll.
19094         * m4/memcoll.m4: New file.
19095
19096         Module unicodeio.
19097         * m4/unicodeio.m4: New file.
19098
19099         Module rpmatch.
19100         * m4/rpmatch.m4: New file.
19101
19102         Module yesno.
19103         * m4/yesno.m4: New file.
19104
19105         Module exitfail.
19106         * m4/exitfail.m4: New file.
19107
19108         Module c-stack.
19109         * m4/c-stack.m4 (gl_C_STACK): New macro.
19110         (jm_PREREQ_C_STACK): Check for <sys/time.h>. Use onceonly macros.
19111
19112         Module error.
19113         * m4/error.m4 (gl_ERROR): New macro.
19114         (jm_PREREQ_ERROR): Use onceonly macros.
19115
19116         Module fatal.
19117         * m4/fatal.m4: New file.
19118
19119         Module getloadavg.
19120         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Use onceonly macros.
19121         (gl_FUNC_GETLOADAVG, gl_PREREQ_GETLOADAVG): New macros.
19122
19123         Module getpagesize.
19124         * m4/getpagesize.m4: New file.
19125
19126         Module getusershell.
19127         * m4/getusershell.m4: New file.
19128
19129         Module physmem.
19130         * m4/physmem.m4: New file.
19131
19132         Module posixver.
19133         * m4/posixver.m4: New file.
19134
19135         Module quotearg.
19136         * m4/quotearg.m4: New file.
19137
19138         Module quote.
19139         * m4/quote.m4: New file.
19140
19141         Module readutmp.
19142         * m4/readutmp.m4: New file, based on jm_PREREQ_READUTMP from prereq.m4.
19143
19144         Module sig2str.
19145         * m4/sig2str.m4: New file.
19146
19147         Other.
19148         * m4/longlong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Remove, moved to
19149         ulonglong.m4.
19150         * m4/intmax_t.m4: New file.
19151         * m4/d-type.m4: Indentation.
19152         * m4/jm-macros.m4: Update.
19153         * m4/prereq.m4 (jm_PREREQ): Update.
19154         (jm_PREREQ_ADDEXT): Remove, obsoleted by backupfile.m4.
19155         (jm_PREREQ_CANON_HOST): Remove, obsoleted by canon-host.m4.
19156         (jm_PREREQ_DIRNAME): Remove, obsoleted by dirname.m4.
19157         (jm_PREREQ_EXCLUDE): Remove, obsoleted by exclude.m4.
19158         (jm_PREREQ_GETPAGESIZE): Remove, obsoleted by getpagesize.m4.
19159         (jm_PREREQ_HARD_LOCALE): Remove, obsoleted by hard-locale.m4.
19160         (jm_PREREQ_HASH): Remove, obsoleted by hash.m4.
19161         (jm_PREREQ_HUMAN): Remove, obsoleted by human.m4.
19162         (jm_PREREQ_MEMCHR): Remove, obsoleted by memchr.m4.
19163         (jm_PREREQ_PHYSMEM): Remove, obsoleted by physmem.m4.
19164         (jm_PREREQ_POSIXVER): Remove, obsoleted by posixver.m4.
19165         (jm_PREREQ_QUOTEARG): Remove, obsoleted by quotearg.m4.
19166         (jm_PREREQ_READUTMP): Remove, obsoleted by readutmp.m4.
19167         (jm_PREREQ_REGEX): Remove, obsoleted by regex.m4.
19168         (jm_PREREQ_STRNLEN): Remove, obsoleted by strnlen.m4.
19169         (jm_PREREQ_TEMPNAME): Remove, obsoleted by mkstemp.m4.
19170         (jm_PREREQ_XGETCWD): Remove, obsoleted by xgetcwd.m4.
19171         (jm_PREREQ_XREADLINK): Remove, obsoleted by xreadlink.m4.
19172         * m4/readdir.m4 (jm_FUNC_READDIR): Use onceonly macros.
19173
19174 2002-12-24  Bruno Haible  <bruno@clisp.org>
19175
19176         * MODULES.txt: Update according to m4/ changes.
19177
19178         Module gettext.
19179         * config.rpath: New file, from gettext-0.11.5.
19180
19181         * modules/*: New module descriptions.
19182         * gnulib-tool: New file.
19183         * MODULES.html.sh: New file.
19184
19185 2002-12-21  Karl Berry  <karl@gnu.org>
19186
19187         * doc/fdl.texi: update to version 1.2.
19188
19189 2002-12-19  Karl Berry  <karl@gnu.org>
19190
19191         * config/config.guess: update from prep.
19192
19193 2002-12-18  Bruno Haible  <bruno@clisp.org>
19194
19195         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't test for localtime_r.
19196         * m4/jm-mktime.m4 (jm_FUNC_MKTIME): Likewise.
19197
19198 2002-12-17  Bruno Haible  <bruno@clisp.org>
19199
19200         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Remove checks for limits.h,
19201         stdlib.h, string.h.
19202
19203 2002-12-17  Bruno Haible  <bruno@clisp.org>
19204
19205         * lib/canon-host.c (strdup): Remove unused declaration.
19206
19207         * lib/fsusage.c: Include full_read.h.
19208         (get_fs_usage): Use full_read instead of safe_read.
19209
19210         * lib/utime.c (utime_null): Use SAFE_READ_ERROR.
19211
19212 2002-12-12  Karl Berry  <karl@gnu.org>
19213
19214         * config/config.guess: update from prep.
19215
19216 2002-12-11  Bruno Haible  <bruno@clisp.org>
19217
19218         * m4/setenv.m4: New file, from gettext-0.11.5.
19219
19220 2002-12-11  Bruno Haible  <bruno@clisp.org>
19221
19222         * lib/setenv.h: Rewritten to cope with systems that have setenv() but
19223         not unsetenv().
19224         * lib/setenv.c, unsetenv.c: Taken from glibc-2.2.4 with the following
19225         modifications:
19226
19227         2002-12-11  Bruno Haible  <bruno@clisp.org>
19228
19229                 * setenv.c (alloca): Fall back to malloc.
19230                 (freea): New macro.
19231                 (setenv): Use freea() to free memory allocated with alloca().
19232
19233         2002-11-13  Bruno Haible  <bruno@clisp.org>
19234
19235                 * setenv.c (compar_fn_t, __add_to_environ, setenv): Use ANSI C
19236                 function declarations.
19237                 * unsetenv.c (unsetenv): Likewise.
19238
19239         2002-03-04  Bruno Haible  <bruno@clisp.org>
19240
19241                 Portability to AIX 4.3.3.
19242                 * unsetenv.c: New file, extracted from setenv.c.
19243                 * setenv.c: Move the unsetenv() function to unsetenv.c.
19244
19245         2001-12-20  Bruno Haible  <bruno@clisp.org>
19246
19247                 * setenv.c (__add_to_environ): Don't call realloc(NULL,...),
19248                 use malloc instead. For SunOS 4.
19249
19250         2001-12-11  Bruno Haible  <bruno@clisp.org>
19251
19252                 * setenv.c: Declare alloca.
19253                 (compar_fn_t): New typedef.
19254                 (KNOWN_VALUE, STORE_VALUE): Use it.
19255
19256         * lib/Makefile.am (libfetish_a_SOURCES): Add setenv.c, unsetenv.c,
19257         setenv.h.
19258
19259 2002-12-10  Paul Eggert  <eggert@twinsun.com>
19260
19261         Port exclude.c and exclude.h to more non-GNU systems, e.g. Solaris 7.
19262         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE, EXCLUDE_WILDCARDS):
19263         Choose values that are less likely to collide with system fnmatch
19264         options.
19265         * lib/exclude.c (FNM_CASEFOLD, FNM_LEADING_DIR): Define to 0 if not
19266         defined (e.g., a pure POSIX system).
19267         (EXCLUDE_macros_do_not_collide_with_FNM_macros): Use FNM_PATHNAME
19268         instead of FNM_FILE_NAME, for compatibility with pure POSIX sytems.
19269
19270 2002-12-06  Paul Eggert  <eggert@twinsun.com>
19271
19272         Undo the 2001-07-02 change for jm-glibc-io, as it was too much of
19273         a pain in practice to deal with generated m4 files.  This change
19274         goes together with the 2002-12-04 unlocked-io.h change in ../lib.
19275
19276         * m4/Makefile.am.in (Makefile.am): Don't mention jm-glibc-io.m4n
19277         and jm-glibc-io.m4, as they are no longer a special case.
19278         * m4/jm-glibc-io.m4: Rename from jm-glibc-io.m4n, and remove the
19279         kludge and the auto-generation stuff.  Check only whether the
19280         functions are declared, not whether they exist, since older hosts
19281         that don't declare the functions can't use the optimization anyway.
19282
19283 2002-12-06  Jim Meyering  <jim@meyering.net>
19284
19285         * lib/error.c: Be consistent: change `#ifndef _LIBC' to `#if !_LIBC'.
19286
19287         Merge in changes from libc's misc/error.c, in preparation
19288         for the merge of gnulib's changes back into libc.
19289
19290         * lib/error.c (_): Define only if not already defined.
19291         Move definition to follow all #include directives.
19292         Include unlocked-io.h only if !_LIBC.
19293         [_LIBC]: Include <libio/libioP.h>.
19294         [USE_IN_LIBIO]: Include <libio/iolibio.h>
19295         (fflush): Tweak definition to use INTUSE.
19296         (putc): Define.
19297
19298 2002-12-05  Paul Eggert  <eggert@twinsun.com>
19299
19300         * lib/alloca.c [defined emacs]: Include "lisp.h".
19301         (xalloc_die) [defined emacs]: New macro.
19302         (free) [defined emacs && defined EMACS_FREE]: Define to EMACS_FREE.
19303         [! defined emacs]: Include <xalloc.h>.
19304         (POINTER_TYPE) [!defined POINTER_TYPE]: New macro.
19305         (pointer): Typedef to POINTER_TYPE *.
19306         (malloc): Remove decl; we now always use xmalloc.
19307         (alloca): Use old-style definition, since Emacs needs this.
19308         Check for arithmetic overflow when computing combined size.
19309
19310 2002-12-04  Paul Eggert  <eggert@twinsun.com>
19311
19312         Do not generate unlocked-io.h automatically, since it's easier to
19313         maintain it by hand.
19314
19315         * lib/unlocked-io.h: New file, from GNU diffutils,
19316         but with proper copyright notice and attribution.
19317         * lib/gen-uio: Remove.
19318         * lib/Makefile.am: Add copyright notice.
19319         (libfetish_a_SOURCES): Add unlocked-io.h.
19320         (BUILT_SOURCES, all-local): Remove unlocked-io.h.
19321         (DISTCLEANFILES, io_functions): Remove macros.
19322         (EXTRA_DIST): Remove gen_uio.
19323         (unlocked-io.h): Remove rule.
19324
19325 2002-12-04  Jim Meyering  <jim@meyering.net>
19326
19327         Reflect the fact that stat.c and lstat.c are no longer generated.
19328         * lib/Makefile.am (BUILT_SOURCES): Remove stat.c and lstat.c.
19329         (DISTCLEANFILES): Likewise.
19330         (EXTRA_DIST): Likewise.
19331         (all_local): Don't depend on stat.c or lstat.c.
19332         (stat.c, lstat.c): Remove rules.
19333         (EXTRA_DIST): Remove xstat.in.
19334
19335         * lib/xstat.in: Remove file.  Contents moved into stat.c.
19336         * lib/stat.c: New file.  Contents mostly from xstat.in.
19337         * lib/stat.c: Rework so that it may serve to define rpl_lstat, too.
19338         * lib/lstat.c: New file. Simply #define LSTAT and include stat.c.
19339
19340         * lib/safe-read.c: Rework so that it may serve to define safe_write,
19341         too.
19342         * lib/safe-write.c: Simply #define SAFE_WRITE and include safe-read.c.
19343
19344 2002-12-03  Jim Meyering  <jim@meyering.net>
19345
19346         * lib/safe-read.c, safe-write.c: Change variable names and comments,
19347         but not semantics, to minimize the differences between these two files.
19348         (safe_read): Change comment to mention SAFE_READ_ERROR.
19349
19350         * lib/safe-read.c (IS_EINTR): Define.
19351         (safe_read): Use IS_EINTR in place of in-function cpp directives.
19352
19353 2002-12-02  Jim Meyering  <jim@meyering.net>
19354
19355         * lib/safe-read.c (EINTR): Define.
19356         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
19357         (INT_MAX): Provide fallback.
19358         (safe_read): Rewrite to iterate IFF the read fails with EINTR.
19359
19360         * lib/safe-read.h (SAFE_READ_ERROR): Define.
19361
19362 2002-12-02  Bruno Haible  <bruno@clisp.org>
19363
19364         * lib/safe-write.c (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM):
19365         Define, taken from safe-read.c.
19366         (INT_MAX): Provide fallback.
19367         (safe_write): Rewrite to iterate IFF the write fails with EINTR.
19368         * lib/safe-write.h (SAFE_WRITE_ERROR): Define.
19369
19370         * lib/safe-read.c (EINTR): Remove definition.
19371         (safe_read): Don't use EINTR if it is absent.
19372
19373 2002-12-01  Jim Meyering  <jim@meyering.net>
19374
19375         * lib/safe-read.c: (safe_read): Also exit the loop when read returns
19376         zero.
19377         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM, INT_MAX): Define.
19378
19379 2002-11-27  Paul Eggert  <eggert@twinsun.com>
19380
19381         * lib/hash.c (hash_lookup, hash_get_first, hash_get_next,
19382         hash_find_entry, hash_rehash): Replace `if (limit <= value) abort ();'
19383         with `if (! (value < limit)) abort ();', for readability.
19384
19385 2002-11-26  Karl Berry  <karl@gnu.org>
19386
19387         * lib/strdup.c: copy from libc again, with jim's ok.
19388         * lib/.cppi-disable: re-add strdup.c
19389
19390 2002-11-25  Karl Berry  <karl@gnu.org>
19391
19392         * lib/strtoll.c: copy from libc, meaning we now #include <strtol.c>
19393         instead of "strtol.c".
19394
19395 2002-11-25  Karl Berry  <karl@gnu.org>
19396
19397         * config/install-sh: update from automake for variable quoting, $0 in
19398         error msgs, etc.
19399
19400         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): new entry.
19401         * config/srclist.txt ($LIBCSRC/sysdeps/generic/strtoll.c lib gpl): new
19402         entry.
19403
19404 2002-11-25  Jim Meyering  <jim@meyering.net>
19405
19406         * lib/mktime.c: Sync from libc, now that it has the latest fix.
19407
19408 2002-11-24  Karl Berry  <karl@gnu.org>
19409
19410         * lib/error.c, getopt.c, getopt.h, getopt1.c, obstack.c, regex.c,
19411         regex.h, strdup.c, strtoll.c, tempname.c: change license to gpl.
19412
19413 2002-11-24  Jim Meyering  <jim@meyering.net>
19414
19415         Update from coreutils:
19416
19417         * lib/mktime.c: Merge in changes from libc.
19418
19419         Avoid a link-time failure on some Linux systems.
19420         * lib/mktime.c (STATIC): Define to be empty (_LIBC) or `static'
19421         (otherwise).
19422         (__mon_yday): Declare with the STATIC attribute.
19423         (__mktime_internal): Likewise.
19424         Based on a report from Greg Schafer.
19425
19426 2002-11-23  Jim Meyering  <jim@meyering.net>
19427
19428         * lib/sig2str.c (str2signum, sig2str): Avoid a warning from gcc:
19429         Use `unsigned', not `int', as type of index.
19430
19431         * lib/xstat.in [@BEGIN_LSTAT_ONLY@]: Include <string.h>.
19432
19433         * lib/fsusage.c: Remove unneeded parentheses around operands of
19434         `defined'.
19435
19436 2002-11-22  Paul Eggert  <eggert@twinsun.com>
19437
19438         * lib/quotearg.h: Allow multiple inclusion by surrounding with
19439         "#ifndef QUOTEARG_H_".  Include <stddef.h>, for size_t,
19440         so that we can be included first.
19441         (PARAMS): Remove; we now assume C89 or later.  All uses removed.
19442         * lib/quotearg.c: Include quotearg.h immediately after config.h.
19443         No need to include stddef.h or sys/types.h any more.
19444         Surround local include files with "", not "<>".
19445         Assume HAVE_LIMITS_H unconditionally, as we assume C89.
19446         Similarly, assume HAVE_C_BACKSLASH_A, CHAR_BIT, UCHAR_MAX, UINT_MAX,
19447         HAVE_STDLIB_H, HAVE_STRING_H, STDC_HEADERS.
19448         (HAVE_MBSINIT): Undef if !HAVE_MBRTOWC.
19449         (mbsinit): Define to 1 if !defined mbsinit && !HAVE_MBSINIT.
19450         (ISPRINT): Remove; no longer needed now that we assume C89.
19451
19452         (clone_quoting_options, quotearg_buffer, quotearg_n_options):
19453         Preserve errno.
19454
19455         (quotearg_buffer_restyled, quotearg_n, quotearg_n_style,
19456         quotearg_char): Use SIZE_MAX rather than
19457         (size_t) -1 when we are talking about "infinity".
19458
19459         (quotearg_buffer_restyled): Fix bug when quoting trigraphs.
19460
19461 2002-11-22  Paul Eggert  <eggert@twinsun.com>
19462
19463         * lib/hash.c: Avoid use of <assert.h>, as the GNU Coding Standards
19464         hint that one should use `if (! x) abort ();' rather than `assert
19465         (x);', and anyway it's one less thing to worry about configuring.
19466         (hash_lookup, hash_get_first, hash_get_next, hash_find_entry,
19467         hash_rehash, hash_insert): Use abort rather than assert.
19468
19469 2002-11-22  Bruno Haible  <bruno@clisp.org>
19470
19471         * lib/safe-read.h: Assume C89. Add comments.
19472         (safe_read): Change return type to size_t.
19473         * lib/safe-read.c (safe_read): Change return type to size_t. Handle
19474         byte counts > SSIZE_MAX correctly.
19475         * lib/safe-write.h: New file.
19476         * lib/safe-write.c: New file.
19477         * lib/full-read.h: New file.
19478         * lib/full-read.c: New file.
19479         * lib/full-write.h: Assume C89. Add comments.
19480         * lib/full-write.c: Include safe-write.h.
19481         (full_write): Rewritten to use safe_write.
19482         Suggested by Jim Meyering and Paul Eggert.
19483
19484 2002-11-21  Jim Meyering  <jim@meyering.net>
19485
19486         * lib/strdup.c (strdup): Tweak comment and initial #if/#include.
19487
19488         Merge in changes from the coreutils.
19489
19490         2002-09-25  Paul Eggert  <eggert@twinsun.com>
19491         * lib/fsusage.c [! HAVE_INTTYPES_H && HAVE_STDINT_H] Include
19492         <stdint.h>.
19493         (UINTMAX_MAX) [!defined UINTMAX_MAX]: New macro.
19494         (PROPAGATE_ALL_ONES): Work even if X is unsigned and narrower than
19495         int.  Work more efficiently if X is the same width as uintmax_t.
19496         Do not compare X to -1, to avoid bogus compiler warning.
19497         (get_fs_usage): (uintmax_t) -1 -> UINTMAX_MAX to avoid a cast.
19498         Don't assume that f_frsize and f_bsize are the same type.
19499
19500         * lib/mountlist.c: #undef MNT_IGNORE before defining it, to avoid
19501         warning on FreeBSD.
19502
19503         * lib/makepath.c (make_path): Restore umask *before* creating the final
19504         component.
19505         (make_path): Minor reformatting.
19506
19507         * lib/xmalloc.c: Adjust to work with new autoconf macros,
19508         AC_FUNC_MALLOC and AC_FUNC_REALLOC: test #ifndef
19509         HAVE_MALLOC/HAVE_REALLOC.
19510
19511         * lib/mountlist.h (ME_DUMMY): Don't count entries of type `auto' as
19512         dummy ones.  At least on GNU/Linux systems, `auto' means something
19513         else.
19514         From Michael Stone.
19515
19516 2002-11-21  Bruno Haible  <bruno@clisp.org>
19517
19518         Remove case insensitive option matching.
19519         * lib/argmatch.h (argcasematch): Remove declaration.
19520         (ARGCASEMATCH): Remove macro.
19521         (__xargmatch_internal): Remove case_sensitive argument.
19522         (XARGMATCH): Update.
19523         (XARGCASEMATCH): Remove macro.
19524         * lib/argmatch.c (argmatch): Renamed from __argmatch_internal. Remove
19525         case_sensitive argument.
19526         (argcasematch): Remove function.
19527         (__xargmatch_internal): Remove case_sensitive argument.
19528         (main): Use XARGMATCH instead of XARGCASEMATCH.
19529
19530         * lib/xmalloc.c: Change compile-time error message. Add comment about
19531         required autoconf version.
19532
19533 2002-11-20  Paul Eggert  <eggert@twinsun.com>
19534
19535         Merge argmatch cleanups from Bison.  Assume C89.
19536
19537         * lib/argmatch.c: Include config.h here, not in argmatch.h.
19538         Include stdlib.h, for EXIT_FAILURE.
19539         Always include <string.h>, since we assume C89.
19540         (EXIT_FAILURE): Remove pre-C89 bug workaround.
19541         * lib/argmatch.h: Do not include <config.h> or <sys/types.h>.
19542         Include <stddef.h> instead, since it's all we need for size_t.
19543         (PARAMS): Remove.  All uses removed.
19544         (ARRAY_CARDINALITY): Do not bother to #undef.
19545         (ARRAY_CARDINALITY, ARGMATCH, ARGCASEMATCH, invalid_arg,
19546         ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
19547         Remove unnecessary parentheses.
19548         (ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
19549         Insert necessary parentheses.
19550         (ARGMATCH_CONSTRAINT, ARGMATCH_VERIFY): New macros.
19551         (ARGMATCH_ASSERT): Use ARGMATCH_CONSTRAINT.
19552
19553 2002-11-19  Bruno Haible  <bruno@clisp.org>
19554
19555         * lib/mbswidth.c: Include mbswidth.h right at the beginning.
19556         * lib/mbswidth.h: Include <stddef.h>, for size_t.
19557
19558         * lib/mbswidth.h (PARAMS): Remove macro.
19559         (mbswidth, mbsnwidth): Use ANSI C function declarations.
19560         * lib/mbswidth.c (mbswidth, mbsnwidth): Likewise.
19561
19562         * lib/gcd.h (PARAMS): Remove macro.
19563         (gcd): Use ANSI C function declarations.
19564         * lib/gcd.c (gcd): Likewise.
19565
19566 2002-11-15  Bruno Haible  <bruno@clisp.org>
19567
19568         * lib/strcspn.c: Include <stddef.h>.
19569         (strcspn): Use ANSI C function declaration. Change return type to
19570         size_t. Use NULL.
19571         * lib/strpbrk.c: Minimize diffs to glibc. Include <stddef.h>.
19572         (strpbrk): Use NULL.
19573         * lib/strpbrk.h (PARAMS): Remove macro.
19574         (strpbrk): Use ANSI C function declaration.
19575         * lib/strstr.c: Don't include <sys/types.h>.
19576         * lib/strstr.h (PARAMS): Remove macro.
19577         (strstr): Use ANSI C function declarations.
19578
19579 2002-11-14  Karl Berry  <karl@gnu.org>
19580
19581         * config/mkinstalldirs: `do' on separate line, instead of
19582         `for var; do'.
19583
19584 2002-11-06  Bruno Haible  <bruno@clisp.org>
19585
19586         * lib/gcd.h (gcd): Change argument type to 'unsigned long'.
19587         * lib/gcd.c (gcd): Likewise.
19588
19589 2002-11-05  Bruno Haible  <bruno@clisp.org>
19590
19591         * lib/gcd.h: New file, from gettext-0.11.5.
19592         * lib/gcd.c: New file, from gettext-0.11.5.
19593
19594 2002-11-05  Bruno Haible  <bruno@clisp.org>
19595
19596         * lib/error.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
19597         * lib/getopt.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
19598         * lib/obstack.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
19599         * lib/regex.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
19600
19601         * lib/argmatch.c: Include gettext.h instead of <locale.h> and
19602         <libintl.h>.
19603         * lib/makepath.c: Include gettext.h instead of <locale.h> and
19604         <libintl.h>.
19605
19606         * lib/closeout.c: Include gettext.h instead of <libintl.h>.
19607         * lib/human.c: Include gettext.h instead of <libintl.h>.
19608         * lib/quotearg.c: Include gettext.h instead of <libintl.h>.
19609         * lib/rpmatch.c: Include gettext.h instead of <libintl.h>.
19610         * lib/unicodeio.c: Include gettext.h instead of <libintl.h>.
19611         * lib/userspec.c: Include gettext.h instead of <libintl.h>.
19612         * lib/version-etc.c: Include gettext.h instead of <libintl.h>.
19613         * lib/xmalloc.c: Include gettext.h instead of <libintl.h>.
19614         (textdomain): Remove definition.
19615         * lib/xmemcoll.c: Include gettext.h instead of <libintl.h>.
19616
19617         * lib/long-options.c: Remove include of <libintl.h> and definition of
19618         _.
19619         * lib/same.c: Remove include of <libintl.h> and definition of _.
19620
19621 2002-11-04  Owen Taylor  <otaylor@redhat.com>
19622
19623         * lib/config.charset: A few additions for Solaris.
19624
19625 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
19626
19627         Make it possible to build libcharset with CC=gcc CFLAGS="-x c++".
19628         * lib/localcharset.c (locale_charset): Declare as extern "C".
19629
19630 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
19631
19632         * lib/config.charset: msdos in uk_UA uses CP1125.
19633
19634 2002-11-04  Bruno Haible  <bruno@clisp.org>
19635
19636         * lib/stpcpy.h: New file, from GNU gettext-0.11.5.
19637         * lib/strcase.h: New file, from GNU gettext-0.11.5.
19638         * lib/strpbrk.h: New file, from GNU gettext-0.11.5.
19639         * lib/strstr.h: New file, from GNU gettext-0.11.5.
19640         * lib/xgetcwd.h: New file, from GNU gettext-0.11.5.
19641
19642 2002-11-04  Bruno Haible  <bruno@clisp.org>
19643
19644         * lib/localcharset.c (locale_charset): Don't return an empty string.
19645
19646 2002-11-04  Bruno Haible  <bruno@clisp.org>
19647
19648         * lib/localcharset.c (get_charset_aliases): Add more Windows specific
19649         aliases.
19650
19651 2002-11-04  Bruno Haible  <bruno@clisp.org>
19652
19653         * lib/config.charset: Update for newest glibc. Add canonical names
19654         ISO-8859-14, KOI8-T, TCVN5712-1, GEORGIAN-PS.
19655
19656 2002-11-04  Bruno Haible  <bruno@clisp.org>
19657
19658         * lib/config.charset: Add support for NetBSD.
19659
19660 2002-11-04  Bruno Haible  <bruno@clisp.org>
19661
19662         * lib/config.charset [msdosdjgpp]: For Russian, use CP866.
19663
19664 2002-11-01  Bruno Haible  <bruno@clisp.org>
19665
19666         * configure.in: Add AC_CONFIG_AUX_DIR call.
19667         (AC_OUTPUT): Add m4/Makefile, lib/Makefile. Remove doc/Makefile,
19668         test/Makefile.
19669         * Makefile.in (subdirs): Add m4, lib. Remove doc, test.
19670
19671 2002-09-28  Karl Berry  <karl@gnu.org>
19672
19673         * config/srclist.txt: can't copy install-sh/mkinstalldirs from
19674         installed automake until the next release, since changes have been
19675         made.
19676
19677 2002-09-25  Karl Berry  <karl@gnu.org>
19678
19679         * lib/strdup.c: copy from libc/string (via ../config/srclist*).
19680         * lib/getopt*: copy from libc/posix.
19681         * lib/gettext.h: copy from gettext.
19682         * lib/.cppi-disable: add strdup.c, gettext.h.
19683
19684 2002-09-25  Karl Berry  <karl@gnu.org>
19685
19686         * config/srclist.txt: enable gettext.h check.
19687         * config/config.{guess,sub}: update from prep.
19688         * config/depcomp, install-sh, mdate-sh, missing, mkinstalldirs: update
19689                 from automake 1.6.3.
19690         See srclist*.
19691
19692 2002-08-23  Stefan Monnier  <monnier@cs.yale.edu>
19693
19694         * regex.c (PATFETCH): Remove the translating fetch.
19695         (PATFETCH_RAW): Rename to PATFETCH.
19696         (set_image_of_range): New fun.
19697         (SET_RANGE_TABLE_WORK_AREA): Use it.
19698         (regex_compile): Don't translate the pattern chars so eagerly.
19699         Only do it when inserting an `exactn' bytecode or when handling
19700         a char-range.
19701         (mutually_exclusive_p): Avoid empty statement.
19702
19703 2002-07-06  Jim Meyering  <meyering@lucent.com>
19704
19705         * m4/README: Don't mention Makefile.am.in.
19706         Outline how I've tested changes to .m4 files.  Yep, it's a pain.
19707
19708 2002-07-01  Jim Meyering  <meyering@lucent.com>
19709
19710         * lib/c-stack.c: Include sys/time.h.
19711         From Volker Borchert.
19712
19713 2002-06-26  Paul Eggert  <eggert@twinsun.com>
19714
19715         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for btowc.
19716
19717 2002-06-26  Paul Eggert  <eggert@twinsun.com>
19718
19719         * lib/fnmatch.c, fnmatch_loop.c (WIDE_CHAR_SUPPORT):
19720         New macro.  Use it uniformly instead of
19721         (defined HAVE_WCTYPE_H && defined HAVE_WCHAR_H).
19722         It also uses HAVE_BTOWC, to fix a porting bug on Solaris 2.5.1
19723         reported by Vin Shelton.
19724
19725 2002-06-22  Paul Eggert  <eggert@twinsun.com>
19726
19727         * lib/c-stack.h (segv_handler, c_stack_action) [! defined SA_SIGINFO]:
19728         Do not assume SA_SIGINFO behavior.
19729         Bug reported by Jim Meyering on NetBSD 1.5.2.
19730
19731 2002-06-22  Jim Meyering  <meyering@lucent.com>
19732
19733         * m4/c-stack.m4: New file, from diffutils-2.8.2.
19734         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_C_STACK.
19735
19736         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Don't require AC__GNU_SOURCE,
19737         now that configure.ac uses AC_GNU_SOURCE.
19738         (jm_MACROS): Rename: jm_FUNC_FNMATCH to AC_FUNC_FNMATCH_GNU.
19739         * m4/prereq.m4 (jm_PREREQ_EXCLUDE): Likewise, wrt jm_FUNC_FNMATCH.
19740
19741         Update to latest tools.  Suggestions from Paul Eggert.
19742         * m4/stdbool.m4: New file, from diffutils-2.8.2.
19743         * m4/gnu-source.m4: Update from diffutils-2.8.2.
19744         * m4/fnmatch.m4: Likewise.
19745         * m4/prereq.m4: Change each use of AC_CHECK_HEADERS(stdbool.h)
19746         to AC_HEADER_STDBOOL
19747
19748 2002-06-22  Jim Meyering  <meyering@lucent.com>
19749
19750         * lib/fnmatch.c (ISASCII, ISPRINT): Undefine, to avoid warning about
19751         redefinition due to Solaris 2.6's definition in /usr/include/sys/euc.h.
19752
19753 2002-06-22  Jim Meyering  <meyering@lucent.com>
19754
19755         * lib/c-stack.c, lib/c-stack.h: New files, from diffutils-2.8.2.
19756
19757         * lib/exitfail.c, exitfail.h: Likewise.
19758         * lib/Makefile.am (libfetish_a_SOURCES): Add exitfail.c and exitfail.h.
19759
19760         * lib/Makefile.am (libfetish_a_SOURCES): Add fnmatch_.h in place
19761         of fnmatch.h.
19762         (EXTRA_DIST): Add fnmatch_loop.c.
19763         (libfetish_a_SOURCES): Add c-stack.c and c-stack.h.
19764
19765         * lib/fnmatch_loop.c: New file, from diffutils-2.8.2.
19766         * lib/fnmatch.c: Update from diffutils-2.8.2.
19767         * lib/fnmatch_.h: New file.  From diffutils-2.8.2.
19768         * lib/fnmatch.h: Remove file.
19769
19770 2002-06-21  Jim Meyering  <meyering@lucent.com>
19771
19772         * m4/c-bs-a.m4: Add comment, from diffutils-2.8.2.
19773         * m4/mbrtowc.m4: Likewise.
19774
19775         * m4/mbstate_t.m4: Update from diffutils-2.8.2.
19776         * m4/mbswidth.m4: Reflect name change:
19777         s/AC_MBSTATE_T/AC_TYPE_MBSTATE_T.
19778         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
19779
19780         * m4/lib-link.m4: Update from gettext-0.11.2.
19781         * m4/gettext.m4: Likewise.
19782
19783         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for hurd.h.
19784         From Alfred M. Szmidt.
19785
19786 2002-06-18  Paul Eggert  <eggert@twinsun.com>
19787
19788         * lib/file-type.h: Report an error if neither S_ISREG nor
19789         S_IFREG is defined, instead of using a test specific to glibc
19790         2.2.  This should be safe, since POSIX requires S_ISREG and
19791         Unix Version 7 had S_IFREG.  We don't need to check for
19792         <sys/types.h> since we don't use any symbols that it defines.
19793
19794 2002-06-15  Richard Dawe  <richdawe@bigfoot.com>
19795
19796         * lib/Makefile.am (lstat.c, stat.c, .sin.sed): Use t-$@, rather than
19797         $@-t, so that each temporary file name is unique and valid in the first
19798         8 characters, for operation under DOS.
19799
19800 2002-06-15  Paul Eggert  <eggert@twinsun.com>
19801
19802         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for st_author.
19803
19804 2002-06-15  Jim Meyering  <meyering@lucent.com>
19805
19806         Work even with DJGPP 2.03, which lacks support for symlinks.
19807         From Richard Dawe.
19808         * lib/xstat.in (S_ISLNK): Define to 0 if neither S_ISLNK nor S_IFLNK
19809         is defined.
19810         * lib/lchown.c (S_ISLNK): Likewise.
19811
19812 2002-06-15  Jim Meyering  <meyering@lucent.com>
19813
19814         * lib/file-type.h (FILE_TYPE_H): Guard entire contents with #ifndef.
19815         For GNU libc 2.2 and newer, ensure that <sys/types.h> and <sys/stat.h>
19816         have been included before this file.
19817
19818 2002-06-14  Jim Meyering  <meyering@lucent.com>
19819
19820         * lib/file-type.h: Use the version from diffutils-2.8.2.
19821         * lib/file-type.c: Likewise.
19822
19823 2002-06-07  Jim Meyering  <meyering@lucent.com>
19824
19825         * m4/prereq.m4 (jm_PREREQ_STAT): Check for sys/param.h and sys/mount.h.
19826         They're needed at least for NetBSD 1.5.2.
19827         ($statxfs_includes): Include those same headers.
19828         ($statxfs_includes): Include sys/vfs.h if available.
19829         ($statxfs_includes): Likewise for sys/statvfs.h.
19830         Check for the following members in both structs statfs and statvfs:
19831         f_basetype, f_type, f_fsid.__val, f_namemax, f_namelen.
19832
19833 2002-06-01  Jim Meyering  <meyering@lucent.com>
19834
19835         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename macro:
19836         s/D_TYPE_IN_DIRENT/HAVE_STRUCT_DIRENT_D_TYPE/.
19837
19838 2002-05-28  Jim Meyering  <meyering@lucent.com>
19839
19840         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `mkdir', not `rmdir'.
19841         Reported by Volker Borchert.
19842
19843 2002-05-27  Jim Meyering  <meyering@lucent.com>
19844
19845         Fix a problem seen only on nonconforming systems whereby ls.c's
19846         use of localtime, and then of gettimeofday would cause trouble:
19847         the localtime call used to initialize rpl_gettimeofday's save
19848         mechanism would clobber ls's current local time information so
19849         that in any long listing the first file would always be listed
19850         with date 1970-01-01.  Analysis by Volker Borchert.
19851
19852         * lib/gettimeofday.c (localtime): Undefine.
19853         (rpl_localtime): New function.
19854
19855 2002-05-27  Jim Meyering  <meyering@lucent.com>
19856
19857         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Also replace
19858         localtime.
19859
19860         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `rmdir' so we don't try to
19861         use the replacement function; it wouldn't resolve at link time.
19862         Reported by Volker Borchert.
19863
19864 2002-05-22  Jim Meyering  <meyering@lucent.com>
19865
19866         * lib/Makefile.am (libfetish_a_SOURCES): Add file-type.c and
19867         file-type.h.
19868         * lib/file-type.h: New file.
19869         * lib/file-type.c (file_type): New file/function.  Extracted from
19870         diffutils.
19871
19872 2002-04-30  Jim Meyering  <meyering@lucent.com>
19873
19874         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_STAT.
19875
19876 2002-04-29  Paul Eggert  <eggert@twinsun.com>
19877
19878         * m4/prereq.m4 (jm_PREREQ_SIG2STR): Remove; all callers changed.
19879
19880 2002-04-29  Paul Eggert  <eggert@twinsun.com>
19881
19882         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): Check for stdlib.h.
19883         Do not check for alloca.h (no longer used) or stdbool.h (was never
19884         used?).  Add AM_C_PROTOTYPES since hard-locale.h uses it.
19885
19886 2002-04-29  Paul Eggert  <eggert@twinsun.com>
19887
19888         * lib/hard-locale.c: Upgrade to version used in GNU Diffutils 2.8.1.
19889
19890 2002-04-29  Jim Meyering  <meyering@lucent.com>
19891
19892         * m4/jm-macros.m4 (jm_MACROS): Remove use of AC_FUNC_STRNLEN.
19893         * m4/prereq.m4: Add jm_PREREQ_STRNLEN.
19894         Use AC_FUNC_STRNLEN here instead.
19895
19896         * m4/jm-macros.m4: Don't AC_REQUIRE([AC_PROG_CC_STDC]).
19897         With autoconf-2.53a, it's part of AC_PROG_CC.
19898
19899 2002-04-28  Paul Eggert  <eggert@twinsun.com>
19900
19901         * m4/jm-macros.m4 (jm_MACROS): Add AC_REPLACE_FUNCS(sig2str).
19902         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_SIG2STR.
19903
19904 2002-04-28  Paul Eggert  <eggert@twinsun.com>
19905
19906         * lib/sig2str.h, lib/sig2str.c: New files.
19907         * lib/Makefile.am (libfetish_a_SOURCES): Add sig2str.h.
19908
19909 2002-04-28  Paul Eggert  <eggert@twinsun.com>
19910
19911         * lib/sig2str.h (SIGNUM_BOUND): Do not use WTERMSIG, to avoid
19912         depending on <sys/wait.h> and WTERMSIG.  Default to 64 instead
19913         of 127, since 64 is the largest conceivable number for ancient
19914         nonstandard hosts.
19915         * lib/sig2str.c: Do not include <sys/wait.h>; no longer needed.
19916
19917 2002-04-28  Jim Meyering  <meyering@lucent.com>
19918
19919         * lib/sig2str.c (WTERMSIG): Remove definition (unused).
19920
19921 2002-04-24  Jim Meyering  <meyering@lucent.com>
19922
19923         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): New macro.
19924         (jm_PREREQ): Use it.
19925
19926         * m4/getloadavg.m4: Check for these headers: locale.h unistd.h
19927         mach/mach.h fcntl.h.
19928         Check for this function: setlocale.
19929
19930 2002-04-24  Jim Meyering  <meyering@lucent.com>
19931
19932         * lib/gettext.h: New file, from Gettext.
19933         * lib/Makefile.am (INCLUDES): Remove -I../intl.
19934         (libfetish_a_SOURCES): Add gettext.h.
19935
19936 2002-04-16  Jim Meyering  <meyering@lucent.com>
19937
19938         * m4/prereq.m4 (jm_PREREQ_READUTMP): Also check for these members:
19939         ut_pid, ut_id, ut_exit.
19940
19941 2002-04-16  Jim Meyering  <meyering@lucent.com>
19942
19943         * lib/readutmp.h (UT_TYPE): Remove definition (now in who.c).
19944         (HAVE_STRUCT_XTMP_UT_EXIT, HAVE_STRUCT_XTMP_UT_ID): Define.
19945         (HAVE_STRUCT_XTMP_UT_PID, HAVE_STRUCT_XTMP_UT_TYPE): Define.
19946
19947 2002-04-12  Jim Meyering  <meyering@lucent.com>
19948
19949         * m4/ls-mntd-fs.m4 (checking for getmntinfo function...): Remove
19950         now-bogus check for f_type in sys/mount.h.  Instead, just test for the
19951         existence of the getmntinfo function.  Needed for Darwin 5.3.
19952
19953         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Also detect when dirfd is a macro.
19954         This is necessary at least on Darwin 5.3.
19955
19956         * m4/jm-macros.m4: Don't AC_REPLACE(strnlen), now that we use
19957         AC_FUNC_STRNLEN.  Otherwise, we'd end up putting two copies of
19958         strnlen.o in the library, and that makes some versions of ranlib
19959         object.
19960
19961 2002-04-12  Jim Meyering  <meyering@lucent.com>
19962
19963         * lib/dirfd.h (dirfd): Elide prototype if dirfd is a macro.
19964
19965 2002-04-09  Jim Meyering  <meyering@lucent.com>
19966
19967         * m4/malloc.m4: (jm_FUNC_MALLOC): Change the `checking ...' message
19968         to be more precise.  Rather than saying we're checking whether the
19969         function `works', say what we're testing.
19970         * m4/realloc.m4 (jm_FUNC_REALLOC): Likewise.
19971         Reported by Bruno Haible.
19972
19973 2002-03-10  Jim Meyering  <meyering@lucent.com>
19974
19975         * lib/makepath.c (make_path): Remove a comma from a diagnostic.
19976         Suggestion from Santiago Vila.
19977
19978 2002-03-08  Jim Meyering  <meyering@lucent.com>
19979
19980         * lib/rename.c: Mention that this wrapper is needed also on
19981         mips-dec-ultrix4.4 systems.
19982
19983 2002-03-02  Jim Meyering  <meyering@lucent.com>
19984
19985         * lib/gettime.c (gettime): Test HAVE_CLOCK_GETTIME,
19986         not HAVE_CLOCK_SETTIME.
19987
19988 2002-02-27  Paul Eggert  <eggert@twinsun.com>
19989
19990         * m4/jm-macros.m4 (jm_MACROS): Do not replace stime; no longer used.
19991         Check for clock_settime.
19992
19993 2002-02-27  Paul Eggert  <eggert@twinsun.com>
19994
19995         * lib/nanosleep.h: Rename to....
19996         * lib/timespec.h: New name for nanosleep.h.  All uses changed.
19997
19998         * lib/gettime.c: New file.
19999         * lib/settime.c: New file.
20000         * lib/stime.c: Remove.
20001
20002         * lib/Makefile.am (libfetish_a_SOURCES): Add gettime.c, settime.c,
20003         timespec.h.  Remove nanosleep.h.
20004
20005 2002-02-25  Paul Eggert  <eggert@twinsun.com>
20006
20007         * m4/acl.m4: New file.
20008         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_ACL.
20009         Do not check for acl or sys/acl.h, as AC_FUNC_ACL does that now.
20010
20011 2002-02-25  Paul Eggert  <eggert@twinsun.com>
20012
20013         * lib/acl.c, lib/acl.h: New files.
20014         * lib/Makefile.am (libfetish_a_SOURCES): Add acl.h, acl.c.
20015
20016 2002-02-24  Jim Meyering  <meyering@lucent.com>
20017
20018         * lib/strnlen.c (strnlen): Define-away/undef so that an inconsistent
20019         prototype in string.h (on at least AIX4.3.2.0 w/gcc-2.95.3) doesn't
20020         cause trouble.  Reported by Nelson Beebe.
20021
20022 2002-02-23  Paul Eggert  <eggert@twinsun.com>
20023
20024         * lib/path-concat.c (xpath_concat): Reorder code to pacify
20025         compilers that don't know that xalloc_die never returns.
20026
20027 2002-02-20  Jim Meyering  <meyering@lucent.com>
20028
20029         * lib/getdate.c: Regenerate using bison-1.33.
20030
20031 2002-02-17  Jim Meyering  <meyering@lucent.com>
20032
20033         * config/config.guess (main): Don't use `head -1'; it's no longer
20034         portable. Use `sed 1q' instead.
20035
20036 2002-02-16  gettextize  <bug-gnu-gettext@gnu.org>
20037
20038         * m4/codeset.m4: Upgrade to gettext-0.11.
20039         * m4/gettext.m4: Upgrade to gettext-0.11.
20040         * m4/glibc21.m4: Upgrade to gettext-0.11.
20041         * m4/iconv.m4: Upgrade to gettext-0.11.
20042         * m4/isc-posix.m4: Upgrade to gettext-0.11.
20043         * m4/lcmessage.m4: Upgrade to gettext-0.11.
20044         * m4/lib-ld.m4: New file, from gettext-0.11.
20045         * m4/lib-link.m4: New file, from gettext-0.11.
20046         * m4/lib-prefix.m4: New file, from gettext-0.11.
20047         * m4/progtest.m4: Upgrade to gettext-0.11.
20048
20049 2002-02-15  Paul Eggert  <eggert@twinsun.com>
20050
20051         * m4/prereq.m4 (jm_PREREQ_POSIXVER): New macro.
20052         (jm_PREREQ): Use it.
20053
20054 2002-02-15  Paul Eggert  <eggert@twinsun.com>
20055
20056         * lib/posixver.c, lib/posixver.h: New files.
20057         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
20058
20059 2002-02-02  Paul Eggert  <eggert@twinsun.com>
20060             Bruno Haible  <bruno@clisp.org>
20061
20062         * lib/unicodeio.h (print_unicode_char): Add exit_on_error argument.
20063         (fwrite_success_callback): New declaration.
20064         * lib/unicodeio.c (unicode_to_mb): New function, extracted from
20065         print_unicode_char. Call failure callback instead of error.
20066         (fwrite_success_callback): New function.
20067         (exit_failure_callback): New function.
20068         (fallback_failure_callback): New function.
20069         (print_unicode_char): Call unicode_to_mb.
20070
20071 2002-01-26  Jim Meyering  <meyering@lucent.com>
20072
20073         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.52g.
20074         * m4/strnlen.m4: Remove file, now that it's part of autoconf.
20075
20076 2002-01-26  Jim Meyering  <meyering@lucent.com>
20077
20078         * lib/Makefile.am (getdate$U.o): Depend on unlocked-io.h.
20079
20080 2002-01-22  Paul Eggert  <eggert@twinsun.com>
20081
20082         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_FSEEKO.
20083
20084 2002-01-22  Jim Meyering  <meyering@lucent.com>
20085
20086         * lib/Makefile.am (Makefile): Don't depend on $(BUILT_SOURCES).
20087         Otherwise, some versions of automake would omit the rule that makes
20088         Makefile from Makefile.in.
20089
20090 2002-01-21  Paul Eggert  <eggert@twinsun.com>
20091
20092         * lib/xmemcoll.h, lib/xmemcoll.c: New files.
20093         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
20094         * lib/memcoll.c: Include errno.h, and declare errno if not defined.
20095         (memcoll): Set errno to zero if there is no error.
20096
20097         * lib/quotearg.c (quotearg_buffer_restyled):
20098         Fix bug with quoting buffers containing NUL when backslashing escapes.
20099         This bug was exposed by the other changes in this patch.
20100         (quotearg_n_options): New arg ARGSIZE.
20101         All callers changed.
20102         (quoting_options_from_style): New function.
20103         (quotearg_n_style): Use it.
20104         (quotearg_n_style_mem): New function.
20105
20106         * lib/quotearg.h (quotearg_n_style_mem): New function.
20107
20108 2002-01-19  Jim Meyering  <meyering@lucent.com>
20109
20110         * m4/jm-macros.m4 (jm_MACROS): Use AC_FUNC_STRNLEN.
20111         Remove useless quotes: DF_PROG="df".
20112         * m4/strnlen.m4: New file.
20113
20114 2002-01-16  Paul Eggert  <eggert@twinsun.com>
20115
20116         * lib/backupfile.c (ISDIGIT): Comment fix.
20117         * lib/getdate.y (ISDIGIT): Likewise.
20118         * lib/posixtm.c (ISDIGIT, year): Likewise.
20119         * lib/strverscmp.c (ISDIGIT): Likewise.
20120         * lib/userspec.c (ISDIGIT): Likewise.
20121
20122 2002-01-16  Jim Meyering  <meyering@lucent.com>
20123
20124         * lib/getdate.y: Add three semicolons, each just before a closing
20125         brace. Bison (as of version 1.31) no longer papers over that mistake.
20126
20127 2002-01-05  Jim Meyering  <meyering@lucent.com>
20128
20129         * lib/version-etc.c (version_etc_copyright): Update copyright year.
20130
20131 2001-12-19  Paul Eggert  <eggert@twinsun.com>
20132
20133         * lib/closeout.c (close_stdout_status): If ferror (stdout), do
20134         not silently exit merely because the output buffer happens to
20135         have nothing pending.
20136
20137 2001-12-18  Paul Eggert  <eggert@twinsun.com>
20138
20139         See the big note in ../ChangeLog.
20140         * lib/human.c (suffixes): Prefer K to k for 1024.
20141         (generate_suffix_backwards): New function.
20142         (human_readable_inexact): Use it.
20143         * lib/xstrtol.c (__xstrtol): If there is no number but there
20144         is a valid suffix, assume 1.  "MB" now means decimal, "MiB" binary.
20145         Accept 'K' as well as 'k'.
20146
20147 2001-12-15  Jim Meyering  <meyering@lucent.com>
20148
20149         * lib/regex.h (__restrict_arr): Update from libc.
20150
20151         * lib/mountlist.h (ME_REMOTE): Recognize file systems of type smbfs
20152         as `remote' if the name starts with `//'.  Suggested by Michael Stone.
20153         (STREQ): Define.
20154
20155 2001-12-14  Jim Meyering  <meyering@lucent.com>
20156
20157         * m4/jm-macros.m4 (jm_MACROS): Check for iswspace.
20158         Suggestion from Bruno Haible.
20159
20160 2001-12-10  Jim Meyering  <meyering@lucent.com>
20161
20162         * lib/linebuffer.c: Remove explicit declarations of xmalloc and
20163         xrealloc, Instead, include "xalloc.h".
20164         (initbuffer): Don't cast xmalloc return value to char*.
20165         (readline): Reword comment.
20166         Don't cast xrealloc return value to char*
20167         Return NULL, not 0.
20168
20169 2001-12-09  Jim Meyering  <meyering@lucent.com>
20170
20171         * lib/modechange.c (mode_compile): Add cast to avoid pedantic warning
20172         about `signed and unsigned type in conditional expression'.
20173         * lib/posixtm.c (posix_time_parse): Likewise.
20174
20175         * lib/xreadlink.c (xreadlink): Add cast to avoid a pedantic warning.
20176
20177         * lib/readtokens.c (readtoken): Declare an index to be of type unsigned
20178         to avoid a pedantic warning.
20179
20180         * lib/getstr.c: Don't include assert.h.
20181         (getstr): Remove warning-evoking assertions.
20182         Return -1 if offset parameter is out of bounds.
20183         Change the type of a local from int to size_t.
20184
20185         * lib/strftime.c (my_strftime_localtime_r): Include this function
20186         definition in the `#if ! HAVE_TM_GMTOFF' block.
20187
20188         * lib/xgethostname.c: Remove declarations of xmalloc and xrealloc.
20189         Include xalloc.h instead.
20190
20191 2001-12-02  Jim Meyering  <meyering@lucent.com>
20192
20193         * lib/tempname.c: Don't declare getenv, thus reverting the change of
20194         2001-11-18.  It's no longer necessary, now that stdlib.h is always
20195         included.
20196
20197         * lib/regex.c [!__BOUNDED_POINTERS__]: Define away __bounded,
20198         __unbounded, and __ptrvalue.  Reported by Uwe H. Steinfeld.
20199
20200 2001-11-30  Akim Demaille  <akim@epita.fr>
20201
20202         * lib/xstrdup.c: Include xalloc.h, so that xstrdup is declared
20203         before being defined.
20204
20205 2001-11-27  Paul Eggert  <eggert@twinsun.com>
20206
20207         * lib/quotearg.h (quotearg_n, quotearg_n_style):
20208         First arg is int, not unsigned.
20209         * lib/quotearg.c (quotearg_n, quotearg_n_style): Likewise.
20210         (SIZE_MAX, UINT_MAX): New macros.
20211         (quotearg_n_options): Abort if N is negative.
20212         Avoid overflow check on hosts where size_t is 64 bits and int
20213         is 32 bits, as overflow is impossible there.
20214         Fix off-by-one typo that caused unnecessary reallocation.
20215
20216 2001-11-27  Jim Meyering  <meyering@lucent.com>
20217
20218         * lib/tempname.c: Merge with version from libc.
20219         * lib/regex.c: Likewise.
20220
20221         * lib/tempname.c: Include stdlib.h unconditionally.  On some old
20222         systems for which STDC_HEADERS is 0, it was not included, resulting in
20223         a warning about an integer-to-pointer conversion problem with getenv.
20224         Reported by Volker Borchert.
20225
20226 2001-11-26  Jim Meyering  <meyering@lucent.com>
20227
20228         * lib/gtod.h: Remove file.
20229         * lib/Makefile.am (libfetish_a_SOURCES): Remove gtod.h.
20230         * lib/gettimeofday.c: Don't include gtod.h.
20231         (GTOD_init): Remove function.
20232         (rpl_gettimeofday): Do its job here instead, rather than aborting.
20233         Suggestion from Volker Borchert.
20234
20235 2001-11-23  Jim Meyering  <meyering@lucent.com>
20236
20237         * lib/hash.h (struct hash_table): Don't define here.  Merely declare
20238         it.
20239         * lib/hash.c (struct hash_table): Define it here instead.
20240
20241 2001-11-22  Jim Meyering  <meyering@lucent.com>
20242
20243         * lib/hash.h: Bracket contents of file with #ifndef HASH_H_ ... #endif.
20244
20245 2001-11-20  Jim Meyering  <meyering@lucent.com>
20246
20247         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Update comment to reflect that
20248         SunOS 4.1.4 and Solaris 2.5.1 lose, too.
20249
20250 2001-11-19  Jim Meyering  <meyering@lucent.com>
20251
20252         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Don't bother with a temporary
20253         directory.  Use "conftestXXXXXX" as the template.
20254         Suggestion from Paul Eggert.
20255
20256         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Close each descriptor
20257         immediately, so the test doesn't mistakenly hit the max-open-files
20258         limit.
20259
20260 2001-11-18  Paul Eggert  <eggert@twinsun.com>
20261
20262         * lib/tempname.c (TMP_MAX): Remove; no longer needed.
20263         (TEMPORARIES): New macro.
20264         (__gen_tempname): Use TEMPORARIES rather than TMP_MAX.  This
20265         removes an artificial limitation (e.g. HP-UX 10.20, where
20266         TMP_MAX is 17576).
20267
20268 2001-11-18  Jim Meyering  <meyering@lucent.com>
20269
20270         * m4/prereq.m4 (jm_PREREQ_TEMPNAME): Check for declaration of getenv.
20271
20272 2001-11-18  Jim Meyering  <meyering@lucent.com>
20273
20274         * lib/tempname.c [!HAVE_DECL_GETENV]: Declare getenv to avoid warning
20275         on SunOS 4.
20276
20277         * lib/Makefile.am (Makefile): Depend on $(BUILT_SOURCES), so those
20278         files will be created before anything else.
20279
20280 2001-11-17 Paul Eggert  <eggert@twinsun.com>
20281
20282         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): Do not define
20283         WINSIZE_IN_PTEM if <termios.h> defines struct winsize.
20284
20285 2001-11-17  Jim Meyering  <meyering@lucent.com>
20286
20287         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): New file and macro.
20288         Prompted by a report from Bob Proulx.
20289
20290         * m4/jm-macros.m4 (jm_MACROS): Don't test for mkstemp here.
20291         Instead, require UTILS_FUNC_MKSTEMP.
20292
20293 2001-11-17  Jim Meyering  <meyering@lucent.com>
20294
20295         * m4/jm-macros.m4 (jm_MACROS): Remove code to set POW_LIBM.
20296         Now, that's done as part of AC_FUNC_STRTOD.
20297
20298 2001-11-17  Jim Meyering  <meyering@lucent.com>
20299
20300         * lib/modechange.c (mode_adjust): Fix error introduced on 1999-04-26
20301         that made e.g., `chmod a=,o=w,g=o F' cause F to be group readable
20302         rather than group writable.  Patch by Juan F. Codagnone.
20303
20304         * lib/readtokens.c: Remove explicit declarations of xmalloc and
20305         xrealloc, Instead, include "xalloc.h".
20306
20307         * lib/mountlist.c: Include unlocked-io.h after all system headers.
20308         Remove explicit declarations of xmalloc, xrealloc,
20309         and xstrdup.  Instead, include "xalloc.h".
20310
20311         * lib/argmatch.c, closeout.c, error.c, exclude.c: Include
20312         unlocked-io.h.
20313         * lib/fatal.c, getdate.y, getpass.c, getstr.c, getusershell.c:
20314         Likewise.
20315         * lib/mountlist.c, posixtm.c, readtokens.c, readutmp.c: Likewise.
20316
20317         * lib/regex.c, sha.c, version-etc.c, yesno.c: Likewise.
20318         Reported by Padraig Brady.
20319
20320         * lib/mkstemp.c: #undef mkstemp.
20321         Include config.h.
20322         (rpl_mkstemp): Rename from mkstemp.
20323         Protoize.
20324
20325 2001-11-16  Jim Meyering  <meyering@lucent.com>
20326
20327         * lib/physmem.c [HAVE_SYS_PSTAT_H]: Include <sys/pstat.h>.
20328         (physmem_total) [HAVE_PSTAT_GETSTATIC]: If sysconf couldn't be used to
20329         determine the amount of total physical memory, use pstat_getstatic.
20330         HPUX-11 doesn't define _SC_PHYS_PAGES.
20331         (physmem_available) [HAVE_PSTAT_GETSTATIC && HAVE_PSTAT_GETDYNAMIC]:
20332         If sysconf couldn't be used to determine the amount of available
20333         physical memory, use both pstat_getstatic and pstat_getdynamic.
20334         Based on a patch from Bob Proulx.
20335
20336 2001-11-10  Jim Meyering  <meyering@lucent.com>
20337
20338         * m4/prereq.m4 (jm_PREREQ_PHYSMEM): New function.
20339         (jm_PREREQ): Use it.
20340
20341 2001-11-09  Jim Meyering  <meyering@lucent.com>
20342
20343         * m4/jm-macros.m4: Require autoconf-2.52f.
20344         (AC_FUNC_ERROR_AT_LINE, AC_FUNC_OBSTACK, AC_FUNC_STRTOD):
20345         Use these AC_-prefixed names, not the AM_-prefixed ones.
20346
20347         * m4/afs.m4 (jm_AFS): Quote the body.  Patch by Akim Demaille.
20348
20349 2001-11-05  Jim Meyering  <meyering@lucent.com>
20350
20351         * lib/xstat.in (slash_aware_lstat): Correct a misleading comment.
20352
20353 2001-11-04  Jim Meyering  <meyering@lucent.com>
20354
20355         * m4/fpending.m4: Remove unused cruft that saved, set, and restored
20356         $DEFS.
20357
20358 2001-11-03  Jim Meyering  <meyering@lucent.com>
20359
20360         * m4/jm-glibc-io.m4n (jm_FUNC_GLIBC_UNLOCKED_IO): Quote first arg
20361         of AC_DEFUN.
20362
20363         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Rework so dirfd.c doesn't have to
20364         know the name of the variable in the macro definition.
20365
20366 2001-11-03  Jim Meyering  <meyering@lucent.com>
20367
20368         * lib/argmatch.h (ARGMATCH_TO_ARGUMENT): Remove casts of first two args
20369         in argmatch_to_argument call.
20370
20371         * lib/dirfd.c (dirfd): Reflect the fact that DIR_TO_FD now takes an
20372         argument.
20373
20374         * lib/hash.c (hash_clear): Fix a bug that could lead to an infloop or
20375         e.g., a fault due to an attempt to free a NULL pointer.
20376
20377 2001-11-01  Jim Meyering  <meyering@lucent.com>
20378
20379         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): New macro.
20380         * m4/jm-macros.m4 (jm_MACROS): Require UTILS_FUNC_DIRFD.
20381
20382 2001-11-01  Jim Meyering  <meyering@lucent.com>
20383
20384         * lib/dirfd.c, lib/dirfd.h: New files.
20385         * lib/Makefile.am (libfetish_a_SOURCES): Add dirfd.h.
20386
20387         * lib/hash.c (hash_print) [TESTING]: Clean up.
20388
20389 2001-10-22  Paul Eggert  <eggert@twinsun.com>
20390
20391         * lib/hard-locale.c (alloca): Define to __builtin_alloca if __GNUC__,
20392         to avoid a warning if -Wall.
20393
20394 2001-10-22  Jeff Bailey  <jbailey@outpost.dnsalias.org>
20395
20396         * README: New file
20397         * doc/*: Add COPYING, COPYING.LIB, COPYING.DOC, fdl.texi
20398         (per RMS's instructions, this is now the canonical source)
20399         * lgpl/, gpl/: New directories.
20400
20401 2001-10-21  Paul Eggert  <eggert@twinsun.com>
20402
20403         * lib/regex.c (uintptr_t): Remove macro and decl; it's config.h's job.
20404
20405 2001-10-21  Jim Meyering  <meyering@lucent.com>
20406
20407         * lib/obstack.c (_): Honor the setting of ENABLE_NLS.  Otherwise,
20408         this code would end up calling gettext even in packages built
20409         with --disable-nls.
20410         * lib/getopt.c (_): Likewise.
20411         * lib/regex.c (_): Likewise.
20412
20413 2001-10-20  Paul Eggert  <eggert@twinsun.com>
20414
20415         * m4/error.m4 (jm_PREREQ_ERROR):
20416         Do not invoke AC_CHECK_FUNCS with strerror_r, as
20417         AC_FUNC_STRERROR_R does that.
20418         Check for strerror declaration.
20419
20420         * m4/strerror_r.m4: Add copyright notice, as nontrivial m4 files
20421         are supposed to have them these days.
20422         (AC_FUNC_STRERROR_R): Always do char* test, so that it gets cached.
20423         Merge changes from latest Autoconf CVS.
20424         Rename ac_cv_func_strerror_r_works to ac_cv_func_strerror_r_char_p,
20425         and rename HAVE_WORKING_STRERROR_R to STRERROR_R_CHAR_P, since
20426         POSIX decided to standardize on the int flavor of strerror_r.
20427
20428 2001-10-20  Paul Eggert  <eggert@twinsun.com>
20429
20430         * lib/error.c (strerror_r): Do not declare unless !_LIBC.
20431         Do not check for HAVE_DECL_STRERROR_R missing unless STRERROR_R_CHAR_P.
20432         Use strerror_r that is only a macro, even if it is not a function.
20433         (strerror): Check for HAVE_DECL_STRERROR before declaring.
20434         (private_strerror): Use prototypes, not old-style function definition.
20435         (print_errno_message): New function.
20436         Support the POSIX 'int'-flavored strerror_r, as well as the traditional
20437         char*-flavored one.
20438         (error_tail, error, error_at_line): Use it.
20439
20440 2001-10-11  Jim Meyering  <meyering@lucent.com>
20441
20442         * lib/argmatch.c (argmatch_invalid): Use quotearg_n_style (0, ...
20443         and quote_n (1, ... to avoid clobbering a buffer.
20444
20445 2001-10-05  Jim Meyering  <meyering@lucent.com>
20446
20447         * lib/Makefile.am: (libfetish_a_SOURCES): Add hash-pjw.c and
20448         hash-pjw.h.
20449         * lib/hash-pjw.c: New file (factored out of fileutils' remove.c).
20450         * lib/hash-pjw.h: New file.
20451
20452 2001-09-30  Jim Meyering  <meyering@lucent.com>
20453
20454         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): See if
20455         `struct fsstat' has the `f_fstypename' member.
20456         Use that to define FS_TYPE, which is now used to make
20457         the getfsstat link test tighter.
20458
20459 2001-09-30  Jim Meyering  <meyering@lucent.com>
20460
20461         * lib/mountlist.c [MOUNTED_GETFSSTAT]:
20462         Include <sys/ucred.h>, for Apple Darwin.
20463         Include sys/mount.h and sys/fs_types.h only if available.
20464         (FS_TYPE): Define.
20465         (read_filesystem_list): Use FS_TYPE.
20466
20467 2001-09-29  Paul Eggert  <eggert@twinsun.com>
20468
20469         * lib/exclude.c (excluded_filename): 0 -> false, since it's
20470         a boolean context.
20471
20472 2001-09-29  Jim Meyering  <meyering@lucent.com>
20473
20474         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
20475         [one-argument getmntent function]): Include stdio.h before mntent.h.
20476         SunOS 4.1.x needs it for the declaration of `FILE'.
20477         Patch by Volker Borchert.
20478
20479         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
20480         Check for these headers: sys/param.h sys/ucred.h sys/mount.h
20481         sys/fs_types.h, and make the link-test for getfsstat guard #include
20482         directives with appropriate #if HAVE_*_H tests so that we can
20483         detect getfsstat on Apple Darwin1.3.7 systems.
20484         Reported by Nelson Beebe.
20485         Fix harmless typo in cache variable name: s/getsstat/getfsstat/.
20486
20487 2001-09-28  Paul Eggert  <eggert@twinsun.com>
20488
20489         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
20490         #defines strtoimax.  Also treat the other strto* functions
20491         like strtoimax.
20492
20493         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
20494         Check for strtoul and strtoumax,
20495         as those declarations are made even in the signed case.
20496         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX):
20497         Likewise, for strtol and strtoimax.
20498
20499 2001-09-28  Paul Eggert  <eggert@twinsun.com>
20500
20501         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
20502         #defines strtoimax.  Also treat the other strto* functions
20503         like strtoimax.
20504
20505         * lib/xstrtol.c (strtol): Do not declare if HAVE_DECL_STRTOL.
20506         (strtoul): Do not declare if HAVE_DECL_STRTOUL.
20507         (strtoimax, strtoumax): Do not declare if already defined as a macro.
20508
20509 2001-09-26  Jim Meyering  <meyering@lucent.com>
20510
20511         Most macros in unlocked-io.h had the wrong number of arguments.
20512         * lib/gen-uio: New script.
20513         (USE_UNLOCKED_IO): Define to 1 if not already defined.
20514         * lib/unlocked-io.hin: Remove file.
20515         * lib/Makefile.am (unlocked-io.h): Rewrite to use a separate script,
20516         rather than trying to embed it here.
20517         (EXTRA_DIST): Add gen-uio.  Remove unlocked-io.hin
20518         Reported by Padraig Brady.
20519
20520 2001-09-25  Volker Borchert  <bt@teknon.de>
20521
20522         * lib/gettimeofday.c (rpl_gettimeofday): Declare local variable
20523         `result'.
20524
20525 2001-09-24  Jim Meyering  <meyering@lucent.com>
20526
20527         * m4/gettext.m4: Use the version from gettext-0.10.40, not CVS.
20528
20529 2001-09-23  Jim Meyering  <meyering@lucent.com>
20530
20531         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add a compile-test
20532         instead of the mere test for existence of mntent.h.  The latter
20533         would get a false-positive on AIX 3.4 systems.
20534         In the outer getmntent if-block, don't die if neither of the getmntent
20535         tests succeeds.  Instead, just fall through and continue with the
20536         remaining tests.
20537
20538 2001-09-23  Jim Meyering  <meyering@lucent.com>
20539
20540         * lib/mountlist.c: Remove useless parentheses in #if directives.
20541         (MOUNTED) [!defined MOUNTED]: Define to _PATH_MOUNTED, for when
20542         the deprecated MOUNTED symbol is no longer defined in mntent.h.
20543
20544 2001-09-22  Jim Meyering  <meyering@lucent.com>
20545
20546         * m4/gettext.m4: New file.  From gettext.
20547         * m4/lcmessage.m4: Sync with gettext -- this changes only comments.
20548         * m4/progtest.m4: Likewise
20549         * m4/isc-posix.m4: Decrement serial number to sync with gettext.
20550         * m4/glibc21.m4: Likewise.
20551
20552         * m4/libintl.m4: Remove.  No longer used.
20553
20554 2001-09-22  Jim Meyering  <meyering@lucent.com>
20555
20556         * lib/localcharset.c: Update from latest gettext.
20557         * lib/config.charset: Likewise.
20558
20559 2001-09-20  Jim Meyering  <meyering@lucent.com>
20560
20561         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX): Check for declaration of
20562         strtoimax.
20563         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check for declaration of
20564         strtoumax.
20565
20566 2001-09-20  Jim Meyering  <meyering@lucent.com>
20567
20568         * lib/xstrtol.c (strtoimax): Guard declaration with
20569         `#if !HAVE_DECL_STRTOIMAX', rather than just `#ifndef strtoimax'.
20570         The latter fails because some systems (at least rs6000-ibm-aix4.3.3.0)
20571         have their own, conflicting declaration of strtoimax in sys/inttypes.h.
20572         (strtoumax): Likewise, for completeness (it wasn't necessary).
20573
20574 2001-09-17  Paul Eggert  <eggert@twinsun.com>
20575
20576         * lib/strtoimax.c (HAVE_LONG_LONG):
20577         Redefine to HAVE_UNSIGNED_LONG_LONG if unsigned.
20578         (strtoimax): Use sizeof (long), not sizeof strtol (ptr, endptr, base),
20579         to work around bug in IBM C compiler.
20580
20581 2001-09-17  Jim Meyering  <meyering@lucent.com>
20582
20583         * m4/chown.m4, fstypename.m4, getgroups.m4, gettimeofday.m4,
20584         * m4/jm-mktime.m4, lstat.m4, malloc.m4, memcmp.m4, mkdir-slash.m4,
20585         * m4/nanosleep.m4, putenv.m4, readdir.m4, realloc.m4, rename.m4,
20586         * m4/st_dm_mode.m4, stat.m4, strerror_r.m4, timespec.m4, utimbuf.m4,
20587         * m4/utimes.m4: Use AC_DEFINE rather than AC_DEFINE_UNQUOTED,
20588         whenever the right hand side need not be expanded by the shell.
20589
20590 2001-09-16  Paul Eggert  <eggert@twinsun.com>
20591
20592         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): Remove test for GNU C
20593         library.  It's not correct, as some older glibcs are buggy.
20594         fnmatch wasn't fixed until glibc 2.2.
20595
20596         Use AC_DEFINE, not AC_DEFINE_UNQUOTED, as there's no
20597         special shell magic here.
20598
20599 2001-09-16  Jim Meyering  <meyering@lucent.com>
20600
20601         * m4/mkdir-slash.m4 (UTILS_FUNC_MKDIR_TRAILING_SLASH): New file/macro.
20602         * m4/jm-macros.m4: Require it.
20603
20604 2001-09-16  Jim Meyering  <meyering@lucent.com>
20605
20606         * lib/mkdir.c: New file.
20607
20608 2001-09-15  Jim Meyering  <meyering@lucent.com>
20609
20610         * m4/jm-macros.m4: Check for help2man.
20611
20612 2001-09-11  Jim Meyering  <meyering@lucent.com>
20613
20614         * m4/host-os.m4 (UTILS_HOST_OS): New file/macro.
20615         The body, by Paul Eggert, was moved here from configure.in.
20616         * m4/jm-macros.m4: Require UTILS_HOST_OS.
20617
20618 2001-09-04  Paul Eggert  <eggert@twinsun.com>
20619
20620         * m4/prereq.m4 (jm_PREREQ_XREADLINK): New macro.
20621         (jm_PREREQ): Use it.
20622
20623 2001-09-04  Paul Eggert  <eggert@twinsun.com>
20624
20625         * lib/xreadlink.c (xreadlink): Omit size_t* arg.  All uses changed.
20626         Use ssize_t, not int, to store result of readlink.
20627         Check for ssize_t overflow as well as size_t overflow,
20628         as POSIX says the result of readlink is implementation-defined
20629         when ssize_t overflows.
20630         Remove unnecessary cast to char*.
20631         Use free+malloc instead of realloc, as the storage doesn't need
20632         to be preserved and it's clearer and can be more efficient that way.
20633         (SIZE_MAX, SSIZE_MAX): New macros, if <limits.h> doesn't declare.
20634         * lib/xreadlink.h (xreadlink): Update prototype.
20635
20636 2001-09-04  Paul Eggert  <eggert@twinsun.com>
20637
20638         * lib/xgetcwd.c: Revert some of the previous change; intead,
20639         fix the HAVE_GETCWD_NULL code to behave more like the
20640         !HAVE_GETCWD_NULL code used to.
20641
20642         Include "xalloc.h".
20643         (xgetcwd): Do not return NULL when memory is exhausted; instead,
20644         invoke xalloc_die.
20645
20646 2001-09-03  Paul Eggert  <eggert@twinsun.com>
20647
20648         * m4/prereq.m4 (jm_PREREQ_XGETCWD): Check for limits.h and
20649         sys/param.h, as pathmax.h includes them.
20650
20651 2001-09-03  Paul Eggert  <eggert@twinsun.com>
20652
20653         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_XGETCWD.
20654         (jm_PREREQ_XGETCWD): New macro.
20655
20656         * m4/getcwd.m4: New file.
20657
20658 2001-09-03  Paul Eggert  <eggert@twinsun.com>
20659
20660         * lib/xgetcwd.c: Fix the !HAVE_GETCWD_NULL code to behave more
20661         like the HAVE_GETCWD_NULL code.
20662         Include pathmax.h if not HAVE_GETCWD.
20663         Do not include xalloc.h.
20664         (INITIAL_BUFFER_SIZE): New symbol.
20665         Do not use xmalloc / xrealloc, since the caller is responsible for
20666         handling errors.  Preserve errno around `free' during failure.
20667         Do not overrun buffer when using getwd.
20668
20669 2001-09-03  Paul Eggert  <eggert@twinsun.com>
20670
20671         * lib/xgetcwd.c (xgetcwd): Use HAVE_GETCWD_NULL, not (defined
20672         __GLIBC__ && __GLIBC__ >= 2), to decide whether to use
20673         getcwd (NULL, 0).
20674
20675 2001-09-03  Paul Eggert  <eggert@twinsun.com>
20676
20677         * lib/exclude.c (fnmatch_no_wildcards): Fix confusion between
20678         usage of FNM_CASEFOLD and FNM_LEADING_DIR.  The bug was
20679         spotted by Jim Meyering.
20680
20681 2001-09-03  Jim Meyering  <meyering@lucent.com>
20682
20683         * lib/xreadlink.c (xreadlink): Preserve errno around `free' during
20684         failure.
20685
20686 2001-09-02  Jim Meyering  <meyering@lucent.com>
20687
20688         * lib/error.c: Update from GNU libc.
20689
20690 2001-09-01  Jim Meyering  <meyering@lucent.com>
20691
20692         * m4/jm-macros.m4 (jm_MACROS): Check for canonicalize_file_name.
20693         Used by df.
20694
20695 2001-09-01  Jim Meyering  <meyering@lucent.com>
20696
20697         * lib/xreadlink.c: New file.
20698         * lib/xreadlink.h: New file.
20699         * lib/Makefile.am (libfetish_a_SOURCES): Add xreadlink.c and
20700         xreadlink.h.
20701
20702         * lib/regex.c (uintptr_t) [!_LIBC]: Define to private_uintptr_t, so it
20703         doesn't conflict with sparc Solaris 7's definition in
20704         /usr/include/sys/int_types.h.
20705
20706         * lib/exclude.c: Use `""', not `<>' to #include non-system header
20707         files.
20708         (fnmatch_no_wildcards): Rewrite not to use function names, strcasecmp
20709         and strncasecmp as r-values.  Unixware didn't have declarations.
20710
20711 2001-08-31  Paul Eggert  <eggert@twinsun.com>
20712
20713         * lib/xstrtol.h: Add copyright notice.
20714         (_DECLARE_XSTRTOL): Improve quality of diagnostic for
20715         LONGINT_INVALID_SUFFIX_CHAR.
20716
20717 2001-08-31  Paul Eggert  <eggert@twinsun.com>
20718
20719         * lib/xstrtol.c (strtoimax): New decl.
20720
20721 2001-08-31  Paul Eggert  <eggert@twinsun.com>
20722
20723         * lib/xgetcwd.c: Don't include pathmax.h.
20724         Include stdlib.h and unistd.h if available.
20725         Include xalloc.h.
20726         (xmalloc, xstrdup, free): Remove decls.
20727         (xgetcwd): Don't assume sizes fit in unsigned.
20728         Check for overflow when computing sizes.
20729         Simplify reallocation code.
20730
20731 2001-08-31  Paul Eggert  <eggert@twinsun.com>
20732
20733         * lib/savedir.c (savedir): Remove size parameter, as POSIX says that
20734         a directory's st_size can have an arbitrary value, so the old
20735         usage could waste an arbitrary amount of memory.  All uses
20736         changed.
20737         * lib/savedir.h: Update prototype.
20738
20739 2001-08-31  Paul Eggert  <eggert@twinsun.com>
20740
20741         * lib/Makefile.am (libfetish_a_SOURCES): Remove strtoxmax.c.
20742
20743         * lib/strtoimax.c: Renamed from strtoxmax.c, removing the
20744         old strtoimax.c.
20745
20746         Also, make the following further changes to make this file's
20747         configuration more similar to that of strtol.c:
20748         (UNSIGNED): Renamed from STRTOUXMAX_UNSIGNED.  All uses changed.
20749         (strtoumax, uintmax_t, strtoull, strtol): Remove.
20750         (intmax_t, strtoimax, strtol, strtoll): New macros, if UNSIGNED.
20751         (strtoimax): Renamed from strtoumax.  All uses of unsigned values
20752         changed to signed values.
20753
20754         And make the following changes as well:
20755         Fix copyright notice, as 1999 was missing.
20756         (verify): New macro.
20757         (strtoimax): Check sizes at compile-time, not run-time.
20758         Prefer strtol to strtoll if both work.
20759         (main): Remove; it was not that useful and was a pain to maintain.
20760
20761         * lib/strtoumax.c: Include strtoimax.c, not strtouxmax.c.
20762
20763 2001-08-31  Jim Meyering  <meyering@lucent.com>
20764
20765         * lib/xgetcwd.c (xgetcwd): Reorganize to avoid some duplication.
20766         Use an initial, malloc'd, buffer of length 128 rather than
20767         a statically allocated one of length 1024.
20768
20769 2001-08-30  Paul Eggert  <eggert@twinsun.com>
20770
20771         Simplify code, partly by assuming autoconf 2.52 semantics.
20772
20773         * m4/Makefile.am (EXTRA_DIST): Remove uintmax_t.m4.
20774
20775         * m4/inttypes.m4 (AC_PREREQ): Bump to 2.52.
20776         (jm_AC_HEADER_INTTYPES_H): Remove; now done by autoconf in 2.52.
20777         All uses removed.
20778         (jm_AC_TYPE_INTMAX_T, jm_AC_TYPE_UINTMAX_T):
20779         Move AC_REQUIRE to next-to-top level, to avoid confusion.
20780         Use 2.52's AC_CHECK_TYPE instead of merely looking for the header.
20781         * m4/prereq.m4 (jm_PREREQ_HUMAN): Don't require
20782         jm_AC_HEADER_INTTYPES_H.
20783         * m4/jm-macros.m4 (jm_MACROS): Likewise.
20784
20785         * m4/uintmax_t.m4: Remove, as it duplicates inttypes.m4.
20786
20787         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
20788         Quote first arg of AC_DEFUN.
20789         Require jm_AC_TYPE_UINTMAX_T and jm_AC_TYPE_UNSIGNED_LONG_LONG
20790         since they are needed to parse the include file even if we need
20791         only xstrtoimax.  Simplify logic behind the args to AC_REPLACE.
20792         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Likewise,
20793         but with opposite signedness.
20794
20795 2001-08-30  Paul Eggert  <eggert@twinsun.com>
20796
20797         Merge 'exclude' changes from tar 1.13.22.
20798         This fixes one or two unlikely storage allocation overflow bugs,
20799         but doesn't change user-visible behavior otherwise.
20800
20801 2001-08-30  Paul Eggert  <eggert@twinsun.com>
20802
20803         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_EXCLUDE.
20804         (jm_PREREQ_EXCLUDE): New macro.
20805
20806 2001-08-30  Paul Eggert  <eggert@twinsun.com>
20807
20808         * lib/quotearg.c: BSD/OS 4.1 wchar.h requires FILE and struct
20809         tm to be declared.
20810
20811 2001-08-30  Paul Eggert  <eggert@twinsun.com>
20812
20813         * lib/hash.c: Remove '2001' from copyright notice.
20814
20815 2001-08-30  Paul Eggert  <eggert@twinsun.com>
20816
20817         * lib/full-write.h: New file.
20818         * lib/Makefile.am (libfetish_a_SOURCES): Add full-write.h.
20819         * lib/full-write.c: Correct credits, as cccp.c no longer
20820         exists and anyway it was so heavily changed from the old cccp
20821         code as to be unrecognizable.  Include full-write.h.
20822         (full_write) Return size_t, with short writes meaning failure.
20823         All callers changed.  This fixes a bug with large buffers
20824         on 64-bit hosts.
20825         * lib/utime.c: Include full-write.h.
20826
20827 2001-08-30  Paul Eggert  <eggert@twinsun.com>
20828
20829         * lib/exclude.c (bool): Declare, perhaps by including stdbool.h.
20830         (<sys/types.h>): Include only if HAVE_SYS_TYPES_H.
20831         (<stdlib.h>, <string.h>, <strings.h>, <inttypes.h>, <stdint.h>):
20832         Include if available.
20833         (<xalloc.h>): Include
20834         (SIZE_MAX): Define if <stdint.h> or <inttypes.h> doesn't.
20835         (verify): New macro.  Use it to verify that EXCLUDE macros do not
20836         collide with FNM macros.
20837         (struct patopts): New struct.
20838         (struct exclude): Use it, as exclude patterns now come with options.
20839         (new_exclude): Support above changes.
20840         (new_exclude, add_exclude_file):
20841         Initial size must now be a power of two to simplify overflow checking.
20842         (free_exclude, fnmatch_no_wildcards): New function.
20843         (excluded_filename): No longer requires options arg, as the options
20844         are determined by add_exclude.  Now returns bool, not int.
20845         (excluded_filename, add_exclude):
20846         Add support for the fancy new exclusion options.
20847         (add_exclude, add_exclude_file): Now takes int options arg.
20848         Check for arithmetic overflow when computing sizes.
20849         (add_exclude_file): xrealloc might modify errno, so don't
20850         realloc until after errno might be used.
20851
20852         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE,EXCLUDE_WILDCARDS):
20853         New macros.
20854         (free_exclude): New decl.
20855         (add_exclude, add_exclude_file): Now takes int options arg.
20856         (excluded_filename): No longer requires options arg, as the options
20857         are determined by add_exclude.  Now returns bool, not int.
20858
20859 2001-08-30  Paul Eggert  <eggert@twinsun.com>
20860
20861         * lib/alloca.c (alloca): Arg is of type size_t, not unsigned.
20862
20863 2001-08-27  Jim Meyering  <meyering@lucent.com>
20864
20865         * lib/Makefile.am (libfetish_a_SOURCES): Add strtoxmax.c
20866
20867         * lib/version-etc.c (N_): Remove definition.
20868         Revert most of last change.
20869         Instead, simply don't mark the `Copyright...' string for translation.
20870         Based on advice from Paul Eggert.
20871
20872         * lib/strtoxmax.c: Tweak comment.
20873
20874 2001-08-26  Jim Meyering  <meyering@lucent.com>
20875
20876         * m4/jm-macros.m4: Require jm_AC_PREREQ_XSTRTOIMAX.
20877
20878         * m4/xstrtoimax.m4: New file.
20879         * m4/xstrtoumax.m4: Add comments explaining why we
20880         AC_REPLACE_FUNCS(strtol).
20881
20882 2001-08-26  Jim Meyering  <meyering@lucent.com>
20883
20884         * lib/version-etc.c (version_etc_copyright_fmt): Replace literal year
20885         of copyright with `%s' so translators don't get an untranslated
20886         message in 2002.
20887         (COPYRIGHT_YEAR): Define.
20888         (version_etc): Use fprintf rather than fputs.
20889         Suggestion from Ulrich Drepper.
20890
20891         * lib/Makefile.am (libfetish_a_SOURCES): Add xstrtoimax.c.
20892
20893         * lib/strtoll.c: New file, from GNU libc.
20894         * lib/xstrtoimax.c: New file.
20895
20896         * lib/xstrtol.h: Add xstrtoimax.
20897         * lib/strtoumax.c: New file.  Simply include "strtoumax.c".
20898         * lib/strtoimax.c: New file.  Likewise, but first define
20899         STRTOUXMAX_SIGNED.
20900
20901         * lib/strtoumax.c: Factor to work both for unsigned and signed types,
20902         ...
20903         * lib/strtoxmax.c: ... then renamed to this.
20904
20905 2001-08-18  Paul Eggert  <eggert@twinsun.com>
20906
20907         * m4/inttypes.m4: Add AC_PREREQ(2.13).
20908         (jm_AC_HEADER_INTTYPES_H): Test for intmax_t, too.
20909         (jm_AC_TYPE_INTMAX_T): New macro.
20910         (jm_AC_TYPE_UINTMAX_T): Moved here from uintmax_t.m4.
20911
20912         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): New macro.
20913
20914         * m4/longlong.m4: Renamed from ulonglong.m4.
20915         * m4/inttypes.m4: Renamed from inttypes_h.m4.
20916         * m4/uintmax_t.m4: Removed.
20917
20918 2001-08-13  Paul Eggert  <eggert@twinsun.com>
20919
20920         * lib/Makefile.am (unlocked-io.h): Do not append "_unlocked" twice.
20921         Port to Solaris 8, where 'sed' requires a space after the 'r'
20922         command, and where sh dislikes "$/".  Clean up the spacing a bit.
20923         Redirect output to $tmp just once.
20924
20925 2001-08-12  Paul Eggert  <eggert@sic.twinsun.com>
20926
20927         * lib/addext.c (<errno.h>): Include.
20928         (errno): Declare if not defined.
20929         (addext): Work correctly when pathconf returns -1 and leaves
20930         errno alone because there is no limit.  Also, work even if
20931         pathconf returns a value greater than SIZE_MAX.
20932
20933 2001-08-12  Jim Meyering  <meyering@lucent.com>
20934
20935         * m4/afs.m4, assert.m4, bison.m4, check-decl.m4, chown.m4, d-ino.m4,
20936         d-type.m4, dos.m4, error.m4, fnmatch.m4, fpending.m4, fstypename.m4,
20937         fsusage.m4, ftruncate.m4, getgroups.m4, glibc.m4, gnu-source.m4,
20938         group-member.m4, jm-glibc-io.m4, jm-macros.m4, jm-mktime.m4,
20939         jm-winsz1.m4, jm-winsz2.m4, lchown.m4, lib-check.m4, libintl.m4,
20940         link-follow.m4, ls-mntd-fs.m4, lstat.m4, malloc.m4, mbrtowc.m4,
20941         mbstate_t.m4, mbswidth.m4, memcmp.m4, nanosleep.m4, perl.m4,
20942         prereq.m4, putenv.m4, readdir.m4, realloc.m4, regex.m4, rename.m4,
20943         rmdir-errno.m4, search-libs.m4, st_dm_mode.m4, st_mtim.m4, stat.m4,
20944         strftime.m4, timespec.m4, unlink-busy.m4, uptime.m4, utimbuf.m4,
20945         utime.m4, utimes.m4, xstrtoumax.m4:
20946         Quote the first argument in each use of AC_DEFUN.
20947
20948 2001-08-12  Jim Meyering  <meyering@lucent.com>
20949
20950         * lib/xgetcwd.c (xgetcwd) [defined __GLIBC__ && __GLIBC__ >= 2]:
20951         Simply `return getcwd (NULL, 0);'.
20952         [! (defined __GLIBC__ && __GLIBC__ >= 2)]:
20953         Use 1300 as initial value for length, not PATH_MAX.
20954
20955         * lib/pathmax.h: Clean up cpp syntax.
20956
20957 2001-08-12  Jim Meyering  <meyering@lucent.com>
20958
20959         * lib/gettimeofday.c: New file.
20960         * lib/gtod.h: New file.
20961         * lib/Makefile.am (libfetish_a_SOURCES): Add gtod.h.
20962
20963 2001-08-05  Jim Meyering  <meyering@lucent.com>
20964
20965         * m4/jm-macros.m4: Require autoconf-2.52.
20966
20967 2001-08-04  Jim Meyering  <meyering@lucent.com>
20968
20969         * lib/error.h (__attribute__): Remove `|| __STRICT_ANSI__' from #if
20970         stmt, to get in sync with glibc.
20971
20972 2001-08-03  Paul Eggert  <eggert@twinsun.com>
20973
20974         The following changes are from gettext 0.10.39 as maintained by
20975         Bruno Haible.
20976
20977         * lib/mbswidth.h (MBSW_REJECT_UNPRINTABLE, MBSW_REJECT_INVALID):
20978         Renamed from MBSW_ACCEPT_UNPRINTABLE and MBSW_ACCEPT_INVALID
20979         with inverted sense.  All uses changed.
20980
20981         * lib/mbswidth.c: Don't include <limits.h>.
20982         Include <stdlib.h> and <string.h> unconditionally.
20983         (iswcntrl, mbsinit, ISCNTRL): New macros.
20984         (mbsnwidth): Use K&R style function declarations.
20985         Don't bother checking for MB_LEN_MAX == 1, since the compiler
20986         can optimize it when MB_CUR_MAX == 1.
20987         The width of control characters is zero, not 1.
20988
20989 2001-08-03  Paul Eggert  <eggert@twinsun.com>
20990
20991         The following changes are from gettext 0.10.39 as maintained by
20992         Bruno Haible, except that getline.m4 continues to use AC_LIBOBJ.
20993
20994         * m4/codeset.m4: Upgrade to serial AM1.
20995         (AM_LANGINFO_CODESET): Renamed from jm_LANGINFO_CODESET;
20996         all uses changed.  Quote first arg of AC_DEFUN.
20997         (am_cv_langinfo_codeset): Renamed from jm_cv_langinfo_codeset.
20998
20999         * m4/iconv.m4: Upgrade to serial AM2.
21000         (AM_ICONV): Renamed from jm_ICONV; all uses changed.
21001         Add --with-libconv-prefix.
21002         Quote first arg of AC_DEFUN.  Add description for ICONV_CONST.
21003         (am_cv_func_iconv): Renamed from jm_cv_func_iconv.
21004         (am_cv_lib_iconv): Renamed from jm_cv_lib_iconv.
21005         (am_cv_proto_iconv): Renamed from jm_cv_proto_iconv.
21006         * m4/jm-macros.m4 (jm_MACROS): Reflect s/jm_/AM_/ renamings.
21007
21008         * m4/c-bs-a.m4 (AC_C_BACKSLASH_A): Quote first arg of AC_DEFUN.
21009         * m4/getline.m4 (AM_FUNC_GETLINE): Likewise.
21010         * m4/glibc21.m4 (jm_GLIBC21): Likewise.
21011         * m4/inttypes_h.m4 (jm_AC_HEADER_INTTYPES_H): Likewise.
21012         * m4/isc-posix.m4 (AC_ISC_POSIX): Likewise.
21013         * m4/lcmessage.m4 (AM_LC_MESSAGES): Likewise.
21014         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
21015         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Likewise.
21016         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Likewise.
21017
21018         * m4/getline.m4 (AM_FUNC_GETLINE): Don't bother checking for
21019         string.h any more.
21020
21021         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): If not found, print "no",
21022         not the default value.
21023
21024         2001-06-25  Bruno Haible  <haible@clisp.cons.org>
21025         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Don't require AM_C_PROTOTYPES.
21026         Also check for mbsinit.  Needed for SCO 3.2v5.0.2.
21027         Also include <string.h>; this is where AIX 3.2.5 declares wcwidth.
21028         Also check for iswcntrl, used for wcwidth fallback.
21029         Use AC_TRY_COMPILE to emulate AC_CHECK_DECLS, for portability
21030         to Autoconf 2.13.
21031
21032 2001-08-03  Jim Meyering  <meyering@lucent.com>
21033
21034         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Use `#include', not `@%:@include',
21035         as it was in the original.  Reported by Paul Eggert.
21036
21037 2001-07-16  Jim Meyering  <meyering@lucent.com>
21038
21039         * m4/gettimeofday.m4: New file.
21040         Prompted by a report from Bernhard Baehr.
21041
21042 2001-07-15  Jim Meyering  <meyering@lucent.com>
21043
21044         * m4/Makefile.am.in (Makefile.am): Remove most of the unlocked-io.h
21045         stuff. Now it's in ../Makefile.cfg.
21046
21047 2001-07-15  Jim Meyering  <meyering@lucent.com>
21048
21049         * lib/Makefile.am (EXTRA_DIST): Add unlocked-io.hin.
21050         (BUILT_SOURCES): Add unlocked-io.h.
21051         (io_functions): Define.
21052         (unlocked-io.h): New rule.
21053         (DISTCLEANFILES): Add unlocked-io.h.
21054         (all-local): Depend on unlocked-io.h, to ensure it is created.
21055
21056         * lib/unlocked-io.hin: New file
21057
21058         * lib/regex.c: Update from glibc.
21059
21060 2001-07-05  Jim Meyering  <meyering@lucent.com>
21061
21062         * lib/Makefile.am (noinst_HEADERS): Remove definition, per new automake
21063         recommendation.
21064         (libfetish_a_SOURCES): Put all .h files here instead.
21065         Remove a thus-exposed (better checks in automake) duplicate and
21066         two unnecessary .h files.
21067
21068 2001-07-04  Jim Meyering  <meyering@lucent.com>
21069
21070         * m4/Makefile.am.in (glibc-io.struct): New target.  Rework the code
21071         that generates jm-glibc-io.m4 so that it doesn't trigger any make
21072         distcheck failure.
21073
21074 2001-07-02  Jim Meyering  <meyering@lucent.com>
21075
21076         The following changes were prompted by suggestions from Bruno Haible.
21077
21078         * m4/jm-glibc-io.m4n: New file, the template from which jm-glibc-io.m4
21079         is now generated.
21080         * m4/Makefile.am.in (Makefile.am): Include jm-glibc-io.m4n in emitted
21081         definition of EXTRA_DIST.
21082         (Makefile.am): Emit the dependency, `all-local: jm-glibc-io.m4' to
21083         ensure that the generated file is created/updated whenever the list
21084         of $(unlocked_functions) is changed.
21085         (jm-glibc-io.m4): New rule.
21086         (unlocked-io.h): New rule -- currently unused.
21087
21088 2001-06-24  Jim Meyering  <meyering@lucent.com>
21089
21090         * m4/regex.m4 (jm_INCLUDED_REGEX): Use a quadrigraph to represent an
21091         unmatched right bracket, rather than kludging it with an extra,
21092         falsely-matching quote in a comment.  Patch by Akim Demaille.
21093
21094 2001-06-11  Jim Meyering  <meyering@lucent.com>
21095
21096         * lib/regex.c: Update from GNU libc.
21097
21098 2001-05-27  Jim Meyering  <meyering@lucent.com>
21099
21100         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for ut_type in struct utmpx.
21101         Check for ut_type in struct utmp.
21102
21103 2001-05-27  Jim Meyering  <meyering@lucent.com>
21104
21105         * lib/readutmp.h (UT_TYPE): Define.
21106
21107 2001-05-24  Jim Meyering  <meyering@lucent.com>
21108
21109         * lib/argmatch.c: Include "quote.h".
21110         (argmatch_invalid): Remove explicit `' quotes.  Instead, use the
21111         quote function.  Reported by Göran Uddeborg.
21112
21113 2001-05-22  Jim Meyering  <meyering@lucent.com>
21114
21115         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't use AC_LIBOBJ(strftime),
21116         now that we use the package-supplied version unconditionally.
21117         (jm_FUNC_STRFTIME): Don't replace strftime, for the same reason.
21118
21119 2001-05-21  Jim Meyering  <meyering@lucent.com>
21120
21121         * m4/regex.m4: Change a couple backticks to single quotes to avoid
21122         shell syntax errors.
21123
21124 2001-05-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
21125
21126         * m4/dos.m4 (jm_AC_DOS): Check for _WIN32, __WIN32__, and __MSDOS__.
21127
21128 2001-05-20  Paul Eggert  <eggert@twinsun.com>
21129
21130         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME):
21131         Don't bother to check library strftime, since
21132         we'll be using our own my_strftime function anyway.
21133         Define my_strftime instead of strftime.
21134
21135 2001-05-20  Alexandre Duret-Lutz  <duret_g@epita.fr>
21136
21137         * lib/dirname.c (dir_name): Compute append_dot using path, not newpath
21138         which is not yet declared.
21139
21140 2001-05-15  Jim Meyering  <meyering@lucent.com>
21141
21142         * m4/regex.m4: Use proper quoting so brackets appear in the test
21143         program.
21144         Reported by, and with help from, Bruno Haible.
21145
21146 2001-05-13  Jim Meyering  <meyering@lucent.com>
21147
21148         * m4/jm-macros.m4 (major_t, minor_t): Define to unsigned int if
21149         undefined.
21150
21151 2001-05-11  Paul Eggert  <eggert@twinsun.com>
21152
21153         dirname code cleanup.  base_name now behaves more compatibly
21154         with POSIX basename when given file names that have trailing
21155         slashes, and similarly for dir_name.  Add new primitives
21156         base_len and dir_len.  Put the directory-name-related decls
21157         into dirname.h.
21158
21159         * lib/addext.c (ISSLASH, base_name): Remove; now in dirname.h.
21160         * lib/backupfile.c (base_name): Likewise.
21161         * lib/basename.c (FILESYSTEM_PREFIX_LEN, PARAMS, ISSLASH): Likewise.
21162         * lib/dirname.c (FILESYSTEM_PREFIX_LEN, ISSLASH): Likewise.
21163         * lib/makepath.c (strip_trailing_slashes): Likewise.
21164         * lib/path-concat.c (DIRECTORY_SEPARATOR, FILESYSTEM_PREFIX_LEN,
21165         ISSLASH): Likewise.
21166         * lib/rename.c (strip_trailing_slashes): Likewise.
21167         * lib/same.c (base_name): Likewise.
21168         * lib/stripslash.c (ISSLASH): Likewise.
21169
21170         * lib/addext.c: Include <dirname.h> after size_t is defined.
21171         * lib/backupfile.c: Likewise.
21172
21173         * lib/addext.c (addext): Use base_len to trim redundant
21174         trailing slashes instead of doing it ourselves.
21175         But do not trim the last slash if it is not redundant.
21176
21177         * lib/backupfile.c (find_backup_file_name,
21178         max_backup_version): Use base_len instead of rolling it ourselves.
21179         Handle the case of "" and (on DOS) "C:" correctly.
21180
21181         * lib/basename.c: Do not include <stdio.h>, <assert.h>; no longer
21182         needed. Include <string.h>, <dirname.h>.
21183         (base_name): Allow file names ending in slashes, other than names
21184         that are all slashes.  In this case, return the basename followed
21185         by the slashes.  This is more general, and can be used in places
21186         where the original base_name purposely had an assertion failure.
21187         (base_len): New function.
21188
21189         * lib/dirname.c: Include <string.h> instead of <stdlib.h>.
21190         Do not include <assert.h>; no longer needed.
21191         Include xalloc.h.
21192         (memrchr): Remove decl.
21193         (dir_name_r): Remove.
21194         (dir_len): Renamed from dirlen.  All callers changed.
21195         Rewrite in terms of base_name, for simplicity and consistency.
21196         (dir_name): Never return NULL.  All callers changed.
21197         Do not include <stdlib.h> in test program; no longer needed.
21198         return 0; is fine for test program.
21199
21200         * lib/dirname.h (DIRECTORY_SEPARATOR, ISSLASH, FILESYSTEM_PREFIX_LEN):
21201         New macros.
21202         (base_name, base_len, dir_len, strip_trailing_slashes): New decls.
21203
21204         * lib/path-concat.c (path_concat): Use base_len to compute
21205         base length, not strlen; this means we cannot rely on memcpy
21206         to null-terminate.
21207
21208         * lib/same.c (STREQ): Remove.
21209         (same_name): Handle the case where the basename ends in trailing '/'.
21210
21211         * lib/stripslash.c (strip_trailing_slashes): Return nonzero if
21212         a slash was stripped.  Do not strip the last slash after a
21213         file system prefix.
21214
21215 2001-05-11  Paul Eggert  <eggert@twinsun.com>
21216
21217         * lib/Makefile.am (libfetish_a_SOURCES):
21218         Add strftime.c, since we now compile it on all hosts.
21219
21220         * lib/strftime.c (my_strftime):
21221         Define to nstrftime if emacs, but only if my_strftime is not defined.
21222         (extra_args, extra_args_spec, extra_args_spec_iso): Rename from
21223         ut_argument, ut_argument_spec, ut_argument_spec_iso, respectively.
21224         Add one more extra argument: a nanoseconds value.
21225         All uses changed.
21226         (ns): New macro.
21227         (my_strftime function): Add %N format.
21228         (emacs_strftimeu): Renamed from emacs_strftime,
21229         with extra ut argument.
21230
21231 2001-05-09  Paul Eggert  <eggert@twinsun.com>
21232
21233         * m4/jm-macros.m4 (jm_MACROS): Do not check for fseeko; no longer used.
21234
21235 2001-04-21  Jim Meyering  <meyering@lucent.com>
21236
21237         * m4/rmdir-errno.m4: Write to a new file, so that a restrictive umask
21238         doesn't interfere.
21239
21240 2001-04-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
21241
21242         * m4/ftruncate.m4: Check for chsize.
21243         Link with ftruncate.o unconditionally if ftruncate is missing.
21244         This was required when cross-compiling to i586-mingw32msvc.
21245
21246 2001-04-08  Jim Meyering  <meyering@lucent.com>
21247
21248         * lib/getdate.y (get_date): Set tm_isdst to -1 to ensure that it is
21249         recomputed; that's necessary when the offset spans a DST transition.
21250         Patch by David J. MacKenzie.  Reported by Hon-Yin Kok.
21251
21252 2001-04-02  Jim Meyering  <meyering@lucent.com>
21253
21254         * lib/regex.h, regex.c: Update from GNU libc.
21255
21256 2001-03-24  Jim Meyering  <meyering@lucent.com>
21257
21258         * m4/jm-macros.m4: Require autoconf-2.49d.
21259
21260 2001-03-20  Bruno Haible  <haible@clisp.cons.org>
21261
21262         * m4/iconv.m4 (jm_ICONV): Recommend GNU libiconv.
21263
21264 2001-03-19  Paul Eggert  <eggert@twinsun.com>
21265
21266         * lib/version-etc.c (version_etc_copyright): Update to 2001.
21267
21268 2001-03-17  Jim Meyering  <meyering@lucent.com>
21269
21270         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Remove my copy of AC_FUNC_MEMCMP,
21271         now that the version in autoconf is equivalent.
21272         (jm_FUNC_MEMCMP): Adjust to use AC_FUNC_MEMCMP.
21273
21274         * m4/error.m4 (jm_PREREQ_ERROR): Invoke AC_FUNC_STRERROR_R.
21275         Suggestion from Akim Demaille.
21276
21277         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_TEMPNAME.
21278         (jm_PREREQ_TEMPNAME): New function.
21279
21280 2001-03-16  Paul Eggert  <eggert@twinsun.com>
21281
21282         * lib/tempname.c (uint64_t): Define to uintmax_t if
21283         not defined, and if UINT64_MAX is not defined.
21284         Required at least for Vax Ultrix4.3, which doesn't define uint64_t.
21285         Reported by John David Anglin.
21286
21287 2001-03-15  Bruno Haible  <haible@clisp.cons.org>
21288
21289         * lib/localcharset.c (locale_charset): Allow wildcard syntax. Also
21290         resolve alias if codeset is empty.
21291         * lib/config.charset (BeOS): Use wildcard syntax.
21292
21293 2001-03-13  Jim Meyering  <meyering@lucent.com>
21294
21295         * lib/path-concat.c (path_concat)
21296         [FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't insert a backslash when
21297         concatenating e.g., `C:' and `foo'.
21298         From Bruno Haible.
21299
21300 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
21301
21302         * lib/localcharset.c (locale_charset): Don't use
21303         setlocale(LC_CTYPE,NULL). Don't return NULL.
21304         * lib/unicodeio.c (print_unicode_char): Simplify accordingly.
21305
21306 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
21307
21308         * lib/config.charset: Update for FreeBSD 4.2 and OSF/1 5.1. Add
21309         support for DOS/DJGPP.
21310
21311 2001-03-01  Paul Eggert  <eggert@twinsun.com>
21312
21313         * m4/jm-macros.m4 (jm_MACROS): Use mkstemp replacement if the system
21314         lacks mkstemp.  Compile our own tempname.c if we compile our own
21315         mkstemp.c, as mkstemp relies on tempname.
21316
21317 2001-03-01  Jim Meyering  <meyering@lucent.com>
21318
21319         * m4/dos.m4 (jm_AC_DOS): Remove extra backslashes, now that
21320         AH_VERBATIM really does output its argument verbatim.
21321
21322 2001-02-28  Paul Eggert  <eggert@twinsun.com>
21323
21324         * lib/Makefile.am (libfetish_a_SOURCES):
21325         Add dup-safer.c, fopen-safer.c.
21326         (noinst_HEADERS): Add stdio-safer.h, unistd-safer.h.
21327
21328         * lib/dup-safer.c, lib/fopen-safer.c, lib/stdio-safer.h:
21329         * lib/unistd-safer.h: New files.
21330
21331 2001-02-25  Paul Eggert  <eggert@twinsun.com>
21332
21333         The mkstemp replacement is taken from glibc 2.2.2, with some
21334         portability fixes for use outside glibc, as follows:
21335
21336         * lib/tempname.c (struct_stat64): New macro.
21337         (direxists, __gen_tempname): Use it.
21338         This avoids a portability problem with Solaris 8.
21339
21340         * lib/tempname.c (<config.h>): Include if HAVE_CONFIG_H.
21341         (<stddef.h>, <stdint.h>, <string.h>):
21342         Include only if STDC_HEADERS || _LIBC.
21343         (<fcntl.h>): Include only if HAVE_FCNTL_H || _LIBC.
21344         (<unistd.h>): Include only if HAVE_UNISTD_H || _LIBC.
21345         (<sys/time.h>): Include only if HAVE_SYS_TIME_H || _LIBC.
21346         (__set_errno): Define this macro if <errno.h> doesn't.
21347         (P_tmpdir, TMP_MAX, __GT_FILE, __GT_BIGFILE, __GT_DIR, __GT_NOCREATE):
21348         Define these macros if <stdio.h> doesn't.
21349         (S_ISDIR, S_IRUSR, S_IWUSR, S_IXUSR):
21350         Define these macros if <sys/stat.h>
21351         doesn't.  Ignore <sys/stat.h> S_ISDIR if STAT_MACROS_BROKEN.
21352         (stat64, __getpid, __gettimeofday, __mkdir, __open, __open64, lxstat64,
21353         __xstat64): Define if not _LIBC.
21354         (__secure_getenv): Define if ! (HAVE___SECURE_GETENV || _LIBC).
21355         (__gen_tempname): Invoke gettimeofday only if
21356         HAVE_GETTIMEOFDAY || _LIBC;
21357         otherwise, fall back on plain "time".
21358         Use macros like S_IRUSR | S_IWUSR rather than octal values like 0600.
21359
21360         * lib/mkstemp.c (__GT_FILE): Define to zero if not defined.
21361
21362         * lib/mkstemp.c, lib/tempname.c: New files, taken from glibc 2.2.2.
21363
21364 2001-02-18  Paul Eggert  <eggert@twinsun.com>
21365
21366         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for sys/resource.h.
21367
21368 2001-02-17  Paul Eggert  <eggert@twinsun.com>
21369
21370         * m4/mbrtowc.m4: New file, defining jm_FUNC_MBRTOWC.
21371         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH):
21372         Use jm_FUNC_MBRTOWC, not AC_CHECK_FUNCS(mbrtowc).
21373         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
21374
21375 2001-02-17  Paul Eggert  <eggert@twinsun.com>
21376
21377         * lib/mbswidth.c, quotearg.c (mbrtowc, mbsinit):
21378         Remove workaround macros for hosts that have mbrtowc but not
21379         mbstate_t, as we now insist on proper declarations for both
21380         before using mbrtowc.
21381
21382 2001-02-17  Jim Meyering  <meyering@lucent.com>
21383
21384         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Don't check for
21385         getmntent via AC_CHECK_FUNCS, since that would get a `no' and disrupt
21386         further attempts by AC_FUNC_GETMNTENT to check with e.g., -lgen on
21387         UnixWare 7.1.1.
21388
21389         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Adapt to use AC_CACHE_CHECK etc.,
21390         rather than AC_CACHE_VAL.
21391
21392 2001-02-17  Jim Meyering  <meyering@lucent.com>
21393
21394         * lib/strtoul.c: Sync from GNU libc.  Use double quotes, not <...>
21395         around included file name.
21396
21397         * lib/strnlen.c (__strnlen): Merge in a change from GNU libc.
21398
21399         * lib/strftime.c: Update from GNU libc (the only changes were to
21400         comments).
21401
21402 2001-02-17  Jim Meyering  <meyering@lucent.com>
21403
21404         * lib/regex.c: Update from libc.
21405
21406 2001-02-17  Bruno Haible  <haible@clisp.cons.org>
21407
21408         * lib/mbswidth.h (mbswidth): Also define as macro, to avoid prototype
21409         clash.
21410
21411 2001-02-16  Paul Eggert  <eggert@twinsun.com>
21412
21413         * lib/alloca.c (malloc): Undef before defining, since stdlib.h
21414         may have defined it.  Needed for Encore Umax-3.0.9.16b systems.
21415         Reported by Mark Hounschell via Paul Eggert.
21416
21417 2001-02-07  Jim Meyering  <meyering@lucent.com>
21418
21419         * m4/regex.m4 (jm_INCLUDED_REGEX): Add a test for the latest bug.
21420
21421 2001-02-05  Jim Meyering  <meyering@lucent.com>
21422
21423         * m4/jm-macros.m4: Require autoconf-2.14d (not yet released), because
21424         it includes the patch required for `large file' support with at least
21425         HP-UX's 10.20 /bin/cc.
21426
21427 2001-02-03  Jim Meyering  <meyering@lucent.com>
21428
21429         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Restore prior use of
21430         AS_IF, now that it works once again (mysteriously).
21431         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
21432
21433 2001-01-30  Jim Meyering  <meyering@lucent.com>
21434
21435         Don't use filenames that are 8.3-equivalent to "conftest" on DOS.
21436         * m4/chown.m4: Rename conftestchown to conftest.chown.
21437         * m4/rename.m4: s/conftestdir/conftest.d1/ and
21438         s/conftestdir2/conftest.d2/.
21439         * m4/utimes.m4: s/conftestdata/conftest.data/
21440         Inspired by Pavel Roskin's change in autoconf.
21441
21442 2001-01-30  Bruno Haible  <haible@clisp.cons.org>
21443
21444         * lib/config.charset: Update for FreeBSD 4.2.
21445
21446 2001-01-27  Jim Meyering  <meyering@lucent.com>
21447
21448         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Open-code what was
21449         a use of AS_IF.
21450         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
21451
21452 2001-01-26  Jim Meyering  <meyering@lucent.com>
21453
21454         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Check for stddef.h, now that
21455         quotearg.c includes it.
21456
21457 2001-01-26  Jim Meyering  <meyering@lucent.com>
21458
21459         * lib/quotearg.c: Include stddef.h.
21460         * lib/quote.c: Include stddef.h.
21461         Reported by Axel Kittenberger.
21462
21463         * lib/xmalloc.c [HAVE_DONE_WORKING_MALLOC_CHECK]: Enclose error-evoking
21464         line in double quotes so that it evokes a better diagnostic.
21465         [HAVE_DONE_WORKING_REALLOC_CHECK]: Likewise.
21466         Reported by Axel Kittenberger.
21467
21468 2001-01-24  Stefan Monnier  <monnier@cs.yale.edu>
21469
21470         * regex.c (mutually_exclusive_p): Don't blindly handle `charset_not'
21471         as if it was a `charset'.
21472
21473 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
21474
21475         * m4/iconv.m4 (jm_ICONV): Also check whether the iconv declaration
21476         has const.
21477
21478 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
21479
21480         * lib/unicodeio.c (print_unicode_char): Cast the second iconv() arg,
21481         to avoid a warning.  Add back 'const' to inptr.
21482
21483 2001-01-20  Jim Meyering  <meyering@lucent.com>
21484
21485         Be sure that headers are checked before used in code compiled
21486         for the type checks.
21487         * m4/jm-macros.m4 (jm_MACROS): Remove all header checks.
21488         In place of that, invoke jm_CHECK_ALL_TYPES.
21489         (jm_CHECK_ALL_HEADERS): New functions with the above checks.
21490         (jm_CHECK_ALL_TYPES): Require jm_CHECK_ALL_HEADERS.
21491         Alan Iwi reported a build failure on an f300-fujitsu-uxpv4.1_ES;
21492         The check for ssize_t was mistakenly run before the test for unistd.h.
21493
21494         The configure-time check for stdbool.h was missing.
21495         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_HASH.
21496         (jm_PREREQ_HASH): New function.
21497
21498 2001-01-17  Jim Meyering  <meyering@lucent.com>
21499
21500         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use AS_IF, not AS_IFELSE,
21501         for autoconf-2.49c.
21502         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Likewise.
21503
21504 2001-01-16  Jim Meyering  <meyering@lucent.com>
21505
21506         * lib/basename.c: Include <stdio.h>, needed by assert on SunOS 4.
21507         From Bruno Haible.
21508
21509 2001-01-14  Jim Meyering  <meyering@lucent.com>
21510
21511         * m4/rename.m4: Use temporary directories named conftestdir{,2}, not
21512         foo and bar.  Create conftestdir/ in the script, not in the C code.
21513         Remove directories in the script, not in the C code.
21514         Remove conftestdir{,2} before trying to create the directory.
21515         Make the entire configure script fail if the mkdir fails.
21516
21517 2001-01-14  Jim Meyering  <meyering@lucent.com>
21518
21519         * lib/rename.c: New file.  From Volker Borchert.
21520         Include stdlib.h, string.h or strings.h, and xalloc.h.
21521         Use strip_trailing_slashes rather than open-coding it.
21522
21523 2001-01-03  Paul Eggert  <eggert@twinsun.com>
21524
21525         * lib/strftime.c: Sync with glibc time/strftime.c 1.81.
21526
21527 2001-01-03  Jim Meyering  <meyering@lucent.com>
21528
21529         * lib/unicodeio.c (print_unicode_char): Remove `const' from declaration
21530         of local `inptr' to avoid warning with some system declarations of
21531         iconv.
21532
21533 2001-01-02  Volker Borchert  <bt@teknon.de>
21534
21535         * m4/rename.m4: New file.
21536         * m4/jm-macros.m4 (jm_MACROS): Require vb_FUNC_RENAME.
21537
21538 2001-01-01  Jim Meyering  <meyering@lucent.com>
21539
21540         * m4/prereq.m4 (jm_PREREQ_READUTMP): Include utmp.h (if available),
21541         even on systems with utmpx.h.  It's necessary for the declaration of
21542         utmp's ut_user member.  Reported by Andreas Jaeger.
21543
21544         * m4/check-decl.m4 (jm_CHECK_DECLS): Include grp.h and pwd.h if
21545         available. They are required for the declarations of getgrgid and
21546         getpwuid resp.
21547         (_jm_DECL_HEADERS): Check for grp.h and pwd.h.
21548         Reported by Andreas Jaeger.
21549
21550 2001-01-01  Alexandre Duret-Lutz  <duret_g@epita.fr>
21551
21552         * m4/libintl.m4 (AM_GNU_GETTEXT): Define MKINSTALLDIRS by
21553         expanding the value of $ac_aux_dir, as in AM_MISSING_HAS_RUN,
21554         so `make install' also works in VPATH builds.
21555
21556 2000-12-31  Alexandre Duret-Lutz  <duret_g@epita.fr>
21557
21558         * m4/libintl.m4 (AM_WITH_NLS): When using AC_CONFIG_AUX_DIR,
21559         prepend $(top_srcdir) to the value of MKINSTALLDIRS so that it
21560         can be used in subdirectories.
21561
21562 2000-12-29  Paul Eggert  <eggert@twinsun.com>
21563
21564         * lib/modechange.c: Do not assume that mode_t uses the
21565         traditional octal encoding.  E.g. "chmod 1 FOO" should set
21566         the other-execute bit of FOO even if S_IXOTH != 1.
21567
21568         (SUID, SGID, SVTX, RUSR, WUSR, XUSR, RGRP, WGRP, XGRP, ROTH,
21569         WOTH, XOTH, ALLM): New macros.
21570         (S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR,
21571          S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH):
21572         Use them.
21573         (S_ISGID): Fix typo; it was defaulting to the same value as S_ISUID.
21574         (S_IRWXU, S_IRWXG, S_IRWXO): Specify defaults in terms of the above.
21575         (mode_compile):
21576         No need to use uintmax_t; unsigned long is long enough.
21577         Don't bother to get suffix since we don't use it.
21578
21579 2000-12-26  Jim Meyering  <meyering@lucent.com>
21580
21581         * m4/dos.m4 (jm_AC_DOS): Rewrite (though it's still a stub) to work
21582         better with autoheader.
21583
21584 2000-12-24  Jim Meyering  <meyering@lucent.com>
21585
21586         * lib/hash.c (is_prime): Return explicit boolean values.
21587         (hash_get_first): Return NULL to appease Irix5.6's 89.
21588         Reported by Nelson Beebe.
21589
21590 2000-12-19  Bruno Haible  <haible@clisp.cons.org>
21591
21592         * lib/localcharset.c (locale_charset): Add support for Win32.
21593
21594 2000-12-18  Paul Eggert  <eggert@twinsun.com>
21595
21596         * lib/physmem.h, lib/physmem.c: New files.
21597
21598         * lib/Makefile.am (libfetish_a_SOURCES): Add physmem.c.
21599         (noinst_HEADERS): Add physmem.h.
21600
21601         * lib/xstrtol.c (__xstrtol): Add undocumented suffixes 'g' and
21602         't' for compatibility with Solaris 8 sort.
21603
21604 2000-12-18  Bruno Haible  <haible@clisp.cons.org>
21605
21606         * lib/config.charset: Add support for BeOS.
21607
21608 2000-12-17  Jim Meyering  <meyering@lucent.com>
21609
21610         * m4/dos.m4 (jm_AC_DOS): New file and macro.
21611         * m4/jm-macros.m4 (jm_MACROS): Require jm_AC_DOS.
21612
21613 2000-12-16  Jim Meyering  <meyering@lucent.com>
21614
21615         This bug had a serious impact on chown: `chown N:M FILE' (for integer
21616         N and M) would have treated it like `chown N:N FILE'.
21617
21618         * lib/userspec.c (parse_user_spec): Fix typo: s/u/g/.
21619
21620 2000-12-16  Jim Meyering  <meyering@lucent.com>
21621
21622         * lib/getusershell.c [!SHELLS_FILE && __DJGPP__]: Define
21623         SHELLS_FILE to a file name that's useful on djgpp systems.
21624         Include stdlib.h.
21625         (ADDITIONAL_DEFAULT_SHELLS): Define.
21626         (default_shells): Prepend ADDITIONAL_DEFAULT_SHELLS.
21627         Based mostly on a patch from Prashant TR.
21628
21629 2000-12-16  Bruno Haible  <haible@clisp.cons.org>
21630
21631         * lib/config.charset: Add ISO-8859-3, BIG5HKSCS, GB18030, JOHAB,
21632         VISCII, CP874, CP949, CP950, CP1250, CP1253, CP1254, CP1255, CP1256,
21633         CP1257 to the list of canonical encodings. Rename EUC-CN to GB2312.
21634
21635 2000-12-08  Andreas Schwab  <schwab@suse.de>
21636
21637         * lib/mbswidth.c (mbsnwidth): Don't loop endlessly when called with an
21638         invalid mulitbyte sequence and with the MBSW_ACCEPT_INVALID flag set.
21639
21640 2000-12-07  Jim Meyering  <meyering@lucent.com>
21641
21642         * lib/stripslash.c (ISSLASH): Define.
21643         (strip_trailing_slashes): Use ISSLASH rather than comparing against
21644         `/'.
21645         From Prashant TR.
21646
21647         * lib/dirname.c (FILESYSTEM_PREFIX_LEN): Define.
21648         (dir_name_r): Declare this function as static.
21649         [BACKSLASH_IS_PATH_SEPARATOR]: Fix a bug that'd
21650         manifest itself on a name containing a mix of slashes and
21651         backslashes.
21652         Make this function work with names starting with a DOS-style
21653         drive letter and colon prefix.
21654         (dir_name): Append `.' if necessary.
21655         Based mostly on patches from Prashant TR and Eli Zaretskii.
21656
21657         * lib/dirname.h (dir_name_r): Remove prototype.
21658
21659 2000-12-06  Paul Eggert  <eggert@twinsun.com>
21660
21661         * m4/off_t-format.m4: Remove this file.
21662         * m4/jm-macros.m4 (jm_MACROS): Remove jm_SYS_OFF_T_PRINTF_FORMAT.
21663
21664 2000-12-06  Jim Meyering  <meyering@lucent.com>
21665
21666         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): If we need the
21667         replacement strtoull, we may well need the replacement strtoul, too.
21668         Check for declarations of strtoul and strtoull.
21669         Check for strtol.  Mainly as a cue to cause automake to include
21670         strtol.c -- that file is included by each of strtoul.c and strtoull.c.
21671         Check for limits.h -- strtol.c needs it.
21672
21673 2000-12-05  Jim Meyering  <meyering@lucent.com>
21674
21675         * lib/dirname.c (dir_name_r): Add `const' in a few local declarations.
21676
21677 2000-12-04  Jim Meyering  <meyering@lucent.com>
21678
21679         * lib/path-concat.c: [!HAVE_DECL_MALLOC]: Declare malloc.
21680         Also include memory.h, stdlib.h, unistd.h if appropriate.
21681         Reported by Andreas Jaeger (conflicting declaration of malloc).
21682
21683 2000-12-02  Jim Meyering  <meyering@lucent.com>
21684
21685         * m4/off_t-format.m4 (OFF_T_PRINTF_FORMAT_STRING): New file/macro.
21686         * m4/jm-macros.m4 (jm_MACROS): require it.
21687
21688 2000-12-02  Jim Meyering  <meyering@lucent.com>
21689
21690         * lib/closeout.h: Make idempotent, to avoid some obscure warnings.
21691
21692 2000-12-01  Paul Eggert  <eggert@twinsun.com>
21693
21694         * lib/memrchr.c: Include <config.h> before any system include file.
21695
21696 2000-11-30  Jim Meyering  <meyering@lucent.com>
21697
21698         * m4/jm-macros.m4 (jm_MACROS): Check for stdint.h.
21699
21700 2000-11-30  Jim Meyering  <meyering@lucent.com>
21701
21702         * m4/getloadavg.m4: s/ifval/m4_ifval/ to accommodate new autoconf.
21703
21704 2000-11-29  Paul Eggert  <eggert@twinsun.com>
21705
21706         * lib/dirname.c (dir_name_r): Fix typo: int -> size_t.
21707
21708 2000-11-26  Jim Meyering  <meyering@lucent.com>
21709
21710         * lib/memcoll.c: Include sys/types.h.  From Werner Almesberger.
21711
21712 2000-11-22  Paul Eggert  <eggert@twinsun.com>
21713
21714         * lib/strftime.c (my_strftime): Do not invoke mbrlen with a
21715         size of (size_t) -1; it's not portable.
21716
21717 2000-11-17  Jim Meyering  <meyering@lucent.com>
21718
21719         * lib/strstr.c: Update from GNU libc.
21720
21721 2000-11-17  Akim Demaille  <akim@epita.fr>
21722
21723         * lib/obstack.h: Formatting changes.
21724         (obstack_grow, obstack_grow0): Don't cast WHERE at all: that would
21725         prevent type checking.
21726         (obstack_ptr_grow, obstack_ptr_grow_fast): When assigning, don't
21727         cast the value to (void *): assigning a `foo *' to a `void *'
21728         variable is valid.
21729         (obstack_int_grow, obstack_int_grow_fast): Don't cast AINT to int.
21730
21731 2000-11-16  Jim Meyering  <meyering@lucent.com>
21732
21733         * lib/strverscmp.c: Incorporate weak-alias-related changes from glibc.
21734
21735 2000-11-11  Jim Meyering  <meyering@lucent.com>
21736
21737         * lib/error.c: Add a couple #includes, merging from GNU libc version.
21738
21739 2000-11-10  Jim Meyering  <meyering@lucent.com>
21740
21741         * lib/obstack.h: Update from GNU libc.
21742         * lib/obstack.c: Likewise.
21743
21744 2000-11-08  Bruno Haible  <haible@clisp.cons.org>
21745
21746         * m4/jm-macros.m4 (jm_MACROS): Add test for wcrtomb.
21747
21748 2000-11-06  Paul Eggert  <eggert@twinsun.com>
21749
21750         * lib/getusershell.c (setusershell): Use rewind rather than
21751         fseek/fseeko, to avoid configuration hassles with fseeko.
21752         Don't bother opening SHELLS_FILE if shellstream is NULL;
21753         it's not necessary.
21754
21755 2000-11-05  Jim Meyering  <meyering@lucent.com>
21756
21757         * lib/makepath.h (make_dir): Declare.
21758         * lib/makepath.c (make_dir): Remove `static' attribute.
21759         Tweak a comment.
21760
21761 2000-11-04  Jim Meyering  <meyering@lucent.com>
21762
21763         * m4/regex.m4: Use the `m4_' prefix on `syscmd' and `m4_sysval'.
21764
21765 2000-11-04  Alexandre Duret-Lutz  <duret_g@epita.fr>
21766
21767         * lib/hash.c (hash_get_next): Fix a thinko:  when ENTRY is the
21768         last one in a bucket, advance to the next bucket.
21769
21770 2000-11-02  Vesselin Atanasov  <vesselin@bgnet.bg>
21771
21772         * lib/fnmatch.c: Do not comment out all the code if we are using
21773         the GNU C library, because in some cases we are replacing buggy
21774         code in the GNU C library itself.
21775
21776 2000-10-30  Stefan Monnier  <monnier@cs.yale.edu>
21777
21778         * regex.c (re_iswctype, re_wctype_to_bit): Fix braino.
21779         (regex_compile): Catch bogus \(\1\).
21780
21781 2000-10-30  Paul Eggert  <eggert@twinsun.com>
21782
21783         * lib/fnmatch.c (FOLD): Do not assume that characters are unsigned.
21784         (fnmatch): Fix some FNM_FILE_NAME and FNM_LEADING_DIR bugs,
21785         e.g. fnmatch("d*/*1", "d/s/1", FNM_FILE_NAME) incorrectly yielded zero.
21786
21787 2000-10-30  Paul Eggert  <eggert@twinsun.com>
21788
21789         * lib/error.h, getline.h, modechange.h:
21790         Remove "2000" from Copyright line, as the file hasn't been
21791         changed this year other than in the copyright notice.
21792
21793         * lib/xalloc.h: Add "2000" to Copyright line, as this file
21794         was changed this year.
21795
21796 2000-10-29  Jim Meyering  <meyering@lucent.com>
21797
21798         * m4/fsusage.m4: s/AC_SHELL_IFELSE/AS_IFELSE/ to match autoconf
21799         renaming.
21800         * m4/ls-mntd-fs.m4: Likewise
21801
21802 2000-10-29  Jim Meyering  <meyering@lucent.com>
21803
21804         * lib/xstat.in: Fix grammar in comment.
21805
21806 2000-10-29  Greg Louis  <glouis@dynamicro.on.ca>
21807
21808         * lib/regex.h (__restrict_arr): Move definition out of #ifndef block.
21809         Required because egcs-2.91.66 (aka 1.1.2) defines __restrict, but
21810         doesn't define __restrict_arr.
21811
21812 2000-10-28  Jim Meyering  <meyering@lucent.com>
21813
21814         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_MEMCHR.
21815         (jm_PREREQ_MEMCHR): New function.
21816
21817 2000-10-28  Jim Meyering  <meyering@lucent.com>
21818
21819         * lib/memchr.c: Update from libc.
21820         Adjust for portability:
21821         [HAVE_STDLIB_H]: Include stdlib.h.
21822         [HAVE_BP_SYM_H || _LIBC]: Guard inclusion of bp-sym.h.
21823         Undef __memchr, too.
21824         [!weak_alias]: Define __memchr to memchr.
21825
21826         * lib/regex.c: Update from libc.
21827         * lib/regex.h: Likewise.
21828         * lib/getopt1.c: Likewise.
21829         * lib/memcmp.c: Likewise.
21830
21831         * lib/getusershell.c (setusershell) [HAVE_FSEEKO]: Use fseeko.
21832         Avoid using fseek, when possible -- it's broken by design.
21833         Patch by Ulrich Drepper.
21834
21835 2000-10-27  Stefan Monnier  <monnier@cs.yale.edu>
21836
21837         * regex.c (POP_FAILURE_REG_OR_COUNT, re_match_2_internal)
21838         (re_match_2_internal, re_match_2_internal, re_match_2_internal):
21839         Giving in to popular pressure to shut up the compiler with casts.
21840
21841 2000-10-26  Jim Meyering  <meyering@lucent.com>
21842
21843         * lib/strftime.c: Update from libc.
21844
21845 2000-10-25  Stefan Monnier  <monnier@cs.yale.edu>
21846
21847         * regex.c: More `unsigned char' -> `re_char' changes.
21848         Also change several `int' into `re_wchar_t'.
21849         (PATTERN_STACK_EMPTY, PUSH_PATTERN_OP, POP_PATTERN_OP): Remove.
21850         (PUSH_FAILURE_POINTER): Don't cast any more.
21851         (POP_FAILURE_REG_OR_COUNT): Remove the cast that strips `const'.
21852         We want GCC to complain, since this piece of code makes
21853         re_match non-reentrant, which *should* be fixed.
21854         (GET_BUFFER_SPACE): Use size_t rather than unsigned long.
21855         (EXTEND_BUFFER): Use RETALLOC.
21856         (SET_LIST_BIT): Don't cast.
21857         (re_wchar_t): New type.
21858         (re_iswctype, re_wctype_to_bit): Make it crystal clear to GCC
21859         that those two functions will always properly return.
21860         (IMMEDIATE_QUIT_CHECK): Cast to void.
21861         (analyse_first): Use recursion rather than an explicit stack.
21862         (re_compile_fastmap): Can't fail anymore.
21863         (re_search_2): Don't check re_compile_fastmap for failure.
21864         (PUSH_NUMBER): Renamed from PUSH_FAILURE_COUNT.
21865         Now also sets the new value (passed in a new argument).
21866         (re_match_2_internal): Use it.
21867         Also, use a new var `reg' of type size_t when looping through regs
21868         rather than reuse the inappropriate `mcnt'.
21869
21870 2000-10-25  Jim Meyering  <meyering@lucent.com>
21871
21872         * lib/obstack.c: Update from libc.
21873
21874 2000-10-24  Kenichi Handa  <handa@etl.go.jp>
21875
21876         * regex.c (regex_compile): Change the way of handling a range from
21877         a char less than 256 to a char not less than 256.
21878
21879 2000-10-24  Andrew Innes  <andrewi@gnu.org>
21880
21881         * regex.c (IMMEDIATE_QUIT_CHECK): New macro, which does QUIT on
21882         NT-Emacs only.
21883         (re_match_2_internal): Use IMMEDIATE_QUIT_CHECK instead of QUIT,
21884         so that re_search functions only quit when callers expect them to.
21885
21886 2000-10-23  Jim Meyering  <meyering@lucent.com>
21887
21888         * lib/hard-locale.c (hard_locale): Revert last change -- it was simply
21889         wrong.  That set_locale call must not have any side effects.
21890         From Paul Eggert.
21891
21892 2000-10-22  Jim Meyering  <meyering@lucent.com>
21893
21894         * lib/md5.c (md5_process_block) [OP]: Use `rol', not CYCLIC.
21895         [CYCLIC]: Remove now-unused definition.
21896
21897         * lib/save-cwd.c (O_DIRECTORY): Define, if needed.
21898         (save_cwd) [HAVE_FCHDIR]: Use O_DIRECTORY when opening ".".
21899         Suggestion from Ulrich Drepper.
21900
21901 2000-10-21  Jim Meyering  <meyering@lucent.com>
21902
21903         * m4/check-decl.m4 (jm_CHECK_DECLS): Also check for memrchr.
21904         * m4/prereq.m4 (jm_PREREQ_DIRNAME): New macro.
21905         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memrchr.
21906
21907 2000-10-21  Jim Meyering  <meyering@lucent.com>
21908
21909         * lib/dirname.c (memrchr): Declare if necessary.
21910         (dir_name): Remove the restriction that there be no
21911         trailing slashes.  Now, this code skips past them, effectively
21912         ignoring them.
21913         [TEST_DIRNAME] (main): New unit tests.
21914
21915         * lib/memrchr.c: New file from GNU libc.
21916         Undef __memrchr, too.
21917         [!weak_alias]: Define __memrchr to memrchr.
21918         Guard weak_alias use with `#ifdef weak_alias'.
21919
21920 2000-10-21  Jim Meyering  <meyering@lucent.com>
21921
21922         * lib/dirname.c (dir_name_r): New function, factored out of dir_name.
21923         (dir_name): Use dir_name_r.
21924         * lib/dirname.h (dir_name_r): Declare it.
21925
21926 2000-10-17  Jim Meyering  <meyering@lucent.com>
21927
21928         * lib/quote.h (PARAMS): Define and use.
21929         Reported by Akim Demaille.
21930
21931         * lib/getopt.c: Update from libc.
21932
21933 2000-10-16  Jim Meyering  <meyering@lucent.com>
21934
21935         * lib/hard-locale.c (hard_locale): Use "", not 0 as 2nd arg to
21936         setlocale.
21937         From Jan Fedak.
21938
21939 2000-10-15  Stefan Monnier  <monnier@cs.yale.edu>
21940
21941         * regex.c (WIDE_CHAR_SUPPORT): Define if _LIBC as well.
21942
21943 2000-09-25  Jim Meyering  <meyering@lucent.com>
21944
21945         * lib/md5.h (rol): Define (from GnuPG).
21946
21947         * lib/sha.c: Give credit (GnuPG) where due.
21948         (M): Use rol rather than open-coding it.
21949         Add a FIXME comment.
21950
21951 2000-09-21  Jim Meyering  <meyering@lucent.com>
21952
21953         * lib/userspec.c (parse_user_spec): Remove debugging printf I'd added.
21954         Reported by Michael Stone.
21955
21956 2000-09-20  Jim Meyering  <meyering@lucent.com>
21957
21958         * lib/Makefile.am (libfetish_a_SOURCES): Add sha.c.
21959         (noinst_HEADERS): Add sha.h.
21960         Based on code from Scott G. Miller and from GnuPG.
21961
21962 2000-09-18  Jim Meyering  <meyering@lucent.com>
21963
21964         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Restore the initial value of
21965         LIBS. Otherwise, everyone ends up linking with -lelf for some
21966         configurations.
21967         Reported by Mike Stone.
21968
21969 2000-09-15  Jim Meyering  <meyering@lucent.com>
21970
21971         * lib/regex.c: Update from libc.
21972
21973 2000-09-10  Jim Meyering  <meyering@lucent.com>
21974
21975         * lib/getopt.c (_getopt_internal): Update from glibc.
21976
21977 2000-09-09  Jim Meyering  <meyering@lucent.com>
21978
21979         * lib/quotearg.c: Rename ISASCII to IN_CTYPE_DOMAIN, so people don't
21980         think it should be used as a general replacement for isascii.
21981         * lib/fnmatch.c: Likewise.
21982         * lib/mbswidth.c: Likewise
21983         * lib/regex.c: Likewise.
21984
21985         Don't use atoi.
21986         * lib/userspec.c: Include sys/param.h and limits.h.
21987         Include xstrtol.h.
21988         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
21989         (UID_T_MAX, GID_T_MAX, MAXUID, MAXGID): Define.
21990         (parse_user_spec): Use xstrtoul, not atoi when converting numeric
21991         UID, GID.  Check range.
21992
21993 2000-09-06  Jim Meyering  <meyering@lucent.com>
21994
21995         * lib/getopt.c (_getopt_internal): Update from glibc.
21996
21997 2000-08-30  Jim Meyering  <meyering@lucent.com>
21998
21999         * lib/strftime.c: Merge in changes from GNU libc.
22000
22001 2000-08-26  Jim Meyering  <meyering@lucent.com>
22002
22003         * m4/jm-macros.m4: Use jm_FUNC_FPENDING.
22004         * m4/fpending.m4: New file.
22005
22006 2000-08-26  Jim Meyering  <meyering@lucent.com>
22007
22008         * lib/closeout.c: Include "__fpending.h".
22009         (close_stdout_status): Return right away if there's nothing to flush.
22010
22011         * lib/Makefile.am (noinst_HEADERS): Add __fpending.h.
22012         * lib/__fpending.c: New file.
22013         * lib/__fpending.h: New file.
22014
22015 2000-08-20  Jim Meyering  <meyering@lucent.com>
22016
22017         * m4/check-decl.m4: Include utmp.h `#if HAVE_UTMP_H', rather than
22018         `#if !HAVE_UTMPX_H'.  The latter would lose on systems with neither
22019         utmp.h nor utmpx.h.  Reported by Eli Zaretskii.
22020
22021 2000-08-11  J. David Anglin  <dave@hiauly1.hia.nrc.ca>
22022
22023         Improve fileutils installation on systems where running
22024         programs (like install) can't be unlinked.
22025         * m4/unlink-busy.m4 (jm_FUNC_UNLINK_BUSY_TEXT): New file/macro.
22026         * m4/jm-macros.m4: Use jm_FUNC_UNLINK_BUSY_TEXT.
22027
22028 2000-08-07  Paul Eggert  <eggert@twinsun.com>
22029
22030         Standardize on "memory exhausted" instead of "Memory exhausted"
22031         or "virtual memory exhausted".
22032         * lib/obstack.c (print_and_abort): Use "memory exhausted", not
22033         "virtual memory exhausted".
22034         * lib/same.c (same_name): Invoke xalloc_die instead of printing
22035         our own message.
22036         * lib/userspec.c (parse_user_spec): Likewise.
22037         * lib/bumpalloc.h: comment fix
22038         * lib/same.c, userspec.c: Include xalloc.h.
22039
22040         * lib/xalloc.h (xalloc_msg_memory_exhausted): Now char const[],
22041         not char *const and pointing to a constant array.
22042         * lib/xmalloc.c (xalloc_msg_memory_exhausted): Likewise.
22043         (xrealloc): Comment fix.
22044
22045         * lib/userspec.c (parse_user_spec):
22046         Don't translate a message until just before returning,
22047         to avoid unnecessary translation.
22048
22049 2000-08-07  Jim Meyering  <meyering@lucent.com>
22050
22051         * lib/addext.c, argmatch.c, argmatch.h, backupfile.h, bumpalloc.h,
22052         chown.c, diacrit.h, dirname.h, dup2.c, exclude.h, fileblocks.c,
22053         fnmatch.c, fnmatch.h, fsusage.c, fsusage.h, getdate.h,
22054         getgroups.c, gethostname.c, getopt.h, group-member.c,
22055         hard-locale.c, hash.h, isdir.c, lchown.c, linebuffer.c,
22056         linebuffer.h, long-options.h, malloc.c, md5.c, md5.h, memchr.c,
22057         memcmp.c, memcoll.c, memset.c, mktime.c, modechange.h, obstack.h,
22058         pathmax.h, realloc.c, rmdir.c, safe-read.c, save-cwd.c, stime.c,
22059         stpcpy.c, strcasecmp.c, strcspn.c, strdup.c, stripslash.c,
22060         strstr.c, strtod.c, strtol.c, strtoul.c, strtoull.c, strtoumax.c,
22061         utime.c, version-etc.h, xalloc.h, xstrdup.c, xstrtoumax.c,
22062         yesno.c: Back out Copyright date changes for each file with no change
22063         this year.  This eases coordination with other programs using the same
22064         source code modules.  From Paul Eggert.
22065
22066 2000-08-06  Paul Eggert  <eggert@twinsun.com>
22067
22068         * m4/mbstate_t.m4 (AC_MBSTATE_T): Define mbstate_t to be int,
22069         not char, for compatibility with glibc 2.1.3 strftime.c.
22070
22071 2000-08-03  Greg McGary  <greg@mcgary.org>
22072
22073         * lib/regex.c (SET_HIGH_BOUND, MOVE_BUFFER_POINTER,
22074         ELSE_EXTEND_BUFFER_HIGH_BOUND): New macros.
22075         (EXTEND_BUFFER): Use them.
22076
22077 2000-08-01  Jim Meyering  <meyering@lucent.com>
22078
22079         * lib/dirname.c (ISSLASH): Define.
22080         (BACKSLASH_IS_PATH_SEPARATOR): Define.
22081         (dir_name) [BACKSLASH_IS_PATH_SEPARATOR]: Handle the case in which
22082         both `\' and `/' may be use as path separators.
22083         Based on a patch from Prashant TR.
22084
22085 2000-07-31  Paul Eggert  <eggert@twinsun.com>
22086
22087         * lib/quotearg.c (quotearg_n_options): Don't make the initial
22088         slot vector a constant, since it might get modified.
22089
22090 2000-07-31  Jim Meyering  <meyering@lucent.com>
22091
22092         * lib/xmalloc.c: Use `virtual memory exhausted', not
22093         `Memory exhausted'.
22094         * lib/obstack.c (print_and_abort): Likewise.
22095
22096 2000-07-30  Paul Eggert  <eggert@twinsun.com>
22097
22098         * lib/quotearg.c (quotearg_n_options): Preallocate a slot 0
22099         buffer, so that the caller can always quote one small
22100         component of a "memory exhausted" message in slot 0.
22101         From a suggestion by Jim Meyering.
22102
22103 2000-07-30  Jim Meyering  <meyering@lucent.com>
22104
22105         * lib/makepath.c (make_path): Quote the other instance, too.
22106
22107         * lib/quotearg.c (N_STATIC_SLOTVECS): Define.
22108         (STATIC_BUF_SIZE): Define.
22109         (quotearg_n_options): Use only statically allocated storage when
22110         N < N_STATIC_SLOTVECS and the length of the quoted result is smaller
22111         than STATIC_BUF_SIZE.
22112
22113 2000-07-29  Jim Meyering  <meyering@lucent.com>
22114
22115         * lib/diacrit.c (diacrit_diac): Use __MSDOS__ in favor of MSDOS.
22116         * lib/dirname.c (dir_name): Likewise.
22117
22118         * lib/basename.c (base_name): Use ISSLASH rather than comparing against
22119         `/'.
22120
22121         * lib/dirname.c (dir_name) [MSDOS]: Declare `lim' to be const.
22122         (dir_name): Assert that there are no trailing slashes.
22123
22124 2000-07-29  Bruno Haible  <haible@clisp.cons.org>
22125
22126         * lib/mbswidth.h (mbswidth): Add a flags argument.
22127         (mbswidth): New declaration.
22128         (MBSW_ACCEPT_INVALID, MBSW_ACCEPT_UNPRINTABLE): New macros.
22129         * lib/mbswidth.c (mbswidth): Add a flags argument.
22130         (mbsnwidth): New function.
22131
22132 2000-07-24  Jim Meyering  <meyering@lucent.com>
22133
22134         * lib/mbswidth.c: Remove useless #else.  From Bruno Haible.
22135
22136 2000-07-23  Paul Eggert  <eggert@twinsun.com>
22137
22138         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Check for wcwidth declaration.
22139
22140 2000-07-23  Paul Eggert  <eggert@twinsun.com>
22141
22142         * lib/quotearg.c: Streamline by invoking multibyte code only if needed.
22143         <wchar.h>: Include only if HAVE_MBRTOWC && 1 < MB_LEN_MAX.
22144         (MB_CUR_MAX): Redefine to 1 if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX).
22145         (quotearg_buffer_restyled): If a unibyte locale, don't bother to
22146         invoke multibyte primitives.
22147
22148 2000-07-23  Paul Eggert  <eggert@twinsun.com>
22149
22150         * lib/quotearg.c:
22151         Include <wchar.h> even if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX),
22152         so that mbstate_t is always defined.
22153
22154         Do not inspect MB_LEN_MAX, since it's incorrectly defined to
22155         be 1 in at least one GCC installation, and this configuration
22156         error is likely to be common.  Ignoring MB_LEN_MAX hurts
22157         performance on hosts that have mbrtowc but have only unibyte
22158         locales, but I assume these hosts are rare.
22159
22160 2000-07-23  Paul Eggert  <eggert@twinsun.com>
22161
22162         * lib/mbswidth.c (_XOPEN_SOURCE):
22163         Don't define; this causes problems on Solaris 7.
22164         (wcwidth) [!HAVE_DECL_WCWIDTH]: Declare.
22165
22166 2000-07-23  Jim Meyering  <meyering@lucent.com>
22167
22168         * m4/check-decl.m4 (jm_CHECK_DECLS): Check for declarations of these,
22169         too: getgrgid, getpwuid, getuid.
22170
22171 2000-07-23  Jim Meyering  <meyering@lucent.com>
22172
22173         * lib/basename.c (base_name): Add an assertion.
22174
22175 2000-07-23  Bruno Haible  <haible@clisp.cons.org>
22176
22177         * lib/quotearg.c: When the system forces us to redefine mbstate_t,
22178         shadow its mbsinit function.
22179
22180 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
22181
22182         * lib/mbswidth.h: New file.
22183         * lib/mbswidth.c: New file.
22184         * lib/Makefile.am (libfetish_a_SOURCES): Add mbswidth.c.
22185         (noinst_HEADERS): Add mbswidth.h.
22186
22187 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
22188
22189         * lib/config.charset: Add support for FreeBSD. Improve support for
22190         HP-UX and IRIX 6.
22191
22192 2000-07-16  Bruno Haible  <haible@clisp.cons.org>
22193
22194         * m4/mbswidth.m4: New file.
22195         * m4/prereq.m4 (jm_PREREQ): Call jm_PREREQ_MBSWIDTH.
22196
22197 2000-07-15  Jim Meyering  <meyering@lucent.com>
22198
22199         * lib/makepath.c: Include quote.h.
22200         (make_path): Convert "`%s'" in format strings to "%s", and wrap each
22201         corresponding argument in a `quote (...)' call.
22202         Give better diagnostics.
22203
22204         * lib/Makefile.am (libfetish_a_SOURCES): Add quote.c.
22205         (noinst_HEADERS): Add quote.h.
22206
22207         * lib/quote.c (quote, quote_n): New file.  Two functions taken verbatim
22208         from tar's src/misc.c.
22209         * lib/quote.h: New file.  Prototypes for same.
22210
22211 2000-07-14  Paul Eggert  <eggert@twinsun.com>
22212
22213         From a suggestion by Bruno Haible.
22214         * lib/quotearg.c (mbrtowc): Do not use HAVE_WCHAR_H in the definition.
22215         Use defined mbstate_t, not HAVE_MBSTATE_T_OBJECT,
22216         to decide whether to define the BeOS workaround macro;
22217         this adjusts to the change to AC_MBSTATE_T.
22218
22219 2000-07-14  Jim Meyering  <meyering@lucent.com>
22220
22221         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Require
22222         jm_AC_TYPE_UINTMAX_T.
22223
22224 2000-07-13  Paul Eggert  <eggert@twinsun.com>
22225
22226         * lib/quotearg.h (enum quoting style): New enum clocale_quoting_style.
22227
22228         * lib/quotearg.c (quoting_style_args, quoting_style_vals,
22229         quotearg_buffer_restyled): Add support for
22230         clocale_quoting_style.  Undo previous change to
22231         locale_quoting_style behavior, and undo the "{LEFT QUOTATION MARK}"
22232         and "{RIGHT QUOTATION MARK}" msgids.
22233
22234 2000-07-10  Paul Eggert  <eggert@twinsun.com>
22235
22236         From a suggestion by Bruno Haible.
22237         * m4/mbstate_t.m4 (AC_MBSTATE_T):
22238         Renamed from AC_MBSTATE_T_OBJECT.  All uses changed.
22239         Change from a two-part test, which defines both HAVE_MBSTATE_T_OBJECT
22240         and mbstate_t, to a single-part test that simply defines mbstate_t.
22241         * m4/prereq.m4 (jm_PREREQ_QUOTEARG):
22242         s/AC_MBSTATE_T_OBJECT/AC_MBSTATE_T/.
22243
22244 2000-07-10  Jim Meyering  <meyering@lucent.com>
22245
22246         * m4/strerror_r.m4: Mirror the correction made in autoconf.
22247
22248         * m4/gnu-source.m4: Output to confdefs.h directly.
22249         Suggestion from Akim Demaille.
22250
22251 2000-07-09  Paul Eggert  <eggert@twinsun.com>
22252
22253         The old behavior of quoting `like this' doesn't look good with
22254         newer, ISO-style fonts.  See:
22255         http://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html
22256
22257         Instead, quote "like this" by default.  Let the translator
22258         tailor the locale-specific quoting behavior by providing
22259         translations for {LEFT QUOTATION MARK} and {RIGHT QUOTATION MARK}.
22260
22261         * lib/quotearg.c (N_): New macro.
22262         (gettext_default): New function.
22263         (quotearg_buffer_restyled): Use
22264         gettext_default ("{LEFT QUOTATION MARK}", "\"") for left quote, and
22265         gettext_default ("{RIGHT QUOTATION MARK}", "\"") for right quote.
22266
22267 2000-07-09  Jim Meyering  <meyering@lucent.com>
22268
22269         * m4/jm-macros.m4 (jm_MACROS): Add a test to see if -lm is required
22270         to link seq.  If so, set SEQ_LIBM to -lm.  From Bruno Haible.
22271
22272         * m4/gnu-source.m4 (AC__GNU_SOURCE): New file/macro.
22273         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require it.
22274
22275 2000-07-09  Jim Meyering  <meyering@lucent.com>
22276
22277         * lib/Most files: Update copyright dates to include 2000.
22278
22279 2000-07-08  Jim Meyering  <meyering@lucent.com>
22280
22281         * lib/xgethostname.c (ENAMETOOLONG): Define to an unlikely value
22282         if not defined.
22283         (xgethostname): Remove now-unnecessary #ifdef.
22284         Move declaration of `err' into loop where it's used.
22285
22286 2000-07-05  Paul Eggert  <eggert@twinsun.com>
22287         and Bruno Haible  <haible@clisp.cons.org>
22288
22289         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Test for mbstate_t
22290         only if the test for an object-type mbstate_t fails.  This
22291         prevents us from mistakenly reporting that mbstate_t is a
22292         system object type after we "#define mbstate_t int" to work
22293         around its lack.
22294
22295 2000-07-05  Paul Eggert  <eggert@twinsun.com>
22296         and Bruno Haible  <haible@clisp.cons.org>
22297
22298         * lib/quotearg.c (mbrtowc): Declare returned type, since BeOS doesn't.
22299
22300 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
22301
22302         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Pass a reasonably large buffer
22303         to strerror_r.
22304         Include <ctype.h> for use of isalpha.
22305
22306 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
22307
22308         * lib/xgethostname.c (xgethostname): Protect against the SunOS 5.5 bug
22309         by allocating a larger buffer. Test the gethostname return value for
22310         being >= 0, not == 0, for BeOS.  Don't exhaust memory if gethostname
22311         returns an error and ENAMETOOLONG isn't defined.
22312
22313 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
22314
22315         * lib/quotearg.c (struct quoting_options): Simplify quote_these_too
22316         dimension.
22317
22318 2000-07-04  Jim Meyering  <meyering@lucent.com>
22319
22320         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use plain old `echo' instead
22321         of the deprecated AC_CHECKING.
22322
22323 2000-07-04  Jim Meyering  <meyering@lucent.com>
22324
22325         * lib/strndup.c: [!HAVE_DECL_STRNLEN]: Declare strnlen.
22326         Reported by Bruno Haible.
22327
22328 2000-07-04  Jim Meyering  <meyering@lucent.com>
22329
22330         * lib/quotearg.c: Make inclusion of <wchar.h> independent of whether
22331         HAVE_MBRTOWC is set.  Required at least for irix-5.6, which
22332         lacks mbrtowc.
22333
22334 2000-07-03  Paul Eggert  <eggert@twinsun.com>
22335
22336         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Port to autoconf 2.13.
22337         Add AC_CHECK_HEADERS(stdlib.h), since we use HAVE_STDLIB_H.
22338
22339 2000-07-03  Paul Eggert  <eggert@twinsun.com>
22340         and Bruno Haible  <haible@clisp.cons.org>
22341
22342         * lib/quotearg.c (mbrtowc):
22343         Assign to *pwc, and return 1 only if result is nonzero.
22344         (iswprint): Use ISPRINT when substituting our own mbrtowc.
22345
22346 2000-07-03  Jim Meyering  <meyering@lucent.com>
22347
22348         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strnlen.
22349
22350 2000-07-03  Jim Meyering  <meyering@lucent.com>
22351
22352         * lib/readutmp.h: [HAVE_UTMPX_H]: Include <utmp.h> if HAVE_UTMP_H.
22353         This is necessary to get a definition of e.g., UTMP_FILE on
22354         HP-UX 10.20.
22355         From Bob Proulx.
22356
22357 2000-07-02  Jim Meyering  <meyering@lucent.com>
22358
22359         * m4/mbstate_t.m4: Also define mbstate_t, if necessary.
22360
22361         * m4/chown.m4: Replace each use of AC_SUBST(LIBOBJS)/LIBOBJS=... with
22362         AC_LIBOBJ(function_name).
22363         * m4/chown.m4: Likewise.
22364         * m4/fnmatch.m4: Likewise.
22365         * m4/ftruncate.m4: Likewise.
22366         * m4/getgroups.m4: Likewise.
22367         * m4/getline.m4: Likewise.
22368         * m4/group-member.m4: Likewise.
22369         * m4/jm-macros.m4: Likewise.
22370         * m4/lstat.m4: Likewise.
22371         * m4/malloc.m4: Likewise.
22372         * m4/memcmp.m4: Likewise.
22373         * m4/nanosleep.m4: Likewise.
22374         * m4/putenv.m4: Likewise.
22375         * m4/realloc.m4: Likewise.
22376         * m4/regex.m4: Likewise.
22377         * m4/stat.m4: Likewise.
22378         * m4/strftime.m4: Likewise.
22379
22380 2000-07-02  Jim Meyering  <meyering@lucent.com>
22381
22382         * lib/quotearg.c (mbstate_t): Don't define here.
22383
22384 2000-07-02  Jim Meyering  <meyering@lucent.com>
22385
22386         * lib/nanosleep.c (SIGCONT): Define if not already defined.
22387
22388 2000-07-01  Jim Meyering  <meyering@lucent.com>
22389
22390         * m4/uptime.m4: Put double quotes around use of $cross_compiling.
22391
22392 2000-07-01  Jim Meyering  <meyering@lucent.com>
22393
22394         * m4/ls-mntd-fs.m4: Remove a `FIXME' comment and fix the associated
22395         problem.
22396
22397 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
22398
22399         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Rename BeOS specific
22400         macro from MOUNTED_NEXT_DEV to MOUNTED_FS_STAT_DEV.
22401
22402 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
22403
22404         * lib/mountlist.c: Use MOUNTED_FS_STAT_DEV instead of MOUNTED_NEXT_DEV,
22405         per change in ../m4/ls-mntd-fs.m4.
22406         (read_filesystem_list): Ignore symbolic links.
22407
22408 2000-06-29  Jim Meyering  <meyering@lucent.com>
22409
22410         * lib/same.c: Include <string.h> or <strings.h>, as appropriate,
22411         for declaration of strcmp.
22412
22413         * lib/long-options.c: Include <stdlib.h>, for declaration of exit.
22414
22415         * lib/mountlist.c (fsp_to_string) [HAVE_F_FSTYPENAME_IN_STATFS]:
22416         Avoid warning by casting result to `char *' to remove `const'.
22417
22418 2000-06-28  Jim Meyering  <meyering@lucent.com>
22419
22420         * m4/mbstate_t.m4: Use stdlib.h, not stdio.h.  The latter is not
22421         included by quotearg.c, for which we perform this test.  From
22422         Bruno Haible.
22423
22424 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
22425
22426         * m4/check-decl.m4 (_jm_DECL_HEADERS): Check for utmp.h as well.
22427         * m4/prereq.m4 (jm_PREREQ_READUTMP): Likewise. If either <utmp.h> or
22428         <utmpx.h> exists, put readutmp.o into LIBOBJS.
22429
22430 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
22431
22432         * lib/Makefile.am (libfetish_a_SOURCES): Remove readutmp.c.
22433
22434 2000-06-26  Paul Eggert  <eggert@twinsun.com>
22435
22436         savedir now sets errno on failure and invokes xmalloc to get memory.
22437         Fix a couple of other minor bugs while we're at it.
22438
22439         * lib/savedir.c (<unistd.h>): Do not include; there's no need.
22440         (NAMLEN): Remove macro.
22441         (malloc, realloc): Remove decls.
22442         (stpcpy): Likewise.
22443         ("xalloc.h"): Include.
22444         (NAME_SIZE_DEFAULT): New macro.
22445         (savedir): Use xmalloc / xrealloc to allocate memory.
22446         Use NAME_SIZE_DEFAULT if name_size is negative or overflows to zero.
22447         Skip "" directory entries.
22448         Use strlen to calculate directory entry length, since the old method
22449         is rarely used these days and isn't worth supporting.
22450         Don't use a pointer after freeing it.
22451         Check for integer overflow when calculating allocation size.
22452         Use memcpy to copy entries, instead of stpcpy.
22453         Set errno properly when returning NULL.
22454         Check for readdir error.
22455
22456 2000-06-26  Jim Meyering  <meyering@lucent.com>
22457
22458         * lib/posixtm.c [HAVE_STDLIB_H]: Include stdlib.h, for decl of abort.
22459
22460 2000-06-25  Jim Meyering  <meyering@lucent.com>
22461
22462         * m4/mbstate_t.m4: Include stdio.h before wchar.h to work around
22463         Linux header bug when _XOPEN_SOURCE is defined to 500.
22464
22465 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
22466
22467         * lib/unicodeio.c (print_unicode_char): Work around ansi2knr
22468         deficiency.
22469
22470 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
22471
22472         * lib/getusershell.c (xmalloc, xrealloc): Remove functions.
22473         Include xalloc.h.
22474         Don't include <stdlib.h>.  Don't declare malloc, realloc.
22475
22476 2000-06-24  Jim Meyering  <meyering@lucent.com>
22477
22478         * m4/strerror_r.m4: Revive this file -- to try out an experimental
22479         version of AC_FUNC_STRERROR_R that may work even on BeOS, a system
22480         for which strerror does return char*, but which lacks a conveniently
22481         accessible declaration of the function.  If the compile-test says
22482         strerror_r doesn't work, then resort to a `run'-test that works on
22483         BeOS and segfaults on DEC Unix.
22484
22485 2000-06-24  Jim Meyering  <meyering@lucent.com>
22486
22487         * lib/error.c [!HAVE_DECL_STRERROR_R]: Declare strerror_r.
22488
22489 2000-06-23  Paul Eggert  <eggert@twinsun.com>
22490
22491         * m4/mbstate_t.m4: New file, defining AC_MBSTATE_T_OBJECT.
22492         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Use it.  Add check for iswprint.
22493
22494 2000-06-23  Paul Eggert  <eggert@twinsun.com>
22495
22496         * lib/quotearg.c: Include <wctype.h> after <wchar.h>, for Solaris 2.5.
22497         (mbrtowc, mbstate_t): Define substitutes if
22498         HAVE_MBRTOWC && HAVE_WCHAR_H && !HAVE_MBSTATE_T_OBJECT.
22499         (iswprint): Define to 1 if !defined iswprint && !HAVE_ISWPRINT,
22500         not if ! (HAVE_MBRTOWC && HAVE_WCHAR_H).
22501
22502 2000-06-23  Jim Meyering  <meyering@lucent.com>
22503
22504         * m4/afs.m4: Add missing AC_MSG_RESULT.
22505         Reported by Bruno Haible.
22506
22507         * m4/fsusage.m4: s/AC_MSG_CHECKING/AC_CHECKING/.
22508         Suggestion from Bruno Haible.
22509
22510 2000-06-23  Jim Meyering  <meyering@lucent.com>
22511
22512         * lib/getpass.c: New file, from Bruno Haible.  Required for BeOS.
22513
22514 2000-06-21  Jim Meyering  <meyering@lucent.com>
22515
22516         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add getpass.
22517
22518 2000-06-21  Jim Meyering  <meyering@lucent.com>
22519
22520         * lib/Makefile.am (libfetish_a_SOURCES): Add getstr.c.
22521         (noinst_HEADERS): Add getstr.h.
22522
22523         * lib/getline.c (getstr): Move into a separate file.
22524         * lib/getstr.c (getstr): New file, extracted from getline.c, with
22525         the following changes: new parameter, delim2; both delim[12]
22526         parameters have type `int', not `char'.  The latter would lose
22527         with 8-bit delimiters.
22528         * lib/getstr.h: New file.
22529
22530 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
22531
22532         * lib/xgetcwd.c (xgetcwd): If the required pathname length is smaller
22533         than 1024, return a memory chunk of least possible size, instead
22534         of size PATH_MAX + 2. In the loop, increment the size proportionally.
22535         Use free/xmalloc instead of xrealloc to avoid copying for very long
22536         paths.
22537
22538 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
22539
22540         * lib/path-concat.c (path_concat): Don't access dir[-1] if dir is
22541         the empty string.
22542
22543 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
22544
22545         * lib/canon-host.c (canon_host): Use malloc and memcpy to copy an
22546         address, not strdup.  Include <stdlib.h> and don't declare free().
22547
22548 2000-06-19  Jim Meyering  <meyering@lucent.com>
22549
22550         * lib/getloadavg.c [HAVE_NLIST_H] (NLIST_STRUCT): Define.
22551
22552 2000-06-18  Jim Meyering  <meyering@lucent.com>
22553
22554         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Remove mkdir.
22555
22556         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): Change the
22557         `checking whether...' message to be consistent with that of the
22558         lstat test.
22559
22560 2000-06-18  Jim Meyering  <meyering@lucent.com>
22561
22562         * lib/mkdir.c: Remove file, due mainly to copyright incompatibility.
22563         Besides, these days every porting target provides a mkdir function.
22564
22565         * lib/strnlen.c: Include memory.h, string.h, and/or strings.h as
22566         needed. (this snippet comes from src/system.h).
22567
22568 2000-06-16  Bruno Haible  <haible@clisp.cons.org>
22569
22570         * m4/glibc21.m4 (jm_GLIBC21): Define GLIBC21 for Makefiles, not for C.
22571
22572 2000-06-15  Paul Eggert  <eggert@twinsun.com>
22573
22574         * lib/human.c (adjust_value): New function.
22575         (human_readable_inexact): Apply rounding style even when
22576         printing approximate values.
22577
22578 2000-06-14  Paul Eggert  <eggert@twinsun.com>
22579
22580         * lib/human.c (human_readable_inexact): Allow an input block
22581         size that is not a multiple of the output block size, and vice versa.
22582         Reported by Piergiorgio Sartor.
22583
22584 2000-06-14  Paul Eggert  <eggert@twinsun.com>
22585
22586         * lib/getdate.y (get_date): Apply relative times after time
22587         zone indicator, not before.  Reported by Todd A. Jacobs.
22588
22589 2000-06-13  Jim Meyering  <meyering@lucent.com>
22590
22591         * lib/Makefile.am (all-local): Depend on lstat.c and stat.c.
22592
22593         * lib/xstat.in [!HAVE_DECL_FREE]: Declare free in lstat.c.
22594
22595 2000-06-12  Paul Eggert  <eggert@twinsun.com>
22596
22597         * lib/xstat.in: Include <stdlib.h> in lstat, to declare "free".
22598
22599 2000-06-12  Jim Meyering  <meyering@lucent.com>
22600
22601         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Replace with
22602         AC_FUNC_GETLOADAVG from autoconf, and tweak the latter to accept an
22603         optional argument.
22604         * m4/jm-macros.m4: s/AM_FUNC_GETLOADAVG/AC_FUNC_GETLOADAVG/, and supply
22605         the optional argument, `lib'.
22606
22607 2000-06-08  Jim Meyering  <meyering@lucent.com>
22608
22609         * m4/largefile.m4: Remove file (now that it's part of autoconf).
22610
22611 2000-06-04  Paul Eggert  <eggert@twinsun.com>
22612
22613         Rewrite largefile configuration so that we don't need to run
22614         getconf and don't need AC_CANONICAL_HOST.  [I'm leaving the use of
22615         AC_CANONICAL_HOST in configure.in -- jmm]
22616
22617         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS,
22618         AC_SYS_LARGEFILE_SPACE_APPEND): Remove.
22619         (AC_SYS_LARGEFILE_TEST_INCLUDES): New macro.
22620         (AC_SYS_LARGEFILE_MACRO_VALUE): Change arguments from
22621         CODE-TO-SET-DEFAULT to VALUE, INCLUDES, FUNCTION-BODY.
22622         All uses changed.
22623         Instead of inspecting the output of getconf, try to compile the
22624         test program without and with the macro definition.
22625         (AC_SYS_LARGEFILE): Do not require AC_CANONICAL_HOST or check
22626         for getconf.  Instead, check for the needed flags by compiling
22627         test programs.
22628
22629 2000-06-04  Paul Eggert  <eggert@twinsun.com>
22630
22631         * lib/strnlen.c: Include <config.h> if HAVE_CONFIG_H.
22632
22633 2000-06-04  Jim Meyering  <meyering@lucent.com>
22634
22635         * lib/getugroups.c (getugroups): Cast -1 to gid_t, for systems like
22636         SunOS 4.1.4 for which gid_t is an unsigned type.
22637
22638 2000-06-03  Jim Meyering  <meyering@lucent.com>
22639
22640         * m4/prereq.m4 (jm_PREREQ_HUMAN): Use []-quoted list in AC_CHECK_DECLS,
22641         now that autoconf requires that.
22642
22643         * m4/jm-glibc-io.m4: Add a kludge to make autoheader emit the required
22644         #undefs.  E.g., #undef HAVE_DECL_FERROR_UNLOCKED.
22645         Use []-quoted list in AC_CHECK_DECLS, now that autoconf requires that.
22646
22647 2000-06-03  Jim Meyering  <meyering@lucent.com>
22648
22649         * lib/strnlen.c [!HAVE_DECL_MEMCHR]: Declare memchr.
22650
22651 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
22652
22653         * m4/glibc21.m4: New file.
22654         * m4/jm-macros.m4 (jm_MACROS): Call jm_GLIBC21.
22655
22656 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
22657
22658         * lib/Makefile.am (install-exec-local): On systems with glibc-2.1 or
22659         newer, don't install charset.alias.
22660         * lib/config.charset: Change the Linux/glibc rules so they become empty
22661         on glibc-2.1 or newer.
22662
22663 2000-06-02  Jim Meyering  <meyering@lucent.com>
22664
22665         * lib/mountlist.c: Back out last change.  Instead, do this...
22666         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Set the
22667         me_dummy member using the same `ignore'-testing code.
22668         * lib/mountlist.h (ME_DUMMY): Add `autofs' to the list of ignored
22669         fs_type strings.
22670         From Mark D. Roth.
22671
22672 2000-05-29  Jim Meyering  <meyering@lucent.com>
22673
22674         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Ignore
22675         mounts with the `ignore' attribute.  Based on a patch from
22676         Mark D. Roth.
22677
22678 2000-05-28  Jim Meyering  <meyering@lucent.com>
22679
22680         * m4/jm-macros.m4 (AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Rename from
22681         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
22682         * m4/stat.m4: Likewise.
22683         * m4/lstat.m4: Likewise.
22684         * m4/lstat-slash.m4: Remove file (absorbed into autoconf).
22685
22686         * m4/jm-macros.m4 (AC_FUNC_STRERROR_R): Rename from jm_FUNC_STRERROR_R.
22687         * m4/strerror_r.m4: Remove file (absorbed into autoconf).
22688
22689 2000-05-26  Jim Meyering  <meyering@lucent.com>
22690
22691         * m4/uptime.m4: Use `$cross_compiling', not `$ac_cv_prog_cc_cross'.
22692
22693 2000-05-24  Jim Meyering  <meyering@lucent.com>
22694
22695         * m4/prereq.m4: Use []-quoted list in AC_CHECK_MEMBERS, now that
22696         autoconf requires that.
22697         * m4/lib-check.m4: Likewise.
22698         * m4/jm-macros.m4: Likewise.
22699         * m4/strftime.m4: Likewise.
22700
22701         * m4/check-decl.m4 (jm_CHECK_DECLS): Use []-quoted list in
22702         AC_CHECK_DECLS, now that autoconf requires that.
22703
22704 2000-05-22  Jim Meyering  <meyering@lucent.com>
22705
22706         * m4/stat.m4: Require jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
22707         * m4/lstat.m4: Likewise.
22708
22709 2000-05-22  Jim Meyering  <meyering@lucent.com>
22710
22711         * lib/makepath.c: Remove old, now-unnecessary `#ifdef __MSDOS__' block.
22712
22713 2000-05-20  Jim Meyering  <meyering@lucent.com>
22714
22715         * m4/prereq.m4 (jm_PREREQ_HUMAN): New macro.
22716         (jm_PREREQ): Use it.
22717
22718 2000-05-18  Jim Meyering  <meyering@lucent.com>
22719
22720         * lib/hash.c (hash_rehash): Fix a nasty bug: copy the free entry list
22721         back, too, since it may have been modified by allocate_entry.
22722         (hash_delete): Rewrite to use neither the assignment operator
22723         nor the comma operator in an if-expression.
22724
22725 2000-05-15  Paul Eggert  <eggert@twinsun.com>
22726
22727         * lib/closeout.c:
22728         <sys/stat.h>, <sys/types.h>, <unistd.h>, (STDOUT_FILENO):
22729         Remove; no longer needed.
22730         "quotearg.h": Add include.
22731         (file_name): Do not bother to explicitly initialize to NULL; it's less
22732         efficient on some hosts.
22733         (close_stdout_status): Remove test as to whether stdout was already
22734         closed; it breaks for the case "echo x | sort >&-".
22735         Quote file name colons.
22736         Do not assume that _("write error") lacks format strings.
22737
22738 2000-05-15  Jim Meyering  <meyering@lucent.com>
22739
22740         * lib/version-etc.c (version_etc_copyright): Update the copyright
22741         string used in all --version output.
22742
22743 2000-05-14  Jim Meyering  <meyering@lucent.com>
22744
22745         * lib/closeout.c (close_stdout_set_file_name): New function.
22746         (close_stdout_status): Use new file-scoped global.
22747         Return right away if fstat says the stdout file descriptor is invalid.
22748         * lib/closeout.h (close_stdout_set_file_name): Declare.
22749
22750 2000-05-10  Jim Meyering  <meyering@lucent.com>
22751
22752         * lib/closeout.c [default_exit_status]: New file-scoped variable.
22753         (close_stdout_set_status): New function.
22754         * lib/closeout.h (close_stdout_set_status): Declare.
22755
22756 2000-05-09  Jim Meyering  <meyering@lucent.com>
22757
22758         * m4/gettext.m4: Rename this...
22759         * m4/libintl.m4: ...to this.
22760
22761 2000-05-08  Jim Meyering  <meyering@lucent.com>
22762
22763         * lib/long-options.c: Don't include closeout.h.
22764         (parse_long_options): Don't call close_stdout for --version.
22765
22766 2000-05-06  Paul Eggert  <eggert@twinsun.com>
22767
22768         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _XOPEN_SOURCE to
22769         be 500, instead of _GNU_SOURCE to be 1, to work around glibc
22770         2.1.3 bug.  This avoids a clash when files like regex.c define
22771         _GNU_SOURCE.
22772
22773 2000-05-06  Jim Meyering  <meyering@lucent.com>
22774
22775         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add atexit.
22776         (AC_REPLACE_FUNCS): Add strnlen.
22777
22778         * m4/rmdir-errno.m4 (fetish_FUNC_RMDIR_NOTEMPTY): New macro and file.
22779         * m4/jm-macros.m4: Require fetish_FUNC_RMDIR_NOTEMPTY.
22780
22781         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Save and restore LIBS around
22782         AC_SEARCH_LIBS call for nanosleep.
22783         (LIB_NANOSLEEP): Set and AC_SUBST.
22784
22785 2000-05-06  Jim Meyering  <meyering@lucent.com>
22786
22787         * lib/strnlen.c: Undefine __strnlen and strnlen.
22788         [!weak_alias]: Define __strnlen to strnlen.
22789
22790         * lib/atexit.c: New file, from libiberty.
22791
22792 2000-05-06  Jim Meyering  <meyering@lucent.com>
22793
22794         * lib/closeout.c (close_stdout_status): Also check for errors on the
22795         stderr stream.
22796
22797 2000-05-05  Jim Meyering  <meyering@lucent.com>
22798
22799         * m4/jm-macros.m4 (jm_MACROS): Save and restore LIBS around
22800         AC_SEARCH_LIBS call for clock_gettime.
22801         (LIB_CLOCK_GETTIME): Set and AC_SUBST.
22802
22803         * m4/search-libs.m4: Update from autoconf.
22804
22805         su doesn't work on Solaris 2.6.
22806         * m4/lib-check.m4: When checking for struct spwd.sp_pwdp, also include
22807         <shadow.h>.  Reported by Dragos Harabor.
22808
22809 2000-05-05  Bruno Haible  <haible@clisp.cons.org>
22810
22811         * lib/localcharset.c (get_charset_aliases): Use malloc, realloc and
22812         memcpy instead of xmalloc, xrealloc, path_concat.
22813         (locale_charset): Treat empty environment variables as absent.
22814         (DIRECTORY_SEPARATOR, ISSLASH): New macros.
22815
22816 2000-05-04  Jim Meyering  <meyering@lucent.com>
22817
22818         * lib/getopt.c: Update from glibc.
22819         * lib/obstack.c: Likewise.
22820         * lib/obstack.h: Likewise.
22821         * lib/regex.c: Likewise.  NB: K&R compiler support is dropped for this
22822         file
22823
22824         * lib/regex.h: Likewise.
22825         * lib/strndup.c: Likewise.
22826         * lib/strnlen.c: New file, from glibc.
22827
22828 2000-05-03  Jim Meyering  <meyering@lucent.com>
22829
22830         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strndup.
22831
22832 2000-05-02  Paul Eggert  <eggert@twinsun.com>
22833
22834         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _GNU_SOURCE if
22835         this is needed to make ftello visible (e.g. glibc 2.1.3).  Use
22836         compile-time test, rather than inspecting host and OS, to
22837         decide whether to define _LARGEFILE_SOURCE.
22838
22839 2000-05-01  Jim Meyering  <meyering@lucent.com>
22840
22841         * m4/fsusage.m4: Use AC_MSG_CHECKING instead of obsolete AC_CHECKING.
22842
22843         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add BeOS support.
22844         Based on a patch from Bruno Haible.
22845
22846 2000-05-01  Jim Meyering  <meyering@lucent.com>
22847
22848         * lib/full-write.c (full_write): Remove `FIXME' part of comment.
22849
22850 2000-04-29  Jim Meyering  <meyering@lucent.com>
22851
22852         * lib/path-concat.c: Declare strdup only if it's not defined.
22853         * lib/canon-host.c: Likewise.
22854
22855 2000-04-28  Jim Meyering  <meyering@lucent.com>
22856
22857         * lib/rpmatch.c [HAVE_LIMITS_H]: Include limits.h before regex.h to
22858         avoid redefinition warning on some systems (HPUX).  Otherwise, regex.h
22859         is included first, then limits.h is included by locale.h by libintl.h.
22860         From John David Anglin.
22861
22862 2000-04-25  Jim Meyering  <meyering@lucent.com>
22863
22864         * lib/makepath.c (S_IRWXUGO): Define.
22865         (make_path): Always perform explicit chmod if MODE specifies any
22866         of the `special' permission bits.  Prompted by a bug report against
22867         install from Mate Wierdl and Joost van Baal.
22868
22869 2000-04-18  Jim Meyering  <meyering@lucent.com>
22870
22871         * m4/prereq.m4 (jm_PREREQ_GETPAGESIZE): New macro.
22872         (jm_PREREQ): Use it.
22873
22874 2000-04-18  Jim Meyering  <meyering@lucent.com>
22875
22876         * lib/README: New file.
22877
22878         * lib/getpagesize.h [!getpagesize && HAVE_OS_H && B_PAGE_SIZE]: Define
22879         getpagesize.  For BeOS.  Based on a patch from Bruno Haible.
22880
22881 2000-04-17  Jim Meyering  <meyering@lucent.com>
22882
22883         Get it right :-)
22884         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Emit the
22885         actual #define via AH_VERBATIM.  Don't need separate AC_DEFINE.
22886         Suggestion from Akim Demaille.
22887
22888 2000-04-17  Jim Meyering  <meyering@lucent.com>
22889
22890         * lib/strftime.c (my_strftime) [strftime]: Declare strftime here, since
22891         the definition of it to rpl_strftime also defined-away the system's
22892         declaration.
22893
22894 2000-04-15  Jim Meyering  <meyering@lucent.com>
22895
22896         Use `C' to denote so-called `contiguous' files, the same way
22897         that tar does.
22898         * lib/filemode.c (S_ISCTG) [!S_ISCTG && S_IFCTG]: Define.
22899         (ftypelet): Use S_ISCTG.
22900         From Michael Deutschmann.
22901
22902 2000-04-14  Jim Meyering  <meyering@lucent.com>
22903
22904         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use the one-arg
22905         form of AC_DEFINE.  Otherwise, the #ifndef in AH_VERBATIM gets
22906         clobbered.
22907
22908 2000-04-14  Jim Meyering  <meyering@lucent.com>
22909
22910         * lib/strftime.c (my_strftime) [#ifdef strftime]: Declare strftime.
22911
22912 2000-04-13  Jim Meyering  <meyering@lucent.com>
22913
22914         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use new
22915         AH_VERBATIM to insert required #ifndef into config.h.in.
22916         Suggestion from Akim Demaille.
22917
22918 2000-04-12  Jim Meyering  <meyering@lucent.com>
22919
22920         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Use AC_CHECK_HEADERS, not
22921         `AC_CHECK_HEADER' to check for locale.h.  Thanks to a report from
22922         Christian Krackowizer.
22923
22924         More code moved from ../configure.in into (jm_CHECK_ALL_TYPES).
22925         * m4/jm-macros.m4 (_GNU_SOURCE): Define.
22926         (AC_SYS_LARGEFILE): Require.
22927         (AM_C_PROTOTYPES): Require.
22928
22929 2000-04-08  Jim Meyering  <meyering@lucent.com>
22930
22931         * lib/Makefile.am (charset.alias): Use t-$@, not $@-t so the DOS 8.3
22932         names don't conflict.  Reported by Eli Zaretskii.
22933
22934 2000-04-07  Jim Meyering  <meyering@lucent.com>
22935
22936         * lib/putenv.c: Move inclusion of errno.h so it follows that of
22937         sys/types.h, to work around system header problems on AIX 3.2.5.
22938         From Bruno Haible.
22939
22940 2000-04-07  Bruno Haible  <haible@clisp.cons.org>
22941
22942         * lib/unicodeio.c (print_unicode_char): Avoid triggering Solaris iconv
22943         bug.  Deal with the different error behavior of Irix iconv.
22944
22945 2000-04-05  Paul Eggert  <eggert@twinsun.com>
22946
22947         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Don't use -n32 on
22948         IRIX if the installer said otherwise.
22949
22950 2000-04-05  Jim Meyering  <meyering@lucent.com>
22951
22952         Portability tweaks required for ultrix4.3.
22953         * m4/check-decl.m4 [!HAVE_UTMPX_H] (headers): Include <utmp.h>.
22954         (jm_CHECK_DECLS): Add getutent to the list of functions.
22955         (_jm_DECL_HEADERS): Add utmpx.h.
22956         From John David Anglin.
22957
22958         * m4/strftime.m4: Back out the 2000-04-02 change.
22959         Instead of that change, simply undefine putenv in the test program.
22960
22961 2000-04-05  Jim Meyering  <meyering@lucent.com>
22962
22963         Portability tweaks required for ultrix4.3.
22964         * lib/readutmp.h [HAVE_UTMPX_H && !HAVE_DECL_GETUTENT]: Declare
22965         getutent.
22966         * lib/readutmp.c: Include sys/types.h before sys/stat.h.
22967         * lib/canon-host.c: Declare strdup.
22968         * lib/path-concat.c: Likewise.
22969         From John David Anglin.
22970
22971 2000-04-04  Jim Meyering  <meyering@lucent.com>
22972
22973         Be more DOS 8.3-friendly.
22974         * lib/ref-add.sin: Renamed from ref-add.sed.in.
22975         * lib/ref-del.sin: Renamed from ref-del.sed.in.
22976         * lib/Makefile.am: Reflect renaming.
22977         Reported by Eli Zaretskii.
22978
22979         Use a temporary file name that won't clash with `charset.alias'
22980         in the DOS 8.3 name space.
22981         * lib/Makefile.am (charset_tmp): Define.
22982         (install-exec-local): Use $(charset_tmp) instead of $(charset_alias)-t.
22983         (uninstall-local): Likewise.
22984         Reported by Eli Zaretskii.
22985
22986 2000-04-03  Jim Meyering  <meyering@lucent.com>
22987
22988         * m4/gettext.m4: Fix typo in comment.
22989
22990         * m4/codeset.m4 (AC_CHECK_HEADERS): Add langinfo.h (moved here from
22991         textutils/configure.in).  Suggestion from Paul Eggert.
22992         (AC_CHECK_FUNCS): Add nl_langinfo.  (also from textutils/configure.in)
22993
22994 2000-04-02  Paul Eggert  <eggert@twinsun.com>
22995
22996         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Set TZ environment
22997         variable in the shell rather than using putenv, which isn't
22998         portable.  This avoids the configure-time inter-test dependency
22999         on the potentially-renamed putenv function.
23000
23001 2000-03-30  Paul Eggert  <eggert@twinsun.com>
23002
23003         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Include <sys/stat.h>
23004         before checking struct stat.st_blksize, so that
23005         HAVE_STRUCT_STAT_ST_BLKSIZE is defined correctly.
23006
23007 2000-03-29  Paul Eggert  <eggert@twinsun.com>
23008
23009         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Check for strftime,
23010         since strftime.c uses HAVE_STRFTIME to decide whether to use
23011         the underlying strftime.
23012
23013 2000-03-29  Paul Eggert  <eggert@twinsun.com>
23014
23015         * lib/time/strftime.c (my_strftime): Make sure we call the system
23016         strftime, not ourselves, when invoking the underlying strftime.
23017
23018 2000-03-24  Jim Meyering  <meyering@lucent.com>
23019
23020         * lib/Makefile.am (EXTRA_DIST): Add ref-add.sed.in and ref-del.sed.in.
23021         (charset_alias): Define.
23022         (install-exec-local): Factor out common code.
23023         (uninstall-local): Split lines longer than 80.
23024         (ref-add.sed, ref-del.sed): Remove rules... (do the following instead)
23025         (SUFFIXES): Define.
23026         (.sed.in.sed): New rule.  Don't redirect directly to $@.
23027         (CLEANFILES): Add ref-add.sed and ref-del.sed.
23028
23029 2000-03-19  Bruno Haible  <haible@clisp.cons.org>
23030
23031         * lib/config.charset: Output a line containing "Packages using this
23032         file".
23033         * lib/ref-add.sed.in, lib/ref-del.sed.in: New files.
23034         * lib/Makefile.am (install-exec-local, uninstall-local, ref-add.sed,
23035         ref-del.sed): New rules.
23036
23037 2000-03-17  Jim Meyering  <meyering@lucent.com>
23038
23039         * lib/unicodeio.c (<string.h>): Include only #if HAVE_STRING_H.
23040         Otherwise, include <strings.h>
23041
23042 2000-03-17  Bruno Haible  <haible@clisp.cons.org>
23043
23044         * lib/unicodeio.c (utf8_wctomb): New function.
23045         (print_unicode_char): Pass the Unicode character to iconv in UTF-8
23046         format instead of in UCS-4 with platform dependent endianness.
23047
23048 2000-03-10  Jim Meyering  <meyering@lucent.com>
23049
23050         * m4/lib-check.m4: Look for getspnam in -lgen, too.
23051         From Marco Franzen.
23052
23053 2000-03-07  Paul Eggert  <eggert@twinsun.com>
23054
23055         * lib/savedir.c (savedir): Work even if directory size is
23056         negative; this can happen with some screwy NFS configurations.
23057
23058 2000-03-06  Jim Meyering  <meyering@lucent.com>
23059
23060         * lib/localcharset.c (get_charset_aliases): Don't try to free file_name
23061         if it's NULL (because we ran out of memory).  From Bruno Haible.
23062
23063 2000-03-05  Jim Meyering  <meyering@lucent.com>
23064
23065         * lib/localcharset.c ("path-concat.h"): Include.
23066         (get_charset_aliases): Use path_concat instead of ANSI string
23067         concatenation.
23068
23069         * lib/unicodeio.h (PARAMS): Define.
23070         Use it to guard prototype.
23071
23072 2000-03-04  Jim Meyering  <meyering@lucent.com>
23073
23074         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require AC_C_VOLATILE,
23075         for lib/localcharset.c.
23076
23077 2000-03-04  Jim Meyering  <meyering@lucent.com>
23078
23079         * lib/Makefile.am (install-exec-local): Create $(libdir) before
23080         installing into it.
23081         (uninstall-local): Uncomment this rule so `make distcheck' works
23082         once again.
23083
23084         * lib/unicodeio.c (<errno.h>): Include it.
23085         (errno): Declare if not defined.
23086
23087         * lib/localcharset.c: Add Bruno's comment justifying use of volatile.
23088
23089         * lib/config.charset: New version, incorporating remarks from a linux
23090         i18n mailing list.  From Bruno Haible.
23091
23092 2000-03-04  Bruno Haible  <haible@clisp.cons.org>
23093
23094         * m4/codeset.m4: New file.
23095         * m4/iconv.m4: New file.
23096         * m4/jm-macros.m4 (jm_MACROS): Call jm_LANGINFO_CODESET and jm_ICONV.
23097
23098 2000-03-03  Jim Meyering  <meyering@lucent.com>
23099
23100         * m4/regex.m4: Make sure re_compile_pattern accepts patterns like `{1'.
23101
23102 2000-03-02  Jim Meyering  <meyering@lucent.com>
23103
23104         * m4/timespec.m4: Require AC_HEADER_TIME before the cache check so
23105         the messages come out on separate lines.
23106
23107         * m4/jm-glibc-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO): Use AC_CHECK_DECLS,
23108         rather than jm_CHECK_DECLARATIONS.
23109         * m4/decl.m4: Remove now-unused file.
23110
23111         * m4/check-decl.m4 (AC_CHECK_DECLS): Add getlogin, ttyname, and
23112         geteuid.
23113
23114 2000-03-02  Jim Meyering  <meyering@lucent.com>
23115
23116         * lib/Makefile.am (EXTRA_DIST): Add config.charset.
23117
23118 2000-03-01  Jim Meyering  <meyering@lucent.com>
23119
23120         * lib/localcharset.c: Guard some #includes with `#if HAVE_...'.
23121         * lib/unicodeio.c: Likewise.
23122
23123 2000-03-01  Bruno Haible  <haible@clisp.cons.org>
23124
23125         * lib/config.charset: New file.
23126         * lib/localcharset.c: New file.
23127         * lib/unicodeio.h, lib/unicodeio.c: New files.
23128         * lib/Makefile.am (DEFS): Add -DLIBDIR=...
23129         (libfetish_a_SOURCES): Add localcharset.c and unicodeio.c.
23130         (noinst_HEADERS): Add unicodeio.h.
23131         (all-local, install-exec-local, charset.alias): New targets.
23132
23133 2000-02-28  Paul Eggert  <eggert@twinsun.com>
23134
23135         * lib/quotearg.c (ALERT_CHAR): New macro.
23136         (quotearg_buffer_restyled): Use it.
23137
23138 2000-02-27  Jim Meyering  <meyering@lucent.com>
23139
23140         * m4/check-decl.m4: Add getenv to the list.
23141
23142 2000-02-27  Jim Meyering  <meyering@lucent.com>
23143
23144         * lib/strtoumax.c: Fix typo in decl of strtoul: s/long long/long/.
23145         Guard declaration of strtoull also with `&& HAVE_UNSIGNED_LONG_LONG'.
23146
23147         * lib/backupfile.c: Guard inclusion of stdlib.h with
23148         `#if HAVE_STDLIB_H', not `#if STDC_HEADERS'.
23149         Declare malloc if needed.
23150
23151         * lib/backupfile.c: Use `#if !HAVE_DECL...' instead of
23152         `#ifndef HAVE_DECL..'
23153         now that autoconf always defines the HAVE_DECL_ symbols.
23154         * lib/human.c: Likewise.
23155         * lib/same.c: Likewise.
23156         * lib/strtoumax.c: Likewise.
23157
23158         * lib/backupfile.c: Arrange for cpp to fail if the configure-time
23159         declaration check was not run.
23160         * lib/hash.c: Likewise.
23161         * lib/human.c: Likewise.
23162         * lib/same.c: Likewise.
23163         * lib/strtoumax.c: Likewise.
23164
23165         * lib/userspec.c (parse_user_spec): If there is no `:' but there is a
23166         `.', then first look up the entire `.'-containing string as a login
23167         name.
23168
23169 2000-02-23  Jim Meyering  <meyering@lucent.com>
23170
23171         * m4/check-decl.m4: Now that we have the new AC_CHECK_DECLS, use it
23172         in place of my hack.
23173
23174 2000-02-18  Paul Eggert  <eggert@twinsun.com>
23175
23176         * lib/getdate.y: Handle two-digit years with leading zeros correctly.
23177         (textint): New typedef.
23178         (parser_control): Member year changed from int to textint.
23179         All uses changed.
23180         (YYSTYPE): Removed; replaced by %union with int and textint members.
23181         (tDAY, tDAY_UNIT, tDAYZONE, tHOUR_UNIT, tID, tLOCAL_ZONE, tMERIDIAN,
23182         tMINUTE_UNIT, tMONTH, tMONTH_UNIT tSEC_UNIT, tSNUMBER, tUNUMBER,
23183         tYEAR_UNIT, tZONE, o_merid): Now of type <intval>.
23184         (tSNUMBER, tUNUMBER): Now of type <textintval>.
23185         (date, number, to_year): Use width of number in digits, not its value,
23186         to determine whether it's a 2-digit year, or a 2-digit time.
23187         (yylex): Store number of digits of numeric tokens.
23188         Reported by John Kendall.
23189
23190         (parser_control): Changed from struct parser_control to typedef (for
23191         consistency).  All uses changed.
23192
23193         (tID): Removed; not used.
23194         (yylex): Return '?' for unknown identifiers, rather than (unused) tID.
23195
23196 2000-02-14  Paul Eggert  <eggert@twinsun.com>
23197
23198         * lib/getpagesize.h (getpagesize): Port to VMS for Alpha;
23199         adapted from changes to grep getpagesize.h by Martin P.J. Zinser.
23200
23201 2000-02-12  Jim Meyering  <meyering@lucent.com>
23202
23203         * lib/userspec.c (ISDIGIT): Define it.
23204         (isdigit): Remove definition.
23205         (is_number): Use ISDIGIT, not isdigit.
23206         <libintl.h>: Include.
23207         (_ and N_): Define.
23208         (parse_user_spec): Mark translatable strings.
23209
23210 2000-02-10  Jim Meyering  <meyering@lucent.com>
23211
23212         With these changes, nanosleep.[ch] are finally enough like the other
23213         lib/* replacement files to compile on a few more losing systems.
23214
23215         * lib/nanosleep.h: Don't include config.h.
23216         Remove prototype from declaration of nanosleep.
23217         (PARAMS): Remove now-unneeded definition.
23218         * lib/nanosleep.c: #undef nanosleep.
23219         (rpl_nanosleep): Rename from nanosleep.
23220
23221 2000-02-10  Jim Meyering  <meyering@lucent.com>
23222
23223         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Rename replacement function from
23224         gnu_nanosleep to rpl_nanosleep.
23225
23226 2000-02-09  Jim Meyering  <meyering@lucent.com>
23227
23228         * m4/lib-check.m4 (jm_LIB_CHECK): Fix typo: check for sp_pwdp in
23229         struct spwd, rather than in struct passwd.  Reported by Gaël Quéri.
23230
23231 2000-02-08  Akim Demaille  <akim@epita.fr>
23232
23233         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Quote square brackets with
23234         `[' and `]' and remove uses of `changequote'.
23235         (AC_SYS_LARGEFILE_MACRO_VALUE): Likewise.
23236         (AC_SYS_LARGEFILE): Likewise.
23237         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
23238         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Remove now-unnecessary use
23239         of changequote.
23240         * m4/regex.m4 (jm_INCLUDED_REGEX): Likewise.
23241         * m4/readdir.m4 (jm_FUNC_READDIR): Likewise
23242         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Likewise, and add `int' for main.
23243         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Likewise.
23244
23245 2000-02-05  Jim Meyering  <meyering@lucent.com>
23246
23247         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require most macros.
23248         Remove explicit use of AC_HEADER_TIME.  It is required by
23249         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Using AC_HEADER_TIME and
23250         `AC_REQUIRE'ing jm_CHECK_TYPE_STRUCT_TIMESPEC provoked a but
23251         in autoconf whereby the expansion of the latter ended up preceding
23252         the expansion of its prerequisite, AC_HEADER_TIME.
23253         Reported by Volker Borchert.
23254
23255 2000-02-03  Jim Meyering  <meyering@lucent.com>
23256
23257         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for utmpxname.
23258
23259 2000-02-03  Jim Meyering  <meyering@lucent.com>
23260
23261         * lib/readutmp.c (read_utmp): Guard with `#ifdef UTMP_NAME_FUNCTION',
23262         rather than with `#if HAVE_UTMPNAME'.
23263
23264 2000-02-02  Jim Meyering  <meyering@lucent.com>
23265
23266         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Fix typo that resulted in no
23267         definition of HAVE_PATHCONF: s/AC_CHECK_FUNC/AC_CHECK_FUNCS/.
23268         Reported by Eli Zaretskii.
23269
23270 2000-02-01  Jim Meyering  <meyering@lucent.com>
23271
23272         * lib/readutmp.h (UT_USER): Add parens.  From Andreas Schwab.
23273
23274 2000-01-31  Jim Meyering  <meyering@lucent.com>
23275
23276         * m4/check-decl.m4 (jm_CHECK_DECLS): Add nanosleep to the list of
23277         functions.  Add the time.h and sys/time.h headers along with the
23278         AC_REQUIRE'ment of AC_HEADER_TIME.
23279
23280 2000-01-31  Jim Meyering  <meyering@lucent.com>
23281
23282         * lib/nanosleep.h (nanosleep): Guard declaration with
23283         `#if ! HAVE_DECL_NANOSLEEP'.
23284         Without this, OFS gets a redeclaration error for rpl_nanosleep, due to
23285         the declaration in that vendor's sys/timers.h.
23286         Reported by Christian Krackowizer.
23287
23288         * lib/quotearg.c (ISASCII): Add #undef and move definition to follow
23289         inclusion of wctype.h to work around Solaris 2.6 namespace pollution.
23290         (ISPRINT): Likewise.
23291         Reported by Tom Tromey.
23292
23293 2000-01-30  Jim Meyering  <meyering@lucent.com>
23294
23295         * m4/lib-check.m4: Clean up some kludgy old shadow password tests.
23296
23297         * m4/prereq.m4 (utmp_includes): Define.
23298         Check for ut_user and ut_name members in both struct utmpx
23299         and struct utmp.
23300
23301 2000-01-30  Jim Meyering  <meyering@lucent.com>
23302
23303         * lib/readutmp.c (extract_trimmed_name): Use UT_USER instead of
23304         hard-coding uses of ->ut_name.  The latter doesn't work with new Linux
23305         header files where only utmpx.ut_user is declared.
23306
23307         * lib/readutmp.h (UT_USER): Define.
23308
23309 2000-01-29  Jim Meyering  <meyering@lucent.com>
23310
23311         * m4/lib-check.m4: New file containing library-related checks from
23312         fileutils and sh-utils (textutils had none).
23313
23314 2000-01-28  Jim Meyering  <meyering@lucent.com>
23315
23316         * m4/perl.m4: Change format of warning message to look more like that
23317         from the missing script.  Suggestion from François Pinard.
23318
23319 2000-01-25  Jim Meyering  <meyering@lucent.com>
23320
23321         * m4/timespec.m4: Require AC_HEADER_TIME, and include sys/time.h as
23322         well as time.h in the compile check.
23323         * m4/nanosleep.m4: Require AC_HEADER_TIME rather than simply using it.
23324         Fix typo in cross-compiling case: s/yes/no/.
23325
23326 2000-01-23  Jim Meyering  <meyering@lucent.com>
23327
23328         * m4/jm-macros.m4: Move df-related tests here from
23329         fileutils/configure.in
23330
23331         * m4/ls-mntd-fs.m4: s/list_mounted_fs/ac_list_mounted_fs/
23332         (jm_LIST_MOUNTED_FILESYSTEMS): Take two parameters.
23333
23334         * m4/fsusage.m4: New file.  Extracted from fileutils/configure.in.
23335         s/space/ac_fsusage_space/.
23336         (jm_FILE_SYSTEM_USAGE): Take two parameters.
23337
23338         * m4/ftruncate.m4: New file (derived from part of
23339         fileutils/configure.in).
23340         * m4/jm-macros.m4 (jm_FUNC_FTRUNCATE): AC_REQUIRE it.
23341         (jm_CHECK_ALL_TYPES): Require AC_HEADER_MAJOR and AC_HEADER_DIRENT.
23342
23343         * m4/jm-macros.m4 (OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, MAN):
23344         AC_SUBST these here, rather than just in sh-util/configure.in, so
23345         that the now-shared-by-fileutils-and-textutils lib/Makefile.am are
23346         all the same.
23347         (AM_FUNC_OBSTACK): Add (from fileutils/configure.in).
23348         (AC_CHECK_FUNCS): Merge all checks from fileutils, textutils, sh-utils.
23349         (AM_FUNC_STRTOD): Added (from textutils', sh-utils' configure.in).
23350         (AC_SUBST(POW_LIBM)): Likewise.
23351         (AC_SUBST(DF_PROG)): Moved from fileutils/configure.in.
23352
23353 2000-01-23  Jim Meyering  <meyering@lucent.com>
23354
23355         * lib/Makefile.am (libfetish_a_SOURCES): Remove explicit mention of
23356         obstack.c.
23357
23358 2000-01-22  Jim Meyering  <meyering@lucent.com>
23359
23360         * m4/jm-macros.m4: Call AC_PROG_CC_STDC just before AC_C_CONST.
23361
23362         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Add wctype.h.
23363
23364         * m4/jm-macros.m4 (AC_CHECK_HEADERS): Add checks from fileutils'
23365         configure.in
23366         (AC_CHECK_HEADERS): Likewise for sh-utils.
23367         (AC_CHECK_HEADERS): Likewise for textutils.
23368         Merge the three lists of headers.
23369
23370         * m4/prereq.m4 (jm_PREREQ_ADDEXT): New macro.  Parts moved here
23371         from fileutils' configure.in.
23372
23373         * m4/decl.m4: Remove kludgy `test -z $ac_...AC_CHECK_HEADERS(...)'
23374         code. Moved tests into their own function (_jm_DECL_HEADERS) in
23375         check-decl.m4.
23376
23377         * m4/check-decl.m4: Use #if rather than #ifdef.
23378         Add HAVE_DECL_STRTOUL and HAVE_DECL_STRTOULL.
23379         (jm_CHECK_DECLARATIONS): Add strtoul strtoull.
23380         (_jm_DECL_HEADERS): Define new function.
23381         (jm_CHECK_DECLARATIONS): Require it.
23382
23383 2000-01-22  Jim Meyering  <meyering@lucent.com>
23384
23385         * lib/strtoumax.c: [! HAVE_DECL_STRTOUL]: Declare strtoul.
23386         [! HAVE_DECL_STRTOULL]: Declare strtoull.
23387         Required for some AIX systems.  Reported by Christian Krackowizer.
23388         [TESTING] (main): New function.
23389
23390         1997-10-17  Eli Zaretskii  <eliz@is.elta.co.il>
23391         * lib/dirname.c (dir_name): Support for DOS-style file names with drive
23392         letters.
23393
23394         * lib/quotearg.c [HAVE_WCTYPE_H]: Include <wctype.h> for decl of
23395         iswprint.
23396
23397         * lib/strverscmp.c (ISDIGIT): Define.
23398         (strverscmp): Use ISDIGIT, not isdigit.
23399
23400 2000-01-19  Jim Meyering  <meyering@lucent.com>
23401
23402         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Include <sys/time.h>, too.
23403         Use AC_HEADER_TIME.  Volker Borchert reported that OpenBSD-2.3/sparc
23404         defines `struct timespec' in <sys/time.h>
23405
23406         * m4/c-bs-a.m4: Remove uses of changequote altogether.
23407         Thanks to Akim for explaining.
23408
23409 2000-01-17  Paul Eggert  <eggert@twinsun.com>
23410
23411         * lib/nanosleep.c (nanosleep):
23412         Don't use SA_INTERRUPT to decide whether to call sigaction, as
23413         POSIX.1 doesn't require SA_INTERRUPT and some systems
23414         (e.g. Solaris 7) don't define it.  Use SA_NOCLDSTOP instead;
23415         it's been part of POSIX.1 since day 1 (in 1988).
23416
23417 2000-01-17  Jim Meyering  <meyering@lucent.com>
23418
23419         * lib/interlock: Remove unused file.  Reported by François Pinard.
23420
23421 2000-01-16  Paul Eggert  <eggert@twinsun.com>
23422
23423         * lib/quotearg.c (quotearg_buffer_restyled): Do not quote
23424         alert, backslash, formfeed, and vertical tab unnecessarily in
23425         shell quoting style.
23426
23427 2000-01-16  Jim Meyering  <meyering@lucent.com>
23428
23429         * m4/jm-macros.m4: Require jm_FUNC_GROUP_MEMBER, jm_FUNC_PUTENV,
23430         AM_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, jm_FUNC_MKTIME,
23431         jm_FUNC_GETGROUPS AC_FUNC_VPRINTF, AC_FUNC_ALLOCA,
23432         AM_FUNC_GETLOADAVG, and jm_SYS_PROC_UPTIME.
23433
23434 2000-01-16  Jim Meyering  <meyering@lucent.com>
23435
23436         * m4/c-bs-a.m4: Use `changequote(<<,>>)', rather than `changequote(, )'
23437         because the latter didn't work.
23438
23439 2000-01-15  Jim Meyering  <meyering@lucent.com>
23440
23441         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add gethostname and getusershell.
23442         (AC_REPLACE_FUNCS): Add memcpy and memset.
23443         Add these, too: stime strcspn stpcpy strstr strtol strtoul.
23444         Add strpbrk.
23445         Add these: euidaccess memcmp mkdir rmdir rpmatch strndup strverscmp.
23446
23447 2000-01-12  Jim Meyering  <meyering@lucent.com>
23448
23449         * m4/prereq.m4 (jm_PREREQ_CANON_HOST): New macro.
23450         (jm_PREREQ): Use it.
23451         (jm_PREREQ_READUTMP): New macro.
23452         (jm_PREREQ): Use it.
23453
23454 2000-01-11  Paul Eggert  <eggert@twinsun.com>
23455
23456         Quote multibyte characters correctly.
23457         * m4/c-bs-a.m4: New file.
23458         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): New macro.
23459         (jm_PREREQ): Use it.
23460
23461 2000-01-11  Paul Eggert  <eggert@twinsun.com>
23462
23463         * m4/uintmax_t.m4: Port to autoconf 2.13.
23464
23465 2000-01-08  Jim Meyering  <meyering@ascend.com>
23466
23467         * m4/strerror_r.m4 (jm_FUNC_STRERROR_R): New file/macro.
23468         * m4/jm-macros.m4 (jm_FUNC_STRERROR_R): Require it.
23469
23470 2000-01-04  Jim Meyering  <meyering@ascend.com>
23471
23472         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename from
23473         jm_STRUCT_DIRENT_D_TYPE.
23474         * m4/d-ino.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_INO): Rename from
23475         jm_STRUCT_DIRENT_D_INO.
23476         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Rename from
23477         jm_STRUCT_UTIMBUF.
23478         * m4/jm-macros.m4: Reflect s/jm_STRUCT_/jm_CHECK_TYPE_STRUCT_/
23479         renamings.
23480         * m4/utime.m4: Likewise.
23481
23482         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): New file, macro.
23483         * m4/jm-macros.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): Require it.
23484
23485 2000-01-03  Paul Eggert  <eggert@twinsun.com>
23486
23487         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Search for nanosleep in -lrt
23488         (for Solaris 7) and in -lposix4 (for Solaris 2.5.1).
23489
23490 2000-01-02  Jim Meyering  <meyering@ascend.com>
23491
23492         * m4/search-libs.m4: Escape `$' in $3 of dnl comment.  I no longer
23493         remember if this is necessary.
23494
23495 1999-12-26  Jim Meyering  <meyering@ascend.com>
23496
23497         * m4/jm-macros.m4: Use it here.
23498         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): New file/macro.
23499
23500 1999-12-23  Jim Meyering  <meyering@ascend.com>
23501
23502         * m4/jm-macros.m4: Check for clock_gettime (moved from
23503         fileutils/configure.in)
23504         Check for gettimeofday.
23505
23506 1999-12-20  Jim Meyering  <meyering@ascend.com>
23507
23508         * m4/strftime.m4: Remove kludge, now that I'm using the fixed
23509         autoconf-2.14a-1999-12-20.
23510
23511 1999-12-19  Jim Meyering  <meyering@ascend.com>
23512
23513         * m4/lstat-slash.m4: New file.
23514         * m4/jm-macros.m4: Use the new macro:
23515         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
23516
23517 1999-12-07  Jim Meyering  <meyering@ascend.com>
23518
23519         * m4/perl.m4: Require that File::Compare be available, too.
23520         Too many systems seem to lack it.
23521
23522         * m4/strftime.m4: Add checks for most of the cpp macros tested in
23523         GNU's strftime.c.  Prompted by a patch from Paul Eggert.
23524
23525 1999-11-18  Paul Eggert  <eggert@twinsun.com>
23526
23527         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around a
23528         problem with the QNX 4.25 shell, which doesn't propagate exit
23529         status of failed commands inside shell assignments.
23530
23531 1999-11-17  Jim Meyering  <meyering@ascend.com>
23532
23533         * m4/gettext.m4: Use new AC_CONFIG_LINKS in place of AC_LINK_FILES.
23534
23535 1999-11-07  Jim Meyering  <meyering@ascend.com>
23536
23537         * m4/getloadavg.m4: Add `, 1, [FIXME]' to each use of AC_DEFINE.
23538
23539 1999-11-06  Jim Meyering  <meyering@ascend.com>
23540
23541         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): New file/macro.
23542         * m4/jm-macros.m4 (jm_MACROS): Use it here.
23543
23544 1999-11-05  Jim Meyering  <meyering@ascend.com>
23545
23546         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Move some tests from
23547         configure.in of textutils, fileutils, and sh-utils into this one
23548         (shared between those packages) file.
23549         Use `AC_CHECK_MEMBERS((struct stat.st_blksize))' instead of deprecated
23550         AC_STRUCT_ST_BLKSIZE.
23551
23552 1999-11-03  Jim Meyering  <meyering@ascend.com>
23553
23554         * m4/ssize_t.m4: Remove file.  No longer needed since the new version
23555         of AC_CHECK_TYPE checks includes unistd.h.
23556         * m4/jm-macros.m4: Use straight `AC_CHECK_TYPE(ssize_t, int)'.
23557         Suggestion from Akim Demaille.
23558
23559 1999-10-30  Jim Meyering  <meyering@ascend.com>
23560
23561         * m4/uintmax_t.m4: Require 2.14a.  Remove backslash before backtick in
23562         m4-quoted string.
23563         * m4/ls-mntd-fs.m4: Likewise.
23564         * m4/jm-macros.m4: Likewise.  Also, use AC_TYPE_SSIZE_T instead
23565         * m4/jm-winsz1.m4: Likewise.
23566
23567         * m4/const.m4: Remove file, since the fix made it into the experimental
23568         version of autoconf.
23569         * m4/mktime.m4: Likewise.
23570
23571         * m4/check-type.m4: Remove file, now that the latest version of
23572         AC_CHECK_TYPE takes a third arg to specify additional #includes.
23573
23574         * m4/ssize_t.m4: New file, requires experimental version of autoconf.
23575         * m4/jm-macros.m4: Use new AC_TYPE_SSIZE_T instead of my hacked
23576         AC_CHECK_TYPE.
23577
23578 1999-10-04  Jim Meyering  <meyering@ascend.com>
23579
23580         * m4/jm-macros.m4: Don't require autoconf-2.14.1.
23581
23582 1999-09-22  Paul Eggert  <eggert@twinsun.com>
23583
23584         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around GCC
23585         2.95.1 bug with HP-UX 10.20.
23586
23587 1999-09-17  Jim Meyering  <meyering@ascend.com>
23588
23589         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add strdup.
23590         Paul Nevai reported a link failure on a NeXT CUBE with NeXTSTEP 3.3
23591         due to missing strdup (against sh-utils-2.0).
23592
23593 1999-08-29  Jim Meyering  <meyering@ascend.com>
23594
23595         * m4/jm-macros.m4: Require jm_BISON.
23596         * m4/bison.m4: New file.
23597
23598 1999-08-17  Paul Eggert  <eggert@twinsun.com>
23599
23600         * m4/largefile.m4 (AC_SYS_LARGEFILE): Fix typo: missing comma
23601         in value for _FILE_OFFSET_BITS, which broke ports to HP-UX 10.20.
23602
23603 1999-08-05  Jim Meyering  <meyering@ascend.com>
23604
23605         * m4/getline.m4: Rename test file from conftestdata to conftest.data
23606         to avoid conflicts with `conftest' on 8+3 filesystems.
23607         Suggestion from Eli Zaretskii.
23608
23609 1999-08-04  Jim Meyering  <meyering@ascend.com>
23610
23611         * m4/jm-macros.m4: Move a 4-line block of code from the configure.in of
23612         fileutils and sh-utils (textutils's getline test was inadequate).
23613         (AM_FUNC_GETLINE): Run this test.
23614         (AC_CHECK_FUNCS): Check for getdelim.
23615         Reported by Bob Proulx.
23616
23617 1999-08-02  Jim Meyering  <meyering@ascend.com>
23618
23619         * m4/jm-macros.m4: Add a comment.
23620
23621 1999-08-01  Paul Eggert  <eggert@twinsun.com>
23622
23623         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check whether
23624         <inttypes.h> defines strtoumax as a macro (and not as a
23625         function).
23626
23627 1999-08-01  Paul Eggert  <eggert@twinsun.com>
23628
23629         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Make sure
23630         that we can shift, multiply and divide unsigned long long
23631         values; Ultrix cc can't do it.
23632
23633 1999-08-01  Paul Eggert  <eggert@twinsun.com>
23634
23635         * m4/mktime.m4: New file, which is a preview of what should appear
23636         in the next public autoconf release.
23637
23638 1999-08-01  Paul Eggert  <eggert@twinsun.com>
23639
23640         * m4/lfs.m4: Remove this file.
23641         * m4/largefile.m4: New file.  It contains the old contents of
23642         lfs.m4, except that all names with prefix AC_LFS have been
23643         changed to use the prefix AC_SYS_LARGEFILE instead, to be
23644         compatible with future autoconf versions.  Also, some minor m4
23645         quoting problems have been fixed.
23646
23647 1999-08-01  Paul Eggert  <eggert@twinsun.com>
23648
23649         * m4/gettext.m4 (AM_WITH_NLS): Remove unnecessary lines.
23650         Fix typo: $nls_cv_header_intl was misspelled as $nsl_cv_header_intl.
23651         (AM_GNU_GETTEXT): Fix problem with brackets and m4 quoting,
23652         and simplify the shell code.
23653
23654 1999-08-01  Jim Meyering  <meyering@ascend.com>
23655
23656         * m4/mktime.m4 (AC_FUNC_MKTIME): Undefine to avoid syntax errors from
23657         m4.
23658
23659 1999-07-20  Jim Meyering  <meyering@ascend.com>
23660
23661         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memmove.
23662
23663 1999-07-15  Jim Meyering  <meyering@ascend.com>
23664
23665         * m4/jm-macros.m4 (AC_CHECK_FUNCS): Check for getpagesize.
23666
23667 1999-05-22  Jim Meyering  <meyering@ascend.com>
23668
23669         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memchr.
23670
23671 1999-05-20  Jim Meyering  <meyering@ascend.com>
23672
23673         * m4/search-libs.m4 [AC_SEARCH_LIBS]: Quote name in undefine.
23674         Add a colon after each `then' in case $4 is empty.
23675
23676 1999-05-16  Jim Meyering  <meyering@ascend.com>
23677
23678         * m4/search-libs.m4: New file to override autoconf's AC_SEARCH_LIBS.
23679
23680 1999-05-10  Jim Meyering  <meyering@ascend.com>
23681
23682         * m4/jm-mktime.m4: Reflect renaming: AM_FUNC_MKTIME -> AC_FUNC_MKTIME.
23683
23684         * m4/jm-macros.m4: Require 2.14.1, since we use newly-renamed
23685         AC_FUNC_MKTIME.
23686
23687 1999-05-10  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>
23688
23689         * m4/jm-mktime.m4, putenv.m4: Fix typos in config.h comments.
23690
23691 1999-05-04  Paul Eggert  <eggert@twinsun.com>
23692
23693         * m4/lfs.m4 (AC_LFS): -n32, -o32, and -n64 should be in CFLAGS,
23694         not CPPFLAGS, so that linking works correctly in IRIX.
23695
23696 1999-04-30  Paul Eggert  <eggert@twinsun.com>
23697
23698         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add dup2.
23699
23700 1999-04-20  Paul Eggert  <eggert@twinsun.com>
23701
23702         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Move unsigned long
23703         long check into new jm_AC_TYPE_UNSIGNED_LONG_LONG macro.
23704         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require
23705         jm_AC_TYPE_UNSIGNED_LONG_LONG.
23706         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): New file/macro.
23707
23708         * m4/lfs.m4: Port to AIX and HP-UX.  Support cross-compilation.
23709
23710 1999-04-20  Jim Meyering  <meyering@ascend.com>
23711
23712         * m4/xstrtoumax.m4: Require jm_AC_TYPE_UNSIGNED_LONG_LONG.
23713         AC_REPLACE xstroull if necessary.  From Paul Eggert.
23714         (AC_CHECK_FUNCS): Remove strtoull, strtoumax, strtouq.
23715
23716 1999-04-18  Jim Meyering  <meyering@ascend.com>
23717
23718         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): New file/macro.
23719         * m4/jm-macros.m4: Use it.
23720
23721 1999-04-06  Jim Meyering  <meyering@ascend.com>
23722
23723         * m4/strftime.m4: Remove test for %f.
23724
23725 1999-03-29  Jim Meyering  <meyering@ascend.com>
23726
23727         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): New macro, contains the
23728         superset of the AC_TYPE_* checks in the textutils, fileutils,
23729         and sh-utils, plus AC_TYPE_PID_T.  Paul Eggert suggested adding
23730         AC_TYPE_PID_T.
23731
23732 1999-03-28  Jim Meyering  <meyering@ascend.com>
23733
23734         * m4/jm-macros.m4: Define GNU_PACKAGE here.
23735         Be sure to AC_SUBST it, once again, so that @GNU_PACKAGE@ is
23736         replaced e.g., in the *.sh files of the sh-utils.
23737
23738 1999-03-20  Jim Meyering  <meyering@ascend.com>
23739
23740         * m4/jm-macros.m4: s/jm_WITH_REGEX/jm_INCLUDED_REGEX/.
23741         * m4/regex.m4 (jm_INCLUDED_REGEX): Rename from jm_WITH_REGEX.
23742         Don't depend on AM_GLIBC.  Suggestions from Alain Magloire.
23743
23744 1999-03-19  Jim Meyering  <meyering@ascend.com>
23745
23746         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): New macro.
23747
23748 1999-03-12  Jim Meyering  <meyering@ascend.com>
23749
23750         * m4/jm-macros.m4: Use AC_FUNC_SETVBUF_REVERSED.
23751
23752 1999-03-07  Jim Meyering  <meyering@ascend.com>
23753
23754         * m4/jm-glibc-io.m4: Use only those *_unlocked macros that are
23755         declared.
23756
23757 1999-02-17  Jim Meyering  <meyering@ascend.com>
23758
23759         * m4/gettext.m4 (AM_GNU_GETTEXT): Do `changequote' around use of
23760         brackets in macro definition.  From Eli Zaretskii and Alain Magloire.
23761
23762 1999-02-07  Jim Meyering  <meyering@ascend.com>
23763
23764         * m4/group-member.m4: New file -- extracted from sh-utils'
23765         configure.in.
23766
23767         1999-02-05  Eli Zaretskii  <eliz@is.elta.co.il>
23768         * m4/gettext.m4: Support DOS-style d:/foo/bar absolute file names.
23769
23770 1999-02-06  Jim Meyering  <meyering@ascend.com>
23771
23772         * m4/chown.m4: Use `AC_SUBST(LIBOBJS)' since we set LIBOBJS.
23773         * m4/fnmatch.m4: Likewise.
23774         * m4/getgroups.m4: Likewise.
23775         * m4/lstat.m4: Likewise.
23776         * m4/malloc.m4: Likewise.
23777         * m4/putenv.m4: Likewise.
23778         * m4/realloc.m4: Likewise.
23779         * m4/regex.m4: Likewise.
23780         * m4/stat.m4: Likewise.
23781         * m4/strftime.m4: Likewise.
23782         Suggestion from Alain Magloire.
23783
23784         * m4/chown.m4: Use `.$ac_objext', not `.o'.
23785         * m4/fnmatch.m4: Likewise.
23786         * m4/getgroups.m4: Likewise.
23787         * m4/getline.m4: Likewise.
23788         * m4/lstat.m4: Likewise.
23789         * m4/malloc.m4: Likewise.
23790         * m4/memcmp.m4: Likewise.
23791         * m4/putenv.m4: Likewise.
23792         * m4/realloc.m4: Likewise.
23793         * m4/regex.m4: Likewise.
23794         * m4/stat.m4: Likewise.
23795         * m4/strftime.m4: Likewise.
23796         Suggestion from Alain Magloire.
23797
23798         * m4/jm-macros.m4: Actually invoke jm_WITH_REGEX now that it requires
23799         an argument.
23800
23801         * m4/regex.m4: Add a run-time Test for proper operation of
23802         re_compile_pattern.
23803
23804 1999-01-31  Jim Meyering  <meyering@ascend.com>
23805
23806         * m4/getloadavg.m4: Check for locale.h and the function, setlocale.
23807
23808 1999-01-30  Jim Meyering  <meyering@ascend.com>
23809
23810         * m4/check-type.m4: Use 3-arg form of AC_DEFINE.
23811
23812         * m4/jm-mktime.m4: Make this a wrapper around the official
23813         AM_FUNC_MKTIME rather than my private copy, now that the official one
23814         is up to date.
23815         * m4/mktime.m4: Remove file.
23816
23817         * m4/getloadavg.m4: Use 3-arg form of AC_DEFINE.
23818         * m4/uptime.m4: Likewise.
23819         * m4/uintmax_t.m4: Likewise.
23820
23821 1999-01-28  Jim Meyering  <meyering@ascend.com>
23822
23823         * m4/jm-macros.m4: Use jm_AFS.
23824         * m4/afs.m4: New file (from fileutils' configure.in).
23825
23826         * m4/assert.m4: Use the 3-argument forms of AC_DEFINE* macros.
23827         * m4/chown.m4: Likewise.
23828         * m4/d-ino.m4: Likewise.
23829         * m4/d-type.m4: Likewise.
23830         * m4/fnmatch.m4: Likewise.
23831         * m4/getgroups.m4: Likewise.
23832         * m4/gettext.m4: Likewise.
23833         * m4/jm-mktime.m4: Likewise.
23834         * m4/jm-winsz2.m4: Likewise.
23835         * m4/lcmessage.m4: Likewise.
23836         * m4/ls-mntd-fs.m4: Likewise.
23837         * m4/malloc.m4: Likewise.
23838         * m4/memcmp.m4: Likewise.
23839         * m4/putenv.m4: Likewise.
23840         * m4/realloc.m4: Likewise.
23841         * m4/st_mtim.m4: Likewise.
23842         * m4/strftime.m4: Likewise.
23843
23844 1999-01-16  Jim Meyering  <meyering@ascend.com>
23845
23846         * m4/jm-macros.m4 (ARGMATCH_DIE): Define.
23847         (ARGMATCH_DIE_DECL): Define.
23848
23849 1999-01-12  Jim Meyering  <meyering@ascend.com>
23850
23851         * m4/Makefile.am.in: Rewrite to avoid using fmt.
23852         Reported by Lars Hecking.
23853
23854 1999-01-10  Jim Meyering  <meyering@ascend.com>
23855
23856         * m4/fstypename.m4: Use the new 3-arg form of AC_DEFINE instead of my
23857         gross kludge.
23858         * m4/inttypes_h.m4: Likewise.
23859         * m4/lstat.m4: Likewise.
23860         * m4/malloc.m4: Likewise.
23861         * m4/readdir.m4: Likewise.
23862         * m4/realloc.m4: Likewise.
23863         * m4/st_dm_mode.m4: Likewise.
23864         * m4/stat.m4: Likewise.
23865         * m4/utimbuf.m4: Likewise.
23866         * m4/utimes.m4: Likewise.
23867
23868         * m4/check-decl.m4: Use the new 3-arg form of AC_DEFINE instead of the
23869         AC_CHECK_FUNCS hack.  Now, it's still a hack, but at least the
23870         comments in config.h.in are meaningful.
23871
23872         * m4/jm-macros.m4: Require autoconf-2.13 here.
23873
23874         * m4/regex.m4: By default, don't use the included regex.c on systems
23875         with glibc 2.  Suggestion from Uli Drepper.
23876
23877 1999-01-02  Jim Meyering  <meyering@ascend.com>
23878
23879         * m4/jm-macros.m4: Replace strcasecmp and strncasecmp.
23880
23881 1998-12-18  Jim Meyering  <meyering@ascend.com>
23882
23883         * m4/Makefile.am.in (Makefile.am): Simplify rule.
23884         Based on a suggestion from Lars Hecking.
23885
23886 1998-11-16  Paul Eggert  <eggert@twinsun.com>
23887
23888         * m4/lfs.m4 (AC_LFS): Add support for HP-UX 10.20 and HP-UX 11.
23889
23890 1998-11-16  Jim Meyering  <meyering@ascend.com>
23891
23892         * m4/lfs.m4: Double-quote the `uname...` expression.
23893
23894 1998-11-14  Jim Meyering  <meyering@ascend.com>
23895
23896         * m4/lstat.m4: Correct comment.  POSIX does not permit it to succeed.
23897         * m4/stat.m4: Likewise.
23898
23899 1998-11-03  Jim Meyering  <meyering@ascend.com>
23900
23901         * m4/stat.m4: Rewrite to set HAVE_STAT_EMPTY_STRING_BUG.
23902         * m4/lstat.m4: Rewrite to set HAVE_LSTAT_EMPTY_STRING_BUG.
23903
23904 1998-10-18  Jim Meyering  <meyering@ascend.com>
23905
23906         * m4/check-decl.m4 (jm_CHECK_DECL_LOCALTIME_R): Remove macro.
23907
23908 1998-10-17  Jim Meyering  <meyering@ascend.com>
23909
23910         * m4/decl.m4 (jm_CHECK_DECLARATION): Don't hard-code which headers to
23911         include, though we still hard-code the `require'-like AC_CHECK_HEADERS
23912         calls for those previously hard-coded headers.  Instead, take a new
23913         parameter.
23914         (jm_CHECK_DECLARATIONS): Reflect interface change.
23915         * m4/check-decl.m4 (jm_CHECK_DECLS): Likewise.
23916         (jm_CHECK_DECL_LOCALTIME_R): New macro.
23917
23918         * m4/mktime.m4: Test for spring-forward gap before long-running test.
23919
23920 1998-10-14  Jim Meyering  <meyering@ascend.com>
23921
23922         * m4/mktime.m4: Use the more portable "TZ=PST8PDT,M4.1.0,M10.5.0"
23923         instead of "TZ=America/Vancouver".  From Paul Eggert.
23924
23925 1998-10-11  Jim Meyering  <meyering@ascend.com>
23926
23927         * m4/mktime.m4 (jm_AM_FUNC_MKTIME): New file and macro.
23928         This adds a test for a recently added compatibility fix for mktime.c.
23929         * m4/jm-mktime.m4: Require jm_AM_FUNC_MKTIME, not AM_FUNC_MKTIME.
23930
23931 1998-09-27  Jim Meyering  <meyering@ascend.com>
23932
23933         * m4/jm-macros.m4 (jm_MACROS): Require jm_FUNC_FNMATCH.
23934
23935         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): New file/macro.  Extracted from
23936         ../configure.in, including a change from Gordon Matzigkeit to allow
23937         cross-compiling for the Hurd.
23938
23939         * m4/glibc.m4: New file/macro to test for the GNU C Library
23940         versions 1 and 2.  From Gordon Matzigkeit.
23941         Indent.
23942
23943 1998-09-21  Jim Meyering  <meyering@ascend.com>
23944
23945         * m4/chown.m4: Declare locals: before, after.  From Andries Brouwer.
23946
23947 1998-08-18  Paul Eggert  <eggert@twinsun.com>
23948
23949         Port nanosecond-resolution times to UnixWare 2.1.2 and
23950         pedantic Solaris 2.6.
23951
23952         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC): Renamed from
23953         AC_STRUCT_ST_MTIM.
23954         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC):
23955         Generate name of ns member, instead of just 1 or undef.
23956         Allow for UnixWare 2.1.2 and Solaris 2.6 if in pedantic mode.
23957
23958 1998-08-15  Jim Meyering  <meyering@ascend.com>
23959
23960         * m4/ssize_t.m4 (jm_TYPE_SSIZE_T): Remove file.
23961         * m4/check-type.m4: New file.  Replacement for AC_CHECK_TYPE.
23962         * m4/jm-macros.m4: Use the new AC_CHECK_TYPE(ssize_t, int)
23963         instead of jm_TYPE_SSIZE_T.
23964
23965 1998-08-12  Jim Meyering  <meyering@ascend.com>
23966
23967         * m4/st_dm_mode.m4: New file.  From Johan Danielsson.
23968
23969 1998-08-02  Jim Meyering  <meyering@ascend.com>
23970
23971         * m4/st_mtim.m4: Use hack to avoid having to put #undef HAVE_ST_MTIM
23972         in acconfig.h manually.
23973
23974 1998-07-31  Paul Eggert  <eggert@twinsun.com>
23975
23976         * m4/st_mtim.m4: New file.
23977
23978 1998-07-28  Jim Meyering  <meyering@ascend.com>
23979
23980         * m4/utimes.m4: Undef stat.
23981
23982 1998-07-25  Jim Meyering  <meyering@ascend.com>
23983
23984         * m4/utime.m4 (jm_FUNC_UTIME): New file and macro.
23985         * m4/utimes.m4 (jm_FUNC_UTIMES_NULL): New file and macro.
23986
23987 1998-07-09  Manfred Hollstein  <manfred@s-direktnet.de>
23988
23989         * m4/chown.m4 (jm_FUNC_CHOWN): Add a check to verify that the
23990         uid and gid actually remain unchanged.
23991
23992 1998-07-07  Jim Meyering  <meyering@ascend.com>
23993
23994         * m4/jm-glibc-io.m4: Remove fclose_unlocked.
23995
23996 1998-07-04  Jim Meyering  <meyering@ascend.com>
23997
23998         * m4/regex.m4: Use syscmd, ifelse, and sysval.  Mainly as an exercise
23999         to prove that this macro can be used in packages without regex.c.
24000
24001 1998-07-04  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
24002
24003         * m4/gettext.m4 (AM_WITH_NLS): Remove intl/libintl.h if <libintl.h>
24004         is to be used.
24005
24006 1998-07-03  Jim Meyering  <meyering@ascend.com>
24007
24008         * m4/gettext.m4: Add -lintl if it's found to be necessary.
24009
24010         * m4/gettext.m4: New file -- from gettext-0.10.35.
24011         * m4/lcmessage.m4: Likewise.
24012         * m4/progtest.m4: Likewise.
24013
24014         * m4/regex.m4 (jm_WITH_REGEX): New file and macro.
24015         * m4/jm-macros.m4: Require the new macro.
24016
24017 1998-06-29  Jim Meyering  <meyering@ascend.com>
24018
24019         * m4/fstypename.m4: Include sys/param.h.  NetBSD 1.3.1 requires this
24020         for the definition of NGROUPS (used in a system header included
24021         by sys/mount.h).
24022
24023 1998-06-28  Jim Meyering  <meyering@ascend.com>
24024
24025         * m4/ls-mntd-fs.m4: New file.
24026         * m4/fstypename.m4: New file.
24027
24028         * m4/jm-macros.m4: Require the new macro.
24029         * m4/jm-glibc-io.m4: New file.
24030
24031 1998-05-19  Jim Meyering  <meyering@ascend.com>
24032
24033         * m4/jm-macros.m4: Add jm_FUNC_LCHOWN.
24034         * m4/lchown.m4: New file.
24035
24036         * m4/Makefile.am.in: New file.
24037         * m4/Makefile.am (Makefile.am): Depend on Makefile.am.in.
24038
24039 1998-05-14  Jim Meyering  <meyering@ascend.com>
24040
24041         * m4/Makefile.am (EXTRA_DIST): Add them.
24042         * m4/jm-macros.m4: New file.
24043         * m4/utimbuf.m4: New file.
24044
24045 1998-05-12  Jim Meyering  <meyering@ascend.com>
24046
24047         * m4/Makefile.am (EXTRA_DIST): Add isc-posix.m4.
24048
24049 1998-05-11  Jim Meyering  <meyering@ascend.com>
24050
24051         * m4/isc-posix.m4: New file.
24052
24053 1998-05-10  Jim Meyering  <meyering@ascend.com>
24054
24055         * m4/jm-mktime.m4: Use AM_FUNC_MKTIME, now that it's up to date.
24056
24057 1998-05-09  Jim Meyering  <meyering@ascend.com>
24058
24059         * m4/Makefile.am (EXTRA_DIST): Add ssize_t.m4.
24060         (EXTRA_DIST): Remove mktime.m4, now that the new version is included
24061         with automake.
24062
24063         * m4/ssize_t.m4: New file.
24064         * m4/mktime.m4: Remove file -- the new automake has this now.
24065
24066 1998-04-26  Jim Meyering  <meyering@ascend.com>
24067
24068         * m4/assert.m4: New file.
24069         * m4/Makefile.am (EXTRA_DIST): Add assert.m4.
24070
24071 1998-04-05  Jim Meyering  <meyering@ascend.com>
24072
24073         * m4/prereq.m4 (jm_PREREQ_REGEX): New macro.
24074         (jm_PREREQ): Use it here.
24075
24076 1998-03-23  Jim Meyering  <meyering@eng.ascend.com>
24077
24078         * m4/inttypes_h.m4: Kludges so I don't have to add HAVE_INTTYPES_H
24079         in acconfig.h.
24080
24081 1998-03-15  Jim Meyering  <meyering@eng.ascend.com>
24082
24083         * m4/prereq.m4: New file.
24084         * m4/error.m4: New file.
24085         * m4/Makefile.am (EXTRA_DIST): Add error.m4 and prereq.m4.
24086
24087 1998-02-07  Jim Meyering  <meyering@eng.ascend.com>
24088
24089         * m4/getline.m4: Don't set am_cv_func_working_getline before the
24090         cache-check for the same variable -- that defeated the purpose of
24091         the test; the test program was never run.  This was a problem only
24092         on systems with losing getline functions -- HP-UX 10.20 is one.
24093         Reported by Bjorn Helgaas.
24094
24095 1998-02-06  Jim Meyering  <meyering@eng.ascend.com>
24096
24097         * m4/Makefile.am (EXTRA_DIST): Add perl.m4.
24098
24099 1998-01-10  Jim Meyering  <meyering@na-net.ornl.gov>
24100
24101         * m4/Makefile.am (EXTRA_DIST): Add const.m4.
24102
24103         * m4/const.m4: New file.  Use an initializer in this declaration
24104         typedef int charset[2]; const charset x;
24105         Reported by Bob Glickstein.
24106
24107 1997-12-21  Jim Meyering  <meyering@na-net.ornl.gov>
24108
24109         * m4/chown.m4: Fix reversed types on -1 args to chown.
24110         From Kaveh Ghazi.
24111
24112 1997-12-14  Jim Meyering  <meyering@na-net.ornl.gov>
24113
24114         * m4/check-decl.m4: s/DECLARATION_/DECL_/g.
24115         Add lseek and memchr.
24116
24117         * m4/decl.m4: s/HAVE_DECLARATION_/HAVE_DECL_/g.
24118         T.E.Dickey <dickey@clark.net> said that some older preprocessors
24119         have a 20-character limit on names.
24120
24121 1997-11-30  Jim Meyering  <meyering@na-net.ornl.gov>
24122
24123         * m4/inttypes_h.m4: New file.
24124         * m4/uintmax_t.m4: New file.
24125         * m4/Makefile.am (EXTRA_DIST): Add inttypes_h.m4 and uintmax_t.m4.
24126
24127 Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006
24128   Free Software Foundation, Inc.
24129 Copying and distribution of this file, with or without modification,
24130 are permitted provided the copyright notice and this notice are preserved.