f4d060a7d3777166a02bcdc7ba8db1bd2b18b3ee
[gnulib.git] / ChangeLog
1 2006-11-14  Eric Blake  <ebb9@byu.net>
2
3         * doc/functions.texi (Function Portability): *printf functions on
4         Cygwin now understand all POSIX size specifiers.
5
6 2006-11-14  Bruno Haible  <bruno@clisp.org>
7
8         * modules/c-ctype (License): Change to LGPL.
9
10 2006-11-12  Bruno Haible  <bruno@clisp.org>
11
12         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
13         AC_LIB_LINKFLAGS_BODY): Also set a LIB${NAME}_PREFIX variable. Needed
14         for GNOME libraries, for which the include files are installed in
15         subdirectories of $prefix/include.
16
17 2006-11-12  Bruno Haible  <bruno@clisp.org>
18
19         * m4/lib-link.m4: Require at least autoconf-2.54.
20         (AC_LIB_LINKFLAGS_BODY) [autoconf < 2.61]: Turn dots into the library
21         name to underscores for the --with option.
22
23 2006-11-13  Bruno Haible  <bruno@clisp.org>
24
25         * gnulib-tool (func_create_testdir): Set gl_source_base correctly in
26         the tests directory.
27         Reported by Ralf Wildenhues.
28
29 2006-11-13  Bruno Haible  <bruno@clisp.org>
30
31         * gnulib-tool (func_emit_initmacro_start): Also override AC_LIBSOURCES.
32         (func_emit_initmacro_end): Undo the override here.
33         (func_emit_initmacro_done): Emit a definition for gl_LIBSOURCES.
34         Works around the famous automake error in coreutils.
35
36 2006-11-13  Eric Blake  <ebb9@byu.net>
37
38         * lib/gl_anytree_oset.h (gl_tree_search_atleast): Return the
39         element, not its node.
40
41 2006-11-12  Bruno Haible  <bruno@clisp.org>
42
43         * gnulib-tool (func_emit_lib_Makefile_am): Replace occurrences of
44         '$(top_srcdir)/build-aux/', taking into account the real auxdir.
45
46 2006-11-12  Bruno Haible  <bruno@clisp.org>
47
48         * gnulib-tool: New option --local-symlink.
49         (func_usage): Document it.
50         (lsymbolic): New variable.
51         (func_import, func_create_testdir): If --symlink was not specified,
52         test whether --local-symlink was specified and the file comes from
53         the local_gnulib_dir.
54
55 2006-11-12  Bruno Haible  <bruno@clisp.org>
56
57         * gnulib-tool (func_ln): New function.
58         (func_ln_if_changed, func_create_testdir): Use it instead of "ln -s".
59
60 2006-11-12  Bruno Haible  <bruno@clisp.org>
61
62         Finish support for source files in subdirectories.
63         * gnulib-tool (func_emit_lib_Makefile_am): If some of the source files
64         are in subdirectories, set uses_subdirs and add 'subdir-objects' to
65         AUTOMAKE_OPTIONS.
66         (func_import, func_create_testdir): Invoke AM_PROG_CC_C_O in this case.
67
68 2006-11-12  Bruno Haible  <bruno@clisp.org>
69
70         * gnulib-tool (func_get_automake_snippet): Synthesize also an
71         EXTRA_lib_SOURCES augmentation.
72         (func_emit_lib_Makefile_am): Initialize EXTRA_lib..._SOURCES to empty.
73
74 2006-11-12  Jim Meyering  <jim@meyering.net>
75
76         Make fts (in FTS_CWDFD mode) more efficient by caching a few open
77         file descriptors.  This also averts a failure on systems with
78         native openat support when a traversed directory lacks "x" access.
79         * lib/fts_.h: Include "i-ring.h"
80         (struct FTS) [fts_fd_ring]: New member.
81         * lib/fts.c (RESTORE_INITIAL_CWD): Also call fd_ring_clear.
82         (FCHDIR): Add parentheses.
83         (fd_ring_check, fd_ring_print) [!FTS_DEBUG]: Define away.
84         (cwd_advance_fd): Add a 3rd parameter.  Adjust all callers.
85         When descending, rather than simply closing the previous
86         fts_cwd_fd value, push that file descriptor onto the ring.
87         (same_fd, fd_ring_print, fd_ring_check) [FTS_DEBUG]: New functions.
88         (fts_open): Initialize the new fd_ring member.
89         (fts_close): Clear the ring.
90         (fts_safe_changedir): When possible, use our new fd_ring to skip
91         the diropen and fstat and dev/ino comparison that would normally
92         accompany a virtual `chdir ("..")'.
93
94         * modules/fts (Depends-on): Add i-ring.
95         * modules/i-ring: New module.
96         * lib/i-ring.c, lib/i-ring.h, lib/i-ring-test.c: New files.
97         * m4/i-ring.m4: New file.
98
99 2006-11-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
100
101         * gnulib-tool (func_create_testdir): Fix replacement of
102         `build-aux' in configure.ac.  Run autotools in gltests
103         subdirectory.
104         (func_create_testdir, func_create_megatestdir, test): There is
105         no need for '--force' in most autotool invocations in a new
106         tree.  Actually fail the whole test if any of the tools, or the
107         configure or make stages fail.
108
109         Sync from Automake.
110         * build-aux/gnupload: Revert last change.  Add pointer to upload
111         instructions of the GNU Maintenance Instructions.
112         Suggestion by Karl Berry.
113
114 2006-11-10  Jim Meyering  <jim@meyering.net>
115
116         * lib/fts.c [FTS_DEBUG]: Don't try to print a pointer via %s.
117
118 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
119
120         * lib/gettext.h (dgettext, dcgettext, ngettext) [! ENABLE_NLS]:
121         (dngettext, dcngettext, bindtextdomain) [! ENABLE_NLS]:
122         (bind_textdomain_codeset) [! ENABLE_NLS]:
123         Evaluate all the arguments.  That way, callers get compatible behavior
124         if the arguments have side effects.  Also, it avoids some GCC
125         diagnostics in some cases; Joel E. Denny reported problems when Bison
126         was configured with --enable-gcc-warnigs.
127
128 2006-11-10  Jim Meyering  <jim@meyering.net>
129
130         * m4/inline.m4 (gl_INLINE): Check with the compiler, not cpp, so that
131         relevant options in CFLAGS (like -O, -fno-inline) are taken into
132         account.
133
134 2006-11-10  Jim Meyering  <jim@meyering.net>
135
136         * modules/inline: New file/module.
137         * modules/xalloc (Files): Remove m4/inline.m4.
138         (Depends-on): Add inline, instead.
139         * modules/oset: Likewise.
140         * modules/list: Likewise.
141
142 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
143
144         * lib/stdint_.h (uintmax_t): Fix typo: int64_t -> uint64_t.
145         Problem reported by Matthew Woehlke.
146
147 2006-11-09  Bruno Haible  <bruno@clisp.org>
148
149         * lib/tempname.c (gen_tempname): Remove variant that invokes
150         __gen_tempname.
151         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Don't test for
152         __gen_tempname.
153
154 2006-11-08  Bruno Haible  <bruno@clisp.org>
155
156         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Set ac_cv_type_long_long_int
157         to 'yes' instead of 'cross-compiling'.
158
159 2006-11-08  Paul Eggert  <eggert@cs.ucla.edu>
160
161         * lib/quotearg.h (quotearg_free): New decl.
162         * lib/quotearg.c (quotearg_free): New function.
163         (slot0, nslots, slotvec0, slotvec):
164         Now file-scope so that quotearg_free can get at them.
165
166 2006-11-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
167
168         Sync from Automake.
169         * build-aux/gnupload: Add missing 'gnu' to example URL.
170         Report by Karl Berry.
171
172 2006-11-08  Bruno Haible  <bruno@clisp.org>
173
174         * m4/inline.m4 (gl_INLINE): Also test __NO_INLINE__.
175         Suggested by Paul Eggert.
176
177 2006-11-08  Jim Meyering  <jim@meyering.net>
178
179         * lib/fts.c [!_LGPL_PACKAGE]: Don't include fcntl--.h twice.
180         It's already included if !_LIBC.
181         (fts_safe_changedir): Add a comment.
182
183 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
184
185         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Detect bug in
186         Tandem NonStop Kernel (OSS) cc -O circa 2004, reported by
187         Matthew Woehlke.
188
189         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Move
190         definitions up, to avoid colliding with change below.
191         (static_inline) [HAVE_INLINE]: New macro.
192         (xnmalloc, xnrealloc, x2nrealloc, xcharalloc):
193         Provide extern decls when !HAVE_INLINE.  Do not define unless
194         static_inline is defined, either by us or by xmalloc.c.  Use
195         static_inline rather than static inline.
196         (XCALLOC): Optimize sizeof(T) = 1 case.
197         * lib/xmalloc.c (static_inline) [!HAVE_INLINE]: New macro.
198
199 2006-11-07  Bruno Haible  <bruno@clisp.org>
200
201         * lib/xalloc.h (XNMALLOC): Restore optimization of sizeof(T) = 1 case.
202         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require gl_INLINE instead of
203         AC_C_INLINE.
204         * modules/xalloc (Files): Add m4/inline.m4.
205
206 2006-11-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
207
208         * README: Fix typo.
209         * doc/gnulib.texi (Miscellaneous Notes): Likewise, rename...
210         (Miscellanous Notes): ...from this.
211
212 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
213
214         * m4/flexmember.m4 (AC_C_FLEXIBLE_ARRAY_MEMBER):
215         Mention that offsetof should be used instead of sizeof.
216         From Bruno Haible.
217
218 2006-11-07  Bruno Haible  <bruno@clisp.org>
219
220         * lib/w32spawn.h (prepare_spawn): Use XNMALLOC instead of xmalloc.
221
222 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
223
224         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
225         * lib/gl_anyavltree_list2.h (create_subtree_with_contents):
226         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
227         (gl_tree_add_before, gl_tree_add_after):
228         Use XMALLOC instead of xmalloc, and XCALLOC instead of xzalloc.
229         * lib/gl_anyhash_list2.h (hash_resize): Likewise.
230         * lib/gl_anylinked_list2.h (gl_linked_create_empty, gl_linked_create):
231         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before):
232         (gl_linked_add_after, gl_linked_add_at): Likewise.
233         * lib/gl_anyrbtree_list2.h (create_subtree_with_contents):
234         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
235         (gl_tree_add_before, gl_tree_add_after): Likewise.
236         * lib/gl_anytree_list2.h (gl_tree_create_empty): Likewise.
237         * lib/gl_anytree_oset.h (gl_tree_create_empty): Likewise.
238         * lib/gl_anytreehash_list1.h (add_to_bucket): Likewise.
239
240 2006-11-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
241
242         * lib/gl_oset.h: Use C comment style, not C++ comment style.
243
244 2006-11-06  Bruno Haible  <bruno@clisp.org>
245
246         * m4/inline.m4: New file.
247         * m4/gl_list.m4 (gl_LIST): Require gl_INLINE.
248         * modules/list (Files): Add m4/inline.m4.
249         * modules/oset (Files): Likewise.
250
251 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
252
253         * lib/idcache.c: Include <stddef.h>, for offsetof.
254         (struct userid.name): Change from char * to a flexible array member.
255         All uses changed.
256         * modules/idcache (Depends-on): Add flexmember.
257
258         * MODULES.html.sh (Core language properties): New module flexmember.
259         * modules/flexmember, m4/flexmember.m4: New files.
260
261         * lib/xalloc.h (xnmalloc, xnrealloc, x2nrealloc): Now static
262         inline functions that are identical with the old xnmalloc_inline,
263         xnrealloc_inline, x2nrealloc_inline of lib/xmalloc.c.  This is so
264         that we can avoid some unnecessary integer multiplications and
265         divisions in the common case where the element size is known at
266         compile time.
267         (XNMALLOC) [HAVE_INLINE]: Remove special case, which is no longer
268         needed.
269         (xnboundedmalloc): Remove.
270         (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Use lower-case letters for
271         arguments, for consistency with rest of this header.
272         (xcharalloc): Rewrite using XNMALLOC.
273         * lib/xmalloc.c (xnmalloc_inline, xnmalloc, xnrealloc_inline):
274         (xnrealloc, x2nrealloc_inline, x2nrealloc): Remove.  The *_inline
275         versions have been moved to lib/xalloc.h and renamed to be the
276         non-*_inline versions.
277         (xmalloc, xrealloc): Implement without reference to the xnmalloc
278         and xnrealloc functions, since those functions are now inline and
279         now call us.
280         (x2realloc): Invoke x2realloc, not x2realloc_inline, to accommodate
281         renaming described above.
282         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Remove AC_C_INLINE since
283         xmalloc.c no longer uses inline directly.  gl_PREREQ_XALLOC now
284         captures the dependency in AC_C_INLINE.
285
286         New module canonicalize-lgpl, proposed by Charles Wilson in
287         <http://lists.gnu.org/archive/html/bug-gnulib/2006-11/msg00020.html>
288         with a few small changes afterwards.
289         * MODULES.html.sh (File system functions): New module
290         canonicalize-lgpl.
291         * lib/canonicalize.h: Add comments for canonicalize_filename_mode
292         and canonicalize_file_name.
293         * lib/canonicalize-lgpl.c, m4/canonicalize-lgpl.m4:
294         * modules/canonicalize-lgpl: New files.
295
296 2006-11-05  Bruno Haible  <bruno@clisp.org>
297
298         * gnulib-tool (func_import, func_create_testdir): Create directories
299         also for files in subdirectories of lib/.
300
301 2006-11-05  Bruno Haible  <bruno@clisp.org>
302
303         * lib/gl_array_list.c (gl_array_iterator_next): Make pointer decrement
304         ANSI C compliant.
305
306 2006-11-03  Bruno Haible  <bruno@clisp.org>
307
308         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
309         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require AC_C_INLINE.
310         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): New macros.
311         (xnboundedmalloc): New inline function.
312         * lib/classpath.c (new_classpath): Use XNMALLOC instead of xmalloc.
313         * lib/clean-temp.c (create_temp_dir): Use XNMALLOC, XMALLOC instead of
314         xmalloc.
315         * lib/concatpath.c (concatenated_pathname): Use XNMALLOC instead of
316         xmalloc.
317         * lib/fatal-signal.c (at_fatal_signal): Use XNMALLOC instead of xmalloc.
318         * lib/findprog.c (find_in_path): Use XNMALLOC instead of xmalloc.
319         * lib/gl_array_list.c (gl_array_create_empty): Use XMALLOC instead of
320         xmalloc.
321         (gl_array_create): Use XNMALLOC, XMALLOC instead of xmalloc.
322         * lib/gl_array_oset.c (gl_array_create_empty): Use XNMALLOC instead of
323         xmalloc.
324         * lib/gl_avltree_oset.c (gl_tree_add_first, gl_tree_add_before,
325         gl_tree_add_after): Use XMALLOC instead of xmalloc.
326         * lib/gl_carray_list.c (gl_carray_create_empty): Use XMALLOC instead of
327         xmalloc.
328         (gl_carray_create): Use XNMALLOC, XMALLOC instead of xmalloc.
329         * lib/gl_rbtree_oset.c (gl_tree_add_first, gl_tree_add_before,
330         gl_tree_add_after): Use XMALLOC instead of xmalloc.
331         * lib/gl_sublist.c (gl_sublist_create): Use XMALLOC instead of xmalloc.
332         * lib/pagealign_alloc.c (new_memnode): Use XMALLOC instead of xmalloc.
333         * lib/sh-quote.c (shell_quote_argv): Use XNMALLOC instead of xmalloc.
334         * lib/xvasprintf.c (xstrcat): Use XNMALLOC instead of xmalloc.
335
336 2006-11-03  Bruno Haible  <bruno@clisp.org>
337
338         * lib/c-ctype.h [C++]: Define functions without name mangling.
339         * lib/fwriteerror.h [C++]: Likewise.
340         * lib/gcd.h [C++]: Likewise.
341         * lib/linebreak.h [C++]: Likewise.
342
343 2006-11-03  Paul Eggert  <eggert@cs.ucla.edu>
344
345         * lib/canonicalize.h: (canonicalize_mode_t, CAN_EXISTING):
346         (CAN_ALL_BUT_LAST, CAN_MISSING, canonicalize_filename_mode):
347         Define only if PROVIDE_CANONICALIZE_FILENAME_MODE is defined.
348         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
349         Check for functions and headers just once.
350         Check for declaration of canonicalize_file_name.
351         Define PROVIDE_CANONICALIZE_FILENAME_MODE.
352
353 2006-11-02  Charles Wilson  <cygwin@cwilson.fastmail.fm>
354
355         * gnulib-tool (func_import): Fix typo in actioncmd.
356
357 2006-11-02  Bruno Haible  <bruno@clisp.org>
358
359         * gnulib-tool (func_get_automake_snippet): Interpret a backslash-
360         newline sequence in the Makefile.am snippet as a space, like "make"
361         does.
362         Reported by Roger Persson <perrog@gmail.com>.
363
364 2006-11-01  Bruno Haible  <bruno@clisp.org>
365
366         * m4/strcase.m4 (gl_FUNC_STRNCASECMP): Check whether strncasecmp is
367         already declared in <string.h>.
368         * lib/strcase.h (strncasecmp): Don't declare it if yes.
369
370 2006-11-01  Bruno Haible  <bruno@clisp.org>
371
372         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Don't define strcasecmp here.
373         * lib/strcase.h: Include <string.h>.
374         (strcasecmp): Define to rpl_strcasecmp here.
375
376 2006-11-01  Bruno Haible  <bruno@clisp.org>
377
378         * lib/printf-parse.c (PRINTF_PARSE): Cast malloc/realloc results.
379
380 2006-11-01  Eric Blake  <ebb9@byu.net>
381
382         * lib/mkstemp-safer.c (mkstemp_safer): Allow C++ compilation.
383
384         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Allow C++ configuration.
385
386 2006-10-29  Bruno Haible  <bruno@clisp.org>
387
388         Make it compile in C++ mode.
389         * lib/full-write.c (full_rw): Add a cast.
390
391 2006-11-01  Bruno Haible  <bruno@clisp.org>
392
393         * gnulib-tool (func_get_automake_snippet): Change sed_combine_lines to
394         be POSIX compliant.
395         Reported by Roger Persson <perrog@gmail.com>.
396
397 2006-11-01  Eric Blake  <ebb9@byu.net>
398
399         * lib/getopt_.h: Fix comments.
400
401 2006-10-31  Eric Blake  <ebb9@byu.net>
402
403         * modules/tmpdir (Depends-on): Add sys_stat.
404         * modules/mkdtemp (Depends-on): Add tempname, drop unistd.
405         * lib/mkdtemp.c (gen_tempname): Remove; tempname covers this.
406         * lib/tmpdir.c (S_ISDIR): Simplify, thanks to sys_stat.
407         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Simplify, thanks to
408         tempname.
409
410 2006-10-31  Paul Eggert  <eggert@cs.ucla.edu>
411
412         Avoid some C++ diagnostics reported by Bruno Haible.
413         * lib/quotearg.c (clone_quoting_options): Use xmemdup rather than
414         xmalloc.
415         (quotearg_alloc): Use xcharalloc rather than xmalloc.
416         (struct slotvec): Move to top level.
417         (quotearg_n_options): Rewrite to avoid xmalloc.
418         * lib/xalloc.h (xcharalloc): New function.
419         * (xrealloc, xnrealloc, x2realloc, x2nrealloc, xmemdup):
420         [defined __cplusplus]: Add function template that provides result
421         type propagation.  This part of the change is from Bruno Haible.
422
423 2006-10-29  Bruno Haible  <bruno@clisp.org>
424
425         Make it compile in C++ mode.
426         * lib/striconv.c (mem_cd_iconv): Cast malloc/realloc result.
427         * lib/strnlen1.c (strnlen1): Cast memchr result.
428         * lib/mbchar.h (mb_copy): Rename arguments to 'new_mbc', 'old_mbc'.
429         * lib/clean-temp.c (string_equals, string_hash): Add casts.
430         (create_temp_dir): Rename local variable 'template'.
431         (compile_csharp_using_sscli): Add cast.
432         * lib/fatal-signal.c (at_fatal_signal): Cast xmalloc result.
433         * lib/findprog.c (find_in_path): Likewise.
434         * lib/linebreak.c (mbs_width_linebreaks): Cast malloc result.
435         * lib/wait-process.c (register_slave_subprocess): Likewise.
436
437 2006-10-22  Bruno Haible  <bruno@clisp.org>
438
439         * modules/tsearch: New file.
440         * lib/tsearch.h: New file.
441         * lib/tsearch.c: New file, from glibc-2.5 with small modifications.
442         * m4/tsearch.m4: New file.
443         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add tsearch.
444
445 2006-10-29  Eric Blake  <ebb9@byu.net>
446
447         * lib/arcfour.c: Assume config.h.
448         * lib/arctwo.c: Likewise.
449         * lib/base64.c: Likewise.
450         * lib/check-version.c: Likewise.
451         * lib/crc.c: Likewise.
452         * lib/des.c: Likewise.
453         * lib/gc-gnulib.c: Likewise.
454         * lib/gc-libgcrypt.c: Likewise.
455         * lib/gc-pbkdf2-sha1.c: Likewise.
456         * lib/getaddrinfo.c: Likewise.
457         * lib/getdelim.c: Likewise.
458         * lib/getline.c: Likewise.
459         * lib/hmac-md5.c: Likewise.
460         * lib/hmac-sha1.c: Likewise.
461         * lib/iconvme.c: Likewise.
462         * lib/md2.c: Likewise.
463         * lib/md4.c: Likewise.
464         * lib/memxor.c: Likewise.
465         * lib/read-file.c: Likewise.
466         * lib/readline.c: Likewise.
467         * lib/rijndael-alg-fst.c: Likewise.
468         * lib/rijndael-api-fst.c: Likewise.
469         * lib/xgetdomainname.c: Likewise.
470
471 2006-10-28  Eric Blake  <ebb9@byu.net>
472
473         * lib/xstrndup.c: Assume config.h.
474
475 2006-10-27  Paul Eggert  <eggert@cs.ucla.edu>
476
477         Move stat.h-substitute stuff from lib/stat-macros.h to lib/stat_.h.
478         stat-macros.h is now for our own macros, whereas stat_h is for
479         macros in the <sys/stat.h> name space.
480         * lib/stat-macros.h: Remove copyright notice, as this file is now tiny.
481         (STAT_MACROS_H): Remove.
482         (S_IFMT, S_ISBLK, S_ISCHR, S_ISDIR, S_ISFIFO, S_ISLNK, S_ISNAM):
483         (S_ISMPB, S_ISMPC, S_ISNWK, S_ISREG, S_ISSOCK, S_ISDOOR, S_ISPORT):
484         (S_TYPEISMQ, S_TYPEISTMO, S_TYPEISSEM, S_TYPEISSHM, S_ISCTG, S_ISOFD):
485         (S_ISOFL, S_ISWHT, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IRGRP):
486         (S_IROTH, S_IWUSR, S_IWGRP, S_IWOTH, S_IXUSR, S_IXGRP, S_IXOTH):
487         (S_IRWXU, S_IRWXG, S_IRWXO, S_IXUGO, S_IRWXUGO):
488         Move these macros to ...
489         * lib/stat_.h: here.  Don't include stat-macros.h.
490         * lib/canonicalize.c: Don't include stat-macros.h.
491         * lib/chown.c: Likewise.
492         * lib/euidaccess.c: Likewise.
493         * lib/file-type.c: Likewise.
494         * lib/filemode.c: Likewise.
495         * lib/glob.c: Likewise.
496         * lib/isapipe.c: Likewise.
497         * lib/lchown.c: Likewise.
498         * lib/lstat.c: Likewise.
499         * lib/mkdir-p.c: Likewise.
500         * lib/rmdir.c: Likewise.
501         * m4/lchown.m4 (gl_FUNC_LCHOWN): Don't require gl_STAT_MACROS.
502         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Don't check for io.h
503         unless mkdir isn't declared, to speed up 'configure'.
504         Always create sys/stat.h, since it's unlikely any real sys/stat.h
505         would define all the S_* symbols.
506         * modules/canonicalize (Depends-on):
507         Depend on sys_stat, not stat-macros.
508         * modules/chown: Likewise.
509         * modules/euidaccess: Likewise.
510         * modules/filemode: Likewise.
511         * modules/file-type: Likewise.
512         * modules/glob: Likewise.
513         * modules/isapipe: Likewise.
514         * modules/lchown: Likewise.
515         * modules/lstat: Likewise.
516         * modules/mkancesdirs: Likewise.
517         * modules/rmdir: Likewise.
518         * modules/mkdir-p (Depends-on): Also depend on sys_stat.
519         * modules/modechange: Likewise.
520         * modules/stat-macros (Files): Remove m4/stat-macros.m4.
521         (configure.ac): Remove gl_STAT_MACROS.
522         * modules/sys_stat (Depends-on): Remove stat-macros.
523
524 2006-10-27  Bruno Haible  <bruno@clisp.org>
525
526         * m4/signed.m4: Remove file.
527         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS_: Remove bh_C_SIGNED
528         invocation.
529         * modules/vasnprintf (Files): Remove m4/signed.m4.
530
531 2006-10-27  Bruno Haible  <bruno@clisp.org>
532
533         Update to GNU gettext 0.16.
534         * modules/gettext (Files): Add m4/intl.m4, m4/intldir.m4. Remove
535         m4/inttypes-h.m4, m4/signed.m4.
536         * m4/gettext.m4: Update to GNU gettext 0.16.
537         * m4/intl.m4: New file, from GNU gettext.
538         * m4/intldir.m4: New file, from GNU gettext.
539         * config/srclist.txt: Update
540
541 2006-10-27  Eric Blake  <ebb9@byu.net>
542
543         * MODULES.html.sh: Document tempname.
544         * modules/mkstemp (Depends-on): Add tempname, and drop transitive
545         dependencies.
546         (Files): Move lib/tempname.c...
547         * modules/tempname: ...to this new module.
548         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Remove tempname checks.
549         (gl_PREREQ_TEMPNAME): Move...
550         * m4/tempname.m4: ...to this new file.
551         * lib/mkstemp.c (includes) [!_LIBC]: Use tempname.h.
552         * modules/sys_stat (Depends-on): Add stat-macros.
553         * lib/stat_.h (includes): Pick up stat macros.
554         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Replace <sys/stat.h>
555         if stat macros are broken.
556         * lib/tempname.c (includes): No need to include "stat-macros.h".
557         (__gen_tempname) [!_LIBC]: Expose as gen_tempname.
558         (direxists, __path_search) [!_LIBC]: Don't compile these in
559         gnulib; the tmpdir module covers that.
560         * lib/tempname.h: New file.
561
562 2006-10-26  Paul Eggert  <eggert@cs.ucla.edu>
563
564         * COPYING: Explain how gnulib-tool converts licence headers.
565         Almost all wording by Eric Blake.
566
567 2006-10-25  Paul Eggert  <eggert@cs.ucla.edu>
568
569         * lib/mbchar.h (is_basic_table): Make read-only.
570         * lib/mbchar.c (is_basic_table): Likewise.
571         Reported by John Darrington.
572
573 2006-10-25  Bruno Haible  <bruno@clisp.org>
574
575         * lib/progname.h (set_program_name): Undefine before defining.
576
577 2006-10-25  Bruno Haible  <bruno@clisp.org>
578
579         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to
580         false for non-gcc C++ compilers.
581         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
582
583 2006-10-24  Bruno Haible  <bruno@clisp.org>
584
585         * lib/striconv.c (mem_cd_iconv, str_cd_iconv): Treat all non-GNU
586         iconv implementations like Irix iconv.
587
588 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
589
590         * modules/vararrays: New file.
591         * m4/vararrays.m4: New file, taken from diffutils.
592         * MODULES.html.sh: New module vararrays.
593
594 2006-10-24  Karl Berry  <karl@gnu.org>
595
596         * doc/gnulib-intro.texi: --- instead of --; non-naive naive.
597         Don't call GNU Unix.
598
599 2006-10-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
600
601         * users.txt: Add Libtool.
602
603         Sync from Libtool:
604
605         2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
606
607         * lib/argz.c: Remove check for HAVE_CONFIG_H, to conform
608         to gnulib's policy of including config.h unconditionally.
609
610 2006-10-24  Bruno Haible  <bruno@clisp.org>
611
612         * modules/wcwidth (Files): Add m4/wint_t.m4.
613         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Require gt_TYPE_WINT_T.
614         * lib/wcwidth.h (iswprint): Use 'int' if 'wint_t' is not defined.
615
616 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
617
618         * lib/getdate.y (yyerror): Make the arguments pointer-to-const,
619         to pacify GCC with some -W flags enabled.  Problem reported by
620         Bruno Haible.
621
622 2006-10-24  Jim Meyering  <jim@meyering.net>
623
624         * MODULES.html.sh: Remove uinttostr.  It's not a module.
625         Reported by Karl Berry.
626
627 2006-10-23  Bruno Haible  <bruno@clisp.org>
628
629         * lib/fts.c (fts_build): Move variable declaration, for C89 compliance.
630
631 2006-10-24  Bruno Haible  <bruno@clisp.org>
632
633         * lib/gl_list.h: Use C comment style, not C++ comment style.
634
635 2006-10-23  Eric Blake  <ebb9@byu.net>
636
637         * lib/getaddrinfo.c (includes): Add missing include.
638
639 2006-10-23  Bruno Haible  <bruno@clisp.org>
640             Paul Eggert  <eggert@cs.ucla.edu>
641
642         Ability to rename obstack_free.
643         * lib/obstack.h (__obstack_free): New macro. Declare instead of
644         obstack_free.
645         (obstack_free): Invoke the __obstack_free macro.
646         * lib/obstack.c (obstack_free): Use __obstack_free macro.
647
648 2006-10-23  Bruno Haible  <bruno@clisp.org>
649             Paul Eggert  <eggert@cs.ucla.edu>
650
651         * lib/argp.h (argp_parse, __argp_parse): Comment out the identifiers
652         __argc, __argv from the declaration. (They are defined as macros on
653         mingw.)
654
655 2006-10-22  Bruno Haible  <bruno@clisp.org>
656
657         * doc/gnulib-intro.texi: New file.
658         * doc/gnulib.texi: Include it.
659
660 2006-10-21  Bruno Haible  <bruno@clisp.org>
661
662         * doc/gnulib.texi: Split the chapter "Gnulib" into 3 chapters
663         "Introduction", "Miscellanous Notes", "Particular Modules".
664
665 2006-10-21  Bruno Haible  <bruno@clisp.org>
666
667         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
668         Change mostlyclean-local rule to avoid sh syntax error from bash
669         versions 2.00..2.05 when $(MOSTLYCLEANDIRS) is empty.
670
671 2006-10-23  Jim Meyering  <jim@meyering.net>
672
673         * lib/getaddrinfo.c (getnameinfo): Use new lightweight uinttostr,
674         in place of snprintf.
675
676         * modules/inttostr (Files): Add lib/uinttostr.c.
677         * lib/uinttostr.c (inttostr): New file/function.
678         * lib/inttostr.h (uinttostr): Declare.
679         * m4/inttostr.m4: Add AC_LIBOBJ([uinttostr]).
680         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
681         Add uinttostr.
682         * modules/getaddrinfo (Depends-on): Remove snprintf.  Add inttostr.
683
684 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
685
686         * lib/canonicalize.c (ELOOP): Define if not already defined.
687         Problem reported by Bruno Haible in
688         <http://lists.gnu.org/archive/html/bug-gnulib/2006-10/msg00282.html>.
689
690 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
691
692         * lib/stdint_.h [defined _AIX]: Don't include <sys/types.h>.
693         Problem reported by Perry Smith and Ville Laurikari.
694
695         * lib/getndelim2.c (SSIZE_MAX): Use same defn that getdelim.c
696         uses.
697
698 2006-10-19  Bruno Haible  <bruno@clisp.org>
699
700         * lib/getndelim2.c (SSIZE_MAX): Provide fallback definition. Needed
701         for mingw.
702
703 2006-10-19  Bruno Haible  <bruno@clisp.org>
704
705         * lib/openat-priv.h (EOPNOTSUPP): Provide fallback definition.
706         Needed for mingw.
707
708 2006-10-19  Bruno Haible  <bruno@clisp.org>
709
710         * m4/size_max.m4 (gl_SIZE_MAX): Cache the result.
711
712 2006-10-19  Bruno Haible  <bruno@clisp.org>
713
714         * m4/allocsa.m4 (gl_ALLOCSA): Invoke gl_FUNC_ALLOCA, don't AC_REQUIRE
715         it.
716
717 2006-10-19  Bruno Haible  <bruno@clisp.org>
718
719         * m4/alloca.m4 (gl_FUNC_ALLOCA): Cache the result of the AC_EGREP_CPP
720         invocation.
721
722 2006-10-19  Bruno Haible  <bruno@clisp.org>
723
724         * gnulib-tool (func_create_testdir): Don't include ftruncate and
725         mountlist by default.
726
727 2006-10-16  Bruno Haible  <bruno@clisp.org>
728
729         * lib/c-strstr.c: Include c-strstr.h.
730
731 2006-10-18  Charles Wilson  <cygwin@cwilson.fastmail.fm>
732
733         * gnulib-tool: Don't clobber $sourcebase when $local_gnulib_dir ends
734         in a slash.
735
736 2006-10-18  Bruno Haible  <bruno@clisp.org>
737
738         * lib/lock.h [C++]: Wrap definitions in extern "C".
739
740 2006-10-18  Bruno Haible  <bruno@clisp.org>
741
742         * gnulib-tool (func_emit_initmacro_end): Remove duplicates from the
743         gl_LIBOBJS list.
744
745 2006-10-18  Bruno Haible  <bruno@clisp.org>
746
747         * lib/findprog.c (find_in_path): Avoid "gcc -Wwrite-strings" warning.
748
749 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>
750
751         * lib/xstrtol.h: Include gettext.h.
752         (_STRTOL_ERROR): Wrap English-language formats inside gettext.
753         Problem reported by Eric Blake.
754         * modules/xstrtol (Depends-on): Add gettext-h.
755
756 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>  (tiny change)
757
758         * lib/strftime.c (advance): New macro.
759         (add): Use it to avoid adding 0 to a FILE *.  FILE can be an
760         incomplete type, so you can't add 0 to it.  Problem and patch
761         reported by Eelco Dolstra for dietlibc.
762
763 2006-10-18  Jim Meyering  <jim@meyering.net>
764
765         * lib/readutmp.c (desirable_utmp_entry): Use "bool" as the
766         type for a local, and rename it: s/up/user_proc/.
767
768 2006-10-18  Sergey Poznyakoff  <gray@gnu.org.ua>
769
770         * lib/readutmp.c (desirable_utmp_entry): Implement new flag:
771         READ_UTMP_USER_PROCESS.
772         * lib/readutmp.h (READ_UTMP_USER_PROCESS): New flag
773
774 2006-10-17  Paul Eggert  <eggert@cs.ucla.edu>
775
776         * lib/localcharset.c: Do not check HAVE_SETLOCALE.
777         * m4/localcharset.m4 (gl_LOCALCHARSET): Don't check for setlocale.
778
779 2006-10-17  Eric Blake  <ebb9@byu.net>
780
781         * lib/sigprocmask.c (sigprocmask): Fix typo.
782
783         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Fix typo.
784
785         * modules/clean-temp (Makefile.am): Don't add to make output...
786         (configure.ac): ...instead define SIGNAL_SAFE_LIST inside
787         config.h.
788
789 2006-10-17  Bruno Haible  <bruno@clisp.org>
790
791         * lib/gettext.h (gettext, ngettext, pgettext, npgettext): Define
792         differently if DEFAULT_TEXT_DOMAIN is set.
793
794 2006-10-16  Bruno Haible  <bruno@clisp.org>
795
796         * lib/clean-temp.c: Include fwriteerror.h.
797
798 2006-10-16  Bruno Haible  <bruno@clisp.org>
799
800         * getndelim2.m4 (gl_GETNDELIM2): Remove 2003-10-23 hack.
801
802 2006-10-16  Bruno Haible  <bruno@clisp.org>
803
804         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Also test for sigset_t.
805         * lib/sigprocmask.h: Include <sys/types.h>.
806         (sigset_t): Use the system's definition if present.
807
808 2006-10-17  Eric Blake  <ebb9@byu.net>
809
810         * lib/xvasprintf.c (includes): Assume config.h.
811         * lib/xasprintf.c (includes): Likewise.
812
813 2006-10-16  Paul Eggert  <eggert@cs.ucla.edu>
814
815         * lib/fsusage.c (PROPAGATE_ALL_ONES): Don't assume uintmax_t is
816         at least as wide as intmax_t.
817
818 2006-10-16  Alexandre Duret-Lutz  <adl@gnu.org>
819
820         (Imported from Automake.)
821         * build-aux/gnupload: Update to version 1.1 of directive file.
822
823 2006-10-16  Eric Blake  <ebb9@byu.net>
824
825         * modules/configmake (Makefile.am): Add pkglibexecdir support, to
826         match Automake 1.10a.
827
828 2006-10-14  Bruno Haible  <bruno@clisp.org>
829
830         * modules/sigprocmask: New file.
831         * lib/sigprocmask.h: New file.
832         * lib/sigprocmask.c: New file.
833         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Renamed from
834         gt_SIGNALBLOCKING. When not defining HAVE_POSIX_SIGNALBLOCKING,
835         request sigprocmask.o.
836         (gl_PREREQ_SIGPROCMASK): New macro.
837         * modules/fatal-signal (Files): Remove m4/signalblocking.m4.
838         (Depends-on): Add sigprocmask.
839         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Don't require
840         gt_SIGNALBLOCKING. Test for 'raise' only once.
841         * lib/fatal-signal.c: Include sigprocmask.h.
842         (fatal_signal_set, init_fatal_signal_set, block_fatal_signals,
843         unblock_fatal_signals): Define always.
844         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
845         sigprocmask.
846
847 2006-10-14  Paul Eggert  <eggert@cs.ucla.edu>
848
849         Sync from Automake.
850         * build-aux/install-sh (posix_mkdir): Reject FreeBSD 6.1 mkdir -p -m,
851         which incorrectly sets the mode of an existing destination
852         directory.  In some cases the unpatched install-sh could do the
853         equivalent of "chmod 777 /" or "chmod 0 /" on a buggy FreeBSD
854         system.  We hope this is rare in practice, but it's clearly worth
855         fixing.  Problem reported by Alex Unleashed in
856         <http://lists.gnu.org/archive/html/bug-autoconf/2006-10/msg00012.html>.
857         Also, don't bother to check for -m bugs unless we're using -m;
858         suggested by Stepan Kasal.
859
860 2006-10-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
861
862         Sync from Automake.
863         * build-aux/depcomp (gcc3): Put dependency extraction flags before the
864         `-c' flag, so they appear at the same position as in %FASTDEP%
865         mode in depend2.am.  Fixes build failure for FreeBSD's c89,
866         which ignores unknown options only after the first non-option.
867         Bug report against M4 by Nelson H. F. Beebe.
868
869 2006-10-13  Jim Meyering  <jim@meyering.net>
870
871         Fix a bug in yesterday's change.
872         * lib/fts.c (fts_open): When using FTS_XDEV|FTS_NOSTAT,
873         p->fts_statp->st_dev would be used uninitialized.
874         Ensures that we always call fts_stat on the very first entry.
875         Miklos Szeredi reported that find -xdev stopped working.
876
877 2006-10-12  Bruno Haible  <bruno@clisp.org>
878
879         * gnulib-tool (func_get_automake_snippet): Append an automatically
880         computed EXTRA_DIST augmentation.
881         * modules/acl (Makefile.am): Remove EXTRA_DIST augmentation.
882         * modules/alloca-opt (Makefile.am): Likewise.
883         * modules/allocsa (Makefile.am): Likewise.
884         * modules/arcfour (Makefile.am): Likewise.
885         * modules/arctwo (Makefile.am): Likewise.
886         * modules/argmatch (Makefile.am): Likewise.
887         * modules/argz (Makefile.am): Likewise.
888         * modules/atexit (Makefile.am): Likewise.
889         * modules/backupfile (Makefile.am): Likewise.
890         * modules/byteswap (Makefile.am): Likewise.
891         * modules/c-strtod (Makefile.am): Likewise.
892         * modules/c-strtold (Makefile.am): Likewise.
893         * modules/calloc (Makefile.am): Likewise.
894         * modules/canon-host (Makefile.am): Likewise.
895         * modules/canonicalize (Makefile.am): Likewise.
896         * modules/chdir-long (Makefile.am): Likewise.
897         * modules/chdir-safer (Makefile.am): Likewise.
898         * modules/check-version (Makefile.am): Likewise.
899         * modules/chown (Makefile.am): Likewise.
900         * modules/cloexec (Makefile.am): Likewise.
901         * modules/close-stream (Makefile.am): Likewise.
902         * modules/closeout (Makefile.am): Likewise.
903         * modules/crc (Makefile.am): Likewise.
904         * modules/csharpexec (Makefile.am): Likewise.
905         * modules/cycle-check (Makefile.am): Likewise.
906         * modules/des (Makefile.am): Likewise.
907         * modules/dev-ino (Makefile.am): Likewise.
908         * modules/dirfd (Makefile.am): Likewise.
909         * modules/dirname (Makefile.am): Likewise.
910         * modules/dup2 (Makefile.am): Likewise.
911         * modules/eealloc (Makefile.am): Likewise.
912         * modules/error (Makefile.am): Likewise.
913         * modules/euidaccess (Makefile.am): Likewise.
914         * modules/exclude (Makefile.am): Likewise.
915         * modules/exitfail (Makefile.am): Likewise.
916         * modules/fcntl-safer (Makefile.am): Likewise.
917         * modules/fcntl (Makefile.am): Likewise.
918         * modules/file-type (Makefile.am): Likewise.
919         * modules/fileblocks (Makefile.am): Likewise.
920         * modules/filemode (Makefile.am): Likewise.
921         * modules/filenamecat (Makefile.am): Likewise.
922         * modules/fnmatch (Makefile.am): Likewise.
923         * modules/fopen-safer (Makefile.am): Likewise.
924         * modules/fpending (Makefile.am): Likewise.
925         * modules/fprintftime (Makefile.am): Likewise.
926         * modules/free (Makefile.am): Likewise.
927         * modules/fsusage (Makefile.am): Likewise.
928         * modules/ftruncate (Makefile.am): Likewise.
929         * modules/fts (Makefile.am): Likewise.
930         * modules/gc-arcfour (Makefile.am): Likewise.
931         * modules/gc-des (Makefile.am): Likewise.
932         * modules/gc-hmac-md5 (Makefile.am): Likewise.
933         * modules/gc-hmac-sha1 (Makefile.am): Likewise.
934         * modules/gc-md4 (Makefile.am): Likewise.
935         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
936         * modules/gc-sha1 (Makefile.am): Likewise.
937         * modules/gc (Makefile.am): Likewise.
938         * modules/getaddrinfo (Makefile.am): Likewise.
939         * modules/getcwd (Makefile.am): Likewise.
940         * modules/getdelim (Makefile.am): Likewise.
941         * modules/getdomainname (Makefile.am): Likewise.
942         * modules/getgroups (Makefile.am): Likewise.
943         * modules/gethostname (Makefile.am): Likewise.
944         * modules/gethrxtime (Makefile.am): Likewise.
945         * modules/getline (Makefile.am): Likewise.
946         * modules/getloadavg (Makefile.am): Likewise.
947         * modules/getlogin_r (Makefile.am): Likewise.
948         * modules/getndelim2 (Makefile.am): Likewise.
949         * modules/getopt (Makefile.am): Likewise.
950         * modules/getpagesize (Makefile.am): Likewise.
951         * modules/getpass-gnu (Makefile.am): Likewise.
952         * modules/getpass (Makefile.am): Likewise.
953         * modules/getsubopt (Makefile.am): Likewise.
954         * modules/gettime (Makefile.am): Likewise.
955         * modules/gettimeofday (Makefile.am): Likewise.
956         * modules/getugroups (Makefile.am): Likewise.
957         * modules/getusershell (Makefile.am): Likewise.
958         * modules/glob (Makefile.am): Likewise.
959         * modules/group-member (Makefile.am): Likewise.
960         * modules/hard-locale (Makefile.am): Likewise.
961         * modules/hash (Makefile.am): Likewise.
962         * modules/hmac-md5 (Makefile.am): Likewise.
963         * modules/hmac-sha1 (Makefile.am): Likewise.
964         * modules/human (Makefile.am): Likewise.
965         * modules/idcache (Makefile.am): Likewise.
966         * modules/imaxabs (Makefile.am): Likewise.
967         * modules/imaxdiv (Makefile.am): Likewise.
968         * modules/inet_ntop (Makefile.am): Likewise.
969         * modules/inet_pton (Makefile.am): Likewise.
970         * modules/intprops (Makefile.am): Likewise.
971         * modules/inttostr (Makefile.am): Likewise.
972         * modules/inttypes (Makefile.am): Likewise.
973         * modules/isapipe (Makefile.am): Likewise.
974         * modules/javaversion (Makefile.am): Likewise.
975         * modules/lchmod (Makefile.am): Likewise.
976         * modules/lchown (Makefile.am): Likewise.
977         * modules/localcharset (Makefile.am): Likewise.
978         * modules/long-options (Makefile.am): Likewise.
979         * modules/lstat (Makefile.am): Likewise.
980         * modules/malloc (Makefile.am): Likewise.
981         * modules/mathl (Makefile.am): Likewise.
982         * modules/mbchar (Makefile.am): Likewise.
983         * modules/md2 (Makefile.am): Likewise.
984         * modules/md4 (Makefile.am): Likewise.
985         * modules/md5 (Makefile.am): Likewise.
986         * modules/memcasecmp (Makefile.am): Likewise.
987         * modules/memchr (Makefile.am): Likewise.
988         * modules/memcmp (Makefile.am): Likewise.
989         * modules/memcoll (Makefile.am): Likewise.
990         * modules/memcpy (Makefile.am): Likewise.
991         * modules/memmem (Makefile.am): Likewise.
992         * modules/memmove (Makefile.am): Likewise.
993         * modules/mempcpy (Makefile.am): Likewise.
994         * modules/memrchr (Makefile.am): Likewise.
995         * modules/memset (Makefile.am): Likewise.
996         * modules/memxor (Makefile.am): Likewise.
997         * modules/mkancesdirs (Makefile.am): Likewise.
998         * modules/mkdir-p (Makefile.am): Likewise.
999         * modules/mkdir (Makefile.am): Likewise.
1000         * modules/mkdtemp (Makefile.am): Likewise.
1001         * modules/mkstemp (Makefile.am): Likewise.
1002         * modules/mktime (Makefile.am): Likewise.
1003         * modules/modechange (Makefile.am): Likewise.
1004         * modules/mountlist (Makefile.am): Likewise.
1005         * modules/nanosleep (Makefile.am): Likewise.
1006         * modules/obstack (Makefile.am): Likewise.
1007         * modules/openat (Makefile.am): Likewise.
1008         * modules/pagealign_alloc (Makefile.am): Likewise.
1009         * modules/pathmax (Makefile.am): Likewise.
1010         * modules/physmem (Makefile.am): Likewise.
1011         * modules/poll (Makefile.am): Likewise.
1012         * modules/posixtm (Makefile.am): Likewise.
1013         * modules/posixver (Makefile.am): Likewise.
1014         * modules/putenv (Makefile.am): Likewise.
1015         * modules/quote (Makefile.am): Likewise.
1016         * modules/quotearg (Makefile.am): Likewise.
1017         * modules/raise (Makefile.am): Likewise.
1018         * modules/read-file (Makefile.am): Likewise.
1019         * modules/readline (Makefile.am): Likewise.
1020         * modules/readlink (Makefile.am): Likewise.
1021         * modules/readtokens (Makefile.am): Likewise.
1022         * modules/readutmp (Makefile.am): Likewise.
1023         * modules/realloc (Makefile.am): Likewise.
1024         * modules/regex (Makefile.am): Likewise.
1025         * modules/rename-dest-slash (Makefile.am): Likewise.
1026         * modules/rename (Makefile.am): Likewise.
1027         * modules/rijndael (Makefile.am): Likewise.
1028         * modules/rmdir (Makefile.am): Likewise.
1029         * modules/rpmatch (Makefile.am): Likewise.
1030         * modules/safe-read (Makefile.am): Likewise.
1031         * modules/safe-write (Makefile.am): Likewise.
1032         * modules/same-inode (Makefile.am): Likewise.
1033         * modules/same (Makefile.am): Likewise.
1034         * modules/save-cwd (Makefile.am): Likewise.
1035         * modules/savedir (Makefile.am): Likewise.
1036         * modules/setenv (Makefile.am): Likewise.
1037         * modules/settime (Makefile.am): Likewise.
1038         * modules/sha1 (Makefile.am): Likewise.
1039         * modules/sig2str (Makefile.am): Likewise.
1040         * modules/snprintf (Makefile.am): Likewise.
1041         * modules/stat-macros (Makefile.am): Likewise.
1042         * modules/stat-time (Makefile.am): Likewise.
1043         * modules/stdbool (Makefile.am): Likewise.
1044         * modules/stdint (Makefile.am): Likewise.
1045         * modules/stdlib-safer (Makefile.am): Likewise.
1046         * modules/stpcpy (Makefile.am): Likewise.
1047         * modules/stpncpy (Makefile.am): Likewise.
1048         * modules/strcase (Makefile.am): Likewise.
1049         * modules/strcasestr (Makefile.am): Likewise.
1050         * modules/strchrnul (Makefile.am): Likewise.
1051         * modules/strcspn (Makefile.am): Likewise.
1052         * modules/strdup (Makefile.am): Likewise.
1053         * modules/strerror (Makefile.am): Likewise.
1054         * modules/strftime (Makefile.am): Likewise.
1055         * modules/strndup (Makefile.am): Likewise.
1056         * modules/strnlen (Makefile.am): Likewise.
1057         * modules/strpbrk (Makefile.am): Likewise.
1058         * modules/strsep (Makefile.am): Likewise.
1059         * modules/strstr (Makefile.am): Likewise.
1060         * modules/strtod (Makefile.am): Likewise.
1061         * modules/strtoimax (Makefile.am): Likewise.
1062         * modules/strtok_r (Makefile.am): Likewise.
1063         * modules/strtol (Makefile.am): Likewise.
1064         * modules/strtoll (Makefile.am): Likewise.
1065         * modules/strtoul (Makefile.am): Likewise.
1066         * modules/strtoull (Makefile.am): Likewise.
1067         * modules/strtoumax (Makefile.am): Likewise.
1068         * modules/strverscmp (Makefile.am): Likewise.
1069         * modules/sys_socket (Makefile.am): Likewise.
1070         * modules/sys_stat (Makefile.am): Likewise.
1071         * modules/sysexits (Makefile.am): Likewise.
1072         * modules/time_r (Makefile.am): Likewise.
1073         * modules/timegm (Makefile.am): Likewise.
1074         * modules/timespec (Makefile.am): Likewise.
1075         * modules/tmpfile-safer (Makefile.am): Likewise.
1076         * modules/trim (Makefile.am): Likewise.
1077         * modules/unistd-safer (Makefile.am): Likewise.
1078         * modules/unlinkdir (Makefile.am): Likewise.
1079         * modules/unlocked-io (Makefile.am): Likewise.
1080         * modules/userspec (Makefile.am): Likewise.
1081         * modules/utime (Makefile.am): Likewise.
1082         * modules/utimecmp (Makefile.am): Likewise.
1083         * modules/utimens (Makefile.am): Likewise.
1084         * modules/vasnprintf (Makefile.am): Likewise.
1085         * modules/vasprintf (Makefile.am): Likewise.
1086         * modules/vsnprintf (Makefile.am): Likewise.
1087         * modules/xalloc (Makefile.am): Likewise.
1088         * modules/xgetcwd (Makefile.am): Likewise.
1089         * modules/xnanosleep (Makefile.am): Likewise.
1090         * modules/xreadlink (Makefile.am): Likewise.
1091         * modules/xstrtod (Makefile.am): Likewise.
1092         * modules/xstrtol (Makefile.am): Likewise.
1093         * modules/xstrtold (Makefile.am): Likewise.
1094         * modules/yesno (Makefile.am): Likewise.
1095         * modules/getdate (Makefile.am): Don't add getdate.h to EXTRA_DIST.
1096
1097 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
1098
1099         * modules/error (Makefile.am): Distribute files through
1100         EXTRA_DIST, not lib_SOURCES.
1101
1102 2006-10-12  Eric Blake  <ebb9@byu.net>
1103
1104         * modules/error (Makefile.am): Distribute files in /lib.
1105         * modules/obstack (Makefile.am): Likewise.
1106
1107 2006-10-12  Bruno Haible  <bruno@clisp.org>
1108
1109         * modules/acl (Makefile.am): Distribute all files in lib/ through
1110         EXTRA_DIST.
1111         * modules/arcfour (Makefile.am): Likewise.
1112         * modules/arctwo (Makefile.am): Likewise.
1113         * modules/argmatch (Makefile.am): Likewise.
1114         * modules/argz (Makefile.am): Likewise.
1115         * modules/atexit (Makefile.am): Likewise.
1116         * modules/backupfile (Makefile.am): Likewise.
1117         * modules/c-strtod (Makefile.am): Likewise.
1118         * modules/c-strtold (Makefile.am): Likewise.
1119         * modules/calloc (Makefile.am): Likewise.
1120         * modules/canon-host (Makefile.am): Likewise.
1121         * modules/canonicalize (Makefile.am): Likewise.
1122         * modules/chdir-long (Makefile.am): Likewise.
1123         * modules/chdir-safer (Makefile.am): Likewise.
1124         * modules/check-version (Makefile.am): Likewise.
1125         * modules/chown (Makefile.am): Likewise.
1126         * modules/cloexec (Makefile.am): Likewise.
1127         * modules/close-stream (Makefile.am): Likewise.
1128         * modules/closeout (Makefile.am): Likewise.
1129         * modules/crc (Makefile.am): Likewise.
1130         * modules/cycle-check (Makefile.am): Likewise.
1131         * modules/des (Makefile.am): Likewise.
1132         * modules/dirfd (Makefile.am): Likewise.
1133         * modules/dirname (Makefile.am): Likewise.
1134         * modules/dup2 (Makefile.am): Likewise.
1135         * modules/euidaccess (Makefile.am): Likewise.
1136         * modules/exclude (Makefile.am): Likewise.
1137         * modules/exitfail (Makefile.am): Likewise.
1138         * modules/fcntl-safer (Makefile.am): Likewise.
1139         * modules/file-type (Makefile.am): Likewise.
1140         * modules/fileblocks (Makefile.am): Likewise.
1141         * modules/filemode (Makefile.am): Likewise.
1142         * modules/filenamecat (Makefile.am): Likewise.
1143         * modules/fnmatch (Makefile.am): Likewise.
1144         * modules/fopen-safer (Makefile.am): Likewise.
1145         * modules/fpending (Makefile.am): Likewise.
1146         * modules/fprintftime (Makefile.am): Likewise.
1147         * modules/free (Makefile.am): Likewise.
1148         * modules/fsusage (Makefile.am): Likewise.
1149         * modules/ftruncate (Makefile.am): Likewise.
1150         * modules/fts (Makefile.am): Likewise.
1151         * modules/gc (Makefile.am): Likewise.
1152         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
1153         * modules/getaddrinfo (Makefile.am): Likewise.
1154         * modules/getcwd (Makefile.am): Likewise.
1155         * modules/getdelim (Makefile.am): Likewise.
1156         * modules/getdomainname (Makefile.am): Likewise.
1157         * modules/getgroups (Makefile.am): Likewise.
1158         * modules/gethostname (Makefile.am): Likewise.
1159         * modules/gethrxtime (Makefile.am): Likewise.
1160         * modules/getline (Makefile.am): Likewise.
1161         * modules/getloadavg (Makefile.am): Likewise.
1162         * modules/getlogin_r (Makefile.am): Likewise.
1163         * modules/getopt (Makefile.am): Likewise.
1164         * modules/getpass (Makefile.am): Likewise.
1165         * modules/getpass-gnu (Makefile.am): Likewise.
1166         * modules/getsubopt (Makefile.am): Likewise.
1167         * modules/gettime (Makefile.am): Likewise.
1168         * modules/gettimeofday (Makefile.am): Likewise.
1169         * modules/getugroups (Makefile.am): Likewise.
1170         * modules/getusershell (Makefile.am): Likewise.
1171         * modules/glob (Makefile.am): Likewise.
1172         * modules/group-member (Makefile.am): Likewise.
1173         * modules/hard-locale (Makefile.am): Likewise.
1174         * modules/hash (Makefile.am): Likewise.
1175         * modules/hmac-md5 (Makefile.am): Likewise.
1176         * modules/hmac-sha1 (Makefile.am): Likewise.
1177         * modules/human (Makefile.am): Likewise.
1178         * modules/idcache (Makefile.am): Likewise.
1179         * modules/imaxabs (Makefile.am): Likewise.
1180         * modules/imaxdiv (Makefile.am): Likewise.
1181         * modules/inet_ntop (Makefile.am): Likewise.
1182         * modules/inet_pton (Makefile.am): Likewise.
1183         * modules/inttostr (Makefile.am): Likewise.
1184         * modules/isapipe (Makefile.am): Likewise.
1185         * modules/lchown (Makefile.am): Likewise.
1186         * modules/long-options (Makefile.am): Likewise.
1187         * modules/lstat (Makefile.am): Likewise.
1188         * modules/malloc (Makefile.am): Likewise.
1189         * modules/mathl (Makefile.am): Likewise.
1190         * modules/mbchar (Makefile.am): Likewise.
1191         * modules/md2 (Makefile.am): Likewise.
1192         * modules/md4 (Makefile.am): Likewise.
1193         * modules/md5 (Makefile.am): Likewise.
1194         * modules/memcasecmp (Makefile.am): Likewise.
1195         * modules/memchr (Makefile.am): Likewise.
1196         * modules/memcmp (Makefile.am): Likewise.
1197         * modules/memcoll (Makefile.am): Likewise.
1198         * modules/memcpy (Makefile.am): Likewise.
1199         * modules/memmem (Makefile.am): Likewise.
1200         * modules/memmove (Makefile.am): Likewise.
1201         * modules/mempcpy (Makefile.am): Likewise.
1202         * modules/memrchr (Makefile.am): Likewise.
1203         * modules/memset (Makefile.am): Likewise.
1204         * modules/memxor (Makefile.am): Likewise.
1205         * modules/mkancesdirs (Makefile.am): Likewise.
1206         * modules/mkdir (Makefile.am): Likewise.
1207         * modules/mkdir-p (Makefile.am): Likewise.
1208         * modules/mkdtemp (Makefile.am): Likewise.
1209         * modules/mkstemp (Makefile.am): Likewise.
1210         * modules/mktime (Makefile.am): Likewise.
1211         * modules/modechange (Makefile.am): Likewise.
1212         * modules/mountlist (Makefile.am): Likewise.
1213         * modules/nanosleep (Makefile.am): Likewise.
1214         * modules/openat (Makefile.am): Likewise.
1215         * modules/pagealign_alloc (Makefile.am): Likewise.
1216         * modules/physmem (Makefile.am): Likewise.
1217         * modules/poll (Makefile.am): Likewise.
1218         * modules/posixtm (Makefile.am): Likewise.
1219         * modules/posixver (Makefile.am): Likewise.
1220         * modules/putenv (Makefile.am): Likewise.
1221         * modules/quote (Makefile.am): Likewise.
1222         * modules/quotearg (Makefile.am): Likewise.
1223         * modules/raise (Makefile.am): Likewise.
1224         * modules/read-file (Makefile.am): Likewise.
1225         * modules/readline (Makefile.am): Likewise.
1226         * modules/readlink (Makefile.am): Likewise.
1227         * modules/readtokens (Makefile.am): Likewise.
1228         * modules/readutmp (Makefile.am): Likewise.
1229         * modules/realloc (Makefile.am): Likewise.
1230         * modules/regex (Makefile.am): Likewise.
1231         * modules/rename (Makefile.am): Likewise.
1232         * modules/rename-dest-slash (Makefile.am): Likewise.
1233         * modules/rijndael (Makefile.am): Likewise.
1234         * modules/rmdir (Makefile.am): Likewise.
1235         * modules/rpmatch (Makefile.am): Likewise.
1236         * modules/safe-read (Makefile.am): Likewise.
1237         * modules/safe-write (Makefile.am): Likewise.
1238         * modules/same (Makefile.am): Likewise.
1239         * modules/save-cwd (Makefile.am): Likewise.
1240         * modules/savedir (Makefile.am): Likewise.
1241         * modules/setenv (Makefile.am): Likewise.
1242         * modules/settime (Makefile.am): Likewise.
1243         * modules/sha1 (Makefile.am): Likewise.
1244         * modules/sig2str (Makefile.am): Likewise.
1245         * modules/snprintf (Makefile.am): Likewise.
1246         * modules/stdlib-safer (Makefile.am): Likewise.
1247         * modules/stpcpy (Makefile.am): Likewise.
1248         * modules/stpncpy (Makefile.am): Likewise.
1249         * modules/strcase (Makefile.am): Likewise.
1250         * modules/strcasestr (Makefile.am): Likewise.
1251         * modules/strchrnul (Makefile.am): Likewise.
1252         * modules/strcspn (Makefile.am): Likewise.
1253         * modules/strdup (Makefile.am): Likewise.
1254         * modules/strerror (Makefile.am): Likewise.
1255         * modules/strftime (Makefile.am): Likewise.
1256         * modules/strndup (Makefile.am): Likewise.
1257         * modules/strnlen (Makefile.am): Likewise.
1258         * modules/strpbrk (Makefile.am): Likewise.
1259         * modules/strsep (Makefile.am): Likewise.
1260         * modules/strstr (Makefile.am): Likewise.
1261         * modules/strtod (Makefile.am): Likewise.
1262         * modules/strtoimax (Makefile.am): Likewise.
1263         * modules/strtok_r (Makefile.am): Likewise.
1264         * modules/strtol (Makefile.am): Likewise.
1265         * modules/strtoll (Makefile.am): Likewise.
1266         * modules/strtoul (Makefile.am): Likewise.
1267         * modules/strtoull (Makefile.am): Likewise.
1268         * modules/strtoumax (Makefile.am): Likewise.
1269         * modules/strverscmp (Makefile.am): Likewise.
1270         * modules/time_r (Makefile.am): Likewise.
1271         * modules/timegm (Makefile.am): Likewise.
1272         * modules/tmpfile-safer (Makefile.am): Likewise.
1273         * modules/unistd-safer (Makefile.am): Likewise.
1274         * modules/unlinkdir (Makefile.am): Likewise.
1275         * modules/userspec (Makefile.am): Likewise.
1276         * modules/utime (Makefile.am): Likewise.
1277         * modules/utimecmp (Makefile.am): Likewise.
1278         * modules/utimens (Makefile.am): Likewise.
1279         * modules/vasnprintf (Makefile.am): Likewise.
1280         * modules/vasprintf (Makefile.am): Likewise.
1281         * modules/vsnprintf (Makefile.am): Likewise.
1282         * modules/xalloc (Makefile.am): Likewise.
1283         * modules/xgetcwd (Makefile.am): Likewise.
1284         * modules/xnanosleep (Makefile.am): Likewise.
1285         * modules/xreadlink (Makefile.am): Likewise.
1286         * modules/xstrtod (Makefile.am): Likewise.
1287         * modules/xstrtol (Makefile.am): Likewise.
1288         * modules/xstrtold (Makefile.am): Likewise.
1289         * modules/yesno (Makefile.am): Likewise.
1290
1291 2006-10-12  Jim Meyering  <jim@meyering.net>
1292
1293         * m4/getloadavg.m4: Revert the change below.
1294
1295         * m4/getloadavg.m4 (gl_GETLOADAVG): Test for the existence of
1296         lib/getloadavg.c using "ls -L", not "test -f".  The latter would
1297         fail with a symlink, which is what coreutils' ./bootstrap now
1298         creates by default.
1299
1300 2006-10-12  Bruno Haible  <bruno@clisp.org>
1301
1302         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): Don't define for MSVC or
1303         mingw.
1304         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX): Handle
1305         MSVC and mingw explicitly.
1306
1307 2006-10-11  Simon Josefsson  <jas@extundo.com>
1308             Bruno Haible  <bruno@clisp.org>
1309
1310         Add support for multiple gnulib-tool invocations in the scope of a
1311         single configure.ac file.
1312         * gnulib-tool (func_emit_lib_Makefile_am): In the _LIBADD variable,
1313         use a private [LT]LIBOBJS variant. Define a _DEPENDENCIES variable
1314         with the same contents as the _LIBADD variable.
1315         (func_emit_initmacro_start, func_emit_initmacro_end,
1316         func_emit_initmacro_done): New functions.
1317         (func_import, func_create_testdir): Invoke them. Allow the identifiers
1318         gl_LIBOBJS and gl_LTLIBOBJS.
1319
1320 2006-10-11  Bruno Haible  <bruno@clisp.org>
1321
1322         * gnulib-tool (GETTEXTPATH, AUTOHEADER, AUTOPOINT): New variables.
1323         (func_create_testdir): Don't create po/Makefile.am, don't invoke
1324         autoreconf. Instead, invoke autopoint explicitly but move back the
1325         *.m4 files from gnulib.
1326
1327 2006-10-11  Bruno Haible  <bruno@clisp.org>
1328
1329         * gnulib-tool (func_usage): Make module names after --create-testdir
1330         optional.
1331         (func_create_testdir): If no module was specified, use nearly all
1332         modules.
1333
1334 2006-10-12  Jim Meyering  <jim@meyering.net>
1335
1336         Big performance improvement for fts-based tools that use FTS_NOSTAT.
1337         Avoid spurious inode-mismatch problems on non-POSIX file systems.
1338         Details: http://article.gmane.org/gmane.comp.lib.gnulib.bugs/7416
1339         * lib/fts_.h (FTS_DEFER_STAT): Define new flag.
1340         (FTS_OPTIONMASK): Extend the mask to reflect this addition.
1341         * lib/fts.c (DT_IS_KNOWN, DT_MUST_BE): Define.
1342         (FTS_NO_STAT_REQUIRED, FTS_STAT_REQUIRED): Define.
1343         (fts_set_stat_required): New function.
1344         (fts_open): Defer the calls to fts_stat, if possible or requested.
1345         Move the code that maps a command-line fts_info value FTS_DOT to FTS_D
1346         into fts_stat itself.
1347         (fts_read): Perform any required (deferred) fts_stat call.
1348         (fts_build): Likewise, for the directory we're about to open and read.
1349         In the readdir loop, carefully decide whether each entry will require
1350         an eventual call to fts_stat, using dirent.d_type info if available.
1351         (fts_stat): Move the test for whether to honor FTS_COMFOLLOW on
1352         a command line argument into this function.  Update all callers.
1353         Map a return value of FTS_DOT to FTS_D for a command line argument.
1354         * modules/fts (Depends-on): Add d-type.  Alphabetize.
1355         Thanks to Miklos Szeredi for his tenacity and for the initial
1356         bug report about "find" failing on a FUSE-based file system.
1357
1358         * lib/fts.c (fts_open): Use consistent indentation.
1359
1360 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
1361
1362         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Renamed from
1363         gl_USE_SYSTEM_EXTENSIONS, to fix a coreutils bootstrap failure
1364         reported by Jim Meyering.  All uses of cache variables renamed
1365         to match Autoconf's.
1366         (gl_USE_SYSTEM_EXTENSIONS): New macro, which simply requires
1367         the other one.
1368
1369         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH):
1370         Fix misspelling in diagnostic.
1371
1372 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
1373
1374         * lib/mkdir-p.c (HAVE_FCHMOD): Define to false if not already
1375         defined.  Problem reported by Matthew Woehlke.
1376
1377         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): New macro.
1378         Add support for Tandem NonStop R series.
1379         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX):
1380         Use new macro.
1381
1382         * lib/rename-dest-slash.c: Include stdbool.h but not string.h.
1383         (has_trailing_slash): Omit size arg; all callers changed.
1384         Omit 'inline', since it doesn't help performance and we'd
1385         need to configure it.
1386         Don't count //, ///, etc. as having a trailing slash.
1387         As a side effect, this removes a C99ism reported by Matthew Woehlke.
1388         (rpl_rename_dest_slash): On failure, use rename's errno rather
1389         than (in some cases) an incorrect or junk errno.
1390         Simplify code by removing need to compute length; this does
1391         cause it to make two passes instead of one over the file name,
1392         but it's worth it.
1393
1394         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Undo previous
1395         change, since Autoconf's version may no longer be appropriate now
1396         that we are using CVS Autoconf's version.  Add support for Tandem.
1397
1398 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
1399             Bruno Haible  <bruno@clisp.org>
1400
1401         * lib/allocsa.h (sa_alignment_longlong, sa_alignment_max): Test
1402         HAVE_LONG_LONG_INT instead of HAVE_LONG_LONG.
1403         * m4/allocsa.m4 (gl_ALLOCSA): Invoke AC_TYPE_LONG_LONG_INT instead of
1404         gl_AC_TYPE_LONG_LONG.
1405
1406         * lib/printf-args.h (arg_type, argument): Test HAVE_LONG_LONG_INT
1407         instead of HAVE_LONG_LONG.
1408         * lib/printf-args.c (printf_fetchargs): Likewise.
1409         * lib/printf-parse.c (PRINTF_PARSE): Likewise.
1410         * lib/vasnprintf.c (VASNPRINTF): Likewise.
1411         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS, gl_PREREQ_PRINTF_PARSE,
1412         gl_PREREQ_VASNPRINTF): Invoke AC_TYPE_LONG_LONG_INT instead of
1413         gl_AC_TYPE_LONG_LONG.
1414
1415 2006-10-11  Bruno Haible  <bruno@clisp.org>
1416
1417         * m4/longlong.m4: Add comments.
1418         * m4/ulonglong.m4: Likewise.
1419
1420 2006-10-10  Bruno Haible  <bruno@clisp.org>
1421
1422         Make it possible to #define stpcpy, strdup to aliases.
1423         * lib/stpcpy.c (stpcpy) [!_LIBC]: Don't undefine.
1424         * lib/strdup.c (strdup) [!_LIBC]: Don't undefine.
1425
1426 2006-10-10  Bruno Haible  <bruno@clisp.org>
1427
1428         Make it possible to #define gcd to an alias.
1429         * lib/gcd.c: Include config.h.
1430
1431 2006-10-10  Bruno Haible  <bruno@clisp.org>
1432
1433         Make it possible to #define c_isascii to an alias.
1434         * lib/c-ctype.h: Don't define the macros if NO_C_CTYPE_MACROS is
1435         defined. Undefine the macros before defining them, to avoid gcc
1436         warnings.
1437         * lib/c-ctype.c: Include config.h. Don't undefine the macros; instead,
1438         define NO_C_CTYPE_MACROS early.
1439
1440 2006-10-10  Bruno Haible  <bruno@clisp.org>
1441
1442         Make it possible to #define set_program_name to an alias.
1443         * lib/progname.c: Don't undefine set_program_name; instead, undefine
1444         ENABLE_RELOCATABLE early.
1445
1446 2006-10-10  Paul Eggert  <eggert@cs.ucla.edu>
1447
1448         Port to Tandem NSK OSS, which has 64-bit signed int but at most
1449         32-bit unsigned int.  Problem reported by Matthew Woehlke in:
1450         http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00062.html
1451         More generally, don't assume that 64-bit signed int is available
1452         if unsigned int is, and vice versa.
1453         * lib/inttypes_.h (_PRIu64_PREFIX, _SCNu64_PREFIX): Depend on
1454         unsigned symbols, not on their signed counterparts.
1455         * lib/stdint_.h (uint64_t, uint_least64_t, uint_fast64_t, uintmax_t):
1456         (UINT64_MAX, UINT_LEAST64_MAX, UINT_FAST64_MAX, UINTMAX_MAX):
1457         (UINT64_C, UINTMAX_C):
1458         Likewise.
1459         * lib/strtoimax.c (strtoll): Depend on signed symbols, not their
1460         unsigned counterparts.
1461         (Have_long_long, Unsigned): New macros.
1462         (Int): Renamed from INT.
1463         (strtoimax): Use the new macros.
1464         * m4/stdint.m4 (gl_STDINT_H): Require AC_TYPE_UNSIGNED_LONG_LONG_INT
1465         and substitute HAVE_UNSIGNED_LONG_LONG_INT.
1466         * modules/inttypes (inttypes.h): Substitute
1467         HAVE_UNSIGNED_LONG_LONG_INT.
1468         * modules/stdint (stdint.h): Likewise.
1469         (Files): Add m4/ulonglong.m4.
1470
1471 2006-10-10  Bruno Haible  <bruno@clisp.org>
1472
1473         Fix a gcc -Wshadow warning.
1474         * lib/gl_anyhash_list2.h (hash_resize): Rename local variable 'index'
1475         to 'bucket'.
1476         * lib/gl_anylinked_list2.h (gl_linked_search_from_to,
1477         gl_linked_indexof_from_to): Likewise.
1478         * lib/gl_linkedhash_list.c (add_to_bucket, remove_from_bucket):
1479         Likewise.
1480         * lib/gl_anytreehash_list1.h (add_to_bucket, remove_from_bucket):
1481         Likewise.
1482         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Likewise.
1483         Reported by Eric Blake.
1484
1485 2006-10-09  Paul Eggert  <eggert@cs.ucla.edu>
1486
1487         * lib/filemode.h [HAVE_DECL_STRMODE]: Include unistd.h too,
1488         for NetBSD.  Problem reported by Bruno Haible.
1489
1490 2006-10-09  Jim Meyering  <jim@meyering.net>
1491
1492         * lib/lchown.c: Include <sys/stat.h> before "stat-macros.h".
1493         Patch from Bruno Haible.
1494
1495 2006-10-09  Jim Meyering  <jim@meyering.net>
1496
1497         * lib/fts-cycle.c (leave_dir): When "leaving" a top level directory due
1498         to FTS_SKIP, don't copy the parent's uninitialized dev/ino values.
1499         Trigger with e.g., mkdir d && valgrind ./chmod u+rwx d d
1500
1501 2006-10-08  Paul Eggert  <eggert@cs.ucla.edu>
1502
1503         Don't include <config.h> twice; this doesn't work in some cases,
1504         e.g., when config.h has "#define intmax_t long long int" and
1505         we include <config.h>, <inttypes.h>, <config.h> in that order.
1506         Problem reported by Matthew Woehlke in:
1507         http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00073.html
1508         * lib/fprintftime.c: Don't include config.h or fprintftime.h.
1509         * lib/fts-cycle.c: Don't include config.h.
1510         * lib/strftime.c: Include fprintftime.h if FPRINTFTIME is defined.
1511         * lib/xstrtoimax.c: Remove copyright notice since it's short tnow.
1512         Don't include config.h or xstrtol.h.  Define STRTOL_T_MINIMUM
1513         and STRTOL_T_MAXIMUM unconditionally, since we now assume gnulib
1514         inttypes.h.
1515         * lib/xstrtoumax.c: Likewise.
1516         * lib/xstrtol.c: Include config.h and xstrtol.h after defining
1517         __strtol and the like, so that this module is more like its siblings.
1518         (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [! defined STRTOL_T_MINIMUM]:
1519         Remove; no longer needed now that we assume gnulib inttypes.h.
1520
1521 2006-10-08  Bruno Haible  <bruno@clisp.org>
1522
1523         * doc/gnulib-tool.texi: Emphasize the drawbacks of the --symlink
1524         option.
1525
1526 2006-10-07  Jim Meyering  <jim@meyering.net>
1527
1528         * modules/inttypes (inttypes.h): Revert what seems to have been
1529         an inadvertent part of today's change: use "|", not "/" in the
1530         substitution for the "/"-containing string, $(ABSOLUTE_INTTYPES_H).
1531
1532 2006-10-07  Bruno Haible  <bruno@clisp.org>
1533
1534         * modules/sublist: New file.
1535
1536 2006-10-07  Bruno Haible  <bruno@clisp.org>
1537
1538         * modules/alloca-opt (alloca.h): Add a "DO NOT EDIT" comment.
1539         * modules/argz (argz.h): Likewise.
1540         * modules/arpa_inet (arpa/inet.h): Likewise.
1541         * modules/byteswap (byteswap.h): Likewise.
1542         * modules/configmake (configmake.h): Likewise.
1543         * modules/fcntl (fcntl.h): Likewise.
1544         * modules/fnmatch (fnmatch.h): Likewise.
1545         * modules/getopt (getopt.h): Likewise.
1546         * modules/glob (glob.h): Likewise.
1547         * modules/inttypes (inttypes.h): Likewise.
1548         * modules/netinet_in (netinet/in.h): Likewise.
1549         * modules/poll (poll.h): Likewise.
1550         * modules/stdbool (stdbool.h): Likewise.
1551         * modules/stdint (stdint.h): Likewise.
1552         * modules/sys_select (sys/select.h): Likewise.
1553         * modules/sys_socket (sys/socket.h): Likewise.
1554         * modules/sys_stat (sys/stat.h): Likewise.
1555         * modules/sysexits (sysexits.h): Likewise.
1556         * modules/unistd (unistd.h): Likewise.
1557         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
1558         Add a "DO NOT EDIT" comment to the generated file.
1559         (func_import): Likewise for gnulib-comp.m4.
1560
1561 2006-10-07  Bruno Haible  <bruno@clisp.org>
1562
1563         * lib/gl_sublist.h: New file.
1564         * lib/gl_sublist.c: New file.
1565
1566 2006-10-06  Paul Eggert  <eggert@cs.ucla.edu>
1567
1568         * lib/mkancesdirs.c (mkancesdirs): Pass to MAKE_DIR both the full file
1569         name (relative to the original working directory) and the file
1570         name component (relative to the temporary working directory).  All
1571         callers changed.
1572         * lib/mkancesdirs.h (mkancesdirs): Adjust prototype to match.
1573         * lib/mkdir-p.c (make_dir_parents): Likewise.
1574         * lib/mkdir-p.h (make_dir_parents): Likewise.
1575
1576 2006-10-06  Eric Blake  <ebb9@byu.net>
1577
1578         Define several macros for use by the clean-temp module.
1579         * m4/close-stream.m4 (gl_CLOSE_STREAM): Define GNULIB_CLOSE_STREAM.
1580         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Define GNULIB_FCNTL_SAFER.
1581         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Define GNULIB_FOPEN_SAFER.
1582
1583         * lib/clean-temp.h (close_stream_temp): New declaration.
1584         * lib/clean-temp.c (includes): Pull in headers according to what
1585         other modules are in use.
1586         (close_stream_temp) [GNULIB_CLOSE_STREAM]: New function.
1587
1588 2006-10-06  Bruno Haible  <bruno@clisp.org>
1589
1590         * lib/javacomp.c (write_temp_file): Use fopen_temp, fwriteerror_temp
1591         instead of fopen, fwriteerror.
1592
1593 2006-10-06  Bruno Haible  <bruno@clisp.org>
1594
1595         * lib/clean-temp.h (cleanup_temp_file, cleanup_temp_subdir,
1596         cleanup_temp_dir_contents, cleanup_temp_dir): Change return type to
1597         int.
1598         * lib/clean-temp.c (do_unlink, do_rmdir, cleanup_temp_file,
1599         cleanup_temp_subdir, cleanup_temp_dir_contents, cleanup_temp_dir):
1600         Return an error indicator.
1601         Suggested by Eric Blake.
1602
1603 2006-10-06  Bruno Haible  <bruno@clisp.org>
1604
1605         * lib/clean-temp.c (PATH_MAX): Provide a fallback for GNU Hurd.
1606         Reported by Eric Blake.
1607
1608 2006-10-06  Bruno Haible  <bruno@clisp.org>
1609
1610         * modules/closeout (Description): Mention stderr too.
1611
1612 2006-10-06  Bruno Haible  <bruno@clisp.org>
1613         and Paul Eggert  <eggert@cs.ucla.edu>
1614
1615         * lib/closeout.c (close_stdout): Also close stderr.
1616         * lib/closeout.h: Update comment.
1617
1618 2006-10-05  Paul Eggert  <eggert@cs.ucla.edu>
1619
1620         Fix some Darwin-7.9.0 porting problems reported by Bruno Haible in
1621         <http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00063.html>.
1622         * lib/dirchownmod.c: Include lchown.h.
1623         * lib/lchown.c: Don't include files that lchown.h now includes.
1624         Don't declare chown, since lchown.h now does that.
1625         * lib/lchown.h: Include errno.h, sys/types.h, unistd.h.
1626         (lchown): Define to rpl_chown if lchown is declared but
1627         does not exist.  Declare using a prototype if lchown is not
1628         declared.  Add a copyright notice.
1629         * lib/mkstemp.h: Include <unistd.h>.
1630         * lib/openat.c: Include lchown.h.
1631
1632         * lib/fcntl_.h (O_NOFOLLOW): Don't depend on O_NOFOLLOW_IS_INEFFECTIVE;
1633         we now test for that separately.
1634         * lib/fts.c (fts_safe_changedir): Inspect HAVE_WORKING_O_NOFOLLOW
1635         rather than O_NOFOLLOW, when testing whether it's possible to
1636         avoid a race condition reliably.
1637         * lib/savewd.c (savewd_chdir): Likewise.
1638
1639         Remove macros that are no longer needed now that stdint.h is
1640         reliable.
1641         * lib/fsusage.c (UINTMAX_MAX): Remove.
1642         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Remove.
1643         * lib/utimecmp.c (SIZE_MAX): Remove.
1644
1645         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check whether lchown is declared.
1646
1647         * m4/fcntl_h.m4 (gl_FCNTL_H): Define HAVE_WORKING_O_NOFOLLOW instead
1648         of O_NOFOLLOW_IS_INEFFECTIVE.  Define HAVE_WORKING_O_NOATIME if
1649         O_NOATIME works.
1650
1651 2006-10-05  Bruno Haible  <bruno@clisp.org>
1652
1653         * lib/gl_list.h (gl_sortedlist_search_from_to,
1654         gl_sortedlist_indexof_from_to): New declarations.
1655         (gl_list_implementation): New fields sortedlist_search_from_to,
1656         sortedlist_indexof_from_to.
1657         (gl_sortedlist_search_from_to, gl_sortedlist_indexof_from_to): New
1658         inline functions.
1659         * lib/gl_list.c (gl_sortedlist_search_from_to,
1660         gl_sortedlist_indexof_from_to): New functions.
1661         * lib/gl_array_list.c (gl_array_sortedlist_indexof_from_to): New
1662         function.
1663         (gl_array_sortedlist_indexof, gl_array_sortedlist_search): Use it.
1664         (gl_array_sortedlist_search_from_to): New function.
1665         (gl_array_list_implementation): Update.
1666         * lib/gl_carray_list.c (gl_carray_sortedlist_indexof_from_to): New
1667         function.
1668         (gl_carray_sortedlist_indexof, gl_carray_sortedlist_search): Use it.
1669         (gl_carray_sortedlist_search_from_to): New function.
1670         (gl_carray_list_implementation): Update.
1671         * lib/gl_anylinked_list2.h (gl_linked_sortedlist_search_from_to,
1672         gl_linked_sortedlist_indexof_from_to): New functions.
1673         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
1674         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
1675         * lib/gl_anytree_list2.h (gl_tree_sortedlist_search_from_to,
1676         gl_tree_sortedlist_indexof_from_to): New functions.
1677         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
1678         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
1679         Update.
1680         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
1681         * lib/gl_rbtreehash_list.c (gl_avltreehash_list_implementation):
1682         Update.
1683
1684 2006-10-05  Bruno Haible  <bruno@clisp.org>
1685
1686         * lib/gl_list.h (gl_list_search_from, gl_list_search_from_to,
1687         gl_list_indexof_from, gl_list_indexof_from_to): New declarations.
1688         (struct gl_list_implementation): Add fields search_from_to,
1689         indexof_from_to. Remove fields search, indexof.
1690         (gl_list_search): Use the search_from_to method.
1691         (gl_list_search_from, gl_list_search_from_to): New functions.
1692         (gl_list_indexof): Use the indexof_from_to method.
1693         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
1694         * lib/gl_list.c (gl_list_search): Use the search_from_to method.
1695         (gl_list_search_from, gl_list_search_from_to): New functions.
1696         (gl_list_indexof): Use the indexof_from_to method.
1697         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
1698         * lib/gl_array_list.c (gl_array_indexof_from_to): Renamed from
1699         gl_array_indexof. Add start_index, end_index arguments.
1700         (gl_array_search_from_to): Renamed from gl_array_search. Add
1701         start_index, end_index arguments.
1702         (gl_array_remove, gl_array_list_implementation): Update.
1703         * lib/gl_carray_list.c (gl_carray_indexof_from_to): Renamed from
1704         gl_carray_indexof. Add start_index, end_index arguments.
1705         (gl_carray_search_from_to): Renamed from gl_carray_search. Add
1706         start_index, end_index arguments.
1707         (gl_carray_remove, gl_carray_list_implementation): Update.
1708         * lib/gl_anylinked_list2.h (gl_linked_search_from_to): Renamed from
1709         gl_linked_search. Add start_index, end_index arguments.
1710         (gl_linked_indexof_from_to): Renamed from gl_linked_indexof. Add
1711         start_index, end_index arguments.
1712         (gl_linked_remove): Update.
1713         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
1714         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
1715         * lib/gl_anytree_list1.h (iterstack_item_t): Change type of 'rightp'
1716         field to 'size_t'.
1717         * lib/gl_anytree_list2.h (gl_tree_search_from_to): Renamed from
1718         gl_tree_search. Add start_index, end_index arguments.
1719         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
1720         start_index, end_index arguments.
1721         (gl_tree_remove): Update.
1722         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
1723         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
1724         * lib/gl_anytreehash_list1.h (compare_position_threshold): New
1725         function.
1726         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Renamed from
1727         gl_tree_search. Add start_index, end_index arguments.
1728         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
1729         start_index, end_index arguments.
1730         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
1731         Update.
1732         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Update.
1733
1734 2006-10-05  Bruno Haible  <bruno@clisp.org>
1735
1736         * modules/fwriteerror (configure.ac): Define GNULIB_FWRITEERROR.
1737
1738         * lib/clean-temp.h (open_temp, fopen_temp, close_temp, fclose_temp,
1739         fwriteerror_temp): New declarations.
1740         * lib/clean-temp.c (uintptr_t): Provide fallback definition.
1741         (descriptors): New variable.
1742         (cleanup): First, close the descriptors.
1743         (register_fd, unregister_fd, open_temp, fopen_temp, close_temp,
1744         fclose_temp, fwriteerror_temp): New functions.
1745
1746 2006-10-04  Jim Meyering  <jim@meyering.net>
1747
1748         * lib/fts.c (fts_open): Tiny comment change.
1749
1750 2006-10-04  Bruno Haible  <bruno@clisp.org>
1751
1752         Make it possible to invoke AC_GNU_SOURCE after gl_LOCK_EARLY.
1753         * m4/lock.m4 (gl_LOCK_EARLY_BODY): New macro, extracted code from
1754         gl_LOCK_BODY.
1755         (gl_LOCK_EARLY): Require gl_LOCK_EARLY_BODY, not gl_LOCK_BODY.
1756         (gl_LOCK_BODY): Remove settings of CPPFLAGS, now done in
1757         gl_LOCK_EARLY_BODY.
1758         (gl_LOCK): Require gl_LOCK_BODY.
1759
1760 2006-10-04  Bruno Haible  <bruno@clisp.org>
1761
1762         * lib/gl_oset.h (gl_setelement_threshold_fn): New type.
1763         (gl_oset_search_atleast): New declaration.
1764         (struct gl_oset_implementation): Add field 'search_atleast'.
1765         (gl_oset_search_atleast): New inline function.
1766         * lib/gl_oset.c (gl_oset_search_atleast): New function.
1767         * lib/gl_array_oset.c (gl_array_search_atleast): New function.
1768         (gl_array_oset_implementation): Update.
1769         * lib/gl_anytree_oset.h (gl_tree_search_atleast): New function.
1770         * lib/gl_avltree_oset.c (gl_avltree_oset_implementation): Update.
1771         * lib/gl_rbtree_oset.c (gl_rbtree_oset_implementation): Update.
1772
1773 2006-10-04  Bruno Haible  <bruno@clisp.org>
1774
1775         * lib/fatal-signal.c (fatal_signals) [WOE32]: Add the SIGBREAK signal.
1776
1777 2006-10-03  Bruno Haible  <bruno@clisp.org>
1778
1779         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Renamed
1780         from gl_avltreehash_list_implementation.
1781
1782 2006-10-03  Bruno Haible  <bruno@clisp.org>
1783
1784         * lib/gl_oset.c (gl_oset_add): Fix return type.
1785
1786 2006-10-02  Paolo Bonzini  <bonzini@gnu.org>  (tiny change)
1787
1788         * lib/quotearg.c (mbstate_t) [!HAVE_MBRTOWC]: #define to int.
1789
1790 2006-10-02  Eric Blake  <ebb9@byu.net>
1791
1792         * modules/strnlen (Depends-on): Add extensions.
1793
1794 2006-10-02  Eric Blake  <ebb9@byu.net>
1795
1796         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use autoconf's
1797         definition in 2.60+.
1798
1799 2006-10-02  Dmitry V. Levin  <ldv@altlinux.org>
1800
1801         * lib/fts.c (fts_close, fts_build, fts_palloc): Remove redundant
1802         checks.
1803
1804 2006-10-02  Bruno Haible  <bruno@clisp.org>
1805
1806         * gnulib-tool (func_emit_lib_Makefile_am): Don't add no-dependencies
1807         to the AUTOMAKE_OPTIONS.
1808         Reported by Jim Meyering.
1809
1810 2006-09-29  Paul Eggert  <eggert@cs.ucla.edu>
1811
1812         Work around bug in Solaris 10 /proc file system:
1813         /proc/self/fd/NNN/.. isn't the parent directory of
1814         the directory whose file descriptor is NNN.  This needs to
1815         be worked around at run time, not compile time, since a
1816         program might be built on Solaris 8, where things work, and
1817         run on Solaris 10.
1818         * lib/openat-priv.h (BUILD_PROC_NAME): Remove.  All callers changed
1819         to use the following interface instead:
1820         (OPENAT_BUFFER_SIZE): New macro.
1821         (openat_proc_name): New function.
1822         * lib/at-func.c (AT_FUNC_NAME): Adjust to above changes.
1823         * lib/openat.c (openat_permissive, openat_needs_fchdir, fdopendir):
1824         Likewise.
1825         * lib/openat-proc.c: New file.
1826         * modules/openat (Files): Add lib/openat-proc.c.
1827         (Depends-on): Add same-inode, stdbool.
1828         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBOBJ(openat-proc).
1829
1830 2006-09-29  Bruno Haible  <bruno@clisp.org>
1831
1832         * lib/fwriteerror.h (fwriteerror_no_ebadf): New declaration.
1833         * lib/(do_fwriteerror): Renamed from fwriteerror. Add ignore_ebadf
1834         argument. Set stdout_closed before testing for ferror, not after.
1835         (fwriteerror, fwriteerror_no_ebadf): New functions.
1836
1837 2006-09-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
1838
1839         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Avoid unused variables warning.
1840
1841 2006-09-28  Paolo Bonzini  <bonzini@gnu.org>
1842
1843         * lib/poll.c (rpl_poll) [__APPLE__]: Use FIONREAD instead of MSG_PEEK.
1844         * m4/poll.m4: Look for sys/ioctl.h and sys/filio.h.
1845
1846 2006-09-28  Jim Meyering  <jim@meyering.net>
1847
1848         * lib/mkdir-p.c: Include "dirchownmod.h", not "dirchownmod.c".
1849         Include <unistd.h>.
1850
1851 2006-09-28  Bruno Haible  <bruno@clisp.org>
1852
1853         * modules/avltreehash-list (Depends-on): Add stdint, remove size_max.
1854         * modules/linkedhash-list (Depends-on): Likewise.
1855         * modules/rbtreehash-list (Depends-on): Likewise.
1856
1857 2006-09-28  Bruno Haible  <bruno@clisp.org>
1858
1859         * lib/strndup.h: Simplify the redefinition of strndup.
1860         (_GL_CONCAT, _GL_XCONCAT, __STRNDUP_ID): Remove macros.
1861         * m4/strndup.m4 (gl_FUNC_STRNDUP): Don't define __STRNDUP_PREFIX.
1862
1863 2006-09-28  Bruno Haible  <bruno@clisp.org>
1864
1865         * lib/gl_avltreehash_list.c: Include <stdint.h> instead of size_max.h.
1866         * lib/gl_linkedhash_list.c: Likewise.
1867         * lib/gl_rbtreehash_list.c: Likewise.
1868
1869 2006-09-27  Paul Eggert  <eggert@cs.ucla.edu>
1870
1871         * lib/canon-host.c (canon_host_r): Work around bug in Darwin 7.9.0
1872         getaddrinfo.
1873
1874         * lib/__fpending.h: Don't include <stdio_ext.h> unless
1875         HAVE_DECL___FPENDING.  This avoids a bug with lsbcc, where
1876         it causes <stdio_ext.h> to cause a compile-time error.
1877         Problem reported by Nelson H. F. Beebe.
1878         * lib/getpass.c: Likewise, except for HAVE_DECL___FSETLOCKING instead
1879         of HAVE_DECL___PENDING.
1880
1881         * m4/fpending.m4 (gl_FUNC_FPENDING): Check for stdio_ext at most once.
1882         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for __fsetlocking's
1883         declaration.
1884
1885 2006-09-27  Jim Meyering  <jim@meyering.net>
1886
1887         This file could end up with a definition for a function
1888         named __strndup, rather than rpl_strndup on a system with
1889         incomplete weak_alias support.
1890         * lib/strndup.c (strndup): Rename from __strndup.
1891         Remove #defines that used to map __strndup to strndup.
1892         Don't use K&R prototypes.
1893         Remove LIBC-related code, since this file is not sync'd with glibc.
1894         * lib/strndup.h: Revamp, accordingly.
1895         * m4/strndup.m4: Modernize.
1896
1897 2006-09-26  Paul Eggert  <eggert@cs.ucla.edu>
1898
1899         * modules/savewd (Depends-on): Add 'raise'.
1900         * lib/savewd.c: Include <signal.h>, for 'raise'.
1901
1902 2006-09-26  Jim Meyering  <jim@meyering.net>
1903
1904         * m4/acl.m4 (AC_FUNC_ACL): Disable ACL support altogether
1905         when we detect Darwin 8.7.0's acl_get_file bug.
1906         Rearrange to perform the new (below) run-test while $LIBS
1907         contains any acl-related library.  Set USE_ACL at the end.
1908         (gl_ACL_GET_FILE): New function.
1909
1910 2006-09-26  Eric Blake  <ebb9@byu.net>
1911
1912         * lib/verror.c: Include <config.h> unconditionally.
1913
1914 2006-09-25  Paul Eggert  <eggert@cs.ucla.edu>
1915
1916         * modules/clock-time (Maintainer): Add self.
1917         * modules/getlogin_r (Depends-on): Add extensions.
1918
1919 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
1920
1921         * modules/clock-time: New module.
1922         * modules/nanosleep (Depends-on): Add clock-time.
1923         * modules/gethrxtime (Depends-on): Likewise.
1924         * modules/gettime (Depends-on): Likewise.
1925         * modules/settime (Depends-on): Likewise.
1926
1927         * modules/fts-lgpl: Depend on openat.
1928         * modules/mkancesdirs: Depend on savewd.
1929         * modules/mkdir-p: Likewise.
1930
1931 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
1932
1933         * m4/host-os.m4 (gl_HOST_OS): Require AC_CANONICAL_HOST.
1934
1935         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Rename cache variable from
1936         `gl_have_arbitrary_file_name_length_limit' to
1937         `gl_cv_have_arbitrary_file_name_length_limit', so that caching
1938         actually works between configure runs.
1939
1940 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
1941             Bruno Haible  <bruno@clisp.org>
1942
1943         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Include <string.h>.
1944
1945 2006-09-25  Jim Meyering  <jim@meyering.net>
1946
1947         * m4/fcntl_h.m4 (gl_FCNTL_H): Fix typo in test for failed open.
1948         This typo caused coreutils/tests/dd/misc to fail on Darwin 8.7.0.
1949
1950 2006-09-25  Eric Blake  <ebb9@byu.net>
1951
1952         * gnulib-tool (func_import, func_create_testdir): Fix typos in
1953         exec's in 2006-09-18 patch when shuffling fds.
1954
1955 2006-09-25  Bruno Haible  <bruno@clisp.org>
1956
1957         * m4/getloadavg.m4 (gl_GETLOADAVG): Fix directory in error message.
1958         Reported by Jim Meyering.
1959
1960 2006-09-24  Jim Meyering  <jim@meyering.net>
1961
1962         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Don't use '>' to
1963         compare a pointer against a literal "0".  That caused failures with
1964         at least HP-UX's hpcc.
1965
1966 2006-09-22  Simon Josefsson  <jas@extundo.com>
1967
1968         * modules/gc-sha1:
1969         * modules/gc-md4:
1970         * modules/gc-hmac-sha1:
1971         * modules/gc-hmac-md5:
1972         * modules/gc-des:
1973         * modules/gc-arcfour: Distribute more files.
1974
1975 2006-09-22  Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
1976
1977         * lib/gl_anylinked_list2.h [lint] (gl_linked_iterator)
1978         (gl_linked_iterator_from_to): Initialize struct completely.
1979         * lib/gl_anytree_list2.h [lint] (gl_tree_iterator): Likewise.
1980         (gl_tree_iterator_from_to): Likewise
1981         * lib/gl_anytree_oset.h [lint] (gl_tree_iterator): Likewise.
1982         * lib/gl_array_list.c [lint] (gl_array_iterator)
1983         (gl_array_iterator_from_to): Likewise.
1984         * lib/gl_array_oset.c [lint] (gl_array_iterator): Likewise.
1985         * lib/gl_carray_list.c [lint] (gl_carray_iterator)
1986         (gl_carray_iterator_from_to): Likewise.
1987
1988         * lib/gc-gnulib.c [GC_USE_HMAC_SHA1]: include hmac.h for hmac_sha1.
1989         * lib/md4.c (md4_process_block): Remove unused variable.
1990         * lib/rijndael-api-fst.c (rijndaelBlockDecrypt): GCC suggests
1991         parentheses for clarity.
1992
1993 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
1994
1995         * modules/bison-i18n (Depends-on): Add gettext.
1996
1997 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
1998
1999         * m4/fsusage.m4 (gl_STATFS_TRUNCATES): Avoid unused variable.
2000         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Likewise.
2001         * m4/jm-winsz1.m4 (gl_HEADER_TIOCGWINSZ_IN_TERMIOS_H): Likewise;
2002         also add missing comma that caused broken test.
2003         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Include
2004         stdlib.h, for `abort'.
2005         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Avoid unused
2006         variables.
2007         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Check for and
2008         include unistd.h if present, for `rmdir'.
2009         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Avoid unused
2010         variables.
2011         * m4/putenv.m4 (gl_FUNC_PUTENV): Rewrite using AC_RUN_IFELSE, and
2012         in the process include standard headers for prototypes.
2013         * m4/readutmp.m4 (gl_READUTMP): Require AC_GNU_SOURCE, so utmpxname
2014         gets declared on GNU/Linux.
2015         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Check for and include
2016         unistd.h, for `rmdir'.
2017         * m4/time_r.m4 (gl_TIME_R): Avoid unused variables.
2018
2019         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Avoid expression that is
2020         always true.
2021         * m4/strndup.m4 (gl_FUNC_STRNDUP): include stdlib.h, for `free'.
2022
2023         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Avoid gcc -Wall warnings.
2024
2025 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
2026
2027         * gnulib-tool (func_version): Create output all at once.  This
2028         may help avoid triggering unnecessary SIGPIPEs, and at any
2029         rate it doesn't hurt.
2030
2031 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
2032             Bruno Haible  <bruno@clisp.org>
2033
2034         * m4/lock.m4 (gl_LOCK_BODY): Avoid unused variables warning.
2035         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
2036         * m4/signed.m4 (bh_C_SIGNED): Likewise.
2037
2038         * m4/vasprintf.m4 (gl_PREREQ_VASPRINTF_H): New macro.
2039         (gl_FUNC_VASPRINTF): Invoke it.
2040
2041 2006-09-22  Bruno Haible  <bruno@clisp.org>
2042
2043         * m4/getloadavg.m4 (gl_GETLOADAVG): Expect the directory of
2044         getloadavg.c as first argument.
2045
2046 2006-09-22  Bruno Haible  <bruno@clisp.org>
2047
2048         * gnulib-tool (func_import, func_create_testdir): Set gl_source_base
2049         at the beginning of the gl_INIT macro.
2050         * modules/getloadavg (configure.ac): Pass $gl_source_base to
2051         gl_GETLOADAVG.
2052
2053 2006-09-22  Bruno Haible  <bruno@clisp.org>
2054
2055         * gnulib-tool (func_create_megatestdir): Don't include the config-h
2056         module.
2057         Suggested by Ralf Wildenhues.
2058
2059 2006-09-20  Paul Eggert  <eggert@cs.ucla.edu>
2060
2061         Import this patch from libc:
2062
2063         2006-09-06  Jakub Jelinek  <jakub@redhat.com>
2064
2065         * lib/regex_internal.c (re_string_reconstruct): Handle
2066         offset < pstr->valid_raw_len && pstr->offsets_needed case.
2067         Ensure no bytes read before raw_mbs array.  Pass a saved copy of
2068         pstr->valid_len - 1 rather than pstr->valid_raw_len - 1 to
2069         re_string_context_at.
2070
2071         * m4/regex.m4 (gl_REGEX): Check for locale.h, since the test
2072         now requires it.
2073         (gl_PREREQ_REGEX): Don't check for locale.h any more, since
2074         gl_REGEX now does it for us.
2075         (gl_REGEX): Add test taken from
2076         http://sourceware.org/ml/libc-hacker/2006-09/msg00008.html.
2077
2078         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require AC_SYS_LARGEFILE.
2079         Check that large offsets work.  Modernize Autoconf usages.
2080         Prefer "yes" to mean a good thing rather than a bad.
2081         Don't put "#define mkstemp" in config.h, as this might interfere
2082         with standard system headers that "#define mkstemp mkstemp64".
2083
2084         * modules/mkstemp (Depends-on): Add extensions, so that
2085         mkstemp is visible on some platforms.
2086         (Makefile.am): Add mkstemp.h to EXTRA_DIST.
2087         (Include): Change to "mkstemp.h" from <stdlib.h>.
2088         (Files): Add mkstemp.h.
2089
2090         * lib/mkstemp.h: New file, since some standard headers
2091         #define mkstemp.
2092         * lib/mkstemp.c: Revamp to put the !_LIBC code together.
2093         Include "mkstemp.h".
2094         Make the _LIBC code resemble glibc original more,
2095         e.g., use K&R style.
2096         * lib/mkstemp-safer.c: Include "mkstemp.h" instead of <stdlib.h>.
2097         (mkstemp): Remove, since mkstemp.h does this for us.
2098         * lib/stdlib--.h: Include mkstemp.h.
2099
2100         Import this patch from libc:
2101
2102         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
2103
2104         * lib/tempname.c (__gen_tempname): Change attempts_min
2105         into a macro.  Use preprocessor to decide how to initialize
2106         attempts [Coverity CID 67].
2107
2108 2006-09-20  Bruno Haible  <bruno@clisp.org>
2109
2110         * lib/mkdtemp.c: Import from libc.
2111         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
2112                 * sysdeps/posix/tempname.c (__gen_tempname): Change
2113                 attempts_min into a macro.  Use preprocessor to decide how to
2114                 initialize attempts [Coverity CID 67].
2115         2001-11-27  Paul Eggert  <eggert@twinsun.com>
2116                 * sysdeps/posix/tempname.c (__gen_tempname): Try at least
2117                 ATTEMPTS_MIN or TMP_MAX times, whichever is greater.
2118
2119 2006-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
2120
2121         * gnulib-tool (func_exit): New function, to allow to pass the
2122         exit status portably through the trap.  Use everywhere.
2123         (--help, --version): Signal a write error.
2124         (trap): catch SIGPIPE, for write errors.
2125         Exit at the end of the trap, with the correct exit status.
2126
2127 2006-09-19  Karl Berry  <karl@gnu.org>
2128
2129         * doc/gnulib.texi: note about the license texinfo files.
2130
2131 2006-09-19  Eric Blake  <ebb9@byu.net>
2132
2133         * gnulib-tool: Avoid space-tab.
2134
2135 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
2136
2137         * lib/getaddrinfo.c (getaddrinfo) [defined HAVE_IPV6]: Fix typo
2138         that prevented coreutils 6.1 from building.  Problem reported
2139         by Petter Reinholdtsen.
2140
2141 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
2142
2143         * gnulib-tool (avoidlist): Fix typo that broke options like
2144         --avoid=lock that are used by coreutils bootstrap.
2145
2146 2006-09-18  Mark D. Baushke  <mdb@gnu.org>
2147
2148         * m4/inttypes.m4 (gl_INTTYPES_H): Quote "test" args
2149         more systematically.
2150
2151 2006-09-18  Jim Meyering  <jim@meyering.net>
2152
2153         * lib/savewd.c (savewd_restore): Don't shadow: s/status/child_status/.
2154
2155 2006-09-18  Bruno Haible  <bruno@clisp.org>
2156
2157         * modules/inttypes (Files): Remove m4/inttypes-h.m4.
2158
2159 2006-09-18  Bruno Haible  <bruno@clisp.org>
2160
2161         * m4/inttypes-h.m4 (gl_HEADER_INTTYPES_H): Remove macro.
2162         * m4/inttypes-pri.m4: Require autoconf >= 2.52.
2163         (gt_INTTYPES_PRI): Invoke AC_CHECK_HEADERS on inttypes.h. Test
2164         ac_cv_header_inttypes_h instead of gl_cv_header_inttypes_h.
2165         * m4/gettext.m4: Require autoconf >= 2.52.
2166         (gt_INTL_SUBDIR_CORE): Invoke AC_CHECK_HEADERS on inttypes.h.
2167         * m4/inttypes.m4 (gl_INTTYPES_H): Test ac_cv_header_inttypes_h instead
2168         of gl_cv_header_inttypes_h.
2169
2170 2006-09-18  Bruno Haible  <bruno@clisp.org>
2171
2172         * lib/javaversion.c: Include configmake.h.
2173
2174 2006-09-18  Bruno Haible  <bruno@clisp.org>
2175
2176         * gnulib-tool (func_import, func_create_testdir): Use exec tricks to
2177         avoid that the while loops be executed in a subshell.
2178
2179 2006-09-18  Bruno Haible  <bruno@clisp.org>
2180
2181         * MODULES.html.sh (func_module): Break long lines.
2182         Suggested by Bruce Korb <bkorb@gnu.org>.
2183
2184 2006-09-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
2185
2186         Speed up by a factor of 1.12.
2187         * gnulib-tool (nl): New variable.
2188         (func_import): Rewrite include directive extraction to only read each
2189         directive once.
2190
2191 2006-09-17  Bruno Haible  <bruno@clisp.org>
2192
2193         * modules/javaversion (Makefile.am): Remove DEFS setting.
2194         (Depends-on): Add configmake, for PKGDATADIR definition.
2195
2196 2006-09-17  Bruno Haible  <bruno@clisp.org>
2197
2198         * gnulib-tool (func_create_testdir): Rewrite all files at once.
2199
2200 2006-09-17  Bruno Haible  <bruno@clisp.org>
2201
2202         * gnulib-tool (func_append): New function, stolen from libtool.m4.
2203         (func_modules_transitive_closure, func_modules_add_dummy,
2204         func_modules_to_filelist, func_import, func_create_testdir,
2205         func_create_megatestdir, ...): Use it wherever possible.
2206         Suggested by Ralf Wildenhues.
2207
2208 2006-09-16  Karl Berry  <karl@gnu.org>
2209
2210         * doc/fdl.texi (ADDENDUM): switch to @heading from @appendixsubsec,
2211         to avoid sectioning errors.
2212         * doc/lgpl.texi, gpl.texi (Copying): downcase @unnumbered title.
2213         [ifinfo]: blank line after @center-ed titles.
2214         * doc/lgpl.texi (Library Copying): Rename main node to GNU LGPL.
2215         Spell FSF address consistently with others.
2216         (These changes approved by rms.)
2217
2218 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
2219
2220         Speed up by a factor of 1.61.
2221         * gnulib-tool (func_modules_transitive_closure): Rewrite to not check
2222         already checked module names again.
2223
2224 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
2225
2226         Speed up by a factor of 1.13.
2227         * gnulib-tool (func_import): Rewrite all old_files at once; likewise
2228         for new_files, and the input to func_add_or_update.
2229
2230 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
2231
2232         * gnulib-tool (func_all_modules, func_modules_to_filelist, func_import,
2233         func_create_testdir, ...): Change 'sort | uniq' to 'sort -u'.
2234
2235 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
2236
2237         * modules/mkancesdirs (Depends-on): Add fcntl.
2238         * modules/savewd: New file.
2239         * MODULES.html.sh (File system functions): Add savewd.
2240
2241         * modules/configmake (Makefile.am): Add support for the
2242         Automake-supplied PKGLIBDIR, PKGINCLUDEDIR, PKGDATADIR.
2243
2244 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
2245
2246         * m4/savewd.m4: New file.
2247
2248 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
2249
2250         * lib/dirchownmod.c: Don't include fcntl.h; no longer needed.
2251         (dirchownmod): New arg FD.  All callers changed.
2252         Use FD rather than opening the directory ourself, as opening is
2253         now the caller's responsibility.
2254         * lib/dirchownmod.h: Likewise.
2255         * lib/mkancesdirs.c: Include <sys/types.h>, for portability to older
2256         hosts that require <sys/types.h> before <sys/stat.h>.  Include
2257         fcntl.h, savewd.h, and unistd.h, not dirname.h and stat-macros.h.
2258         (test_dir): Remove.
2259         (mkancesdirs): Return length of prefix of FILE that has already
2260         been made, or -2 if there is a child doing the work.  Redo
2261         algorithm so that it is O(N) rather than O(N**2).  Optimize away
2262         ".", and treat ".." specially since it might stray back into
2263         already-created areas.  Use a subprocess if necessary.  New arg
2264         WD; all users changed.  MAKE_DIR function should now return 1
2265         if it creates a directory that is not readable.  Return -2 if
2266         a child process is spun off.
2267         * lib/mkancesdirs.h: Include <stddef.h>, for ptrdiff_t.
2268         Adjust signature to match code.
2269         * lib/mkdir-p.c: Include dirname.h, for IS_ABSOLUTE_FILE_NAME.
2270         (make_dir_parents): Use a subprocess if necessary.  New arg WD;
2271         all users changed.
2272         * lib/savewd.c, lib/savewd.h: New files.
2273
2274 2006-09-15  Jim Meyering  <jim@meyering.net>
2275
2276         * modules/rename-dest-slash: New module.
2277         * MODULES.html.sh (posix_compat): Add it here.
2278
2279         * modules/rename: Reflect vb_FUNC_RENAME -> gl_FUNC_RENAME change.
2280
2281 2006-09-15  Jim Meyering  <jim@meyering.net>
2282
2283         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH): New
2284         file.
2285
2286         * m4/rename.m4 (gl_FUNC_RENAME): Rename from vb_FUNC_RENAME.
2287
2288 2006-09-15  Jim Meyering  <jim@meyering.net>
2289
2290         * lib/rename-dest-slash.c (has_trailing_slash): Use
2291         FILE_SYSTEM_PREFIX_LEN, for non-POSIX systems.
2292         (rpl_rename_dest_slash): Perform the cheaper trailing slash
2293         test before testing whether SRC is a directory.
2294         Suggestions from Bruno Haible.
2295
2296         Avoid a warning about an unused variable.
2297         * lib/regex_internal.c (re_dfa_add_node): Move declaration of "type"
2298         into the #ifdef block where it's used.
2299
2300         * lib/rename-dest-slash.c: New file.
2301
2302 2006-09-14  Bruno Haible  <bruno@clisp.org>
2303
2304         * lib/allocsa.c: Include <config.h> unconditionally.
2305         * lib/asnprintf.c: Likewise.
2306         * lib/asprintf.c: Likewise.
2307         * lib/c-strcasecmp.c: Likewise.
2308         * lib/c-strcasestr.c: Likewise.
2309         * lib/c-strncasecmp.c: Likewise.
2310         * lib/c-strstr.c: Likewise.
2311         * lib/classpath.c: Likewise.
2312         * lib/clean-temp.c: Likewise.
2313         * lib/concatpath.c: Likewise.
2314         * lib/copy-file.c: Likewise.
2315         * lib/csharpcomp.c: Likewise.
2316         * lib/csharpexec.c: Likewise.
2317         * lib/execute.c: Likewise.
2318         * lib/fatal-signal.c: Likewise.
2319         * lib/findprog.c: Likewise.
2320         * lib/fwriteerror.c: Likewise.
2321         * lib/gl_array_list.c: Likewise.
2322         * lib/gl_array_oset.c: Likewise.
2323         * lib/gl_avltree_list.c: Likewise.
2324         * lib/gl_avltree_oset.c: Likewise.
2325         * lib/gl_avltreehash_list.c: Likewise.
2326         * lib/gl_carray_list.c: Likewise.
2327         * lib/gl_linked_list.c: Likewise.
2328         * lib/gl_linkedhash_list.c: Likewise.
2329         * lib/gl_list.c: Likewise.
2330         * lib/gl_oset.c: Likewise.
2331         * lib/gl_rbtree_list.c: Likewise.
2332         * lib/gl_rbtree_oset.c: Likewise.
2333         * lib/gl_rbtreehash_list.c: Likewise.
2334         * lib/imaxabs.c: Likewise.
2335         * lib/imaxdiv.c: Likewise.
2336         * lib/javacomp.c: Likewise.
2337         * lib/javaexec.c: Likewise.
2338         * lib/javaversion.c: Likewise.
2339         * lib/linebreak.c: Likewise.
2340         * lib/localcharset.c: Likewise.
2341         * lib/lock.c: Likewise.
2342         * lib/mbchar.c: Likewise.
2343         * lib/mbswidth.c: Likewise.
2344         * lib/mkdtemp.c: Likewise.
2345         * lib/pipe.c: Likewise.
2346         * lib/printf-args.c: Likewise.
2347         * lib/printf-parse.c: Likewise.
2348         * lib/progname.c: Likewise.
2349         * lib/progreloc.c: Likewise.
2350         * lib/readlink.c: Likewise.
2351         * lib/sh-quote.c: Likewise.
2352         * lib/stpcpy.c: Likewise.
2353         * lib/stpncpy.c: Likewise.
2354         * lib/strcasecmp.c: Likewise.
2355         * lib/strcasestr.c: Likewise.
2356         * lib/strcspn.c: Likewise.
2357         * lib/striconv.c: Likewise.
2358         * lib/strncasecmp.c: Likewise.
2359         * lib/strnlen1.c: Likewise.
2360         * lib/strstr.c: Likewise.
2361         * lib/strtok_r.c: Likewise.
2362         * lib/tls.c: Likewise.
2363         * lib/tmpdir.c: Likewise.
2364         * lib/unicodeio.c: Likewise.
2365         * lib/unsetenv.c: Likewise.
2366         * lib/vasnprintf.c: Likewise.
2367         * lib/vasprintf.c: Likewise.
2368         * lib/wait-process.c: Likewise.
2369         * lib/xallocsa.c: Likewise.
2370         * lib/xsetenv.c: Likewise.
2371         * lib/xstriconv.c: Likewise.
2372
2373 2006-09-13  Simon Josefsson  <jas@extundo.com>
2374
2375         * m4/getdate.m4: Don't AC_LIBOBJ([getdate]), automake takes care of
2376         that internally, suggested by Ralf Wildenhues
2377         <Ralf.Wildenhues@gmx.de>.
2378
2379 2006-09-13  Simon Josefsson  <jas@extundo.com>
2380
2381         * gnulib-tool (func_emit_lib_Makefile_am): Use $(LIBOBJS), not
2382         @LIBOBJS@.
2383         Suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
2384
2385 2006-09-13  Paul Eggert  <eggert@cs.ucla.edu>
2386
2387         * lib/_fpending.c: Include <config.h> unconditionally, since we no
2388         longer worry about uses that don't define HAVE_CONFIG_H.
2389         * lib/acl.c, lib/alloca.c, lib/argmatch.c, lib/atexit.c:
2390         * lib/backupfile.c, lib/basename.c, lib/c-stack.c, lib/c-strtod.c:
2391         * lib/calloc.c,lib/ canon-host.c, lib/canonicalize.c, lib/chdir-long.c:
2392         * lib/chdir-safer.c, lib/chown.c, lib/cloexec.c, lib/close-stream.c:
2393         * lib/closeout.c, lib/creat-safer.c, lib/cycle-check.c, lib/diacrit.c:
2394         * lib/dirchownmod.c, lib/dirfd.c, lib/dirname.c, lib/dup-safer.c:
2395         * lib/dup2.c, lib/error.c, lib/euidaccess.c, lib/exclude.c:
2396         * lib/exitfail.c, lib/fchmodat.c, lib/fchown-stub.c, lib/fd-safer.c:
2397         * lib/file-type.c, lib/fileblocks.c, lib/filemode.c, lib/filenamecat.c:
2398         * lib/fnmatch.c, lib/fopen-safer.c, lib/fprintftime.c, lib/free.c:
2399         * lib/fsusage.c, lib/ftruncate.c, lib/fts-cycle.c, lib/fts.c:
2400         * lib/full-write.c, lib/gai_strerror.c, lib/getcwd.c, lib/getdate.y:
2401         * lib/getdomainname.c, lib/getgroups.c, lib/gethostname.c:
2402         * lib/gethrxtime.c, lib/getloadavg.c, lib/getlogin_r.c:
2403         * lib/getndelim2.c, lib/getnline.c, lib/getopt.c, lib/getopt1.c:
2404         * lib/getpass.c, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c:
2405         * lib/getusershell.c, lib/glob.c, lib/group-member.c:
2406         * lib/hard-locale.c, lib/hash-pjw.c, lib/hash.c, lib/human.c:
2407         * lib/idcache.c, lib/inet_ntop.c, lib/inet_pton.c, lib/inttostr.c:
2408         * lib/isdir.c, lib/lchown.c, lib/linebuffer.c, lib/long-options.c:
2409         * lib/lstat.c, lib/malloc.c, lib/md5.c, lib/memcasecmp.c, lib/memchr.c:
2410         * lib/memcmp.c, lib/memcoll.c, lib/memcpy.c, lib/memmove.c:
2411         * lib/memrchr.c, lib/mkancesdirs.c, lib/mkdir-p.c, lib/mkdir.c:
2412         * lib/mkdirat.c, lib/mkstemp-safer.c, lib/mkstemp.c, lib/modechange.c:
2413         * lib/mountlist.c, lib/nanosleep.c, lib/obstack.c, lib/open-safer.c:
2414         * lib/openat-die.c, lib/openat.c, lib/pagealign_alloc.c, lib/physmem.c:
2415         * lib/pipe-safer.c, lib/posixtm.c, lib/posixver.c, lib/putenv.c:
2416         * lib/quote.c, lib/quotearg.c, lib/raise.c, lib/readtokens.c:
2417         * lib/readtokens0.c, lib/readutmp.c, lib/realloc.c, lib/regex.c:
2418         * lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c:
2419         * lib/same.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c:
2420         * lib/settime.c, lib/sha1.c, lib/sig2str.c, lib/snprintf.c:
2421         * lib/strdup.c, lib/strerror.c, lib/strftime.c, lib/stripslash.c:
2422         * lib/strndup.c, lib/strnlen.c, lib/strpbrk.c, lib/strtod.c:
2423         * lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c:
2424         * lib/time_r.c, lib/timegm.c, lib/tmpfile-safer.c, lib/unlinkdir.c:
2425         * lib/userspec.c, lib/utime.c, lib/utimecmp.c, lib/utimens.c:
2426         * lib/version-etc-fsf.c, lib/version-etc.c, lib/xalloc-die.c:
2427         * lib/xgetcwd.c, lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c:
2428         * lib/xnanosleep.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtoimax.c:
2429         * lib/xstrtol.c, lib/xstrtoumax.c, lib/yesno.c:
2430         Likewise.
2431
2432 2006-09-13  Eric Blake  <ebb9@byu.net>
2433
2434         * lib/getopt.c: Fix typo in last commit.
2435
2436 2006-09-12  Sergey Poznyakoff  <gray@gnu.org.ua>
2437
2438         * lib/argp-help.c (argp_doc): Make sure NULL is not passed to
2439         dgettext.
2440
2441 2006-09-12  Jim Meyering  <jim@meyering.net>
2442
2443         * lib/nanosleep.c: Include <sys/types.h> before sys/select.h, to avoid
2444         compilation failure (due to use of pid_t in latter) on NetBSD 1.6.
2445         Reported by Nelson H. F. Beebe.
2446
2447 2006-09-10  Sergey Poznyakoff  <gray@gnu.org.ua>
2448
2449         * lib/argp-parse.c (__argp_parse) [!_LIBC]: Make sure
2450         program_invocation_name and program_invocation_short_name are
2451         initialized.
2452         * lib/argp-namefrob.h: Move declarations of program_invocation_name
2453         and program_invocation_short_name to argp.h, so they are visible
2454         to user programs.
2455         * lib/argp.h: Likewise
2456
2457 2006-09-10  Bruno Haible  <bruno@clisp.org>
2458
2459         * modules/mkdtemp (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
2460         m4/inttypes_h.m4, m4/uintmax_t.m4.
2461
2462 2006-09-10  Bruno Haible  <bruno@clisp.org>
2463
2464         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Don't require
2465         gl_AC_TYPE_UINTMAX_T.
2466
2467 2006-09-10  Bruno Haible  <bruno@clisp.org>
2468
2469         * lib/mkdtemp.c: Include <stdint.h> always. Don't include <inttypes.h>.
2470
2471 2006-09-09  Sergey Poznyakoff  <gray@gnu.org.ua>
2472
2473         * lib/argp.h (struct argp): Document the N_("..") "\v" N_("..")
2474         convention.  Text proposed by Bruno Haible.
2475         (struct argp_option): Document the use of N_() wrappers.
2476
2477         * lib/argp-help.c (argp_doc): Split the untranslated doc string on
2478         '\v', and translate the two parts separately, instead of feeding
2479         the whole string to gettext.  This allows to exclude
2480         '\v' from the strings visible to the translator by writing doc
2481         strings as N_("..") "\v" N_("..").
2482
2483 2006-09-09  Paul Eggert  <eggert@cs.ucla.edu>
2484
2485         * config/srclist.txt: Undo latest change; the bug was fixed.
2486
2487 2006-09-09  Bruno Haible  <bruno@clisp.org>
2488
2489         * gnulib-tool (func_emit_lib_Makefile_am): Eliminate lib_LDFLAGS
2490         assignments if building a library without libtool.
2491         (func_emit_tests_Makefile_am): Likewise. Handle lib_* variables as
2492         in func_emit_lib_Makefile_am.
2493         (func_import): When building a static library libfoo.a, arrange to
2494         define variables LIBFOO_LIBDEPS and LIBFOO_LTLIBDEPS.
2495         (func_create_testdir): Likewise.
2496         * modules/gc (configure.ac, Makefile.am): If building statically,
2497         augment gl_libdeps and gl_ltlibdeps instead of lib_LDFLAGS.
2498         * modules/iconvme (configure.ac, Makefile.am): Likewise.
2499         * modules/striconv (configure.ac, Makefile.am): Likewise.
2500         Based on a suggestion by Ralf Wildenhues.
2501
2502 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
2503
2504         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
2505         Check for unistd.h too, since Autoconf doesn't assume POSIX.
2506         Also:
2507
2508         2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
2509         Add year_2050_test to catch glibc bug 2821
2510         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
2511
2512         2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
2513         Prefer #ifdef to #if.
2514
2515         2006-04-02  Paul Eggert  <eggert@cs.ucla.edu>
2516         Return from 'main' instead of calling 'exit'.
2517
2518 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
2519
2520         * lib/mktime.c (guess_time_tm): Fix bug where mktime
2521         returned the maximum time_t value rather than (time_t) -1.
2522         Problem originally reported by William Bardwell
2523         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
2524
2525         * lib/isapipe.h (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
2526         Moved to here ...
2527         * lib/isapipe.c (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
2528         ... from here.
2529
2530 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
2531
2532         * config/srclist.txt: Temporarily comment out mktime.c until glibc bug
2533         2821 is fixed.
2534
2535 2006-09-08  Jim Meyering  <jim@meyering.net>
2536
2537         Don't make generated files read-only.  That would bother too many
2538         people.  However, do retain the ability to work when targets are
2539         read-only: remove the destination and temporary files before writing
2540         them (when generated via sed or echo), or by using the -f option for
2541         both cp and mv commands.  Suggestion to use -f from Paul Eggert.
2542         * modules/alloca-opt, modules/argz, modules/arpa_inet:
2543         * modules/byteswap, modules/configmake, modules/fcntl:
2544         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
2545         * modules/localcharset, modules/netinet_in, modules/poll:
2546         * modules/stdbool, modules/stdint, modules/sys_select:
2547         * modules/sys_socket, modules/sys_stat, modules/sysexits:
2548
2549 2006-09-08  Jim Meyering  <jim@meyering.net>
2550
2551         Avoid new build failure on FreeBSD 6.0.
2552         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Include
2553         <sys/param.h> when testing whether getmntinfo uses statvfs.  Patch by
2554         Pavel Tsekov, in <http://savannah.gnu.org/bugs/?17643>.
2555
2556 2006-09-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
2557
2558         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't use plain echo.
2559
2560 2006-09-07  Jim Meyering  <jim@meyering.net>
2561
2562         Fix global typo in last change: use chmod u-w, not chmod u-x.
2563         Spotted by Paul Eggert and Bruce Korb.
2564         * modules/alloca-opt, modules/argz, modules/arpa_inet:
2565         * modules/byteswap, modules/configmake, modules/fcntl:
2566         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
2567         * modules/localcharset, modules/netinet_in, modules/poll:
2568         * modules/stdbool, modules/stdint, modules/sys_select:
2569         * modules/sys_socket, modules/sys_stat, modules/sysexits:
2570
2571 2006-09-06  Jim Meyering  <jim@meyering.net>
2572
2573         Make generated files be read-only.
2574         * modules/alloca-opt (Makefile.am): Work also when $@ is read-only.
2575         Ensure that each generated file is now read-only.
2576         * modules/argz: Likewise.
2577         * modules/arpa_inet: Likewise.
2578         * modules/byteswap: Likewise.
2579         * modules/configmake: Likewise.
2580         * modules/fcntl: Likewise.
2581         * modules/fnmatch: Likewise.
2582         * modules/getopt: Likewise.
2583         * modules/glob: Likewise.
2584         * modules/inttypes: Likewise.
2585         * modules/netinet_in: Likewise.
2586         * modules/poll: Likewise.
2587         * modules/stdbool: Likewise.
2588         * modules/stdint: Likewise.
2589         * modules/sys_select: Likewise.
2590         * modules/sys_socket: Likewise.
2591         * modules/sys_stat: Likewise.
2592         * modules/sysexits: Likewise.
2593         * modules/localcharset: Same as above, but continue using temporary
2594         file named "t-$@" (why different?) rather than the "$@-t" used
2595         everywhere else.
2596
2597         * modules/sysexits (Makefile.am): Replace literal occurrences
2598         of "sysexit.h" more readable, and more consistent, "$@".
2599
2600 2006-09-06  Bruno Haible  <bruno@clisp.org>
2601
2602         * modules/striconv: New file.
2603         * modules/xstriconv: New file.
2604         * MODULES.html.sh (Internationalization functions): Add striconv,
2605         xstriconv.
2606
2607 2006-09-06  Bruno Haible  <bruno@clisp.org>
2608
2609         * modules/gc (Makefile.am): Augment lib_LDFLAGS, not lib_LIBADD.
2610         * modules/iconvme (Makefile.am): Likewise. Also handle the case of
2611         not using libtool correctly.
2612
2613 2006-09-06  Bruno Haible  <bruno@clisp.org>
2614
2615         * lib/striconv.h: New file.
2616         * lib/striconv.c: New file, merging iconvme.c with GNU gettext's
2617         iconvstring.c.
2618         * lib/xstriconv.h: New file.
2619         * lib/xstriconv.c: New file.
2620
2621 2006-09-06  Bruno Haible  <bruno@clisp.org>
2622
2623         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
2624         lib_..._LDFLAGS.
2625
2626 2006-09-05  Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
2627
2628         * lib/argz_.h: Sync from Libtool.
2629
2630         2006-09-04  George Bosilca <bosilca@cs.utk.edu>
2631                 and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
2632
2633         * lib/libltdl/argz_.h: It's __cplusplus, not _cplusplus.
2634
2635 2006-09-05  Davide Angelocola <davide.angelocola@tiscali.it>
2636
2637         * modules/trim: New file.
2638
2639 2006-09-05  Davide Angelocola <davide.angelocola@tiscali.it>
2640
2641         * lib/trim.h: New file.
2642         * lib/trim.c: New file.
2643
2644 2006-09-05  Bruno Haible  <bruno@clisp.org>
2645
2646         * MODULES.html.sh (String handling): Add trim.
2647
2648 2006-09-04  Karl Berry  <karl@gnu.org>
2649
2650         * config/srclist.txt (signed.m4, gettext.m4): changes not propagated
2651         until next release.
2652
2653 2006-09-03  Bruno Haible  <bruno@clisp.org>
2654
2655         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Locate mingw shared libraries
2656         correctly.
2657
2658 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
2659
2660         * m4/getloadavg.m4 (gl_GETLOADAVG): Use CONFIGURING_GETLOADAVG,
2661         not gl_GETLOADAVG.  Omit unneeded semicolons.
2662         Problems reported by Ralf Wildenhues in
2663         <http://lists.gnu.org/archive/html/bug-gnulib/2006-09/msg00000.html>.
2664         (gl_PREREQ_GETLOADAVG): Use AC_DEFUN, not m4_define.  Put
2665         at the end, which is the usual gnulib style.
2666
2667         * m4/fstypename.m4 (gl_FSTYPENAME): Use AC_CHECK_MEMBERS instead
2668         of doing all the work ourselves.
2669         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Don't check for
2670         sys/statvfs.h since the code doesn't use HAVE_SYS_STATVFS_H.
2671
2672 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
2673
2674         * lib/getloadavg.c: Use CONFIGURING_GETLOADAVG, not gl_GETLOADAVG.
2675         Problem reported by Ralf Wildenhues in
2676         <http://lists.gnu.org/archive/html/bug-gnulib/2006-09/msg00000.html>.
2677
2678         * lib/mountlist.c: All uses of HAVE_F_FSTYPENAME_IN_STATFS replaced by
2679         HAVE_STRUCT_STATFS_F_FSTYPENAME.
2680
2681 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
2682
2683         * gnulib-tool (func_emit_lib_Makefile_am): Fix typos in
2684         yesterday's patch by changing test -n to test -z.
2685
2686 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
2687
2688         * modules/getloadavg (Files): Add m4/getloadavg.m4.
2689         (configure.ac): AC_FUNC_GETLOADAVG -> gl_GETLOADAVG, as
2690         the former is now obsolescent.
2691
2692         * modules/chdir-long (Depends-on): Add fcntl.
2693
2694 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
2695
2696         * m4/fnmatch.m4: Add comment that Autoconf AC_FUNC_FNMATCH is
2697         obsolescent, and programs should use gnulib instead.
2698         * m4/getloadavg.m4: New file, with contents taken from Autoconf
2699         but with prefixes changed.
2700
2701 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
2702
2703         * lib/getloadavg.c [defined gl_GETLOADAVG]: Don't include config.h
2704         or stdbool.h, because they might not exist while configuring.
2705
2706         * lib/chdir-long.c: Include <fcntl.h>, for O_DIRECTORY.
2707         Don't include unistd.h or limits.h; not needed, since chdir-long.h
2708         does that for us.
2709         (O_DIRECTORY): Remove.
2710
2711 2006-08-31  Eric Blake  <ebb9@byu.net>
2712
2713         * gnulib-tool: Don't let emacs change spaces to TAB.
2714
2715 2006-08-31  Bruno Haible  <bruno@clisp.org>
2716
2717         * gnulib-tool: When calling func_import more than once, do it in a
2718         subshell.
2719         Reported by Eric Blake <ebb9@byu.net>.
2720
2721 2006-08-31  Bruno Haible  <bruno@clisp.org>
2722
2723         * gnulib-tool (nl): Remove variable.
2724         (sed_transform_lib_file): Use more robust test for config-h module.
2725         (func_import): Fix typo in 2006-08-25 patch.
2726
2727 2006-08-31  Bruno Haible  <bruno@clisp.org>
2728
2729         * gnulib-tool (func_emit_lib_Makefile_am): When --makefile-name was
2730         specified, augment Makefile.am variables instead of assigning them.
2731
2732 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
2733
2734         Work around a bug in both the Linux and SunOS 64-bit kernels:
2735         nanosleep mishandles sleeps for longer than 2**31 seconds.
2736         Problem reported by Frank v Waveren in
2737         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00298.html>.
2738         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require gl_CLOCK_TIME.
2739         Check for nanosleep bug.
2740         (LIB_NANOSLEEP): Append clock_gettime library if needed.
2741
2742 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
2743
2744         Work around a bug in both the Linux and SunOS 64-bit kernels:
2745         nanosleep mishandles sleeps for longer than 2**31 seconds.
2746         Problem reported by Frank v Waveren in
2747         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00298.html>.
2748         * lib/nanosleep.c (BILLION): New constant.
2749         (getnow) [HAVE_BUG_BIG_NANOSLEEP]: New functions.
2750         (rpl_nanosleep) [HAVE_BUG_BIG_NANOSLEEP]: Completely new
2751         implementation.
2752
2753 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
2754
2755         * modules/nanosleep (Depends-on): Add gettime.
2756
2757 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
2758         and Simon Josefsson  <jas@extundo.com>
2759         and Oskar Liljeblad  <oskar@osk.mine.nu>
2760
2761         * MODULES.html.sh (Support for building documentation): Add gpl, lgpl.
2762         * gnulib-tool (func_import): New license type 'unmodifiable license
2763         text'.
2764         * modules/fdl: Use it.  Longer description.
2765         * module/gpl, module/lgpl: New files.
2766
2767 2006-08-30  Jim Meyering  <jim@meyering.net>
2768
2769         * lib/isapipe.c (isapipe): Rename local s/fd/fd_pair/ to avoid
2770         shadowing the parameter.
2771
2772 2006-08-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
2773
2774         Sync from Libtool:
2775
2776         2006-08-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
2777
2778         * lib/libltdl/argz.c: Use `#ifdef HAVE_CONFIG_H', to facilitate code
2779         sharing with gnulib.  Report by Eric Blake.
2780
2781 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
2782
2783         * modules/isapipe: New file.
2784         * MODULES.html.sh (File descriptor based Input/Output): Add isapipe.
2785
2786 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
2787
2788         * modules/configmake (Makefile.am): Add a comment, and omit
2789         the CONFIGMAKE_ prefix from generated macro names.  Suggested
2790         by Bruno Haible.
2791
2792 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
2793
2794         * m4/isapipe.m4: New file.
2795
2796 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
2797
2798         * lib/isapipe.c, lib/isapipe.h: New files.
2799
2800 2006-08-29  Jim Meyering  <jim@meyering.net>
2801
2802         * modules/configmake (Makefile.am): Make configmake.h depend on
2803         Makefile.  Otherwise, a stale configmake.h could hang around.
2804
2805 2006-08-29  Eric Blake  <ebb9@byu.net>
2806
2807         * lib/error.c (error_at_line, print_errno_message): Match libc, after
2808         resolution of upstream bug 3044.
2809
2810 2006-08-29  Bruno Haible  <bruno@clisp.org>
2811
2812         * modules/localcharset (Depends-on): Add configmake.
2813         (Makefile.am): Remove setting of LIBDIR through DEFS.
2814
2815 2006-08-29  Bruno Haible  <bruno@clisp.org>
2816
2817         * lib/localcharset.c: Include configmake.h in order to get LIBDIR
2818         defined.
2819
2820 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
2821
2822         * modules/fcntl: New file.
2823         * modules/chdir-safer (Depends-on): Add fcntl.
2824         * modules/fts: Likewise.
2825         * modules/mkdir-p: Likewise.
2826
2827         * modules/stdint (Makefile.am): Do not substitute ABSOLUTE_INTTYPES_H.
2828         This undoes the most recent change, since we're now addressing the
2829         problem in a different way.
2830
2831         * gnulib-tool (emit_lib_Makefile_am): Don't put $makefile_name
2832         into output, since the output might be called Makefile.am even
2833         if $makefile_name is something different.
2834         (func_import): Use $makefile_am rather than
2835         ${makefile_name-Makefile.am}, to fix a bug where makefile_name was
2836         empty.
2837
2838         * modules/inttypes (Files): Add m4/inttypes-h.m4.
2839
2840 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
2841
2842         * m4/inttypes.m4 (gl_INTTYPES_H): Move ABSOLUTE_INTTYPES_H code here...
2843         * m4/stdint.m4 (gl_STDINT_H): ... from here.  This undoes the most
2844         recent change to stdint.m4, since we're now addressing the problem in a
2845         different way.
2846
2847 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
2848
2849         * m4/fcntl_h.m4: New file.
2850
2851 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
2852
2853         * lib/fcntl_.h: New file.
2854         * lib/chdir-safer.c (O_DIRECTORY, O_NOFOLLOW): Remove, now that we have
2855         the fcntl module.
2856         * lib/dirchownmod.c: Likewise.
2857         * lib/fts.c: Likewise.
2858
2859         * lib/inttypes_.h [defined _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H]:
2860         Include @ABSOLUTE_INTTYPES_H@ if available, but do nothing else.
2861         * lib/stdint_.h (_GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H): Define
2862         just before including <inttypes.h>, to avoid circular inclusion.
2863
2864 2006-08-28  Jim Meyering  <jim@meyering.net>
2865
2866         * doc/visibility.texi: Actually read and correct the grammar of the
2867         sentence affected by yesterday's change.
2868
2869 2006-08-28  Eric Blake  <ebb9@byu.net>
2870
2871         * modules/inttypes (Makefile.am): Fix sed error when inttypes.h
2872         needs wrapper.
2873
2874 2006-08-28  Eric Blake  <ebb9@byu.net>
2875
2876         * m4/inttypes.m4 (gl_INTTYPES_H): Fix missing #endif.
2877
2878 2006-08-28  Eric Blake  <ebb9@byu.net>
2879
2880         * m4/codeset.m4 (AM_LANGINFO_CODESET): Avoid compiler warning.
2881
2882 2006-08-28  Bruno Haible  <bruno@clisp.org>
2883
2884         * modules/c-strstr: New file, from GNU gettext.
2885         * MODULES.html.sh (String handling): Add c-strstr.
2886
2887 2006-08-28  Bruno Haible  <bruno@clisp.org>
2888
2889         * m4/inttypes.m4 (gl_INTTYPES_H): Don't test for the existence of SCNX*
2890         macros.
2891         Reported by Eric Blake.
2892
2893 2006-08-28  Bruno Haible  <bruno@clisp.org>
2894
2895         * lib/vasnprintf.c (EOVERFLOW): Remove definition.
2896         (VASNPRINTF): Return a string of length > INT_MAX without failing.
2897         * lib/vasprintf.c: Include errno.h, limits.h.
2898         (EOVERFLOW): New fallback definition.
2899         (vasprintf): Test here whether the string length is > INT_MAX.
2900         * lib/vsnprintf.c: Include errno.h, limits.h.
2901         (EOVERFLOW): New fallback definition.
2902         (vsnprintf): Fix bug when generated string was too long for the buffer.
2903         Test here whether the string length is > INT_MAX.
2904
2905 2006-08-28  Bruno Haible  <bruno@clisp.org>
2906
2907         * lib/inttypes_.h (SCNX*): Remove definitions.
2908         Reported by Eric Blake.
2909
2910 2006-08-28  Bruno Haible  <bruno@clisp.org>
2911
2912         * lib/c-strstr.h: New file, from GNU gettext.
2913         * lib/c-strstr.c: New file, from GNU gettext.
2914
2915 2006-08-28  Bruno Haible  <bruno@clisp.org>
2916
2917         * gnulib-tool: Reorder some statements.
2918
2919 2006-08-28  Bruno Haible  <bruno@clisp.org>
2920
2921         * gnulib-tool: New option --makefile-name.
2922         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Use
2923         $makefile_name.
2924         (func_import): Write $makefile_name to the cache file, and read it from
2925         there unless explicitly specified. Use $makefile_name as file name
2926         instead of Makefile.am. Adjust the recommendations accordingly.
2927
2928 2006-08-28  Bruno Haible  <bruno@clisp.org>
2929
2930         * gnulib-tool (func_verify_module): Check against misapplying patch.
2931
2932 2006-08-28  Bruno Haible  <bruno@clisp.org>
2933
2934         * gnulib-tool (func_relativize, func_relconcat): New functions.
2935         Give an error if --local-dir is given with --update.
2936         Remove trailing slashes from $local_gnulib_dir.
2937         (func_import): Store the relativized $local_gnulib_dir in
2938         gnulib-cache.m4, and read it from there if not specified explicitly.
2939
2940 2006-08-28  Bruno Haible  <bruno@clisp.org>
2941
2942         * gnulib-tool (func_get_tests_module): Don't assume that $gnulib_dir
2943         is the current directory. Respect also $local_gnulib_dir.
2944
2945 2006-08-28  Bruno Haible  <bruno@clisp.org>
2946             Simon Josefsson  <jas@extundo.com>
2947
2948         BeOS portability.
2949         * lib/getaddrinfo.c (PF_INET, PF_UNSPEC): New macros.
2950
2951 2006-08-27  Jim Meyering  <jim@meyering.net>
2952
2953         * doc/visibility.texi: Remove duplicate word: "pointer".
2954
2955 2006-08-26  Bruno Haible  <bruno@clisp.org>
2956
2957         * modules/inttypes (Files): Add lib/inttypes_.h, remove lib/inttypes.h.
2958         Add m4/inttypes.m4, remove m4/_inttypes_h.m4 and m4/include_next.m4.
2959         (Makefile.am): Create inttypes.h from inttypes_.h.
2960         * modules/stdint (Makefile.am): Substitute also ABSOLUTE_INTTYPES_H.
2961
2962         * modules/imaxabs: New file.
2963
2964         * modules/imaxdiv: New file.
2965
2966 2006-08-26  Bruno Haible  <bruno@clisp.org>
2967
2968         * m4/inttypes.m4: New file.
2969         * m4/_inttypes_h.m4: Remove file.
2970         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Also AC_SUBST
2971         PRI_MACROS_BROKEN.
2972         * m4/stdint.m4 (gl_STDINT_H): Define also ABSOLUTE_INTTYPES_H.
2973
2974         * m4/imaxabs.m4: New file.
2975
2976         * m4/imaxdiv.m4: New file.
2977
2978 2006-08-26  Bruno Haible  <bruno@clisp.org>
2979
2980         * lib/inttypes_.h: New file.
2981         * lib/inttypes.h: Remove file.
2982         * lib/stdint_.h: Include <inttypes.h> through its absolute filename.
2983
2984         * lib/imaxabs.c: New file.
2985
2986         * lib/imaxdiv.c: New file.
2987
2988 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
2989
2990         New config-h module, so that "make" output needn't be cluttered
2991         by -DHAVE_CONFIG_H.
2992         * MODULES.html.sh (Support for building libraries and executables):
2993         Add config-h.
2994         * modules/config-h: New file.
2995         * gnulib-tool (nl, sed_transform_lib_file): New vars.
2996         (func_import): Turn "#ifdef HAVE_CONFIG_H" to "#if 1" if
2997         the config-h module is used.
2998
2999         New configmake module, so that "make" output needn't be cluttered
3000         by fluff like '-DLIBDIR=\"/usr/local/lib\"'.
3001         * MODULES.html.sh (Support for building libraries and executables):
3002         Add configmake.
3003         * modules/configmake: New file.
3004
3005 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
3006
3007         * m4/config-h.m4: New file.
3008
3009 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
3010
3011         * config/srclist.txt: Add elisp-comp.
3012
3013 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
3014
3015         * MODULES.html.sh (Support for building libraries and executables):
3016         Add elisp-comp.
3017         * build-aux/elisp-comp: New file.
3018         * modules/elisp-comp: New file.
3019
3020 2006-08-24  Bruno Haible <bruno@clisp.org>
3021
3022         * gnulib-tool (func_create_testdir): Use non-default values of
3023         sourcebase and m4base.
3024
3025 2006-08-24  Bruno Haible <bruno@clisp.org>
3026
3027         * MODULES.html.sh (Compatibility checks for POSIX:2001 functions: Fix
3028         HTML structure.
3029
3030 2006-08-23  Paul Eggert  <eggert@cs.ucla.edu>
3031
3032         * modules/openat (Depends-on): Add lchown.
3033
3034 2006-08-23  Bruno Haible <bruno@clisp.org>
3035
3036         * gnulib-tool (func_import, func_create_testdir): Emit an invocation
3037         of gl_LOCK_EARLY instead of gl_LOCK.
3038
3039 2006-08-23  Bruno Haible  <bruno@clisp.org>
3040
3041         * m4/lock.m4 (gl_LOCK_BODY): Change the default value of gl_use_threads
3042         on OSF/1 to no.
3043         Reported by Stephen Cartwright <sgcartwr@ucalgary.ca>.
3044
3045 2006-08-23  Bruno Haible  <bruno@clisp.org>
3046
3047         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't consider BeOS statvfs
3048         as unusable.
3049
3050         * m4/lock.m4 (gl_LOCK_EARLY): Renamed from gl_LOCK.
3051         (gl_LOCK_BODY): Remove gl_PREREQ_LOCK invocation.
3052         (gl_LOCK): New macro.
3053
3054 2006-08-22  Simon Josefsson  <jas@extundo.com>
3055
3056         * modules/gc-md5 (Makefile.am): Need to add md5.h, after changes
3057         to md5 module.
3058
3059 2006-08-22  Simon Josefsson  <jas@extundo.com>
3060
3061         * MODULES.html.sh: Add "Support for maintaining and release
3062         projects".
3063
3064         * build-aux/gnupload: New file, from coreutils.
3065
3066 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
3067
3068         Avoid the need for AC_LIBSOURCES in m4 macros.
3069         * modules/arcfour (EXTRA_DIST): Add arcfour.h.
3070         * modules/arctwo (EXTRA_DIST): Add arctwo.h.
3071         * modules/check-version (EXTRA_DIST): Add check-version.h.
3072         * modules/crc (EXTRA_DIST): Add crc.h.
3073         * modules/des (EXTRA_DIST): Add des.h.
3074         * modules/gc (EXTRA_DIST): Add gc.h.
3075         * modules/getdelim (EXTRA_DIST): Add getdelim.h.
3076         * modules/getline (EXTRA_DIST): Add getline.h.
3077         * modules/getlogin_r (EXTRA_DIST): Add getlogin_r.h.
3078         * modules/hmac-md5 (EXTRA_DIST): Add hmac.h.
3079         * modules/hmac-sha1 (EXTRA_DIST): Add hmac.h.
3080         * modules/md2 (EXTRA_DIST): Add md2.h.
3081         * modules/md4 (EXTRA_DIST): Add md4.h.
3082         * modules/pagealign_alloc (EXTRA_DIST): Add pagealign_alloc.h.
3083         * modules/read-file (EXTRA_DIST): Add read-file.h.
3084         * modules/readline (EXTRA_DIST): Add readline.h.
3085         * modules/rijndael (EXTRA_DIST): Add rijndael-alg-fst.h,
3086         rijndael-api-fst.h.
3087
3088 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
3089
3090         * m4/rijndael.m4 (gl_ARCFOUR):
3091         * m4/arctwo.m4 (gl_ARCTWO):
3092         * m4/check-version.m4 (gl_CHECK_VERSION):
3093         * m4/crc.m4 (gl_CRC):
3094         * m4/des.m4 (gl_DES):
3095         * m4/gc-pbkdf2-sha1.m4 (gl_GC_PBKDF2_SHA1):
3096         * m4/gc.m4 (gl_GC):
3097         * m4/getdelim.m4 (gl_FUNC_GETDELIM):
3098         * m4/getline.m4 (gl_FUNC_GETLINE):
3099         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE):
3100         * m4/hmac-md5.m4 (gl_HMAC_MD5):
3101         * m4/hmac-sha1.m4 (gl_HMAC_SHA1):
3102         * m4/md2.m4 (gl_MD2):
3103         * m4/md4.m4 (gl_MD4):
3104         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC):
3105         * m4/read-file.m4 (gl_FUNC_READ_FILE):
3106         * m4/readline.m4 (gl_FUNC_READLINE):
3107         * m4/rijndael.m4 (gl_RIJNDAEL):
3108         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
3109         to get the necessary .h files and whatnot.
3110
3111 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
3112
3113         * config/srclist.txt: Remove gnupload, since coreutils now syncs from
3114         gnulib rather than the other way around.
3115         * config/srclistvars.sh (COREUTILS): Remove.
3116
3117 2006-08-22  Jim Meyering  <jim@meyering.net>
3118
3119         * modules/mkdir-p (Makefile.am): Fix typo: s/lib+SOURCES/lib_SOURCES/.
3120
3121         * modules/getpass-gnu (Makefile.am): Add getpass.h to EXTRA_DIST.
3122
3123 2006-08-22  Eric Blake  <ebb9@byu.net>
3124
3125         * modules/regexprops-generic: New file.
3126         * MODULES.html.sh (Support for building documentation): List it.
3127
3128 2006-08-22  Eric Blake  <ebb9@byu.net>
3129
3130         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Avoid compiler warning.
3131         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
3132         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Likewise.
3133         * m4/intmax_t.m4 (gt_AC_TYPE_INTMAX_T): Likewise.
3134
3135 2006-08-22  Bruno Haible <bruno@clisp.org>
3136
3137         * gnulib-tool (func_emit_lib_Makefile_am): Don't treat lib_LIBRARIES
3138         and lib_LTLIBRARIES like the other lib_* variables.
3139
3140 2006-08-22  Bruno Haible <bruno@clisp.org>
3141
3142         * build-aux/x-to-1.in: New file, from GNU gettext.
3143
3144 2006-08-22  Bruno Haible  <bruno@clisp.org>
3145
3146         * m4/readutmp.m4 (gl_READUTMP): Compile readutmp.c only if <utmp.h> or
3147         <utmpx.h> exists.
3148
3149 2006-08-22  Bruno Haible  <bruno@clisp.org>
3150
3151         * lib/readutmp.h: Skip most definitions if neither <utmp.h> nor
3152         <utmpx.h> exists.
3153
3154 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
3155
3156         BeOS portability.
3157         * lib/dirchownmod.c (dirchownmod): Don't use fchmod if it doesn't
3158         exist.
3159         Problem reported by Bruno Haible.
3160
3161 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
3162
3163         Avoid the need for AC_LIBSOURCES in m4 macros.
3164         * modules/acl (EXTRA_DIST): Add acl.h.
3165         * modules/argmatch (Files): Add m4/argmatch.m4.
3166         (configure.ac): Add gl_ARGMATCH.
3167         (EXTRA_DIST): Renamed from lib_SOURCES, for
3168         consistency with the other modules.  Remove argmatch.c.
3169         * modules/backupfile (EXTRA_DIST): Add backupfile.h.
3170         * modules/c-strtod (EXTRA_DIST): Add c-strtod.h.
3171         * modules/c-strtold (EXTRA_DIST): Add c-strtod.c, c-strtod.h.
3172         * modules/canonhost (EXTRA_DIST): Add c-canonhost.h.
3173         * modules/canonicalize (EXTRA_DIST): Add canonicalize.h.
3174         * modules/chdir-long (EXTRA_DIST): Add chdir-long.h.
3175         * modules/chdir-safer (EXTRA_DIST): Add chdir-safer.h.
3176         * modules/cloexec (EXTRA_DIST): Add cloexec.h.
3177         * modules/close-stream (EXTRA_DIST): Add close-stream.h.
3178         * modules/closeout (EXTRA_DIST): Add closeout.h.
3179         * modules/cycle-check (EXTRA_DIST): Add cycle-check.h.
3180         * modules/dev-ino (EXTRA_DIST): Add dev-ino.h.
3181         * modules/dirfd (EXTRA_DIST): Add dirfd.h.
3182         * modules/dirname (EXTRA_DIST): Renamed from lib_SOURCES.  Add
3183         dirname.h; remove basename.c and stripslash.c.
3184         * modules/exclude (EXTRA_DIST): Add exclude.h.
3185         * modules/exitfail (EXTRA_DIST): Add exitfail.h.
3186         * modules/fcntl-safer (EXTRA_DIST): Add fcntl-safer.h fcntl--.h.
3187         * modules/file-type (EXTRA_DIST): Add file-type.h.
3188         * modules/filemode (EXTRA_DIST): Add filemode.h.
3189         * modules/filenamecat (EXTRA_DIST): Add filenamecat.h.
3190         * modules/fopen-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
3191         * modules/fpending (EXTRA_DIST): Add __fpending.h.
3192         * modules/fprintftime (EXTRA_DIST): Add fprintftime.h.
3193         * modules/fsusage (EXTRA_DIST): Add fsusage.h.
3194         * modules/fts (EXTRA_DIST): Add fts_.h fts-cycle.c.
3195         * modules/getcwd (EXTRA_DIST): Add getcwd.h.
3196         * modules/getdate (EXTRA_DIST): Add getdate.c.
3197         * modules/gethrxtime (EXTRA_DIST): Add gethrxtime.h xtime.h.
3198         * modules/getpagesize (EXTRA_DIST): Add getpagesize.h.
3199         * modules/getpass (EXTRA_DIST): Add getpass.h.
3200         * modules/glob (EXTRA_DIST): Add glob_.h glob-libc.h.
3201         * modules/group-member (EXTRA_DIST): Add group-member.h.
3202         * modules/hard-locale (EXTRA_DIST): Add hard-locale.h.
3203         * modules/hash (EXTRA_DIST): Add hash.h.
3204         * modules/human (EXTRA_DIST): Add human.h.
3205         * modules/inttypes (EXTRA_DIST): Add inttypes.h.
3206         * modules/lchmod (EXTRA_DIST): Add lchmod.h.
3207         * modules/lchown (EXTRA_DIST): Add lchown.h.
3208         * modules/long-options (EXTRA_DIST): Add long-options.h.
3209         * modules/lstat (EXTRA_DIST): Add lstat.h.
3210         * modules/md5 (EXTRA_DIST): Add memcasecmp.h.
3211         * modules/memcoll (EXTRA_DIST): Add memcoll.h.
3212         * modules/mempcpy (EXTRA_DIST): Add mempcpy.h.
3213         * modules/memrchr (EXTRA_DIST): Add memrchr.h.
3214         * modules/memxor (EXTRA_DIST): Add memxor.h.
3215         * modules/mkancesdirs (EXTRA_DIST): Add mkancesdirs.h.
3216         * modules/mkdir-p (EXTRA_DIST): Add modechange.h.
3217         * modules/mountlist (EXTRA_DIST): Add mountlist.h.
3218         * modules/openat (EXTRA_DIST): Add at-func.c openat.h openat-priv.h.
3219         * modules/pathmax (EXTRA_DIST): Add pathmax.h.
3220         * modules/physmem (EXTRA_DIST): Add physmem.h.
3221         * modules/posixtm (EXTRA_DIST): Add posixtm.h.
3222         * modules/posixver (EXTRA_DIST): Add posixver.h.
3223         * modules/quote (EXTRA_DIST): Add quote.h.
3224         * modules/quotearg (EXTRA_DIST): Add quotearg.h.
3225         * modules/readtokens (EXTRA_DIST): Add readtokens.h.
3226         * modules/readutmp (EXTRA_DIST): Add readutmp.h.
3227         * modules/regex (EXTRA_DIST): Add regcomp.c regex.h regex_internal.c
3228         regex_internal.h regexec.c.
3229         * modules/safe-read (EXTRA_DIST): Add safe-read.h.
3230         * modules/safe-write (EXTRA_DIST): Add safe-write.h.
3231         * modules/same (EXTRA_DIST): Add same.h.
3232         * modules/same-inode (EXTRA_DIST): Add same-inode.h.
3233         * modules/save-cwd (EXTRA_DIST): Add save-cwd.h.
3234         * modules/savedir (EXTRA_DIST): Add savedir.h.
3235         * modules/sha1 (EXTRA_DIST): Add sha1.h.
3236         * modules/sig2str (EXTRA_DIST): Add sig2str.h.
3237         * modules/stat-macros (EXTRA_DIST): Add stat-macros.h.
3238         * modules/stat-time (EXTRA_DIST): Add stat-time.h.
3239         * modules/stdlib-safer (EXTRA_DIST): Add stdlib-safer.h stdlib--.h.
3240         * modules/strdup (EXTRA_DIST): Add strdup.h.
3241         * modules/strftime (EXTRA_DIST): Add strftime.h.
3242         * modules/strndup (EXTRA_DIST): Add strndup.h.
3243         * modules/strnlen (EXTRA_DIST): Add strnlen.h.
3244         * modules/strverscmp (EXTRA_DIST): Add strverscmp.h.
3245         * modules/time_r (EXTRA_DIST): Add time_r.h.
3246         * modules/timespec (EXTRA_DIST): Add timespec.h.
3247         * modules/tmpfile-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
3248         * modules/unistd-safer (EXTRA_DIST): Add unistd-safer.h unistd--.h.
3249         * modules/unlinkdir (EXTRA_DIST): Add unlinkdir.h.
3250         * modules/unlocked-io (EXTRA_DIST): Add unlocked-io.h.
3251         * modules/userspec (EXTRA_DIST): Add userspec.h.
3252         * modules/utimecmp (EXTRA_DIST): Add utimecmp.h.
3253         * modules/utimens (EXTRA_DIST): Add utimens.h.
3254         * modules/xalloc (EXTRA_DIST): Add xalloc.h.
3255         * modules/xgetcwd (EXTRA_DIST): Add xgetcwd.h.
3256         * modules/xnanosleep (EXTRA_DIST): Add xnanosleep.h.
3257         * modules/xreadlink (EXTRA_DIST): Add xreadlink.h.
3258         * modules/xstrtod (EXTRA_DIST): Add xstrtod.h.
3259         * modules/xstrtol (EXTRA_DIST): Add xstrtol.h.
3260         * modules/xstrtold (EXTRA_DIST): Add xstrtod.c xstrtod.h.
3261         * modules/yesno (EXTRA_DIST): Add yesno.h.
3262
3263 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
3264
3265         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Check for fchmod.
3266
3267         * m4/argmatch.m4: New file, from coreutils with AC_LIBSOURCES removed.
3268         * m4/dev-ino.m4, same-inode.m4: Remove.
3269
3270         * m4/_inttypes_h.m4 (gl_INTTYPES_H):
3271         * m4/acl.m4 (AC_FUNC_ACL):
3272         * m4/backupfile.m4 (gl_BACKUPFILE):
3273         * m4/c-strtod.m4 (gl_C99_STRTOLD):
3274         * m4/canon-host.m4 (gl_CANON_HOST):
3275         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
3276         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG):
3277         * m4/chdir-safer.m4 (gl_CHDIR_SAFER):
3278         * m4/cloexec.m4 (gl_CLOEXEC):
3279         * m4/close-stream.m4 (gl_CLOSE_STREAM):
3280         * m4/closeout.m4 (gl_CLOSEOUT):
3281         * m4/dirfd.m4 (gl_FUNC_DIRFD):
3282         * m4/dirname.m4 (gl_DIRNAME):
3283         * m4/exclude.m4 (gl_EXCLUDE):
3284         * m4/exitfail.m4 (gl_EXITFAIL):
3285         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER):
3286         * m4/file-type.m4 (gl_FILE_TYPE):
3287         * m4/filemode.m4 (gl_FILEMODE):
3288         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT):
3289         * m4/fpending.m4 (gl_FUNC_FPENDING):
3290         * m4/fprintftime.m4 (gl_FPRINTFTIME):
3291         * m4/fts.m4 (gl_FUNC_FTS):
3292         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL):
3293         * m4/getdate.m4 (gl_GETDATE):
3294         * m4/gethrxtime.m4 (gl_GETHRXTIME):
3295         * m4/getpagesize.m4 (gl_GETPAGESIZE):
3296         * m4/getpass.m4 (gl_FUNC_GETPASS):
3297         * m4/gettime.m4 (gl_GETTIME):
3298         * m4/getugroups.m4 (gl_GETUGROUPS):
3299         * m4/glob.m4 (gl_GLOB_SUBSTITUTE):
3300         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER):
3301         * m4/hard-locale.m4 (gl_HARD_LOCALE):
3302         * m4/hash.m4 (gl_HASH):
3303         * m4/idcache.m4 (gl_IDCACHE):
3304         * m4/lchmod.m4 (gl_FUNC_LCHMOD):
3305         * m4/lchown.m4 (gl_FUNC_LCHOWN):
3306         * m4/long-options.m4 (gl_LONG_OPTIONS):
3307         * m4/lstat.m4 (gl_FUNC_LSTAT):
3308         * m4/md5.m4 (gl_MD5):
3309         * m4/memcasecmp.m4 (gl_MEMCASECMP):
3310         * m4/memcoll.m4 (gl_MEMCOLL):
3311         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY):
3312         * m4/memrchr.m4 (gl_FUNC_MEMRCHR):
3313         * m4/memxor.m4 (gl_MEMXOR):
3314         * m4/mkancesdirs.m4 (gl_MKANCESDIRS):
3315         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS):
3316         * m4/modechange.m4 (gl_MODECHANGE):
3317         * m4/mountlist.m4 (gl_MOUNTLIST):
3318         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
3319         * m4/openat.m4 (gl_FUNC_OPENAT):
3320         * m4/pathmax.m4 (gl_PATHMAX):
3321         * m4/physmem.m4 (gl_PHYSMEM):
3322         * m4/posixtm.m4 (gl_POSIXTM):
3323         * m4/posixver.m4 (gl_POSIXVER):
3324         * m4/quote.m4 (gl_QUOTE):
3325         * m4/quotearg.m4 (gl_QUOTEARG):
3326         * m4/readtokens.m4 (gl_READTOKENS):
3327         * m4/readutmp.m4 (gl_READUTMP):
3328         * m4/regex.m4 (gl_REGEX):
3329         * m4/safe-read.m4 (gl_SAFE_READ):
3330         * m4/safe-write.m4 (gl_SAFE_WRITE):
3331         * m4/same.m4 (gl_SAME):
3332         * m4/save-cwd.m4 (gl_SAVE_CWD):
3333         * m4/savedir.m4 (gl_SAVEDIR):
3334         * m4/settime.m4 (gl_SETTIME):
3335         * m4/sha1.m4 (gl_SHA1):
3336         * m4/sig2str.m4 (gl_FUNC_SIG2STR):
3337         * m4/stat-macros.m4 (gl_STAT_MACROS):
3338         * m4/stat-time.m4 (gl_STAT_TIME):
3339         * m4/stdio-safer.m4 (gl_FOPEN_SAFER):
3340         * m4/stdlib-safer.m4 (gl_STDLIB_SAFER):
3341         * m4/strdup.m4 (gl_FUNC_STRDUP):
3342         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME):
3343         * m4/strndup.m4 (gl_FUNC_STRNDUP):
3344         * m4/strnlen.m4 (gl_FUNC_STRNLEN):
3345         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP):
3346         * m4/time_r.m4 (gl_TIME_R):
3347         * m4/timespec.m4 (gl_TIMESPEC):
3348         * m4/unistd-safer.m4 (gl_UNISTD_SAFER):
3349         * m4/unlinkdir.m4 (gl_UNLINKDIR):
3350         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO):
3351         * m4/userspec.m4 (gl_USERSPEC):
3352         * m4/utimecmp.m4 (gl_UTIMECMP):
3353         * m4/utimens.m4 (gl_UTIMENS):
3354         * m4/xalloc.m4 (gl_XALLOC):
3355         * m4/xgetcwd.m4 (gl_XGETCWD):
3356         * m4/xnanosleep.m4 (gl_XNANOSLEEP):
3357         * m4/xreadlink.m4 (gl_XREADLINK):
3358         * m4/xstrtod.m4 (gl_XSTRTOD):
3359         * m4/yesno.m4 (gl_YESNO):
3360         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
3361         to get the necessary .h files and whatnot.
3362
3363 2006-08-21  Mark D. Baushke  <mdb@gnu.org>
3364             Bruno Haible <bruno@clisp.org>
3365
3366         * gnulib-tool (func_verify_module): Work around Sun's non-POSIX 1003.2
3367         /bin/sh understanding of '!' conditional negation.
3368
3369 2006-08-21  Jim Meyering  <jim@meyering.net>
3370
3371         * modules/openat (Depends-on): Really alphabetize.
3372
3373         * modules/acl (Depends-on): Add error and quote.
3374
3375         * check-module (find_included_lib_files): Add at-func.c to the
3376         ok-to-include-more-than-once white list.
3377
3378         * modules/openat (Depends-on): Add lstat.  Alphabetize.
3379
3380 2006-08-21  Bruno Haible <bruno@clisp.org>
3381
3382         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
3383         Emit a pkgdata_DATA variable only if some snippets add contents to it.
3384         Reported by Martin Lambers <marlam@marlam.de>.
3385
3386 2006-08-21  Bruno Haible <bruno@clisp.org>
3387
3388         * gnulib-tool (func_emit_lib_Makefile_am): If the snippets already
3389         specify an installation location, don't emit a noinst_LIBRARIES or
3390         noinst_LTLIBRARIES assignment.
3391
3392 2006-08-21  Bruno Haible  <bruno@clisp.org>
3393
3394         BeOS portability.
3395         * modules/mbchar (Include): Don't test HAVE_WCTYPE_H any more, since
3396         BeOS has mbrtowc() but no <wctype.h>.
3397
3398 2006-08-21  Bruno Haible  <bruno@clisp.org>
3399
3400         BeOS portability.
3401         * m4/mbchar.m4 (gl_MBCHAR): Compile mbchar.c also if <wctype.h> doesn't
3402         exist.
3403
3404 2006-08-21  Bruno Haible  <bruno@clisp.org>
3405
3406         BeOS portability.
3407         * lib/mbchar.h: Include <wctype.h> only if it exists.
3408
3409 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
3410
3411         Remove files that are no longer needed by their respective modules.
3412         * m4/obstack.m4: Remove.
3413         * m4/strerror_r.m4: Remove.
3414         * m4/uint32_t.m4: Remove.
3415         * m4/uintptr_t.m4: Remove.
3416         * m4/ullong_max.m4: Remove.
3417         * m4/xstrtoimax.m4: Remove.
3418         * m4/xstrtoumax.m4: Remove.
3419
3420         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Do not require
3421         gl_AC_TYPE_UINTMAX_T, gl_STRUCT_DEV_INO, or gl_SAME_INODE, since gnulib
3422         dependencies now capture this.
3423
3424         * m4/cycle-check.m4 (gl_CYCLE_CHECK):
3425         Do not use AC_LIBSOURCES, since gnulib modules now do this.
3426         * m4/fsusage.m4 (gl_FSUSAGE): Likewise.
3427         * m4/human.m4 (gl_HUMAN): Likewise.
3428         * m4/inttostr.m4 (gl_INTTOSTR): Likewise.
3429         * m4/xstrtol.m4 (gl_XSTRTOL): Likewise.
3430
3431         * m4/filemode.m4 (gl_FILEMODE): Require AC_STRUCT_ST_DM_MODE.
3432
3433         * m4/filemode.m4 (gl_PREREQ_FSUSAGE_EXTRA): Do not require
3434         gl_AC_TYPE_INTMAX_T or gl_AC_TYPE_UINTMAX_T, since we now require
3435         stdint.
3436         * m4/human.m4 (gl_HUMAN): Likewise.
3437         * m4/inttostr.m4 (gl_PREREQ_INTTOSTR): Likewise.
3438         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Likewise.
3439         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
3440         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
3441         * m4/xstrtol (gl_XSTRTOL): Likewise.
3442
3443         * m4/gethrxtime.m4 (gl_XTIME): gl_AC_TYPE_LONG_LONG ->
3444         AC_TYPE_LONG_LONG_INT.
3445         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
3446         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Likewise.
3447         * m4/strtoull.m4 (gl_FUNC_STRTOULL): Likewise, for unsigned long.
3448         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
3449
3450         * m4/human.m4 (gl_HUMAN): Do not require AM_STDBOOL_H since we depend
3451         on stdbool.
3452
3453         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL_H, gl_PREREQ_XSTRTOL): Remove.
3454         (gl_PREREQ_XSTRTOUL): Remove.
3455
3456         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Check for hasmntopt.
3457
3458         * m4/posixver.m4: Fix comment since head -1 now works even in POSIX
3459         mode.
3460
3461 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
3462
3463         Add and change modules to make it easier for coreutils to use
3464         gnulib-tool.
3465         * modules/backupfile (Files): Remove m4/d-ino.m4.
3466         (Depends-on): Add d-ino.
3467         * modules/cycle-check (Depends-on): Add stdint.
3468         (lib_SOURCES): Add cycle-check.h.
3469         * modules/d-ino: New module.
3470         * modules/d-type: New module.
3471         * modules/error (Files): Remove m4/strerror_r.m4.
3472         * modules/filemode (Files): Add m4/st_dm_mode.m4.
3473         * modules/fsuage (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
3474         m4/inttypes_h.m4, m4/uintmax_t.m4.
3475         (Depends-on): Add stdint.
3476         (lib_SOURCES): Add fsusage.h.
3477         * modules/getcwd (Files): Remove d-ino.m4.
3478         (Depends-on): Add d-ino.
3479         * modules/getndelim2 (Depends-on): Add stdint.
3480         * modules/glob (Files): Remove m4/d-type.m4.
3481         (Depends-on): Add d-type.
3482         * modules/host-os: New module.
3483         * modules/human (Files):  Remove m4/ulonglong.m4, m4/stdint_h.m4,
3484         m4/inttypes_h.m4, m4/uintmax_t.m4.
3485         * Depends-on: Add stdint.
3486         (lib_SOURCES): Add human.h.
3487         * modules/inttostr (Files): Remove m4/intmax_t.m4,
3488         m4/inttostr.m4, m4/inttypes_h.m4, m4/longlong.m4, m4/stdint_h.m4,
3489         m4/uintmax_t.m4, m4/ulonglong.m4.
3490         (Depends-on): Add stdint.
3491         (EXTRA_DIST): Add inttostr.h.
3492         * modules/lchmod: New module.
3493         * modules/link-follow: New module.
3494         * modules/mkdir-p (Files): Remove lib/lchmod.h, m4/lchmod.m4.
3495         (Depends-on): Add lchmod.
3496         * modules/mkstemp (Files): Remove m4/ulonglong.m4,
3497         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4.
3498         (Depends-on): Add stdint.
3499         * modules/obstack (Files): Remove m4/inttypes_h.m4, m4/obstack.m4,
3500         m4/stdint_h.m4, m4/uintmax_t.m4, m4/ulonglong.m4.
3501         (Depends-on): Add stdint.
3502         (configure.ac): Change gl_OBSTACK to AC_FUNC_OBSTACK.
3503         * modules/perl: New module.
3504         * modules/regex (Depends-on): Add stdint.
3505         * modules/rmdir-errno: New module.
3506         * modules/strtoimax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
3507         m4/intmax_t.m4.
3508         (Depends-on): Add stdint.
3509         * modules/strtoumax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
3510         m4/uintmax_t.m4.
3511         (Depends-on): Add stdint.
3512         * modules/unlink-busy: New module.
3513         * modules/utimecmp (Depends-on): Add stdint.
3514         * modules/uptime: New module.
3515         * modules/winsz-ioctl: New module.
3516         * modules/winsz-termios: New module.
3517         * modules/xnanosleep (Depends-on): Add nanosleep.
3518         * modules/ullong_max: Remove.
3519         * modules/xstrtoimax (Files): Remove m4/xstrtoimax.m4.
3520         (configure.ac): Remove gl_XSTRTOIMAX; no action needed now.
3521         * modules/xstrtol (Files): Remove m4/ulonglong.m4, m4/longlong.m4,
3522         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4, m4/intmax_t.m4.
3523         (Depends-on): Add inttypes.
3524         (lib_SOURCES): Add xstrtol.h.
3525         * modules/xstrtoumax (Files): Remove m4/xstrtoumax.m4.
3526         (configure.ac): Remove gl_XSTRTOUMAX; no action needed now.
3527         * MODULES.html.sh: Move 'assert' into the assert section.
3528         Move 'dummy' into the linking section.
3529         Remove ullong_max.
3530         Add section for compatibility checks for POSIX:2001 functions,
3531         and put d-ino, d-type, link-follow, rmdir-errno, unlink-busy,
3532         winsz-ioctl, and winsz-termios into it.
3533         Add lchmod.
3534         Add top-level Misc section and put host-os, perl, and uptime
3535         into it.
3536
3537 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
3538
3539         * lib/cycle-check.h: Include <stdint.h> unconditionally, since we
3540         now assume the stdint module.  Do not include inttypes.h.
3541         * lib/fsusage.h: Likewise.
3542         * lib/getndelim2.c: Likewise.
3543         * lib/human.h: Likewise.
3544         * lib/inttostr.h: Likewise.
3545         * lib/obstack.c: Likewise.
3546         * lib/regex_internal.h: Likewise.
3547         * lib/tempname.c: Likewise.
3548         * lib/utimecmp.c: Likewise.
3549         * lib/xstrtol.h: Likewise.
3550
3551         * lib/stat_.h: Fix typo: HAVE_FUNC_LSTAT -> HAVE_LSTAT.
3552
3553         * lib/strtoimax.c: Adjust to macro name changes in Autoconf,
3554         e.g., HAVE_LONG_LONG -> HAVE_LONG_LONG_INT.
3555         * lib/xtime.h: Likewise.
3556
3557 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
3558
3559         * modules/openat (Files): Add lib/fchmodat.c.
3560         Fixes problem reported by Jay Youngman.
3561
3562 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
3563
3564         * lib/fchmodat.c: New file, from coreutils.  This was inadvertently
3565         omitted in the 2006-08-17 update.  Problem reported by Jay Youngman.
3566
3567 2006-08-18  Paul Eggert  <eggert@cs.ucla.edu>
3568             Bruno Haible  <bruno@clisp.org>
3569
3570         * m4/bison-i18n.m4 (BISON_I18N): Also handle the case where yacc exists
3571         and is a script that invokes bison. Tighten the code. Add comments.
3572
3573 2006-08-18  Jim Meyering  <jim@meyering.net>
3574
3575         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Also check for
3576         CLOCK_REALTIME, since gethrxtime may revert to using clock_gettime via
3577         gettime.c.  Gabor Z. Papp reported that gethrxtime-using programs
3578         failed to link due to unresolved clock_gettime on a linux-2.4.x system.
3579
3580 2006-08-18  Bruno Haible  <bruno@clisp.org>
3581
3582         * modules/bison-i18n: New file.
3583         * MODULES.html.sh (Internationalization functions): Add it.
3584
3585 2006-08-18  Bruno Haible  <bruno@clisp.org>
3586
3587         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Also check for
3588         sys/statvfs.h. When getmntinfo was found, check its declaration and
3589         set either MOUNTED_GETMNTINFO or MOUNTED_GETMNTINFO2 depending on it.
3590
3591 2006-08-18  Bruno Haible  <bruno@clisp.org>
3592
3593         * m4/bison-i18n.m4: New file, from bison.
3594
3595 2006-08-18  Bruno Haible  <bruno@clisp.org>
3596
3597         * lib/mountlist.c [MOUNTED_GETMNTINFO2]: Include sys/statvfs.h.
3598         (ME_DUMMY): Treat "kernfs" as a dummy.
3599         (read_file_system_list) [MOUNTED_GETMNTINFO2]: Implement.
3600
3601 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
3602
3603         Update from coreutils.
3604
3605         2006-08-15  Jim Meyering  <jim@meyering.net>
3606
3607         * m4/openat.m4 (gl_FUNC_OPENAT): Add at-func.c via AC_LIBSOURCES.
3608
3609         2006-01-17  Jim Meyering  <jim@meyering.net>
3610
3611         * m4/fts.m4 (gl_FUNC_FTS_CORE): Depend on gl_FUNC_OPENAT.
3612
3613         2006-01-11  Jim Meyering  <jim@meyering.net>
3614
3615         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile fchmodat.c.
3616         Check for the lchmod function.
3617
3618 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
3619
3620         Update from coreutils.
3621
3622         * lib/__fpending.h: Add copyright notice.
3623         * lib/fprintftime.h: Likewise.
3624         * lib/savedir.c: Use (C) in copyright notice.
3625         * lib/savedir.h: Likewise.
3626
3627         2006-08-15  Jim Meyering  <jim@meyering.net>
3628
3629         * lib/at-func.c: New file, with the logic of all emulated at-functions.
3630         * lib/openat-priv.h: Include <errno.h> and define ENOSYS,
3631         in support of the EXPECTED_ERRNO macro.
3632         * lib/openat.c (fstatat, unlinkat, fchownat): Remove function
3633         definitions.  Instead, define the appropriate symbols and include
3634         "at-func.c".
3635         * lib/mkdirat.c (mkdirat): Likewise.
3636         * lib/fchmodat.c (fchmodat): Likewise.
3637         (ENOSYS): Remove definition.
3638         * lib/openat.c: Don't include <errno.h>, now that "openat-priv.h" does
3639         it.  Don't include "unistd--.h" -- it wasn't ever used.
3640
3641         2006-01-17  Jim Meyering  <jim@meyering.net>
3642
3643         Rewrite fts.c not to change the current working directory,
3644         by using openat, fstatat, fdopendir, etc..
3645
3646         * lib/fts.c [! _LIBC]: Include "openat.h" and "unistd--.h".
3647         (HAVE_OPENAT_SUPPORT): Define.
3648         [_LIBC] (fchdir): Don't undef or define; no longer used.
3649         (FCHDIR): Define in terms of cwd_advance_fd rather than fchdir.
3650         Now, this `function' always succeeds, and consumes its file descriptor
3651         parameter -- so callers must not close such FDs.  Update callers.
3652         (diropen_fd, opendirat, cwd_advance_fd): New functions.
3653         (diropen): Add parameter, SP.  Adjust all callers.
3654         Implement using diropen_fd, rather than open.
3655         (fts_open): Initialize new member, fts_cwd_fd.
3656         Remove fts_rft-setting code.
3657         (fts_close): Close fts_cwd_fd, if necessary.
3658         (__opendir2): Define in terms of opendir or opendirat,
3659         depending on whether the FST_NOCHDIR flag is set.
3660         (fts_build): Since fts_safe_changedir consumes its FD, and since
3661         this code must do `closedir(dirp)', dup the dirfd(dirp) argument,
3662         and close the dup'd file descriptor upon failure.
3663         (fts_stat): Use fstatat(...AT_SYMLINK_NOFOLLOW) in place of lstat.
3664         (fts_safe_changedir): Tweak semantics to reflect that this function
3665         now calls cwd_advance_fd and hence consumes its FD argument.
3666         * lib/fts_.h [struct FTS] (fts_cwd_fd): New member.
3667         [struct FTS] (fts_rft): Remove now-unused member.
3668         [struct FTS] (fts_cycle.state): Improve comment.
3669
3670         * lib/openat.c (openat_needs_fchdir): New function.
3671         * lib/openat.h (openat_needs_fchdir): Declare it.
3672
3673 2006-08-16  Paul Eggert  <eggert@cs.ucla.edu>
3674
3675         * lib/memcoll.c (memcoll): Set errno = 0 in the shortcut case, too.
3676         Problem and fix reported by Pádraig Brady in
3677         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00099.html>.
3678
3679 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
3680
3681         * modules/cycle-check (configure.ac): Add gl_CYCLE_CHECK.
3682
3683 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
3684
3685         * lib/memcoll.c (memcoll): Optimize for the common case where the
3686         arguments are bytewise equal.
3687
3688 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
3689
3690         * doc/regexprops-generic.texi: Add a copyright notice.
3691
3692 2006-08-15  Bruno Haible  <bruno@clisp.org>
3693
3694         * modules/tmpdir (License): Change to LGPL.
3695
3696 2006-08-15  Bruno Haible  <bruno@clisp.org>
3697
3698         * gnulib-tool (func_all_modules, func_verify_module): COPYING is not a
3699         module.
3700
3701 2006-08-14  Simon Josefsson  <jas@extundo.com>
3702
3703         * config/srclist.txt: Add gnupload.
3704
3705 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
3706
3707         Change copyright notice from LGPL 2 to GPL 2, since that's the
3708         standard form used in the gnulib repository.
3709         * tests/test-lock.c: Likewise.
3710         * tests/test-stdint.c: Likewise.
3711         * tests/test-tls.c: Likewise.
3712
3713         * users.txt: Add bison, diffutils, libprelude, prelude-lml,
3714         prelude-manager.  User shorter URLs for GNU projects, without '?'.
3715         Add copyright notice.
3716
3717         * check-module: Add copyright notice.  Output a copyright
3718         notice if "--version" is specified.
3719         * modules/COPYING: New file.
3720         * tests/test-getaddrinfo.c: Add copyright notice.
3721         * tests/test-verify.c: Likewise.
3722
3723 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
3724
3725         Change copyright notice from LGPL 2 to GPL 2, since that's the
3726         standard form used in the gnulib repository.
3727         * lib/lock.c: LGPL -> GPL.
3728         * lib/lock.h: Likewise.
3729         * lib/strnlen1.c: Likewise.
3730         * lib/strnlen1.h: Likewise.
3731         * lib/tls.c: Likewise.
3732         * lib/tls.h: Likewise.
3733         * lib/tmpdir.c: Likewise.
3734
3735         * lib/TODO: Remove; this belongs only in coreutils.
3736
3737 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
3738
3739         Add copyright notices to long-enough files that lack them, since
3740         otherwise the files aren't clearly free.  Use the same notice that
3741         getdate.texi already uses.
3742         * doc/alloca-opt.texi: Add copyright notice.
3743         * doc/alloca.texi: Likewise.
3744         * doc/ctime.texi: Likewise.
3745         * doc/functions.texi: Likewise.
3746         * doc/gcd.texi: Likewise.
3747         * doc/gnulib-tool.texi: Likewise.
3748         * doc/inet_ntoa.texi: Likewise.
3749         * doc/visibility.texi: Likewise.
3750
3751         * doc/getdate.texi: Update FDL version from 1.1 to 1.2.
3752         * doc/quote.texi: Add copyright notice.
3753
3754         * doc/solaris-versions: Add SunOS 5.10, SunOS 1.x, SunOS 4.0, SunOS
3755         4.0.x, SunOS 4.1.1.1, SunOS 4.1.1_U1, SunOS 4.1.3B.  SunOS 4.1.3
3756         was Solaris 1.1A.  Remove space before B in Solaris 1.1.1B.
3757         Mention SunOS 5.11.  Mention that everything before SunOS 5.7
3758         is now obsolete, and give a pointer to the Sun list.
3759         Add copyright notice.
3760
3761 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
3762
3763         * config/srclistvars.sh: Add copyright notice.
3764
3765 2006-08-14  Eric Blake  <ebb9@byu.net>
3766
3767         Import the following change from libc:
3768
3769         2006-08-12  Ulrich Drepper  <drepper@redhat.com>
3770
3771         Upstream bug 2997.
3772         * lib/misc/error.c: Add space between program name and message if file
3773         name is missing.
3774
3775 2006-08-12  Karl Berry  <karl@gnu.org>
3776
3777         * config/srclist.txt (ssize_t.m4, sig_atomic_t.m4, signalblocking.m4):
3778         remove, these originate in gnulib now.
3779
3780 2006-08-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
3781
3782         * doc/Makefile (standards.info standards.html standards.dvi):
3783         Also depend on make-stds.texi.
3784
3785 2006-08-11  Paul Eggert  <eggert@cs.ucla.edu>
3786
3787         * lib/pipe-safer.c (pipe_safer): Fix misspelling: HAVE_FUNC_PIPE ->
3788         HAVE_PIPE.  Fix a file descriptor leak when fd_safer fails.
3789
3790         * lib/regex_internal.c (re_string_skip_chars): Don't assume WEOF fits
3791         in wchar_t.  Problem reported by Eric Blake.
3792
3793         * lib/snprintf.c (snprintf): memcpy LEN bytes, not SIZE - 1, when
3794         LEN is smaller than SIZE.  Suggested by Bruno Haible.
3795         Also, help the compiler to keep LEN in a register.
3796
3797 2006-08-11  Eric Blake  <ebb9@byu.net>
3798
3799         * users.txt: Sort.  Add tar.
3800
3801 2006-08-11  Bruno Haible  <bruno@clisp.org>
3802
3803         * users.txt: New file.
3804
3805 2006-08-11  Bruno Haible  <bruno@clisp.org>
3806
3807         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Include <stdio.h> and <time.h>
3808         before <wchar.h>. Needed for OSF/1 and BSD/OS.
3809
3810 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
3811
3812         * modules/snprintf (Depends-on): Remove minmax.
3813         (Maintainer): Add self and Bruno.
3814
3815 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
3816
3817         * lib/.cppi-disable: Add snprintf.h, socket_.h.
3818         * lib/snprintf.c: Include <errno.h> and <limits.h>.
3819         (EOVERFLOW): Define if the system does not.
3820         Do not include "minmax.h"; it wasn't used.
3821         (snprintf): Don't assume size_t promotes to an unsigned type.
3822         Fix bug when generated string was too long for the buffer: the
3823         buffer's contents are supposed to be the initial prefix of the
3824         output.  Don't assume vasnprintf returns EOVERFLOW if the size
3825         exceeds INT_MAX; do the check ourselves.
3826
3827         Import the following changes from libc:
3828
3829         2006-06-02  Jakub Jelinek  <jakub@redhat.com>
3830
3831         * lib/posix/regex_internal.c (re_string_skip_chars): If no character
3832         has been converted at all, set *last_wc to WEOF.  If mbrtowc failed,
3833         set wc to the byte which couldn't be converted.
3834         (re_string_reconstruct): Don't clear valid_raw_len before calling
3835         re_string_skip_chars.  If wc is WEOF after re_string_skip_chars, set
3836         tip_context using re_string_context_at.
3837
3838         2006-05-02  Ulrich Drepper  <drepper@redhat.com>
3839
3840         * lib/posix/regex.h: g++ still cannot handled [restrict].
3841
3842         2006-04-21  Ulrich Drepper  <drepper@redhat.com>
3843
3844         * lib/posix/regex.h: Remove special handling for VMS.
3845
3846 2006-08-10  Jim Meyering  <jim@meyering.net>
3847
3848         * modules/same-inode: New module.
3849         * modules/dev-ino: New module.
3850         * modules/cycle-check: Depend on these modules, rather than simply
3851         including their .h files.
3852         (Makefile.am): Don't list cycle-check.[ch] here, now that they're
3853         required via m4/cycle-check.m4.
3854         * modules/same: Depend on new same-inode module, rather than
3855         including same-inode.h.
3856         * modules/chdir-safer: New file.
3857
3858         * modules/chown (Depends-on): Add stat-macros.
3859
3860 2006-08-10  Jim Meyering  <jim@meyering.net>
3861
3862         * m4/cycle-check.m4: New file.
3863         Require gl_STRUCT_DEV_INO and gl_SAME_INODE.
3864         * m4/dev-ino.m4, m4/same-inode.m4: New files.
3865
3866 2006-08-10  Eric Blake  <ebb9@byu.net>
3867
3868         * modules/verror (Depends-on): Remove bogus gl_VERROR that snuck
3869         in from original proposal.
3870
3871 2006-08-10  Eric Blake  <ebb9@byu.net>
3872         and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
3873
3874         * gnulib-tool (func_import): Detect unexpanded macros in gnulib
3875         namespace.
3876
3877 2006-08-10  Bruno Haible  <bruno@clisp.org>
3878
3879         * gnulib-tool (func_create_testdir): Detect unexpanded macros here
3880         as well.
3881
3882 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
3883
3884         Sync from coreutils.
3885
3886         2006-07-19  Mike Frysinger  <vapier@gentoo.org>
3887
3888         * lib/mountlist.c [ME_REMOTE]: Filter out cifs.
3889         Reported by Toralf Förster in <http://bugs.gentoo.org/141012>.
3890
3891 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
3892
3893         * modules/restrict: Remove; no longer needed now that we assume
3894         Autoconf 2.59 or later.
3895         * MODULES.html.sh: Remove 'restrict'.
3896         * modules/argp (Depends-on): Remove 'restrict'.
3897         * modules/base64 (Depends-on): Likewise.
3898         * modules/gc (Depends-on): Likewise.
3899         * modules/getaddrinfo (Depends-on): Likewise.
3900         * modules/glob (Depends-on): Likewise.
3901         * modules/inet_ntop (Depends-on): Likewise.
3902         * modules/inet_pton (Depends-on): Likewise.
3903         * modules/memxor (Depends-on): Likewise.
3904         * modules/regex (Depends-on): Likewise.
3905         * modules/strtok_r (Depends-on): Likewise.
3906         * modules/time_r (Depends-on): Likewise.
3907
3908 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
3909
3910         * m4/argp.m4 (gl_ARGP): Require AC_C_RESTRICT.
3911         * m4/gc.m4 (gl_PREREQ_GC): Likewise.
3912         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
3913         * m4/inet_ntop.m4 (gl_PREREQ_INET_NTOP): Likewise.
3914         * m4/inet_pton.m4 (gl_PREREQ_INET_PTON): Likewise.
3915         * m4/memxor.m4 (gl_MEMXOR): Likewise.
3916         * m4/restrict.m4: Remove; no longer needed.  All remaining uses of
3917         gl_C_RESTRICT replaced by AC_C_RESTRICT.
3918
3919         Merge from coreutils.
3920         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_C_RESTRICT, not
3921         gl_C_RESTRICT, now that we assume Autoconf 2.59 or later.
3922         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
3923         * m4/time_r.m4 (gl_TIME_R): Likewise.
3924
3925 2006-08-09  Karl Berry  <karl@gnu.org>
3926
3927         * config/srclist.txt: no more gettext-tools, per Bruno.
3928
3929 2006-08-08  Eric Blake  <ebb9@byu.net>
3930
3931         * modules/verror: New module.
3932         * MODULES.html.sh: Document it.
3933
3934 2006-08-08  Eric Blake  <ebb9@byu.net>
3935
3936         * lib/verror.h, lib/verror.c: New files.
3937
3938 2006-08-08  Eric Blake  <ebb9@byu.net>
3939
3940         * lib/verror.c (verror_at_line): Work around glibc bug 2997, so that
3941         verror_at_line output complies with GNU Coding Standards even when
3942         file is NULL.
3943
3944 2006-08-07  Bruno Haible  <bruno@clisp.org>
3945
3946         * lib/allocsa.h (sa_alignof) [_AIX]: Also consider 'long long' in newer
3947         versions of AIX.
3948         Reported by Ralf Wildenhues.
3949
3950 2006-08-07  Bruno Haible  <bruno@clisp.org>
3951
3952         * gnulib-tool (func_create_testdir): Wrap the set of autoconf snippets
3953         in an AC_DEFUN. Needed so that the autoconf snippets can use
3954         AC_REQUIRE.
3955
3956 2006-08-06  Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
3957
3958         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
3959         Initialize pkgdata_DATA.
3960         * modules/javaversion (Makefile.am): Add to pkgdata_DATA, rather than
3961         overriding it.
3962
3963 2006-08-06  Eric Blake  <ebb9@byu.net>
3964
3965         * lib/error.h: Fold in some upstream changes from glibc.
3966         * lib/error.c: Likewise.
3967
3968 2006-08-04  Bruno Haible  <bruno@clisp.org>
3969
3970         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
3971         Make the mostlyclean-local rule depend on mostlyclean-generic.
3972         Reported by Jim Meyering. Solution suggested by Ralf Wildenhues.
3973
3974 2006-07-31  Bruno Haible  <bruno@clisp.org>
3975
3976         * m4/localcharset.m4 (gl_LOCALCHARSET): Remove tests for <stddef.h>,
3977         <stdlib.h>, <string.h>.
3978
3979 2006-07-30  Bruno Haible  <bruno@clisp.org>
3980
3981         * modules/readlink (License): Change to LGPL.
3982
3983 2006-07-30  Bruno Haible  <bruno@clisp.org>
3984
3985         * modules/javaversion (Makefile.am): Distribute javaversion.java and
3986         javaversion.class. Also install javaversion.class in $(pkgdatadir) and
3987         set PKGDATADIR to point to it.
3988
3989 2006-07-30  Bruno Haible  <bruno@clisp.org>
3990
3991         * modules/csharpexec (configure.ac): Comment out macro invocation.
3992         * modules/javaexec (configure.ac): Likewise.
3993         * modules/javacomp-script (configure.ac): Likewise.
3994
3995         * modules/csharpcomp-script (configure.ac): Use AC_REQUIRE.
3996
3997 2006-07-30  Bruno Haible  <bruno@clisp.org>
3998
3999         * modules/clean-temp (Depends-on): Add linkedhash-list, remove
4000         linked-list.
4001
4002 2006-07-30  Bruno Haible  <bruno@clisp.org>
4003
4004         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Assume <string.h> exists.
4005
4006 2006-07-30  Bruno Haible  <bruno@clisp.org>
4007
4008         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
4009         Initialize MOSTLYCLEANFILES to core and *.stackdump, so that core dumps
4010         get removed.
4011
4012 2006-07-29  Bruno Haible  <bruno@clisp.org>
4013
4014         Make it possible for gnulib-tool to work with locally modified or
4015         augmented gnulib repositories.
4016         * gnulib-tool (func_usage): Document --local-dir option.
4017         (local_gnulib_dir): New variable.
4018         Handle --local-dir option.
4019         (func_lookup_file): New function.
4020         (func_all_modules, func_verify_module): Look also in $local_gnulib_dir.
4021         (func_get_description, func_get_filelist, func_get_description,
4022         func_get_filelist, func_get_dependencies, func_get_autoconf_snippet,
4023         func_get_automake_snippet, func_get_include_directive,
4024         func_get_license, func_get_maintainer): Use func_lookup_file.
4025         (func_import, func_create_testdir): Use func_lookup_file.
4026
4027 2006-07-29  Bruno Haible  <bruno@clisp.org>
4028
4029         * modules/setenv (Depends-on): Add unistd.
4030
4031 2006-07-29  Bruno Haible  <bruno@clisp.org>
4032
4033         * lib/setenv.c: Undo unintended modification done on 2006-02-27.
4034
4035 2006-07-29  Bruno Haible  <bruno@clisp.org>
4036
4037         * lib/localcharset.c: Assume <stddef.h>, <stdlib.h>, <string.h> exist.
4038
4039 2006-07-29  Bruno Haible  <bruno@clisp.org>
4040
4041         * gnulib-tool (import, update): If there is no Makefile.am, look at
4042         aclocal.m4, instead of bailing out.
4043
4044 2006-07-29  Bruno Haible  <bruno@clisp.org>
4045
4046         * gnulib-tool (func_usage): Revert most of the 2006-07-15 change.
4047         Categorize the options by when they are useful.
4048
4049 2006-07-29  Bruno Haible  <bruno@clisp.org>
4050
4051         * gnulib-tool (func_usage): Document option --no-libtool.
4052         Handle option --no-libtool.
4053         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Update
4054         for changed semantics of $libtool variable.
4055         (func_import): Likewise. If libtool is not used, show this through
4056         an option --no-libtool.
4057         (func_create_testdir): Update.
4058
4059 2006-07-29  Bruno Haible  <bruno@clisp.org>
4060
4061         * gnulib-tool (func_import): Extend error message about missing
4062         --doc-base.
4063
4064 2006-07-29  Bruno Haible  <bruno@clisp.org>
4065
4066         * gnulib-tool (func_import): Don't create the $docbase directory if
4067         there is no file to store there.
4068
4069 2006-07-29  Bruno Haible  <bruno@clisp.org>
4070
4071         * gnulib-tool (autoconf_minversion): If a --dir option is given and
4072         relevant, look for configure.ac there, not in the current directory.
4073         Also use a simple search for AC_PREREQ, not "autoconf --trace".
4074
4075 2006-07-29  Bruno Haible  <bruno@clisp.org>
4076
4077         * gnulib-tool (SORT): New variable.
4078         (func_usage): Undocument --assume-autoconf option.
4079         Remove --assume-autoconf option handling.
4080         (autoconf_minversion): Determine from the contents of configure.ac.
4081         (func_import): Remove autoconf_minversion handling.
4082         Suggested by Eric Blake.
4083
4084 2006-07-29  Bruno Haible  <bruno@clisp.org>
4085
4086         * doc/gnulib-tool.texi (gl_LIBTOOL): Mention --no-libtool option.
4087
4088 2006-07-29  Bruno Haible  <bruno@clisp.org>
4089
4090         * config/srclist.txt (*setenv.[ch]): Remove rules.
4091
4092 2006-07-28  Yoann Vandoorselaere <yoann.v@prelude-ids.com>
4093
4094         * m4/inet_pton.m4, inet_ntop.m4: Check for netinet/in.h too.
4095
4096 2006-07-28  Yoann Vandoorselaere <yoann.v@prelude-ids.com>
4097
4098         * lib/inet_ntop.h, inet_pton.h: Need to include netinet/in.h before
4099         arpa/inet.h.
4100
4101 2006-07-28  Simon Josefsson  <jas@extundo.com>
4102
4103         * modules/inet_ntop (Depends-on): Depend on arpa_inet.
4104         * modules/inet_pton (Depends-on): Likewise.
4105
4106 2006-07-28  Simon Josefsson  <jas@extundo.com>
4107
4108         * m4/netinet_in_h.m4: New file.
4109
4110 2006-07-28  Simon Josefsson  <jas@extundo.com>
4111
4112         * lib/inet_ntop.h, inet_pton.h: No need to guard netinet/in.h
4113         #include's.
4114
4115 2006-07-28  Simon Josefsson  <jas@extundo.com>
4116
4117         * lib/inet_ntop.h, inet_pton.h: No need to guard arpa/inet.h
4118         #include's.
4119
4120 2006-07-28  Paul Eggert  <eggert@cs.ucla.edu>
4121
4122         * lib/modechange.c (mode_compile): Numeric modes now affect setuid and
4123         setgid on directories only if they set these bits.
4124         * lib/modechange.h: Remove obsolete comment about masks.
4125
4126 2006-07-28  Eric Blake  <ebb9@byu.net>
4127
4128         * lib/regex_internal.h (struct re_dfa_t) [!_LIBC]: Avoid invalid C89
4129         macro expansion.
4130
4131 2006-07-28  Bruno Haible <bruno@clisp.org>
4132
4133         * lib/inet_ntop.h, inet_pton.h: Use #if HAVE* instead of #ifdef HAVE*.
4134
4135 2006-07-28  Bruno Haible  <bruno@clisp.org>
4136
4137         * m4/mbchar.m4 (gl_MBCHAR): Also test for iswcntrl.
4138
4139 2006-07-28  Bruno Haible  <bruno@clisp.org>
4140
4141         * lib/mbchar.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
4142         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit):
4143         Define fallbacks.
4144         Avoids link error on FreeBSD 4.x.
4145         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
4146
4147         * lib/wcwidth.h (iswprint): Assume an ASCII compatible wide character
4148         encoding.
4149         * lib/mbswidth.c (iswcntrl): Likewise.
4150
4151 2006-07-27  Bruno Haible  <bruno@clisp.org>
4152
4153         * m4/stdint.m4 (gl_STDINT_H): Define __STDC_CONSTANT_MACROS during the
4154         test.
4155
4156 2006-07-27  Bruno Haible  <bruno@clisp.org>
4157
4158         * lib/stdint_.h (INT*_C, UINT*_C) [C++]: Define these if
4159         __STDC_CONSTANT_MACROS is defined, not if __STDC_LIMIT_MACROS is
4160         defined.
4161
4162 2006-07-26  Eric Blake  <ebb9@byu.net>
4163
4164         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Check for missing pipe.
4165
4166 2006-07-26  Eric Blake  <ebb9@byu.net>
4167
4168         * lib/mkstemp-safer.c [! HAVE_MKSTEMP]: Add prototype for platforms
4169         like mingw that lack mkstemp.
4170         * lib/pipe-safer.c (pipe_safer) [!HAVE_FUNC_PIPE]: Provide fallback to
4171         avoid compilation warning on mingw.
4172
4173 2006-07-26  Bruno Haible  <bruno@clisp.org>
4174
4175         * m4/stdint.m4 (gl_STDINT_H): Also verify the existence of the macros
4176         INT*_MIN, INT_LEAST*_MAX, INT_LEAST*_MIN, UINT_LEAST*_MAX,
4177         INT_FAST*_MIN, INTPTR_MIN.
4178
4179 2006-07-25  Bruno Haible  <bruno@clisp.org>
4180
4181         * modules/version-etc (Depends-on): Add stdarg.
4182
4183 2006-07-25  Bruno Haible  <bruno@clisp.org>
4184
4185         * m4/stdint.m4 (gl_INTEGER_TYPE_SUFFIX): Avoid 'eval' in front of
4186         complex commands.
4187
4188 2006-07-25  Bruno Haible  <bruno@clisp.org>
4189
4190         * lib/version-etc.c (version_etc_va): Use va_copy, assumed to be
4191         defined in <stdarg.h> or config.h.
4192
4193 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
4194
4195         * m4/stdio-safer.m4 (gl_FOPEN_SAFER, gl_TMPFILE_SAFER): New macros.
4196         (gl_STDIO_SAFER): Remove.
4197
4198 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
4199
4200         * MODULES.html.sh (File stream based Input/Output):
4201         Add fopen-safer, tmpfile-safer; remove stdio-safer.
4202         * modules/getusershell (Depends-on): Change stdio-safer to fopen-safer.
4203         * modules/fopen-safer, modules/tmpfile-safer: New files.
4204         * modules/stdio-safer: Remove.
4205
4206 2006-07-24  Bruno Haible  <bruno@clisp.org>
4207
4208         * modules/tmpdir: New file.
4209         * MODULES.html.sh (File system functions): Add it.
4210
4211 2006-07-24  Bruno Haible  <bruno@clisp.org>
4212
4213         * modules/javacomp (Depends-on): Add unistd, javaversion, binary-io,
4214         getline, pathname, fwriteerror, clean-temp, xvasprintf, strstr.
4215
4216 2006-07-24  Bruno Haible  <bruno@clisp.org>
4217
4218         * modules/clean-temp: New file.
4219
4220 2006-07-24  Bruno Haible  <bruno@clisp.org>
4221
4222         * m4/tmpdir.m4: New file, from GNU gettext.
4223
4224 2006-07-24  Bruno Haible  <bruno@clisp.org>
4225
4226         * lib/tmpdir.h: New file, from GNU gettext.
4227         * lib/tmpdir.c: New file, from GNU gettext.
4228
4229 2006-07-24  Bruno Haible  <bruno@clisp.org>
4230
4231         * lib/clean-temp.h: New file, from GNU gettext.
4232         * lib/clean-temp.c: New file, from GNU gettext.
4233
4234 2006-07-23  Eric Blake  <ebb9@byu.net>
4235
4236         * modules/stdio-safer (Files): Add tmpfile-safer.c.
4237         (Depends-on): Add binary-io.
4238
4239 2006-07-23  Eric Blake  <ebb9@byu.net>
4240
4241         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add tmpfile-safer.c.
4242
4243 2006-07-23  Eric Blake  <ebb9@byu.net>
4244
4245         * lib/tmpfile-safer.c: New file.
4246         * lib/stdio-safer.h (fopen_safer): Add prototype.
4247         * lib/stdio--.h (tmpfile): Make safer.
4248
4249 2006-07-23  Bruno Haible  <bruno@clisp.org>
4250
4251         * lib/gl_anylinked_list2.h (ASYNCSAFE): New macro.
4252         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before,
4253         gl_linked_add_after, gl_linked_add_at, gl_linked_remove_node,
4254         gl_linked_remove_at): Use it.
4255
4256 2006-07-22  Yoann Vandoorselaere <yoann.v@prelude-ids.com>
4257         and Simon Josefsson <jas@extundo.com>
4258
4259         * lib/getaddrinfo.h (AI_PASSIVE): Make sure it is defined.
4260
4261         * lib/getaddrinfo.c (getaddrinfo): Support AI_PASSIVE.
4262
4263 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
4264
4265         * modules/close-stream: New file.
4266         * modules/closeout (Description): Make it clear that it exits
4267         with a diagnostic on error.
4268         (Depends-on): Add close-stream.  Remove fpending, stdbool.
4269         * MODULES.html.sh (File stream based Input/Output): Add close-stream.
4270
4271 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
4272
4273         * m4/close-stream.m4: New file.
4274
4275 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
4276
4277         * lib/close-stream.c, lib/close-stream.h: New files.
4278
4279 2006-07-22  Bruno Haible  <bruno@clisp.org>
4280
4281         Merge from GNU gettext 0.15.
4282
4283         2006-05-01  Bruno Haible  <bruno@clisp.org>
4284
4285                 * build-aux/javacomp.sh.in: Update for changed javacomp.m4.
4286
4287         2006-07-22  Bruno Haible  <bruno@clisp.org>
4288
4289                 * modules/javaversion: New file.
4290                 * MODULES.html.sh (Java): Add javaversion.
4291
4292         2006-03-12  Bruno Haible  <bruno@clisp.org>
4293
4294                 * build-aux/javaexec.sh.in: Update for changed javaexec.m4.
4295
4296         2005-12-04  Bruno Haible  <bruno@clisp.org>
4297
4298                 * build-aux/csharpexec.sh.in: Add support for 'clix' launcher
4299                 (untested).
4300
4301         2006-06-21  Bruno Haible  <bruno@clisp.org>
4302
4303                 Avoid warnings from recent versions of mcs.
4304                 * build-aux/csharpcomp.sh.in (options_mcs): Don't use options
4305                 -o, -L, -r any more. Use options documented since mcs-1.0
4306                 instead. Similarly for -g.
4307
4308         2005-12-04  Bruno Haible  <bruno@clisp.org>
4309
4310                 * build-aux/csharpcomp.sh.in: Suffix for resources is
4311                 .resources, not .resource.
4312
4313         2005-07-09  Bruno Haible  <bruno@clisp.org>
4314
4315                 * build-aux/csharpcomp.sh.in (options_csc): For -l option,
4316                 add a .dll suffix.
4317                 Reported by Mark Junker <mjscod@gmx.de>.
4318
4319         2006-07-22  Bruno Haible  <bruno@clisp.org>
4320
4321                 * modules/gettext: Upgrade to gettext-0.15.
4322                 (Files): Remove m4/isc-posix.m4. Add m4/lock.m4,
4323                 m4/visibility.m4.
4324                 Replace m4/inttypes.m4 with m4/inttypes-h.m4.
4325
4326 2006-07-22  Bruno Haible  <bruno@clisp.org>
4327
4328         Merge from GNU gettext 0.15.
4329
4330         2006-03-25  Bruno Haible  <bruno@clisp.org>
4331
4332                 * lib-link.m4 (AC_LIB_LINKFLAGS_FROM_LIBS): New macro.
4333
4334         2006-07-21  Bruno Haible  <bruno@clisp.org>
4335
4336                 * javacomp.m4 (gt_JAVACOMP): Convert target_version "null" to
4337                 "1.1".
4338
4339         2006-05-09  Bruno Haible  <bruno@clisp.org>
4340
4341                 * javacomp.m4 (gt_JAVACOMP): On Cygwin, set
4342                 CLASSPATH_SEPARATOR to a semicolon. Use CLASSPATH_SEPARATOR
4343                 for the conftestver execution.
4344
4345         2006-05-01  Bruno Haible  <bruno@clisp.org>
4346
4347                 * javacomp.m4 (gt_JAVACOMP): Accept a source-version and an
4348                 optional target-version argument. Verify that the compiler
4349                 groks source of the specified source-version, or add -source
4350                 option as necessary. Verify that the compiler produces
4351                 bytecode in the specified target-version, or add -target and
4352                 -source options as necessary. Make the result of the test
4353                 available as variable CONF_JAVAC. Also log error output in
4354                 config.log.
4355
4356         2006-03-11  Bruno Haible  <bruno@clisp.org>
4357
4358                 * javacomp.m4 (gt_JAVACOMP): Treat gcj-4.x like gcj-3.x.
4359
4360         2006-05-09  Bruno Haible  <bruno@clisp.org>
4361
4362                 * javaexec.m4 (gt_JAVAEXEC): On Cygwin, set
4363                 CLASSPATH_SEPARATOR to a semicolon.
4364
4365         2006-03-12  Bruno Haible  <bruno@clisp.org>
4366
4367                 * javaexec.m4 (gt_JAVAEXEC): Make the result of the test
4368                 available as variable CONF_JAVA, for subsequent autoconf
4369                 tests. Also log error output in config.log.
4370
4371         2006-07-19  Bruno Haible  <bruno@clisp.org>
4372
4373                 * getline.m4 (AM_FUNC_GETLINE): When cross-compiling, assume
4374                 that getline works on glibc2 systems. Needed to avoid trouble
4375                 in relocatable.c.
4376                 Reported by Nils Magnus Larsgard <nmlarsgaard@atmel.no>.
4377
4378         2005-12-04  Bruno Haible  <bruno@clisp.org>
4379
4380                 * csharpexec.m4 (gt_CSHARPEXEC): Add support for 'clix'
4381                 launcher (untested).
4382
4383         2005-12-04  Bruno Haible  <bruno@clisp.org>
4384
4385                 * csharpcomp.m4 (gt_CSHARPCOMP): Also set CSHARPCOMPFLAGS.
4386
4387         2006-07-22  Bruno Haible  <bruno@clisp.org>
4388
4389                 * gettext.m4: Update from GNU gettext-0.15.
4390                 * nls.m4: Likewise.
4391                 * po.m4: Likewise.
4392                 * inttypes-pri.m4: Likewise.
4393                 * inttypes-h.m4: Renamed from inttypes.m4.
4394                 (gl_HEADER_INTTYPES_H): Renamed from gt_HEADER_INTTYPES_H.
4395
4396 2006-07-22  Bruno Haible  <bruno@clisp.org>
4397
4398         Merge from GNU gettext 0.15.
4399
4400         2005-07-05  Bruno Haible  <bruno@clisp.org>
4401
4402                 * printf-args.c (printf_fetchargs): Work around broken
4403                 definition of wint_t on mingw.
4404
4405         2005-02-12  Bruno Haible  <bruno@clisp.org>
4406
4407                 * xallocsa.h: Add extern "C" for C++.
4408
4409         2006-05-17  Bruno Haible  <bruno@clisp.org>
4410
4411                 Cygwin portability.
4412                 * progreloc.c (WIN32_NATIVE): Renamed from WIN32.
4413
4414         2006-04-30  Bruno Haible  <bruno@clisp.org>
4415
4416                 * progreloc.c: Include <mach-o/dyld.h> if available.
4417                 (find_executable): Use _NSGetExecutablePath when possible.
4418
4419         2006-05-06  Charles Wilson  <cygwin@cwilson.fastmail.fm>
4420
4421                 * progreloc.c (maybe_executable) [CYGWIN]: Use the access()
4422                 function.
4423
4424         2005-12-29  Bruno Haible  <bruno@clisp.org>
4425
4426                 * progreloc.c (set_program_name_and_installdir): Fix
4427                 compilation error.
4428
4429         2005-12-04  Bruno Haible  <bruno@clisp.org>
4430
4431                 Cygwin portability.
4432                 * progreloc.c: Include <windows.h> also on Cygwin.
4433                 (find_executable): Add support for Cygwin.
4434                 (set_program_name_and_installdir): Handle also platforms with
4435                 nonempty EXEEXT.
4436
4437         2006-07-11  Bruno Haible  <bruno@clisp.org>
4438
4439                 * javacomp.c: Fix a comment.
4440                 Reported by Jim Meyering.
4441
4442         2006-04-30  Bruno Haible  <bruno@clisp.org>
4443
4444                 * javacomp.h (compile_java_class): Add source_version,
4445                 target_version arguments.
4446                 * javacomp.c: Rewritten to choose only a compiler that
4447                 respects the specified source_version and target_version.
4448
4449         2006-06-27  Bruno Haible  <bruno@clisp.org>
4450
4451                 Assume correct S_ISDIR macro.
4452                 * mkdtemp.c: Remove test of STAT_MACROS_BROKEN.
4453
4454         2006-07-22  Bruno Haible  <bruno@clisp.org>
4455
4456                 * javaversion.h: New file, from GNU gettext.
4457                 * javaversion.c: New file, from GNU gettext.
4458                 * javaversion.java: New file, from GNU gettext.
4459                 * javaversion.class: New file, from GNU gettext.
4460
4461         2006-05-17  Bruno Haible  <bruno@clisp.org>
4462
4463                 Cygwin portability.
4464                 * javaexec.c (execute_java_class): Test for jview program
4465                 also on Cygwin.
4466
4467         2006-04-09  Bruno Haible  <bruno@clisp.org>
4468
4469                 * fatal-signal.c: Don't include string.h.
4470                 (at_fatal_signal): Use a copying loop instead of memcpy.
4471
4472         2005-12-04  Bruno Haible  <bruno@clisp.org>
4473
4474                 * csharpexec.c: Add support for 'clix' launcher (untested).
4475                 (execute_csharp_using_sscli): New function.
4476                 (execute_csharp_program): Call it.
4477
4478         2006-06-21  Bruno Haible  <bruno@clisp.org>
4479
4480                 Avoid warnings from recent versions of mcs.
4481                 * csharpcomp.c (compile_csharp_using_mono): Don't use options
4482                 -o, -L, -r any more. Use options documented since mcs-1.0
4483                 instead. Similarly for -g.
4484
4485         2005-07-09  Bruno Haible  <bruno@clisp.org>
4486
4487                 * csharpcomp.c (compile_csharp_using_sscli): For -l option,
4488                 add a .dll suffix.
4489                 Reported by Mark Junker <mjscod@gmx.de>.
4490
4491         2006-06-17  Bruno Haible  <bruno@clisp.org>
4492
4493                 * config.charset: Update for NetBSD 3.0.
4494
4495         2006-05-17  Bruno Haible  <bruno@clisp.org>
4496
4497                 Cygwin portability.
4498                 * localcharset.c (WIN32_NATIVE): Renamed from WIN32.
4499
4500         2006-05-16  Bruno Haible  <bruno@clisp.org>
4501
4502                 * localcharset.c [CYGWIN]: Include <windows.h>.
4503                 (get_charset_aliases): For Cygwin, return the same CPxxx
4504                 aliases list as under WIN32.
4505                 (locale_charset) [CYGWIN]: Try to retrieve the encoding from
4506                 the environment variables. Fall back to GetACP().
4507
4508         2006-04-05  Bruno Haible  <bruno@clisp.org>
4509
4510                 * config.charset: Update Juan Manuel Guerrero's address.
4511
4512         2005-02-12  Bruno Haible  <bruno@clisp.org>
4513
4514                 * allocsa.h: Add extern "C" for C++.
4515
4516         2005-02-10  Bruno Haible  <bruno@clisp.org>
4517
4518                 * allocsa.h (sa_alignof): Define differently with AIX xlc, to
4519                 avoid a bug of this compiler on AIX 3.2.5 dealing with enums.
4520
4521         2006-07-22  Bruno Haible  <bruno@clisp.org>
4522
4523                 * gettext.h: Update to GNU gettext-0.15.
4524
4525 2006-07-22  Bruno Haible  <bruno@clisp.org>
4526
4527         * config/srclist.txt: Resync printf-args.c, vasnprintf.c,
4528         localcharset.c, mkdtemp.c, config.rpath, lib-ld.m4, lib-link.m4,
4529         lib-prefix.m4, longdouble.m4, ssize_t.m4.
4530
4531 2006-07-21  Eric Blake  <ebb9@byu.net>
4532
4533         * modules/stdlib-safer: New file.
4534         * MODULES.html.sh (File stream based Input/Output): Add
4535         stdlib-safer.
4536
4537 2006-07-21  Eric Blake  <ebb9@byu.net>
4538
4539         * lib/stdlib-safer.h: New file from coreutils, required by
4540         stdlib--.h.
4541
4542 2006-07-20  Paul Eggert  <eggert@cs.ucla.edu>
4543
4544         * gnulib-tool (func_usage): Document --assume-autoconf='latest-stable'.
4545
4546 2006-07-20  Bruno Haible  <bruno@clisp.org>
4547
4548         * gnulib-tool: Recognize new option --assume-autoconf.
4549         (autoconf_minversion): New variable.
4550         (func_get_filelist): Use it to decide whether to add onceonly_2_57.m4.
4551
4552 2006-07-20  Bruno Haible  <bruno@clisp.org>
4553
4554         * MODULES.html.sh (func_all_modules): Add a missing func_begin_table.
4555
4556 2006-07-19  Derek R. Price  <derek@ximbiot.com>
4557
4558         * lib/getaddrinfo.h: Don't define unimplemented AI_* flags.
4559         Reindent and repaginate.
4560
4561 2006-07-19  Derek Price  <derek@ximbiot.com>
4562
4563         * doc/gnulib.texi (Libtool and Windows):  Eliminate passive voice.
4564         Correct grammar.
4565
4566 2006-07-17  Bruno Haible  <bruno@clisp.org>
4567
4568         * modules/list: New file.
4569         * modules/array-list: New file.
4570         * modules/carray-list, modules/carray-list-tests: New files.
4571         * modules/linked-list, modules/linked-list-tests: New files.
4572         * modules/avltree-list, modules/avltree-list-tests: New files.
4573         * modules/rbtree-list, modules/rbtree-list-tests: New files.
4574         * modules/linkedhash-list, modules/linkedhash-list-tests: New files.
4575         * modules/avltreehash-list, modules/avltreehash-list-tests: New files.
4576         * modules/rbtreehash-list, modules/rbtreehash-list-tests: New files.
4577         * modules/oset: New file.
4578         * modules/array-oset: New file.
4579         * modules/avltree-oset, modules/avltree-oset-tests: New files.
4580         * modules/rbtree-oset, modules/rbtree-oset-tests: New files.
4581         * tests/test-carray_list.c: New file.
4582         * tests/test-linked_list.c: New file.
4583         * tests/test-avltree_list.c: New file.
4584         * tests/test-rbtree_list.c: New file.
4585         * tests/test-linkedhash_list.c: New file.
4586         * tests/test-avltreehash_list.c: New file.
4587         * tests/test-rbtreehash_list.c: New file.
4588         * tests/test-avltree_oset.c: New file.
4589         * tests/test-rbtree_oset.c: New file.
4590         * MODULES.html.sh (Container data structures): New section.
4591
4592 2006-07-17  Bruno Haible  <bruno@clisp.org>
4593
4594         * m4/gl_list.m4: New file.
4595
4596 2006-07-17  Bruno Haible  <bruno@clisp.org>
4597
4598         * lib/gl_list.h: New file.
4599         * lib/gl_list.c: New file.
4600         * lib/gl_array_list.h: New file.
4601         * lib/gl_array_list.c: New file.
4602         * lib/gl_carray_list.h: New file.
4603         * lib/gl_carray_list.c: New file.
4604         * lib/gl_linked_list.h: New file.
4605         * lib/gl_linked_list.c: New file.
4606         * lib/gl_anylinked_list1.h: New file.
4607         * lib/gl_anylinked_list2.h: New file.
4608         * lib/gl_avltree_list.h: New file.
4609         * lib/gl_avltree_list.c: New file.
4610         * lib/gl_anyavltree_list1.h: New file.
4611         * lib/gl_anyavltree_list2.h: New file.
4612         * lib/gl_rbtree_list.h: New file.
4613         * lib/gl_rbtree_list.c: New file.
4614         * lib/gl_anyrbtree_list1.h: New file.
4615         * lib/gl_anyrbtree_list2.h: New file.
4616         * lib/gl_anytree_list1.h: New file.
4617         * lib/gl_anytree_list2.h: New file.
4618         * lib/gl_linkedhash_list.h: New file.
4619         * lib/gl_linkedhash_list.c: New file.
4620         * lib/gl_anyhash_list1.h: New file.
4621         * lib/gl_anyhash_list2.h: New file.
4622         * lib/gl_avltreehash_list.h: New file.
4623         * lib/gl_avltreehash_list.c: New file.
4624         * lib/gl_rbtreehash_list.h: New file.
4625         * lib/gl_rbtreehash_list.c: New file.
4626         * lib/gl_anytreehash_list1.h: New file.
4627         * lib/gl_anytreehash_list2.h: New file.
4628
4629         * lib/gl_oset.h: New file.
4630         * lib/gl_oset.c: New file.
4631         * lib/gl_array_oset.h: New file.
4632         * lib/gl_array_oset.c: New file.
4633         * lib/gl_avltree_oset.h: New file.
4634         * lib/gl_avltree_oset.c: New file.
4635         * lib/gl_rbtree_oset.h: New file.
4636         * lib/gl_rbtree_oset.c: New file.
4637         * lib/gl_anytree_oset.h: New file.
4638
4639 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
4640
4641         * m4/mkancesdirs.m4: New file.
4642         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Mention dirchownmod.c,
4643         dirchownmod.h.  Don't require AC_FUNC_ALLOCA, gl_AFS, gl_CHDIR_SAFER;
4644         no longer needed.  Require gl_FUNC_LCHOWN, since dirchownmod.c needs
4645         it.
4646
4647 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
4648
4649         * lib/dirchownmod.c, lib/dirchownmod.h, lib/mkancesdirs.c:
4650         * lib/mkancesdirs.h: New files.
4651         * lib/mkdir-p.c: Don't include alloca.h, stdio.h, sys/types.h,
4652         unistd.h, string.h, chdir-safer.h, dirname.h, lchmod.h, lchown.h,
4653         save-cwd.h.  Instead, include dirchownmod.h and mkancesdirs.h.
4654         (make_dir_parents): New args MAKE_ANCESTOR, OPTIONS, ANNOUNCE,
4655         MODE_BITS.  Remove options VERBOSE_FMT_STRING, CWD_ERRNO.  All
4656         callers changed.  Revamp internals significantly, by not
4657         attempting to create directories that are temporarily more
4658         permissive than the final results.  Do not attempt to use
4659         save_cwd/restore_cwd; it isn't worth it for mkdir and install.
4660         This removes some race conditions, fixes some bugs, and simplifies
4661         things.  Use new dirchownmod function to do owner and mode changes.
4662         * lib/mkdir-p.h: Likewise.
4663         * lib/modechange.c (octal_to_mode): New function.
4664         (struct mode_change): New member mentioned.
4665         (make_node_op_equals): New arg mentioned.  All callers changed.
4666         (mode_compile): Keep track of which mode bits the user has explicitly
4667         mentioned.
4668         (mode_adjust): New arg DIR, so that we implement the X op correctly.
4669         New arg PMODE_BITS, to keep track of which mode bits the user
4670         mentioned; it treats S_ISUID and S_ISGID speciall.
4671         All callers changed.
4672         * lib/modechange.h: Likewise.
4673
4674 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
4675
4676         * MODULES.html.sh: Add mkancestors.
4677         * modules/mkancesdirs: New module.
4678         * modules/mkdir-p (Files): Remove lib/chdir-safer.c, lib/chdir-safer.h,
4679         lib/same-inode.h, m4/afs.m4, m4/chdir-safer.m4.
4680         The chdir-safer and afs files are now orphans; I'll remove them
4681         unless someone speaks up.
4682         Add lib/dirchownmod.c, lib/dirchownmod.h.
4683         (Depends-on): Remove alloca, chown, save-cwd, dirname.
4684         Add lchown, mkancesdirs.
4685         (Maintainer): Add self.
4686
4687 2006-07-15  Karl Berry  <karl@gnu.org>
4688
4689         * gnulib-tool: help message wording/arrangement.
4690
4691 2006-07-14  Simon Josefsson  <jas@extundo.com>
4692
4693         * doc/gnulib.texi (Libtool and Windows): New section.
4694
4695 2006-07-12  Simon Josefsson  <jas@extundo.com>
4696
4697         * modules/gendocs (License): Fix license, approved by Karl.
4698
4699 2006-07-12  Eric Blake  <ebb9@byu.net>
4700
4701         * MODULES.html.sh: Add gendocs.
4702
4703 2006-07-11  Eric Blake  <ebb9@byu.net>
4704
4705         * modules/fdl: New module, to install doc/fdl.texi.
4706         * MODULES.html.sh: Add new section for documentation modules.
4707         * gnulib-tool: Avoid space-tab.
4708         (--doc-base): New option, to manage files from doc.
4709
4710 2006-07-11  Eric Blake  <ebb9@byu.net>
4711
4712         * m4/absolute-header.m4: Fix comments to match recent change.
4713
4714 2006-07-11  Eric Blake  <ebb9@byu.net>
4715
4716         * gnulib-tool: List --doc-base before --tests-base.
4717
4718 2006-07-11  Derek R. Price  <derek@ximbiot.com>
4719
4720         * lib/glob.c: s/NAMLEN/_D_EXACT_NAMLEN/.
4721
4722 2006-07-11  Bruno Haible  <bruno@clisp.org>
4723
4724         * README: Mention where to put documentation.
4725
4726 2006-07-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
4727
4728         * doc/functions.texi, gnulib-tool.texi, gnulib.texi: Fix some typos.
4729
4730 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
4731
4732         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Like today's change
4733         to stdint.m4.
4734
4735 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
4736
4737         * m4/stdint.m4 (gl_STDINT_H): Like yesterday's change to
4738         absolute-header.m4.  Also, set ABSOLUTE_STDINT_H to a string
4739         "no/such/file/stdint.h" when there is no such file, so that
4740         the resulting C code can be parsed by dodgy compilers.
4741         Problems reported by Bob Proulx.
4742
4743 2006-07-10  Derek R. Price  <derek@ximbiot.com>
4744
4745         * lib/backupfile.c, dirfd.h, fts.c, getcwd.c, glob.c, glob_.h:
4746         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
4747         macros into the GNU _D_EXACT_NAMLEN.
4748         * lib/savedir.c:  Likewise.
4749         (savedirstream): Use _D_EXACT_NAMLEN in preference to strlen.
4750
4751 2006-07-10  Derek R. Price  <derek@ximbiot.com>
4752         and Paul Eggert  <eggert@cs.ucla.edu>
4753
4754         * m4/backupfile.m4, d-ino.m4, d-type.m4, dirfd.m4, fts.m4, getcwd.m4:
4755         * m4/savedir.m4:
4756         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
4757         macros into the GNU _D_EXACT_NAMLEN.
4758
4759 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
4760
4761         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Use "" rather than <>
4762         around the absolute name, to work around a problem with the HP-UX
4763         11.23 native C compiler, reported by Bob Proulx.
4764
4765 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
4766
4767         * doc/maintain.texi, make-stds.texi: Sync from
4768         <http://savannah.gnu.org/projects/gnustandards>.
4769
4770 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
4771
4772         * build-aux/depcomp, build-aux/install-sh: Sync from Automake.
4773
4774 2006-07-09  Jim Meyering  <jim@meyering.net>
4775
4776         * m4/glob.m4: Remove a doubled word in a comment.
4777
4778 2006-07-09  Jim Meyering  <jim@meyering.net>
4779
4780         * lib/argp-pv.c: Remove a doubled word in a comment.
4781         * lib/check-version.c (check_version): Likewise.
4782         * lib/javacomp.c (compile_java_class): Likewise.
4783
4784 2006-07-08  Paul Eggert  <eggert@cs.ucla.edu>
4785
4786         * gnulib-tool (func_get_filelist): Don't echo m4/onceonly_2_57.m4,
4787         for the benefit of people using Autoconf 2.60.  If you want to
4788         support older Autoconf versions you can copy m4/onceonly_2_57.m4
4789         (or m4/onceonly.m4, if pre-2.57) manually.
4790
4791 2006-07-08  Jim Meyering  <jim@meyering.net>
4792
4793         * m4/link-follow.m4: Remove one of two adjacent "whether"s in a
4794         comment.
4795         * m4/getopt.m4: Remove one of two adjacent "your"s in a comment.
4796         * m4/regex.m4 (gl_REGEX): Remove one of two adjacent "the"s in a
4797         comment.
4798
4799 2006-07-08  Jim Meyering  <jim@meyering.net>
4800
4801         * lib/getndelim2.h (getndelim2): Remove doubled "after" in comment.
4802
4803 2006-07-07  Simon Josefsson  <jas@extundo.com>
4804
4805         * tests/test-crc.c: Change expected crc value, the test vector
4806         were probably computed using the old broken crc.c?
4807
4808 2006-07-06  Simon Josefsson  <jas@extundo.com>
4809
4810         * modules/sys_socket (Files): Add m4/sockpfaf.m4 (this module is
4811         now the canonical place for the M4 file).
4812
4813         * modules/getaddrinfo (Files): Remove m4/sockpfaf.m4, we get it
4814         from the sys_socket dependency now.
4815
4816         * modules/inet_pton (Files): Ditto.
4817
4818         * modules/inet_ntop (Files): Ditto.
4819
4820 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
4821
4822         * modules/getusershell (configure.ac): Use gl_FUNC_GETUSERSHELL,
4823         not gl_PREREQ_GETUSERSHELL.
4824
4825 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
4826
4827         * m4/_inttypes_h.m4 (gl_INTTYPES_H): Use AC_CHECK_DECLS_ONCE
4828         with only one argument, for Autoconf 2.60.
4829         * m4/fileblocks.m4 (gl_PREREQ_FILEBLOCKS): AC_CHECK_DECLS_ONCE may
4830         expand to nothing, so add a shell command to avoid syntax error.
4831         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
4832
4833 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
4834
4835         * lib/strtod.c (strtod): cast the argument of tolower to unsigned char.
4836
4837 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
4838
4839         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't check for getenv decl;
4840         no longer needed.  Check for isblank decl.
4841         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Don't check for getenv decl.
4842         * m4/regex.m4 (gl_PREREQ_REGEX): Dheck for isblank decl instead
4843         of existence.
4844
4845 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
4846
4847         * lib/getloadavg.c: Use __VMS, not VMS.
4848         * lib/getopt.c: Likewise.
4849         * lib/getpagesize.h: Likewise.
4850         * lib/glob.c: Remove most VMS cruft; it hasn't been tested for a while
4851         and probably does not work.
4852
4853 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
4854
4855         * lib/.cppi-disable: Add wcwidth.
4856         * lib/fnmatch.c (ISBLANK): Remove.  All uses changed to isblank.
4857         (isblank) [! (defined isblank || HAVE_DECL_ISBLANK)]: New macro.
4858         (ISGRAPH): Remove.  All uses changed to isgraph.
4859         (FOLD) [!defined _LIBC]: Remove special case.
4860         * lib/getdate.y (lookup_word): Remove no-longer-needed call to islower.
4861         * lib/regex_internal.h (isblank): Depend on HAVE_DECL_ISBLANK, not
4862         HAVE_ISBLANK.
4863         * lib/strftime.c (TOLOWER, TOUPPER) [!defined _LIBC]: Remove special
4864         case.
4865
4866 2006-07-06  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
4867
4868         * lib/getaddrinfo.c: Changes to compile under MSVC6: changed
4869         '#if WIN32_NATIVE' to '#ifdef' & moved WSAAPI macro inside
4870         brackets.  Other minor changes to suppress some compiler
4871         warnings.
4872
4873 2006-07-06  Derek R. Price  <derek@ximbiot.com>
4874         and Paul Eggert  <eggert@cs.ucla.edu>
4875
4876         * m4/backupfile.m4 (gl_BACKUPFILE): Check for dirent.h, instead
4877         of invoking obsolescent AC_HEADER_DIRENT macro.
4878         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
4879         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Likewise.
4880         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
4881         * m4/fts.m4 (gl_FUNC_FTS_CORE): Likewise.
4882         * m4/getcwd.m4 (gl_PREREQ_GETCWD): Likewise.
4883         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
4884         * m4/savedir.m4 (gl_SAVEDIR): Likewise.
4885         * m4/readdir.m4: Remove; no longer needed.
4886
4887 2006-07-06  Derek R. Price  <derek@ximbiot.com>
4888         and Paul Eggert  <eggert@cs.ucla.edu>
4889
4890         * lib/backupfile.c [HAVE_DIRENT_H && ! HAVE_NDIR_H]:
4891         Don't worry about this obsolete case any more.
4892         (HAVE_DIR): Remove.  All uses removed; we now assume you can read
4893         directories.
4894         * lib/dirfd.h [HAVE_DIRENT_H && ! HAVE_NDIR_H]: Don't
4895         worry about this obsolete case any more.
4896         * lib/fts.c: Likewise.
4897         * lib/getcwd.c: Likewise.
4898         * lib/glob.h: Likewise.
4899         * lib/savedir.c: Likewise.
4900
4901 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
4902
4903         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Use AC_CHECK_DECLS_ONCE
4904         rather than AC_CHECK_DECLS for strtoimax and strtoumax.
4905         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Remove; no longer
4906         needed.
4907         All uses removed.
4908         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
4909         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
4910         * m4/exclude.m4 (gl_EXCLUDE): Don't check for isascii; no longer
4911         needed.
4912         * m4/getdate.m4 (gl_GETDATE): Likewise.
4913         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
4914         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
4915         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
4916         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
4917         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
4918         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
4919         * m4/exclude.m4 (gl_EXCLUDE): Don't require AC_C_INLINE; no longer
4920         needed.
4921
4922 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
4923
4924         * lib/memcasecmp.c: Include <limits.h>.
4925         (memcasecmp): Don't assume UCHAR_MAX <= INT_MAX.
4926         * lib/strtod.c (strtod): Don't assume isspace works on negative chars.
4927         Don't assume isdigit succeeds only on '0' through '9'.
4928
4929 2006-07-05  Eric Blake  <ebb9@byu.net>
4930
4931         * modules/getaddrinfo (Depends-on): Add snprintf.
4932
4933 2006-07-05  Eric Blake  <ebb9@byu.net>
4934
4935         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Use gl_HEADER_SYS_SOCKET
4936         to avoid 'header present but could not be compiled' on cygwin.
4937
4938 2006-07-05  Eric Blake  <ebb9@byu.net>
4939
4940         * lib/getaddrinfo.h (NI_NUMERICHOST, NI_NUMERICSERV): Define if
4941         missing from netdb.h.
4942         * lib/getaddrinfo.c (includes): Include inet_ntop and snprintf.
4943
4944 2006-07-05  Derek R. Price  <derek@ximbiot.com>
4945
4946         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Don't require AC_HEADER_STDC;
4947         no longer needed.
4948         * m4/exclude.m4 (gl_EXCLUDE): Likewise.
4949         * m4/getdate.m4 (gl_GETDATE): Likewise.
4950         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
4951         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
4952         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
4953         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
4954         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
4955
4956 2006-07-05  Derek R. Price  <derek@ximbiot.com>
4957
4958         * lib/exclude.c (IN_CTYPE_DOMAIN, is_space): Remove; no longer needed.
4959         All uses of is_space replaced by isspace.
4960         * lib/exit.h: Don't talk about STDC_HEADERS.
4961         * lib/fnmatch.c (ISASCII): Remove; no longer needed.  All uses removed.
4962         (ISPRINT, ISDIGIT, ISALNUM, ISALPHA, ISCNTRL, ISLOWER, ISPUNCT):
4963         (ISSPACE, ISUPPER, ISXDIGIT): Remove; no longer needed.  All uses
4964         replaced by isprint etc.
4965         * lib/getdate.y (IN_CTYPE_DOMAIN, ISSPACE, ISALPHA, ISLOWER): Likewise.
4966         * lib/getusershell.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
4967         * lib/memcasecmp.c (IN_CTYPE_DOMAIN, ISLOWER, TOUPPER): Likewise.
4968         * lib/strtod.c (IN_CTYPE_DOMAIN, ISSPACE, ISDIGIT, TOLOWER): Likewise.
4969         * lib/strtol.c (IN_CTYPE_DOMAIN): Likewise.
4970         * lib/xstrtol.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
4971
4972 2006-07-05  Bruno Haible  <bruno@clisp.org>
4973
4974         * m4/strndup.m4 (gl_FUNC_STRNDUP): When cross-compiling, check whether
4975         the function exists, before testing against AIX.
4976         Reported by Martin Lambers <marlam@marlam.de>.
4977
4978 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
4979
4980         * modules/cycle-check (lib_SOURCES): Add same-inode.h.
4981         From Mark D. Baushke.
4982
4983 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
4984
4985         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Prepend three slashes
4986         to the absolute name, not just one, to bypass Sun C 5.8's
4987         "warning: #include of /usr/include/... may be non-portable".
4988
4989 2006-07-04  Eric Blake  <ebb9@byu.net>
4990
4991         * modules/dirname-tests: New test module.
4992         * tests/test-dirname.c: New file, replacing dirname.c
4993         TEST_DIRNAME section that was recently deleted.
4994
4995 2006-07-04  Bruno Haible  <bruno@clisp.org>
4996
4997         Assume ANSI C header files and <ctype.h> functions.
4998         * lib/mbswidth.c (IN_CTYPE_DOMAIN, ISPRINT, ISCNTRL): Remove macros.
4999         (mbsnwidth): Use isprint, iscntrl instead.
5000
5001 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
5002
5003         Merge from coreutils.
5004         * MODULES.html.sh: Add xstrtold.
5005         * modules/xstrtold: New file.
5006         * modules/cycle-check (Files): Add lib/same-inode.h.
5007         * modules/dirname (Files): Add m4/double-slash-root.m4.
5008         * modules/getcwd (Files): Add m4/getcwd-abort-bug.m4.
5009         * modules/mkdir-p (Files): Add lib/same-inode.h.
5010         * modules/same (Files): Add lib/same-inode.h.
5011
5012 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
5013
5014         * m4/absolute-header.m4: Renamed from full-header-path.m4.
5015         This is to keep the terminology clean; POSIX talks about
5016         "absolute pathnames", not "full pathnames", but the GNU
5017         Coding Standards say to use "path" for something else;
5018         so use "absolute" to keep both sides happy.
5019         (gl_ABSOLUTE_HEADER): Renamed from gl_FULL_HEADER_PATH.
5020         Set gl_absolute_header, not gl_full_header_path.
5021         Set gl_cv_absolute_<header>, not gl_full_path_<header>.
5022         Define ABSOLUTE_<HEADER>, not FULL_PATH_<HEADER>.
5023         All uses changed.
5024
5025         Merge from coreutils.
5026
5027         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
5028
5029         * m4/c-strtod.m4 (gl_C_STRTOLD): Add c-strtod.c to LIBSOURCES.
5030         Require gl_USE_SYSTEM_EXTENSIONS, not gl_C_STRTOD, since we don't
5031         want to require the building of c-strtod.o.
5032         * m4/lib-check.m4 (cu_LIB_CHECK): Remove SEQ_LIBM, since seq no longer
5033         needs -lm directly.
5034         * m4/xstrtod.m4 (gl_XSTRTOLD): New macro.
5035
5036         2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
5037
5038         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Prefer binutils's
5039         --as-needed option if available.  Problem reported by Albert Chin in
5040         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00114.html>.
5041         However, use -Wl,--as-needed, not bare --as-needed, since HP-UX 11.11
5042         cc merely issues a bunch of annoying warnings for --as-needed
5043         (this problem was reported by Bob Proulx).  Also, try linking with
5044         -lm to detect a bug in binutils 2.16 (this problem was reported
5045         by Ralf Wildenhues).
5046
5047         2006-06-18  Jim Meyering  <jim@meyering.net>
5048
5049         Test for a bug that causes glibc's getcwd to suffer a failed assertion.
5050         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): New file and
5051         macro.
5052         * m4/getcwd.m4 (gl_FUNC_GETCWD): If we detect support for getcwd_null,
5053         also check for glibc-2.4's abort-inducing bug.
5054
5055         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Fix typo.
5056         Low-probability clean-up should be to use rmdir to get rid of
5057         the just-created directory, not unlink.
5058
5059         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): If ftruncate is missing, make
5060         configure fail, and request a bug report to inform us about it.
5061         Add a comment that, barring reports to the contrary, in 2007 we'll
5062         assume ftruncate is universally available.
5063
5064         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
5065
5066         * m4/filemode.m4 (gl_FILEMODE): Check for strmode declaration.
5067
5068         2006-03-12  Jim Meyering  <jim@meyering.net>
5069
5070         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Add same-inode.h to the list.
5071         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Likewise.
5072         * m4/same.m4 (gl_SAME): Likewise.
5073         * m4/root-dev-ino.m4 (gl_ROOT_DEV_INO): Likewise.
5074
5075         2006-03-11  Eric Blake  <ebb9@byu.net>
5076
5077         * m4/double-slash-root.m4: New file, provides gl_DOUBLE_SLASH_ROOT.
5078         * m4/dirname.m4 (gl_DIRNAME): Use gl_DOUBLE_SLASH_ROOT.
5079         * m4/dos.m4 (FILE_SYSTEM_PREFIX_LEN): Move from here to dirname.h.
5080         (FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE): New define.
5081
5082 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
5083
5084         * lib/stdint_.h: Include <sys/types.h> after @FULL_PATH_STDINT_H@, for
5085         MacOS X 10.4.6.  Don't mention <sys/int_types.h>.  Problems
5086         reported by Mark D. Baushke, one in
5087         <http://lists.gnu.org/archive/html/bug-gnulib/2006-07/msg00015.html>.
5088
5089         Merge from coreutils.
5090
5091         * lib/.cppi-disable: Add stdint_.h.
5092         * lib/.cvsignore: Add stdint.h.
5093
5094         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
5095
5096         * lib/xstrtod.c (XSTRTOD, DOUBLE): New macros, so that we can support
5097         both double and long double versions.
5098         (XSTRTOD): Renamed from xstrtod.  Use DOUBLE internally.
5099         * lib/xstrtold.c: New file.
5100         * lib/xstrtod.h (xstrtold): New decl.
5101
5102         2006-05-22  Paul Eggert  <eggert@cs.ucla.edu>
5103
5104         * lib/filemode.c (setst): Remove.
5105         (strmode): Rewrite to avoid setst.  This makes the code shorter,
5106         (arguably) clearer, and the generated code is a bit smaller on my
5107         Debian GNU/Linux stable x86 host.
5108
5109         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
5110
5111         * lib/filemode.c: Include "filemode.h" first, to test the interface.
5112         Assume that filemode.h includes sys/types.h and sys/stat.h.
5113         (HAVE_ST_DM_MODE): New macro, moved here from ls.c.
5114         (ftypelet): Reorder to put common cases first, for efficiency.
5115         Add 'P', 'w'.  Remove 'M', since it's now the caller's responsibility
5116         to do 'M'.
5117         (strmode): Renamed from mode_string, and now stores 12 bytes instead
5118         of 10, for compatibility with FreeBSD.  All callers changed.
5119         (filemodestring): Now stores 12 bytes instead of 10, and sets file
5120         types that can't be deduced solely from st_mode.  First arg is now a
5121         const pointer.
5122         * lib/filemode.h (HAVE_DECL_STRMODE): Include <string.h> for strmode.
5123         (strmode): Renamed from mode_string.
5124         (filemodestring): New decl.
5125         * lib/stat-macros.h: Don't undef S_ISDOOR, since it's never buggy.
5126         (S_ISDOOR): Don't bother with S_IFDOOR, since that code is never
5127         needed.
5128         (S_ISPORT, S_ISWHT): New macros, if not already defined.
5129
5130         2006-04-12  Paul Eggert  <eggert@cs.ucla.edu>
5131
5132         * lib/fsusage.c: Don't include <inttypes.h> or <stdint.h>, since
5133         fsusage.h now does that.  Include fsusage.h first, to test interface.
5134         Prefer statvfs if it works, since it's blessed by POSIX.  Attempt
5135         at most one method (the old code could have generated decls that
5136         didn't conform to C89, not that this was ever exercised).
5137         * lib/fsusage.h: Include <inttypes.h> and <stdint.h> if they exist.
5138
5139         2006-03-19  Jim Meyering  <jim@meyering.net>
5140
5141         Work even in a chroot where d_ino values for entries in "/"
5142         don't match the stat.st_ino values for the same names.
5143         * lib/getcwd.c (__getcwd): When no d_ino value matches the target inode
5144         number, iterate through all entries again, using lstat instead.
5145         Reported by Kenshi Muto in http://bugs.debian.org/355810, and by
5146         Zouhir Hafidi in https://bugzilla.redhat.com/bugzilla/190656.
5147
5148         * lib/getcwd.c (__getcwd): Clarify a comment.
5149         Use memcpy in place of a call to strcpy.
5150
5151         2006-03-12  Jim Meyering  <jim@meyering.net>
5152
5153         * lib/fts-cycle.c (leave_dir): If cycle-check's saved dev-ino pair
5154         matches that of the current directory (which we're about to chdir ".."
5155         out of), then save the dev-ino of the parent, instead.
5156
5157         * lib/same-inode.h (SAME_INODE): New file/macro.
5158         * lib/chdir-safer.c (SAME_INODE): Remove definition.
5159         Include "same-inode.h", instead.
5160         * lib/same.c: Likewise.
5161         * lib/cycle-check.h: Include "same-inode.h".
5162         (CYCLE_CHECK_REFLECT_CHDIR_UP): Define.
5163         * lib/cycle-check.c (SAME_INODE): Remove definition.
5164         * lib/root-dev-ino.h: Include "same-inode.h".
5165
5166         2006-03-11  Eric Blake  <ebb9@byu.net>
5167
5168         * lib/same.c (same_name): s/base_name/last_component/
5169         * lib/backupfile.c (check_extension, numbered_backup): Likewise.
5170         * lib/filenamecat.c (file_name_concat): Likewise.
5171
5172         2006-03-11  Eric Blake  <ebb9@byu.net>,
5173                     Paul Eggert  <eggert@cs.ucla.edu>
5174
5175         * lib/dirname.h (FILE_SYSTEM_PREFIX_LEN): Move here from dos.m4.
5176         [FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't treat 1: as a
5177         drive prefix.
5178         (IS_ABSOLUTE_FILE_NAME): Treat all drive letters as absolute on
5179         platforms like cygwin with FILE_SYSTEM_DRIVE_PREFIX_IS_ABSOLUTE.
5180         (last_component): New method.
5181         * lib/dirname.c (dir_len): Determine when drive letters need a
5182         subsequent slash.  Preserve // when it is special.
5183         (dir_name): Don't append dot when drive letter is absolute.
5184         [TEST_DIRNAME]: Move into a full-blown gnulib test.
5185         * lib/basename.c (base_name): New semantics - malloc the result.
5186         Preserve // when it is special.  Preserve relative files that look
5187         like drive letters.
5188         (base_len): Preserve // when it is special.
5189         (last_component): New method, similar to old base_name semantics.
5190         * lib/stripslash.c (strip_trailing_slashes): Use last_component, not
5191         base_name.  Strip redundant slashes from ///.
5192
5193 2006-07-03  Jim Meyering  <jim@meyering.net>
5194
5195         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Abort if this
5196         macro is used before the first cycle_check call.
5197
5198 2006-07-03  Eric Blake  <ebb9@byu.net>
5199
5200         * modules/dirname (Depends-on): Add xstrndup.
5201
5202 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
5203
5204         * m4/stdint.m4 (gl_STDINT_H): Use more-mnemonic identifiers for
5205         test cases, so that config.log is a bit easier to follow.
5206
5207 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
5208
5209         * lib/stdint_.h (intmax_t, uintmax_t): Prefer long to long long if
5210         both are 64 bits, since this seems to be the tradition, and this
5211         prevents gcc -Wformat from warning about usages with PRIuMAX.  If
5212         we ever run into a host that prefers long long to long in this
5213         case, we'll need another configure-time test.  Problem reported by
5214         Jim Meyering.
5215
5216 2006-07-02  Eric Blake  <ebb9@byu.net>
5217
5218         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Simplify by using AC_CHECK_DECLS.
5219
5220 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
5221
5222         * modules/inttypes (Depends-on): No longer depends on stdint.
5223         * modules/stdint (Description): Say more about assumptions.
5224         Say that the fast types might differ.  Say macros are used.
5225         (Files): Remove m4/size_max.m4, m4/wchar_t.m4.  Add m4/longlong.m4.
5226         (Makefile.am): Revise list of substituted symbols to match
5227         new stdint.m4.
5228         * modules/stdint-tests (Files): Add m4/wchar_t.m4, m4/wint_t.m4.
5229         (configure.ac): Add gt_TYPE_WCHAR_T, gt_TYPE_WINT_T.
5230         * tests/test-stdint.c (verify_same_types)
5231         [! (__GNUC__ >= 2 && DO_PEDANTIC)]: Put in a decl, so that
5232         the code conforms to C99/C89.
5233         Test for WCHAR_MIN and WCHAR_MAX only if HAVE_WCHAR_T.
5234         Test for WINT_MIN and WINT_MAX only if HAVE_WINT_T.
5235
5236 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
5237
5238         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Backport from Autoconf 2.60,
5239         but fix a bug, by requiring at least 64 bits.
5240         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise.
5241         * m4/longlong.m4 (gl_AC_TYPE_LONG_LONG): Now just call
5242         AC_TYPE_LONG_LONG_INT.  This macro is obsolete and will go soon.
5243         * m4/ulonglong.m4 (gl_AC_TYPE_UNSIGNED_LONG_LONG) Likewise.
5244
5245         * m4/stdint.m4 (gl_STDINT_H): Rewrite to accommodate stdint_.h
5246         changes.  Make 2.59 a prerequisite.  Check and substitute for
5247         HAVE_LONG_LONG_INT.  Rely on Autoconf to check for stdint.h and
5248         inttypes.h.  Do not use special include files; just use the
5249         defaults.  Check for sys/inttypes.h and sys/bitypes.h in the usual
5250         way now.  Remove no-longer-needed tests for HAVE_LONG_64BIT,
5251         HAVE_LONG_LONG_64BIT, int8_t, int16_t, int32_t, int64_t, uint8_t,
5252         uint16_t, uint32_t uint64_t, int_least8_t, int_least16_t,
5253         int_least32_t, int_least64_t, uint_least8_t, uint_least16_t,
5254         uint_least32_t, uint_least64_t, int_fast8_t, int_fast16_t,
5255         int_fast32_t, int_fast64_t, uint_fast8_t uint_fast16_t,
5256         uint_fast32_t, uint_fast64_t, intptr_t, uintptr_t, intmax_t,
5257         uintmax_t, INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX,
5258         UINT16_MAX, INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN,
5259         INT64_MAX, UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX,
5260         UINT_LEAST8_MAX, INT_LEAST16_MIN, INT_LEAST16_MAX,
5261         UINT_LEAST16_MAX, INT_LEAST32_MIN, INT_LEAST32_MAX,
5262         UINT_LEAST32_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX,
5263         UINT_LEAST64_MAX, INT_FAST8_MIN, INT_FAST8_MAX, UINT_FAST8_MAX,
5264         INT_FAST16_MIN, INT_FAST16_MAX, UINT_FAST16_MAX, INT_FAST32_MIN,
5265         INT_FAST32_MAX, UINT_FAST32_MAX, INT_FAST64_MIN, INT_FAST64_MAX,
5266         UINT_FAST64_MAX, INTPTR_MIN, INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN,
5267         INTMAX_MAX, UINTMAX_MAX, PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN,
5268         SIG_ATOMIC_MAX, SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN,
5269         WINT_MAX.  Check for C99 conformance more strictly, by detecting
5270         bugs in glibc 2.4, Solaris 10, and OpenBSD 3.9.  On the other hand do
5271         not check for things that C99 does not require, e.g., int8_t.  If
5272         a test isn't needed unless <stdint.h> isn't working, and is
5273         unlikely to be needed for any other reason, then don't do it
5274         unless <stdint.h> isn't working.  Do not check for ptrdiff_t or
5275         size_t, since we assume C89 freestanding at least.  Do not check
5276         for sig_atomic_t, wchar_t, or wint_t, since the code now does
5277         the right thing even if the types are not defined.  Instead use:
5278         (gl_STDINT_TYPE_PROPERTIES): New macro.
5279         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H): Remove.  Don't bother
5280         testing whether <sys/types.h> clashes, as Autoconf does this for
5281         us now.  All uses removed.
5282         (gl_STDINT_CHECK_TYPES, gl_STDINT_MISSING_BOUND):
5283         (gl_STDINT_MISSING_BOUNDS, gl_STDINT_MISSING_BOUNDS2):
5284         (gl_CHECK_TYPE_SAME):
5285         Remove; no longer needed.
5286         (gl_STDINT_BITSIZEOF): Don't bother to check whether the type
5287         exists, since we'll return 0 anyway in that case.
5288         (gl_INTEGER_TYPE_SUFFIX, gl_STDINT_INCLUDES): New macros.
5289
5290 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
5291
5292         * lib/stdint_.h (_GL_STDINT_H): Renamed from _STDINT_H, to avoid
5293         possible collision with system files.
5294         (<stdio.h>, <time.h>, <wchar.h>) [defined __cplusplus && ! defined
5295         __STDC_CONSTANT_MACROS)]: Do not include, since we don't need
5296         WCHAR_MIN and WCHAR_MAX in this case.
5297         (<stddef.h>): Do not include; no longer needed.
5298         (<sys/types.h>): Include if @HAVE_SYS_TYPES_H@, not if
5299         (defined(__OpenBSD__) || defined(__bsdi__) || defined(__sgi)).
5300         (<sys/inttypes.h>): Include if @HAVE_SYS_INTTYPES_H@ &&
5301         !@HAVE_INTTYPES_H@, not if (defined(__FreeBSD__)
5302         && (__FreeBSD__ >= 3) && (__FreeBSD__ <= 4)).
5303         (__STDINT_H__) [@HAVE_STDINT_H@ && defined __sgi && ! defined
5304         __c99]: Define, to work around IRIX <stdint.h> incompatibility.
5305         (@FULL_PATH_STDINT_H@) [!(defined(__sgi) && @HAVE_INTTYPES_H@ &&
5306         !defined(__c99))]: Include in this case too, since it's harmless
5307         now.
5308         (<inttypes.h>) [@HAVE_INTTYPES_H@]: Include, since it's no longer
5309         dangerous to do so.
5310         (@FULL_PATH_INTTYPES_H@) [(defined(__hpux) || defined(_AIX)) &&
5311         @HAVE_INTTYPES_H@]: Do not include, since we now include <inttypes.h>.
5312         (_STDINT_MIN, _STDINT_MAX): New macros.
5313         (int8_t, uint8_t, int16_t, uint16_t, int32_t, uint32_t, int64_t):
5314         (uint64_t, int_least8_t, uint_least8_t, int_least16_t):
5315         (uint_least16_t, int_least32_t, uint_least32_t, int_least64_t):
5316         (uint_least64_t, int_fast8_t, uint_fast8_t, int_fast16_t):
5317         (uint_fast16_t, int_fast32_t, uint_fast32_t, int_fast64_t):
5318         (uint_fast64_t, intptr_t, uintptr_t, intmax_t, uintmax_t): Now
5319         macros, not typedefs; this simplifies things quite a bit.
5320         Use long int for all types narrower than int64_t.
5321         (intmax_t, uintmax_t, INTMAX_C, UINTMAX_C):
5322         Define in terms of long long int or int64_t or long int,
5323         not int64_t or int32_t.  This saves some compile-time testing.
5324         (INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX, UINT16_MAX):
5325         (INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN, INT64_MAX):
5326         (UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX, UINT_LEAST8_MAX):
5327         (INT_LEAST16_MIN, INT_LEAST16_MAX, UINT_LEAST16_MAX):
5328         (INT_LEAST32_MIN, INT_LEAST32_MAX, UINT_LEAST32_MAX):
5329         (INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX, INT_FAST8_MIN):
5330         (INT_FAST8_MAX, UINT_FAST8_MAX, INT_FAST16_MIN, INT_FAST16_MAX):
5331         (UINT_FAST16_MAX, INT_FAST32_MIN, INT_FAST32_MAX, UINT_FAST32_MAX):
5332         (INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTPTR_MIN):
5333         (INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN, INTMAX_MAX, UINTMAX_MAX):
5334         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
5335         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
5336         undef any previous version and define our own version, for
5337         simplicity and consistency with the new macros for types.
5338         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
5339         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
5340         Simplify definitions by using _STDINT_MIN and _STDINT_MAX
5341         where appropriate.  Rely on new symbols @PTRDIFF_T_SUFFIX@,
5342         @SIG_ATOMIC_T_SUFFIX@, @SIZE_T_SUFFIX@, @WCHAR_T_SUFFIX@,
5343         @WINT_T_SUFFIX@ to keep things simple here.
5344         (UINT8_C, UINT16_C, UINT32_C, INT64_C, UINT64_C):
5345         Simplify by assuming typical 8/16/32/64 host, since we're
5346         already doing that elsewhere anyway.
5347         Use (LONG_MAX >> 31 >> 31 == 1) rather than @HAVE_LONG_64BIT@,
5348         and assume long long int is 64 bits if available.  This
5349         speeds up 'configure'.
5350
5351 2006-07-01  Eric Blake  <ebb9@byu.net>
5352
5353         * m4/stdarg.m4 (gl_STDARG_H): Use proper AH_VERBATIM.
5354         Reported by Andreas Buening.
5355
5356 2006-07-01  Eric Blake  <ebb9@byu.net>
5357
5358         * m4/stdarg.m4 (gl_STDARG_H): Properly parenthesize gl_va_copy.
5359
5360 2006-06-30  Jim Hyslop <jhyslop@dreampossible.ca>  (tiny change)
5361
5362         * lib/getaddrinfo.c: fixed typo
5363
5364 2006-06-29  Jim Meyering  <jim@meyering.net>
5365
5366         * modules/strftime (Maintainer): Add my name, since with the
5367         FPRINTFTIME changes strftime.c has forked from glibc.
5368
5369 2006-06-29  Eric Blake  <ebb9@byu.net>
5370
5371         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Use AC_C_INLINE.
5372
5373 2006-06-29  Eric Blake  <ebb9@byu.net>
5374
5375         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): New file.
5376
5377 2006-06-29  Eric Blake  <ebb9@byu.net>
5378
5379         * lib/stat_.h: New file.
5380
5381 2006-06-29  Eric Blake  <ebb9@byu.net>
5382
5383         * lib/stat_.h (rpl_mkdir): Declare inline, to avoid warnings about
5384         unused static function.
5385
5386 2006-06-29  Eric Blake  <ebb9@byu.net>
5387
5388         * doc/functions.texi (Function Portability): Document missing lstat
5389         on mingw.
5390
5391 2006-06-29  Eric Blake  <ebb9@byu.net>
5392
5393         * MODULES.html.sh: Add sys_stat.
5394         * modules/sys_stat: New module.
5395         * modules/mkstemp (Depends-on): Add sys_stat.
5396
5397 2006-06-29  Derek R. Price  <derek@ximbiot.com>
5398
5399         * m4/strftime.m4: Don't call AC_FUNC_STRFTIME.
5400
5401 2006-06-29  Derek R. Price  <derek@ximbiot.com>
5402
5403         * m4/c-bs-a.m4: Removed.
5404
5405 2006-06-29  Derek R. Price  <derek@ximbiot.com>
5406
5407         * lib/strftime.c: Assume strftime() exists.
5408
5409 2006-06-29  Derek Price  <derek@ximbiot.com>
5410
5411         * modules/c-bs-a: Removed - \a is C89.
5412         * MODULES.html.sh: Remove c-bs-a.
5413
5414 2006-06-29  Bruno Haible  <bruno@clisp.org>
5415
5416         * modules/wcwidth (License): Change to LGPL.
5417
5418 2006-06-28  Simon Josefsson  <jas@extundo.com>
5419
5420         * tests/test-getaddrinfo.c: Test getnameinfo too.  Call WSAStartup
5421         on _WIN32.
5422
5423         * modules/getaddrinfo (Depends-on): Add inet_ntop, needed by
5424         getnameinfo.
5425
5426 2006-06-28  Simon Josefsson  <jas@extundo.com>
5427
5428         * m4/getaddrinfo.m4: Look for getnameinfo prototypes too.
5429
5430 2006-06-28  Simon Josefsson  <jas@extundo.com>
5431
5432         * lib/getaddrinfo.c: Try to load ws2_32.dll on Windows, to find the
5433         functions there.  It will succeed on Windows XP, but on Windows
5434         2000 and (presumably) earlier, it will fail, and use the internal
5435         re-implementation.
5436         (use_win32_p): New function.
5437         (getaddrinfo): Use strtoul on servname, to support numeric ports.
5438         Support AI_NUMERICSERV to disable getservbyname.
5439         (getnameinfo): New function, only supports
5440         NI_NUMERICHOST|NI_NUMERICSERV for now.
5441
5442         * lib/getaddrinfo.h: Test and check for AI_* flags separately, MinGW
5443         only have some of them.  Add AI_NUMERICSERV.  Add prototype for
5444         getnameinfo.
5445
5446 2006-06-28  Eric Blake  <ebb9@byu.net>
5447
5448         * modules/wcwidth: New file.
5449         * modules/mbchar (Depends-on): Add wcwidth.
5450         * modules/mbswidth (Depends-on): Add wcwidth.
5451         * MODULES.html.sh: Add wcwidth.
5452
5453 2006-06-28  Eric Blake  <ebb9@byu.net>
5454
5455         * m4/mbswidth.m4 (gl_MBSDWIDTH): Move wcwidth from here...
5456         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): ...to this new file.
5457
5458 2006-06-28  Eric Blake  <ebb9@byu.net>
5459
5460         * lib/xvasprintf.h: Fix comments.
5461
5462 2006-06-28  Eric Blake  <ebb9@byu.net>
5463
5464         * lib/mbchar.h (wcwidth): Include wcwidth.h.
5465         * lib/mbswidth.c (wcwidth): Move from here...
5466         * lib/wcwidth.h: ...to this new file.
5467
5468 2006-06-28  Derek R. Price  <derek@ximbiot.com>
5469
5470         * m4/savedir.m4: Remove AC_FUNC_CLOSEDIR_VOID requirement.
5471
5472         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't require AC_C_CONST, since
5473         it's obsolete.
5474         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Likewise.
5475
5476 2006-06-28  Derek R. Price  <derek@ximbiot.com>
5477
5478         * lib/savedir.c (CLOSEDIR): Remove.  All uses changed to closedir.
5479         Autoconf 2.60 says this stuff was obsolete.
5480
5481 2006-06-28  Bruno Haible  <bruno@clisp.org>
5482
5483         * modules/wcwidth (Files): Add m4/wchar_t.m4.
5484
5485 2006-06-28  Bruno Haible  <bruno@clisp.org>
5486
5487         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Also require AC_C_INLINE and
5488         gt_TYPE_WCHAR_T.
5489
5490 2006-06-28  Bruno Haible  <bruno@clisp.org>
5491
5492         * lib/wcwidth.h: Declare nothing if !HAVE_WCHAR_T. Provide a fallback
5493         declaration for wcwidth.
5494         * lib/mbswidth.c: Restore the includes of <wchar.h> and <wctypes.h>.
5495
5496 2006-06-28  Bruno Haible  <bruno@clisp.org>
5497
5498         * lib/mkdtemp.c [MINGW]: Include <io.h>.
5499         (mkdir): Define using _mkdir.
5500
5501 2006-06-28  Bruno Haible  <bruno@clisp.org>
5502
5503         * lib/getaddrinfo.h: Fix POSIX URL.
5504         * lib/getaddrinfo.c (WIN32_NATIVE): New macro. Use it instead of
5505         _WIN32.
5506         (use_win32_p): Make static.
5507         (getaddrinfo): Reject service name if it is empty or does not consist
5508         solely of decimal digits, or if its value is > 65535.
5509         (getnameinfo): Remove useless casts.
5510
5511 2006-06-27  Simon Josefsson  <jas@extundo.com>
5512
5513         * modules/sys_select: New file, suggested by Bruno Haible, Paul
5514         Eggert and Martin Lambers.
5515
5516 2006-06-27  Simon Josefsson  <jas@extundo.com>
5517
5518         * m4/sys_select_h.m4: New file, suggested by Bruno Haible, Paul
5519         Eggert and Martin Lambers.
5520
5521 2006-06-27  Bruno Haible  <bruno@clisp.org>
5522
5523         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): For nonexistent types, set the
5524         result to 0, not to empty.
5525         Reported by Martin Neitzel <neitzel@sco.gaertner.de>.
5526
5527 2006-06-27  Bruno Haible  <bruno@clisp.org>
5528
5529         * lib/stdint_.h (intmax_t, uintmax_t): Undefine before typedef.
5530
5531 2006-06-26  Simon Josefsson  <jas@extundo.com>
5532
5533         * m4/inet_ntop.m4: Don't check for sys/types.h, we assume it is
5534         present.
5535
5536 2006-06-26  Paul Eggert  <eggert@cs.ucla.edu>
5537
5538         * lib/base64.c (B64): Use _ as the formal parameter, not x, to avoid
5539         bug in IBM C V6 for AIX.  Problem reported by Larry Jones in
5540         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00181.html>.
5541
5542 2006-06-26  Mark D. Baushke  <mdb@gnu.org>
5543
5544         * m4/stdint.m4 (gl_STDINT_H): Treat BSD/OS like OpenBSD.
5545
5546 2006-06-26  Bruno Haible  <bruno@clisp.org>
5547
5548         * modules/stdint (Makefile.am): Also substitute HAVE_WCHAR_H.
5549
5550 2006-06-26  Bruno Haible  <bruno@clisp.org>
5551
5552         * m4/stdint.m4 (gl_STDINT_H): Test also for <wchar.h>.
5553
5554 2006-06-26  Bruno Haible  <bruno@clisp.org>
5555
5556         * m4/stdint.m4 (gl_STDINT_H): Don't include <stdint.h> when using the
5557         SGI C compiler in pre-C99 mode.
5558         Suggested by Mark D. Baushke and Larry Jones.
5559
5560 2006-06-26  Bruno Haible  <bruno@clisp.org>
5561
5562         * lib/stdint_.h: Include <wchar.h> if necessary for WCHAR_MIN or
5563         WCHAR_MAX.
5564         Reported by Mark D. Baushke and Larry Jones.
5565
5566 2006-06-26  Bruno Haible  <bruno@clisp.org>
5567
5568         * lib/stdint_.h: Don't include <stdint.h> when using the SGI C compiler
5569         in pre-C99 mode.
5570         Suggested by Mark D. Baushke and Larry Jones.
5571
5572 2006-06-23  Simon Josefsson  <jas@extundo.com>
5573             Bruno Haible  <bruno@clisp.org>
5574
5575         * gnulib-tool (func_emit_lib_Makefile_am): Define MOSTLYCLEANDIRS.
5576         Emit mostlyclean-local rule.
5577         (func_emit_tests_Makefile_am): Likewise.
5578         * modules/sys_socket (Makefile.am): Use MOSTLYCLEANDIRS.
5579
5580 2006-06-23  Mark D. Baushke  <mdb@gnu.org>
5581
5582         * lib/stdint_.h: Treat BSD/OS like OpenBSD.
5583
5584 2006-06-23  Bruno Haible  <bruno@clisp.org>
5585
5586         * tests/test-stdint.c: Update to match ISO C 99 Technical
5587         Corrigendum 1.
5588
5589 2006-06-23  Bruno Haible  <bruno@clisp.org>
5590
5591         * m4/stdint.m4 (gl_STDINT_H): Treat IRIX like OpenBSD.
5592
5593 2006-06-23  Bruno Haible  <bruno@clisp.org>
5594
5595         * lib/stdint_.h: Treat IRIX like OpenBSD.
5596
5597 2006-06-23  Bruno Haible  <bruno@clisp.org>
5598
5599         * lib/stdint_.h (UINT8_C, UINT16_C, UINT32_C): Define according to
5600         ISO C 99 Technical Corrigendum 1.
5601
5602 2006-06-22  Simon Josefsson  <jas@extundo.com>
5603
5604         * m4/sockpfaf.m4: Include winsock2.h too, to make it work under
5605         MinGW.
5606
5607 2006-06-22  Paul Eggert  <eggert@cs.ucla.edu>
5608
5609         * lib/glob.c (collated_compare): Remove 'const' uses that weren't
5610         needed.  Some compiler complained about some of them.  Problem reported
5611         by Larry Jones in
5612         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00172.html>.
5613
5614 2006-06-21  Simon Josefsson  <jas@extundo.com>
5615
5616         * tests/test-getaddrinfo.c: New file.
5617
5618         * modules/getaddrinfo-tests: New file.
5619
5620         * MODULES.html.sh: Add inet_pton.
5621
5622         * modules/inet_pton: New file.
5623
5624 2006-06-21  Simon Josefsson  <jas@extundo.com>
5625
5626         * m4/getaddrinfo.m4: Don't define WINVER.  Look for gethostbyname in
5627         -lws2_32 too.  Fixes getaddrinfo on Windows 2000, with the price
5628         of using the (limited) gnulib implementation on Windows XP.
5629
5630         * m4/inet_pton.m4: New file.
5631
5632 2006-06-21  Simon Josefsson  <jas@extundo.com>
5633
5634         * lib/getaddrinfo.c (getaddrinfo): Set ai_family in the return
5635         variable.
5636
5637         * lib/socket_.h: Don't define WINVER.
5638
5639         * lib/inet_pton.h, inet_pton.c: New file, taken from glibc but
5640         slightly modified to work in gnulib.
5641
5642 2006-06-21  Simon Josefsson  <jas@extundo.com>
5643
5644         * doc/gnulib.texi (Windows sockets): Add.
5645
5646 2006-06-21  Paul Eggert  <eggert@cs.ucla.edu>
5647
5648         * lib/read-file.c (fread_file): Start with buffer allocation of
5649         0 bytes rather than 1 byte; this simplifies the code.
5650         Don't invoke feof; it's not needed.  Refactor to avoid duplicate
5651         code to free buffer and save/restore errno.
5652         (internal_read_file): Remove unused local.
5653
5654 2006-06-20  Paul Eggert  <eggert@cs.ucla.edu>
5655
5656         * lib/openat.c (openat): Use ?:, not if, to work around GCC bug 4210
5657         <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=4210>.
5658         Problem reported by Denis Excoffier in
5659         <http://lists.gnu.org/archive/html/bug-tar/2006-06/msg00023.html>.
5660
5661 2006-06-19  Yoann Vandoorselaere <yoann.v@prelude-ids.com>
5662
5663         * modules/sys_socket, modules/socklen: Include sys/types since
5664         FreeBSD 4.x's sys/socket.h needs it.
5665
5666 2006-06-19  Simon Josefsson  <jas@extundo.com>
5667
5668         * lib/inet_ntop.c: Always build inet_ntop4, since inet_ntop6 calls it.
5669
5670 2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
5671
5672         * lib/alloca_.h (alloca) [defined alloca]: Don't define or declare.
5673
5674 2006-06-19  Bruno Haible  <bruno@clisp.org>
5675
5676         * m4/stdint.m4 (gl_STDINT_H): Enclose the values of FULL_PATH_STDINT_H
5677         and FULL_PATH_INTTYPES_H in angle brackets.
5678         Reported by Mark D. Baushke <mdb@gnu.org>.
5679
5680 2006-06-17  Eric Blake  <ebb9@byu.net>
5681
5682         * m4/rmdir-errno.m4 (gl_FUNC_FMDIR_NOTEMPTY): Assume errno.h declares
5683         errno.
5684
5685 2006-06-17  Bruno Haible  <bruno@clisp.org>
5686
5687         * m4/stdint.m4 (gl_STDINT_H) [FreeBSD >= 5]: Don't include
5688         <sys/inttypes.h>.
5689
5690 2006-06-17  Bruno Haible  <bruno@clisp.org>
5691
5692         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove test
5693         whether errno is declared. Assume <errno.h> declares errno.
5694
5695 2006-06-17  Bruno Haible  <bruno@clisp.org>
5696
5697         * lib/stdint_.h [FreeBSD >= 5]: Don't include <sys/inttypes.h>.
5698
5699 2006-06-17  Bruno Haible  <bruno@clisp.org>
5700
5701         * lib/stdint_.h (_UINT8_T, _UINT32_T, _UINT64_T): New macros. Fixes a
5702         problem on Solaris 2.5.1.
5703
5704 2006-06-16  Eric Blake  <ebb9@byu.net>
5705
5706         * lib/unsetenv.c [!defined errno]: Assume errno.h declares errno.
5707         * lib/unicodeio.c [!defined errno]: Likewise.
5708         * lib/strtol.c [!defined errno]: Likewise.
5709         * lib/strtod.c [!defined errno]: Likewise.
5710
5711 2006-06-15  Eric Blake  <ebb9@byu.net>
5712
5713         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Work in spite of -Werror.
5714
5715 2006-06-15  Eric Blake  <ebb9@byu.net>
5716
5717         * config/srclist.txt (ssize_t.m4): Lose sync.
5718
5719 2006-06-15  Bruno Haible  <bruno@clisp.org>
5720
5721         * modules/stdint (Files): Include m4/full-header-path.m4,
5722         m4/size_max.m4, m4/wchar_t.m4.
5723         (Makefile.am): Many more substitutions.
5724         * modules/stdint-tests: New file.
5725         * tests/test-stdint.c: New file.
5726
5727 2006-06-15  Bruno Haible  <bruno@clisp.org>
5728
5729         * m4/stdint.m4 (gl_STDINT_H): Rewritten to produce a complete stdint.h.
5730         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H, gl_STDINT_CHECK_TYPES,
5731         gl_STDINT_MISSING_BOUND, gl_STDINT_MISSING_BOUNDS,
5732         gl_STDINT_MISSING_BOUNDS2, gl_STDINT_BITSIZEOF, gl_CHECK_TYPES_SIGNED,
5733         gl_CHECK_TYPE_SAME): New macros.
5734
5735 2006-06-15  Bruno Haible  <bruno@clisp.org>
5736
5737         * m4/size_max.m4 (gl_SIZE_MAX): Make it work also when cross-compiling.
5738
5739 2006-06-15  Bruno Haible  <bruno@clisp.org>
5740
5741         * lib/stdint_.h: Rewritten to be fully auto-configured.
5742         Fixes bug on HP-UX/IA64.
5743
5744 2006-06-11  Paul Eggert  <eggert@cs.ucla.edu>
5745
5746         * lib/getdate.y (__attribute__): Don't define if already defined.
5747         Problem reported by Larry Jones.
5748         * lib/utimens.c (__attribute__): Likewise.
5749
5750 2006-06-04  Paul Eggert  <eggert@cs.ucla.edu>
5751
5752         * lib/regexec.c (group_nodes_into_DFAstates): Fix a buffer overrun
5753         reported by Andreas Schwab.
5754
5755 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
5756             Bruno Haible  <bruno@clisp.org>
5757
5758         * m4/strndup.m4 (gl_FUNC_STRNDUP): Replace the AC_REPLACE_FUNCS with a
5759         check for the declaration of strnlen and a run test that exposes the
5760         AIX 5.1 strnlen bug.  In the failure case, #define strndup to
5761         rpl_strndup.
5762
5763 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
5764             Bruno Haible  <bruno@clisp.org>
5765
5766         * lib/strndup.c (strndup) [!_LIBC]: Don't undefine macro definition.
5767
5768 2006-05-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
5769
5770         * m4/c-strtod.m4 (gl_C99_STRTOLD): Use a link test rather than a
5771         compile test, for Tru64 4.0D.
5772
5773 2006-05-28  Karl Berry  <karl@gnu.org>
5774
5775         * config/srclist.txt (printf-args.c): lose sync.
5776
5777 2006-05-26  Martin Lambers  <marlam@marlam.de>
5778
5779         * lib/getpass.c: Updates the test for the native W32 API, and adds
5780         missing includes, thus fixing compilation warnings.
5781
5782 2006-05-25  Sergey Poznyakoff  <gray@gnu.org.ua>
5783
5784         * lib/exclude.c (exclude_fnmatch): New function.
5785         (excluded_file_name): Call exclude_fnmatch.
5786         * lib/exclude.h (excluded_file_name): New prototype
5787
5788 2006-05-25  Paul Eggert  <eggert@cs.ucla.edu>
5789
5790         * lib/tempname.c (small_open, large_open): New macros.
5791         (__open, __open64) [!_LIBC]: Remove.
5792         (__gen_tempname): Use small_open and large_open instead of __open
5793         and __open64.  This fixes a portability bug on HP-UX 11.11i
5794         reported by Simon Wing-Tang in
5795         <http://lists.gnu.org/archive/html/bug-coreutils/2006-05/msg00114.html>.
5796
5797 2006-05-24  Bruno Haible  <bruno@clisp.org>
5798
5799         * lib/printf-args.c (printf_fetchargs): Turn NULL pointers for
5800         TYPE_STRING and TYPE_WIDE_STRING into a non-NULL replacement.
5801         Reported by Thorsten Maerz <torte@netztorte.de> via
5802         Aaron Stone <aaron@serendipity.cx>.
5803
5804 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
5805
5806         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Rename cache variables to use
5807         gl_ rather than jm_.  Link, don't run, so that cross-compiles are
5808         allowed.  Check that resulting type is arithmetic.  Move AC_REQUIRE
5809         and AC_CHECK_HEADERS_ONCE outside of AC_CACHE_CHECK, since they're
5810         not really conditional on the cache.
5811         (gl_PREREQ_NANOSLEEP): Check for sys/select.h.
5812
5813 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
5814
5815         * lib/nanosleep.c [HAVE_SYS_SELECT_H]: Include <sys/select.h>.
5816         Use the usual Autoconf way to include <time.h> and/or sys/time.h.
5817         (my_usleep): Don't mishandle maximum value.
5818
5819 2006-05-19  Jim Meyering  <jim@meyering.net>
5820
5821         * lib/getugroups.c: Correct an outdated comment.  From Bruno Haible.
5822
5823 2006-05-17  Bruno Haible  <bruno@clisp.org>
5824
5825         Cygwin portability.
5826         * lib/classpath.c (PATH_SEPARATOR) [CYGWIN]: Define as ':'.
5827
5828 2006-05-17  Bruno Haible  <bruno@clisp.org>
5829
5830         * lib/stdint_.h: Fix recognition of Cygwin.
5831
5832 2006-05-15  Bruno Haible  <bruno@clisp.org>
5833
5834         * build-aux/config.rpath: Improve support for Sun C 5.9 on Linux, based
5835         on libtool patch by Ralf Wildenhues.
5836
5837 2006-05-14  Paul Eggert  <eggert@cs.ucla.edu>
5838
5839         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Fix overly-picky
5840         test for C99 conformance; (bool) 0.5 is an integer constant
5841         expression, but (bool) -0.5 is not.  Problem reported by Fedor
5842         Sergeev in <http://forum.sun.com/jive/thread.jspa?threadID=96202>.
5843
5844 2006-05-11  Simon Josefsson  <jas@extundo.com>
5845
5846         * m4/xvasprintf.m4: Fix obvious typo.
5847
5848 2006-05-11  Jim Meyering  <jim@meyering.net>
5849
5850         * lib/sha1.c (sha1_buffer): Correct comment: s/MD5/SHA1/.  From
5851         James Lemley.
5852
5853 2006-05-10  Simon Josefsson  <jas@extundo.com>
5854
5855         * lib/md4.c: Typo fix, update copyright years.
5856         (K1, K2): Don't use L because it turn computations into 64-bit on
5857         64-bit platforms.
5858
5859 2006-05-10  Paul Eggert  <eggert@cs.ucla.edu>
5860
5861         * lib/crc.c (crc32_update): Remove unnecessary L suffix.
5862         * lib/md4.c (rol): Cast right-shift arg to uint32_t to prevent
5863         unwanted sign propagation, e.g., on hosts with 64-bit int.
5864         There still are some problems with reeelly weird theoretical hosts
5865         (e.g., 33-bit int) but it's not worth worrying about now.
5866         * lib/sha1.c (rol): Likewise.
5867         (K1, K2, K3, K4): Remove unnecessary L suffix.
5868
5869 2006-05-10  Bruno Haible  <bruno@clisp.org>
5870
5871         * lib/des.c: Cast to avoid warnings.
5872
5873 2006-05-09  Bruno Haible  <bruno@clisp.org>
5874
5875         * modules/xvasprintf (Files): Add m4/xvasprintf.m4.
5876         (Depends-on): Depend also on xsize, stdarg.
5877         (configure.ac): Add gl_XVASPRINTF.
5878
5879 2006-05-09  Bruno Haible  <bruno@clisp.org>
5880
5881         * m4/xvasprintf.m4: New file.
5882
5883 2006-05-09  Bruno Haible  <bruno@clisp.org>
5884
5885         * lib/xvasprintf.c: Include limits.h, string.h, xsize.h.
5886         (EOVERFLOW): Define fallback value.
5887         (xstrcat): New function.
5888         (xvasprintf): Recognize the special case of a string concatenation.
5889
5890 2006-05-08  Eric Blake  <ebb9@byu.net>
5891
5892         * gnulib-tool (func_version): Base copyright year on CVS date.
5893         (func_emit_copyright_notice): New function.
5894         (func_emit_lib_Makefile_am): Use it.
5895         (func_emit_tests_Makefile_am): Likewise.
5896         (func_import): Likewise.
5897
5898 2006-05-08  Bruno Haible  <bruno@clisp.org>
5899
5900         * modules/stdarg: New file.
5901         * MODULES.html.sh (func_all_modules): Add section for <stdarg.h>.
5902
5903 2006-05-08  Bruno Haible  <bruno@clisp.org>
5904
5905         * m4/stdarg.m4: New file, from GNU gettext.
5906
5907 2006-05-08  Bruno Haible  <bruno@clisp.org>
5908
5909         * config/srclist.txt (build-aux/config.rpath): different from latest
5910         release.
5911
5912 2006-05-08  Bruno Haible  <bruno@clisp.org>
5913
5914         * build-aux/config.rpath: Add support for Sun C 5.9 on Linux.
5915
5916 2006-05-05  Jim Meyering  <jim@meyering.net>
5917
5918         * m4/warning.m4: New file, derived from bison's file by the same name.
5919
5920 2006-05-03  Bruno Haible  <bruno@clisp.org>
5921
5922         * lib/stdint_.h: Shorter URL.
5923         * lib/inttypes.h: Likewise.
5924
5925 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
5926
5927         * modules/inttypes (Maintainer): Change from Derek Price to 'all'.
5928
5929 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
5930
5931         * lib/verify.h: Document the internals better.  Most of this change
5932         was written by Bruno Haible.
5933
5934 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
5935
5936         * doc/verify.texi: New file, partly based on a proposal by
5937         Bruno Haible.
5938
5939 2006-05-02  Bruno Haible  <bruno@clisp.org>
5940
5941         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Move the include_next
5942         test from here...
5943         * m4/_inttypes_h.m4 (gl_INTTYPES_H): ... to here.
5944
5945 2006-04-29  Bruno Haible  <bruno@clisp.org>
5946
5947         * lib/gcd.c: Use WORD_T and GCD instead of unsigned long and gcd.
5948         Suggested by Oskar Liljeblad <oskar@osk.mine.nu>.
5949
5950 2006-04-29  Bruno Haible  <bruno@clisp.org>
5951
5952         * gnulib-tool: Make --update option actually work.
5953
5954 2006-04-29  Bruno Haible  <bruno@clisp.org>
5955
5956         * doc/gcd.texi: New file.
5957         * doc/gnulib.texi: Include it.
5958
5959 2006-04-25  Paul Eggert  <eggert@cs.ucla.edu>
5960
5961         * lib/getdate.y (get_date): When adding relative date, start with the
5962         initial time, not with the result of the first mktime call.
5963
5964 2006-04-25  Bruno Haible  <bruno@clisp.org>
5965
5966         * gnulib-tool (func_import): Output the include directives in three
5967         blocks, sorted separately.
5968         Reported by Ben Pfaff <blp@cs.stanford.edu>.
5969
5970 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
5971
5972         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use prototype
5973         to define main with arguments, for C++.  Reported by Eric Blake.
5974         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC):
5975         Prefer 'int main ()' to 'int main (void)', for C++.
5976         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
5977         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Specify a return type
5978         for 'main', for C99 and C++.
5979
5980 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
5981
5982         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Use return, not exit.
5983         Don't assume that exit status -1 is valid.
5984         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
5985         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
5986         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
5987         * m4/readdir.m4 (GL_FUNC_READDIR): Include <stdlib.h>.
5988         * m4/rename.m4 (vb_FUNC_RENAME): Likewise.
5989         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use AC_RUN_IFELSE,
5990         not AC_TRY_RUN.  Use return, not exit.  Don't assume that
5991         functions can be used without declaring them, or that you can
5992         exit with status -1.
5993         * m4/utimes-null.m4 (gl_FUNC_UTIMES_NULL): Likewise.
5994
5995 2006-04-24  Karl Berry  <karl@gnu.org>
5996
5997         * config/srclist.txt (longdouble.m4): sync lost.
5998
5999 2006-04-24  Eric Blake  <ebb9@byu.net>
6000
6001         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Avoid unused variable warning.
6002
6003 2006-04-24  Bruno Haible  <bruno@clisp.org>
6004
6005         * m4/poll.m4 (gl_FUNC_POLL): When cross-compiling, reject also the
6006         poll() implementation in AIX.
6007         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
6008
6009 2006-04-24  Bruno Haible  <bruno@clisp.org>
6010
6011         * m4/poll.m4 (gl_FUNC_POLL): Rearrange code, so that POLL_H gets
6012         assigned exactly once.
6013
6014 2006-04-23  Claudio Fontana  <claudio@gnu.org>
6015             Bruno Haible  <bruno@clisp.org>
6016
6017         * modules/gettext (Makefile.am): Add a -I flag for <libintl.h>.
6018         * gnulib-tool (func_emit_lib_Makefile_am): Emit empty default value
6019         for AM_CPPFLAGS.
6020
6021 2006-04-23  Bruno Haible  <bruno@clisp.org>
6022
6023         * modules/copy-file: Depend on unistd.
6024         * modules/execute: Likewise.
6025         * modules/fatal-signal: Likewise.
6026         * modules/findprog: Likewise.
6027         * modules/mkdtemp : Likewise.
6028         * modules/pipe: Likewise.
6029         * modules/wait-process: Likewise.
6030
6031 2006-04-23  Bruno Haible  <bruno@clisp.org>
6032
6033         * lib/fwriteerror.c (fwriteerror): Call fclose also when an error
6034         condition was already detected.
6035         Reported by Ben Pfaff <blp@cs.stanford.edu>.
6036
6037 2006-04-23  Bruno Haible  <bruno@clisp.org>
6038
6039         * lib/copy-file.c: Include <unistd.h> unconditionally.
6040         * lib/execute.c: Likewise.
6041         * lib/fatal-signal.c: Likewise.
6042         * lib/findprog.c: Likewise.
6043         * lib/mkdtemp.c: Likewise.
6044         * lib/pipe.h: Likewise.
6045         * lib/pipe.c: Likewise.
6046         * lib/wait-process.h: Likewise.
6047
6048 2006-04-23  Bruno Haible  <bruno@clisp.org>
6049
6050         * gnulib-tool (func_usage): Fix --import description. Document
6051         --update.
6052         (func_import): Create temporary file in a temporary directory, if
6053         --dry-run is specified. Silence errors from 'grep' when there are no
6054         m4 files in $m4dir.
6055         (func_create_testdir): Silence errors from 'grep' when there are no
6056         m4 files in $m4dir.
6057         Reported by Karl Berry <karl@freefriends.org>.
6058
6059 2006-04-20  Bruno Haible  <bruno@clisp.org>
6060
6061         * m4/argp.m4 (gl_ARGP): Don't call AC_CHECK_DECLS_ONCE with more than
6062         one argument, so that the code will be portable to Autoconf 2.60.
6063         * m4/getlogin_r.m4 (gl_PREREQ_GETLOGIN_R): Likewise.
6064         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
6065         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO): Likewise.
6066
6067 2006-04-19  Derek Price  <derek@ximbiot.com>
6068             Eric Blake  <ebb9@byu.net>
6069
6070         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Use </full/path.h>
6071         rather than "/full/path.h".  Update comment to match.  Shorten &
6072         generalize m4_translit call via AS_TR_CPP.
6073
6074 2006-04-19  Derek Price  <derek@ximbiot.com>
6075             Eric Blake  <ebb9@byu.net>
6076
6077         * lib/inttypes.h: Correct grammar in comment.
6078
6079 2006-04-18  Derek Price  <derek@ximbiot.com>
6080             Paul Eggert  <eggert@cs.ucla.edu>
6081
6082         * modules/inttypes: New file.
6083         * modules/strtoimax, modules/strtoumax: Depend on inttypes.
6084
6085 2006-04-18  Derek Price  <derek@ximbiot.com>
6086             Paul Eggert  <eggert@cs.ucla.edu>
6087
6088         * m4/_inttypes_h.m4, m4/full-header-path.m4, m4/include_next.m4:
6089         New files.
6090
6091 2006-04-18  Derek Price  <derek@ximbiot.com>
6092             Paul Eggert  <eggert@cs.ucla.edu>
6093
6094         * lib/inttypes.h: New file.
6095         * lib/strtoimax.c: Assume <inttypes.h>.
6096
6097 2006-04-15  Paul Eggert  <eggert@cs.ucla.edu>
6098
6099         * lib/utimens.c (futimens): glibc futimesat messes up if /proc
6100         isn't mounted.  Problem reported by Kir Kolyshkin.
6101
6102 2006-04-13  Paul Eggert  <eggert@cs.ucla.edu>
6103
6104         * lib/regcomp.c (init_dfa): Don't use wchar_t or wctype_t if
6105         RE_ENABLE_I18N is not defined.  Problem reported by Mark D. Baushke via
6106         Derek R. Price.
6107         * lib/regex.h (RE_DUP_MAX): Update comment to match current
6108         implementation.
6109
6110 2006-04-12  Eric Blake  <ebb9@byu.net>
6111
6112         * modules/time_r (Makefile.am): Remove lib_SOURCES line, as this
6113         is now done automatically by the corresponding Autoconf macro.
6114
6115 2006-04-11  Paul Eggert  <eggert@cs.ucla.edu>
6116
6117         * m4/time_r.m4 (gl_TIME_R): Add AC_LIBSOURCES for time_r.c and
6118         time_r.h.
6119
6120 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
6121
6122         Merge regex changes from libc, removing some of our
6123         POSIX-conformance changes that were rejected and redoing them in a
6124         less-intrusive way.
6125
6126         * lib/regcomp.c (re_compile_internal, init_dfa):
6127         Length arg is now size_t, not Idx.  All uses changed.
6128         (peek_token): Forward decl now says internal_function.
6129         (__re_error_msgid, __re_error_msgid_idx):
6130         Now static rather than extern with attribute_hidden.
6131         (re_compile_pattern) [!defined _LIBC]: Use K&R-style defn.
6132         For some reason libc prefers K&R style defns for external functions.
6133         (regerror) [!defined _LIBC]: Likewise.
6134         (re_set_syntax, re_compile_fastmap, regcomp, regfree, re_comp):
6135         (seek_collating_symbol_entry, lookup_collation_sequence_value):
6136         (build_range_exp, build_collating_symbol):
6137         Use K&R-style defn.
6138         (re_compile_fastmap): Use '\0' to memset, not 0.
6139         (utf8_sb_map): Make the calculations more obvious.
6140         (init_dfa, parse_bracket_exp, build_charclass_op):
6141         Call calloc and cast result, as glibc does.
6142         (init_word_char, fetch_token, peek_token, peek_token_bracket):
6143         (build_range_exp, build_collating_symbol):
6144         Now internal functions.
6145
6146         * lib/regex.c [!defined _LIBC]: Allow compiling with C++ compilers.
6147
6148         * lib/regex.h (__USE_GNU_REGEX): New macro.  Don't depend on
6149         _REGEX_SOURCE any more; depend on _GNU_SOURCE instead.
6150         Don't depend on VMS; depend on __VMS instead, for POSIX
6151         namespace cleanness.
6152         (regoff_t): Define to ssize_t, not long int.
6153
6154         Remove the REG_ macros named below.  Instead, make the old names
6155         (e.g., RE_BACKSLASH_ESCAPE_IN_LISTS) visible only if
6156         __USE_GNU_REGEX.
6157         (REG_BACKSLASH_ESCAPE_IN_LISTS):
6158         (REG_BK_PLUS_QM, REG_CHAR_CLASSES, REG_CONTEXT_INDEP_ANCHORS):
6159         (REG_CONTEXT_INDEP_OPS, REG_CONTEXT_INVALID_OPS):
6160         (REG_DOT_NEWLINE, REG_DOT_NOT_NULL, REG_HAT_LISTS_NOT_NEWLINE):
6161         (REG_INTERVALS, REG_LIMITED_OPS, REG_NEWLINE_ALT):
6162         (REG_NO_BK_BRACES, REG_NO_BK_PARENS, REG_NO_BK_REFS):
6163         (REG_NO_BK_VBAR, REG_NO_EMPTY_RANGES):
6164         (REG_UNMATCHED_RIGHT_PAREN_ORD, REG_NO_POSIX_BACKTRACKING):
6165         (REG_NO_GNU_OPS, REG_DEBUG, REG_INVALID_INTERVAL_ORD):
6166         (REG_IGNORE_CASE, REG_CARET_ANCHORS_HERE):
6167         (REG_CONTEXT_INVALID_DUP, REG_NO_SUB, REG_SYNTAX_EMACS):
6168         (REG_SYNTAX_AWK, REG_SYNTAX_GNU_AWK, REG_SYNTAX_POSIX_AWK):
6169         (REG_SYNTAX_GREP, REG_SYNTAX_EGREP, REG_SYNTAX_POSIX_EGREP):
6170         (REG_SYNTAX_ED, REG_SYNTAX_SED, _REG_SYNTAX_POSIX_COMMON):
6171         (REG_SYNTAX_POSIX_BASIC, REG_SYNTAX_POSIX_MINIMAL_BASIC):
6172         (REG_SYNTAX_POSIX_EXTENDED, REG_SYNTAX_POSIX_MINIMAL_EXTENDED):
6173         (REG_DUP_MAX, REG_UNALLOCATED, REG_REALLOCATE, REG_FIXED):
6174         (REG_NREGS):
6175         Remove.  All uses replaced by the old RE_* names.
6176         (RE_BACKSLASH_ESCAPE_IN_LISTS):
6177         (RE_BK_PLUS_QM, RE_CHAR_CLASSES, RE_CONTEXT_INDEP_ANCHORS):
6178         (RE_CONTEXT_INDEP_OPS, RE_CONTEXT_INVALID_OPS):
6179         (RE_DOT_NEWLINE, RE_DOT_NOT_NULL, RE_HAT_LISTS_NOT_NEWLINE):
6180         (RE_INTERVALS, RE_LIMITED_OPS, RE_NEWLINE_ALT):
6181         (RE_NO_BK_BRACES, RE_NO_BK_PARENS, RE_NO_BK_REFS):
6182         (RE_NO_BK_VBAR, RE_NO_EMPTY_RANGES):
6183         (RE_UNMATCHED_RIGHT_PAREN_ORD, RE_NO_POSIX_BACKTRACKING):
6184         (RE_NO_GNU_OPS, RE_DEBUG, RE_INVALID_INTERVAL_ORD):
6185         (RE_IGNORE_CASE, RE_CARET_ANCHORS_HERE):
6186         (RE_CONTEXT_INVALID_DUP, RE_NO_SUB):
6187         Don't bother having these macros be independent of each others'
6188         values, since they no longer exist in the POSIX name space.
6189
6190         Rename the following member names back to their old names,
6191         unless !__USE_GNU_REGEX.  All uses changed back.
6192         (buffer): Renamed from re_buffer.
6193         (allocated): Renamed from re_allocated.
6194         (used): Renamed from re_used.
6195         (syntax): Renamed from re_syntax.
6196         (fastmap): Renamed from re_fastmap.
6197         (translate): Renamed from re_translate.
6198         (can_be_null): Renamed from re_can_be_null.
6199         (regs_allocated): Renamed from re_regs_allocated.
6200         (fastmap_accurate): Renamed from re_fastmap_accurate.
6201         (no_sub): Renamed from re_no_sub.
6202         (not_bol): Renamed from re_not_bol.
6203         (not_eol): Renamed from re_not_eol.
6204         (newline_anchor): Renamed from re_newline_anchor.
6205         (num_regs): Renamed from rm_num_regs.
6206         (start): Renamed from rm_start.
6207         (end): Renamed from rm_end.
6208
6209         (free_state): Move up a bit.
6210
6211         * lib/regex_internal.h (inline) [__GNUC__ < 3 && defined _LIBC]:
6212         #define to be empty.
6213         (ASCII_CHARS): New macro, replacing all uses of 0x80 and/or SBC_MAX / 2
6214         when that is what is intended.
6215         (SBC_MAX): Define to UCHAR_MAX + 1, not 256.
6216         (__re_error_msgid, __re_error_msgid_idx): Remove decls; not needed.
6217         (MAX): New macro.
6218         (re_xmalloc, re_calloc, re_xrealloc, re_x2realloc): Remove.
6219         All uses changed back to re_malloc, etc.  It's now the caller's
6220         responsibility to check for overflow; all callers changed.
6221         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc, re_xnrealloc):
6222         (re_x2nrealloc): Remove.
6223         (free_state): Remove decl.
6224
6225         * lib/regexc.c (regexec, re_match, re_search, re_match_2, re_search_2):
6226         (re_set_registers, re_exec):
6227         Use K&R-style defn.
6228
6229         2006-01-31  Roland McGrath  <roland@redhat.com>
6230
6231         * lib/regcomp.c (calc_eclosure_iter): Remove dead variables.
6232         Reported by Mike Frysinger <vapier@gentoo.org>.
6233
6234         2006-01-15  Andreas Jaeger  <aj@suse.de>
6235
6236         [BZ #1950]
6237         * lib/regex_internal.c (re_string_reconstruct): Adjust for
6238         build_wcs_upper_buffer change.
6239         (build_wcs_upper_buffer): Change return type.
6240
6241         2005-12-10  Ulrich Drepper  <drepper@redhat.com>
6242
6243         * lib/regex_internal.h: Include <stdint.h> if available.
6244
6245         2005-12-06  Paolo Bonzini  <bonzini@gnu.org>
6246
6247         * lib/regex_internal.h (SIZE_MAX): Provide a default definition.
6248
6249         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
6250
6251         * lib/regcomp.c: Adjust for changed secondary hash function.
6252
6253         2005-09-30  Ulrich Drepper  <drepper@redhat.com>
6254
6255         * lib/regex.h: Pretty printing.
6256         Clean up namespace a bit.
6257
6258         2005-09-30  Jakub Jelinek  <jakub@redhat.com>
6259
6260         * lib/regexec.c (update_cur_sifted_state, check_arrival,
6261         check_arrival_add_next_nodes): Avoid using uninitialized variable.
6262
6263         2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
6264                     Ulrich Drepper  <drepper@redhat.com>
6265
6266         [BZ #1302]
6267         * lib/regex_internal.h (bitset_t): Renamed from bitset.  All uses
6268         changed.
6269         (bitset_word_t): Renamed from bitset_word.  All uses changed.
6270
6271         2005-09-22  Ulrich Drepper  <drepper@redhat.com>
6272
6273         [BZ #281]
6274         * lib/regex.h: Define RE_TRANSLATE_TYPE as unsigned char *.
6275         * lib/regcomp.c: Remove unnecessary uses of
6276         unsigned RE_TRANSLATE_TYPE.
6277         * lib/regex_internal.h: Likewise.
6278         * lib/regex_internal.c: Likewise.
6279         * lib/regexec.c: Likewise.
6280         Based on a patch by Stepan Kasal <kasal@ucw.cz>.
6281
6282         2005-09-07  Ulrich Drepper  <drepper@redhat.com>
6283
6284         * lib/regexec.c (find_recover_state): Remove unnecessary
6285         initialization.
6286         (transit_state_bkref): Make DFA a const pointer.
6287         (get_subexp): Likewise.
6288         (check_arrival): Likewise.
6289         (update_cur_sifted_state): Likewise.
6290         (re_search_internal): Likewise.
6291         (prune_impossible_nodes): Likewise.
6292         (acquire_init_state_context): Likewise.
6293         (proceed_next_node): Likewise.
6294         (set_regs): Likewise.
6295         (free_fail_stack_return): Likewise.
6296         (check_arrival_expand_ecl): Mark DFA parameter as const.
6297         (check_arrival_expand_ecl_sub): Likewise.
6298         (check_subexp_limits): Likewise.
6299         (sub_epsilon_src_nodes):  Likewise.
6300         (add_epsilon_src_nodes):  Likewise.
6301         (merge_state_array): Likewise.
6302         (update_regs): Likewise.
6303         (build_trtable): Likewise.
6304         (sift_states_backward): Mark MCTX parameter as const.
6305         (build_sifted_states): Likewise.
6306         (update_cur_sifted_state): Likewise.
6307         (sift_states_mkref): Likewise.
6308         (check_arrival_expand_ecl): Mark eclosure as const.
6309         (check_dst_limits_calc_pos_1): Likewise.
6310         * lib/regex_internal.h (re_match_context_t): Make dfa a const
6311         pointer.
6312
6313         2005-09-06  Ulrich Drepper  <drepper@redhat.com>
6314
6315         * lib/regexec.c (merge_state_with_log): Define dfa as const pointer.
6316         (transit_state_sb): Likewise.
6317         (transit_state_mb): Likewise.
6318         (sift_states_iter_mb): Likewise.
6319         (check_arrival_add_next_nodes): Likewise.
6320         (check_node_accept_bytes): Change first parameter to pointer-to-const.
6321         [_LIBC] (re_search_2_stub): Use mempcpy.
6322
6323         * lib/regex_internal.c (re_string_reconstruct): Avoid calling
6324         mbrtowc for very simple UTF-8 case.
6325
6326         * lib/regex_internal.c (re_acquire_state): Make DFA pointer arg
6327         a pointer-to-const.
6328         (re_acquire_state_context): Likewise.
6329         * lib/regex_internal.h: Adjust prototypes.
6330
6331         * lib/regex.c: Prevent using C++ compilers.
6332
6333         * lib/regex_internal.c (re_acquire_state): Minor code rearrangement.
6334         (re_acquire_state_context): Likewise.
6335
6336 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
6337
6338         * modules/regex (Depends-on): Add ssize_t.
6339
6340 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
6341
6342         * m4/regex.m4 (gl_REGEX): Check for new glibc interface to
6343         translation table.
6344
6345 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
6346
6347         * doc/gnulib-tool.texi (Modified imports): pathname -> file name.
6348
6349 2006-03-29  Mark D. Baushke  <mdb@gnu.org>
6350             Bruno Haible  <bruno@clisp.org>
6351
6352         * lib/stdint_.h: On OpenBSD, don't redefine types already included in
6353         <sys/types.h> and <inttypes.h>.
6354
6355 2006-03-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
6356
6357         * m4/argz.m4 (gl_FUNC_ARGZ): If we define `error_t', also define
6358         `__error_t_defined', so argp.h will not typedef the former.
6359
6360 2006-03-25  Paul Eggert  <eggert@cs.ucla.edu>
6361
6362         * m4/regex.m4 (gl_REGEX): Don't insist on REG_SYNTAX_POSIX_EGREP,
6363         REG_SYNTAX_EMACS, and REG_IGNORE_CASE.  Settle for the traditional
6364         glibc names.  Even if glibc is changed to conform to POSIX, the
6365         traditional names will be available anyway, since regex depends on
6366         the extensions module.  Also, fix a longstanding typo in the
6367         implementation of Spencer ERE test #75 from grep 2.3.  Problems
6368         reported by Emanuele Giaquinta.  Also, change sense of cached
6369         variable, so that the message makes sense.
6370
6371 2006-03-24  Simon Josefsson  <jas@extundo.com>
6372
6373         * lib/base64.c: Fix problems reported by Eric Blake <ebb9@byu.net>,
6374         including some doc fixes.
6375         (base64_encode_alloc): Fix +1 bug on allocation failures.
6376
6377 2006-03-24  Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
6378
6379         * lib/base64.c (base64_encode): Do not read past end of array with
6380         unsanitized input on systems with CHAR_BIT > 8.
6381
6382 2006-03-24  Eric Blake  <ebb9@byu.net>
6383
6384         * lib/time_r.c (copy_string_result): Remove, as it is no longer used.
6385
6386 2006-03-22  Karl Berry  <karl@gnu.org>
6387
6388         * config/srclist.txt (*setenv.[ch]): get from coreutils.
6389         * config/srclistvars.sh (COREUTILS): new var.
6390
6391 2006-03-17  Jim Meyering  <jim@meyering.net>
6392
6393         * m4/regex.m4 (gl_REGEX): Fix typo in last change:
6394         s/_REGEX_WIDE_OFFSETS/_REGEX_LARGE_OFFSETS/.
6395
6396 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
6397
6398         * m4/regex.m4 (gl_REGEX): Don't check for off_t, since the code
6399         no longer needs it.  Instead, check that regoff_t is as least
6400         as wide as ptrdiff_t.
6401
6402         Don't define _REGEX_WIDE_OFFSETS unless using the included regex,
6403         so that our regex.h stays compatible with the installed regex.
6404         This is helpful for installers who configure --without-included-regex.
6405         Problem reported by Emanuele Giaquinta.
6406
6407 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
6408
6409         * lib/regex.h (regoff_t) [defined _REGEX_LARGE_OFFSETS]:
6410         Typedef to long int, not to off_, as POSIX will likely change
6411         in that direction.
6412
6413 2006-03-15  Eric Blake  <ebb9@byu.net>
6414
6415         * m4/dirfd.m4 (gl_FUNC_DIRFD): Use AC_REQUIRE for AC_HEADER_DIRENT.
6416
6417 2006-03-13  Sergey Poznyakoff  <gray@gnu.org.ua>
6418
6419         * lib/argp-help.c (validate_uparams): Fix typo
6420         * lib/argp-parse.c (argp_default_options): Consistently begin help
6421         messages with a lowercase letter.
6422
6423 2006-03-11  Paul Eggert  <eggert@cs.ucla.edu>
6424
6425         * lib/time_r.h (asctime_r, ctime_r): Remove.  These functions can
6426         overrun buffers and shouldn't be used (much as gets shouldn't be
6427         used).
6428         * lib/time_r.c (asctime_r, ctime_r): Likewise.
6429
6430 2006-03-08  Simon Josefsson  <jas@extundo.com>
6431
6432         * m4/gc-random.m4: Permit 'no' as variable values and fix warnings,
6433         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
6434
6435 2006-03-08  Simon Josefsson  <jas@extundo.com>
6436
6437         * m4/gc-random.m4: Call AC_CANONICAL_HOST and use $host_os instead of
6438         $target, suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
6439
6440 2006-03-08  Simon Josefsson  <jas@extundo.com>
6441
6442         * lib/gc-gnulib.c (randomize): Don't open files called 'no', they
6443         signal that configure disabled the device.
6444
6445 2006-03-08  Simon Josefsson  <jas@extundo.com>
6446
6447         * build-aux/maint.mk: Fix refresh-po, to handle no translated
6448         languages.
6449
6450 2006-03-07  Simon Josefsson  <jas@extundo.com>
6451
6452         * modules/getopt (Depends-on): Add unistd.
6453
6454         * modules/unistd: New file.
6455
6456 2006-03-07  Simon Josefsson  <jas@extundo.com>
6457
6458         * modules/gc-random: New file.
6459
6460 2006-03-07  Simon Josefsson  <jas@extundo.com>
6461
6462         * m4/unistd_h.m4: New file.
6463
6464 2006-03-07  Simon Josefsson  <jas@extundo.com>
6465
6466         * m4/readline.m4 (gl_FUNC_READLINE): Rewrite the cached part of the
6467         test to be side-effect free by storing the result in the cache
6468         variable gl_cv_lib_readline, and moving the assignment of
6469         LIBREADLINE and LTLIBREADLINE outside the COMMANDS-TO-SET-IT.
6470         From Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
6471
6472 2006-03-07  Simon Josefsson  <jas@extundo.com>
6473
6474         * m4/gc-random.m4: New file, mostly from gc.m4.  Warn instead of
6475         error on missing devices (the functions will return an error).
6476
6477         * m4/gc.m4: Move random stuff to gc-random.m4
6478
6479 2006-03-07  Simon Josefsson  <jas@extundo.com>
6480
6481         * lib/unistd_.h: New file.
6482
6483 2006-03-07  Simon Josefsson  <jas@extundo.com>
6484
6485         * lib/gc-libgcrypt.c, gc-gnulib.c: Use GC_USE_RANDOM.
6486
6487 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
6488
6489         * m4/unistd_h.m4 (gl_HEADER_UNISTD): Rename, to match modules file.
6490         Problem reported by Juan Manuel Guerrero.
6491
6492 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
6493
6494         * lib/c-stack.c: Include unistd.h unconditionally, since we now assume
6495         the unistd module.
6496         * lib/getlogin_r.c: Likewise.
6497         * lib/getlogin_r.h: Likewise.
6498         * lib/glob.c: Likewise.
6499         * lib/pagealign_alloc.c: Likewise.
6500         * lib/unistd_.h: Remove; no longer needed.
6501
6502 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
6503
6504         * MODULES.html.sh (Support for systems lacking POSIX:2001):
6505         Add unistd.
6506         * modules/c-stack (Depends-on): Add unistd.
6507         * modules/getlogin_r: Likewise.
6508         * modules/glob: Likewise.
6509         * modules/pagealign_alloc: Likewise.
6510         * modules/unistd (Files): Remove lib/unistd_.h.
6511         (EXTRA_DIST): Remove.
6512         (unistd.h): Create using 'echo' rather than 'cp', so that we don't
6513         need unistd_.h.
6514         (MOSTLYCLEANFILES): Remove unistd.h-t.
6515
6516 2006-03-03  Simon Josefsson  <jas@extundo.com>
6517
6518         * build-aux/maint.mk: Add several syntax checks from CoreUtils.
6519
6520 2006-03-03  Simon Josefsson  <jas@extundo.com>
6521
6522         * build-aux/maint.mk: Add refresh-po rule, based on ideas from
6523         libidn and bison.
6524
6525 2006-03-03  Simon Josefsson  <jas@extundo.com>
6526
6527         * build-aux/maint.mk: Add indent target.
6528
6529 2006-03-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de> (tiny change)
6530
6531         * m4/poll.m4 (gl_FUNC_POLL): If we deem poll(2) unacceptable, use
6532         our replacement poll.h in any case, to avoid a differing
6533         declaration from a system header.  Seen on AIX.
6534
6535 2006-03-01  Simon Josefsson  <jas@extundo.com>
6536
6537         * lib/readline.c: Fix typo, tiny patch from Stepan Kasal
6538         <kasal@ucw.cz>.
6539
6540 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
6541
6542         * modules/gettime (Depends-on): Add extensions module.
6543         * modules/nanosleep (Depends-on): Likewise.
6544         * modules/settime (Depends-on): Likewise.
6545
6546 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
6547
6548         * m4/clock_time.m4 (gl_CLOCK_TIME): Require gl_USE_SYSTEM_EXTENSIONS,
6549         not merely AC_GNU_SOURCE, for the benefit of Solaris 10 when compiled
6550         pedantically.
6551         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
6552         * m4/timespec.m4 (gl_TIMESPEC): Likewise.
6553
6554         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use "=" with "test",
6555         not "==".  Reported by Ralf Wildenhues.
6556
6557 2006-03-01  Karl Berry  <karl@gnu.org>
6558
6559         * doc/Copyright/request-*: new files, synced from gnuorg.
6560
6561 2006-03-01  Karl Berry  <karl@gnu.org>
6562
6563         * config/srclist.txt (Copyright/*): new entries.
6564
6565 2006-02-28  Simon Josefsson  <jas@extundo.com>
6566
6567         * lib/getopt.c: Protect #include of unistd.h, for MSVS.
6568
6569 2006-02-27  Simon Josefsson  <jas@extundo.com>
6570
6571         * lib/base64.h: Indent #define's.  From Jim Meyering
6572         <jim@meyering.net>.
6573
6574 2006-02-27  Jim Meyering  <jim@meyering.net>
6575
6576         Revert the change of 2006-02-24, so these files can continue
6577         to be sync'd from gettext.
6578         * lib/mkdtemp.c, setenv.c, unsetenv.c: *Un*-normalize inclusion
6579         of `config.h'.
6580
6581 2006-02-26  Paul Eggert  <eggert@cs.ucla.edu>
6582
6583         * modules/intprops: New file.
6584         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
6585         Add intprops.
6586         * modules/getloadavg (Files): Remove lib/intprops.h.
6587         (Depends-on): Add intprops.
6588         * modules/human: Likewise.
6589         * modules/inttostr: Likewise.
6590         * modules/openat: Likewise.
6591         * modules/sig2str: Likewise.
6592         * modules/userspec: Likewise.
6593         * modules/utimecmp: Likewise.
6594         * modules/xnanosleep: Likewise.
6595         * modules/xstrtol: Likewise.
6596
6597 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny changes)
6598
6599         * modules/xstrtod: Omit xstrtod.h, xstrtod.c; they're in LIB_SOURCES.
6600         * modules/lock-tests (TESTS): Use $(EXEEXT).
6601         * modules/tls-tests: Likewise.
6602         * modules/argp-tests: Likewise.
6603         (check_PROGRAMS): New var, replacing...
6604         (noinst_PROGRAMS, test_argp_SOURCES): Remove.
6605
6606 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
6607
6608         * lib/mkdtemp.c, lib/setenv.c, lib/unsetenv.c: Normalize inclusion of
6609         `config.h'.
6610
6611 2006-02-24  Paul Eggert  <eggert@cs.ucla.edu>
6612
6613         * lib/glob.c: Say "invalid" rather than "illegal" in comments.
6614
6615 2006-02-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
6616
6617         Sync from coreutils.
6618         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Require gl_FUNC_LCHMOD and
6619         gl_CHDIR_SAFER.
6620
6621 2006-02-22  Jim Meyering  <jim@meyering.net>
6622
6623         Sync from coreutils.
6624         * m4/chdir-safer.m4: New file.
6625
6626 2006-02-20  Paul Eggert  <eggert@cs.ucla.edu>
6627
6628         * lib/getcwd.c (AT_FDCWD): Work around a bug in Solaris 9 and 10, where
6629         AT_FDCWD exceeds INT_MAX.
6630         * lib/openat.h (AT_FDCWD): Likewise.
6631
6632 2006-02-17  Eric Blake  <address@hidden>
6633
6634         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix caching error.
6635
6636 2006-02-16  Simon Josefsson  <jas@extundo.com>
6637
6638         * modules/getaddrinfo (Depends-on): Add sys_socket.
6639
6640 2006-02-15  Simon Josefsson  <jas@extundo.com>
6641
6642         * build-aux/maint.mk: Add dsyntax-check rule.
6643
6644 2006-02-15  Eric Blake  <ebb9@byu.net>
6645
6646         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Don't attempt using
6647         winsock2.h or ws2tcpip.h when sys/socket.h is present. Fixes
6648         'present but cannot compile' warnings on cygwin.
6649         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Use gl_HEADER_SYS_SOCKET.  Don't
6650         use ws2tcpip.h if sys/socket.h works.
6651         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Use gl_HEADER_SYS_SOCKET.
6652         (gl_GETADDRINFO): Don't use ws2tcpip.h when sys/socket.h is present.
6653
6654 2006-02-14  Simon Josefsson  <jas@extundo.com>
6655
6656         * modules/maintainer-makefile (Files): Rename.
6657
6658         * build-aux/GNUmakefile: Rename Makefile.maint to maint.mk
6659         and (the local) Makefile.cfg to maint-cfg.mk.
6660
6661         * build-aux/Makefile.maint, build-aux/maint.mk: Renamed the former
6662         to the latter.
6663
6664         * modules/maintainer-makefile: New module.
6665
6666         * build-aux/Makefile.maint: New file, from GNU CoreUtils, although
6667         severaly stripped to make it possible to build it up from scratch
6668         with reliable tests.
6669
6670         * build-aux/GNUmakefile: New file, from GNU CoreUtils with some
6671         fixes to permit overriding the default actions when configure and
6672         makefile are not available.
6673
6674 2006-02-14  Paul Eggert  <eggert@cs.ucla.edu>
6675
6676         Sync from coreutils.
6677         * modules/lstat (Depends-on): Don't depend on xalloc.
6678         (License): Change from GPL to LGPL, since this is now simply a
6679         replacement for a libc function.
6680
6681 2006-02-14  Jim Meyering  <jim@meyering.net>
6682
6683         Sync from coreutils.
6684
6685         Eliminate the unwelcome (albeit unlikely) possibility of xmalloc
6686         failure on deficient systems, and simplify gnulib lgpl dependencies.
6687         * lib/lstat.c (rpl_lstat): Rewrite to use stat() in place of the
6688         xmalloc/lstat combination.  Based on a patch from Bruno Haible.
6689
6690         * lib/xalloc-die.c: Remove unused definition of N_.
6691
6692 2006-02-14  Jim Meyering  <jim@meyering.net>
6693
6694         Sync from coreutils.
6695         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Invoke
6696         AC_CHECK_FUNCS(getmntent) unconditionally so that tests of
6697         $ac_cv_func_getmntent (e.g., in gl_LIST_MOUNTED_FILE_SYSTEMS) need not
6698         double-quote uses of that variable, to accommodate the rare case in
6699         which getmntent is available in none of the libraries checked.  This
6700         happens at least on FreeBSD 5.0.
6701
6702 2006-02-13  Simon Josefsson  <jas@extundo.com>
6703
6704         * gnulib-tool (Usage): Fix --import, from
6705         karl@freefriends.org (Karl Berry).
6706
6707 2006-02-13  Sergey Poznyakoff  <gray@gnu.org.ua>
6708
6709         * lib/argp-fmtstream.c: Restore another bugfix lost on 2005-12-12
6710
6711 2006-02-07  Sergey Poznyakoff  <gray@gnu.org.ua>
6712
6713         * lib/argp-namefrob.h: Restore changes accidentally lost during the
6714         "autoupdate" on 2005-12-12.
6715
6716 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
6717
6718         * modules/closeout (Depends-on): Remove atexit.
6719
6720 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
6721
6722         * lib/closeout.c (close_stdout): Don't assume 'bool' converts nonzero
6723         ints to 0 or 1, as this isn't true for the stdbool.h substitute.
6724
6725 2006-02-05  Paul Eggert  <eggert@cs.ucla.edu>
6726
6727         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Don't #define
6728         __EXTENSIONS__ if this causes compilation to fail.  Problem
6729         reported by Nelson H. F. Beebe with Solaris 10 and Sun C 5.7
6730         c89 -D_XOPEN_SOURCE -D_XOPEN_SOURCE_EXTENDED.
6731
6732 2006-01-27  Paul Eggert  <eggert@cs.ucla.edu>
6733
6734         * lib/fnmatch.c (L_): Renamed from L, to work around a bug in
6735         Mac OS X 10.3.9 with GCC 3 reported by Claudio Fontana in
6736         <http://lists.gnu.org/archive/html/bug-gnulib/2006-01/msg00074.html>.
6737         All uses changed.
6738
6739 2006-01-26  Simon Josefsson  <jas@extundo.com>
6740
6741         * lib/socket_.h: Set WINVER to 0x0501, to make sure getaddrinfo
6742         prototype is visible on mingw32.
6743
6744         * lib/getaddrinfo.h: Define EAI_ADDRFAMILY and EAI_SYSTEM if not set,
6745         for mingw32.
6746
6747         * lib/gai_strerror.c, getaddrinfo.h: Protect netdb.h #include (for
6748         mingw32).
6749
6750 2006-01-26  Paul Eggert  <eggert@cs.ucla.edu>
6751
6752         * lib/fts.c (diropen): Open with O_NOCTTY | O_NONBLOCK too.  Don't
6753         attempt to open for write; this always fails, at least on POSIX
6754         hosts.  This reinstates the 2006-01-09 change, which was
6755         inadvertently removed.
6756
6757 2006-01-26  Bruno Haible  <bruno@clisp.org>
6758
6759         * gnulib-tool (func_import): Use "trap 'exit $?' instead of "trap :".
6760         Reported by Paul Eggert.
6761
6762 2006-01-26  Bruno Haible  <bruno@clisp.org>
6763             Paul Eggert  <eggert@cs.ucla.edu>
6764
6765         * lib/stdbool_.h (_Bool)
6766         [(! (defined __cplusplus || defined __BEOS__)
6767           && !defined __GNUC__
6768           && !(defined __HP_cc || defined __xlc__
6769                || (defined __SUNPRO_C && (__SUNPRO_C < 0x550 || __STDC__ == 1))
6770                || defined __sgi))]:
6771         #define to signed char in these cases too; this simplifies
6772         the code (so that we don't have to worry about HP-UX, AIX, SunPRO,
6773         etc., separately) and makes it more conservative.
6774
6775 2006-01-25  Simon Josefsson  <jas@extundo.com>
6776
6777         * m4/getaddrinfo.m4: Look for getaddrinfo inside ws2tcip.h and
6778         -lws2_32.  Protect sys/socket.h and netdb.h #include's.  Include
6779         ws2tcpip.h with WINVER=0x0501.  All for mingw32.
6780
6781 2006-01-25  Sergey Poznyakoff  <gray@gnu.org.ua>
6782
6783         * lib/argp-namefrob.h: Bugfix. Remove stray #
6784
6785 2006-01-25  Paul Eggert  <eggert@cs.ucla.edu>
6786
6787         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for xlc bug if __GCC__ too,
6788         so that we test the test.
6789         Check for yet another HP-UX cc bug involving *bool |= bool.
6790
6791 2006-01-25  Karl Berry  <karl@gnu.org>
6792
6793         * config/srclist.txt (vasnprintf.c): sync lost.
6794
6795 2006-01-25  Jim Meyering  <jim@meyering.net>
6796
6797         Sync from the stable (b5) branch of coreutils:
6798
6799         * lib/fts.c (fts_children): Don't let close() clobber errno from
6800         failed fchdir().
6801
6802         * lib/fts.c (fts_stat): When following a symlink-to-directory,
6803         don't necessarily interpret stat-fails+lstat-succeeds as indicating
6804         a dangling symlink.  That can also happen at least for ELOOP.
6805         The fix: return FTS_SLNONE only when the stat errno is ENOENT.
6806         FYI, this bug predates the inclusion of fts.c in coreutils.
6807
6808         * lib/fts.c (fts_open): Put new maxarglen declaration and uses
6809         in their own block, so pre-c99 compilers don't object.
6810
6811         Avoid the double-free (first in fts_read, second in fts_close) that
6812         would occur when an `active' directory is made inaccessible (e.g.,
6813         via chmod a-x) during a traversal.
6814         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
6815         before returning.  Reproduce this failure by
6816         mkdir -p a/b; cd a; chmod a-x . b
6817         Reported by Stavros Passas.
6818
6819 2006-01-25  Jim Meyering  <jim@meyering.net>
6820
6821         * lib/fileblocks.c: Remove more useless parentheses.
6822         * lib/readutmp.h: Likewise.
6823
6824 2006-01-25  Bruno Haible  <bruno@clisp.org>
6825
6826         * lib/stdbool_.h (_Bool) [IRIX cc]: Define as 'signed char', to avoid
6827         warnings.
6828         Reported by Paul Eggert.
6829
6830 2006-01-25  Bruno Haible  <bruno@clisp.org>
6831
6832         * gnulib-tool (func_import): Use "trap :" instead of "trap -" to get
6833         rid of a trap command. For Solaris sh.
6834         Reported by Mark D. Baushke <mdb@gnu.org>.
6835
6836 2006-01-24  Simon Josefsson  <jas@extundo.com>
6837
6838         * lib/socket_.h (SHUT_WR, SHUT_RDWR): Don't hardcode, suggested by
6839         Bruno.
6840
6841 2006-01-24  Karl Berry  <karl@gnu.org>
6842
6843         * config/srclist.txt (argp-namefrob.h): sync lost.
6844
6845 2006-01-24  Jim Meyering  <jim@meyering.net>
6846
6847         * modules/openat (Files): Add lib/intprops.h.
6848         From Mark D. Baushke.
6849
6850 2006-01-24  Jim Meyering  <jim@meyering.net>
6851
6852         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBSOURCES([intprops.h]).
6853         Reported by Mark D. Baushke.
6854
6855 2006-01-24  Jim Meyering  <jim@meyering.net>
6856
6857         * lib/socket_.h: Remove useless parentheses in uses of cpp `defined'.
6858
6859 2006-01-24  Bruno Haible  <bruno@clisp.org>
6860
6861         * modules/strnlen (Maintainer): Change from glibc to all.
6862
6863 2006-01-24  Bruno Haible  <bruno@clisp.org>
6864
6865         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for IBM and HP-UX bugs.
6866         Patch by Paul Eggert.
6867
6868 2006-01-24  Bruno Haible  <bruno@clisp.org>
6869
6870         * lib/stdbool_.h (_Bool) [__cplusplus]: Don't define if the compiler
6871         already has it.
6872         Report and patch by Albert Chin-A-Young  <china@thewrittenword.com> on
6873         2005-11-26.
6874
6875         * lib/stdbool_.h (_Bool) [HP-UX cc, AIX cc,xlc]: Define as
6876         'signed char' to avoid problems with the built-in _Bool type.
6877         Reported by Paul Eggert on 2005-11-26.
6878
6879 2006-01-24  Bruno Haible  <bruno@clisp.org>
6880
6881         * gnulib-tool (func_import): Avoid constructing complicated sed
6882         expressions inside backquote.
6883         Report and solution by Mark D. Baushke <mdb@gnu.org>.
6884
6885 2006-01-23  Ulrich Drepper  <drepper@redhat.com>
6886
6887         These changes imported from libc.
6888         * lib/getopt.c: Use __fxprintf instead of inline stream orientation
6889         test and two separate function calls.
6890         * lib/strndup.c (__strndup): Add libc_hidden_def.
6891
6892 2006-01-23  Simon Josefsson  <jas@extundo.com>
6893
6894         * modules/lock-tests: Use check_PROGRAMS instead of noinst_PROGRAMS.
6895         Remove the test_*_SOURCES variable: automake infers it by default.
6896         * modules/tls-tests: Likewise.
6897
6898 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
6899
6900         Work around porting bugs reported by Dieter in
6901         <http://lists.gnu.org/archive/html/bug-bison/2006-01/msg00049.html>.
6902         * lib/getopt.c (_NOPROTO): Remove; no longer needed.
6903         Include <stdlib.h> and <unistd.h> in all environments; it's safe now.
6904         Include "getopt.h" first, to check interface.
6905         (getenv): Declare only if defined HAVE_DECL_GETENV &&
6906         !HAVE_DECL_GETENV.
6907         * lib/strndup.c [!_LIBC]: Include "strndup.h" to get prototype.
6908         (__strndup): Revert to K&R-style function dfns, the glibc style.
6909         * lib/strnlen.c: Don't claim it's taken from glibc; it's not.
6910         (strnlen, __strnlen): Remove #defines and #undefs; not needed.
6911         Include strnlen.h first, to get prototype properly.
6912         (strnlen): Renamed from __strnlen.
6913         Remove weak alias.
6914
6915 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
6916
6917         * m4/getopt.m4 (gl_PREREQ_GETOPT): Check for getenv decl.
6918
6919 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
6920
6921         * config/srclist.txt: Adjust to reflect glibc reorganization.
6922         This affects only comments.
6923
6924 2006-01-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
6925
6926          * gnulib-tool, build-aux/csharpcomp.sh.in: Do not pass `-q' to mktemp.
6927          Reported by Bruce Korb <bkorb@gnu.org>.
6928
6929 2006-01-22  Paul Eggert  <eggert@cs.ucla.edu>
6930
6931         * lib/quotearg.c (quotearg_buffer_restyled): Add "default: break;"
6932         to pacify gcc -Wswitch-default.
6933
6934 2006-01-22  Bruno Haible  <bruno@clisp.org>
6935
6936         * lib/vasnprintf.c (VASNPRINTF): In the computation of the size of the
6937         temporary buffer for sprintf, take into account the precision also
6938         for 'd', 'i', 'u', 'o', 'x', 'X'.
6939
6940 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
6941
6942         * modules/argp-tests: New module
6943         * tests/test-argp.c: New file
6944         * tests/test-argp-2.sh: New file
6945
6946 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
6947
6948         * lib/argp-help.c (usage_long_opt): Do not print DOC options.
6949         (__argp_base_name): Removed
6950         * lib/argp-namefrob.h (__argp_basename): Removed definition. Was a
6951         typo.
6952         (__argp_base_name): Provide macro definition or extern declaration
6953         depending on the configuration
6954
6955 2006-01-20  Simon Josefsson  <jas@extundo.com>
6956
6957         * modules/inet_ntop (Depends-on): Depend on sys_socket.
6958
6959 2006-01-20  Simon Josefsson  <jas@extundo.com>
6960
6961         * lib/inet_ntop.h: Unconditionally include sys/socket.h.
6962
6963 2006-01-20  Paul Eggert  <eggert@cs.ucla.edu>
6964
6965         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Use -Wl,-z,ignore
6966         rather than -Xlinker -z -Xlinker ignore, as it's more portable.
6967         Suggested by Bruno Haible.
6968
6969 2006-01-20  Karl Berry  <karl@gnu.org>
6970
6971         * config/srclist.txt (argp-fmtstream.h, localcharset.c): comment out
6972         until changes propagate, I guess.
6973
6974 2006-01-19  Simon Josefsson  <jas@extundo.com>
6975
6976         * m4/socklen.m4: Look in ws2tcpip.h too, for mingw32.
6977
6978 2006-01-19  Simon Josefsson  <jas@extundo.com>
6979
6980         * lib/socket_.h: Map SHUT_RD, SHUT_WR, SHUT_RDWR correctly.
6981
6982 2006-01-19  Simon Josefsson  <jas@extundo.com>
6983
6984         * gnulib-tool: Set check_PROGRAMS.
6985
6986         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
6987         modules/des-tests, modules/gc-arcfour-tests,
6988         modules/gc-arctwo-tests, modules/gc-des-tests,
6989         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
6990         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
6991         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
6992         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
6993         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
6994         modules/md5-tests, modules/readline, modules/rijndael-tests: Use
6995         check_PROGRAMS instead of noinst_PROGRAMS to be able to remove
6996         test_*_SOURCES.
6997
6998 2006-01-18  Simon Josefsson  <jas@extundo.com>
6999
7000         * modules/socklen (Depends-on): Depend on sys_socket.
7001
7002 2006-01-18  Simon Josefsson  <jas@extundo.com>
7003
7004         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
7005         modules/des-tests, modules/gc-arcfour-tests,
7006         modules/gc-arctwo-tests, modules/gc-des-tests,
7007         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
7008         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
7009         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
7010         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
7011         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
7012         modules/md5-tests, modules/readline, modules/rijndael-tests: Add
7013         $(EXEEXT) to automake TESTS variable, for mingw32.
7014
7015 2006-01-17  Simon Josefsson  <jas@extundo.com>
7016
7017         * modules/socklen (Include): Need sys/socket.h.
7018
7019 2006-01-17  Bruno Haible  <bruno@clisp.org>
7020
7021         * modules/ssize_t (Include): Add <sys/types.h>.
7022
7023 2006-01-16  Paul Eggert  <eggert@cs.ucla.edu>
7024
7025         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Don't use ldd, as
7026         it's not portable and it doesn't work with cross-compiles.
7027         Problem reported by Bruno Haible.  Fix missing-$ typo in
7028         'test "gl_cv_ignore_unused_libraries" ...' that prevented
7029         -zignore from being used with Sun's C compiler.
7030
7031 2006-01-12  Simon Josefsson  <jas@extundo.com>
7032
7033         * lib/base64.c: Fix warning, reported by Bruno Haible
7034         <bruno@clisp.org> and patch by Paul Eggert <eggert@CS.UCLA.EDU>.
7035
7036 2006-01-12  Bruno Haible  <bruno@clisp.org>
7037
7038         * modules/ldd: New file.
7039         * build-aux/ldd.sh.in: New file.
7040         * MODULES.html.sh (Support for building libraries and executables): Add
7041         ldd.
7042
7043 2006-01-12  Bruno Haible  <bruno@clisp.org>
7044
7045         * m4/ldd.m4: New file.
7046
7047 2006-01-12  Bruno Haible  <bruno@clisp.org>
7048
7049         * gnulib-tool (func_import, func_create_testdir): Don't go into an
7050         endless loop while replacing $auxdir with build-aux.
7051
7052 2006-01-11  Simon Josefsson  <jas@extundo.com>
7053
7054         * lib/stdint_.h (SIZE_MAX): Add missing (.
7055
7056 2006-01-11  Paul Eggert  <eggert@cs.ucla.edu>
7057
7058         Sync from coreutils.
7059         * lib/md5.c: Fix commentary typos.
7060         (alignof, UNALIGNED_P): No need for a GCC-specific version.
7061         * lib/md5.h (__attribute__): Remove; unused.
7062         * lib/sha1.c: Fix commentary to match md5 better.
7063         * lib/sha1.h (struct sha1_ctx): Use a word buffer, not a byte buffer,
7064         so that we don't need to worry about alignment.  All uses changed.
7065         This merges the 2005-10-28 md5 change into sha1.
7066
7067 2006-01-11  Jim Meyering  <jim@meyering.net>
7068
7069         Sync from coreutils.
7070         * lib/md5.c (OP): Fix spacing.
7071
7072 2006-01-11  Bruno Haible  <bruno@clisp.org>
7073
7074         Ensure automatic ordering between gl_LOCK and gl_ARGP.
7075         * m4/lock.m4 (gl_LOCK_BODY): Renamed from gl_LOCK.
7076         (gl_LOCK): New macro, requiring gl_LOCK_BODY.
7077
7078 2006-01-11  Bruno Haible  <bruno@clisp.org>
7079
7080         Ensure automatic ordering between gl_LOCK and gl_ARGP.
7081         * gnulib-tool (func_import, func_create_testdir): Put gl_LOCK into
7082         the "early" section as well.
7083
7084 2006-01-11  Bruno Haible  <bruno@clisp.org>
7085
7086         Avoid "ar: no archive members specified" error on MacOS X.
7087         * gnulib-tool (func_modules_add_dummy): New function.
7088         (func_import, func_create_testdir): Invoke it.
7089
7090 2006-01-11  Bruno Haible  <bruno@clisp.org>
7091
7092         * gnulib-tool (func_import, func_create_testdir): Replace build-aux
7093         with $auxdir in AC_CONFIG_FILES statements.
7094
7095 2006-01-11  Bruno Haible  <bruno@clisp.org>
7096
7097         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
7098         Initialize also noinst_HEADERS to empty.
7099
7100 2006-01-11  Bruno Haible  <bruno@clisp.org>
7101
7102         * gnulib-tool (AUTOMAKEPATH, AUTOCONF, ACLOCAL, AUTOMAKE): New
7103         variables.
7104         (func_create_megatestdir): Call aclocal, autoconf, automake here, not
7105         autoreconf.
7106
7107 2006-01-11  Bruno Haible  <bruno@clisp.org>
7108
7109         * gnulib-tool (AUTOCONF, ACLOCAL, AUTOMAKE, AUTORECONF): Make
7110         overridable by the user.
7111         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
7112
7113 2006-01-10  Simon Josefsson  <jas@extundo.com>
7114
7115         * modules/sys_socket: New file.
7116
7117 2006-01-10  Simon Josefsson  <jas@extundo.com>
7118
7119         * m4/sys_socket_h.m4: New file.
7120
7121 2006-01-10  Simon Josefsson  <jas@extundo.com>
7122
7123         * lib/socket_.h: New file.
7124
7125 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
7126
7127         * modules/readutmp (Maintainer): Add myself.
7128
7129 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
7130
7131         * m4/memcoll.m4 (gl_MEMCOLL): Don't require AC_FUNC_MEMCMP, undoing
7132         the 2002-12-31 change.  Problem and fix reported by Bruno Haible.
7133         People who are still concerned with buggy memcmp implementations
7134         can invoke gl_FUNC_MEMCMP themselves.
7135
7136 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
7137
7138         * lib/regex_internal.h (BITSET_WORD_BITS):
7139         Work around a bug in 64-bit PGC (before version 6.1-2), where the
7140         preprocessor mishandles large unsigned values as if they were signed.
7141         Problem reported by Claudio Fontana in
7142         <http://lists.gnu.org/archive/html/bug-gnulib/2005-12/msg00061.html>.
7143
7144 2006-01-10  Jim Meyering  <jim@meyering.net>
7145
7146         Avoid the double-free (first in fts_read, second in fts_close) that
7147         would occur when an `active' directory is made inaccessible (e.g.,
7148         via chmod a-x) during a traversal.
7149         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
7150         before returning.  Reproduce this failure by
7151         mkdir -p a/b; cd a; chmod a-x . b
7152         Reported by Stavros Passas.
7153
7154         Sync from coreutils.
7155         * lib/sha1.c: Tweak grammar in a comment.
7156
7157 2006-01-10  Jim Meyering  <jim@meyering.net>
7158
7159         * m4/fpending.m4: Also include <stdio.h>, for Dragonfly.
7160         Patch by Joerg Sonnenberger.
7161
7162 2006-01-10  Bruno Haible  <bruno@clisp.org>
7163
7164         * modules/readutmp: Depend on module free.
7165         * modules/strtok_r: Depend on module restrict.
7166
7167 2006-01-10  Bruno Haible  <bruno@clisp.org>
7168
7169         * modules/gettext (configure.ac): Add an invocation of
7170         AM_GNU_GETTEXT_VERSION. Needed since autoreconf is used by gnulib-tool.
7171
7172 2006-01-10  Bruno Haible  <bruno@clisp.org>
7173
7174         * m4/localcharset.m4 (gl_LOCALCHARSET): Also test for getc_unlocked.
7175         Reported by Werner Lemberg <wl@gnu.org>.
7176
7177 2006-01-10  Bruno Haible  <bruno@clisp.org>
7178
7179         * lib/localcharset.c: Update from GNU gettext.
7180
7181 2006-01-10  Bruno Haible  <bruno@clisp.org>
7182
7183         * lib/argp.h (__const): Remove macro. Use const instead.
7184         * lib/argp-fmtstream.h (__const): Likewise.
7185         * lib/glob_.h (__const): Remove macro.
7186         * lib/glob-libc.h: Use const instead of __const.
7187
7188 2006-01-10  Bruno Haible  <bruno@clisp.org>
7189
7190         * gnulib-tool (func_emit_tests_Makefile_am): Emit an empty SUBDIR
7191         variable.
7192         Needed to avoid an automake error regarding the 'gettext' module.
7193
7194 2006-01-09  Simon Josefsson  <jas@extundo.com>
7195
7196         * modules/inet_ntop (Depends-on): Add restrict.
7197
7198 2006-01-09  Simon Josefsson  <jas@extundo.com>
7199
7200         * modules/gc-rijndael-tests (License): Put under LGPL.
7201
7202         * modules/gc-des-tests (License): Likewise.
7203
7204         * modules/gc-arcfour-tests (License): Likewise.
7205
7206         * modules/gc-arctwo-tests (License): Likewise.
7207
7208         * modules/gc-pbkdf2-sha1-tests (License): Likewise.
7209
7210         * modules/gc-hmac-sha1-tests (Files): Likewise.
7211
7212         * modules/gc-hmac-md5-tests (License): Likewise.
7213
7214         * modules/gc-sha1-tests (License): Likewise.
7215
7216         * modules/gc-md5-tests (License): Likewise.
7217
7218         * modules/gc-md4-tests (License): Likewise.
7219
7220         * modules/gc-md2-tests (License): Likewise.
7221
7222         * modules/gc-tests (License): Likewise.
7223
7224         * modules/des-tests (License): Likewise.
7225
7226         * modules/md4-tests (License): Likewise.
7227
7228         * modules/md2-tests (License): Likewise.
7229
7230 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
7231
7232         Sync from coreutils:
7233
7234         * MODULES.html.sh (build_lib): New section, with new lib-ignore module.
7235         * modules/lib-ignore: New file.
7236         * modules/mkdir-p (Files): Add chdir-safer.c, chdir-safer.h, lchmod.h,
7237         chdir-safer.m4, lchmod.m4.
7238         * modules/openat: Add mkdirat.c, openat-priv.h.
7239
7240 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
7241
7242         Sync from coreutils.
7243         * m4/lib-ignore.m4: New file.
7244         * m4/lchmod.m4: New file.
7245
7246 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
7247
7248         Sync from coreutils.
7249         * lib/chdir-long.c (cdb_free): Don't bother trying to open directory
7250         for write access: POSIX says that must fail.
7251         * lib/fts.c (diropen): Likewise.
7252         * lib/save-cwd.c (save_cwd): Likewise.
7253         * lib/chdir-long.c (cdb_free): Open with O_NOCTTY | O_NONBLOCK as
7254         well, for minor improvements on hosts that lack O_DIRECTORY.
7255         * lib/chown.c (rpl_chown) [CHOWN_MODIFIES_SYMLINK]:
7256         Don't try O_WRONLY unless O_RDONLY failed wth EACCES.
7257         Fall back on chown if open failed with EACCES.
7258
7259         * lib/gettime.c (gettime) [!defined OK_TO_USE_1S_CLOCK]:
7260         Report an error at compile-time if only a 1-second nominal clock
7261         resolution is found.
7262
7263         * lib/lchmod.h: New file.
7264         * lib/mkdir-p.c: Include lchmod.h, lchown.h.
7265         (make_dir_parents): Use lchown rather than chown, and
7266         lchmod rather than chmod.
7267
7268         * lib/mountlist.c (ME_DUMMY): "none" and "proc" file systems are
7269         dummies too.  Problem with "none" reported by Bob Proulx.  Problem with
7270         "proc" reported by n0dalus.
7271
7272         * lib/mountlist.c: Include <limits.h>.
7273         (dev_from_mount_options)
7274         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]:
7275         New function.  It no longer assumes "dev=" has the System V meaning
7276         on Linux (since it doesn't).  It also parses "dev=" more carefully.
7277         (read_file_system_list)
7278         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]: Use it.
7279         MOUNTED_GETMNTENT2 is new here; the code didn't used to look for
7280         dev= in that case.
7281
7282         * lib/posixtm.h (PDS_PRE_2000): New macro.
7283         * lib/posixtm.c (year): Arg is now syntax_bits rather than
7284         allow_century.  All usages changed.  Reject dates outside the range
7285         1969-1999 if PDS_PRE_2000 is used.
7286
7287 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
7288
7289         Sync from coreutils.
7290         * doc/getdate.texi (General date syntax): Invalid dates are rejected.
7291         (Time of day items): Mention the possibility of leap seconds.
7292         Problem reported by Dr. David Alan Gilbert.
7293
7294 2006-01-09  Jim Meyering  <jim@meyering.net>
7295
7296         Sync from coreutils.
7297
7298         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2006.
7299
7300         * lib/chdir-safer.h, lib/chdir-safer.c: New files.
7301
7302         * lib/modechange.c (mode_compile): Reject an invalid mode string
7303         that starts with an octal digit.  From Andreas Gruenbacher.
7304
7305         * lib/openat.c: Include "fcntl--.h" and "unistd--.h", to map open
7306         and dup to open_safer and dup_safer, respectively.
7307         (openat_permissive): Fix typo in comment.
7308
7309         * lib/openat.c: Don't include <stdlib.h>, <unistd.h>, <fcntl.h>,
7310         "gettext.h"; either no longer needed or are guaranteed by openat.h.
7311         (_): Remove; no longer needed.
7312         (openat): Renamed from rpl_openat; no need for rpl_openat
7313         since openat.h renames openat for us.
7314         Replace most of the body with a call to openat_permissive,
7315         to avoid duplicate code.
7316         Port to (probably hypothetical) environments were mode_t is
7317         wider than int.
7318         (openat_permissive): Require mode arg, so that we can check
7319         types better.  Put it just after flags.  Change cwd failure
7320         indicator from pointer-to-bool to pointer-to-errno-value.
7321         All callers changed.
7322         Invoke openat_save_fail and/or openat_restore_fail if
7323         cwd_errno is null, so that openat can call us.
7324         (openat_permissive, fdopendir, fstatat, unlinkat):
7325         Simplify errno handling to avoid some duplicate code,
7326         as it's OK to set errno on success.
7327         * lib/openat.h: Revamp code so that function macros depend on
7328         __OPENAT_PREFIX only, not also on AT_FDCWD.
7329         (openat_ro): Remove.  Caller changed to use openat_permissive.
7330         (openat_permissive): Now a macro, if not a function.
7331         (openat_restore_fail, openat_save_fail): Now always functions,
7332         since mkdirat needs them even if __OPENAT_PREFIX is defined.
7333
7334         * lib/openat-priv.h: New file, defining macros used by mkdirat.c
7335         and openat.c.
7336         * lib/mkdirat.c: Include openat-priv.h.
7337         Remove definitions of macros defined therein.
7338         * lib/openat.c: Likewise.
7339
7340         * lib/mkdirat.c (mkdirat): New file and function.
7341         * lib/openat.h (mkdirat): Declare.
7342
7343         * lib/openat.c (fdopendir): Don't change errno when returning non-NULL.
7344
7345         * lib/openat.h (openat_permissive): Declare.
7346         (openat_ro): Define.
7347
7348         * lib/openat.c (EXPECTED_ERRNO): New macro.
7349         (openat_permissive): New function -- used in remove.c rewrite.
7350         (all functions): Set errno just before returning, only if there
7351         was an actual failure.
7352         Use EXPECTED_ERRNO rather than comparing against only ENOTDIR.
7353
7354         Emulate openat-family functions using Linux's procfs, if possible.
7355         Idea and some code based on Ulrich Drepper's glibc changes.
7356
7357         * lib/openat.c: (BUILD_PROC_NAME): New macro.
7358         Include <stdio.h>, <string.h>, "alloca.h" and "intprops.h".
7359         (rpl_openat): Emulate by trying to open /proc/self/fd/%d/%s,
7360         before falling back on save_cwd and restore_cwd.
7361         (fdopendir, fstatat, unlinkat): Likewise.
7362
7363         * lib/openat.c (fstatat, unlinkat): Perform the syscall directly,
7364         skipping the save_cwd...restore_cwd overhead, if FILE is absolute.
7365
7366         * lib/openat.c (rpl_openat): Use the promoted type (int), not mode_t,
7367         as second argument to va_arg.  Otherwise, some versions of gcc
7368         warn that `if this code is reached, the program will abort'.
7369
7370 2006-01-09  Jim Meyering  <jim@meyering.net>
7371
7372         Sync from coreutils.
7373         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile mkdirat.c.
7374         Require openat-priv.h.
7375
7376 2006-01-09  Bruno Haible  <bruno@clisp.org>
7377
7378         * modules/strnlen (Include): Use strnlen.h.
7379
7380 2006-01-09  Bruno Haible  <bruno@clisp.org>
7381
7382         * m4/stdint.m4 (gl_STDINT_H): Also test for <sys/bitypes.h>.
7383
7384 2006-01-09  Bruno Haible  <bruno@clisp.org>
7385
7386         * lib/sysexit_.h (EX_OK): New macro.
7387         Suggested by Martin Lambers <marlam@marlam.de>.
7388
7389 2006-01-09  Bruno Haible  <bruno@clisp.org>
7390
7391         * lib/stdint_.h: On Linux libc4 and libc5, include <sys/bitypes.h> and
7392         don't define _STDINT_H_NEED_SIGNED_INT_TYPES.
7393
7394 2006-01-09  Bruno Haible  <bruno@clisp.org>
7395
7396         * lib/stdint_.h (SIZE_MAX): Write the value without involving negative
7397         numbers.
7398
7399 2006-01-09  Bruno Haible  <bruno@clisp.org>
7400
7401         * lib/javacomp.sh.in: Move to ../build-aux/javacomp.sh.in.
7402         * lib/javaexec.sh.in: Move to ../build-aux/javaexec.sh.in.
7403         * lib/csharpcomp.sh.in: Move to ../build-aux/csharpcomp.sh.in.
7404         * lib/csharpexec.sh.in: Move to ../build-aux/csharpexec.sh.in.
7405
7406 2006-01-09  Bruno Haible  <bruno@clisp.org>
7407
7408         * build-aux/javacomp.sh.in: New file, moved from lib/.
7409         * modules/javacomp-script (Files): Update.
7410         (configure.ac): Add AC_CONFIG_FILES invocation.
7411         (EXTRA_DIST): Remove variable.
7412
7413         * build-aux/javaexec.sh.in: New file, moved from lib/.
7414         * modules/javaexec (Files): Update.
7415         (configure.ac): Add AC_CONFIG_FILES invocation.
7416         (EXTRA_DIST): Remove javaexec.sh.in.
7417
7418         * build-aux/csharpcomp.sh.in: New file, moved from lib/.
7419         * modules/csharpcomp-script (Files): Update.
7420         (configure.ac): Add AC_CONFIG_FILES invocation.
7421         (EXTRA_DIST): Remove variable.
7422
7423         * build-aux/csharpexec.sh.in: New file, moved from lib/.
7424         * modules/csharpexec (Files): Update.
7425         (configure.ac): Add AC_CONFIG_FILES invocation.
7426         (EXTRA_DIST): Remove csharpexec.sh.in.
7427
7428 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
7429
7430         Sync from coreutils.
7431
7432         Add POSIX ACL support
7433         * lib/acl.h (copy_acl, set_acl): Add declarations.
7434         * lib/acl.c (acl_entries): Add fallback implementation for POSIX ACL
7435         systems other than Linux.
7436         (chmod_or_fchmod): New function: use fchmod when possible,
7437         and chmod otherwise.
7438         (file_has_acl): Add a POSIX ACL implementation, with a
7439         Linux-specific subcase.
7440         (copy_acl): Add: copy an acl and S_ISUID, S_ISGID, and
7441         S_ISVTX from one file to another.  Fall back to fchmod/chmod when
7442         acls are unsupported.
7443         (set_acl): Add: set a file's acl and S_ISUID, S_ISGID, and
7444         S_ISVTX to a defined value.  Fall back to fchmod/chmod when acls
7445         are unsupported.
7446
7447 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
7448
7449         Sync from coreutils.
7450         * m4/acl.m4 (AC_FUNC_ACL): Add POSIX ACL and Linux-specific acl tests.
7451
7452 2006-01-07  Bruno Haible  <bruno@clisp.org>
7453
7454         * gnulib-tool (func_import): Add an AC_PROG_RANLIB dependency to
7455         gl_EARLY.
7456
7457 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
7458
7459         * lib/strftime.c (tzname): Don't declare if it is already #defined.
7460         Problem reported for Mingw by Mark Junker.
7461
7462 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
7463
7464         * README: Gnulib normally doesn't generate a tarball.
7465
7466 2006-01-03  Paul Eggert  <eggert@cs.ucla.edu>
7467
7468         * lib/xtime.h (xtime_make, xtime_nonnegative_nsec, xtime_nsec): Use
7469         long int, not int, for nanosecond counts, so that people who are
7470         used to POSIX struct timespec won't be surprised.  Reported by Jim
7471         Meyering.
7472
7473 2005-12-28  Bruno Haible  <bruno@clisp.org>
7474
7475         * build-aux/config.rpath: Update from GNU gettext.
7476
7477 2005-12-16  Jim Meyering  <jim@meyering.net>
7478
7479         * modules/fprintftime: New module.
7480         * MODULES.html.sh (Date and time <time.h>): Add fprintftime.
7481
7482 2005-12-16  Jim Meyering  <jim@meyering.net>
7483
7484         * m4/fprintftime.m4: New file.
7485
7486 2005-12-16  Jim Meyering  <jim@meyering.net>
7487
7488         * lib/fprintftime.c, lib/fprintftime.h: New files.
7489
7490 2005-12-15  Simon Josefsson  <jas@extundo.com>
7491
7492         * modules/socklen (configure.ac): Fix M4 macro name, to align with
7493         new m4/socklen.m4.
7494
7495 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
7496
7497         * m4/argp.m4: Define HAVE_DECL_PROGRAM_INVOCATION_NAME and
7498         HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME
7499
7500 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
7501
7502         * lib/argp-fmtstream.c (__argp_fmtstream_update): Fix coredump
7503         * lib/argp-help.c (fill_in_uparams): Check if the constructed
7504         struct uparams is valid. Fall back to the default values if it is
7505         not.
7506
7507 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
7508
7509         * modules/argp (Files): Add argp-pin.c
7510         (Depends-on): dirname
7511         (lib_SOURCES): Add argp-pin.c
7512
7513 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
7514
7515         * m4/argp.m4:  Check if program_invocation_name and
7516         program_invocation_short_name are declared and define appropriate
7517         macros if they are not.
7518
7519 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
7520
7521         * lib/argp-help.c (__argp_base_name): New function
7522         (__argp_short_program_name): Rewrite using __argp_base_name
7523         * lib/argp-namefrob.h: Define program_invocation_name and
7524         program_invocation_short_name if requested
7525         (__argp_base_name): Add prototype
7526         * lib/argp-parse.c (argp_def): Use gettext wrappers
7527         (argp_default_parser): Use __argp_base_name
7528         * lib/argp-pin.c: New file. Defines program_invocation_name and
7529         program_invocation_short_name on systems that lack them.
7530
7531 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
7532
7533         * m4/stat-time.m4 (gl_STAT_TIME): Add check for
7534         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
7535         porting problem reported by Georg Schwarz in
7536         <http://lists.gnu.org/archive/html/bug-coreutils/2005-12/msg00083.html>.
7537
7538 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
7539
7540         * lib/stat-time.h (STATE_TIMESPEC, STAT_TIMESPEC_NS): Add check for
7541         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
7542         porting problem reported by Georg Schwarz in
7543         <http://lists.gnu.org/archive/html/bug-coreutils/2005-12/msg00083.html>.
7544
7545 2005-12-05  Bruno Haible  <bruno@clisp.org>
7546
7547         * lib/csharpcomp.sh.in (options_csc): For -l option, add a .dll suffix.
7548         * lib/csharpcomp.c (compile_csharp_using_sscli): Likewise.
7549         Reported by Mark Junker <mjscod@gmx.de>.
7550
7551 2005-12-02  Paul Eggert  <eggert@cs.ucla.edu>
7552
7553         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Renamed from gl_SOCKLEN_T.
7554         Use implementation from Albert Chin, with some
7555         comments/corrections by Stepan Kasal and myself.
7556
7557 2005-12-02  Bruno Haible  <bruno@clisp.org>
7558
7559         * gnulib-tool (func_import): Accept GPLed build tool modules when
7560         --lgpl is given.
7561         * modules/csharpcomp-script: New file.
7562         * modules/csharpcomp: Depend on it.
7563         * modules/javacomp-script: New file.
7564         * modules/javacomp: Depend on it.
7565         Suggested by Simon Josefsson.
7566
7567 2005-12-01  Paul Eggert  <eggert@cs.ucla.edu>
7568
7569         * m4/regex.m4 (gl_REGEX): Check whether off_t can be used in a switch
7570         statement, to work around an HP-UX 10.20 compiler bug reported by
7571         Peter O'Gorman.
7572
7573 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
7574
7575         * modules/savedir (Depends-on): Add openat.
7576
7577 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
7578
7579         * lib/stdint_.h (intmax_t) [defined intmax_t]: Do not declare.
7580         (uintmax_t) [defined uintmax_t]: Do not declare.
7581         (SIZE_MAX) [defined SIZE_MAX]: Do not define.
7582         This works around a problem if intmax_t.m4 and/or uintmax_t.m4
7583         and/or size_max.m4 are also used.  Problem reported by Mark D. Baushke.
7584         (SIZE_MAX): Define to ((size_t) -1), not (~(size_t)0), for the
7585         sake of portability to weird hosts that C allows (though we don't
7586         know of any practical examples).
7587
7588         * lib/savedir.h (fdsavedir): New decl.
7589         * lib/savedir.c (fdsavedir, savedirstream): New functions; the latter
7590         contains most of the former guts of savedir.
7591         (savedir): Use savedirstream.
7592         Include "openat.h".
7593
7594 2005-11-25  Paul Eggert  <eggert@cs.ucla.edu>
7595
7596         * modules/obstack (Files): Add m4/ulonglong.m4.
7597         Problem reported by Davide Angelocola.
7598
7599 2005-11-15  Paul Eggert  <eggert@cs.ucla.edu>
7600
7601         * lib/xstrtod.c: Don't bother with #pragma STDC FENV_ACCESS ON, as
7602         coreutils no longer futzes with rounding modes.
7603
7604 2005-11-14  Jim Meyering  <jim@meyering.net>
7605
7606         * lib/mkstemp-safer.c: Include <config.h>, required for possible
7607         replacement of mkstemp.
7608
7609 2005-11-10  Simon Josefsson  <jas@extundo.com>
7610
7611         * lib/readline.c: Remove EOL.
7612
7613 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
7614
7615         * modules/gethrxtime (Depends-on): Add gettime.
7616
7617 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
7618
7619         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Don't require AC_HEADER_TIME
7620         or gettimeofday; no longer needed.
7621
7622 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
7623
7624         * lib/gethrxtime.c: Include "timespec.h" rather than the sys/time /
7625         time business.
7626         (gethrxtime) [! (HAVE_NANOUPTIME
7627         || (defined CLOCK_MONOTONIC && HAVE_CLOCK_GETTIME)
7628         || HAVE_MICROUPTIME)]: Fall back on gettime rather than rolling
7629         our own approximation.
7630
7631 2005-11-08  Eric Blake  <ebb9@byu.net>
7632
7633         * lib/inet_ntop.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
7634
7635 2005-11-08  Eric Blake  <ebb9@byu.net>
7636
7637         * lib/getaddrinfo.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
7638
7639 2005-11-04  Bruno Haible  <bruno@clisp.org>
7640
7641         * gnulib-tool: Implement --update mode.
7642
7643 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
7644
7645         Fix porting problem reported by Theodoros V. Kalamatianos.
7646         * lib/utimens.c (futimens) [HAVE_WORKING_UTIMES && HAVE_FUTIMES]:
7647         Don't assume that futimes failing means we must fail.
7648
7649 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
7650
7651         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Revamp wording and local
7652         variables to suggest the intended function of the PATH_MAX check.
7653
7654 2005-10-30  Kean Johnston  <jkj@sco.com>
7655
7656         Trivial changes to support SCO systems.
7657         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Check for MAXPATHLEN as well
7658         as PATH_MAX.
7659         * m4/fpending.m4 (gl_FUNC_FPENDING): Correct check for SCO systems,
7660         where __ptr is null when no I/O is pending.
7661
7662 2005-10-29  Paul Eggert  <eggert@cs.ucla.edu>
7663
7664         * lib/getcwd.c (__getcwd): Don't assume that system calls after readdir
7665         leave errno alone.  Problem reported by Dmitry V. Levin.
7666
7667 2005-10-28  Simon Josefsson  <jas@extundo.com>
7668
7669         * tests/test-gc-md4.c, tests/test-gc-md5.c, tests/test-gc-sha1.c:
7670         Test more.
7671
7672         * tests/test-gc-md2.c, tests/test-md2.c: New files.
7673
7674         * modules/md2, modules/md2-tests: New files.
7675
7676 2005-10-28  Simon Josefsson  <jas@extundo.com>
7677
7678         * m4/inet_ntop.m4: More tests.
7679
7680         * m4/gc-md2.m4, md2.m4: New file.
7681
7682 2005-10-28  Simon Josefsson  <jas@extundo.com>
7683
7684         * lib/inet_ntop.h, inet_ntop.c: Make it work under mingw32: Add
7685         "restrict" keywords, as per POSIX.  Protect the function
7686         declaration around HAVE_DECL_INET_NTOP rather than HAVE_INET_NTOP.
7687         Don't use K&R prototypes.  Check the sprintf return values.
7688         Re-define EAFNOSUPPORT if not present.  Indent.
7689
7690         * lib/md5.h, md5.c: Simplify buffer handling visavi alignment,
7691         suggested by Bruno Haible <bruno@clisp.org>.
7692
7693         * lib/gc-gnulib.c, gc-libgcrypt.c: Check calloc return value.
7694
7695         * lib/gc.h: Add MD2 and RMD160 length defines.  Add prototypes.
7696
7697         * lib/gc-libgcrypt.c: Add MD2 (which is not available through
7698         libgcrypt).
7699
7700         * lib/gc-gnulib.c: Add MD2.  Implement gc_hash_* API.
7701
7702         * lib/md2.h, lib/md2.c: New files.
7703
7704 2005-10-28  Paul Eggert  <eggert@cs.ucla.edu>
7705
7706         * lib/savedir.c (savedir): Don't assume that xrealloc etc. leave
7707         errno alone.  Problem reported by Frederic Jolliton.
7708
7709 2005-10-27  Paul Eggert  <eggert@cs.ucla.edu>
7710
7711         * modules/verify (License): Change from GPL to LGPL.  This is a
7712         tiny module and there are apparently near-equivalents that are
7713         under the BSD license.
7714
7715 2005-10-24  Simon Josefsson  <jas@extundo.com>
7716
7717         * modules/sha1: Relicense to LGPL.
7718
7719 2005-10-24  Simon Josefsson  <jas@extundo.com>
7720
7721         * lib/md4.h: Shrink buffer size, now that we changed the type.
7722
7723 2005-10-23  Simon Josefsson  <jas@extundo.com>
7724
7725         * gnulib-tool (func_import): Fix --tests-base.
7726
7727 2005-10-22  Simon Josefsson  <jas@extundo.com>
7728
7729         * modules/arcfour (Depends-on): Need stdint.
7730
7731 2005-10-22  Simon Josefsson  <jas@extundo.com>
7732
7733         * m4/gc.m4: Don't be fooled by --disable-*random-device parameters,
7734         suggested by Bruno Haible <bruno@clisp.org>.  Fix error messages.
7735
7736 2005-10-22  Simon Josefsson  <jas@extundo.com>
7737
7738         * lib/md4.h, md4.c: Simplify buffer handling visavi alignment,
7739         suggested by Bruno Haible <bruno@clisp.org>.
7740
7741 2005-10-22  Simon Josefsson  <jas@extundo.com>
7742
7743         * lib/crc.h: Include stddef.h, for size_t.
7744
7745 2005-10-22  Simon Josefsson  <jas@extundo.com>
7746
7747         * lib/arcfour.h, arcfour.c: Use fixed size indices in the
7748         arcfour_context struct (simplify test vector testing in GNU
7749         Shishi).
7750
7751 2005-10-21  Simon Josefsson  <jas@extundo.com>
7752
7753         * modules/des, modules/des-tests: New files.
7754
7755         * modules/gc-des, modules/gc-des-tests: New files.
7756
7757         * tests/test-des.c, tests/test-gc-des.c: New file.
7758
7759 2005-10-21  Simon Josefsson  <jas@extundo.com>
7760
7761         * modules/arctwo, modules/arctwo-tests: New files.
7762
7763         * tests/test-arctwo.c: New file.
7764
7765         * modules/gc-arctwo, modules/gc-arctwo-tests: New files.
7766
7767         * tests/test-gc-arctwo.c: New file.
7768
7769 2005-10-21  Simon Josefsson  <jas@extundo.com>
7770
7771         * m4/gc.m4: Don't use libgcrypt if gcrypt.h isn't found, suggested by
7772         Bruno Haible <bruno@clisp.org>.
7773
7774         * m4/gc-des.m4: New file.
7775
7776 2005-10-21  Simon Josefsson  <jas@extundo.com>
7777
7778         * m4/arctwo.m4: New file.
7779
7780         * m4/gc-arctwo.m4: New file.
7781
7782 2005-10-21  Simon Josefsson  <jas@extundo.com>
7783
7784         * lib/rijndael-api-fst.c: Fix bugs in CBC mode for more than one
7785         block.
7786
7787 2005-10-21  Simon Josefsson  <jas@extundo.com>
7788
7789         * lib/hmac-md5.c (hmac_md5): Add comments, suggested by Bruno Haible
7790         <bruno@clisp.org>.
7791
7792         * lib/hmac-sha1.c (hmac_sha1): Likewise.
7793
7794         * lib/crc.c (crc32_update): Actually use crc parameter, suggested by
7795         Bruno Haible <bruno@clisp.org>.
7796
7797         * lib/crc.h: Include stdint.h directly, suggested by Bruno Haible
7798         <bruno@clisp.org>.
7799
7800 2005-10-21  Simon Josefsson  <jas@extundo.com>
7801
7802         * lib/gc-libgcrypt.c (gc_cipher_open): Handle ECB.
7803
7804 2005-10-21  Simon Josefsson  <jas@extundo.com>
7805
7806         * lib/gc-gnulib.c: Support ARCTWO in CBC mode.
7807
7808 2005-10-21  Simon Josefsson  <jas@extundo.com>
7809
7810         * lib/des.h, lib/des.c: New files.
7811
7812         * lib/gc-gnulib.c: Support DES.c
7813
7814 2005-10-21  Simon Josefsson  <jas@extundo.com>
7815
7816         * lib/arctwo.h, lib/arctwo.c: New files.
7817
7818         * lib/gc-gnulib.c: Support ARCTWO.
7819
7820 2005-10-21  Simon Josefsson  <jas@extundo.com>
7821
7822         * lib/arctwo.h (arctwo_setkey): Protect variable in CPP macro,
7823         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
7824
7825 2005-10-21  Simon Josefsson  <jas@extundo.com>
7826
7827         * gnulib-tool (func_import, func_create_testdir): Define automake
7828         conditional GL_COND_LIBTOOL if libtool is used (to be used by modules
7829         Makefile.am snippet),
7830         suggested by Bruno Haible <bruno@clisp.org>.
7831
7832         * modules/gc (Makefile.am): Use it.
7833
7834 2005-10-21  Bruno Haible  <bruno@clisp.org>
7835
7836         * gnulib-tool (func_import, func_create_testdir): Add quoting to last
7837         patch.
7838
7839 2005-10-19  Simon Josefsson  <jas@extundo.com>
7840
7841         * tests/test-gc-rijndael.c: New file.
7842
7843         * modules/gc-rijndael, modules/gc-rijndael-test: New files.
7844
7845 2005-10-19  Simon Josefsson  <jas@extundo.com>
7846
7847         * tests/test-gc-md4.c, tests/test-gc-md5.c: Test gc_hash_buffer
7848         interface too.
7849
7850 2005-10-19  Simon Josefsson  <jas@extundo.com>
7851
7852         * tests/test-gc-arcfour.c: New file.
7853
7854         * modules/gc-arcfour, modules/gc-arcfour-tests: New files.
7855
7856 2005-10-19  Simon Josefsson  <jas@extundo.com>
7857
7858         * modules/gc-md4, modules/gc-md4-tests: New file.
7859
7860         * tests/test-gc-md4.c: New file.
7861
7862 2005-10-19  Simon Josefsson  <jas@extundo.com>
7863
7864         * m4/gc-md4.m4: New file.
7865
7866 2005-10-19  Simon Josefsson  <jas@extundo.com>
7867
7868         * m4/gc-hmac-md5.m4, gc-hmac-sha1.m4, gc-md4.m4,
7869         gc-md5.m4, gc-sha1.m4: Fix typo, suggested by Stepan Kasal
7870         <kasal@ucw.cz>.
7871
7872 2005-10-19  Simon Josefsson  <jas@extundo.com>
7873
7874         * m4/gc-arcfour.m4: New file.
7875
7876         * m4/gc-rijndael.m4: New file.
7877
7878 2005-10-19  Simon Josefsson  <jas@extundo.com>
7879
7880         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support MD4.
7881
7882 2005-10-19  Simon Josefsson  <jas@extundo.com>
7883
7884         * lib/gc-gnulib.c: Support ARCFOUR.
7885
7886 2005-10-19  Simon Josefsson  <jas@extundo.com>
7887
7888         * lib/gc-gnulib.c: Implement gc_cipher_* API, currently only with AES
7889         support.
7890
7891         * lib/gc.h: Add ECB enum type.
7892
7893         * lib/hmac-md5.c, hmac-sha1.c: Include memxor.h.
7894
7895 2005-10-18  Simon Josefsson  <jas@extundo.com>
7896
7897         * tests/test-md5.c: New file.
7898
7899         * modules/md5-tests: New file.
7900
7901 2005-10-18  Simon Josefsson  <jas@extundo.com>
7902
7903         * tests/test-md4.c: New file.
7904
7905         * modules/md4, modules/md4-tests: New files.
7906
7907 2005-10-18  Simon Josefsson  <jas@extundo.com>
7908
7909         * m4/md4.m4: New file.
7910
7911 2005-10-18  Simon Josefsson  <jas@extundo.com>
7912
7913         * lib/md4.h, lib/md4.c: New files, based on md5.?.
7914
7915 2005-10-17  Stepan Kasal  <kasal@ucw.cz>
7916
7917         * gnulib-tool (func_create_testdir): Omit the second check whether
7918         BUILT_SOURCES in nonempty.
7919
7920 2005-10-17  Simon Josefsson  <jas@extundo.com>
7921
7922         * tests/test-rijndael.c: New file.
7923
7924 2005-10-17  Simon Josefsson  <jas@extundo.com>
7925
7926         * modules/sha1: Depend on stdint instead of md5.
7927
7928         * modules/md5: Depend on stdint, remove uint32_t.
7929
7930 2005-10-17  Simon Josefsson  <jas@extundo.com>
7931
7932         * modules/gc-sha1-tests: New file.
7933
7934         * tests/test-gc-sha1.c: New file.
7935
7936 2005-10-17  Simon Josefsson  <jas@extundo.com>
7937
7938         * m4/md5.m4: Remove call to uint32_t.m4.
7939
7940 2005-10-17  Simon Josefsson  <jas@extundo.com>
7941
7942         * lib/sha1.c: Use uint32_t instead of md5_uint32.t
7943
7944         * lib/sha1.h: Use stdint.h and uint32_t instead of md5_uint32 from
7945         md5.h.
7946
7947         * lib/md5.c: Use uin32_t.  Fix non-gcc UNALIGNED_P macro.
7948
7949         * lib/md5.h: Use stdint.h and uint32_t.  Doc fix.
7950
7951 2005-10-17  Simon Josefsson  <jas@extundo.com>
7952
7953         * lib/gc.h, gc-libgcrypt.c: Add more hash types/functions.
7954
7955 2005-10-17  Simon Josefsson  <jas@extundo.com>
7956
7957         * lib/gc.h, gc-libgcrypt.c: Add ciphers.
7958
7959 2005-10-17  Simon Josefsson  <jas@extundo.com>
7960
7961         * lib/gc-libgcrypt.c (gc_hmac_sha1): Fix assert.
7962
7963         * lib/gc.h (gc_nonce, gc_pseudo_random, gc_random): Add prototypes.
7964
7965 2005-10-17  Bruno Haible  <bruno@clisp.org>
7966
7967         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Change the return statement so
7968         that it can also be used in a test.
7969
7970 2005-10-16  Bruno Haible  <bruno@clisp.org>
7971
7972         * gnulib-tool (func_emit_tests_Makefile_am): Also define
7973         TESTS_ENVIRONMENT, so that individual tests can augment it.
7974
7975         * gnulib-tool (func_create_testdir): Use an intermediate target for
7976         building $(BUILT_SOURCES). Needed because BUILT_SOURCES can contain
7977         macros, like $(ALLOCA_H), which cannot be passed through the command
7978         line.
7979
7980 2005-10-15  Simon Josefsson  <jas@extundo.com>
7981
7982         * modules/rijndael-tests: New file.
7983
7984         * modules/rijndael: New file.
7985
7986 2005-10-15  Simon Josefsson  <jas@extundo.com>
7987
7988         * m4/rijndael.m4: New file.
7989
7990 2005-10-15  Simon Josefsson  <jas@extundo.com>
7991
7992         * lib/rijndael-api-fst.h, lib/rijndael-api-fst.c: New files.
7993
7994         * lib/rijndael-alg-fst.h, lib/rijndael-alg-fst.c: New files.
7995
7996 2005-10-14  Simon Josefsson  <jas@extundo.com>
7997
7998         * tests/test-arcfour.c: New file.
7999
8000         * modules/arcfour, modules/arcfour-tests: New files.
8001
8002 2005-10-14  Simon Josefsson  <jas@extundo.com>
8003
8004         * m4/arcfour.m4: New file.
8005
8006 2005-10-14  Simon Josefsson  <jas@extundo.com>
8007
8008         * lib/arcfour.h, lib/arcfour.c: New files.
8009
8010 2005-10-14  Roland McGrath  <roland@redhat.com>
8011
8012         Import from libc.  [BZ #1331]
8013         * lib/obstack.h [!__STDC__] (obstack_int_grow_fast): Fix misnamed
8014         macro argument.
8015         Reported by Matej Vela <vela@debian.org>.
8016
8017 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
8018
8019         * lib/obstack.c [defined _LIBC && defined USE_IN_LIBIO]: Don't
8020         include <wchar.h>; no longer needed.
8021
8022 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
8023
8024         * config/srclist.txt: Add glibc bug 321 for obstack.c, obstack.h.
8025
8026 2005-10-14  Jakub Jelinek  <jakub@redhat.com>
8027         and  Ulrich Drepper  <drepper@redhat.com>
8028
8029         Import from libc.
8030         * lib/obstack.c (print_and_abort) [defined _LIBC]: Use __fxprintf
8031         instead of inline stream orientation test and two separate
8032         function calls.  Pay no attention to USE_IN_LIBIO.
8033
8034 2005-10-13  Simon Josefsson  <jas@extundo.com>
8035
8036         * modules/gc-hmac-md5-tests: New file.
8037
8038         * tests/test-gc-hmac-sha1.c: New file.
8039
8040         * tests/test-gc.c (main): Remove MD5 and HMAC-MD5 tests.
8041
8042         * modules/gc-hmac-md5-tests: New file.
8043
8044         * tests/test-gc-md5.c: New file.
8045
8046         * modules/gc-md5-tests: New file.
8047
8048 2005-10-13  Simon Josefsson  <jas@extundo.com>
8049
8050         * lib/gc-pbkdf2-sha1.c (gc_pbkdf2_sha1): Optimize CEIL computation.
8051         Move memory allocation outside of loop.
8052
8053 2005-10-13  Paul Eggert  <eggert@cs.ucla.edu>
8054
8055         * lib/mkdir-p.c (make_dir_parents): Don't report an error if an
8056         intermediate directory is in a read-only file system.  Problem
8057         reported by Eric Blake.
8058
8059 2005-10-13  Oskar Liljeblad  <oskar@osk.mine.nu>
8060
8061         * modules/human (Depends-on): Depend on xstrtoumax, not xstrtol.
8062
8063 2005-10-12  Simon Josefsson  <jas@extundo.com>
8064
8065         * tests/test-hmac-sha1.c: New file.
8066
8067         * modules/hmac-sha1-tests: New file.
8068
8069         * modules/hmac-sha1: New file.
8070
8071 2005-10-12  Simon Josefsson  <jas@extundo.com>
8072
8073         * modules/gc-sha1: New file.
8074
8075 2005-10-12  Simon Josefsson  <jas@extundo.com>
8076
8077         * modules/gc-pbkdf2-sha1, modules/gc-pbkdf2-sha1-tests: New files.
8078
8079         * tests/test-gc-pbkdf2-sha1.c: New file.
8080
8081 2005-10-12  Simon Josefsson  <jas@extundo.com>
8082
8083         * modules/gc-md5, modules/gc-hmac-md5: New files.
8084
8085         * modules/gc (Files): Remove md5, memxor and hmac files.
8086
8087 2005-10-12  Simon Josefsson  <jas@extundo.com>
8088
8089         * m4/gc-pbkdf2-sha1.m4: New file.
8090
8091         * m4/gc-hmac-sha1.m4: New file.
8092
8093         * m4/gc-sha1: New file.
8094
8095         * m4/hmac-sha1.m4: New file.
8096
8097 2005-10-12  Simon Josefsson  <jas@extundo.com>
8098
8099         * m4/gc-md5.m4, m4/gc-hmac-md5.m4: New files.
8100
8101         * m4/gc.m4: Don't call gl_MD5, gl_MEMXOR or gl_HMAC_MD5.
8102
8103 2005-10-12  Simon Josefsson  <jas@extundo.com>
8104
8105         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Use Gc_rc for return types,
8106         suggested by Bruno Haible <bruno@clisp.org>.
8107
8108 2005-10-12  Simon Josefsson  <jas@extundo.com>
8109
8110         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support SHA-1.
8111
8112 2005-10-12  Simon Josefsson  <jas@extundo.com>
8113
8114         * lib/gc-pbkdf2-sha1.c: New file.
8115
8116         * lib/gc.h: Add gc_pbkdf2_sha1 prototype.
8117
8118 2005-10-12  Simon Josefsson  <jas@extundo.com>
8119
8120         * lib/gc-libgcrypt.c (gc_hmac_sha1): New function.
8121
8122         * lib/gc-gnulib.c (gc_hmac_sha1): New function.
8123
8124 2005-10-12  Simon Josefsson  <jas@extundo.com>
8125
8126         * lib/gc-gnulib.c: Condition MD5 and HMAC-MD5 use on GC_USE_MD5 and
8127         GC_USE_HMAC_MD5, respectively.
8128
8129         * lib/gc-libgcrypt.c (gc_md5): Fix assert call.
8130         (gc_md5): Fix typo.
8131
8132         * lib/gc.h (gc_hash_buffer): Use gc_hash in prototype.
8133
8134         * lib/gc-libgcrypt.c (gc_hash_buffer): Ditto.
8135
8136         * lib/gc-gnulib.c (gc_hash_buffer): Ditto.
8137
8138 2005-10-12  Bruno Haible  <bruno@clisp.org>
8139
8140         * m4/stdbool.m4 (gl_STDBOOL_H): Define as an alias of AM_STDBOOL_H.
8141         Reported by Stepan Kasal <kasal@ucw.cz>.
8142
8143 2005-10-11  Simon Josefsson  <jas@extundo.com>
8144
8145         * tests/test-crc.c: New file.
8146
8147         * modules/crc, modules/crc-tests: New files.
8148
8149 2005-10-11  Simon Josefsson  <jas@extundo.com>
8150
8151         * m4/crc.m4: New file.
8152
8153 2005-10-11  Simon Josefsson  <jas@extundo.com>
8154
8155         * lib/gc.h: Add gc_hash and gc_hash_buffer.
8156
8157         * lib/gc-gnulib.c (gc_hash_buffer): Add.  Reorder #include's.
8158
8159         * lib/gc-libgcrypt.c (gc_hash_buffer): Add.
8160
8161 2005-10-11  Simon Josefsson  <jas@extundo.com>
8162
8163         * lib/crc.h, lib/crc.c: New files.
8164
8165         * lib/gc.h (gc_hash_buffer): Add doc.
8166
8167 2005-10-11  Bruno Haible  <bruno@clisp.org>
8168
8169         * modules/c-strcasestr: New file.
8170         * MODULES.html.sh (String handling <string.h>): Add c-strcasestr.
8171
8172 2005-10-11  Bruno Haible  <bruno@clisp.org>
8173
8174         * modules/c-strcase: New file.
8175         * MODULES.html.sh (String handling <string.h>): Add c-strcase.
8176
8177 2005-10-11  Bruno Haible  <bruno@clisp.org>
8178
8179         * lib/strcasecmp.c: Include limits.h.
8180         (strcasecmp): Avoid integer overflow on exotic platforms.
8181         * lib/strncasecmp.c: Include limits.h.
8182         (strncasecmp): Avoid integer overflow on exotic platforms.
8183         Reported by Paul Eggert.
8184
8185 2005-10-11  Bruno Haible  <bruno@clisp.org>
8186
8187         * lib/c-strcasestr.h: New file, from GNU gettext.
8188         * lib/c-strcasestr.c: New file, from GNU gettext.
8189
8190 2005-10-11  Bruno Haible  <bruno@clisp.org>
8191
8192         * lib/c-strcase.h: New file, from GNU gettext.
8193         * lib/c-strcasecmp.c: New file, from GNU gettext.
8194         * lib/c-strncasecmp.c: New file, from GNU gettext.
8195
8196 2005-10-10  Paul Eggert  <eggert@cs.ucla.edu>
8197
8198         * modules/mempcpy (License): GPL -> LGPL.
8199         * modules/strchrnul (License): Likewise.
8200         * modules/sysexits (License): Likewise.
8201
8202 2005-10-08  Simon Josefsson  <jas@extundo.com>
8203
8204         * config/srclist.txt: Bug 1423 is closed, but 1439 remains.
8205
8206 2005-10-07  Simon Josefsson  <jas@extundo.com>
8207
8208         * m4/memxor.m4: Remove gl_C_RESTRICT call.
8209
8210 2005-10-06  Simon Josefsson  <jas@extundo.com>
8211
8212         * tests/test-hmac-md5.c: New file.
8213
8214         * modules/hmac-md5-tests: New file.
8215
8216         * modules/hmac-md5: New file.
8217
8218 2005-10-06  Simon Josefsson  <jas@extundo.com>
8219
8220         * m4/hmac-md5.m4: New file.
8221
8222         * m4/memxor.m4: Require gl_C_RESTRICT.
8223
8224 2005-10-06  Simon Josefsson  <jas@extundo.com>
8225
8226         * lib/memxor.c (memxor): Avoid casts and warnings.
8227
8228 2005-10-06  Simon Josefsson  <jas@extundo.com>
8229
8230         * lib/hmac-md5.c: New file.
8231
8232         * lib/hmac.h: New file.
8233
8234 2005-10-06  Paul Eggert  <eggert@cs.ucla.edu>
8235
8236         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check that bool
8237         promotes to int, not unsigned int, to catch the AIX 5.3
8238         compiler bug.
8239
8240 2005-10-05  Simon Josefsson  <jas@extundo.com>
8241
8242         * modules/memxor: New file.
8243
8244         * modules/iconv (Files): Move config.rpath to havelib, it is used
8245         there.
8246
8247         * modules/havelib (Files): Add config.rpath.
8248
8249 2005-10-05  Simon Josefsson  <jas@extundo.com>
8250
8251         * m4/memxor.m4: New file.
8252
8253 2005-10-05  Simon Josefsson  <jas@extundo.com>
8254
8255         * lib/memxor.c (memxor): Fix compiler error.
8256
8257         * lib/md5.h (MD5_DIGEST_SIZE, MD5_BLOCK_SIZE): Add, see also
8258         <http://sourceware.org/bugzilla/show_bug.cgi?id=1423>.
8259
8260         * lib/memxor.h, lib/memxor.c: New files.
8261
8262         * lib/getaddrinfo.h: Don't protect sys/types.h with HAVE_SYS_TYPES_H,
8263         we assume all systems have it, suggested by Jim Meyering
8264         <jim@meyering.net>.  Remove HAVE_SYS_SOCKET_H test too, to see if
8265         any systems lack sys/socket.h; mingw32 is known to lack it, but we
8266         don't support it yet anyway.  Also remove HAVE_NETDB_H test, for
8267         same reasons.
8268
8269 2005-10-05  Simon Josefsson  <jas@extundo.com>
8270
8271         * config/srclist.txt: Add glibc bug 1423 for md5.h.
8272
8273 2005-10-05  Paul Eggert  <eggert@cs.ucla.edu>
8274
8275         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Don't check for
8276         sys/socket.h, netdb.h, sys/types.h; the checks areno longer
8277         needed, since the source code now assumes these .h files.
8278
8279 2005-10-05  Derek Price  <derek@ximbiot.com>
8280
8281         * lib/getdelim.c (SIZE_MAX): New macro, if not already defined.
8282
8283 2005-10-05  Bruno Haible  <bruno@clisp.org>
8284
8285         * modules/stdint (License): Change to LGPL.
8286
8287 2005-10-04  Simon Josefsson  <jas@extundo.com>
8288
8289         * lib/getaddrinfo.h: Move sys/types.h include first, reported by "Mark
8290         D. Baushke" <mdb@gnu.org>.
8291
8292 2005-10-04  Bruno Haible  <bruno@clisp.org>
8293
8294         * lib/verify.h (verify_true): Provide alternative definition for C++.
8295
8296 2005-10-03  Paul Eggert  <eggert@cs.ucla.edu>
8297
8298         * lib/getdelim.c: Include getdelim.h first.  Include <limits.h>.
8299         (SSIZE_MAX): New macro, if not already defined.
8300         (getdelim): Fix buffer overrun on 64-bit hosts with lines longer
8301         than 2 GiB.
8302
8303 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
8304
8305         Sync from coreutils.
8306         * m4/openat.m4 (gl_FUNC_OPENAT): Check for fdopendir.
8307         * m4/ullong_max.m4 (gl_ULLONG_MAX): Simplify so that it merely
8308         defines ULONG_MAX_LT_ULLONG_MAX.  Thomas M.Ott reports that
8309         ULLONG_MAX doesn't work with 2.7.2.1.
8310
8311 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
8312
8313         * modules/xreadlink (Makefile.am): Remove lib_SOURCES.
8314         From Ben Pfaff.
8315
8316         * modules/exclude (Depends-on): Depend on verify.
8317         * modules/strtoimax (Depends-on): Likewise.
8318         * modules/utimecmp (Depends-on): Likewise.
8319
8320 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
8321
8322         * lib/exclude.c: Include verify.h.
8323         (verify): Remove.  All callers changed to use verify.h's version.
8324         * lib/strtoimax.c: Likewise.
8325         * lib/utimecmp.c: Likewis.e
8326
8327         Sync from coreutils.
8328         * lib/.cppi-disable: Add getaddrinfo.h, getdelim.h, getline.h,
8329         getpass.c, mbchar.h, mbuiter.h, strcase.h, strnlen.h, strnlen1.h.
8330         * lib/.cvsignore: Add fts.h, search.h, t-fpending.
8331         * lib/settime.c (settime): Fix { typo in previous patch.  Also, don't
8332         bother returning ENOSYS if settimeofday or stime fails; just let
8333         them return whatever errno they want to return.
8334         * lib/utimens.c: Include unistd.h, for dup2.
8335         (futimens): Fix typo: HAVE_FUTIMESAT was misspelled in an #if.
8336         (futimens) [! HAVE_FUTIMESAT]: If !file, set errno before returning -1.
8337
8338 2005-10-02  Jim Meyering  <jim@meyering.net>
8339
8340         Sync from coreutils.
8341         * m4/utimes.m4 (gl_FUNC_UTIMES): Detect the version of utimes
8342         from glibc-2.2.5 that fails for read-only files.
8343
8344 2005-10-02  Jim Meyering  <jim@meyering.net>
8345
8346         Sync from coreutils.
8347         * lib/fts-cycle.c [HAVE_CONFIG_H]: Include <config.h>.
8348         * lib/openat-die.c: Use `#ifdef HAVE_CONFIG_H', not
8349         `#if HAVE_CONFIG_H'.
8350         * lib/openat.c (fdopendir): Do not define if HAVE_FDOPENDIR.
8351         Remove AT_FDCWD test.
8352         Do not consume the fd unless successful.
8353         * lib/openat.h (fdopendir): Do not define if HAVE_FDOPENDIR.
8354         * lib/settime.c (settime): Move the HAVE_STIME block `up' into an #elif
8355         block, so that we don't even try to compile it if settimeofday is
8356         available.  This works around a compilation failure on OSF1 V5.1,
8357         due to stime requiring a `long int*' while tv_sec is `int'.
8358
8359 2005-10-02  Alfred M. Szmidt  <ams@gnu.org>
8360
8361         Sync from coreutils.
8362         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Compare $gl_have_path...
8363         against `yes', rather than just testing for nonempty.
8364
8365 2005-10-01  Simon Josefsson  <jas@extundo.com>
8366
8367         * m4/getaddrinfo.m4: Include sys/types.h for sys/socket.h, on FreeBSD
8368         and Darwin.
8369
8370         * m4/getaddrinfo.m4: Use AC_GNU_SOURCE, GNU only declare getaddrinfo
8371         as an (POSIX) extension.  Check for sys/types.h, sys/socket.h, and
8372         netdb.h too, needed by getaddrinfo.h.  Check if getaddrinfo,
8373         freeaddrinfo and gai_strerror are declared by the POSIX headers.
8374         Check if struct addrinfo is declared.
8375
8376 2005-10-01  Simon Josefsson  <jas@extundo.com>
8377
8378         * lib/getaddrinfo.h: Protect #include's of sys/socket.h and netdb.h.
8379         Only define struct addrinfo if !HAVE_STRUCT_ADDRINFO.  Protect
8380         AI_* and EAI_* definitions.  Protect function declarations.
8381
8382 2005-10-01  Jim Meyering  <jim@meyering.net>
8383
8384         Sync from coreutils.
8385
8386         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Look for getservbyname in these
8387         libraries [inet nsl socket xnet].  Nelson Beebe reported that with
8388         native cc on Solaris 7, getaddrinfo.c requires -lsocket.
8389         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
8390         in the inet and nsl libraries.  Required on Solaris 5.7.
8391
8392 2005-10-01  Jim Meyering  <jim@meyering.net>
8393
8394         Sync from coreutils.
8395         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
8396         in the inet and nsl libraries.  Required on Solaris 5.7.
8397
8398 2005-10-01  Eric Blake  <ebb9@byu.net>  (tiny change)
8399
8400         * lib/getdelim.c (getdelim): Remove unused variables.
8401
8402 2005-09-29  Paul Eggert  <eggert@cs.ucla.edu>
8403
8404         * lib/xtime.h (XTIME_PRECISION): Now of type int, not long long int,
8405         so that the code works even with ancient cpp.  Portability problem
8406         with GCC 2.7.2.1 reported by Thomas M.Ott.
8407
8408 2005-09-27  Paul Eggert  <eggert@cs.ucla.edu>
8409
8410         * modules/regex (Depends-on): Add strcase.
8411
8412         * modules/gethostname (Licence): Change from GPL to LGPL, since
8413         gethostname.c is a trivial implementation of a standard library
8414         function.
8415         * modules/poll (License): Change from GPL to LGPL, since it's
8416         derived from LGPL code.
8417
8418 2005-09-27  Jim Meyering  <jim@meyering.net>
8419
8420         * lib/getcwd.c: Change #ifdef<TAB>HAVE_CONFIG_H to #ifdef
8421         HAVE_CONFIG_H.
8422
8423         * lib/intprops.h (signed_type_or_expr__): Define.
8424         (INT_STRLEN_BOUND) [__GNUC__]: Use a slightly tighter bound
8425         for unsigned types.
8426
8427 2005-09-26  Paul Eggert  <eggert@cs.ucla.edu>
8428
8429         * lib/verify.h (verify_expr): Remove, replacing with:
8430         (verify_true): New macro that returns true instead of void.
8431         (verify_type__): Remove.
8432         (verify): Use verify_true rather than verify_type__.
8433
8434 2005-09-26  Bruno Haible  <bruno@clisp.org>
8435
8436         * modules/mbchar (Include): Mention that HAVE_WCHAR_H && HAVE_WCTYPE_H
8437         is necessary.
8438         (lib_SOURCES): Remove mbchar.c.
8439         * modules/mbfile (Include): Mention that HAVE_MBRTOWC is necessary.
8440         (Files): Add m4/mbrtowc.m4.
8441         * modules/mbiter: Likewise.
8442         * modules/mbuiter: Likewise.
8443
8444 2005-09-26  Bruno Haible  <bruno@clisp.org>
8445
8446         * m4/mbchar.m4 (gl_MBCHAR): Check for wchar.h and wctype.h. Don't
8447         compile mbchar.c if they are not both present.
8448         * m4/mbfile.m4 (gl_MBFILE): Require gl_FUNC_MBRTOWC.
8449         * m4/mbiter.m4 (gl_MBITER): Likewise.
8450         * m4/strstr.m4 (gl_PREREQ_STRSTR): Use AC_REQUIRE.
8451         * m4/strcasestr.m4 (gl_PREREQ_STRCASESTR): Likewise.
8452         * m4/strcase.m4 (gl_PREREQ_STRCASECMP): Likewise.
8453
8454 2005-09-25  Jim Meyering  <jim@meyering.net>
8455
8456         * modules/inet_ntop (Depends-on): Add socklen, since inet_ntop.c
8457         also uses socklen_t.
8458
8459 2005-09-24  Paul Eggert  <eggert@cs.ucla.edu>
8460
8461         * lib/utimens.c (ENOSYS): Define if not already defined.
8462         (futimens): Support having a null PATH if the file descriptor
8463         is nonnegative.
8464
8465         * lib/regex_internal.h (__GNUC_PREREQ, always_inline, inline, pure):
8466         Remove.
8467         (__attribute): Define to empty unless GCC 3.1 or later.
8468         This works around a core dump on OpenBSD 3.4, which has GCC
8469         2.95.3, which dumps core when given __attribute__(()).  It also
8470         simplifies other tests, since we really don't want to bother with
8471         worrying about which ancient version of GCC supported what.
8472         Original problem reported by Yoann Vandoorselaere, with part of
8473         the fix suggested by Derek Price.
8474
8475 2005-09-24  Jim Meyering  <jim@meyering.net>
8476
8477         * lib/verify.h (verify_type__): Use `unsigned int' as the bitfield type
8478         so we can once again use a positive bitfield width of 1 -- now we
8479         don't have to explain why we were using a bitfield width of 2.
8480
8481 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
8482
8483         * m4/regex.m4 (gl_REGEX): If replacing, define regcomp to rpl_regcomp,
8484         and similarly for the other external symbols.  Problem reported
8485         by James Gallager.
8486
8487         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Catch Sun Studio 10u1 on Linux
8488         bug reported by Jim Meyering.
8489
8490         * m4/utimens.m4 (gl_UTIMENS): Check for futimesat.
8491         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Undo previous change;
8492         not needed, since socklen is a prerequisite module.
8493
8494 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
8495
8496         * lib/getaddrinfo.c [HAVE_NETINET_IN_H]: Include <netinet/in.h>.
8497         Problem reported by Eric Blake.
8498         (getaddrinfo): Initialize se so that it's not garbage.
8499         Redo internal storage allocation so that it doesn't make unportable
8500         assumptions about alignment.
8501         Fix a memory leak.
8502
8503         * lib/utimens.c (futimens): Use futimesat if available.
8504         Prefer it to futimes since it doesn't have the futimes bug.
8505
8506         * lib/verify.h (GL_CONCAT0, GL_CONCAT): Remove.
8507         (verify): Don't use the __LINE__ trick, as it doesn't work in general.
8508         Instead, declare a function that returns a pointer to an array,
8509         and use verify_type__ to declare the size of the array.
8510         Problem and germ of a solution reported by Bruno Haible.
8511         (verify_type__): Use 2, not 1, for bitfield size, to avoid
8512         a warning with Irix 6.5 cc.  Problem reported by Bruno Haible.
8513
8514 2005-09-23  Jim Meyering  <jim@meyering.net>
8515
8516         Sync from coreutils.
8517         Correct build failure (socklen_t not defined) on at least
8518         mips-sgi-irix6.5 and alphaev67-dec-osf5.1.
8519         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Require gl_SOCKLEN_T.
8520
8521 2005-09-23  Jim Meyering  <jim@meyering.net>
8522
8523         * modules/getaddrinfo (Depends-on): Add socklen.
8524
8525 2005-09-23  Bruno Haible  <bruno@clisp.org>
8526
8527         * tests/test-verify.c: New file.
8528
8529 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
8530
8531         Sync from coreutils.
8532
8533         * modules/argmatch (Depends-on): Add verify.
8534         * modules/getloadavg (Depends-on): Depend on fcntl-safer, not
8535         unistd-safer.
8536         * modules/save-cwd (Depends-on): Likewise.
8537
8538         * modules/openat (Files): Add lib/openat-die.c.
8539         (Depends-on): Remove error, exitfail.
8540         Add dirname.
8541
8542         * modules/verify: New file.
8543         * MODULES.html.sh (Diagnostics <assert.h>): New section,
8544         with "verify" module.
8545
8546 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
8547
8548         Sync from coreutils.
8549
8550         * m4/backupfile.m4, calloc.m4, chown.m4, cloexec.m4, dup2.m4:
8551         * m4/fileblocks.m4, free.m4, ftruncate.m4, getcwd.m4, getpagesize.m4:
8552         * m4/getugroups.m4, group-member.m4, idcache.m4, link-follow.m4:
8553         * m4/mkstemp.m4, mktime.m4, mountlist.m4, nanosleep.m4, pathmax.m4:
8554         * m4/physmem.m4, posixver.m4, putenv.m4, safe-read.m4, same.m4:
8555         * m4/save-cwd.m4, stdio-safer.m4, unistd-safer.m4, unlinkdir.m4:
8556         * m4/userspec.m4, xgetcwd.m4, xreadlink.m4:
8557         Don't bother checking for string.h, stdlib.h, unistd.h.
8558         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't require
8559         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK; that's now the lstat
8560         module's job.
8561         * m4/jm-macros.m4 (gl_MACROS): Likewise.
8562         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_LSTAT.
8563
8564         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): New macro.
8565         (gl_GETDATE): Use it.
8566
8567         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Don't bother checking for unistd.h.
8568
8569 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
8570
8571         Sync from coreutils.
8572
8573         * lib/.cppi-disable: Add regcomp.c, regex_internal.c, regex_internal.h,
8574         stat-time.h.
8575         * lib/argmatch.h: Include verify.h
8576         (ARGMATCH_VERIFY): Use verify rather than rolling our own.
8577         (ARGMATCH_ASSERT): Remove; unused.
8578         * lib/canonicalize.c: Assume STDC_HEADERS.
8579         * lib/exclude.c: Include "strcase.h".
8580         * lib/regex_internal.h [!defined _LIBC]: Likewise.
8581         * lib/getusershell.c: Include stdio--.h rather than stdio.h
8582         and stdio-safer.h.
8583         (getusershell): Call fopen, not fopen_safer.
8584         * lib/save-cwd.c: Include fcntl--.h rather than fcntl.h.
8585         Do not include unistd-safer.h.
8586         (save_cwd): Don't call fd_safer; no longer needed
8587         now that we include fcntl--.h.
8588
8589         * lib/getdate.y (relative_time): New type.
8590         (RELATIVE_TIME_0): New constant.
8591         (parser_control): Use relative_time instead of doing it ourselves.
8592         (%union): Add new relative_time rel member.
8593         (tYEAR_UNIT, tMONTH_UNIT, tHOUR_UNIT, tMINUTE_UNIT, tSEC_UNIT):
8594         Now typeless.
8595         (relunit, relunit_snumber): Now of type rel.
8596         (zone, rel, relunit, get_date): Adjust to above changes.
8597
8598         * lib/getloadavg.c: Include fcntl--.h rather than fcntl.h.
8599         Do not include unistd-safer.h.
8600         (getloadavg): Don't call fd_safer; no longer needed
8601         now that we include fcntl--.h.
8602
8603         * lib/mkdir-p.c (ENOSYS): Define to EEXIST if not defined.
8604         (make_dir_parents): Treat ENOSYS like EEXIST.
8605
8606         Improve quality of diagnostics on restore_cwd failure.
8607         * lib/mkdir-p.h (make_dir): Remove.  All uses replaced by mkdir.
8608         (make_dir_parents): Last arg is now int * (for errno), not bool *.
8609         * lib/mkdir-p.c (make_dir, make_dir_parents): Likewise.
8610         Rewrite "mkdir -p" algorithm to avoid the need for "stat"
8611         each time through the loop.  Do not diagnose restore_cwd failure;
8612         that is the caller's job (and perhaps the caller does not care).
8613
8614         * lib/mkdir-p.c (CLEANUP_CWD, CLEANUP): Remove.
8615         (make_dir_parents): Revamp to avoid need for CLEANUP_CWD, CLEANUP.
8616         If the file already exists but is not a directory, don't bother
8617         to try to make its parents.
8618         Close potential file descriptor leak if we can't chdir("/") (!).
8619         Don't always return true if chdir($PWD) fails; return true only
8620         if the requested action was done successfully (except for the
8621         chdir($PWD)).
8622         Don't log final directory unless we actually made it.
8623         Refactor to avoid duplicate code to fix up permissions.
8624         Don't attempt to fix up parent permissions if chdir($PWD) fails.
8625
8626         * lib/strftime.c (my_strftime): Rewrite the previous change slightly,
8627         to make it a bit faster and (I hope) clearer.
8628         * lib/strftime.c (my_strftime): Add support for %:z, %::z, %:::z.
8629         Fix bug in formats like %2N.
8630
8631         * lib/verify.h: New file.
8632
8633 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
8634
8635         Sync from coreutils.
8636         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Check for netinet/in.h.
8637
8638 2005-09-22  Jim Meyering  <jim@meyering.net>
8639
8640         Sync from coreutils.
8641
8642         * m4/lstat.m4 (gl_FUNC_LSTAT):
8643         Use AC_LIBSOURCES to require lstat.c and lstat.h.
8644         Remove obsolete comment.
8645         * m4/xreadlink.m4: Use AC_LIBSOURCES and AC_LIBOBJ.
8646         * m4/xstrtod.m4: Likewise.
8647
8648         * m4/openat.m4 (gl_FUNC_OPENAT): Add openat-die.c.
8649
8650 2005-09-22  Jim Meyering  <jim@meyering.net>
8651
8652         Sync from coreutils.
8653
8654         * lib/backupfile.c: Use ARGMATCH_VERIFY, just in case.
8655
8656         * lib/posixtm.c (posixtime) [lint]: Initialize *all* of tm0, not just
8657         the .tm_year member, since otherwise gcc-4.0 would now warn about
8658         tm_zone, tm_gmtoff, tm_isdst, tm_yday, tm_wday.
8659
8660         * lib/quotearg.c (quotearg_n_options): Change code to be suboptimal, in
8661         order to avoid an unsuppressible warning from gcc on 64-bit systems.
8662
8663         * lib/getdate.y (get_date): Undo part of the 2005-04-04 change, so that
8664         the command "date -d'2005-03-27 +1 day'" succeeds once again, even
8665         when run in a time zone for which daylight savings time is in effect
8666         for the starting date.
8667
8668         * lib/mkdir-p.c (make_dir_parents): Don't let a failed chdir($PWD)
8669         stop us from restricting permissions of just-created absolute-named
8670         directories.
8671         * lib/mkdir-p.c (CLEANUP_CWD): Return *true*, not false when failing
8672         to restore initial working directory.
8673         * lib/mkdir-p.c (make_dir_parents): New parameter:
8674         different_working_dir, to tell caller if/when we change the working
8675         directory and are unable to return to the initial one.
8676         * lib/mkdir-p.h (make_dir_parents): Update prototype.
8677         * lib/mkdir-p.c (CLEANUP_CWD): Change one more `return 1' to
8678         `return false'.  This fixes a bug introduced on 2004-07-30.
8679
8680         * lib/openat.c (fdopendir): Be sure to close the supplied
8681         file descriptor before returning.  This makes our replacement
8682         implementation a little closer to Solaris's, where fdopendir
8683         ties the file descriptor to the returned DIR* pointer.
8684         * lib/openat.c (unlinkat): New function.
8685         * lib/openat.h (unlinkat): Add prototype.
8686         * lib/openat-die.c (openat_save_fail): Rename from openat_save_die.
8687         (openat_restore_fail): Rename from openat_restore_die.
8688         * lib/openat.c, openat.h: Reflect s/_die/_fail/ renaming.
8689
8690         Provide an alternative to exiting immediately upon save_cwd or
8691         restore_cwd failure.  Now, an application can arrange e.g.,
8692         to perform a longjump in that case.
8693         * lib/openat.c: Include dirname.h.
8694         Use IS_ABSOLUTE_FILE_NAME rather than testing for leading slash.
8695         (rpl_openat, fdopendir, fstatat): Call openat_save_die
8696         and openat_restore_die rather than calling error directly.
8697         Don't include "error.h" or "exitfail.h"; they're no longer needed.
8698
8699         * lib/openat-die.c (openat_save_die, openat_restore_die): New file.
8700         * lib/openat.h (openat_save_die, openat_restore_die): Declare and
8701         define.
8702
8703         * lib/strftime.c [FPRINTFTIME] (fprintftime): Provide a new interface:
8704         size_t fprintftime (FILE *fp, char const *fmt, struct tm const *tm,
8705                             int utc, int nanoseconds);
8706         Background:
8707         date should not have to allocate a megabyte of virtual memory to
8708         handle a format argument like +%1048575T.  When implemented with
8709         strftime, it must allocate such a buffer, use strftime to fill it
8710         in, print it, then free it.
8711         With fprintftime, it simply prints everything and exits.
8712         With no need for memory allocation, that's one fewer way to fail.
8713         * lib/strftime.c (my_strftime): Parse the colons of %:::z *after* the
8714         optional field width, not before, so we accept %9:z, not %:9z.
8715         (my_strftime): Be sure to use L_('x') for literals.
8716
8717         * lib/backupfile.c, lib/canon-host.c, lib/canonicalize.c, lib/chown.c:
8718         * lib/cloexec.c, lib/dup-safer.c, lib/dup2.c, lib/euidaccess.c:
8719         * lib/fd-safer.c, lib/fileblocks.c, lib/fopen-safer.c, lib/fsusage.c:
8720         * lib/ftruncate.c, lib/getcwd.c, lib/getcwd.h, lib/getloadavg.c:
8721         * lib/getopt_.h, lib/getpagesize.h, lib/getugroups.c:
8722         * lib/group-member.c, lib/human.h, lib/idcache.c, lib/mkdir-p.c:
8723         * lib/mountlist.c, lib/nanosleep.c, lib/pathmax.h, lib/physmem.c:
8724         * lib/posixver.c, lib/putenv.c, lib/raise.c, lib/safe-read.c:
8725         * lib/same.c, lib/save-cwd.c, lib/setenv.c, lib/settime.c:
8726         * lib/tempname.c, lib/unlinkdir.c, lib/unsetenv.c, lib/userspec.c:
8727         * lib/xgethostname.c, lib/xreadlink.c:
8728         Assume HAVE_UNISTD_H, i.e., include <unistd.h> unconditionally.
8729
8730         * lib/chown.c, lib/cloexec.c, lib/dup-safer.c, lib/dup2.c:
8731         * lib/fsusage.c, lib/getcwd.c, lib/getloadavg.c, lib/mountlist.c:
8732         * lib/openat.h, lib/save-cwd.c, lib/tempname.c:
8733         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
8734         and don't include <sys/file.h>).
8735
8736 2005-09-22  Eric Blake  <ebb9@byu.net>  (tiny change)
8737
8738         Sync from coreutils.
8739
8740         * lib/getloadavg.c (getloadavg) [__CYGWIN__]: Port to cygwin.
8741         [__linux__]: Allocate a big enough buffer for /proc/loadavg.
8742         [!LDAV_DONE]: Avoid unused variable warning.
8743
8744 2005-09-21  Bruno Haible  <bruno@clisp.org>
8745
8746         * lib/unicodeio.h (unicode_to_mb): New declaration.
8747
8748 2005-09-20  Derek Price  <derek@ximbiot.com>
8749
8750         * lib/getaddrinfo.c: Don't include <netdb.h> included from
8751         getaddrinfo.h.
8752
8753 2005-09-20  Bruno Haible  <bruno@clisp.org>
8754
8755         * gnulib-tool: Remove trailing slashes from the values specified for
8756         --source-base, --m4-base, --tests-base, --aux-dir.
8757         Suggested by Simon Josefsson <jas@extundo.com>.
8758
8759 2005-09-20  Bruno Haible  <bruno@clisp.org>
8760
8761         * gnulib-tool (func_all_modules, func_modules_transitive_closure,
8762         func_modules_to_filelist, func_import, func_create_testdir): Make all
8763         sorting results locale-independent, so that gnulib-cache.m4 doesn't
8764         change when gnulib-tool is invoked in a different locale.
8765
8766 2005-09-19  Simon Josefsson  <jas@extundo.com>
8767
8768         * m4/socklen.m4: Fix typo.
8769
8770 2005-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
8771
8772         Use a consistent style for including <config.h>.
8773         * lib/__fpending.c, lib/acl.c, lib/argmatch.c, lib/argp-help.c,
8774         lib/argp-parse.c, lib/argp-pvh.c, lib/backupfile.c, lib/basename.c,
8775         lib/c-stack.c, lib/calloc.c, lib/check-version.c, lib/cloexec.c,
8776         lib/closeout.c, lib/copy-file.c, lib/creat-safer.c, lib/cycle-check.c,
8777         lib/dirfd.c, lib/dirname.c, lib/dup-safer.c, lib/dup2.c,
8778         lib/euidaccess.c, lib/exclude.c, lib/exitfail.c, lib/fatal-signal.c,
8779         lib/fd-safer.c, lib/file-type.c, lib/fileblocks.c, lib/filemode.c,
8780         lib/filenamecat.c, lib/findprog.c, lib/fnmatch.c, lib/fopen-safer.c,
8781         lib/free.c, lib/fsusage.c, lib/ftruncate.c, lib/full-write.c,
8782         lib/fwriteerror.c, lib/getaddrinfo.c, lib/getcwd.c, lib/getdelim.c,
8783         lib/getline.c, lib/getlogin_r.c, lib/getndelim2.c, lib/getnline.c,
8784         lib/getopt1.c, lib/getpass.c, lib/group-member.c, lib/hard-locale.c,
8785         lib/hash-pjw.c, lib/hash.c, lib/human.c, lib/idcache.c,
8786         lib/inet_ntop.c, lib/isdir.c, lib/long-options.c, lib/malloc.c,
8787         lib/memcasecmp.c, lib/memcmp.c, lib/memcoll.c, lib/memcpy.c,
8788         lib/memmove.c, lib/mkdir-p.c, lib/modechange.c, lib/mountlist.c,
8789         lib/open-safer.c, lib/physmem.c, lib/pipe-safer.c, lib/pipe.c,
8790         lib/poll.c, lib/posixver.c, lib/progname.c, lib/progreloc.c,
8791         lib/putenv.c, lib/quote.c, lib/quotearg.c, lib/readline.c,
8792         lib/readlink.c, lib/realloc.c, lib/regex.c, lib/rename.c, lib/rmdir.c,
8793         lib/rpmatch.c, lib/safe-read.c, lib/same.c, lib/save-cwd.c,
8794         lib/savedir.c, lib/sig2str.c, lib/strcspn.c, lib/strerror.c,
8795         lib/stripslash.c, lib/strncasecmp.c, lib/strndup.c, lib/strnlen.c,
8796         lib/strnlen1.c, lib/strsep.c, lib/strstr.c, lib/strtod.c,
8797         lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c,
8798         lib/time_r.c, lib/userspec.c, lib/utimecmp.c, lib/version-etc-fsf.c,
8799         lib/version-etc.c, lib/wait-process.c, lib/xalloc-die.c, lib/xgetcwd.c,
8800         lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c, lib/xreadlink.c,
8801         lib/xsetenv.c, lib/xstrndup.c, lib/xstrtoimax.c, lib/xstrtol.c,
8802         lib/xstrtoumax.c, lib/yesno.c:
8803         Standardize inclusion of config.h.
8804         * lib/__fpending.h, lib/dirfd.h, lib/getdate.h, lib/human.h,
8805         lib/inttostr.h:  Removed inclusion of config.h from header files.
8806         * lib/inttostr.c:  Adjusted in-tree users.
8807         * lib/timespec.h: Remove superfluous warning to include config.h.
8808         * lib/atexit.c, lib/chdir-long.c, lib/chown.c, lib/fchown-stub.c,
8809         lib/getgroups.c, lib/gettimeofday.c, lib/lchown.c, lib/lstat.c,
8810         lib/mkdir.c, lib/mkstemp.c, lib/nanosleep.c, lib/openat.c, lib/raise.c,
8811         lib/readtokens0.c, lib/readutmp.c, lib/unlinkdir.c: Guard inclusion of
8812         config.h with HAVE_CONFIG_H.
8813
8814 2005-09-19  Jim Meyering  <jim@meyering.net>
8815
8816         * modules/pathmax (License): Change to LGPL.
8817
8818 2005-09-19  Derek Price  <derek@ximbiot.com>
8819
8820         * config/srclist.txt: glibc's glob.h is now in lib/glob-libc.h.
8821
8822 2005-09-19  Bruno Haible  <bruno@clisp.org>
8823
8824         * gnulib-tool (import): Provide default for --tests-base.
8825
8826 2005-09-19  Bruno Haible  <bruno@clisp.org>
8827
8828         * doc/quote.texi: New file, extracted from gnulib.texi.
8829         * doc/ctime.texi: New file, extracted from gnulib.texi.
8830         * doc/inet_ntoa.texi: New file, extracted from gnulib.texi.
8831         * doc/gnulib-tool.texi: New file, extracted from gnulib.texi.
8832         * doc/gnulib.texi: Include them.
8833
8834 2005-09-18  Bruno Haible  <bruno@clisp.org>
8835
8836         Portability fix.
8837         * gnulib-tool (func_readlink): New function.
8838         (func_ln_if_changed): Use it.
8839
8840 2005-09-18  Bruno Haible  <bruno@clisp.org>
8841
8842         * gnulib-tool: Support --with-tests also with --import.
8843         (func_emit_tests_Makefile_am): Use variables $m4base and $testsbase.
8844         (func_import): Use variables $testsbase and $inctests. Emit a
8845         gl_TESTS_BASE form into gnulib-cache.m4. Create $testsbase/Makefile.am.
8846         Remind the user to add AC_CONFIG_FILES($testsdir/Makefile) and
8847         SUBDIRS += $testsdir.
8848         (func_create_testdir): Update.
8849
8850 2005-09-18  Bruno Haible  <bruno@clisp.org>
8851
8852         * gnulib-tool: Revise --dry-run implementation. Use variable $doit
8853         instead of $dry_run.
8854         (func_cp_if_changed, func_mv_if_changed): Remove functions.
8855         (func_ln_if_changed): Don't handle dry-run here.
8856         (func_import): In dry-run mode, detect more precisely which actions
8857         would be performed, and don't use "...ing" verbs.
8858
8859 2005-09-18  Bruno Haible  <bruno@clisp.org>
8860
8861         * gnulib-tool (func_tmpdir): New function, taken from GNU gettextize.
8862         (func_import): Use join on two temporary files instead of three nested
8863         loops, in order to determine which files are new or old.
8864
8865 2005-09-18  Bruno Haible  <bruno@clisp.org>
8866
8867         * gnulib-tool (func_import): Comment out code that spits out the
8868         new files with --dry-run.
8869
8870 2005-09-18  Bruno Haible  <bruno@clisp.org>
8871
8872         * doc/gnulib.texi (Invoking gnulib-tool): 50% rewritten.
8873
8874 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
8875
8876         * lib/stat-time.h: New file.
8877         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP, ATIME_CMP, CTIME_CMP):
8878         (MTIME_CMP, TIMESPEC_NS): Remove.  Now done by stat-time.h,
8879         in a different way.
8880         (timespec_cmp): New function.
8881         * lib/utimecmp.c: Include stat-time.h.
8882         (SYSCALL_RESOLUTION): Depend on whether various struct stat
8883         members exist, not on the obsolescent ST_MTIM_NSEC.
8884         (utimecmp): Use the new stat-time functions rater than TIMESPEC_NS.
8885
8886 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
8887
8888         * config/srclist.txt: Remove glibc bug 1033 and uncomment mktime.c.
8889
8890 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
8891
8892         * MODULES.html.sh (File system functions): Add stat-time.
8893         * modules/stat-time: New file.
8894         * modules/timespec (Files): Remove m4/st_mtim.m4; this
8895         is now done in a different way, by the stat-time module.
8896         * modules/utimecmp (Depends-on): Add stat-time.
8897
8898 2005-09-15  Paul Eggert  <eggert@cs.ucla.edu>
8899
8900         * m4/st_mtim.m4: Remove.  Superseded by...
8901         * m4/stat-time.m4: New file.
8902         * m4/timespec.m4 (gl_TIMESPEC): Require AC_C_INLINE.
8903         Do not invoke AC_STRUCT_ST_MTIM_NSEC; no longer needed.
8904
8905 2005-09-15  Derek Price  <derek@ximbiot.com>
8906
8907         * m4/strstr.m4 (gl_FUNC_STRSTR): Don't define strstr here.
8908
8909 2005-09-15  Derek Price  <derek@ximbiot.com>
8910
8911         * lib/regex_internal.h: Blank `pure' for GNUC < 3.
8912         * lib/regex_internal.c: Ditto, using this...
8913         (__GNUC_PREREQ): ...new macro.
8914         * lib/regcomp.c, regexec.c: Blank `always_inline' for GNUC < 3.1
8915         using...
8916         (__GNUC_PREREQ): ...this new macro.
8917
8918         * lib/strstr.h: Include string.h. Define strstr as a macro here.
8919
8920 2005-09-15  Derek Price  <derek@ximbiot.com>
8921             Paul Eggert  <eggert@cs.ucla.edu>
8922
8923         * lib/regcomp.c, regexec.c, regex_internal.c: Back out previous
8924         changes, consolidating in...
8925         * lib/regex_internal.h: ...this file.
8926
8927 2005-09-13  Jim Meyering  <jim@meyering.net>
8928
8929         * lib/canon-host.c: Filter through gnu indent and reword comments
8930         slightly.
8931         * lib/canon-host.h (ch_strerror_r): Tweak cpp indentation and spacing.
8932
8933 2005-09-13  Derek Price  <derek@ximbiot.com>
8934
8935         * lib/canon-host.c (canon_host_r): Set *cherror on memory allocation
8936         failure.
8937         Reported by Jim Meyering  <jim@meyering.net>.
8938
8939 2005-09-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
8940
8941         * lib/base64.c: Typo.
8942         (base64_encode): Put b64str in initialized data section.
8943
8944 2005-09-12  Paul Eggert  <eggert@cs.ucla.edu>
8945
8946         Merge glibc and coreutils changes into gnulib, plus a few
8947         extra fixes.
8948         * lib/md5.c: Use #error rather than a string.
8949         (CYCLIC): New macro, from glibc source.  Use it instead of rol.
8950         * lib/md5.h (__GNUC_PREREQ, __THROW): Define if not defined already.
8951         (__attribute__): Define to empty for non recent-GCC.
8952         (__md5_buffer, __md5_finish_ctx, __md5_init_ctx, __md5_process_block):
8953         (__md5_process_bytes, __md5_read_ctx, __md5_stream):
8954         Renamed from their non-__ counterparts, with new macros replacing
8955         them if not _LIBC.  Add __THROW attribute.
8956         (rol): Remove.
8957         (struct md5_ctx): Align buffer if using GCC.
8958         * lib/sha1.h (struct sha1_ctx): Likewise.
8959         * lib/sha1.c (SWAP): Renamed from the NOTSWAP.  All uses changed.
8960         The old name was backwards.
8961         (NOTSWAP): Remove; not used.
8962         (rol): New macro, moved here from md5.h.
8963         (sha1_process_block): Remove a FIXME that doesn't make sense.
8964
8965 2005-09-12  Derek Price  <derek@ximbiot.com>
8966
8967         Return usable errors from canon-host.
8968         * lib/canon-host.h: New file.
8969         * lib/canon-host.c (canon_host): Wrap...
8970         (canon_host_r): ...this new function, which now relies exclusively on
8971         getaddrinfo.
8972         (ch_strerror): New function.
8973         (last_cherror): New global.
8974         * lib/getaddrinfo.c: Move include of getaddrinfo.h first to test
8975         interface.
8976         (getaddrinfo): Add AI_CANONNAME functionality.  Don't do arithmetic on
8977         void *.
8978         (freeaddrinfo): Free ai->ai_canonname when set.
8979
8980 2005-09-12  Derek Price  <derek@ximbiot.com>
8981
8982         Make canon-host require getaddrinfo.
8983         * m4/canon-host.m4 (gl_CANON_HOST): Remove most dependencies.
8984         AC_LIBSOURCE canon-host.h.  Call...
8985         (gl_PREREQ_CANON_HOST): ...this new function, which requires
8986         gl_GETADDRINFO.
8987         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Compile gai_strerror when needed.
8988
8989 2005-09-12  Derek Price  <derek@ximbiot.com>
8990
8991         * modules/canon-host: Add canon-host.h.  Depend on getaddrinfo.  Make
8992         LGPL.
8993         * modules/getaddrinfo: Add link to opengroup spec.  Depend on strdup.
8994
8995 2005-09-12  Derek Price  <derek@ximbiot.com>
8996
8997         * lib/gai_strerror.c: Include config.h when available.  Include
8998         getaddrinfo.h before other headers to test interface.
8999         Reported by Larry Jones <lawrence.jones@ugs.com>.
9000
9001 2005-09-12  Derek Price  <derek@ximbiot.com>
9002             Paul Eggert  <eggert@cs.ucla.edu>
9003
9004         * modules/glob (Files): Add glob-libc.h.
9005
9006 2005-09-12  Derek Price  <derek@ximbiot.com>
9007             Paul Eggert  <eggert@cs.ucla.edu>
9008
9009         * m4/glob.m4 (gl_GLOB_SUBSTITUTE): AC_LIBSOURCES for glob.c,
9010         glob_.h, glob-libc.h.
9011         (gl_PREREQ_GLOB): Remove _SYS_CDEFS_H hack; no longer needed.
9012
9013 2005-09-12  Derek Price  <derek@ximbiot.com>
9014             Paul Eggert  <eggert@cs.ucla.edu>
9015
9016         * lib/glob-libc.h: Renamed from glob_.h.  The new version is
9017         taken from libc's glob.h, except with '#ifdef __GLOB_GNULIB'
9018         protecting things that should be done only in gnulib contexts.
9019         * lib/glob_.h: New file, containing only the glob things needed for
9020         gnulib.
9021         (GLOB_PREFIX): Remove.  All uses changed to look for __GLOB_GNULIB.
9022         (__GLOB_CONCAT, __GLOB_XCONCAT, __GLOB_ID): Remove; no longer needed.
9023         (glob, globfree, glob_pattern_p): Now defined simply in terms of
9024         rpl_glob, rpl_globfree, rpl_glob_pattern_p.
9025         (__GLOB_GNULIB): New macro, to keep the glob.h changes clearer
9026         and to respect the namespace rules better.
9027
9028 2005-09-08  Simon Josefsson  <jas@extundo.com>
9029
9030         * modules/socklen: New file.
9031
9032 2005-09-08  Simon Josefsson  <jas@extundo.com>
9033
9034         * m4/socklen.m4: New file.
9035
9036 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
9037
9038         * modules/utimens (Files): Add m4/utimbuf.m4, since
9039         m4/utimens.m4 requires gl_CHECK_TYPE_STRUCT_UTIMBUF.
9040         Reported by Sergey Poznyakoff.
9041
9042 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
9043
9044         * lib/glob.c (glob, globfree, __glob_pattern_p): Use old-style function
9045         definitions, since that's the preferred style in glibc.
9046         Fix a minor spacing issue, and update copyright notice to match
9047         glibc's.
9048
9049 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
9050
9051         * config/srclist.txt: Remove glibc bug 1061; it's been fixed.
9052
9053 2005-09-06  Simon Josefsson  <jas@extundo.com>
9054
9055         * lib/getpass.c (getpass): Fix typo, test for HAVE_TCSETATTR and not
9056         TCSETATTR.  Reported by Derek Price <derek@ximbiot.com>.
9057
9058 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
9059
9060         * lib/regex_internal.h (bitset_not): Add parens to avoid gcc -Wall
9061         warning.
9062
9063 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
9064
9065         * config/srclist.txt: Add glibc bug 1302.
9066
9067 2005-09-05  Paul Eggert  <eggert@cs.ucla.edu>
9068
9069         Change bitset word type from unsigned int to unsigned long int,
9070         as this has better performance on typical 64-bit hosts.
9071         Port bitset code to hosts with unusual word sizes.
9072         * lib/regcomp.c (build_equiv_class, build_charclass, build_range_exp):
9073         (build_collating_symbol):
9074         Prefer bitset to re_bitset_ptr_t in prototypes, when the actual
9075         argument is a bitset.  This is merely a style issue, but it makes
9076         it clearer that an entire array is expected.
9077         (re_compile_fastmap_iter, init_dfa, init_word_char, optimize_subexps):
9078         * lib/regcomp.c (lower_subexp, parse_bracket_exp, built_charclass_op):
9079         Port to the case where bitset_word is not the same as unsigned int.
9080         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
9081         (bitset_not, bitset_merge, bitset_set_all, bitset_mask):
9082         Likewise.
9083         * lib/regexec.c (check_dst_limits_calc_pos_1,
9084         check_subexp_matching_top):
9085         (build_trtable, group_nodes_into_DFAstates):
9086         Likewise.
9087         * lib/regcomp.c (re_compile_fastmap_iter, utf8_sb_map, optimize_utf8):
9088         Don't assume that SBC_MAX is a multiple of BITSET_WORD_BITS.
9089         * lib/regex_internal.h (bitset_set_all, bitset_not): Likewise.
9090         * lib/regexec.c (group_nodes_into_DFAstates): Likewise.
9091         * lib/regcomp.c (utf8_sb_map): Don't assume UINT_MAX == 0xffffffff.
9092         * lib/regcomp.c (optimize_subexps, lower_subexp):
9093         Work even if bitset_word has holes in its bitwise representation.
9094         * lib/regex_internal.h (BITSET_WORD_BITS): Likewise.
9095         * lib/regexec.c (check_dst_limits_calc_pos_1,
9096         check_subexp_matching_top):
9097         Likewise.
9098         * lib/regex_internal.c (re_string_reconstruct):
9099         Don't assume UCHAR_MAX == 255.
9100         * lib/regex_internal.h (bitset_set_all): Likewise.
9101         * lib/regex_internal.h (BITSET_WORD_BITS): Renamed from UINT_BITS.
9102         All uses changed.
9103         (BITSET_WORDS): Renamed from BITSET_UINTS.  All uses changed.
9104         (bitset_word): New type, replacing 'unsigned int' for bitset uses.
9105         All uses changed.
9106         (BITSET_WORD_MAX): New macro.
9107         (bitset_set, bitset_clear, bitset_contain, bitset_empty):
9108         (bitset_set_all, bitset_copy):  Now inline functions, not macros.
9109         (bitset_empty, bitset_copy):
9110         Prefer sizeof (bitset) to multiplying it out ourselves.
9111         (bitset_not_merge): Remove; unused.
9112         (bitset_contain): Return bool, not unsigned int with one bit on.
9113         All callers changed.
9114         * lib/regexec.c (build_trtable): Don't assume bitset has no stricter
9115         alignment than re_node_set; do this by defining a new internal
9116         type struct dests_alloc and using it to allocate memory.
9117
9118 2005-09-05  Bruno Haible  <bruno@clisp.org>
9119
9120         * gnulib-tool (func_import): Fix comparison in handling of symbolic
9121         links.
9122
9123 2005-09-04  Martin Lambers <marlam@marlam.de>  (tiny change)
9124
9125         * modules/size_max (Makefile.am): Add size_max.h
9126
9127 2005-09-04  Derek Price  <derek@ximbiot.com>
9128
9129         * gnulib-tool (func_import): Fix reversed $symbolic logic.
9130
9131 2005-09-03  Simon Josefsson  <jas@extundo.com>
9132
9133         * gnulib-tool: Fix typo.
9134
9135 2005-09-03  Simon Josefsson  <jas@extundo.com>
9136
9137         * config/srclist.txt: Add glibc bug 1293.
9138
9139 2005-09-03  Derek Price  <derek@ximbiot.com>
9140
9141         * m4/getlogin_r (gl_GETLOGIN_R): Fix cut & paste error.
9142         From Larry Jones <lawrence.jones@ugs.com>.
9143
9144 2005-09-02  Simon Josefsson  <jas@extundo.com>
9145
9146         * modules/socklen: New file.
9147
9148 2005-09-02  Simon Josefsson  <jas@extundo.com>
9149
9150         * modules/havelib: New module.
9151
9152         * modules/gettext, modules/iconv, modules/lock, modules/readline:
9153         Use havelib.
9154
9155 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
9156
9157         Check for arithmetic overflow when calculating sizes, to prevent
9158         some buffer-overflow issues.  These patches are conservative, in the
9159         sense that when I couldn't determine whether an overflow was possible,
9160         I inserted a run-time check.
9161         * lib/regex_internal.h (re_xmalloc, re_xrealloc, re_x2realloc): New
9162         macros.
9163         (SIZE_MAX) [!defined SIZE_MAX]: New macro.
9164         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc):
9165         (re_xnrealloc, re_x2nrealloc): New inline functions.
9166         * lib/regcomp.c (init_dfa, analyze, build_range_exp,
9167         parse_bracket_exp):
9168         (build_equiv_class, build_charclass): Check for arithmetic overflow
9169         in size expression calculations.
9170         * lib/regex_internal.c (re_string_realloc_buffers):
9171         (build_wcs_upper_buffer, re_node_set_add_intersect):
9172         (re_node_set_init_union, re_node_set_insert, re_node_set_insert_last):
9173         (re_dfa_add_node, register_state): Likewise.
9174         * lib/regexec.c (re_search_stub, re_copy_regs, re_search_internal):
9175         (prune_impossible_nodes, push_fail_stack, set_regs, check_arrival):
9176         (build_trtable, extend_buffers, match_ctx_init, match_ctx_add_entry):
9177         (match_ctx_add_subtop, match_ctx_add_sublast): Likewise.
9178
9179 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
9180
9181         * modules/inttostr (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
9182         m4/ulonglong.m4.  Problem reported by Martin Lambers.
9183
9184 2005-09-02  Bruno Haible  <bruno@clisp.org>
9185
9186         Support for lib vs. lib64 distinction on biarch platforms.
9187         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): New macro.
9188         (AC_LIB_PREFIX): Require it. Use $acl_libdirstem instead of 'lib'.
9189         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Likewise.
9190
9191 2005-09-02  Bruno Haible  <bruno@clisp.org>
9192
9193         * gnulib-tool (import): In the other first-use case, provide defaults
9194         as well.
9195
9196 2005-09-02  Bruno Haible  <bruno@clisp.org>
9197
9198         * config/srclist.txt: lib-link.m4 and lib-prefix.m4 currently have
9199         patches not yet found in the latest gettext release.
9200
9201 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
9202
9203         * lib/glob.c (GET_LOGIN_NAME_MAX): Renamed from LOGIN_NAME_MAX,
9204         to avoid a collision with bits/local_lim.h in glibc.
9205         All uses changed.  Problem reported by Dmitry V. Levin in
9206         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=1060>.
9207
9208         * lib/regex_internal.c (build_wcs_upper_buffer): Fix portability
9209         bugs in int versus size_t comparisons.
9210         (re_string_context_at): Fix bug where the code assumed that
9211         Idx is signed.
9212
9213         Use bool where appropriate.
9214         * lib/regcomp.c (re_set_fastmap): ICASE arg is bool, not int.
9215         All callers changed.
9216         (calc_eclosure_iter): Likewise, for ROOT arg.
9217         (parse_bracket_element): Likewise, for ACCEPT_HYPHEN arg.
9218         (build_charclass_op): Likewise, for NON_MATCH arg.
9219         * lib/regex_internal.c (re_string_allocate, re_string_construct):
9220         (re_string_construct_common): Likewise, for ICASE arg.
9221         * lib/regexec.c (re_search_2_stub, re_search_stub):
9222         Likewise, for RET_LEN arg.
9223         (check_matching): Likewise, for FL_LONGEST_MATCH arg.
9224         (set_regs): Likewise, for FL_BACKTRACK arg.
9225         * lib/regcomp.c (re_compile_fastmap_iter, optimize_utf8):
9226         (duplicate_node_closure, calc_inveclosure, calc_eclosure):
9227         (calc_eclosure_iter, parse_bracket_exp):
9228         Use bool for internal variables that are booleans.
9229         * lib/regexec.c (re_search_internal, check_matching,
9230         proceed_next_node):
9231         (set_regs, build_sifted_states, sift_states_bkref):
9232         (check_arrival_add_next_nodes, check_arrival_expand_ecl_sub):
9233         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
9234         (find_collation_sequence_value):
9235         Likewise.
9236         * lib/regex_internal.c (re_node_set_insert, re_node_set_insert_last):
9237         (re_node_set_compare):
9238         Return bool, not int. All callers changed.
9239         * lib/regexec.c (check_halt_node_context, check_dst_limits):
9240         (build_trtable, check_node_accept): Likewise.
9241         * lib/regex_internal.h: Include stdbool.h.
9242
9243         Fix bugs uncovered when converting to bool.
9244         * lib/regcomp.c (calc_eclosure_iter): Check for storage allocation
9245         failure instead of charging ahead blindly.
9246         * lib/regex_internal.c (register_state): Likewise.
9247         * lib/regexec.c (re_search_2_stub): Use simpler method than boolean
9248         for freeing internal storage.
9249         (group_nodes_into_DFA_states): Use unsigned int, not int, for
9250         bitset pieces used as boolean, to avoid undefined behavior
9251         on hosts that do int overflow checking.
9252
9253 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
9254
9255         * config/srclist.txt: Add glibc bugs 1285-1287.
9256
9257 2005-09-01  Jim Meyering  <jim@meyering.net>
9258
9259         * m4/lchown.m4: Require gl_FUNC_CHOWN, for the definition of
9260         CHOWN_MODIFIES_SYMLINK, which is used by lchown.c.
9261         Require gl_STAT_MACROS, too.
9262
9263 2005-09-01  Bruno Haible  <bruno@clisp.org>
9264
9265         * gnulib-tool (import): In the first-use case, provide defaults.
9266
9267 2005-09-01  Bruno Haible  <bruno@clisp.org>
9268
9269         * gnulib-tool (func_import): Remove the .tmp files.
9270
9271 2005-09-01  Bruno Haible  <bruno@clisp.org>
9272
9273         * gnulib-tool (func_import): Fix handling of symbolic links.
9274
9275 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
9276
9277         On 64-bit hosts (where size_t is 64 bits and int is 32 bits), the
9278         old glibc regex code mishandles strings longer than 2**31 bytes.
9279         This patch fixes this when the regex code is used in gnulib
9280         (i.e., outside glibc).
9281
9282         This patch should not affect the use of the regex code inside
9283         glibc.  No doubt this problem also needs to be handled for glibc
9284         as well, but the result will be an incompatible change to the
9285         glibc ABI, and the old ABI will have to be supported too.  That
9286         can be the the subject for another patch.
9287
9288         * lib/regex.h (_REGEX_LARGE_OFFSETS): New feature-test macro,
9289         governing whether the rest of this patch is active.  By default,
9290         the macro is disabled and the patch has no effect.
9291         (regoff_t) [defined _REGEX_LARGE_OFFSETS]: Define to off_t, not int.
9292         (__re_idx_t, __re_size_t, __re_long_size_t): New types.
9293         (struct re_pattern_buffer, re_search, re_search_2, re_match):
9294         (re_match_2, re_set_registers): Use the new types.
9295         * lib/regex_internal.h (Idx, re_hashval_t): New types.
9296         (REG_MISSING, REG_ERROR, REG_VALID_INDEX, REG_VALID_NONZERO_INDEX):
9297         New macros.
9298         (re_node_set, re_charset_t, re_token_t, re_string_realloc_buffers):
9299         (re_string_context_at, bin_tree_t, re_dfastate_t):
9300         (struct re_state_table_entry, state_array_t, re_sub_match_last_t):
9301         (re_sub_match_top_t, re_match_context_t, re_sift_context_t):
9302         (struct re_fail_stack_ent_t, struct re_fail_stack_t, struct re_dfa_t):
9303         (re_string_char_size_at, re_string_wchar_at):
9304         (re_string_elem_size_at):
9305         Use the new types and macros to port to 64-bit hosts.
9306         Use unsigned types for internal values, so that the code
9307         mostly works even for arrays larger than SSIZE_MAX.
9308         * lib/regcomp.c (re_compile_internal, init_dfa, duplicate_node):
9309         (search_duplicated_node, calc_eclosure_iter, fetch_number):
9310         (parse_reg_exp, parse_branch, parse_expression, parse_sub_exp):
9311         (build_equiv_class, build_charclass, re_compile_fastmap_iter):
9312         (free_dfa_content, create_initial_state, optimize_utf8, analyze):
9313         (optimize_subexps, calc_first, link_nfa_nodes, duplicate_node_closure):
9314         (calc_inveclosure, parse_dup_op, build_range_exp):
9315         (build_collating_symbol, parse_bracket_exp, build_charclass_op):
9316         (fetch_number, create_token_tree, mark_opt_subexp):
9317         Likewise.
9318         * lib/regex_internal.c (re_string_construct_common,
9319         create_ci_newstate):
9320         (create_cd_newstate, re_string_allocate, re_string_construct):
9321         (re_string_realloc_buffers, build_wcs_upper_buffer):
9322         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
9323         (re_string_reconstruct, re_string_peek_byte_case):
9324         (re_string_fetch_byte_case, re_string_context_at):
9325         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
9326         (re_node_set_init_copy, re_node_set_add_intersect):
9327         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
9328         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
9329         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
9330         (re_acquire_state, re_acquire_state_context, register_state):
9331         Likewise.
9332         * lib/regex.c (match_ctx_init, match_ctx_add_entry,
9333         search_cur_bkref_entry):
9334         (match_ctx_add_subtop, match_ctx_add_sublast, sift_ctx_init):
9335         (re_search_internal, re_search_2_stub, re_search_stub)
9336         (re_copy_regs, check_matching, check_halt_state_context, update_regs):
9337         (push_fail_stack, sift_states_iter_mb, build_sifted_states):
9338         (update_cur_sifted_state, check_dst_limits):
9339         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
9340         (check_subexp_limits, sift_states_bkref, merge_state_array):
9341         (check_subexp_matching_top, get_subexp, get_subexp_sub):
9342         (find_subexp_node, check_arrival, check_arrival_add_next_nodes):
9343         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
9344         (expand_bkref_cache, check_node_accept_bytes):
9345         (group_nodes_into_DFAstates, check_node_accept, regexec, re_match):
9346         (re_search, re_match_2, re_search_2, prune_impossible_nodes):
9347         (acquire_init_state_context, check_halt_node_context):
9348         (proceed_next_node, pop_fail_stack, set_regs, free_fail_stack_return):
9349         (sift_states_backward, clean_state_log_if_needed):
9350         (sub_epsilon_src_nodes, add_epsilone_src_nodes, merge_state_with_log):
9351         (find_recover_state, transit_state_sb, transit_state_mb):
9352         (transit_state_bkref, build_trtable, match_ctx_clean):
9353         Likewise.
9354         * lib/regcomp.c (parse_dup_op): Add an extra test if Idx is unsigned,
9355         to work around an assumption that REG_MISSING is negative.
9356
9357         * lib/regcomp.c (re_comp) [defined _REGEX_RE_COMP || defined _LIBC]:
9358         (seek_collating_symbol_entry) [defined _LIBC]:
9359         (lookup_collation_sequence_value) [defined _LIBC]:
9360         (build_range_exp, build_collating_symbol) [defined _LIBC]:
9361         Use prototypes rather than old-style function definitions.
9362         * lib/regexec.c (re_exec) [defined _REGEX_RE_COMP || defined _LIBC]:
9363         (transit_state_sb) [0]:
9364         (find_collation_sequence_value) [defined _LIBC]: Likewise.
9365
9366         * lib/regexec.c (re_search_internal): Simplify update of rm_so and
9367         rm_eo.
9368
9369         * lib/regcomp.c (re_compile_fastmap_iter, init_dfa, init_word_char):
9370         (optimize_subexps, lower_subexp):
9371         Don't assume 1<<31 has defined behavior on hosts with 32-bit int,
9372         since the signed shift might overflow.  Use 1u<<31 instead.
9373         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
9374         Likewise.
9375         * lib/regexec.c (check_dst_limits_calc_pos_1,
9376         check_subexp_matching_top): Likewise.
9377
9378         * lib/regcomp.c (optimize_subexps, lower_subexp):
9379         Use CHAR_BIT rather than 8, for clarity.
9380         * lib/regexec.c (check_dst_limits_calc_pos_1):
9381         (check_subexp_matching_top): Likewise.
9382         * lib/regcomp.c (init_dfa): Make table_size unsigned, so that we don't
9383         have to worry about portability issues when shifting it left.
9384         Remove no-longer-needed test for table_size > 0.
9385         * lib/regcomp.c (parse_sub_exp): Do not shift more bits than there are
9386         in a word, as the resulting behavior is undefined.
9387         * lib/regexec.c (check_dst_limits_calc_pos_1): Likewise;
9388         in one case, a <= should have been an <, and in another case the
9389         whole test was missing.
9390         * lib/regex_internal.h (BYTE_BITS): Remove.  All uses changed to
9391         the standard name CHAR_BIT.
9392         * lib/regexec.c (match_ctx_add_entry): Don't assume that ~0 == -1;
9393         this is not true on one's complement and signed-magnitude hosts.
9394
9395         * lib/regex_internal.h (re_sub_match_top_t): Remove unused member
9396         next_last_offset.
9397         (struct re_dfa_t): Remove unused member states_alloc.
9398         * lib/regcomp.c (init_dfa): Don't initialize unused members.
9399
9400 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
9401
9402         * m4/regex.m4 (gl_REGEX): Require AC_SYS_LARGEFILE, Define
9403         _REGEX_LARGE_OFFSETS).  Test for regoff_t/off_t bug in 64-bit
9404         and large-file glibc and in 32-bit large-file Solaris.
9405
9406 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
9407
9408         * lib/regex_internal.c (re_string_reconstruct): Don't assume buffer
9409         lengths fit in regoff_t; this isn't true if regoff_t is the same
9410         width as size_t.
9411         * lib/regex.c (re_search_internal): 5th arg is LAST_START
9412         (= START + RANGE) instead of RANGE.  This avoids overflow
9413         problems when regoff_t is the same width as size_t.
9414         All callers changed.
9415         (re_search_2_stub): Check for overflow when adding the
9416         sizes of the two strings.
9417         (re_search_stub): Check for overflow when adding START
9418         to RANGE; if it occurs, substitute the extreme value.
9419
9420 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
9421
9422         * config/srclist.txt: Add glibc bugs 1273, 1278-1282, 1284.
9423
9424 2005-08-31  Jim Meyering  <jim@meyering.net>
9425
9426         * lib/regcomp.c (search_duplicated_node): Make first pointer arg
9427         a pointer-to-const.
9428         * lib/regex_internal.c (create_ci_newstate, create_cd_newstate):
9429         (register_state): Likewise.
9430         * lib/regexec.c (search_cur_bkref_entry, check_dst_limits):
9431         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
9432         (group_nodes_into_DFAstates): Likewise.
9433
9434 2005-08-31  Jim Meyering  <jim@meyering.net>
9435
9436         * check-module: Add a FIXME comment.
9437
9438 2005-08-31  Eric Blake  <ebb9@byu.net>
9439
9440         * modules/unistd-safer (Files): Add unistd--.h.
9441         * modules/stdio-safer (Files): Add stdio--.h.
9442
9443 2005-08-31  Derek Price  <derek@ximbiot.com>
9444
9445         * lib/getdelim.c (getdelim): Return EOF on EOF.
9446         Reported by Larry Jones <lawrence.jones@ugs.com>.
9447
9448 2005-08-31  Bruno Haible  <bruno@clisp.org>
9449
9450         Avoid unnecessary diffs in the generated lib/Makefile.am.
9451         * gnulib-tool (func_emit_lib_Makefile_am): Don't write the cmd into
9452         the generated files.
9453         (func_import): Don't set cmd.
9454
9455 2005-08-31  Bruno Haible  <bruno@clisp.org>
9456
9457         * lib/strstr.c: Include <stddef.h>, for NULL.
9458         * lib/strcasestr.c: Likewise.
9459         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
9460
9461 2005-08-31  Bruno Haible  <bruno@clisp.org>
9462
9463         * gnulib-tool: New option --macro-prefix.
9464         (func_import): Use macro_prefix.
9465         (import): Handle option --macro-prefix.
9466
9467 2005-08-31  Bruno Haible  <bruno@clisp.org>
9468
9469         * gnulib-tool (import): Rename most ac_* variables to cached_*.
9470         Also use new variables cached_lgpl, cached_libtool.
9471
9472 2005-08-31  Bruno Haible  <bruno@clisp.org>
9473
9474         * gnulib-tool (func_import): Require AC_GNU_SOURCE etc. instead of
9475         always instantiating them.
9476
9477 2005-08-31  Bruno Haible  <bruno@clisp.org>
9478
9479         * gnulib-tool (func_import): Read the previous cached settings
9480         from gnulib-cache.m4 and gnulib-comp.m4. Remove files that were
9481         earlier added by gnulib but are now dropped. Warn when a gnulib file
9482         overwrites a non-gnulib file.
9483
9484 2005-08-31  Bruno Haible  <bruno@clisp.org>
9485
9486         * gnulib-tool (func_import): Generate two files gnulib-cache.m4 and
9487         gnulib-comp.m4 instead of a single gnulib.m4, to make it easy for
9488         projects that don't keep autogenerated files in CVS. Put into
9489         actioncmd only the specified modules, not the transitive closure.
9490
9491 2005-08-31  Bruno Haible  <bruno@clisp.org>
9492
9493         * gnulib-tool (func_import): Fix defaulting of $libname and $libtool.
9494         Create directories that shall be filled.
9495         (import): Don't look for gl_* macros in configure.ac. Recurse across
9496         all directories containing a gnulib-cache.m4 files, if meaningful.
9497
9498 2005-08-31  Bruno Haible  <bruno@clisp.org>
9499
9500         * gnulib-tool (func_import): Emit also a stub for gl_LIBTOOL.
9501         (import): Set seen_libtool when we see gl_LIBTOOL.
9502
9503 2005-08-31  Bruno Haible  <bruno@clisp.org>
9504
9505         * gnulib-tool (func_import): Also copy m4/gnulib-tool.m4. Omit
9506         declaration macro definitions from generated gnulib.m4.
9507
9508 2005-08-30  "Oskar Liljeblad" <oskar@osk.mine.nu>
9509
9510         * lib/iconvme.h: Add prototype for iconv_alloc.
9511
9512 2005-08-29  Simon Josefsson  <jas@extundo.com>
9513
9514         * lib/iconvme.c: Fix errno.
9515
9516 2005-08-29  Bruno Haible  <bruno@clisp.org>
9517
9518         * gnulib-tool: Enclose all occurrences of $destdir in "...", so
9519         that it works when the directory contains spaces.
9520
9521 2005-08-29  Bruno Haible  <bruno@clisp.org>
9522
9523         * gnulib-tool (import): Avoid unnecessary spaces in $avoidlist.
9524
9525 2005-08-29  Bruno Haible  <bruno@clisp.org>
9526
9527         * gnulib-tool (func_import): Emit more comments into gnulib.m4.
9528         Emit more advice.
9529
9530 2005-08-29  Bruno Haible  <bruno@clisp.org>
9531         and Stepan Kasal  <kasal@ucw.cz>
9532
9533         * check-module: If more parameters are given, check each of them
9534         separately; add more exceptions, as noted by Jim Meyering.
9535         (check_module): New procedure.
9536         (%exempt_header): Now contains all exceptions.
9537
9538 2005-08-29  Ben Pfaff  <blp@cs.stanford.edu>
9539
9540         * modules/byteswap (Makefile.am): Fix rule to not assume GNU make.
9541
9542 2005-08-29  "Oskar Liljeblad" <oskar@osk.mine.nu>
9543
9544         * lib/iconvme.c: Split iconv_string into iconv_alloc.
9545
9546 2005-08-28  Bruno Haible  <bruno@clisp.org>
9547
9548         * m4/gnulib-tool.m4: New file.
9549
9550 2005-08-27  Jim Meyering  <jim@meyering.net>
9551
9552         * modules/unistd-safer (Files): Add pipe-safer.c.
9553         * modules/fcntl-safer (Files): Add creat-safer.c.
9554
9555 2005-08-27  Jim Meyering  <jim@meyering.net>
9556
9557         * m4/stdlib-safer.m4: New file.  From coreutils.
9558         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add stdio--.h.
9559         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Add creat-safer.c to the
9560         AC_LIBSOURCES list and arrange to compile it via AC_LIBOBJ.
9561         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise, add pipe-safer.c.
9562         Add pipe-safer.c and unistd--.h to the AC_LIBSOURCES list.
9563
9564 2005-08-27  Jim Meyering  <jim@meyering.net>
9565
9566         * lib/fopen-safer.c: Merge minor changes from coreutils.
9567         * lib/dup-safer.c: Likewise.
9568         * lib/fd-safer.c: Likewise.
9569
9570         Merge from coreutils.
9571         * lib/stdio--.h: New file.
9572         * lib/stdlib--.h: New file.
9573         * lib/mkstemp-safer.c: New file.
9574
9575         GNU tar needs these.
9576         * lib/pipe-safer.c: New file.
9577         * lib/creat-safer.c: New file.
9578         * lib/fcntl--.h (creat): Define to creat_safer.
9579         * lib/fcntl-safer.h: Include <sys/types.h> and declare creat_safer.
9580         * lib/unistd--.h (pipe): Define to pipe_safer.
9581         * lib/unistd-safer.h: Declare pipe_safer.
9582
9583 2005-08-26  Simon Josefsson  <jas@extundo.com>
9584
9585         * lib/getpass.c: Use _WIN32 instead of WIN32, suggested by Bruno
9586         Haible <bruno@clisp.org>.
9587
9588 2005-08-26  Paul Eggert  <eggert@cs.ucla.edu>
9589
9590         * lib/regex_internal.h: Remove all references to
9591         RE_NO_INTERNAL_PROTOTYPES; no longer neeeded now that we assume C89
9592         or better.
9593         (bitset_not, bitset_merge, bitset_not_merge):
9594         (bitset_mask, re_string_allocate, re_string_construct):
9595         (re_string_reconstruct, re_string_destruct, re_string_elem_size_at):
9596         (re_string_char_size_at, re_string_wchar_at, re_string_peek_byte_case):
9597         (re_string_fetch_byte_case, re_node_set_alloc, re_node_set_init_1):
9598         (re_node_set_init_2, re_node_set_init_copy, re_node_set_add_intersect):
9599         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
9600         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
9601         (re_node_set_remove_at, re_dfa_add_node, re_acquire_state):
9602         (re_acquire_state_context):
9603         Remove unnecessary forward decls.
9604         (re_string_char_size_at, re_string_wchar_at, re_string_elem_size_at):
9605         Put __attribute at function definition,
9606         now that the function decl has been removed.
9607         * lib/regex_internal.c (re_string_peek_byte_case):
9608         (re_string_fetch_byte_case, re_node_set_compare, re_node_set_contains):
9609         Likewise.
9610
9611 2005-08-25  Stepan Kasal  <kasal@ucw.cz>
9612
9613         * m4/regex.m4: Add AC_PREREQ(2.50).
9614         (gl_REGEX): If --with-included-regex was given, skip the autodetection.
9615
9616 2005-08-25  Simon Josefsson  <jas@extundo.com>
9617
9618         * m4/getpass.m4: Check for termios.h, tcgetattr, tcsetattr, and
9619         __fsetlocking.
9620
9621 2005-08-25  Simon Josefsson  <jas@extundo.com>
9622
9623         * lib/getpass.c: Add WIN32 implementation.  Conditionalize use of
9624         termios.h, tcgetattr, tcsetattr and __fsetlocking.  Remove some
9625         GLIBC specific code.
9626
9627 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
9628
9629         Make regex safe for g++.  This fixes one real bug (an "err"
9630         that should have been "*err").  g++ problem reported by
9631         Sam Steingold.
9632         * lib/regex_internal.h (re_calloc): New macro, consistent with
9633         re_malloc etc.  All callers of calloc changed to use re_calloc.
9634         * lib/regex_internal.c (build_wcs_upper_buffer): Return reg_errcode_t,
9635         not int.  All callers changed.
9636         * lib/regcomp.c (re_compile_fastmap_iter): Don't use
9637         alloca (mb_cur_max); just use an array of size MB_LEN_MAX.
9638         * lib/regexec.c (push_fail_stack): Use re_realloc, not realloc.
9639         (find_recover_state): Change "err" to "*err"; this fixes what
9640         appears to be a real bug.
9641         (check_arrival_expand_ecl_sub): Be consistent about reg_errcode_t
9642         versus int.
9643
9644 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
9645
9646         * modules/regex (Depends-on): Add malloc, since the code
9647         assumes that !malloc(0) means failure.
9648
9649 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
9650
9651         * lib/regexec.c (set_regs): Don't alloca with an unbounded size.
9652
9653         alloca modernization/simplification for regex.
9654         * lib/regex.c: Remove portability cruft for alloca.  This no longer
9655         needs to be at the start of the file, and can be moved into
9656         regex_internal.h and simplified.
9657         * lib/regex_internal.h: Include <alloca.h>.
9658         (__libc_use_alloca) [!defined _LIBC]: New macro.
9659         * lib/regexec.c (build_trtable): Remove "#ifdef _LIBC", since the code
9660         now works outside glibc.
9661
9662 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
9663
9664         * config/srclist.txt: Add glibc bugs 1241, 1245.
9665
9666 2005-08-25  Jim Meyering  <jim@meyering.net>
9667
9668         * lib/open-safer.c: Include <config.h>.
9669         Otherwise, we'd lose LARGEFILE support in any file using
9670         e.g. "fcntl--.h"
9671
9672 2005-08-25  Bruno Haible  <bruno@clisp.org>
9673
9674         * m4/minmax.m4: Require autoconf 2.52.
9675         (gl_MINMAX_IN_HEADER): Add comments. Use m4_pushdef/m4_popdef instead
9676         of define/undefine. Use AS_TR_SH and AS_TR_CPP as more robust
9677         alternatives of translit over the alphabet.
9678         Based on a patch from Stepan Kasal <kasal@ucw.cz>.
9679
9680 2005-08-24  Simon Josefsson  <jas@extundo.com>
9681
9682         * tests/test-getpass.c: New file.
9683
9684 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
9685
9686         * m4/regex.m4 (gl_REGEX): Use POSIX-compliant spellings when testing
9687         for GNU regex features.
9688
9689 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
9690
9691         * lib/regcomp.c (regerror): 2nd arg is 'restrict', as per POSIX.
9692         * lib/regex.h (regerror): Likewise.
9693
9694         * lib/regex.c: Do not include <sys/types.h>, as POSIX no longer
9695         requires this.  (The code never needed it.)
9696
9697         * lib/regcomp.c, regex_internal.c, regex_internal.h, regexec.c:
9698         All uses of recently-renamed identifiers changed to use the new,
9699         POSIX-compliant names.  The code will build and run just fine
9700         without these changes, but it's better to eat our own dog food
9701         and use the standard-conforming names.
9702
9703         * lib/regex.h: Fix a multitude of POSIX name space violations.
9704         These changes have an effect only for programs that define
9705         _POSIX_C_SOURCE, _POSIX_SOURCE, or _XOPEN_SOURCE; they
9706         do not change anything for programs compiled in the normal way.
9707         Also, there is no effect on the ABI.
9708
9709         (_REGEX_SOURCE): New macro.
9710         Do not include <stddef.h> if _XOPEN_SOURCE and VMS are both
9711         defined and _GNU_SOURCE is not; this fixes a name space violation.
9712
9713         Rename the following macros to obey POSIX requirements.
9714         The old names are still visible as macros if _REGEX_SOURCE is defined.
9715         (REG_BACKSLASH_ESCAPE_IN_LISTS): renamed from
9716         RE_BACKSLASH_ESCAPE_IN_LISTS.
9717         (REG_BK_PLUS_QM): renamed from RE_BK_PLUS_QM.
9718         (REG_CHAR_CLASSES): renamed from RE_CHAR_CLASSES.
9719         (REG_CONTEXT_INDEP_ANCHORS): renamed from RE_CONTEXT_INDEP_ANCHORS.
9720         (REG_CONTEXT_INDEP_OPS): renamed from RE_CONTEXT_INDEP_OPS.
9721         (REG_CONTEXT_INVALID_OPS): renamed from RE_CONTEXT_INVALID_OPS.
9722         (REG_DOT_NEWLINE): renamed from RE_DOT_NEWLINE.
9723         (REG_DOT_NOT_NULL): renamed from RE_DOT_NOT_NULL.
9724         (REG_HAT_LISTS_NOT_NEWLINE): renamed from RE_HAT_LISTS_NOT_NEWLINE.
9725         (REG_INTERVALS): renamed from RE_INTERVALS.
9726         (REG_LIMITED_OPS): renamed from RE_LIMITED_OPS.
9727         (REG_NEWLINE_ALT): renamed from RE_NEWLINE_ALT.
9728         (REG_NO_BK_BRACES): renamed from RE_NO_BK_BRACES.
9729         (REG_NO_BK_PARENS): renamed from RE_NO_BK_PARENS.
9730         (REG_NO_BK_REFS): renamed from RE_NO_BK_REFS.
9731         (REG_NO_BK_VBAR): renamed from RE_NO_BK_VBAR.
9732         (REG_NO_EMPTY_RANGES): renamed from RE_NO_EMPTY_RANGES.
9733         (REG_UNMATCHED_RIGHT_PAREN_ORD): renamed from
9734         RE_UNMATCHED_RIGHT_PAREN_ORD.
9735         (REG_NO_POSIX_BACKTRACKING): renamed from RE_NO_POSIX_BACKTRACKING.
9736         (REG_NO_GNU_OPS): renamed from RE_NO_GNU_OPS.
9737         (REG_DEBUG): renamed from RE_DEBUG.
9738         (REG_INVALID_INTERVAL_ORD): renamed from RE_INVALID_INTERVAL_ORD.
9739         (REG_IGNORE_CASE): renamed from RE_ICASE.  This renaming is a bit
9740         unusual, since we can't clash with the POSIX REG_ICASE.
9741         (REG_CARET_ANCHORS_HERE): renamed from RE_CARET_ANCHORS_HERE.
9742         (REG_CONTEXT_INVALID_DUP): renamed from RE_CONTEXT_INVALID_DUP.
9743         (REG_NO_SUB): renamed from RE_NO_SUB.
9744         (REG_SYNTAX_EMACS): renamed from RE_SYNTAX_EMACS.
9745         (REG_SYNTAX_AWK): renamed from RE_SYNTAX_AWK.
9746         (REG_SYNTAX_GNU_AWK): renamed from RE_SYNTAX_GNU_AWK.
9747         (REG_SYNTAX_POSIX_AWK): renamed from RE_SYNTAX_POSIX_AWK.
9748         (REG_SYNTAX_GREP): renamed from RE_SYNTAX_GREP.
9749         (REG_SYNTAX_EGREP): renamed from RE_SYNTAX_EGREP.
9750         (REG_SYNTAX_POSIX_EGREP): renamed from RE_SYNTAX_POSIX_EGREP.
9751         (REG_SYNTAX_ED): renamed from RE_SYNTAX_ED.
9752         (REG_SYNTAX_SED): renamed from RE_SYNTAX_SED.
9753         (_REG_SYNTAX_POSIX_COMMON): renamed from _RE_SYNTAX_POSIX_COMMON.
9754         (REG_SYNTAX_POSIX_BASIC): renamed from RE_SYNTAX_POSIX_BASIC.
9755         (REG_SYNTAX_POSIX_MINIMAL_BASIC): renamed from
9756         RE_SYNTAX_POSIX_MINIMAL_BASIC.
9757         (REG_SYNTAX_POSIX_EXTENDED): renamed from RE_SYNTAX_POSIX_EXTENDED.
9758         (REG_SYNTAX_POSIX_MINIMAL_EXTENDED): renamed from
9759         RE_SYNTAX_POSIX_MINIMAL_EXTENDED.
9760         (REG_DUP_MAX): renamed from RE_DUP_MAX.  No need to undef it.
9761         (REG_UNALLOCATED): Renamed from REGS_UNALLOCATED.
9762         (REG_REALLOCATE): Renamed from REGS_REALLOCATE.
9763         (REG_FIXED): Renamed from REGS_FIXED.
9764         (REG_NREGS): Renamed from RE_NREGS.
9765
9766         (REG_ICASE, REG_NEWLINE, REG_NOSUB): Do not depend on the values
9767         of other REG_* macros, since POSIX says the user is allowed to
9768         #undef these macros selectively.
9769
9770         (reg_errcode_t): Update comment stating what other tables need
9771         to be consistent.
9772
9773         Rename the following enum values to obey POSIX requirements.
9774         The old names are still visible as macros.
9775         (_REG_ENOSYS): Renamed from REG_ENOSYS.  Define even if _XOPEN_SOURCE
9776         is not defined, since GNU is supposed to be a superset of POSIX as
9777         much as possible, and since we want reg_errcode_t to be a signed
9778         type for implementation consistency.
9779         (_REG_NOERROR): Renamed from REG_NOERROR.
9780         (_REG_NOMATCH): Renamed from REG_NOMATCH.
9781         (_REG_BADPAT): Renamed from REG_BADPAT.
9782         (_REG_ECOLLATE): Renamed from REG_ECOLLATE.
9783         (_REG_ECTYPE): Renamed from REG_ECTYPE.
9784         (_REG_EESCAPE): Renamed from REG_EESCAPE.
9785         (_REG_ESUBREG): Renamed from REG_ESUBREG.
9786         (_REG_EBRACK): Renamed from REG_EBRACK.
9787         (_REG_EPAREN): Renamed from REG_EPAREN.
9788         (_REG_EBRACE): Renamed from REG_EBRACE.
9789         (_REG_BADBR): Renamed from REG_BADBR.
9790         (_REG_ERANGE): Renamed from REG_ERANGE.
9791         (_REG_ESPACE): Renamed from REG_ESPACE.
9792         (_REG_BADRPT): Renamed from REG_BADRPT.
9793         (_REG_EEND): Renamed from REG_EEND.
9794         (_REG_ESIZE): Renamed from REG_ESIZE.
9795         (_REG_ERPAREN): Renamed from REG_ERPAREN.
9796         (REG_ENOSYS, REG_NOERROR, REG_NOMATCH, REG_BADPAT, REG_ECOLLATE):
9797         (REG_ECTYPE, REG_EESCAPE, REG_ESUBREG, REG_EBRACK, REG_EPAREN):
9798         (REG_EBRACE, REG_BADBR, REG_ERANGE, REG_ESPACE, REG_BADRPT, REG_EEND):
9799         (REG_ESIZE, REG_ERPAREN): Now macros, not enum constants.
9800
9801         (_REG_RE_NAME, _REG_RM_NAME): New macros.
9802         (REG_TRANSLATE_TYPE): Renamed from RE_TRANSLATE_TYPE.  All uses
9803         changed.  But support the old name if the new one is not defined
9804         and if _REGEX_SOURCE.
9805
9806         Change the following member names in struct re_pattern_buffer.
9807         The old names are still supported if !_REGEX_SOURCE.
9808         The new names are always supported, regardless of _REGEX_SOURCE.
9809         (re_buffer): Renamed from buffer.
9810         (re_allocated): Renamed from allocated.
9811         (re_used): Renamed from used.
9812         (re_syntax): Renamed from syntax.
9813         (re_fastmap): Renamed from fastmap.
9814         (re_translate): Renamed from translate.
9815         (re_can_be_null): Renamed from can_be_null.
9816         (re_regs_allocated): Renamed from regs_allocated.
9817         (re_fastmap_accurate): Renamed from fastmap_accurate.
9818         (re_no_sub): Renamed from no_sub.
9819         (re_not_bol): Renamed from not_bol.
9820         (re_not_eol): Renamed from not_eol.
9821         (re_newline_anchor): Renamed from newline_anchor.
9822
9823         Change the following member names in struct re_registers.
9824         The old names are still supported if !_REGEX_SOURCE.
9825         The new names are always supported, regardless of _REGEX_SOURCE.
9826         (rm_num_regs): Renamed from num_regs.
9827         (rm_start): Renamed from start.
9828         (rm_end): Renamed from end.
9829
9830         (re_set_syntax, re_compile_pattern, re_compile_fastmap):
9831         (re_search, re_search_2, re_match, re_match_2, re_set_registers):
9832         Prepend __ to parameter names.
9833
9834         Undo yesterday's changes.
9835
9836 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
9837
9838         * config/srclist.txt: Remove glibc bug 1233 and add 1236, which
9839         supersedes it. Add glibc bugs 1237, 1238, 1240.  Comment out
9840         lib/regex.c.
9841
9842 2005-08-24  Jim Meyering  <jim@meyering.net>
9843
9844         Sync from coreutils.
9845         * m4/fcntl-safer.m4: New file.
9846
9847         * m4/xgetcwd.m4: Use AC_LIBSOURCES and AC_LIBOBJ to indicate source
9848         and object files for this module.
9849
9850 2005-08-24  Jim Meyering  <jim@meyering.net>
9851
9852         Sync from coreutils.
9853         * lib/fcntl--.h, lib/fcntl-safer.h, lib/open-safer.c: New files.
9854
9855 2005-08-24  Jim Meyering  <jim@meyering.net>
9856
9857         * modules/xgetcwd (Makefile.am): Remove `lib_SOURCES += ...' line,
9858         now that xgetcwd.m4 requires xgetcwd.c and xgetcwd.h.
9859
9860 2005-08-24  Jim Meyering  <jim@meyering.net>
9861
9862         * modules/fcntl-safer: New module.
9863         * modules/fts (Depends-on): Add fcntl-safer.
9864         * MODULES.html.sh (File descriptor based Input/Output):
9865         Add fcntl-safer.
9866
9867 2005-08-24  Bruno Haible  <bruno@clisp.org>
9868
9869         Support for unit test modules.
9870         * modules/README: Mention tests modules.
9871         * modules/TEMPLATE-TESTS: New file.
9872         * gnulib-tool: New options --extract-tests-module, --with-tests and
9873         --tests-base (unused for the moment).
9874         (testsbase, inctests): New variables.
9875         (func_all_modules): Exclude TEMPLATE-TESTS and *-tests.
9876         (func_verify_module): Exclude TEMPLATE-TESTS.
9877         (func_verify_nontests_module, func_verify_tests_module): New functions.
9878         (func_get_dependencies): Add implicit dependency for tests modules.
9879         (func_get_tests_module): New function.
9880         (func_modules_transitive_closure): When --with-tests was specified,
9881         include the unit tests as well, unless explicitly avoided.
9882         (func_emit_lib_Makefile_am): Ignore the tests modules here.
9883         (func_emit_tests_Makefile_am): New function.
9884         (func_create_testdir): When --with-tests was specified, emit a
9885         tests/ directory.
9886         * MODULES.html.sh (Future developments): Update.
9887
9888 2005-08-24  Bruno Haible  <bruno@clisp.org>
9889
9890         * modules/tls-tests: New file.
9891         * tests/test-tls.c: New file, from GNU gettext.
9892
9893 2005-08-24  Bruno Haible  <bruno@clisp.org>
9894
9895         * modules/lock-tests: New file.
9896         * tests/test-lock.c: New file, from GNU gettext.
9897
9898 2005-08-24  Bruno Haible  <bruno@clisp.org>
9899
9900         * lib/lock.h: Add multiple inclusion guard.
9901         * lib/tls.h: Add multiple inclusion guard.
9902
9903 2005-08-24  Bruno Haible  <bruno@clisp.org>
9904
9905         * gnulib-tool: Add support for the --aux-dir option to
9906         --create-testdir, --create-megatestdir, --test, --megatest.
9907         (func_create_testdir, func_create_megatestdir): Optionally emit a
9908         AC_CONFIG_AUX_DIR directive.
9909         (create-testdir, create-megatestdir, test, megatest): Provide a
9910         default value for $auxdir.
9911
9912 2005-08-24  Bruno Haible  <bruno@clisp.org>
9913
9914         * gnulib-tool (import): Use compound statement instead of subshell
9915         where possible.
9916
9917 2005-08-24  Bruno Haible  <bruno@clisp.org>
9918
9919         * gnulib-tool (import): Change --aux-dir default to "build-aux".
9920
9921 2005-08-24  Bruno Haible  <bruno@clisp.org>
9922
9923         * gnulib-tool (func_version): Update.
9924
9925 2005-08-24  Bruno Haible  <bruno@clisp.org>
9926
9927         * gnulib-tool (func_import, func_create_testdir,
9928         func_create_megatestdir): Quote all autoconf macro arguments.
9929
9930 2005-08-24  Bruno Haible  <bruno@clisp.org>
9931
9932         * gnulib-tool (func_create_megatestdir): Call autoreconf without the
9933         option --force, because --force causes the aclocal.m4 of each
9934         subdirectory to be newer than the corresponding config.h.in.
9935
9936 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
9937
9938         * m4/regex.m4 (gl_INCLUDED_REGEX): Remove; no longer used.
9939         All contents moved to gl_REGEX.
9940         (gl_REGEX): Don't bother checking whether lib/regex.c exists;
9941         assume that it does.
9942
9943 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
9944
9945         * lib/regex.h (REG_NOSYS)
9946         [!defined _XOPEN_SOURCE && 200112L <= _POSIX_C_SOURCE]:
9947         Define, since POSIX requires it as of 2001.
9948         (_REG_ENOSYS)
9949         [! (defined _XOPEN_SOURCE || 200112L <= _POSIX_C_SOURCE)]:
9950         New private symbol, used to keep the enum signed in all cases.
9951         * lib/regex.h (RE_NO_EMPTY_RANGES): Fix doc bug reported by James
9952         Youngman in
9953         <http://lists.gnu.org/archive/html/bug-gnulib/2005-07/msg00132.html>.
9954
9955         * lib/regex_internal.c (re_string_skip_chars, register_state):
9956         (calc_state_hash):
9957         Remove forward decls; no longer needed now that we use prototypes.
9958         * lib/regexec.c (acquire_init_state_context, check_halt_node_context):
9959         (proceed_next_node, pop_fail_stack, sub_epsilon_src_nodes):
9960         (clean_state_log_if_needed): Likewise.
9961
9962 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
9963
9964         * config/srclist.txt: Add glibc bugs 1231-1233.
9965
9966 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
9967
9968         Fix problems reported by Sam Steingold in
9969         <http://lists.gnu.org/archive/html/bug-gnulib/2005-08/msg00007.html>.
9970         * lib/regexec.c (sift_states_bkref): Fix portability bug: the code
9971         assumed that reg_errcode_t is a signed type, which is not
9972         necessarily true if _XOPEN_SOURCE is not defined.
9973         * lib/regex_internal.c (calc_state_hash): Put 'inline' before type,
9974         since some compilers warn about it otherwise.
9975
9976 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
9977
9978         * lib/regcomp.c (create_initial_state): Remove duplicate decl.
9979         (init_word_char, create_initial_state, duplicate_node_closure):
9980         (fetch_token, peek_token_bracket, build_range_exp):
9981         (build_collating_symbol): Remove forward decls; no longer needed
9982         now that we use prototypes.
9983
9984         * lib/regcomp.c:
9985         (re_compile_pattern, re_set_syntax, re_compile_fastmap):
9986         (re_compile_fastmap_iter, regcomp, regerror, regfree):
9987         (re_compile_internal, init_dfa, init_word_char, free_workarea_compile):
9988         (create_initial_state, optimize_utf8, analyze, postorder, preorder):
9989         (optimize_subexps, lower_subexps, lower_subexp, calc_first, calc_next):
9990         (link_nfa_nodes, duplicate_node_closure, search_duplicated_node):
9991         (duplicate_node, calc_inveclosure, calc_eclosure, calc_eclosure_iter):
9992         (fetch_token, peek_token, peek_token_bracket, parse, parse_reg_exp):
9993         (parse_branch, parse_expression, parse_sub_exp, parse_dup_op):
9994         (build_range_exp, build_collating_symbol, parse_bracket_exp):
9995         (parse_bracket_element, parse_bracket_symbol, build_equiv_class):
9996         (build_charclass, build_charclass_op, fetch_number, create_tree):
9997         (create_token_tree, mark_opt_subexp, duplicate_tree):
9998         Use prototypes rather than old-style definitions.
9999
10000         * lib/regex_internal.c:
10001         (re_string_allocate, re_string_construct, re_string_realloc_buffers):
10002         (re_string_construct_common, build_wcs_buffer, build_wcs_upper_buffer):
10003         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
10004         (re_string_reconstruct, re_string_peek_byte_case):
10005         (re_string_fetch_byte_case, re_string_destruct, re_string_context_at):
10006         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
10007         (re_node_set_init_copy, re_node_set_add_intersect):
10008         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
10009         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
10010         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
10011         (re_acquire_state, re_acquire_state_context, register_state):
10012         (create_ci_newstate, create_cd_newstate, free_state):
10013         Likewise.
10014         * lib/regexec.c (regexec, re_match, re_search, re_match_2,
10015         re_search_2):
10016         (re_search_2_stub, re_search_stub, re_copy_regs, re_set_registers):
10017         (re_search_internal, prune_impossible_nodes):
10018         (acquire_init_state_context, check_matching, static):
10019         (check_halt_node_context, check_halt_state_context, proceed_next_node):
10020         (push_fail_stack, pop_fail_stack, set_regs, free_fail_stack_return):
10021         (update_regs, sift_states_backward, build_sifted_states):
10022         (clean_state_log_if_needed, merge_state_array):
10023         (update_cur_sifted_state, add_epsilon_src_nodes):
10024         (sub_epsilon_src_nodes, check_dst_limits, check_dst_limits_calc_pos_1):
10025         (check_dst_limits_calc_pos, check_subexp_limits, sift_states_bkref):
10026         (sift_states_iter_mb, transit_state, merge_state_with_log, static):
10027         (find_recover_state, check_subexp_matching_top, transit_state_mb):
10028         (transit_state_bkref, get_subexp, get_subexp_sub, find_subexp_node):
10029         (check_arrival, check_arrival_add_next_nodes):
10030         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
10031         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
10032         (check_node_accept_bytes, check_node_accept, extend_buffers):
10033         (match_ctx_init, match_ctx_clean, match_ctx_free, match_ctx_add_entry):
10034         (search_cur_bkref_entry, match_ctx_add_subtop, match_ctx_add_sublast):
10035         (sift_ctx_init):
10036         Likewise.
10037
10038         * lib/regex_internal.h:
10039         (re_string_allocate, re_string_construct, re_string_reconstruct):
10040         (re_string_realloc_buffers, build_wcs_buffer, build_wcs_upper_buffer):
10041         (build_upper_buffer, re_string_translate_buffer, re_string_destruct):
10042         (re_string_elem_size_at, re_string_char_size_at, re_string_wchar_at):
10043         (re_string_context_at, re_string_peek_byte_case):
10044         (re_string_fetch_byte_case): Declare even if RE_NO_INTERNAL_PROTOTYPES
10045         is defined, since we now use prototypes always.
10046
10047         * lib/regex.h (_RE_ARGS): Remove.  No longer needed, since we assume
10048         C89 or better.  All uses removed.
10049
10050 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
10051
10052         * config/srclist.txt: Add glibc bugs 1220-1227.
10053
10054 2005-08-20  Jim Meyering  <jim@meyering.net>
10055
10056         * lib/regexec.c (regexec, re_search_stub) [!_LIBC]: Omit declaration
10057         of unused local, dfa.
10058
10059 2005-08-20  Bruno Haible  <bruno@clisp.org>
10060
10061         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_GNU_SOURCE.
10062
10063 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
10064
10065         * lib/regex_internal.c (re_string_realloc_buffers, re_node_set_insert):
10066         (re_node_set_insert_last, re_dfa_add_node):
10067         Rename local variables to avoid GCC shadowing warnings.
10068
10069 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
10070
10071         * lib/regex_internal.c (re_acquire_state, re_acquire_state_context)
10072         [defined lint]: Suppress bogus uninitialized-variable warnings.
10073
10074         * lib/regcomp.c (duplicate_node): Return new index, not an error code,
10075         and let the caller return REG_ESPACE if out of space.  This
10076         removes an uninitialied-variable warning with GCC 4.0.1, and also
10077         avoids taking the address of a local variable.  All callers
10078         changed.
10079
10080 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
10081
10082         * config/srclist.txt: Comment out $LIBCSRC/posix/regex_internal.c,
10083         $LIBCSRC/posix/regexec.c.
10084         Add glibc bug 1217 for regcomp.c.
10085
10086 2005-08-19  Jim Meyering  <jim@meyering.net>
10087
10088         * lib/regexec.c (proceed_next_node): Redo local variables to
10089         avoid GCC shadowing warnings.
10090
10091 2005-08-18  Bruno Haible  <bruno@clisp.org>
10092
10093         * lib/strstr.c (strstr): Fix return value in multibyte case.
10094         * lib/strcasestr.c (strcasestr): Likewise.
10095
10096 2005-08-17  Paul Eggert  <eggert@cs.ucla.edu>
10097
10098         * lib/regex.h: Remove useless space-before-tab.  From coreutils.
10099
10100 2005-08-17  Jim Meyering  <jim@meyering.net>
10101
10102         Make the %s format (seconds since the epoch) work for a negative
10103         number and when used with a zero-padded field width, e.g. %015s.
10104
10105         * lib/strftime.c (my_strftime): Move the `do_number_sign_and_padding'
10106         label so that it precedes the code to set `digits'.  Otherwise,
10107         %0Ns wouldn't work.  Before this change, `date -d @-22 +%05s' would
10108         print `00-22'.  Now, it prints `-0022', as it should.
10109
10110 2005-08-17  Bruno Haible  <bruno@clisp.org>
10111
10112         * modules/strstr (Files): Add m4/mbrtowc.m4.
10113         (Depends-on): Add mbuiter.
10114
10115 2005-08-17  Bruno Haible  <bruno@clisp.org>
10116
10117         * modules/strcasestr: New file.
10118         * MODULES.html.sh (String handling, based on ANSI C 89): Add
10119         strcasestr.
10120
10121 2005-08-17  Bruno Haible  <bruno@clisp.org>
10122
10123         * modules/strcase (Depends-on): Add mbuiter. Remove strnlen1, mbchar.
10124
10125 2005-08-17  Bruno Haible  <bruno@clisp.org>
10126
10127         * modules/mbuiter: New file.
10128         * MODULES.html.sh (Extended multibyte and wide character utilities):
10129         Add mbuiter.
10130
10131 2005-08-17  Bruno Haible  <bruno@clisp.org>
10132
10133         * m4/strstr.m4 (gl_FUNC_STRSTR): Use the replacement function always.
10134         (gl_PREREQ_STRSTR): Use gl_FUNC_MBRTOWC.
10135
10136 2005-08-17  Bruno Haible  <bruno@clisp.org>
10137
10138         * m4/strcasestr.m4: New file.
10139
10140 2005-08-17  Bruno Haible  <bruno@clisp.org>
10141
10142         * lib/strstr.h: Ignore HAVE_STRSTR, always declare the gnulib function.
10143         * lib/strstr.c: Completely rewritten, with multibyte locale support.
10144
10145 2005-08-17  Bruno Haible  <bruno@clisp.org>
10146
10147         * lib/strcasestr.h: New file.
10148         * lib/strcasestr.c: New file.
10149
10150 2005-08-17  Bruno Haible  <bruno@clisp.org>
10151
10152         * lib/strcasecmp.c: Use mbuiter.h.
10153
10154 2005-08-17  Bruno Haible  <bruno@clisp.org>
10155
10156         * lib/mbuiter.h: New file.
10157
10158 2005-08-16  Paul Eggert  <eggert@cs.ucla.edu>
10159
10160         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Do not override the results
10161         of gl_GETOPT_SUBSTITUTE.  That way, if both gl_GETOPT_SUBSTITUTE
10162         and gl_GETOPT are both invoked via different paths (as happens
10163         with GNU tar CVS because it uses both argp and getopt), the former
10164         wins.
10165
10166 2005-08-16  Bruno Haible  <bruno@clisp.org>
10167
10168         * modules/tls: New file.
10169         * MODULES.html.sh (Multithreading): Add tls.
10170
10171 2005-08-16  Bruno Haible  <bruno@clisp.org>
10172
10173         * modules/strnlen1: New file.
10174         * MODULES.html.sh (String handling): Add strnlen1.
10175
10176 2005-08-16  Bruno Haible  <bruno@clisp.org>
10177
10178         * modules/strcase (Files): Add m4/mbrtowc.m4.
10179         (Depends-on): Add strnlen1, mbchar.
10180
10181 2005-08-16  Bruno Haible  <bruno@clisp.org>
10182
10183         * modules/mbiter: New file.
10184         * MODULES.html.sh (Extended multibyte and wide character utilities):
10185         Add mbiter.
10186
10187 2005-08-16  Bruno Haible  <bruno@clisp.org>
10188
10189         * modules/mbfile: New file.
10190         * MODULES.html.sh (Extended multibyte and wide character utilities):
10191         Add mbfile.
10192
10193 2005-08-16  Bruno Haible  <bruno@clisp.org>
10194
10195         * modules/mbchar: New file.
10196         * MODULES.html.sh (Extended multibyte and wide character utilities):
10197         New section.
10198
10199 2005-08-16  Bruno Haible  <bruno@clisp.org>
10200
10201         * m4/tls.m4: New file, from GNU gettext.
10202
10203 2005-08-16  Bruno Haible  <bruno@clisp.org>
10204
10205         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Use the replacement function
10206         always.
10207         (gl_PREREQ_STRCASECMP): Use gl_FUNC_MBRTOWC.
10208
10209 2005-08-16  Bruno Haible  <bruno@clisp.org>
10210
10211         * m4/mbiter.m4: New file.
10212
10213 2005-08-16  Bruno Haible  <bruno@clisp.org>
10214
10215         * m4/mbfile.m4: New file.
10216
10217 2005-08-16  Bruno Haible  <bruno@clisp.org>
10218
10219         * m4/mbchar.m4: New file.
10220
10221 2005-08-16  Bruno Haible  <bruno@clisp.org>
10222
10223         * lib/tls.h: New file, from GNU gettext.
10224         * lib/tls.c: New file, from GNU gettext.
10225
10226 2005-08-16  Bruno Haible  <bruno@clisp.org>
10227
10228         * lib/strnlen1.h: New file.
10229         * lib/strnlen1.c: New file.
10230
10231 2005-08-16  Bruno Haible  <bruno@clisp.org>
10232
10233         * lib/strcasecmp.c (struct mbiter_multi): Remove at_end field.
10234         (mbi_init): Update.
10235         (mbi_avail, mbi_advance): Let the iteration end before the terminating
10236         NUL byte, not after it.
10237
10238 2005-08-16  Bruno Haible  <bruno@clisp.org>
10239
10240         * lib/strcase.h (strcasecmp): Add note in comments.
10241         * lib/strncasecmp.c: Use code from strcasecmp.c.
10242         * lib/strcasecmp.c: Use mbchar module. Define private mbiter variant.
10243         (strcasecmp): Work correctly in multibyte locales.
10244
10245 2005-08-16  Bruno Haible  <bruno@clisp.org>
10246
10247         * lib/mbiter.h: New file.
10248
10249 2005-08-16  Bruno Haible  <bruno@clisp.org>
10250
10251         * lib/mbfile.h: New file.
10252
10253 2005-08-16  Bruno Haible  <bruno@clisp.org>
10254
10255         * lib/mbchar.h: New file.
10256         * lib/mbchar.c: New file.
10257
10258 2005-08-16  Bruno Haible  <bruno@clisp.org>
10259
10260         * lib/mbchar.h (mb_cmp, mb_casecmp): Order the invalid characters after
10261         the valid ones. Makes the comparison operations transitive:
10262         cmp (a, b) < 0 && cmp (b, c) < 0 ==> cmp (a, c) < 0.
10263         * lib/strcasecmp.c (strcasecmp): Use mb_casecmp.
10264
10265 2005-08-15  Simon Josefsson  <jas@extundo.com>
10266
10267         * modules/ssize_t (License): Change to 'unlimited'.
10268
10269         * gnulib-tool (sed_extract_prog): Recognize 'unlimited' license.
10270
10271 2005-08-15  Paul Eggert  <eggert@cs.ucla.edu>
10272
10273         * config/srclist.txt: Comment out $LIBCSRC/posix/regex.h.
10274         Add comments for each pending glibc patch.
10275
10276 2005-08-15  Bruno Haible  <bruno@clisp.org>
10277
10278         * lib/regex.h (__restrict_arr): Don't define to __restrict if
10279         __cplusplus is defined.
10280
10281 2005-08-14  Jim Meyering  <jim@meyering.net>
10282
10283         Sync from coreutils.
10284
10285         * lib/fts-cycle.c (setup_dir, enter_dir, leave_dir, free_dir):
10286         Use the hash-table-based cycle-detection code not just when
10287         FTS_TIGHT_CYCLE_CHECK if specified, but also with FTS_LOGICAL.
10288         Reported by James Youngman in
10289         <http://lists.gnu.org/archive/html/bug-gnulib/2005-08/msg00011.html>.
10290         * lib/fts_.h: Mention that with FTS_LOGICAL, we use
10291         FTS_TIGHT_CYCLE_CHECK.
10292         * lib/fts.c (fts_cross_check) [FTS_DEBUG]:
10293         s/active_dir_ht/fts_cycle.ht/. This lets us compile with -DFTS_DEBUG,
10294         once again.
10295         * lib/fts.c [! _LIBC]: Include "lstat.h" rather than rolling our own.
10296         * lib/fts.c (fd_safer): Remove decl.
10297         Include fcntl--.h rather than unistd-safer.h
10298         (fts_safe_changedir): Don't call fd_safer; no longer needed
10299         now that we include fcntl--.h.
10300
10301 2005-08-12  Simon Josefsson  <jas@extundo.com>
10302
10303         * modules/getndelim2: Use ssize_t module.
10304         * modules/getnline: Likewise.
10305         * modules/safe-read: Likewise.
10306         * modules/xreadlink: Likewise.
10307
10308         * modules/ssize_t: New file.
10309
10310 2005-08-12  Simon Josefsson  <jas@extundo.com>
10311
10312         * m4/readline.m4: Look for termcap, curses or ncurses if required.
10313
10314 2005-08-12  Simon Josefsson  <jas@extundo.com>
10315
10316         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
10317         ssize_t.
10318
10319 2005-08-12  Simon Josefsson  <jas@extundo.com>
10320
10321         * MODULES.html.sh (Extra functions based on ANSI C 89: Misc): Add
10322         readline, getdelim and check_version.
10323         (Support for systems lacking ISO C 99: Sizes of integer types):
10324         Add size_max.
10325
10326 2005-08-12  Bruno Haible  <bruno@clisp.org>
10327
10328         * m4/readline.m4 (gl_FUNC_READLINE): Look for ncurses first.
10329
10330 2005-08-11  Simon Josefsson  <jas@extundo.com>
10331
10332         * modules/readline: New file.
10333
10334         * modules/strnlen (Files): Add strnlen.h.
10335
10336 2005-08-11  Simon Josefsson  <jas@extundo.com>
10337
10338         * m4/readline.m4: New file.
10339
10340 2005-08-11  Simon Josefsson  <jas@extundo.com>
10341
10342         * lib/readline.h, readline.c: New file.
10343
10344 2005-08-11  Simon Josefsson  <jas@extundo.com>
10345
10346         * doc/gnulib.texi (Initial import, Finishing touches): Mention
10347         gl_AVOID.
10348
10349 2005-08-11  Bruno Haible  <bruno@clisp.org>
10350
10351         * lib/strnlen.h (strnlen): Change parameter name to match comment.
10352
10353 2005-08-10  Stepan Kasal  <kasal@ucw.cz>
10354
10355         * m4/onceonly_2_57.m4: Really require Autoconf 2.57.
10356
10357 2005-08-10  Simon Josefsson  <jas@extundo.com>
10358
10359         * tests/test-iconvme.c: New file.
10360
10361 2005-08-10  Simon Josefsson  <jas@extundo.com>
10362
10363         * m4/strnlen.m4: New file.
10364
10365         * m4/strndup.m4: Don't check for strnlen declaration, done in
10366         strnlen.m4.
10367
10368 2005-08-10  Simon Josefsson  <jas@extundo.com>
10369
10370         * lib/strndup.c: Use strnlen.h.
10371
10372         * lib/strnlen.h: New file.
10373
10374 2005-08-08  Ralf Wildenhues <Ralf.Wildenhues@gmx.de>  (tiny change)
10375
10376         * README: Typos.
10377
10378 2005-08-02  Simon Josefsson  <jas@extundo.com>
10379
10380         * modules/readline: New file.
10381
10382 2005-08-02  Simon Josefsson  <jas@extundo.com>
10383
10384         * modules/getdelim: New file.
10385
10386         * modules/getline: Rewrite, don't use getndelim2.
10387
10388 2005-08-02  Simon Josefsson  <jas@extundo.com>
10389
10390         * m4/getline.m4: Separate out getdelim stuff into separate module.
10391
10392         * m4/getdelim.m4: New file.
10393
10394 2005-08-02  Simon Josefsson  <jas@extundo.com>
10395
10396         * lib/getline.h, getline.c: Rewrite.
10397
10398         * lib/getdelim.h, lib/getdelim.c: New files, ported from glibc.
10399
10400 2005-07-31  Bruno Haible  <bruno@clisp.org>
10401
10402         * lib/lock.h (gl_lock_initializer): New macro.
10403         (gl_lock_define_initialized): Use it.
10404         (gl_rwlock_initializer): New macro.
10405         (gl_rwlock_define_initialized): Use it.
10406         (gl_recursive_lock_initializer): New macro.
10407         (gl_recursive_lock_define_initialized): Use it.
10408
10409 2005-07-30  Karl Berry  <karl@gnu.org>
10410
10411         * doc/gnulib.texi (Initial import): mention -I$(top_builddir)/lib.
10412         Report from Ben Pfaff, regarding getopt.
10413
10414 2005-07-26  Paul Eggert  <eggert@cs.ucla.edu>
10415
10416         Add support to getopt for Emacs, which doesn't use LIBOBJS in the
10417         normal way.
10418         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE_HEADER): New macro.
10419         (gl_GETOPT_SUBSTITUTE): Use it.  Invoke gl_PREREQ_GETOPT.
10420         (gl_GETOPT_IFELSE, gl_GETOPT_CHECK_HEADERS): New macros.
10421         (gl_GETOPT): Use the new macros.  Most of the implementation
10422         is moved to the new macros.  This is for programs like Emacs
10423         that don't want all the functionality of gl_GETOPT.
10424
10425 2005-07-26  Bruno Haible  <bruno@clisp.org>
10426
10427         * m4/lock.m4: Update from GNU gettext.
10428
10429 2005-07-26  Bruno Haible  <bruno@clisp.org>
10430
10431         * lib/lock.h: Update from GNU gettext.
10432         * lib/lock.c: Update from GNU gettext.
10433
10434 2005-07-25  Paul Eggert  <eggert@cs.ucla.edu>
10435
10436         * m4/regex.m4 (gl_INCLUDED_REGEX): Use AC_RUN_IFELSE instead of the
10437         obsolescent AC_TRY_RUN.  Include the default includes files, for
10438         'exit'.
10439
10440 2005-07-24  Bruno Haible  <bruno@clisp.org>
10441
10442         * modules/visibility: New file.
10443         * MODULES.html.sh (Misc): Add visibility.
10444
10445 2005-07-24  Bruno Haible  <bruno@clisp.org>
10446
10447         * m4/visibility.m4: New file.
10448
10449 2005-07-24  Bruno Haible  <bruno@clisp.org>
10450
10451         * doc/visibility.texi: New file.
10452
10453 2005-07-22  Bruno Haible  <bruno@clisp.org>
10454
10455         * modules/alloca-opt (Makefile.am): Remove explicit dependency on
10456         $(ALLOCA_H), redundant through BUILT_SOURCES.
10457         * modules/argz (Makefile.am): Remove explicit dependency on $(ARGZ_H),
10458         redundant through BUILT_SOURCES.
10459         * modules/byteswap (Makefile.am): Remove explicit dependency on
10460         $(BYTESWAP_H), redundant through BUILT_SOURCES.
10461         * modules/fnmatch (Makefile.am): Remove explicit dependency on
10462         $(FNMATCH_H), redundant through BUILT_SOURCES.
10463         * modules/getopt (Makefile.am): Remove explicit dependency on
10464         $(GETOPT_H), redundant through BUILT_SOURCES.
10465         * modules/glob (Makefile.am): Remove explicit dependency on $(GLOB_H),
10466         redundant through BUILT_SOURCES.
10467         * modules/poll (Makefile.am): Remove explicit dependency on $(POLL_H),
10468         redundant through BUILT_SOURCES.
10469         * modules/stdbool (Makefile.am): Remove explicit dependency on
10470         $(STDBOOL_H), redundant through BUILT_SOURCES.
10471         * modules/stdint (Makefile.am): Remove explicit dependency on
10472         $(STDINT_H), redundant through BUILT_SOURCES.
10473         * modules/sysexits (Makefile.am): Add $(SYSEXITS_H) to BUILT_SOURCES.
10474         Remove explicit dependency on $(SYSEXITS_H).
10475         Reported by Alexandre Duret-Lutz <adl@src.lip6.fr>.
10476
10477 2005-07-18  Simon Josefsson  <jas@extundo.com>
10478
10479         * lib/check-version.c (check_version): Accept identical versions too.
10480
10481 2005-07-18  Bruno Haible  <bruno@clisp.org>
10482
10483         * modules/lock: New file.
10484         * MODULES.html.sh (Multithreading): New section.
10485
10486 2005-07-18  Bruno Haible  <bruno@clisp.org>
10487
10488         * m4/lock.m4: New file, from GNU gettext.
10489
10490 2005-07-18  Bruno Haible  <bruno@clisp.org>
10491
10492         * lib/lock.h: New file, from GNU gettext.
10493         * lib/lock.c: New file, from GNU gettext.
10494
10495 2005-07-18  Bruno Haible  <bruno@clisp.org>
10496
10497         * lib/lock.h (gl_once_t): New type.
10498         (gl_once_define, gl_once): New macros.
10499         * lib/lock.c (fresh_once): New variable.
10500         (glthread_once, glthread_once_call, glthread_once_singlethreaded): New
10501         functions.
10502
10503 2005-07-16  Simon Josefsson  <jas@extundo.com>
10504
10505         * doc/gnulib.texi (Library version handling): Add ELF symbol collision
10506         workaround, suggested by Bruno.
10507
10508 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
10509
10510         * modules/xalloc (Depends-on): Add xalloc-die.
10511         * modules/xvasprintf (Depends-on): Add xalloc-die.
10512
10513 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
10514
10515         * lib/quotearg.c: Add translator comment suggested by Bruno Haible,
10516         with a minor change.
10517
10518 2005-07-15  Bruno Haible  <bruno@clisp.org>
10519
10520         * m4/poll.m4 (gl_FUNC_POLL): Check against MacOS X 10.4 poll() bug.
10521         When using lib/poll.c, define poll as rpl_poll.
10522
10523 2005-07-14  Paul Eggert  <eggert@cs.ucla.edu>
10524
10525         * modules/argp (Depends-on): Remove unlocked-io.
10526
10527 2005-07-14  Derek Price  <derek@ximbiot.com>
10528
10529         * m4/glob.m4 (gl_GLOB): Cache glob interface check result.  Add check
10530         for glob symlink bug.
10531
10532 2005-07-14  Bruno Haible  <bruno@clisp.org>
10533
10534         * m4/argp.m4 (gl_ARGP): Remove invocation of gl_FUNC_GLIBC_UNLOCKED_IO.
10535         Instead, test for *_unlocked function declarations directly.
10536
10537 2005-07-11  Simon Josefsson  <jas@extundo.com>
10538
10539         * modules/size_max: New file.
10540
10541         * modules/xsize: Depend on size_max module for size_max.m4.
10542
10543 2005-07-11  Simon Josefsson  <jas@extundo.com>
10544
10545         * lib/size_max.h: New file.
10546
10547 2005-07-11  Paul Eggert  <eggert@cs.ucla.edu>
10548
10549         * lib/version-etc-fsf.c (version_etc_copyright): Parameterize the
10550         copyright symbol and the year.
10551         * lib/version-etc.c (COPYRIGHT_YEAR): New constant.
10552         (version_etc_va): Use parameterized copyright notice.
10553         Reword to conform to the current GNU coding standards.
10554
10555 2005-07-11  Karl Berry  <karl@gnu.org>
10556
10557         * doc/gnulib.texi (Quoting): new node.
10558         (Initial import): more info, from Patrice.
10559
10560 2005-07-11  Bruno Haible  <bruno@clisp.org>
10561
10562         * gnulib-tool (func_usage): Document option --avoid.
10563         (Command line options): Handle --avoid.
10564         (func_acceptable): New function.
10565         (func_modules_transitive_closure): Use it.
10566
10567 2005-07-11  Bruno Haible  <bruno@clisp.org>
10568
10569         * MODULES.html.sh: Use shortcut URLs to the www.opengroup.org site.
10570         Reported by Jim Meyering.
10571
10572 2005-07-10  Bruno Haible  <bruno@clisp.org>
10573
10574         * m4/size_max.m4 (gl_SIZE_MAX): Cast ~(size_t)0 back to size_t.
10575         Needed when size_t is smaller than 'unsigned int'.
10576         Reported by Paul Eggert.
10577
10578 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
10579
10580         * modules/argp (Depends-on): Add unlocked-io
10581
10582 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
10583
10584         * lib/argp-namefrob.h: Include unlocked-io.h. Removed unnecessary
10585         block of defines.
10586
10587 2005-07-08  Paul Eggert  <eggert@cs.ucla.edu>
10588
10589         * config/srclist.txt: Comment out regcomp.c, since we have a porting
10590         fix now.
10591
10592 2005-07-08  Eric Blake  <ebb9@byu.net>  (tiny change)
10593         and Paul Eggert  <eggert@cs.ucla.edu>
10594
10595         * lib/regcomp.c (init_dfa, build_range_exp): Store __btowc value
10596         in wint_t, not wchar_t.  Remove now-unnecessary cast.
10597
10598 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
10599
10600         * modules/regex (Files): Add lib/regex_internal.c,
10601         lib/regex_internal.h, lib/regexec.c, lib/regcomp.c, m4/codeset.m4.
10602         (Depends-on): Add extensions.
10603         (Makefile.am): Remove lib_SOURCES; now done by m4 code.
10604
10605 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
10606
10607         * m4/backupfile.m4 (gl_BACKUPFILE): Use AC_CHECK_FUNCS_ONCE on
10608         pathconf.
10609         * m4/same.m4 (gl_SAME): Likewise.
10610         Require AC_SYS_LONG_FILE_NAMES; bug reported by Gerrit P. Haase.
10611
10612         * m4/regex.m4: Adjust to new libc regex implementation.
10613         (gl_INCLUDED_REGEX): Add AC_LIBSOURCES for
10614         all the .c and .h parts of (the new) regex.
10615         Quote the m4 stuff better.
10616         Check for RE_ICASE bug of old gnulib.
10617         Check for REG_STARTEND of recent libc.
10618         Rename local variables from jm_* to gl_*.
10619         Quote operand of "test -f".
10620         Say "recent enough" version of libc, not "version 2".
10621         (gl_PREREQ_REGEX): Remove AC_FUNC_ALLOCA, since alloca is a
10622         prerequisite module.  Remove AC_HEADER_STDC; no longer needed.
10623         Check for locale.h, isblank, mbrtowc, wcrtomb, wcscoll.
10624         Remove check for btowc, isascii.
10625         Require AM_LANGINFO_CODESET.
10626
10627 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
10628
10629         * lib/regex.c, regex.h: Sync from libc.
10630         * lib/regcomp.c, lib/regexec_internal.c, lib/regex_internal.h:
10631         * lib/regexec.c:
10632         New files, synced from libc, except that regex_internal.h
10633         currently has a small porting fix.
10634
10635 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
10636
10637         * config/srclist.txt: Add regcomp.c, regex.c, regex.h,
10638         regex_internal.c, regexec.c.
10639         Add regex_internal.h too, but as a comment, since the libc version
10640         is currently broken in gnulib mode.
10641
10642 2005-07-06  Paul Eggert  <eggert@cs.ucla.edu>
10643
10644         Support programs like Emacs that use gnulib but not gettext.
10645         * MODULES.html.sh (Internationalization functions): Add gettext-h.
10646         * modules/gettext-h: New file.
10647         * modules/gettext (Files): Remove lib/gettext.h.
10648         (Depends-on): Add gettext-h.
10649         (Makefile.am): Remove lib_SOURCES.
10650         * modules/argmatch, modules/c-stack, modules/closeout:
10651         * modules/copy-file, modules/csharpcomp, modules/csharpexec:
10652         * modules/execute, modules/file-type, modules/getaddrinfo:
10653         * modules/getopt, modules/human, modules/javacomp:
10654         * modules/javaexec, modules/mkdir-p, modules/obstack:
10655         * modules/openat, modules/pagealign_alloc, modules/pipe:
10656         * modules/quotearg, modules/regex, modules/rpmatch:
10657         * modules/unicodeio, modules/userspec, modules/version-etc:
10658         * modules/wait-process, modules/xalloc-die, modules/xmemcoll:
10659         * modules/xsetenv:
10660         Depend on gettext-h, not gettext.
10661
10662 2005-07-05  Paul Eggert  <eggert@cs.ucla.edu>
10663
10664         * gnulib-tool (func_import): Add support for 'public domain' license.
10665         * modules/alloca, modules/atexit, modules/memmove:
10666         Now public domain, not GPL.
10667         * modules/dup2, modules/getpagesize, modules/malloc, modules/memset:
10668         * modules/realloc, modules/strerror, modules/strtod:
10669         Now LGPL, not GPL.
10670
10671 2005-07-05  Bruno Haible  <bruno@clisp.org>
10672
10673         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): Upgrade to version from current
10674         autoconf CVS. Needed for mingw.
10675
10676 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
10677
10678         Remove the dependency of the strftime module on the tzset module.
10679         * modules/strftime (Depends-on): Remove dependency on tzset.
10680
10681 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
10682
10683         Remove the dependency of the strftime module on the tzset module.
10684         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't require
10685         gl_FUNC_TZSET_CLOBBER.
10686
10687 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
10688
10689         Remove the dependency of the strftime module on the tzset module.
10690         * lib/strftime.c (my_strftime)
10691         [! defined _LIBC && ! HAVE_RUN_TZSET_TEST]:
10692         Copy the input structure, to work around some of the bug with
10693         Solaris 2.5.1 and Solaris 2.6.  If you still care about these old
10694         Solaris releases, you should also use the tzset module, but we won't
10695         require it as a dependency any more since we don't want LGPLed code
10696         to depend on GPLed code.
10697
10698 2005-07-02  Jim Meyering  <jim@meyering.net>
10699
10700         * m4/chown.m4, cloexec.m4, dup2.m4, fsusage.m4:
10701         * m4/getcwd-path-max.m4, getcwd.m4, mkstemp.m4, mountlist.m4:
10702         * m4/pagealign_alloc.m4, save-cwd.m4, unistd-safer.m4:
10703         Don't check for fcntl.h, and don't test for HAVE_FCNTL_H.
10704
10705 2005-07-02  Jim Meyering  <jim@meyering.net>
10706
10707         * lib/backupfile.c (backup_args): Change a `0' to NULL.
10708
10709 2005-07-01  Paul Eggert  <eggert@cs.ucla.edu>
10710
10711         * lib/xnanosleep.c: Include timespec.h, since OpenBSD 3.4 <time.h>
10712         declares only 'struct timespec;' (!).
10713
10714 2005-07-01  Jim Meyering  <jim@meyering.net>
10715
10716         * lib/chown.c, cloexec.c, dup-safer.c, dup2.c, fsusage.c, getcwd.c:
10717         * lib/getloadavg.c, mountlist.c, openat.h, pagealign_alloc.c:
10718         * lib/save-cwd.c, tempname.c:
10719         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
10720         and don't include <sys/file.h>).
10721
10722 2005-06-29  Jim Meyering  <jim@meyering.net>
10723
10724         * lib/mkdir-p.c (make_dir_parents): Don't apply sizeof to a hard-coded
10725         type name.  Use the variable name instead.
10726         * lib/idcache.c (getuser, getuidbyname, getgroup, getgidbyname):
10727         Likewise.
10728
10729 2005-06-28  Simon Josefsson  <jas@extundo.com>
10730
10731         * modules/check-version (Files): Add check-version.m4.
10732
10733 2005-06-28  Simon Josefsson  <jas@extundo.com>
10734
10735         * m4/check-version.m4: New file, suggested by Jim Meyering
10736         <jim@meyering.net>.
10737
10738 2005-06-28  Simon Josefsson  <jas@extundo.com>
10739
10740         * lib/check-version.h, lib/check-version.c: New files.
10741
10742 2005-06-28  Simon Josefsson  <jas@extundo.com>
10743
10744         * lib/base64.c (base64_encode): Indent.  Rename 'b64' to avoid
10745         collision with global variable.  Better indentation.  Don't
10746         increment buffer pointer beyond buffer end.  Based on comments
10747         from Paul Eggert <eggert@cs.ucla.edu>.
10748
10749         * lib/base64.h: Indent.
10750
10751 2005-06-28  Simon Josefsson  <jas@extundo.com>
10752
10753         * doc/gnulib.texi (Library version handling): New section.
10754
10755 2005-06-28  Jim Meyering  <jim@meyering.net>
10756
10757         * check-module (find_included_lib_files): Hard-code another
10758         pair of exceptions: fts.c includes fts-cycle.c and unistd-safer.h
10759         but modules/fts-lgpl (correctly) does not list those files.
10760
10761         * modules/canonicalize (Files): Add lib/pathmax.h.
10762
10763 2005-06-25  Simon Josefsson  <jas@extundo.com>
10764
10765         * modules/check-version: New file.
10766
10767 2005-06-24  Paul Eggert  <eggert@cs.ucla.edu>
10768
10769         * lib/canon-host.c (canon-host): Append trailing "," to 0 in
10770         initializer of struct addrinfo, as an indication that we don't
10771         care how many members the structure has.
10772
10773 2005-06-24  Derek Price  <derek@ximbiot.com>
10774         and Bruno Haible  <bruno@clisp.org>
10775
10776         Remove stat module & update lstat.
10777         * m4/lstat.m4 (gl_FUNC_LSTAT): Drop AC_FUNC_LSTAT in favor of
10778         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
10779         * m4/stat.m4: Remove this file.
10780
10781 2005-06-24  Derek Price  <derek@ximbiot.com>
10782         and Bruno Haible  <bruno@clisp.org>
10783
10784         Remove stat module & update lstat.
10785         * lib/stat.c: Remove this file...
10786         (slash_aware_lstat): ...moving this content and its support...
10787         * lib/lstat.c (rpl_lstat): ...into here.
10788         * lib/lstat.h: New file.
10789
10790 2005-06-24  Derek Price  <derek@ximbiot.com>
10791         and Bruno Haible  <bruno@clisp.org>
10792
10793         Remove stat module & update lstat.
10794         * config/srclist.txt (libc sources): Remove stat.
10795
10796 2005-06-24  Derek Price  <derek@ximbiot.com>
10797         and Bruno Haible  <bruno@clisp.org>
10798
10799         Remove stat module & update lstat.
10800         * MODULES.html.sh (stat): Remove.
10801         * MODULES.html: Regenerated.
10802         * modules/lstat (Description): Correct function name.
10803         (Files): Add "lstat.h".
10804         (Depends-on): Remove stat, add xalloc, stat-macros.
10805         * modules/stat: Remove this file.
10806         (Include): Add "lstat.h", remove <sys/stat.h>.
10807
10808 2005-06-23  Paul Eggert  <eggert@cs.ucla.edu>
10809
10810         * lib/mktime.c: Include <string.h> even if !DEBUG.  (From glibc.)
10811         (ranged_convert): Don't save conversion in a temporary struct.
10812         This causes a warning with GCC 4.0.0, and anyway in the typical
10813         case it's not worth the extra 100 bytes or so of code.
10814         (ranged_convert, __mktime_internal): When calling a function via a
10815         pointer P, use P () rather than (*P) (), as we now assume C89 or
10816         better.
10817
10818 2005-06-22  Paul Eggert  <eggert@cs.ucla.edu>
10819
10820         * lib/readutmp.c (desirable_utmp_entry): Fix bug where "who -b" and
10821         "who -r" failed to give output.  Problem reported by Tim Waugh.
10822
10823         * lib/xmalloc.c (HAVE_GNU_CALLOC): New constant.
10824         (xcalloc): Use it to avoid needless tests.
10825         Problem reported by Jim Meyering.
10826
10827 2005-06-20  Derek Price  <derek@ximbiot.com>
10828
10829         * m4/bison.m4: Note that precious decls of YACC & YFLAGS will be
10830         unnecessary for Autoconfs > 2.59c.
10831
10832 2005-06-16  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
10833
10834         * lib/argp.h (__option_is_short): Check upper limit of
10835         __key. Isprint() requires its argument to have the value
10836         of an unsigned char or EOF.
10837
10838 2005-06-16  Jim Meyering  <jim@meyering.net>
10839
10840         * lib/calloc.c (rpl_calloc): Allocate a 1-byte buffer (not 1xS or Nx1)
10841         when either N or S is zero.
10842
10843 2005-06-16  Derek Price  <derek@ximbiot.com>
10844
10845         * m4/bison.m4: Declare YACC & YFLAGS precious.
10846
10847 2005-06-10  Paul Eggert  <eggert@cs.ucla.edu>
10848
10849         * lib/fnmatch.c (fnmatch): If there is an encoding error in a
10850         multibyte string or pattern, fall back on unibyte matching.
10851         Problem reported by James Youngman.
10852
10853 2005-06-08  Bruno Haible  <bruno@clisp.org>
10854
10855         * modules/csharpcomp: New file.
10856         * MODULES.html.sh (C#): Add csharpcomp.
10857
10858 2005-06-08  Bruno Haible  <bruno@clisp.org>
10859
10860         * m4/csharpcomp.m4: New file, from GNU gettext.
10861
10862 2005-06-08  Bruno Haible  <bruno@clisp.org>
10863
10864         * lib/csharpcomp.h: New file, from GNU gettext.
10865         * lib/csharpcomp.c: New file, from GNU gettext.
10866         * lib/csharpcomp.sh.in: New file, from GNU gettext.
10867
10868 2005-06-08  Bruno Haible  <bruno@clisp.org>
10869
10870         * lib/binary-io.h (fileno): Undefine before defining it. Avoids a gcc
10871         warning on mingw.
10872
10873 2005-06-07  Derek Price  <derek@ximbiot.com>
10874
10875         Sync from CVS.
10876         * lib/glob_.h: Indent nested #ifdef.
10877
10878 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
10879
10880         Sync from coreutils.
10881         Use "file name" when talking about file names, instead of "filename"
10882         or "path", as per the GNU coding standards.
10883         * lib/mkdir-p.c: Renamed from makepath.c.
10884         (make_dir_parents): Renamed from make_path.  All callers changed.
10885         * lib/mkdir-p.h: Likewise.  All includers changed.
10886         * lib/filenamecat.c: Renamed from path-concat.c.
10887         (file_name_concat): Renamed from path_concat.  All callers changed.
10888         [TEST_FILE_NAME_CONCAT]: Renamed from TEST_PATH_CONCAT.
10889         * lib/filenamecat.h: Likewise.  All includers changed.
10890         * lib/acl.c: Don't use "path" or "filename" to mean "file name"
10891         in comments or local variable names.
10892         * lib/basename.c: Likewise.
10893         * lib/canonicalize.c, canonicalize.h: Likewise.
10894         * lib/dirname.c, dirname.h: Likewise.
10895         * lib/euidaccess.c: Likewise.
10896         * lib/exclude.c: Likewise
10897         * lib/fnmatch_.h, fnmatch_loop.c: Likewise.
10898         * lib/fsusage.c, fsuage.h: Likewise.
10899         * lib/fts.c, fts_.h: Likewise.
10900         * lib/getcwd.c: Likewise.
10901         * lib/getloadavg.c: Likewise.
10902         * lib/mkstemp.c: Likewise.
10903         * lib/mountlist.c, mountlist.h: Likewise.
10904         * lib/openat.c, openat.h: Likewise.
10905         * lib/readlink-stub.c: Likewise.
10906         * lib/readutmp.c, readutmp.h: Likewise.
10907         * lib/rename.c: Likewise.
10908         * lib/rmdir.c: Likewise.
10909         * lib/same.c: Likewise.
10910         * lib/savedir.c: Likewise.
10911         * lib/stripslash.c: Likewise.
10912         * lib/tempname.c: Likewise.
10913         * lib/xreadlink.c: Likewise.
10914         * lib/exclude.c (excluded_file_name): Renamed from excluded_filename.
10915         All uses changed.
10916         * lib/exclude.h: Likewise.
10917
10918         * lib/euidaccess.c (getuid, getgid, getuid, getegid)
10919         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
10920         * lib/idcache.c (getpwuid, getpwnam, getgrgid, getgrnam)
10921         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
10922         * lib/pathmax.h: Include <limits.h> unconditionally, since other
10923         files have been getting away with it for years (MORE/BSD 4.3
10924         is extinct now).
10925         * lib/userspec.c (getpwnam, getgrnam, getgrgid)
10926         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
10927
10928         * lib/pathmax.h (_POSIX_PATH_MAX) [!defined _POSIX_PATH_MAX]:
10929         Define to 256, not 255, as per modern POSIX.
10930
10931 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
10932
10933         Sync from coreutils.
10934         Use "file name" when talking about file names, instead of "filename"
10935         or "path", as per the GNU coding standards.
10936         * MODULES.html.sh: mkdir-p renamed from makepath.
10937         filenamecat renamed from path-concat.
10938         * modules/filenamecat: Renamed from modules/path-concat.
10939         (Files): filenamecat.h and filenamecat.c renamed from
10940         path-concat.h and path-concat.c.
10941         (configure.ac): gl_FILE_NAME_CONCAT, not gl_PATH_CONCAT.
10942         (Include): filenamecat.h, not path-concat.h.
10943         * modules/mkdir-p: Renamed from modules/makepath.
10944         (Files): mkdir-p.h and mkdir-p.c renamed from makepath.h and
10945         makepath.c.
10946         (configure.ac): gl_MKDIR_PARENTS, not gl_MAKEPATH.
10947         (Include): mkdir-p.h, not makepath.h.
10948
10949 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
10950
10951         Sync from coreutils.
10952         * m4/mkdir-p.m4: Renamed from makepath.m4.
10953         (gl_MKDIR_PARENTS): Renamed from gl_MAKEPATH.  All uses changed.
10954         Rename files from makepath.c to mkdir-p.c, and from
10955         makepath.h to mkdir-p.h.
10956         * m4/filenamecat.m4: Renamed from path-concat.m4.
10957         (gl_FILE_NAME_CONCAT): Renamed from gl_PATH_CONCAT.  All uses changed.
10958         Rename files from path-concat.c to filenamecat.c,
10959         and from path-concat.h to filenamecat.h.
10960         * m4/getcwd-path-max.m4: Don't use "path" or "filename" to mean
10961         "file name" in local variables or comments.
10962         * m4/rename.m4: Likewise.
10963
10964 2005-06-01  Bruno Haible  <bruno@clisp.org>
10965
10966         * modules/csharpexec: New file.
10967         * MODULES.html.sh (C#): New section.
10968
10969 2005-06-01  Bruno Haible  <bruno@clisp.org>
10970
10971         * m4/csharp.m4: New file, from GNU gettext.
10972         * m4/csharpexec.m4: New file, from GNU gettext.
10973
10974 2005-06-01  Bruno Haible  <bruno@clisp.org>
10975
10976         * lib/csharpexec.h: New file, from GNU gettext.
10977         * lib/csharpexec.c: New file, from GNU gettext.
10978         * lib/csharpexec.sh.in: New file, from GNU gettext.
10979
10980 2005-05-31  Derek Price  <derek@ximbiot.com>
10981             Paul Eggert  <eggert@cs.ucla.edu>
10982
10983         Sync from cvs.
10984         * m4/glob.m4: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
10985
10986 2005-05-31  Derek Price  <derek@ximbiot.com>
10987             Paul Eggert  <eggert@cs.ucla.edu>
10988
10989         Sync from cvs.
10990         * lib/glob_.h: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
10991
10992 2005-05-29  Derek Price  <derek@ximbiot.com>
10993
10994         * config/srclist.txt (glob_.h, glob.c): Add these files.
10995
10996 2005-05-29  Derek Price  <derek@ximbiot.com>
10997
10998         * MODULES.html.sh: Add glob to Enhanced POSIX.2001 section.
10999         * modules/glob: New file.
11000         * modules/getlogin_r: Add link to POSIX spec in description.
11001
11002 2005-05-29  Derek Price  <derek@ximbiot.com>
11003             Paul Eggert  <eggert@cs.ucla.edu>
11004
11005         * m4/glob.m4: New file.
11006
11007 2005-05-29  Derek Price  <derek@ximbiot.com>
11008             Paul Eggert  <eggert@cs.ucla.edu>
11009
11010         * lib/glob_.h, lib/glob.c: New files.
11011
11012 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
11013
11014         * modules/fts (Files): Remove m4/inttypes-pri.m4.
11015         * modules/fts-lgpl (Depends-on): Remove gettext.
11016
11017 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
11018
11019         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't check for inttypes.h or stdint.h,
11020         and don't require gt_INTTYPES_PRI.
11021
11022 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
11023
11024         * lib/getlogin_r.c (getlogin_r): Don't set errno to 0 on return.
11025
11026         * lib/fts.c: Don't worry about debugging on pre-C99-compatible hosts;
11027         the configuration hassle isn't worth it.
11028         Include inttypes.h and stdint.h unconditionally if FTS_DEBUG.
11029         (LONGEST_MODIFIER, PRIuMAX): Remove.
11030
11031 2005-05-27  Bruno Haible  <bruno@clisp.org>
11032
11033         * lib/getlogin_r.h: Remove second include of <stddef.h>.
11034
11035 2005-05-26  Paul Eggert  <eggert@cs.ucla.edu>
11036
11037         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Define
11038         _POSIX_PTHREAD_SEMANTICS for Solaris.
11039
11040 2005-05-25  Derek Price  <derek@ximbiot.com>
11041
11042         * MODULES.html.sh: Add getlogin_r to POSIX.2001 support section.
11043
11044 2005-05-25  Derek Price  <derek@ximbiot.com>
11045             Paul Eggert  <eggert@cs.ucla.edu>
11046
11047         * modules/getlogin_r, m4/getlogin_r.m4: New files.
11048         * lib/getlogin_r.c, getlogin_r.h: New files.
11049
11050 2005-05-25  Bruno Haible  <bruno@clisp.org>
11051             Derek Price  <derek@ximbiot.com>
11052
11053         * lib/getlogin_r.h: Simplify API documentation.
11054
11055 2005-05-23  Derek Price  <derek@ximbiot.com>
11056
11057         * modules/minmax (Files): Add m4/minmax.m4.
11058         (configure.ac): Add gl_MINMAX.
11059
11060 2005-05-22  Paul Eggert  <eggert@cs.ucla.edu>
11061
11062         * lib/fts.c (fd_safer) [_LGPL_PACKAGE]: New static function,
11063         so that unistd-safer.h (GPL'ed code) need not be included.
11064
11065 2005-05-22  Bruno Haible  <bruno@clisp.org>
11066
11067         * m4/minmax.m4: New file.
11068         Based on a patch by Derek Price <derek@ximbiot.com>.
11069
11070 2005-05-22  Bruno Haible  <bruno@clisp.org>
11071
11072         * lib/stdint_.h (_STDINT_H_HAVE_INT64): New macro. Use it in #ifdefs.
11073         (INT64_MIN): Fix definition.
11074         Suggested by Paul Eggert <eggert@cs.ucla.edu>.
11075
11076         * lib/stdint_.h (_STDINT_H_NEED_SIGNED_INT_TYPES): Renamed from
11077         NEED_SIGNED_INT_TYPES.
11078
11079         * lib/stdint_.h (_STDINT_H_HAVE_SYSTEM_INTTYPES): Renamed from
11080         HAVE_SYSTEM_INTTYPES.
11081
11082 2005-05-22  Bruno Haible  <bruno@clisp.org>
11083
11084         * lib/minmax.h: Include <limits.h> only when it defines MIN, MAX.
11085         Also include <sys/param.h> if it defines MIN, MAX.
11086         Based on a patch by Derek Price <derek@ximbiot.com>.
11087
11088 2005-05-21  Jim Meyering  <jim@meyering.net>
11089
11090         * modules/fts (Files): Add m4/inttypes-pri.m4.
11091         (Depends-on): Add lstat and remove gettext.  Alphabetize.
11092
11093 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
11094
11095         New fts module.
11096         * lib/fts.c: Don't include "cycle-check.h" or "hash.h".
11097         (setup_dir, free_dir): New functions.
11098         (enter_dir, leave_dir): Define trivial
11099         alternatives of _LGPL_PACKAGE.  Move to fts-cycle.c if !_LGPL_PACKAGE.
11100         (HT_INITIAL_SIZE, ENTER_DIR): Remove.  All uses removed.
11101         (LEAVE_DIR): Fix typo: pass Fts and Ent to leave_dir.
11102         (struct Active_dir, AD_compare, AD_hash, enter_dir, leave_dir):
11103         Move to fts-cycle.c.
11104         (fts_open): Use setup_dir.
11105         (fts_close): Use free_dir.
11106         (fts_read): Have just one copy of the ENTER_DIR code rather than three.
11107         This adds a label and some gotos, but the alternatives were messier.
11108         Check for memory allocation failure when entering a dir.
11109         (fts_stat) [_LGPL_PACKAGE]: Bring back glibc cycle detection code.
11110         * lib/fts_.h (_LGPL_PACKAGE) [defined _LIBC]: New macro.
11111         (FTS): New member fts_cycle, that is a union that contains the
11112         old active_dir_ht and cycle_state.  All uses changed to mention
11113         fts_cycle.ht and fts_cycle.state.
11114         * lib/fts-cycle.c: New file, containing GPL'ed code migrated out of
11115         fts.c, with the following changes:
11116         (setup_dir, free_dir): New functions.
11117         (enter_dir): Now returns bool.  Return true if successful, false
11118         if memory exhausted.  All callers changed.
11119         Do not bother partly cleaning up on
11120         memory allocation failure; that is free_dir's job.
11121         However, free ad if hash_insert fails, to avoid memory leak.
11122         (enter_dir, leave_dir): Accommodate change to FTS by inspecting
11123         fts->fts_options to see which union member to use.
11124
11125 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
11126
11127         * m4/fts.m4 (gl_FUNC_FTS_CORE): Renamed from gl_FUNC_FTS.
11128         (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): New macros.
11129
11130 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
11131
11132         * MODULES.html.sh (File system functions): Add fts, fts-lgpl.
11133
11134 2005-05-20  Jim Meyering  <jim@meyering.net>
11135
11136         * lib/unlinkdir.h (cannot_unlink_dir) [UNLINK_CANNOT_UNLINK_DIR]:
11137         Now a macro, to pacify GCC.
11138
11139 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
11140
11141         * m4/chown.m4 (gl_FUNC_CHOWN): Correct sense of test for honoring IDs
11142         of -1.
11143
11144 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
11145
11146         * lib/chown.c (rpl_chown): Return -1 on failure.
11147
11148 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
11149
11150         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME]):
11151         Don't check for stddef.h.
11152         * m4/fts.m4 (gl_FUNC_FTS): Don't require AC_HEADER_STDC, as we
11153         don't use its results.
11154         Don't check for fcntl.h, stddef.h, stdlib.h, string.h, unistd.h,
11155         since we include them unconditionally.  Don't require
11156         AM_STDBOOL_H, since stdbool is a prerequisite.
11157         Don't require AC_C_CONST, AC_TYPE_SIZE_T or check for ptrdiff_t
11158         since we assume C89 or better.
11159         Don't require AC_FUNC_CLOSEDIR_VOID, AC_FUNC_LSTAT, or AC_FUNC_STAT,
11160         as we don't use their results.
11161         Don't check for fchdir, memmove, memset, strrchr, as we use
11162         them unconditionally.
11163         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't define
11164         GETTIMEOFDAY_CLOBBERS_LOCALTIME_BUFFER, since nobody uses it.
11165
11166 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
11167
11168         * lib/canonicalize.c: Include canonicalize.h first, to test interface.
11169         Include <stddef.h> unconditionally, since we assume C89 now.
11170         All uses of PTR_INT_TYPE replaced by ptrdiff_t.
11171         * lib/fts.c: Include fts_.h first, to check interface.
11172         Do not include intprops.h; no longer needed.
11173         Include cycle-check.h and hash.h, since fts_.h no longer does.
11174         Remove unnecessary casts of closedir to void.
11175         (fts_build): Use a simpler method (not involving TYPE_SIGNED) to
11176         decide whether to decrement nlinks.
11177         * lib/fts_.h: Do not include hash.h or cycle-check.h; no longer needed.
11178         (FTS): Use struct hash_table * instead of Hash_table, so that
11179         we no longer need to include hash.h here.
11180
11181 2005-05-18  Jim Meyering  <jim@meyering.net>
11182
11183         * modules/dirfd (License): Change to LGPL.  Most of the code
11184         is already in the public domain.
11185
11186 2005-05-18  Jim Meyering  <jim@meyering.net>
11187
11188         * m4/fts.m4 (AC_LIBSOURCES): Add intprops.h to the list.
11189         Reported by Yoann Vandoorselaere.
11190
11191 2005-05-17  Jim Meyering  <jim@meyering.net>
11192
11193         * m4/fts.m4: New file, from coreutils.
11194
11195 2005-05-17  Jim Meyering  <jim@meyering.net>
11196
11197         * lib/fts.c, lib/fts_.h: New files, from coreutils.
11198
11199 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
11200
11201         Sync from coreutils.
11202         * m4/unlinkdir.m4: New file.
11203
11204 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
11205
11206         Sync from coreutils.
11207         * lib/unlinkdir.c, lib/unlinkdir.h: New files.
11208         * lib/gethrxtime.c, lib/gethrxtime.h, lib/getpass.h, lib/mountlist.h,
11209         lib/path-concat.c, lib/regex.h, lib/unlocked-io.h, lib/xtime.h:
11210         White space changes only.
11211         * lib/makepath.c (make_path): Port to hosts where leading "//" is
11212         special.
11213         * lib/yesno.c: Include getline.h, not ctype.h.
11214         (yesno): Don't remove leading white space; POSIX doesn't allow it.
11215         Use getline to remove arbitrary restriction on response length.
11216
11217 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
11218
11219         * config/srclist-update: Spell out "Street" in FSF postal
11220         mail address; this is the style the FSF seems to prefer.
11221
11222         * build-aux/depcomp, build-aux/install-sh, build-aux/mdate-sh,
11223         build-aux/missing, build-aux/mkinstalldirs: Sync from Automake;
11224         this updates FSF postal mail address.
11225
11226         Sync from coreutils.
11227         * modules/unlinkdir: New file.
11228         * modules/yesno (Depends-on): Add getline.
11229         * MODULES.html.sh (File system functions): Add unlinkdir.
11230
11231 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
11232
11233         * lib/byteswap_.h, lib/getsubopt.h, lib/iconvme.h, lib/strsep.c,
11234         lib/strsep.h:
11235         Change the initial comment to refer to GPL, not LGPL.
11236         gnulib-tool will change it to LGPL as needed.
11237
11238         * lib/__fpending.c, lib/acl.c, lib/acl.h, lib/alloca_.h, lib/allocsa.c,
11239         lib/allocsa.h, lib/argmatch.c, lib/argmatch.h, lib/argp-ba.c,
11240         lib/argp-eexst.c, lib/argp-fmtstream.c, lib/argp-fmtstream.h,
11241         lib/argp-fs-xinl.c, lib/argp-help.c, lib/argp-namefrob.h,
11242         lib/argp-parse.c, lib/argp-pv.c, lib/argp-pvh.c, lib/argp-xinl.c,
11243         lib/argp.h, lib/argz.c, lib/argz_.h, lib/asnprintf.c, lib/asprintf.c,
11244         lib/atanl.c, lib/backupfile.c, lib/backupfile.h, lib/base64.c,
11245         lib/base64.h, lib/basename.c, lib/binary-io.h, lib/byteswap_.h,
11246         lib/c-ctype.c, lib/c-ctype.h, lib/c-stack.c, lib/c-stack.h,
11247         lib/c-strtod.c, lib/calloc.c, lib/canon-host.c, lib/canonicalize.c,
11248         lib/canonicalize.h, lib/ceill.c, lib/chdir-long.c, lib/chdir-long.h,
11249         lib/chown.c, lib/classpath.c, lib/classpath.h, lib/cloexec.c,
11250         lib/closeout.c, lib/closeout.h, lib/concatpath.c, lib/config.charset,
11251         lib/copy-file.c, lib/copy-file.h, lib/cycle-check.c, lib/cycle-check.h,
11252         lib/diacrit.c, lib/diacrit.h, lib/dirfd.c, lib/dirfd.h, lib/dirname.c,
11253         lib/dirname.h, lib/dummy.c, lib/dup-safer.c, lib/dup2.c, lib/eealloc.h,
11254         lib/error.c, lib/error.h, lib/euidaccess.c, lib/exclude.c,
11255         lib/exclude.h, lib/execute.c, lib/execute.h, lib/exit.h,
11256         lib/exitfail.c, lib/exitfail.h, lib/expl.c, lib/fatal-signal.c,
11257         lib/fatal-signal.h, lib/fd-safer.c, lib/file-type.c, lib/file-type.h,
11258         lib/fileblocks.c, lib/filemode.c, lib/filemode.h, lib/findprog.c,
11259         lib/findprog.h, lib/floorl.c, lib/fnmatch.c, lib/fnmatch_.h,
11260         lib/fnmatch_loop.c, lib/fopen-safer.c, lib/free.c, lib/frexpl.c,
11261         lib/fsusage.c, lib/fsusage.h, lib/full-read.c, lib/full-read.h,
11262         lib/full-write.c, lib/full-write.h, lib/fwriteerror.c,
11263         lib/fwriteerror.h, lib/gai_strerror.c, lib/gcd.c, lib/gcd.h,
11264         lib/getaddrinfo.c, lib/getaddrinfo.h, lib/getcwd.c, lib/getcwd.h,
11265         lib/getdate.h, lib/getdate.y, lib/getdomainname.c, lib/getdomainname.h,
11266         lib/getgroups.c, lib/gethostname.c, lib/gethrxtime.c, lib/gethrxtime.h,
11267         lib/getline.c, lib/getline.h, lib/getloadavg.c, lib/getndelim2.c,
11268         lib/getndelim2.h, lib/getnline.c, lib/getnline.h, lib/getopt.c,
11269         lib/getopt1.c, lib/getopt_.h, lib/getopt_int.h, lib/getpagesize.h,
11270         lib/getpass.c, lib/getpass.h, lib/getsubopt.c, lib/getsubopt.h,
11271         lib/gettext.h, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c,
11272         lib/getusershell.c, lib/group-member.c, lib/group-member.h,
11273         lib/hard-locale.c, lib/hard-locale.h, lib/hash-pjw.c, lib/hash-pjw.h,
11274         lib/hash.c, lib/hash.h, lib/human.c, lib/human.h, lib/iconvme.c,
11275         lib/iconvme.h, lib/idcache.c, lib/inet_ntop.h, lib/intprops.h,
11276         lib/inttostr.c, lib/inttostr.h, lib/isdir.c, lib/javacomp.c,
11277         lib/javacomp.h, lib/javacomp.sh.in, lib/javaexec.c, lib/javaexec.h,
11278         lib/javaexec.sh.in, lib/lbrkprop.h, lib/lchown.c, lib/ldexpl.c,
11279         lib/linebreak.c, lib/linebreak.h, lib/linebuffer.c, lib/linebuffer.h,
11280         lib/localcharset.c, lib/localcharset.h, lib/logl.c, lib/long-options.c,
11281         lib/long-options.h, lib/lstat.c, lib/makepath.c, lib/makepath.h,
11282         lib/malloc.c, lib/mathl.h, lib/mbswidth.c, lib/mbswidth.h, lib/md5.c,
11283         lib/md5.h, lib/memcasecmp.c, lib/memcasecmp.h, lib/memchr.c,
11284         lib/memcmp.c, lib/memcoll.c, lib/memcoll.h, lib/memcpy.c, lib/memmem.c,
11285         lib/memmem.h, lib/mempcpy.c, lib/mempcpy.h, lib/memrchr.c,
11286         lib/memrchr.h, lib/memset.c, lib/minmax.h, lib/mkdir.c, lib/mkdtemp.c,
11287         lib/mkdtemp.h, lib/mkstemp.c, lib/mktime.c, lib/modechange.c,
11288         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
11289         lib/obstack.c, lib/obstack.h, lib/openat.c, lib/openat.h,
11290         lib/pagealign_alloc.c, lib/pagealign_alloc.h, lib/path-concat.c,
11291         lib/path-concat.h, lib/pathmax.h, lib/pathname.h, lib/physmem.c,
11292         lib/physmem.h, lib/pipe.c, lib/pipe.h, lib/poll.c, lib/poll_.h,
11293         lib/posixtm.c, lib/posixtm.h, lib/posixver.c, lib/printf-args.c,
11294         lib/printf-args.h, lib/printf-parse.c, lib/printf-parse.h,
11295         lib/progname.c, lib/progname.h, lib/progreloc.c, lib/putenv.c,
11296         lib/quote.c, lib/quote.h, lib/quotearg.c, lib/quotearg.h, lib/raise.c,
11297         lib/readlink.c, lib/readtokens.c, lib/readtokens.h, lib/readtokens0.c,
11298         lib/readtokens0.h, lib/readutmp.c, lib/readutmp.h, lib/realloc.c,
11299         lib/ref-add.sin, lib/ref-del.sin, lib/regex.c, lib/regex.h,
11300         lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c,
11301         lib/safe-read.h, lib/safe-write.c, lib/safe-write.h, lib/same.c,
11302         lib/same.h, lib/save-cwd.c, lib/save-cwd.h, lib/savedir.c,
11303         lib/savedir.h, lib/setenv.c, lib/setenv.h, lib/settime.c,
11304         lib/sh-quote.c, lib/sh-quote.h, lib/sha1.c, lib/sha1.h, lib/sig2str.c,
11305         lib/sig2str.h, lib/sincosl.c, lib/snprintf.c, lib/snprintf.h,
11306         lib/sqrtl.c, lib/stat-macros.h, lib/stat.c, lib/stdbool_.h,
11307         lib/stdint_.h, lib/stdio-safer.h, lib/stpcpy.c, lib/stpcpy.h,
11308         lib/stpncpy.c, lib/stpncpy.h, lib/strcase.h, lib/strcasecmp.c,
11309         lib/strchrnul.c, lib/strchrnul.h, lib/strcspn.c, lib/strdup.c,
11310         lib/strdup.h, lib/strerror.c, lib/strftime.c, lib/strftime.h,
11311         lib/stripslash.c, lib/strndup.c, lib/strndup.h, lib/strnlen.c,
11312         lib/strpbrk.c, lib/strpbrk.h, lib/strsep.c, lib/strsep.h, lib/strstr.c,
11313         lib/strstr.h, lib/strtod.c, lib/strtoimax.c, lib/strtok_r.c,
11314         lib/strtok_r.h, lib/strtol.c, lib/strtoll.c, lib/strtoul.c,
11315         lib/strtoull.c, lib/strverscmp.c, lib/strverscmp.h, lib/sysexit_.h,
11316         lib/tempname.c, lib/time_r.c, lib/time_r.h, lib/timegm.c, lib/timegm.h,
11317         lib/timespec.h, lib/trigl.c, lib/trigl.h, lib/ucs4-utf16.h,
11318         lib/ucs4-utf8.h, lib/unicodeio.c, lib/unicodeio.h, lib/unistd-safer.h,
11319         lib/unlocked-io.h, lib/unsetenv.c, lib/userspec.c, lib/utf16-ucs4.h,
11320         lib/utf8-ucs4.h, lib/utime.c, lib/utimecmp.c, lib/utimecmp.h,
11321         lib/utimens.c, lib/vasnprintf.c, lib/vasnprintf.h, lib/vasprintf.c,
11322         lib/vasprintf.h, lib/version-etc-fsf.c, lib/version-etc.c,
11323         lib/version-etc.h, lib/vsnprintf.c, lib/vsnprintf.h, lib/w32spawn.h,
11324         lib/wait-process.c, lib/wait-process.h, lib/xalloc-die.c, lib/xalloc.h,
11325         lib/xallocsa.c, lib/xallocsa.h, lib/xasprintf.c, lib/xgetcwd.c,
11326         lib/xgetcwd.h, lib/xgetdomainname.c, lib/xgetdomainname.h,
11327         lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c,
11328         lib/xreadlink.c, lib/xreadlink.h, lib/xsetenv.c, lib/xsetenv.h,
11329         lib/xsize.h, lib/xstrndup.c, lib/xstrndup.h, lib/xstrtod.c,
11330         lib/xstrtod.h, lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h,
11331         lib/xstrtoumax.c, lib/xtime.h, lib/xvasprintf.c, lib/xvasprintf.h,
11332         lib/yesno.c, lib/yesno.h:
11333         Update FSF postal mail address.
11334
11335 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
11336
11337         * MODULES.html.sh, README, gnulib-tool, tests/test-base64.c,
11338         tests/test-memmem.c, tests/test-stpncpy.c:
11339         Update FSF postal mail address.
11340
11341 2005-05-13  Bruno Haible  <bruno@clisp.org>
11342
11343         * lib/stdint_.h (int64_t, uint64_t, int_least64_t, uint_least64_t,
11344         int_fast64_t, uint_fast64_t, intmax_t, uintmax_t, INT64_MIN, INT64_MAX,
11345         UINT64_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX,
11346         INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTMAX_MIN,
11347         INTMAX_MAX, UINTMAX_MAX, INT64_C, UINT64_C, INTMAX_C, UINTMAX_C):
11348         Add support for 64-bit integers in the MSVC compiler.
11349
11350 2005-05-12  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
11351
11352         * modules/getdate (Makefile.am): Add getdate.c to EXTRA_DIST
11353
11354 2005-05-12  Eric Blake  <ebb9@byu.net>  (tiny change)
11355
11356         * gnulib-tool (func_import): Sort and uniquify recommended includes.
11357
11358 2005-05-11  Paul Eggert  <eggert@cs.ucla.edu>
11359
11360         * doc/getdate.texi (General date syntax): Don't say that date
11361         date --iso-8601=ns generates acceptable dates; it doesn't yet.
11362         Problem reported by Nic Ferrier.
11363
11364 2005-05-10  Yoann Vandoorselaere <yoann.v@prelude-ids.com>
11365
11366         * lib/getaddrinfo.c: Don't fail when SOCK_STREAM or SOCK_DGRAM are
11367         specified in ai_socktype. Fix invalid ai_protocol
11368         check. ai_protocol is usually set to 0 or depending on
11369         ai_family/ai_socktype to IPPROTO_TCP / IPPROTO_UDP.  Checking for
11370         SOCK_STREAM / SOCK_DGRAM in ai_protocol was invalid.  Set
11371         ai_socktype / ai_protocol in the returned addrinfo structure.
11372
11373 2005-05-10  Simon Josefsson  <jas@extundo.com>
11374
11375         * m4/getaddrinfo.m4: Look in libnsl/libsocket for getaddrinfo, from
11376         Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
11377
11378 2005-05-10  Karl Berry  <karl@gnu.org>
11379
11380         * doc/fdl.texi, gpl.texi, lgpl.texi, COPYING: update FSF address
11381         (from http://www.gnu.org/licenses).
11382         * doc/COPYING.LIB: also rename to COPYING.LESSER.
11383         * doc/COPYING.DOC: remove; per rms, only needed in doc files, so
11384         fdl.texi suffices.
11385
11386 2005-05-10  Karl Berry  <karl@gnu.org>
11387
11388         * config/srclist.txt (COPYING.LESSER): rename from COPYING.LIB.
11389         (COPYING.DOC): remove.
11390
11391         * config/srclist-update: new FSF address.
11392
11393 2005-05-10  Derek Price  <derek@ximbiot.com>
11394
11395         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 bug, not decl, when
11396         possible.
11397
11398 2005-05-09  Yoann Vandoorselaere <yoann.v@prelude-ids.com>
11399             Bruno Haible  <bruno@clisp.org>
11400
11401         * modules/inet_ntop: New file.
11402         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
11403         inet_ntop.
11404
11405 2005-05-09  Yoann Vandoorselaere <yoann.v@prelude-ids.com>
11406             Bruno Haible  <bruno@clisp.org>
11407
11408         * m4/inet_ntop.m4: New file.
11409
11410 2005-05-09  Yoann Vandoorselaere <yoann.v@prelude-ids.com>
11411             Bruno Haible  <bruno@clisp.org>
11412
11413         * lib/inet_ntop.h: New file.
11414         * lib/inet_ntop.c: New file, from glibc with modifications.
11415
11416 2005-05-09  Paul Eggert  <eggert@cs.ucla.edu>
11417
11418         * modules/time_r (License): Change to LGPL.
11419         * modules/extensions (License): Change to LGPL.  Actually,
11420         the license is more permissive than that, but currently gnulib-tool
11421         doesn't know how to handle more-permissive licenses.
11422
11423         * modules/stat-macros (Depends-on): Don't depend on stat-macros (!).
11424         Problem reported by Dave Love.
11425
11426 2005-05-08  Jim Meyering  <jim@meyering.net>
11427
11428         * lib/classpath.c (PATH_SEPARATOR): Remove insignificant trailing
11429         blank.
11430
11431 2005-05-06  Paul Eggert  <eggert@cs.ucla.edu>
11432
11433         * modules/argmatch (Depends-on): Add stdbool.
11434         * modules/backupfile (Depends-on): Likewise.
11435         * modules/chdir-long (Depends-on): Likewise.
11436         * modules/closeout (Depends-on): Likewise.
11437         * modules/cycle-check (Depends-on): Likewise.
11438         * modules/dirname (Depends-on): Likewise.
11439         * modules/fnmatch (Depends-on): Likewise.
11440         * modules/fsusage (Depends-on): Likewise.
11441         * modules/fwriteerror (Depends-on): Likewise.
11442         * modules/getcwd (Depends-on): Likewise.
11443         * modules/getloadavg (Depends-on): Likewise.
11444         * modules/hard-locale (Depends-on): Likewise.
11445         * modules/makepath (Depends-on): Likewise.
11446         * modules/mountlist (Depends-on): Likewise.
11447         * modules/nanosleep (Depends-on): Likewise.
11448         * modules/posixtm (Depends-on): Likewise.
11449         * modules/quotearg (Depends-on): Likewise.
11450         * modules/readtokens (Depends-on): Likewise.
11451         * modules/readtokens0 (Depends-on): Likewise.
11452         * modules/readutmp (Depends-on): Likewise.
11453         * modules/save-cwd (Depends-on): Likewise.
11454         * modules/strftime (Depends-on): Likewise.
11455         * modules/userspec (Depends-on): Likewise.
11456         * modules/utimecmp (Depends-on): Likewise.
11457         * modules/xgetcwd (Depends-on): Likewise.
11458         * modules/xnanosleep (Depends-on): Likewise.
11459         * modules/xstrtod (Depends-on): Likewise.
11460         * modules/yesno (Depends-on): Likewise.
11461
11462 2005-05-05  Paul Eggert  <eggert@cs.ucla.edu>
11463
11464         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 getopt, and avoid
11465         needless checks.
11466
11467 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
11468
11469         Merge from coreutils.  Among other things,
11470         add bulletproofing for cases where stdin, stdout, or stderr are closed.
11471         * lib/fd-safer.c: New file.
11472         * lib/fcntl-safer.h, open-safer.c: Remove.
11473         * lib/chdir-long.c: Fix comment "fetish" -> "coreutils".
11474         * lib/dup-safer.c: Include unistd-safer.h first.
11475         Don't include errno.h.
11476         (dup_safer) [!defined F_DUPFD]: Let fd_safer do the real work.
11477         * lib/file-type.h: Don't assume invoker included sys/stat.h first.
11478         * lib/file-type.c: Rely on file-type.h change.
11479         * lib/getloadavg.c: Include unistd-safer.h.
11480         (getloadavg): Use safer open.
11481         * lib/getusershell.c: Include "stdio-safer.h".
11482         (getusershell): Use safer fopen.
11483         * lib/long-options.c (long_options): Use NULL rather than 0.
11484         * lib/modechange.h (mode_free): Remove; all callers changed to invoke
11485         'free'.
11486         * lib/modechange.c: Likewise.
11487         xstrtol.h, stdbool.h, stddef.h: Don't include; no longer needed.
11488         (MODE_DONE): New constant.
11489         (struct mode_change): Remove 'next' member.
11490         (make_node_op_equals): New function; like the old one of the
11491         same name, except it allocates an array.
11492         (mode_compile, mode_create_from_ref): Use it.
11493         (mode_compile): Allocate result as an array, not a linked list.
11494         Parse octal string ourself, so that we catch mistakes like "+0".
11495         (mode_adjust): Arg is an array, not a linked list.
11496         * lib/modechange.c: Include stat-macros.h, xalloc.h.
11497         (S_ISDIR, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR):
11498         (S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH, S_IRXWU):
11499         (S_IRWXG, S_IRWXO, CHMOD_MODE_BITS):
11500         Remove.  This is now stat-macros.h's job.
11501         (talloc): Remove.  All callers replaced by xalloc, so that
11502         our invokers don't have to worry about reporting memory failures.
11503         (make_node_op_equals): Remove.
11504         (MODE_ORDINARY_CHAGE, MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
11505         New constants.
11506         (struct mode_change): Moved here from modechange.h.
11507         (mode_append_entry): Remove.
11508         (mode_compile): Remove MASKED_OPS arg, since it encouraged
11509         apps to have incorrect behavior.  Use simpler algorithm for head
11510         and tail.  Don't futz with umask; that's now the job of mode_adjust.
11511         Detect more invalid usages rather than having somewhat-random behavior.
11512         Don't insert an "a=" action, as that leads to incorrect behavior.
11513         (mode_compile, mode_create_from_ref): Return NULL on error instead
11514         of an enum, since now there's only one way to have an error.  All
11515         callers changed.
11516         (mode_adjust): Accept new arg UMASK_VALUE, and interpret it
11517         at the correct time.  Simplify calculation of "+u" and its ilk.
11518         Don't mishandle "+X".
11519         (mode_free): Remove "register" and localize decls.
11520         * lib/modechange.h (MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
11521         (struct mode_change): Move to modechange.c; callers don't
11522         need to see this stuff.
11523         (MODE_MASK_EQUALS, MODE_MASK_PLUS, MODE_MASK_MINUS, MODE_MASK_ALL):
11524         (MODE_INVALID, MODE_MEMORY_EXHAUSTED, MODE_BAD_REFERENCE): Remove.
11525         (mode_change, mode_adjust): Reflect the new signatures noted above.
11526         * lib/nanosleep.c (rpl_nanosleep): Include "timespec.h" before macros
11527         that might redefine system include files.
11528         (siginterrupt) [!HAVE_SIGINTERRUPT]: New macro.
11529         (my_usleep): Use NULL rather than (void *) 0.
11530         (rpl_nanosleep) [!defined SA_NOCLDSTOP]:
11531         Use siginterrupt to specify that system calls should be interrupted.
11532         (rpl_nanosleep): Move initialization of suspended closer to call of
11533         my_usleep.
11534         * lib/readutmp.h (read_utmp): New arg OPTIONS.  All uses changed.
11535         * lib/readutmp.c: Likewise.  Include signal.h, stdbool.h.
11536         (desirable_utmp_entry): New function.
11537         (read_utmp) [defined UTMP_NAME_FUNCTION]: Redo memory allocation
11538         using x2nrealloc, to simplify logic.
11539         (read_utmp) [!defined UTMP_NAME_FUNCTION]: Check for overflow in
11540         size calculation.  Do not assume utmp file is a regular file.
11541         * lib/readutmp.h (UT_PID): Moved here from ../src/who.c.
11542         (READ_UTMP_CHECK_PIDS): New constant.
11543         * lib/save-cwd.c: Include unistd-safer.h.
11544         (save_cwd): Use fd_safer.
11545         * lib/tempname.c (S_ISDIR, S_IRUSR, S_IRUSR, S_IWUSR, S_IXUSR): Remove.
11546         [!_LIBC] Include "stat-macros.h" instead.
11547         * lib/unistd-safer.h (fd_safer): New decl.
11548
11549 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
11550
11551         * modules/getloadavg (Depends-on): Add unistd-safer.
11552         * modules/getusershell (Depends-on): Add stdio-safer.
11553         * modules/lstat (Depends-on): Remove xalloc.
11554         * modules/mkstemp (Depends-on): Add stat-macros.
11555         * modules/modechange (Depends-on): Remove xstrtol.
11556         Add stat-macros, xalloc.
11557         * modules/save-cwd (Depends-on): Add unistd-safer.
11558         * modules/stdio-safer (Makefile.am): Remove lib_SOURCES.
11559         * modules/unistd-safer (Files): Add lib/fd-safer.c
11560         (Makefile.am): Remove lib_SOURCES.
11561
11562         * MODULES.html.sh (Enhancements for POSIX:2001 functions):
11563         Remove fcntl-safer; unistd-safer supersedes it.
11564
11565 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
11566
11567         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Don't require
11568         AC_HEADER_STAT.
11569         * m4/lchown.m4 (gl_FUNC_CHOWN): Likewise.
11570         (gl_PREREQ_CHOWN): Remove.
11571         * m4/lstat.m4 (gl_FUNC_LSTAT): Require AC_FUNC_LSTAT instead of calling
11572         it.  Don't require AC_HEADER_STAT.
11573         (gl_PREREQ_LSTAT): Remove.
11574         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Check stdint.h only once.
11575         Don't require AC_HEADER_STAT.
11576         * m4/rmdir.m4 (gl_FUNC_RMDIR): Don't require AC_HEADER_STAT.
11577         (gl_PREREQ_RMDIR): Remove.
11578         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Don't
11579         mention stat-macros.h or AC_HEADER_STAT, since we'll make
11580         the stat-macros module a prerequisite.
11581         * m4/file-type.m4 (gl_FILE_TYPE): Likewise.
11582         * m4/filemode.m4 (gl_FILEMODE): Likewise.
11583         * m4/makepath.m4 (gl_MAKEPATH): Likewise.
11584         * m4/modechange.m4 (gl_MODECHANGE): Likewise.
11585         * m4/clock_time.m4 (gl_CLOCK_TIME): Use gl_ rather than fetish_ for
11586         variable names.
11587         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Renamed from
11588         fetish_FUNC_RMDIR_NOTEMPTY.  All uses changed.  Use gl_ for
11589         variable prefixes.
11590         * m4/fcntl-safer.m4: Remove.
11591         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Use AC_LIBSOURCES and AC_LIBOBJ.
11592         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise.
11593         Invoke gl_PREREQ_FD_SAFER.
11594         (gl_PREREQ_FD_SAFER): New macro.
11595         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Check for siginterrupt.
11596         * m4/readutmp.m4 (gl_READUTMP): Require AC_C_INLINE.
11597         Use AC_CHECK_HEADERS_ONCE and AC_CHECK_FUNCS_ONCE when possible.
11598         Remove duplicate call to AC_LIBOBJ(readutmp).
11599         (gl_PREREQ_READUTMP): Remove.  All uses inlined.
11600
11601         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Check for message, not for
11602         MAP_ANON.  Problem reported by Moriyoshi Koizumi to bug-cvs.
11603
11604 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
11605
11606         * MODULES.html.sh (Misc): Add byteswap.
11607
11608 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
11609
11610         * modules/getcwd (Depends-on): Add extensions.
11611         * modules/openat (Depends-on): Likewise.
11612
11613 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
11614
11615         * modules/byteswap: New file.
11616
11617 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
11618
11619         * m4/byteswap.m4: New file.
11620
11621 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
11622
11623         * lib/byteswap_.h: New file.
11624
11625 2005-04-25  Karl Berry  <karl@gnu.org>
11626
11627         * m4/gettext.m4: Update from GNU gettext 0.14.4.
11628
11629 2005-04-25  Albert Chin  <china@thewrittenword.com>
11630
11631         * lib/regex.c: Include <stdio.h>, as a workaround to a Compaq Desktop
11632         Toolkit C bug.
11633
11634 2005-04-21  Oskar Liljeblad  <oskar@osk.mine.nu>
11635
11636         * gnulib-tool (Options): Add -s for --symlink/--symbolic.
11637         (func_ln_if_changed) Remove forcibly for no error message
11638         in case file does not exist.
11639
11640 2005-04-19  Simon Josefsson  <jas@extundo.com>
11641
11642         * gnulib-tool (Options): Make --symlink mean --symbolic.
11643
11644 2005-04-18  Oskar Liljeblad <oskar@osk.mine.nu>
11645
11646         * doc/gnulib.texi (Initial import): Fix.  Mention --aux-dir.
11647
11648 2005-04-16  Simon Josefsson  <jas@extundo.com>
11649
11650         * modules/getpass-gnu (Makefile.am): Don't mention getpass.h.
11651
11652 2005-04-15  Simon Josefsson  <jas@extundo.com>
11653
11654         * m4/getpass.m4 (gl_FUNC_GETPASS): Use AC_LIBSOURCES.
11655
11656 2005-04-15  Simon Josefsson  <jas@extundo.com>
11657
11658         * gnulib-tool: Rename --symlink to --symbolic.
11659
11660 2005-04-15  Oskar Liljeblad <oskar@osk.mine.nu>
11661
11662         * gnulib-tool: Add -s, --symlink option to gnulib-tool to make
11663         symbolic links to files instead of copying/moving.  Add --aux-dir,
11664         specifying directory relative --dir where auxiliary build tools
11665         are placed.
11666
11667 2005-04-14  Bruno Haible  <bruno@clisp.org>
11668
11669         * modules/allocsa (License): Change to LGPL.
11670         Requested by Yoann Vandoorselaere <yoann@prelude-ids.org>.
11671
11672 2005-04-13  Paul Eggert  <eggert@cs.ucla.edu>
11673
11674         * lib/getdate.y (zone): Allow relunit_snumber after tZONE, so
11675         that "UTC +1 second" continues to work.  Problem reported
11676         by Dmitry V. Levin.
11677         (relunit_snumber): New rule.
11678         (relunit): Use it.
11679
11680 2005-04-12  Paul Eggert  <eggert@cs.ucla.edu>
11681
11682         * lib/getdate.y (universal_time_zone_table): New constant.
11683         (time_zone_table): Remove GMT, UT, UTC entries; they're now in
11684         universal_time_zone_table.
11685         (lookup_zone): Prefer universal_time_zone_table to
11686         local_time_zone_table, so that "GMT" time stamps are allowed in
11687         London during the summer.  Problem reported by Ian Abbott.
11688
11689 2005-04-12  Jim Meyering  <jim@meyering.net>
11690
11691         * lib/human.c (humblock): Set *options even when returning due to
11692         xstrtoumax conversion failure.  Thanks to a used-uninitialized
11693         warning from gcc-4.
11694
11695 2005-04-09  Jim Meyering  <jim@meyering.net>
11696
11697         * lib/posixtm.c (posixtime) [lint]: Avoid spurious warning from gcc-4's
11698         -Wuninitialized: initialize tm0.tm_year.
11699
11700 2005-04-04  Paul Eggert  <eggert@cs.ucla.edu>
11701
11702         * lib/getdate.y (parser_control): rels_seen is now a boolean, not a
11703         count, since there's no maximum.  All uses changed.
11704         Add member dsts_seen.
11705         (local_zone): Accumulate dsts_seen rather than relying on tm_isdst
11706         not being INT_MAX.
11707         (get_date): Initialize dsts_seen, and check that it doesn't go over 1.
11708         Use pc_rels_seen to decide whther a date is absolute.
11709
11710         * lib/getdate.y (number): Don't overwrite year.
11711         (get_date): Initialize pc.year.digits to 0, not 4, to enable above
11712         check.
11713
11714 2005-04-02  Simon Josefsson  <jas@extundo.com>
11715
11716         * lib/getaddrinfo.h: Fix OpenBSD compilation failure, inspired by tiny
11717         patch from Yoann Vandoorselaere <yoann@prelude-ids.org>.
11718
11719 2005-03-28  Eric Blake  <ebb9@byu.net>  (tiny change)
11720
11721         * m4/getcwd-path-max.m4: Return success on systems such as Cygwin
11722         where no absolute path name can be longer than PATH_MAX.
11723
11724 2005-03-27  Jim Meyering  <jim@meyering.net>
11725
11726         * lib/argmatch.c: Clarify comment: null-terminated -> NULL-terminated.
11727
11728 2005-03-26  Paul Eggert  <eggert@cs.ucla.edu>
11729
11730         * lib/intprops.h (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND):
11731         "one's complement" -> "ones' complement" in comment, as per Knuth.
11732         "value of type" -> "type or expression" in comment.
11733         * lib/mktime.c, strftime.c: Propagate intprops.h comment nits.
11734
11735 2005-03-26  Jim Meyering  <jim@meyering.net>
11736
11737         Comment nits.
11738         * lib/intprops.h: Add the apostrophe in `(one|two)'s complement'.
11739         Correct typos: s/or/of/.
11740
11741 2005-03-26  Jim Meyering  <jim@meyering.net>
11742
11743         * modules/check-include-files: Move to ../ and rename to...
11744         * check-module: ...this.
11745
11746 2005-03-25  Jim Meyering  <jim@meyering.net>
11747
11748         * modules/xvasprintf (Files): Add xalloc.h.
11749
11750 2005-03-23  Paul Eggert  <eggert@cs.ucla.edu>
11751
11752         * modules/gettext (Files): config/config.rpath ->
11753         build-aux/config.rpath
11754         * modules/iconv (Files): Likewise.
11755         Problem reported by Oskar Liljeblad.
11756
11757 2005-03-23  Jim Meyering  <jim@meyering.net>
11758
11759         * modules/check-include-files: New script to check for
11760         missing dependencies, multiple includes, etc.
11761
11762         * modules/c-strtold (Depends-on): Add xalloc.
11763         * modules/c-strtod (Depends-on): Add xalloc.
11764         * modules/hash (Depends-on): Add xalloc.
11765         (Files): Remove lib/xalloc.h.
11766
11767         * modules/gethrxtime (Files): Add lib/gethrxtime.h.
11768         * modules/userspec (Files): Add lib/inttostr.h.
11769
11770 2005-03-23  Jim Meyering  <jim@meyering.net>
11771
11772         * lib/canonicalize.c: Remove duplicate `#include "stat-macros.h"'.
11773
11774 2005-03-22  Jim Meyering  <jim@meyering.net>
11775
11776         * modules/stat-macros: New module.
11777         * modules/canonicalize, modules/euidaccess, modules/file-type,
11778         * modules/filemode, modules/lchown, modules/makepath,
11779         * modules/rmdir, modules/stat: Depend on new stat-macros module
11780         rather than listing lib/stat-macros.h manually.
11781         Don't add stat-macros.h to lib_SOURCES or list it in Files: section.
11782
11783 2005-03-22  Jim Meyering  <jim@meyering.net>
11784
11785         * m4/stat-macros.m4 (gl_STAT_MACROS): New file/macro.
11786
11787 2005-03-22  Bruno Haible  <bruno@clisp.org>
11788
11789         * config/srclist.txt: Replace target directory 'config' with
11790         'build-aux'.
11791         * config/config.guess, config.sub, config.rpath, depcomp, install-sh:
11792         * config/mdate-sh, missing, mkinstalldirs, texinfo.tex: Move to
11793         ../build-aux/.
11794
11795 2005-03-21  Paul Eggert  <eggert@cs.ucla.edu>
11796
11797         * modules/chdir-long (Depends-on): Add mempcpy.
11798
11799         * modules/acl, modules/backupfile, modules/c-strtod,
11800         modules/c-strtold, modules/canon-host, modules/canonicalize,
11801         modules/cloexec, modules/closeout, modules/dirfd, modules/dirname,
11802         modules/exclude, modules/exitfail, modules/file-type,
11803         modules/filemode, modules/fpending, modules/fsusage, modules/getcwd,
11804         modules/getdate, modules/getline, modules/getpagesize,
11805         modules/getpass, modules/getugroups, modules/group-member,
11806         modules/hard-locale, modules/hash, modules/human, modules/idcache,
11807         modules/inttostr, modules/long-options, modules/makepath,
11808         modules/md5, modules/memcasecmp, modules/memcoll,
11809         modules/modechange, modules/mountlist, modules/path-concat,
11810         modules/pathmax, modules/physmem, modules/posixtm, modules/posixver,
11811         modules/quote, modules/quotearg, modules/readtokens, modules/readutmp,
11812         modules/safe-read, modules/safe-write, modules/same, modules/savedir,
11813         modules/settime, modules/sha1, modules/sig2str, modules/strdup,
11814         modules/strftime, modules/strndup, modules/strverscmp,
11815         modules/timespec, modules/unlocked-io, modules/userspec,
11816         modules/utimecmp, modules/utimens, modules/xalloc, modules/xstrtol,
11817         modules/yesno:
11818         Remove lib_SOURCES line from Makefile.am section, as this is now
11819         done automatically by the corresponding Autoconf macro.
11820
11821 2005-03-21  Jim Meyering  <jim@meyering.net>
11822
11823         Changes imported from coreutils.
11824
11825         * lib/cycle-check.c: Don't include xalloc.h.
11826
11827         * lib/path-concat.c: Don't include assert.h.
11828         (path_concat): Remove assertion that would have triggered
11829         for ABASE starting with more than one slash.
11830         Reported by Andreas Schwab.
11831
11832         * lib/path-concat.c (path_concat): Set *BASE_IN_RESULT
11833         properly when ABASE is an absolute file name.
11834         Correct the description of this function.
11835         Include <assert.h>.
11836         Add an assertion and a test driver.
11837         This fixes a bug introduced on 2004-07-02.
11838         Andreas Schwab reported the resulting failure of cp --parents:
11839         http://lists.gnu.org/archive/html/bug-coreutils/2005-01/msg00130.html
11840
11841 2005-03-21  Jim Meyering  <jim@meyering.net>
11842
11843         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Invoke gl_FUNC_MEMRCHR.
11844         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Check for memrchr decl.
11845
11846 2005-03-21  Jim Meyering  <jim@meyering.net>
11847         and  Paul Eggert  <eggert@cs.ucla.edu>
11848
11849         * m4/acl.m4, m4/backupfile.m4, m4/c-strtod.m4, m4/canon-host.m4,
11850         m4/canonicalize.m4, m4/cloexec.m4, m4/closeout.m4, m4/dirfd.m4,
11851         m4/dirname.m4, m4/exclude.m4, m4/exitfail.m4, m4/file-type.m4,
11852         m4/filemode.m4, m4/fpending.m4, m4/fsusage.m4, m4/getcwd.m4,
11853         m4/getdate.m4, m4/getline.m4, m4/getpagesize.m4, m4/getpass.m4,
11854         m4/getugroups.m4, m4/group-member.m4, m4/hard-locale.m4, m4/hash.m4,
11855         m4/human.m4, m4/idcache.m4, m4/inttostr.m4, m4/long-options.m4,
11856         m4/makepath.m4, m4/md5.m4, m4/memcasecmp.m4, m4/memcoll.m4,
11857         m4/modechange.m4, m4/mountlist.m4, m4/nanosleep.m4, m4/path-concat.m4,
11858         m4/pathmax.m4, m4/physmem.m4, m4/posixtm.m4, m4/posixver.m4,
11859         m4/quote.m4, m4/quotearg.m4, m4/readtokens.m4, m4/readutmp.m4,
11860         m4/safe-read.m4, m4/safe-write.m4, m4/same.m4, m4/savedir.m4,
11861         m4/settime.m4, m4/sha1.m4, m4/sig2str.m4, m4/strdup.m4, m4/strftime.m4,
11862         m4/strndup.m4, m4/strverscmp.m4, m4/timespec.m4, m4/unlocked-io.m4,
11863         m4/userspec.m4, m4/utimecmp.m4, m4/utimens.m4, m4/xalloc.m4,
11864         m4/xnanosleep.m4, m4/xstrtol.m4, m4/yesno.m4:
11865         Use AC_LIBSOURCES and AC_LIBOBJ to indicate source and object files
11866         for these modules.
11867
11868 2005-03-18  Paul Eggert  <eggert@cs.ucla.edu>
11869
11870         * lib/strftime.c (my_strftime): If the underlying strftime returns 0
11871         (which shouldn't happen), generate nothing instead of returning 0
11872         immediately, so that nstrftime (NULL, ...) doesn't return 0.
11873
11874 2005-03-16  Bruno Haible  <bruno@clisp.org>
11875
11876         * modules/stdint (Makefile.am): Use HAVE_LONG_LONG_64BIT instead of
11877         HAVE_LONGLONG_64BIT.
11878
11879 2005-03-16  Bruno Haible  <bruno@clisp.org>
11880
11881         * m4/stdint.m4 (gl_STDINT_H): Define HAVE_LONG_LONG_64BIT instead of
11882         HAVE_LONGLONG_64BIT.
11883
11884 2005-03-16  Bruno Haible  <bruno@clisp.org>
11885
11886         * lib/stdint_.h: Use HAVE_LONG_LONG_64BIT instead of
11887         HAVE_LONGLONG_64BIT.
11888
11889 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
11890
11891         * lib/strftime.c (my_strftime): Prepend space to format so that we can
11892         reliably distinguish strftime failure from empty output on POSIX
11893         hosts.
11894
11895 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
11896
11897         * lib/iconvme.c (SIZE_MAX): New macro, if not already defined.
11898         (iconv_string): Don't guess a size-zero buffer, as that might cause
11899         buffer overrun.  Instead, avoid multiplying by MB_LEN_MAX if the
11900         result would be 'too large', where 'too large' is (heuristically)
11901         the square root of SIZE_MAX, divided by MB_LEN_MAX to allay
11902         overflow concerns.  This will prevent some unwanted malloc failures
11903         when the inputs are very large.
11904
11905 2005-03-15  Karl Berry  <karl@gnu.org>
11906
11907         * config/srclist.txt (config.rpath): from gettext.
11908         * config/config.rpath: update.
11909
11910 2005-03-15  Bruno Haible  <bruno@clisp.org>
11911
11912         * lib/regex.c (byte_re_match_2_internal): Rename local variable 'not'
11913         to 'negate'.
11914
11915         * lib/regex.c (byte_re_match_2_internal): Reduce scope of same_str_p
11916         variable.
11917
11918         * lib/regex.c (EXTEND_BUFFER, regcomp): Cast the realloc/malloc
11919         results.
11920
11921 2005-03-14  Simon Josefsson  <jas@extundo.com>
11922
11923         * lib/timegm.h: Use proper prototype CPP guards, reported by Dave Love
11924         <fx@gnu.org>.
11925
11926 2005-03-14  Paul Eggert  <eggert@cs.ucla.edu>
11927
11928         * lib/mktime.c (TYPE_TWOS_COMPLEMENT, TYPE_ONES_COMPLEMENT,
11929         TYPE_SIGNED_MAGNITUDE, TYPE_MINIMUM, TYPE_MAXIMUM): Sync from
11930         intprops.h.
11931         * lib/strtol.c: Likewise.
11932
11933 2005-03-14  Jim Meyering  <jim@meyering.net>
11934
11935         * lib/strftime.c (my_strftime) [HAVE_STRFTIME && ! (_NL_CURRENT
11936         && HAVE_STRUCT_ERA_ENTRY)]: Initialize the first byte of ubuf[]
11937         to be nonzero so that we (and caller) can detect the difference
11938         between a valid zero-length expansion and an error return, even
11939         when the underlying strftime fails before writing anything into
11940         that location.
11941
11942 2005-03-14  Bruno Haible  <bruno@clisp.org>
11943
11944         * m4/lib-link.m4, gettext.m4, nls.m4, po.m4:
11945         Update from GNU gettext 0.14.3.
11946
11947 2005-03-10  Jim Meyering  <jim@meyering.net>
11948
11949         * m4/save-cwd.m4 (gl_SAVE_CWD): Check for fchdir.
11950
11951 2005-03-10  Jim Meyering  <jim@meyering.net>
11952
11953         * lib/save-cwd.c [!HAVE_FCHDIR]: Define open, fchdir, and chdir_long
11954         so that this module works on systems without fchdir.
11955
11956 2005-03-09  Paul Eggert  <eggert@cs.ucla.edu>
11957
11958         Factor int-properties macros into a single file, except for
11959         glibc-related files.
11960         * lib/intprops.h: New file.
11961         * lib/getloadavg.c: Include it instead of limits.h.
11962         (INT_STRLEN_BOUND): Remove.
11963         * lib/human.c: Include intprops.h.
11964         (group_number): Use INT_STRLEN_BOUND instead of rolling it ourself.
11965         * lib/human.h (LONGEST_HUMAN_READABLE): Use 146/485 rather than
11966         302/1000.
11967         * lib/inttostr.h: Include intprops.h instead of limits.h.
11968         (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND): Remove.
11969         * lib/mktime.c (TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT): New macros,
11970         for consistency with intprops.h.
11971         (time_t_is_integer, twos_complement_arithmetic): Use them.
11972         * lib/sig2str.h: Include <signal.h>, intprops.h.
11973         (INT_STRLEN_BOUND): Remove.
11974         * lib/strftime.c (TYPE_SIGNED): Remove.
11975         (INT_STRLEN_BOUND): Switch to same implementation as intprops.h.
11976         * lib/strtol.c: Adjust comments to match intprops.h.
11977         * lib/userspec.c: Include intprops.h.
11978         (TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Remove.
11979         * lib/utimecmp.c, xnanosleep.c, xstrtol.c: Likewise.
11980         * lib/utimecmp.c (utimecmp): Use TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT
11981         instead of rolling our own expressions.
11982         * lib/xstrtol.c: Include xstrtol.h first, to test interface.
11983
11984         * lib/strftime.c: Include <stdbool.h>.  Use bool where appropriate,
11985         instead of int.
11986         (my_strftime): Do not mishandle years close to INT_MAX, by doing
11987         the right thing even if adding 1900 would overflow.  Similarly
11988         for tm_mon + 1 and tm_yday + 1.
11989         Make %Y always equivalent to %C%y, and similarly for %G and %g.
11990         (DO_NUMBER, DO_NUMBER_SPACEPAD): Set digits to d, not a conditional.
11991         (DO_SIGNED_NUMBER): New macro.
11992         (my_strftime) [HAVE_TZNAME]: Don't dump core if tp->tm_dst > 1.
11993
11994 2005-03-07  Bruno Haible  <bruno@clisp.org>
11995
11996         * m4/mmap-anon.m4 (MAP_FILE, MAP_FAILED): Remove definitions.
11997
11998 2005-03-07  Bruno Haible  <bruno@clisp.org>
11999
12000         * lib/pagealign_alloc.c (MAP_FILE, MAP_FAILED): Define fallbacks.
12001
12002 2005-03-04  Derek R. Price  <derek@ximbiot.com>
12003
12004         * gnulib-tool (func_cp_if_changed, func_mv_if_changed): New functions.
12005         (func_import): Only replace files via --import when they have actually
12006         changed.
12007
12008 2005-03-03  Derek R. Price  <derek@ximbiot.com>
12009
12010         * m4/mmap-anon.m4: New file.
12011         * m4/pagealign_alloc.m4: New file.
12012
12013 2005-03-03  Derek R. Price  <derek@ximbiot.com>
12014             Bruno Haible  <bruno@clisp.org>
12015
12016         * modules/pagealign_alloc: New file.
12017         * MODULES.html.sh (Memory management functions): Add pagealign_alloc.
12018
12019 2005-03-03  Derek R. Price  <derek@ximbiot.com>
12020             Bruno Haible  <bruno@clisp.org>
12021
12022         * lib/pagealign_alloc.h: New file.
12023         * lib/pagealign_alloc.c: New file.
12024
12025 2005-03-03  Bruno Haible  <bruno@clisp.org>
12026
12027         * m4/inttypes.m4, isc-posix.m4, once-only.m4:
12028         Use an all-permissive copyright notice, recommended by RMS.
12029
12030 2005-03-02  Bruno Haible  <bruno@clisp.org>
12031
12032         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Undo the replacement here. Because
12033         of AIX, the replacement has to be done only after <string.h> is
12034         included, therefore not in config.h. stpncpy.h does the replacement,
12035         and stpncpy.c uses it.
12036
12037 2005-03-02  Bruno Haible  <bruno@clisp.org>
12038
12039         * lib/stpncpy.h (stpncpy): Define as a macro without arguments, so that
12040         stpncpy.c uses it.
12041
12042 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
12043
12044         Remove workaround for bug in Linux kernel 2.6.8 or thereabouts.
12045         The workaround isn't strictly needed for POSIX conformance, and
12046         it's too much of a pain to configure and maintain.  We'll ask
12047         people to fix their kernels instead.
12048         * lib/xnanosleep.c: Don't include gethrxtime.h or xtime.h.
12049         (NANOSLEEP_BUG_WORKAROUND): Remove.
12050         (xnanosleep): Remove the workaround.
12051
12052 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
12053
12054         * modules/gettime (Makefile.am): Remove lib_SOURCES line.
12055         Reported by Derek Price.
12056         (Include): Add "timespec.h".
12057
12058         * modules/xnanosleep (Depends-on): Remove gethrxtime.
12059
12060 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
12061
12062         * m4/xnanosleep.m4 (gl_XNANOSLEEP): Remove configuration attempting
12063         to detect nanosleep bug.
12064
12065 2005-03-01  Bruno Haible  <bruno@clisp.org>
12066
12067         * lib/vasnprintf.c (EOVERFLOW): Define to a fallback if needed.
12068
12069 2005-02-26  Paul Eggert  <eggert@cs.ucla.edu>
12070
12071         * modules/gethrxtime: New file.
12072         * modules/xnanosleep (Files): Add m4/xnanosleep.m4.
12073         (Depends-on): Add gethrxtime.
12074         (configure.ac): Add gl_XNANOSLEEP.
12075         (Makefile.am): Remove lib_SOURCES line.
12076
12077 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
12078
12079         * m4/gethrxtime.m4, m4/xnanosleep.m4: New files.
12080         * m4/gettime.m4 (gl_GETTIME): Check for nanotime.
12081
12082 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
12083
12084         * lib/gethrxtime.h, lib/gethrxtime.c, lib/xtime.h: New files.
12085         * lib/timespec.h (gettime): Return void, since it always
12086         succeeds now.  All uses changed.
12087         * lib/gettime.c (gettime) Likewise.
12088         [HAVE_NANOTIME]: Prefer nanotime.
12089         Assume gettimeofday succeeds, as POSIX requires.
12090         Assime time () succeeds, since other code already does.
12091         * lib/xnanosleep.c: Include xtime.h and gethrxtime.h, not xalloc.h.
12092         (timespec_subtract): Remove.
12093         (NANOSLEEP_BUG_WORKAROUND): New constant.
12094         (xnanosleep): Use gethrxtime rather than gettime; this simplifies
12095         things considerably.  Use it only on GNU/Linux hosts, since the
12096         workaround shouldn't be needed elsewhere.
12097
12098 2005-02-24  Bruno Haible  <bruno@clisp.org>
12099
12100         * modules/gettext (Files): Add m4/glibc2.m4.
12101
12102 2005-02-24  Bruno Haible  <bruno@clisp.org>
12103
12104         * m4/gettext.m4, intdiv0.m4, intmax.m4, inttypes-pri.m4, lcmessage.m4:
12105         * m4/lib-link.m4, lib-prefix.m4, nls.m4, po.m4, printf-posix.m4:
12106         * m4/progtest.m4:
12107         Update from GNU gettext 0.14.2.
12108         * m4/glibc2.m4: New file, from GNU gettext 0.14.2.
12109
12110 2005-02-24  Bruno Haible  <bruno@clisp.org>
12111
12112         * lib/localcharset.c: Update from GNU gettext 0.14.2.
12113         * lib/config.charset: Update from GNU gettext 0.14.2.
12114
12115 2005-02-24  Bruno Haible  <bruno@clisp.org>
12116
12117         * lib/gettext.h: Update from GNU gettext 0.14.2.
12118
12119 2005-02-23  Simon Josefsson  <jas@extundo.com>
12120
12121         * m4/iconvme.m4: New file.
12122
12123 2005-02-23  Jim Meyering  <jim@meyering.net>
12124
12125         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Revert yesteday's
12126         change.
12127         Thanks to Bruno Haible for catching it.
12128
12129 2005-02-22  Simon Josefsson  <jas@extundo.com>
12130
12131         * modules/iconvme: New file.
12132
12133         * MODULES.html.sh: Add iconvme.
12134
12135 2005-02-22  Simon Josefsson  <jas@extundo.com>
12136
12137         * lib/iconvme.h, lib/iconvme.c: New files, from libc.
12138
12139 2005-02-22  Simon Josefsson  <jas@extundo.com>
12140
12141         * config/srclist.txt: Sync iconvme.h, iconvme.c from libc.
12142
12143 2005-02-22  Jim Meyering  <jim@meyering.net>
12144
12145         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Fix typo:
12146         s/ifndef/ifdef/.
12147
12148 2005-02-20  Neil Conway  <neilc@samurai.com>
12149
12150         * lib/xgethostname.c (xgethostname): Check for ENOMEM, which is
12151         returned by OSX/Darwin if the specified buffer is not large
12152         enough for the hostname.
12153
12154 2005-02-03  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
12155
12156         * lib/argp-help.c (__argp_help): Create a fake struct argp_state and
12157         pass it to _help, otherwise the latter coredumps trying to
12158         dereference state.root_argp.
12159
12160 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
12161
12162         * modules/chdir-long (Depends-on): Add memrchr.
12163         * modules/memrchr (Files): Add lib/memrchr.h.
12164         (Include): "memrchr.h".
12165
12166 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
12167
12168         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Add AC_LIBSOURCES, for memrchr.h.
12169
12170 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
12171
12172         * lib/memrchr.h: New file.
12173         * lib/chdir-long.c: Include it.
12174         * lib/memrchr.c [!defined _LIBC]: Include it rather than <string.h>
12175         Don't bother including stddef.h.
12176
12177 2005-02-01  Paul Eggert  <eggert@cs.ucla.edu>
12178
12179         * lib/mountlist.h (MOUNTLIST_H_): New macro, to protect against double
12180         inclusion.
12181         Include <sys/types.h>, for dev_t.
12182         (ME_DUMMY, ME_REMOTE): Move from here....
12183         * lib/mountlist.c (ME_DUMMY, ME_REMOTE): To here.
12184         (ME_DUMMY): Count "subfs" as a dummy.  Problem reported by
12185         Dmitry V. Levin.
12186         Include mountlist.h first, to test the interface.
12187
12188 2005-01-29  Bruno Haible  <bruno@clisp.org>
12189
12190         * lib/progname.c (program_name): Initialize.
12191         Needed when linking statically on MacOS X.
12192
12193 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
12194
12195         Sync from coreutils.
12196         * modules/getloadavg (Files): Remove m4/getloadavg.m4.
12197         (Depends-on): Add c-strtod.
12198         (configure.ac): Replace gl_FUNC_GETLOADAVG with AC_FUNC_GETLOADAVG.
12199
12200 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
12201
12202         Sync from coreutils.
12203         * m4/getloadavg.m4, glibc.m4, search-libs.m4: Remove.
12204
12205         Remove files that are specific to coreutils.
12206         * m4/check-decl.m4, jm-macros.m4, lib-check.m4, prereq.m4: Remove.
12207
12208 2005-01-28  Bruno Haible  <bruno@clisp.org>
12209
12210         * modules/javacomp: New file.
12211         * MODULES.html.sh (Java): Add javacomp.
12212
12213 2005-01-28  Bruno Haible  <bruno@clisp.org>
12214
12215         * m4/javacomp.m4: New file, from GNU gettext.
12216
12217 2005-01-28  Bruno Haible  <bruno@clisp.org>
12218
12219         * lib/javacomp.sh.in: New file, from GNU gettext.
12220         * lib/javacomp.h: New file, from GNU gettext.
12221         * lib/javacomp.c: New file, from GNU gettext.
12222
12223 2005-01-26  Simon Josefsson  <jas@extundo.com>
12224
12225         * lib/gai_strerror.c: Use GPL in header.
12226
12227 2005-01-26  Bruno Haible  <bruno@clisp.org>
12228
12229         * modules/javaexec: New file.
12230         * MODULES.html.sh (Java): Add javaexec.
12231
12232 2005-01-26  Bruno Haible  <bruno@clisp.org>
12233
12234         * m4/javaexec.m4: New file, from GNU gettext.
12235
12236 2005-01-26  Bruno Haible  <bruno@clisp.org>
12237
12238         * lib/javaexec.sh.in: New file, from GNU gettext.
12239         * lib/javaexec.h: New file, from GNU gettext.
12240         * lib/javaexec.c: New file, from GNU gettext.
12241
12242 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
12243
12244         * modules/lchown (Depends-on): Remove lchown.h
12245
12246 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
12247
12248         * m4/sysexits.m4 (gl_SYSEXITS): Reverted logic. SYSEXITS_H
12249         must be defined if the header file was not found, in order
12250         to provide a replacement. Reported by Todd Vierling <tv@duh.org>
12251
12252 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
12253
12254         * lib/argp-help.c (hol_entry_help): Avoid using non-constant
12255         initializers for struct pentry_state.
12256         (__argp_error): Check return value of __asprintf
12257         (__argp_failure): Translate error message
12258
12259         * lib/argp-parse.c: Removed braces around the expansion of N_()
12260
12261 2005-01-23  Paul Eggert  <eggert@cs.ucla.edu>
12262
12263         * m4/acl.m4, afs.m4, alloca.m4, argp.m4, assert.m4, atexit.m4,
12264         backupfile.m4, base64.m4, bison.m4, c-bs-a.m4, c-stack.m4,
12265         c-strtod.m4, calloc.m4, canon-host.m4, canonicalize.m4,
12266         clock_time.m4, cloexec.m4, closeout.m4, d-ino.m4, d-type.m4,
12267         dirfd.m4, dirname.m4, dos.m4, dup2.m4, error.m4, euidaccess.m4,
12268         exclude.m4, exitfail.m4, extensions.m4, fcntl-safer.m4,
12269         file-type.m4, fileblocks.m4, filemode.m4, fnmatch.m4, fpending.m4,
12270         free.m4, fstypename.m4, fsusage.m4, ftruncate.m4, getaddrinfo.m4,
12271         getcwd-path-max.m4, getcwd.m4, getdate.m4, getdomainname.m4,
12272         getgroups.m4, gethostname.m4, getline.m4, getndelim2.m4,
12273         getnline.m4, getopt.m4, getpagesize.m4, getpass.m4, getsubopt.m4,
12274         gettime.m4, gettimeofday.m4, getugroups.m4, getusershell.m4,
12275         group-member.m4, hard-locale.m4, hash.m4, host-os.m4, human.m4,
12276         idcache.m4, inttostr.m4, isdir.m4, jm-winsz1.m4, jm-winsz2.m4,
12277         link-follow.m4, long-options.m4, ls-mntd-fs.m4, lstat.m4,
12278         makepath.m4, mathl.m4, md5.m4, memcasecmp.m4, memchr.m4,
12279         memcmp.m4, memcoll.m4, memcpy.m4, memmem.m4, memmove.m4,
12280         memrchr.m4, memset.m4, mkdir-slash.m4, mkstemp.m4, mktime.m4,
12281         modechange.m4, mountlist.m4, nanosleep.m4, obstack.m4,
12282         path-concat.m4, pathmax.m4, perl.m4, physmem.m4, poll.m4,
12283         posixtm.m4, posixver.m4, putenv.m4, quote.m4, quotearg.m4,
12284         readdir.m4, readtokens.m4, readutmp.m4, regex.m4, rename.m4,
12285         restrict.m4, rmdir-errno.m4, rmdir.m4, rpmatch.m4, same.m4,
12286         savedir.m4, settime.m4, sha1.m4, sig2str.m4, snprintf.m4,
12287         sockpfaf.m4, st_dm_mode.m4, st_mtim.m4, stat.m4, stdint.m4,
12288         stdio-safer.m4, strchrnul.m4, strdup.m4, strerror.m4,
12289         strerror_r.m4, strftime.m4, strndup.m4, strnlen.m4, strsep.m4,
12290         strtod.m4, strtoimax.m4, strtok_r.m4, strtol.m4, strtoll.m4,
12291         strtoul.m4, strtoull.m4, strtoumax.m4, strverscmp.m4, sysexits.m4,
12292         time_r.m4, timegm.m4, timespec.m4, tm_gmtoff.m4, tzset.m4,
12293         uint32_t.m4, uintptr_t.m4, unistd-safer.m4, unlink-busy.m4,
12294         unlocked-io.m4, uptime.m4, userspec.m4, utimbuf.m4, utime.m4,
12295         utimecmp.m4, utimens.m4, utimes-null.m4, vsnprintf.m4, xalloc.m4,
12296         xgetcwd.m4, xreadlink.m4, xstrndup.m4, xstrtod.m4, xstrtoimax.m4,
12297         xstrtol.m4, xstrtoumax.m4, yesno.m4:
12298         Use an all-permissive copyright notice, recommended by RMS.
12299
12300 2005-01-21  Paul Eggert  <eggert@cs.ucla.edu>
12301
12302         * modules/chdir-long (Depends-on): Remove mempcpy.
12303
12304 2005-01-21  Jim Meyering  <jim@meyering.net>
12305
12306         * lib/openat.h (AT_SYMLINK_NOFOLLOW): Define to 4096, so it's the
12307         same value as for Solaris 9.
12308
12309         * lib/chdir-long.c (chdir_long): Rewrite to remove limitation on
12310         component length.  This included changing the parameter to be
12311         of type `char *' rather than `char const *'.
12312         * lib/chdir-long.h (chdir_long): Update prototype.
12313
12314         * lib/openat.c (fdopendir, fstatat): New functions.
12315         * lib/openat.h: Include headers required for use of DIR and struct
12316         stat.
12317         [AT_SYMLINK_NOFOLLOW]: Define.
12318         (fdopendir, fstatat): Add prototypes.
12319
12320 2005-01-21  Bruno Haible  <bruno@clisp.org>
12321
12322         * modules/classpath: New file.
12323         * MODULES.html.sh (Java): Add classpath.
12324
12325 2005-01-21  Bruno Haible  <bruno@clisp.org>
12326
12327         * lib/classpath.h: New file, from GNU gettext.
12328         * lib/classpath.c: New file, from GNU gettext.
12329
12330 2005-01-20  Simon Josefsson  <jas@extundo.com>
12331
12332         * modules/version-etc-fsf: New file.
12333
12334 2005-01-20  Simon Josefsson  <jas@extundo.com>
12335
12336         * lib/version-etc-fsf.c: New file, with version_etc_copyright.
12337         * lib/version-etc.c: Remove version_etc_copyright.
12338         * lib/version-etc.h (version_etc_copyright): Use [] instead of * in
12339         prototype, suggested by Paul Eggert <eggert@CS.UCLA.EDU>.
12340
12341 2005-01-20  Simon Josefsson  <jas@extundo.com>
12342
12343         * lib/base64.h (isbase64): Add.
12344
12345         * lib/base64.c (isb64): Rename to isbase64, use to_uchar instead of
12346         using a unsigned prototype, don't inline.
12347         (base64_decode): Use it.
12348
12349 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
12350
12351         * m4/save-cwd.m4 (gl_SAVE_CWD): Remove check for fcntl; we now assume
12352         it.
12353
12354 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
12355
12356         * lib/save-cwd.c (save_cwd): Remove code to support the case
12357         where fchdir is missing or flaky.
12358
12359 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
12360
12361         * MODULES.html.sh (Command-line arguments): Add version-etc-fsf.
12362
12363 2005-01-19  Paul Eggert  <eggert@cs.ucla.edu>
12364
12365         * modules/mempcpy (Makefile.am): Remove mention of mempcpy.h;
12366         AC_LIBSOURCES now does this.
12367         * MODULES.html.sh (Sizes of integer types <limits.h>): New element,
12368         with new ullong_max module.
12369
12370 2005-01-19  Bruno Haible  <bruno@clisp.org>
12371
12372         * modules/sh-quote: New file.
12373         * MODULES.html.sh (Executing programs): Add sh-quote.
12374
12375 2005-01-19  Bruno Haible  <bruno@clisp.org>
12376
12377         * lib/sh-quote.h: New file, from GNU gettext.
12378         * lib/sh-quote.c: New file, from GNU gettext.
12379
12380 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
12381
12382         Merge from coreutils.
12383         * m4/ullong_max.m4: New file.
12384         * m4/jm-macros.m4 (gl_MACROS): Require gl_ULLONG_MAX.
12385         (gl_MACROS): Assume localeconv exists.
12386
12387 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
12388
12389         Merge changes from coreutils, as described below in several
12390         changelogs dated today.
12391
12392         * lib/save-cwd.c: Include "save-cwd.h" before other include files.
12393         (O_DIRECTORY): Remove; not needed here, since "." must be
12394         a directory.  All uses removed.
12395         (save_cwd): Use __sgi || __sun, not sun || __sun.  __sun is
12396         universal on Suns, and we also need to test for IRIX.
12397         Revamp code to use 'if' rather than '#if'.
12398         Avoid unnecessary comparison of cwd->desc to 0.
12399
12400         * lib/utimens.c (futimens): Robustify the previous patch, by checking
12401         for known valid error numbers rather than observed invalid ones.
12402
12403 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
12404
12405         * modules/ullong_max: New file.
12406
12407         * modules/chdir-long, modules/openat: New files.
12408         * modules/save-cwd (Depends-on): Depend on chdir-long.
12409         (Makefile.am): Remove lib_SOURCES; now handled by AC_LIBSOURCES.
12410
12411 2005-01-18  Jim Meyering  <jim@meyering.net>
12412
12413         Merge from coreutils.
12414         * m4/chdir-long.m4, m4/openat.m4: New files.
12415         * m4/save-cwd.m4 (gl_SAVE_CWD): Add AC_LIBSOURCES for save-cwd.c,
12416         save-cwd.h.  Add AC_LIBOBJ for save-cwd.
12417         * m4/chown.m4 (gl_FUNC_CHOWN): When cross-compiling, assume that chown
12418         is sane and DOES follow symlinks.  Besides, testing 20 different
12419         systems found no broken chown implementations.
12420         Prompted by a change in rsync's copy of this macro.
12421         * m4/jm-macros.m4 (gl_MACROS): Require gl_FUNC_CHDIR_LONG.
12422
12423         * m4/lchown.m4 (gl_FUNC_LCHOWN): Use AC_LIBSOURCES.
12424
12425         * m4/utimes.m4: Work around tests/touch/empty-file failure on a system
12426         (sparc64, Linux-2.4.28, glibc-2.3.3) that didn't honor utimes'
12427         NULL-means-set-to-current-time semantics.
12428         Remove temporary file immediately, rather than waiting
12429         for configure's at-exit trap code to do it.
12430
12431 2005-01-18  Jim Meyering  <jim@meyering.net>
12432
12433         * lib/version-etc.c (version_etc_copyright): Update copyright date.
12434
12435         * lib/utimens.c (futimens): Account for the fact that futimes
12436         can also fail with errno == ENOSYS or errno == ENOENT.
12437         Patch from Dmitry V. Levin.
12438
12439         Change the name of the robust chdir function from chdir to chdir_long.
12440         * lib/save-cwd.c: Include chdir-long.h rather than chdir.h.
12441         (restore_cwd): Use chdir_long, not chdir.
12442         * lib/chdir-long.c: Renamed from chdir.c.
12443         * lib/chdir-long.h: Renamed from chdir.h.
12444         [!defined PATH_MAX]: Define chdir_long to chdir on systems like the
12445         Hurd.
12446
12447 2005-01-18  Bruno Haible  <bruno@clisp.org>
12448
12449         * m4/allocsa.m4, m4/codeset.m4, m4/copy-file.m4, m4/eaccess.m4:
12450         * m4/eealloc.m4, m4/eoverflow.m4, m4/execute.m4, m4/fatal-signal.m4:
12451         * m4/findprog.m4, m4/glibc21.m4, m4/iconv.m4, m4/intmax_t.m4:
12452         * m4/inttypes_h.m4, m4/lib-ld.m4, m4/lib-link.m4, m4/lib-prefix.m4:
12453         * m4/linebreak.m4, m4/localcharset.m4, m4/longdouble.m4:
12454         * m4/longlong.m4, m4/mbrtowc.m4, m4/mbstate_t.m4, m4/mbswidth.m4:
12455         * m4/mkdtemp.m4, m4/pipe.m4, m4/readlink.m4, m4/safe-read.m4:
12456         * m4/safe-write.m4, m4/setenv.m4, m4/sig_atomic_t.m4:
12457         * m4/signalblocking.m4, m4/signed.m4, m4/size_max.m4, m4/ssize_t.m4:
12458         * m4/stdbool.m4, m4/stdint_h.m4, m4/stpcpy.m4, m4/stpncpy.m4:
12459         * m4/strcase.m4, m4/strcspn.m4, m4/strpbrk.m4, m4/strstr.m4:
12460         * m4/ucs4-utf.m4, m4/uintmax_t.m4, m4/ulonglong.m4, m4/unicodeio.m4:
12461         * m4/utf-ucs4.m4, m4/vasnprintf.m4, m4/vasprintf.m4:
12462         * m4/wait-process.m4, m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4:
12463         Use an all-permissive copyright notice, recommended by RMS.
12464
12465 2005-01-18  Bob Proulx  <bob@proulx.com>
12466
12467         * lib/obstack.c [DEFAULT_ALIGNMENT]: Use an intermediate type to
12468         simplify offsetof() macro construct to avoid compile failure with
12469         native HP-UX 11.0 ANSI C compiler.
12470
12471 2005-01-17  Bruno Haible  <bruno@clisp.org>
12472
12473         * lib/stpncpy.c: Remove HAVE_STPNCPY and gnu_stpncpy renaming,
12474         redundant because stpncpy.m4 takes care of it.
12475
12476 2005-01-17  Bruno Haible  <bruno@clisp.org>
12477
12478         * lib/progreloc.c: Include xalloc.h instead of xmalloc.h.
12479
12480 2005-01-17  Bruno Haible  <bruno@clisp.org>
12481
12482         * lib/progreloc.c (xstrdup): Define as strdup if no xmalloc should be
12483         used.
12484
12485 2005-01-17  Bruno Haible  <bruno@clisp.org>
12486
12487         * lib/fwriteerror.h (fwriteerror): Change specification to include
12488         fclose.
12489         * lib/fwriteerror.c: Include <stdbool.h>.
12490         (fwriteerror): At the end, close the file stream. Record whether
12491         stdout was already closed.
12492
12493 2005-01-17  Bruno Haible  <bruno@clisp.org>
12494
12495         * lib/execute.c (environ): Declare if needed.
12496         * lib/pipe.c (environ): Likewise.
12497         Reported by Michael Schloh von Bennewitz <michael.schloh@cw.com>.
12498
12499 2005-01-11  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
12500
12501         * modules/argp: Depend on vsnprintf
12502
12503 2005-01-10  Jim Meyering  <jim@meyering.net>
12504
12505         * modules/closeout (Depends-on): Add atexit.
12506
12507 2005-01-06  Bruno Haible  <bruno@clisp.org>
12508
12509         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Rename stpncpy to gnu_stpncpy here.
12510
12511 2005-01-04  Paul Eggert  <eggert@cs.ucla.edu>
12512
12513         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Move these conditional
12514         definitions to be after all include files, to avoid collisions.
12515         Problem reported by Bob Proulx.
12516
12517 2005-01-04  Jim Meyering  <jim@meyering.net>
12518
12519         Changes imported from coreutils.
12520         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Rather than using "conftestXXXXXX"
12521         as the mkstemp template, use a temporary directory and an
12522         8.3-friendly template to avoid trouble on systems like DJGPP.
12523         Reported by Juan M. Guerrero via Stepan Kasal.
12524         * m4/(gl_FUNC_MKSTEMP): Include <unistd.h> for the declaration of
12525         close. Remove the temporary directory right away, rather than waiting
12526         for configure's at-exit trap code to do it.
12527         Suggestion from Stepan Kasal.
12528
12529 2005-01-01  Simon Josefsson  <jas@extundo.com>
12530
12531         * gnulib-tool: Print #include directives when --import'ing.
12532
12533 2004-12-28  Simon Josefsson  <jas@extundo.com>
12534
12535         * tests/test-base64.c: Include required header files.  Remove
12536         unused variables.
12537
12538 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
12539
12540         * modules/error (Depends-on): Remove gettext.
12541
12542 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
12543
12544         * lib/error.c [!_LIBC && !ENABLE_NLS]: Do not include "gettext.h";
12545         not needed.  This removes a dependency on the gettext module.
12546         [defined _LIBC]: Do not include <libintl.h>; not needed.
12547
12548 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
12549
12550         * m4/c-strtod.m4 (gl_C99_STRTOLD): New macro.
12551         (gl_C_STRTOD): Use it instead of AC_CHECK_DECLS_ONCE(strtold).
12552
12553 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
12554
12555         * lib/c-strtod.c (STRTOD): Depend on HAVE_C99_STRTOLD, not
12556         HAVE_DECL_STRTOLD.
12557
12558 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
12559
12560         * modules/getdate (Depends-on): Remove alloca-opt.
12561
12562 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
12563
12564         * m4/getdate.m4 (gl_GETDATE): Remove AC_FUNC_ALLOCA.
12565
12566 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
12567
12568         * lib/argp-parse.c: Include <stddef.h>.
12569         (alignof, alignto): New macros.
12570         (parser_init): Don't assume that void * is aligned sufficiently
12571         for struct option.
12572
12573         * lib/getdate.y (YYSTACK_USE_ALLOCA): Define to 0, since there's no
12574         need to extend the stack.
12575         (YYINITDEPTH): New macro, so that the initial stack isn't overly
12576         large.
12577
12578 2004-12-22  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
12579
12580         * lib/argp-parse.c (parser_init): Avoid arithmetics on void pointers.
12581
12582 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
12583
12584         * modules/regex (lib_SOURCES): Remove regex.c, undoing previous
12585         (2004-10-24) change.  Apparently this was a false alarm.
12586
12587         * modules/getdate: Depend on alloca-opt, not alloca.
12588
12589 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
12590
12591         * lib/alloca_.h: Conditionalize on _GNULIB_ALLOCA_H, not _ALLOCA_H.
12592         Remove now-obsolete comment about AIX.
12593         * lib/getdate.y: Include <alloca.h> only if HAVE_ALLOCA.
12594         (YYSTACK_USE_ALLOCA): Define to 0 if !HAVE_ALLOCA.
12595         (YYMAXDEPTH): New macro.
12596
12597 2004-12-18  Simon Josefsson  <jas@extundo.com>
12598
12599         * modules/alloca: Depend on alloca-opt, instead of duplicating it.
12600
12601 2004-12-18  Bruno Haible  <bruno@clisp.org>
12602
12603         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Also test for sigaction.
12604
12605 2004-12-18  Bruno Haible  <bruno@clisp.org>
12606
12607         * lib/fatal-signal.c (fatal_signals): Make non-const.
12608         (init_fatal_signals): New function.
12609         (uninstall_handlers, install_handlers): Ignore signals that were set to
12610         SIG_IGN.
12611         (at_fatal_signal): Call init_fatal_signals.
12612         (init_fatal_signal_set): Likewise. Ignore signals that were set to
12613         SIG_IGN.
12614         Reported by Paul Eggert.
12615
12616 2004-12-18  Bruno Haible  <bruno@clisp.org>
12617
12618         * doc/alloca.texi: New file.
12619         * doc/alloca-opt.texi: New file.
12620
12621 2004-12-17  Jim Meyering  <jim@meyering.net>
12622
12623         * config/install-sh: Use `(exit N); exit N', not `(exit N); exit'.
12624         Otherwise, install-sh could exit with improper exit status when
12625         exiting via a trapped interrupt.  Thanks to a report from Bob Proulx.
12626
12627 2004-12-16  Simon Josefsson  <jas@extundo.com>
12628
12629         * tests/test-base64.c: Add license.
12630
12631 2004-12-15  Stepan Kasal  <address@hidden>
12632
12633         * gnulib-tool (func_emit_lib_Makefile_am): Shorten a long sed command.
12634
12635 2004-12-12  Paul Eggert  <eggert@cs.ucla.edu>
12636
12637         * modules/getcwd (Files): Add m4/d-ino.m4.
12638         Suggested by Mark D. Baushke.
12639
12640 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
12641
12642         * lib/getdate.y (textint): New member "negative".
12643         (time_zone_hhmm): New function.
12644         Expect 14 shift-reduce conflicts, not 13.
12645         (o_colon_minutes): New rule.
12646         (time, zone): Use it to add support for +HH:MM, UTC+HH:MM.
12647         (yylex): Set the "negative" member of signed numbers.
12648
12649 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
12650
12651         * doc/getdate.texi (Time of day items, Time zone items):
12652         Describe new formats +00:00, UTC+00:00.
12653
12654 2004-12-07  Paul Eggert  <eggert@cs.ucla.edu>
12655
12656         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Fix typo in previous change:
12657         spurious "-l"s.  Problem reported by Stepan Kasal.
12658
12659 2004-12-06  Paul Eggert  <eggert@cs.ucla.edu>
12660
12661         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): New macro, to work around bug
12662         in Autoconf 2.59.  Problem reported by Mark D. Baushke.
12663
12664 2004-12-04  Simon Josefsson  <jas@extundo.com>
12665
12666         * modules/getaddrinfo (License): Add LGPL, reported by Yoann
12667         Vandoorselaere <yoann@prelude-ids.org>.
12668
12669 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
12670
12671         Changes imported from coreutils.
12672         * m4/hard-locale.m4 (gl_HARD_LOCALE): Assume locale.h and setlocale
12673         exist.
12674         * m4/human.m4 (gl_HUMAN): Assume locale.h and localeconv exist.
12675
12676 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
12677
12678         Changes imported from coreutils.
12679         * lib/hard-locale.c: Assume <locale.h> exists.
12680         Include "strdup.h".
12681         (GLIBC_VERSION): New macro.
12682         (hard_locale): Assume setlocale exists.
12683         Rewrite to avoid #ifdef.
12684         Use strdup rather than malloc + strcpy.
12685         * lib/human.c: Assume <locale.h> exists.
12686         (human_readable): Assume localeconv exists.
12687
12688 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
12689
12690         * modules/hard-locale (Depends-on): Add strdup.
12691
12692 2004-12-01  Jakub Jelinek  <jakub@redhat.com>
12693
12694         * lib/mktime.c (__mktime_internal): If SEC_REQUESTED != SEC,
12695         convert T2, not T.  (Imported from libc.)
12696
12697 2004-11-30  Simon Josefsson  <jas@extundo.com>
12698
12699         * modules/restrict (License): Change to LGPL.
12700
12701 2004-11-30  Simon Josefsson  <jas@extundo.com>
12702
12703         * m4/restrict.m4: Add copyright and copying conditions.
12704
12705 2004-11-30  Simon Josefsson  <jas@extundo.com>
12706
12707         * m4/base64.m4: New file.
12708
12709 2004-11-30  Simon Josefsson  <jas@extundo.com>
12710
12711         * MODULES.html.sh (Extra functions based on ANSI C 89): Add
12712         base64.
12713
12714         * tests/test-base64.c: New file.
12715
12716         * modules/base64: New file.
12717
12718 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
12719
12720         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX):
12721         Define HAVE_PARTLY_WORKING_GETCWD if getcwd is partly working.
12722
12723         * m4/readutmp.m4 (gl_READUTMP): Don't check for sys/param.h.
12724
12725 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
12726
12727         * lib/getcwd.c (is_ENAMETOOLONG): New macro.
12728         (__getcwd.c): Don't restore errno; glibc doesn't.
12729         [HAVE_PARTLY_WORKING_GETCWD && !defined AT_FDCWD]: Try system getcwd
12730         first, falling back to our code only if its results look suspicious.
12731         Ensure that the resulting buffer is only as large as necessary.
12732
12733         * lib/readutmp.c: Include readutmp.h first.
12734         Include <errno.h>, since readutmp.h no longer does that.
12735         * lib/readutmp.h: Don't include <errno.h>,
12736         <sys/param.h>, <time.h>; not needed to establish interface.
12737         (errno): Remove decl.
12738         (HAVE_STRUCT_XTMP_UT_TYPE): Remove; no longer needed.
12739         (UT_TYPE_EQ, UT_TYPE_NOT_DEFINED, UT_TYPE_BOOT_TIME,
12740         UT_TYPE_USER_PROCESS, IS_USER_PROCESS): New macros.
12741
12742 2004-11-28  Simon Josefsson  <jas@extundo.com>
12743
12744         * lib/base64.h, base64.c: New file.
12745
12746 2004-11-27  Paul Eggert  <eggert@cs.ucla.edu>
12747
12748         * lib/getcwd.h: New file, which I forgot to check in on 2004-11-25.
12749
12750 2004-11-26  Paul Eggert  <eggert@cs.ucla.edu>
12751
12752         * modules/getcwd (Files): Add lib/getcwd.h, m4/getcwd.m4.
12753         (Depends-on): Remove pathmax, same.  Add mempcpy.
12754         (configure.ac): GL_FUNC_GETCWD_PATH_MAX -> gl_FUNC_GETCWD.
12755         (Makefile.am): Append getcwd.h to lib_SOURCES.
12756         (Include): Add getcwd.h.
12757         (Maintainer): Change from Jim Meyering to "all, glibc",
12758         since getdate now uses intended-for-glibc code.
12759         * modules/xgetcwd (Files): Remove m4/getcwd.m4.
12760         (Depends-on): Depend on getcwd.  Do not depend on pathmax.
12761
12762 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
12763
12764         Fix problems reported by Scott S. Tinsley for HP-UX 11.11 using
12765         HP's ANSI C compiler.
12766         * lib/fsusage.c (statvfs) [HAVE_SYS_STATVFS_H]: Remove decl.
12767         Declaring int functions causes warnings on some modern systems and
12768         shouldn't be needed to compile on ancient ones.
12769         * lib/same.c (MIN) [defined MIN]: Don't define, since it's already
12770         defined.
12771
12772         * lib/getcwd.c: Replace by a copy of glibc/sysdeps/posix/getcwd.c, but
12773         with the following changes.
12774         (__set_errno): Parenthesize properly.
12775         Include <stdbool.h>.
12776         (MIN, MAX, MATCHING_INO): New macros.
12777         (__getcwd): Define with prototype, not K&R form.
12778         Use heuristics to allocate default buffer on stack if possible.
12779         If AT_FDCWD is defined, use openat and fstatat to avoid O(N**2)
12780         behavior, and to avoid the PATH_MAX limit when computing
12781         ../../../../...
12782         Use MATCHING_INO to compare inode number to file.
12783         Check for arithmetic overflow in size calculations.
12784         Fix bug in reallocation of dot array that caused getcwd to fail
12785         on directories nested deeper than 75.
12786         Be more careful about saving errno on error.
12787         Do not use realloc; use only free+malloc, as this is a bit
12788         more flexible and avoids a needless copy operation.
12789         Do not inspect st_dev and st_ino for symbolic links; POSIX
12790         doesn't specify the latter.
12791         Check for closedir errors.
12792         Avoid needless casts.
12793         Use "#ifdef weak_alias" around weak_alias, to be like other
12794         glibc code.
12795         The following changes to getcwd.c have effect only when used in
12796         gnulib; they have no effect inside glibc proper.
12797         (#pragma alloca) [defined _AIX && !defined __GNUC__]: Remove,
12798         as alloca isn't used.
12799         (alloca, __alloca): Likewise.
12800         [!_LIBC]: Include "getcwd.h", "mempcpy.h".
12801         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
12802         unconditionally, as gnulib assumes C89 or better.
12803         Do not include <sys/param.h>.
12804         (errno) [!defined __GNU_LIBRARY__ && !defined STDC_HEADERS]: Remove
12805         no-longer-necessary 'extern int errno' decl; gnulib assumes C89 or
12806         better.
12807         (NULL) [!defined NULL]: Remove; we assume C89 or better.
12808         Include <dirent.h> in a way that is compatible with modern Autoconf.
12809         (_D_ALLOC_NAMELEN, _D_EXACT_NAMLEN):
12810         New macros, if not already defined.
12811         Include <unistd.h> if _LIBC, not if __GNU_LIBRARY__.
12812         Use "_LIBC", not "defined _LIBC", for consistency.
12813         (HAVE_MEMPCPY): Remove; no longer needed now that gnulib has
12814         a mempcpy module.
12815         (__lstat, __closedir, __opendir, __readdir) [!_LIBC]: New macros.
12816         (GETCWD_RETURN_TYPE): Remove.  All uses replaced by char *.
12817         * lib/xgetcwd.c: David MacKenzie's old code was removed, so give
12818         credit only to Jim Meyering and adjust the copyright dates.
12819         Do not include <limits.h>, <stdio.h>, <sys/types.h>,
12820         <stdlib.h>, <unistd.h>, "pathmax.h".
12821         Instead, include "xgetcwd.h" (first) and "getcwd.h".
12822         (INITIAL_BUFFER_SIZE): Remove.
12823         (xgetcwd): Rely on getcwd, since we now depend on a reliable one.
12824
12825 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
12826
12827         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Renamed from
12828         GL_FUNC_GETCWD_PATH_MAX for consistency.  All uses changed.
12829         Use the _ONCE methods, for efficiency.
12830         Check for fcntl.h.  In test program, include <errno.h>
12831         and <fcntl.h> if available.  Remove old K&R cruft from
12832         test program.  Check for common errors in GNU/Linux,
12833         OpenBSD, and Solaris.  Just set gl_cv_func_getcwd_path_max;
12834         don't do AC_LIBOBJ, as that's getcwd.m4's job.
12835         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Renamed from
12836         AC_FUNC_GETCWD_NULL.  All used changed.  Change cache variable
12837         name accordingly.
12838         (gl_FUNC_GETCWD, gl_PREREQ_GETCWD): New macros.  Revamp to
12839         accommodate new getcwd.c.
12840         * m4/jm-macros.m4 (gl_MACROS): Don't require GL_FUNC_GETCWD_PATH_MAX.
12841         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_MEMPCPY.
12842         * m4/xgetcwd.m4 (gl_XGETCWD): Replace with gl_FUNC_GETCWD, since
12843         that's all we need now.
12844
12845 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
12846
12847         * m4/argp.m4 (gl_ARGP): Require gl_GETOPT_SUBSTITUTE unconditionally:
12848         argp-parse.c depends on getopt internals, that means we should
12849         always use our getopt, to be on the safe side.
12850         * m4/getopt.m4 (gl_GETOPT): Check if GETOPT_H is already set, in
12851         order not to spoil the result of an eventual previous invocation
12852         of gl_GETOPT_SUBSTITUTE.
12853
12854 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
12855
12856         * lib/getopt_.h: Re-addition of __getopt_argv_const caused
12857         redefinition warnings. To avoid them, include the defines
12858         in `#if !defined __need_getopt ... #endif'. The only place
12859         where __getopt_argv_const is used is in definitions
12860         of getopt_long and getopt_long_only below, which are as well
12861         protected by `#ifndef __need_getopt'.
12862         [defined __GETOPT_PREFIX && !defined __need_getopt]: Undef
12863         __need_getopt after including <stdio.h> and <unistd.h> These
12864         headers might have defined it.
12865
12866 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
12867
12868         * m4/utimens.m4 (gl_UTIMENS): Check for futimes function.
12869
12870 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
12871
12872         * lib/utimens.c (__attribute__, ATTRIBUTE_UNUSED): New macros.
12873         (futimens): New function, which uses futimes if available.
12874         (futimens, utimens): Support timespec==NULL, with same semantics
12875         as utime and utimens.
12876         * lib/utimens.h (futimens): New decl.
12877
12878 2004-11-23  Jim Meyering  <jim@meyering.net>
12879
12880         * lib/getopt_.h: Remove trailing blanks.
12881
12882 2004-11-23  Jim Meyering  <jim@meyering.net>
12883
12884         * lib/__fpending.c: Add comment.
12885
12886 2004-11-22  Paul Eggert  <eggert@cs.ucla.edu>
12887
12888         * modules/canonicalize (Depends-on): Add xreadlink.
12889         Problem reported by James Youngman.
12890
12891 2004-11-20  Paul Eggert  <eggert@cs.ucla.edu>
12892
12893         * lib/getopt_.h (__GETOPT_CONCAT, __GETOPT_XCONCAT, __GETOPT_ID):
12894         New macros.
12895         (getopt, getopt_long, getopt_long_only, optarg, opterr, optind,
12896         optopt): Use them instead of invoking ## directly; otherwise, the
12897         symbols will be __GETOPT_PREFIXgetopt rather than rpl_getopt.
12898
12899 2004-11-19  Bruno Haible  <bruno@clisp.org>
12900
12901         * lib/strtok_r.c: Move comments from here...
12902         * lib/strtok_r.h: ... to here.
12903
12904 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
12905
12906         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Check for buggy calloc
12907         implementations that mishandle size_t overflow.
12908
12909 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
12910
12911         * lib/realloc.c (rpl_realloc): Call 'free' if n==0, since realloc
12912         might fail.  Problem reported by Yoann Vandoorselaere.
12913         * lib/calloc.c (rpl_calloc): Defend against buggy calloc
12914         implementations that mishandle size_t overflow.
12915
12916 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
12917
12918         * modules/canon-host (Depends-on): Add strdup.
12919
12920 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
12921
12922         * m4/canon-host.m4 (gl_CANON_HOST): Check for getaddrinfo.
12923
12924 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
12925
12926         * lib/canon-host.c: Include "strdup.h".
12927         (canon_host): Use getaddrinfo if available, so that IPv6 works.
12928         Use strdup instead of malloc/strcpy to duplicate strings.
12929
12930         * lib/human.h (LONGEST_HUMAN_READABLE): Add 1 for space before unit.
12931         (human_space_before_unit): New constant.
12932         * lib/human.c (human_readable): Support it.
12933
12934         * lib/xgetcwd.c: Include <limits.h>, for PATH_MAX.
12935         (xgetcwd): Set errno correctly when failing.
12936         Work around Solaris 9 bug: getcwd sets errno==ERANGE even though
12937         the failure is actually due to a PATH_MAX problem.
12938
12939         Further getopt changes to make it more likely that glibc will
12940         buy the changes back.
12941         * lib/getopt.c (POSIXLY_CORRECT): New constant.
12942         (getopt): Use it, so to preserve glibc semantic
12943         * lib/getopt1.c (getopt_long, getopt_long_only): Arg is char * const *
12944         when compiling for libc.
12945         * lib/getopt_.h (__getopt_argv_const): Bring it back.
12946         (getopt_long, getopt_long_only): Use it.
12947
12948         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
12949         _getopt_internal): New arg POSIXLY_CORRECT.  All callers changed.
12950         (getopt): Argv is now char * const *, as per standard.
12951         (_getopt_internal_r, _getopt_internal): Argv is now char **,
12952         not char *__getopt_argv_const *.
12953         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
12954         _getopt_long_only_r): Likewise.
12955         * lib/getopt_.h (getopt, getopt_long, geopt_long_only): Likewise.
12956         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
12957         _getopt_long_r, _getopt_long_only_r): Likewise.
12958         * lib/getopt_.h (__getopt_argv_const): Remove.
12959         (getopt): Argv is now char * const *, as per standard.
12960
12961         * lib/getdate.y (tORDINAL): New token.
12962         (day, relunit): Allow it for relative times.
12963         (relative_time_table): Use tORDINAL for ordinals.
12964
12965 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
12966
12967         * doc/getdate.texi (General date syntax): "next" is 1, not 2.
12968         Document that "second" isn't allowed as an ordinal number.
12969
12970 2004-11-16  Jim Meyering  <jim@meyering.net>
12971
12972         * modules/closeout (Depends-on): Add fpending.
12973
12974 2004-11-15  Jim Meyering  <jim@meyering.net>
12975
12976         * lib/closeout.c: Include "__fpending.h" once again.
12977         Include <stdbool.h>.
12978         (close_stdout): Don't fail just because stdout was closed initially,
12979         since some programs don't write to stdout in the normal course of
12980         operation (other than --version and --help), and we don't want this
12981         function to make e.g. `touch file >&-' fail.
12982         But do fail if it was closed and someone has tried to write to it.
12983         E.g., `printf foo >&-' must fail.
12984
12985 2004-11-13  Jim Meyering  <jim@meyering.net>
12986
12987         * m4/jm-macros.m4: Do require gl_FUNC_FPENDING.
12988
12989 2004-11-12  Simon Josefsson  <jas@extundo.com>
12990
12991         * config/srclist.txt: Add strtok_r.c, glibc bought our changes, but a
12992         small doc fix is still pending.
12993
12994 2004-11-11  Simon Josefsson  <jas@extundo.com>
12995
12996         * modules/strtok_r: New file.
12997
12998         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
12999         strtok_r.
13000
13001 2004-11-11  Simon Josefsson  <jas@extundo.com>
13002
13003         * m4/strtok_r.m4: New file.
13004
13005         * m4/getopt.m4: Replace opterr.
13006
13007 2004-11-11  Simon Josefsson  <jas@extundo.com>
13008
13009         * lib/strtok_r.h, strtok_r.c: New file.
13010
13011 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
13012
13013         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): Define __GETOPT_PREFIX instead
13014         of replacing opterr, getopt, etc.  This should handle the
13015         powerpc-apple-darwin5.5 problem recently noted by Simon Josefsson.
13016
13017 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
13018
13019         * lib/getopt_.h (__getopt_argv_const): New macro, to be used so that
13020         we can stop lying to compilers about the constness of argv when we
13021         are compiled outside glibc.
13022         (getopt, getopt_long, getopt_long_only): Use it.
13023         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
13024         _getopt_internal, getopt): Likewise.
13025         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
13026         _getopt_long_only_r): Likewise.
13027         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
13028         _getopt_long_r, _getopt_long_only_r): Likewise.
13029
13030         * lib/getopt_.h [defined __GETOPT_PREFIX && !defined __need_getopt]:
13031         Include <stdlib.h> and <stdio.h>, and <unistd.h> if available.
13032         Then rename getopt to __GETOPT_PREFIX##getopt, and so forth for
13033         the other external symbols.
13034         (getopt) [!defined __GNU_LIBRARY]: Use prototype, not old-style
13035         declaration, since the above renaming now works around collisions.
13036
13037 2004-11-11  Jim Meyering  <jim@meyering.net>
13038
13039         * lib/linebreak.c: Remove trailing blanks.
13040         * lib/alloca_.h: Likewise.
13041         * lib/acosl.c: Likewise.
13042         * lib/euidaccess.c: Likewise.
13043         * lib/allocsa.h: Likewise.
13044
13045 2004-11-10  Simon Josefsson  <jas@extundo.com>
13046
13047         * m4/getaddrinfo.m4: New file.
13048
13049 2004-11-10  Simon Josefsson  <jas@extundo.com>
13050
13051         * lib/getaddrinfo.h, lib/getaddrinfo.c: New files.
13052
13053 2004-11-10  Simon Josefsson  <jas@extundo.com>
13054
13055         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
13056         getaddrinfo.
13057
13058         * modules/getaddrinfo: New file.
13059
13060 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
13061
13062         * m4/prereq.m4 (gl_PREREQ): Require gt_FUNC_SETENV.
13063
13064 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
13065
13066         * lib/mktime.c (SHR): New macro, which is a portable
13067         substitute for >> that should work even on Crays.
13068         (TIME_T_MIDPOINT, ydhms_diff, __mktime_internal): Use it.
13069         Problem reported by Mark D. Baushke in
13070         <http://lists.gnu.org/archive/html/bug-gnulib/2004-11/msg00071.html>.
13071         * lib/getdate.y (SHR): Likewise.
13072         (tm_diff): Use it.
13073         * lib/strftime.c (SHR): Likewise.
13074         (tm_diff): Use it.
13075         * lib/quotearg.c (struct quoting_options): Use unsigned int for
13076         quote_these_too, so that right shifts are well defined.  All uses
13077         changed.
13078
13079 2004-11-10  Jim Meyering  <jim@meyering.net>
13080
13081         Ensure that no close failure goes unreported.
13082         * lib/closeout.c (close_stdout): Always close stdout.  I.e., don't
13083         return early when it seems there's nothing to flush.
13084         Don't include __fpending.h.
13085
13086 2004-11-10  Jim Meyering  <jim@meyering.net>
13087
13088         * modules/closeout (Depends-on): Remove fpending.
13089
13090 2004-11-10  Jim Meyering  <jim@meyering.net>
13091
13092         * m4/jm-macros.m4 (gl_MACROS): Don't require gl_FUNC_FPENDING.
13093
13094 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
13095
13096         * m4/strftime.m4 (_gl_STRFTIME_PREREQS): Remove.  Move its body to
13097         gl_FUNC_STRFTIME.
13098         (gl_FUNC_STRFTIME): Use AC_CHECK_FUNCS_ONCE and AC_CHECK_HEADERS_ONCE
13099         and AC_REQUIRE when possible, to avoid duplicate checks.
13100         Check for <wchar.h>.
13101
13102 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
13103
13104         * lib/strftime.c (DO_MULTIBYTE): Check for wchar.h, too.
13105
13106 2004-11-09  Bruno Haible  <bruno@clisp.org>
13107
13108         * m4/sockpfaf.m4: New file.
13109
13110 2004-11-05  Bruno Haible  <bruno@clisp.org>
13111
13112         * lib/readlink.c: Include stddef.h, needed for size_t on Woe32.
13113         Reported by Mark D. Baushke <mdb@cvshome.org>.
13114
13115 2004-11-04  Bruno Haible  <bruno@clisp.org>
13116
13117         2004-09-11  Bruno Haible  <bruno@clisp.org>
13118                 * allocsa.valgrind: New file.
13119         2004-02-06  Bruno Haible  <bruno@clisp.org>
13120                 * allocsa.h (sa_alignof): Define differently with HP-UX cc, to
13121                 avoid a bug of this cc on HP-UX 10.20 dealing with enums.
13122                 Reported by Christopher Seip <chris.seip@hp.com>.
13123
13124 2004-11-04  Bruno Haible  <bruno@clisp.org>
13125
13126         * modules/allocsa (Files): Add lib/allocsa.valgrind.
13127         (Makefile.am): Distribute it.
13128
13129 2004-11-03  Paul Eggert  <eggert@cs.ucla.edu>
13130
13131         * lib/xreadlink.c (xreadlink): AIX and HP-UX readlink return -1
13132         with errno == ERANGE if the buffer is too small.
13133         Problem reported by Mark D. Baushke.
13134
13135 2004-11-03  Albert Chin <china@thewrittenword.com>
13136             Paul Eggert  <eggert@cs.ucla.edu>
13137
13138         * m4/uint32_t.m4 (gl_AC_TYPE_UINT32_T): When determining uint32_t
13139         equivalent, substitute $ac_type for equivalent type rather than
13140         blindly using uint32_t *always* which won't work if uint32_t is not
13141         available.  Define _UINT32_T to work around typedef of uint32_t if
13142         <sys/sched.h>, <pthread.h>, or <semaphore.h> used on Solaris
13143         2.5.1.
13144
13145 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
13146
13147         * m4/jm-macros.m4: Sync from coreutils.
13148         (gl_MACROS): Check for mbrlen, for pathchk.
13149         (gl_CHECK_ALL_TYPES): Require AC_TYPE_MBSTATE_T, for pathchk.
13150
13151 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
13152
13153         * lib/xreadlink.c (MAXSIZE): New macro.
13154         (xreadlink): Use it instead of SSIZE_MAX.  Ensure initial buffer
13155         size does not exceed MAXSIZE.  Avoid cast.
13156         As suggested by Mark D. Baushke in
13157         <http://lists.gnu.org/archive/html/bug-gnulib/2004-11/msg00009.html>,
13158         if readlink fails with buffer size just under MAXSIZE, try again
13159         with MAXSIZE.
13160
13161 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
13162
13163         * config/srclist.txt: Add mktime.c; glibc bought all our changes.
13164
13165 2004-11-02  Derek R. Price  <derek@ximbiot.com>
13166         and  Paul Eggert  <eggert@cs.ucla.edu>
13167
13168         * lib/getdate.y [!TEST]: Include <stdio.h>, since we use sprintf now.
13169         (get_date): Overparenthesize to avoid GCC warning.
13170
13171 2004-11-02  Bruno Haible  <bruno@clisp.org>
13172
13173         * m4/setenv.m4 (gt_FUNC_SETENV): Define VOID_UNSETENV if unsetenv()
13174         returns void.
13175
13176 2004-11-02  Bruno Haible  <bruno@clisp.org>
13177
13178         * lib/setenv.h (unsetenv): Define as a macro if the system's unsetenv()
13179         function returns void.
13180
13181 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
13182
13183         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for declarations of
13184         fflush_unlocked, flockfile, funlockfile, funlockfile,
13185         fputs_unlocked, putc_unlocked.
13186
13187 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
13188
13189         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
13190         (funlockfile, fputs_unlocked, putc_unlocked): Don't define if
13191         already declared.
13192
13193 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
13194
13195         * modules/getdate (Files): Add doc/getdate.texi.
13196         (Depends-on): Add setenv, xalloc.
13197
13198 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
13199
13200         * lib/getdate.y: Add support for TZ="foo" within a date string.
13201         Fix some bugs near time_t boundaries.  Reject dates with
13202         out-of-range components, e.g., "Sept 31".
13203         Include <stdlib.h>, "setenv.h", "xalloc.h".
13204         (ISDIGIT_LOCALE): Remove; unused.
13205         Note that the TZ and time functions used here are not reentrant.
13206         (mktime_ok, get_tz): New functions.
13207         (TZBUFSIZE): New constant.
13208         (get_date): Parse leading TZ="foo".  Reject out-of-range components;.
13209         This requires that we sometimes generate our own TZ="XXX..." setting.
13210
13211 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
13212
13213         * doc/getdate.texi: New file, from coreutils with modifications for
13214         the new TZ parsing.
13215
13216 2004-10-27  Derek R. Price  <derek@ximbiot.com>
13217
13218         * lib/mktime.c (not_equal_tm): Remove redundant check.
13219
13220 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
13221
13222         * modules/regex (lib_SOURCES): Add regex.c.
13223         Reported by James Youngman in
13224         <http://lists.gnu.org/archive/html/bug-gnulib/2004-10/msg00199.html>.
13225
13226 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
13227
13228         * lib/getdate.y: Use Bison 1.875 features, and some minor
13229         code cleanups.  This change does not affect semantics.
13230         Don't include <stdlib.h>; no longer needed.
13231         Don't include unlocked-io.h; only the "#if TEST" code uses
13232         stdio, and performance isn't crucial there.
13233         (PC, YYLEX_PARAM, YYPARSE_PARAM): Remove; replaced by
13234         Bison 1.875 features as described below.
13235         All uses of "PC." replaced by "pc->".
13236         (YYSTYPE): Add a forward declaration.
13237         (yylex, yyerror): Use full prototypes in forward decls.
13238         Use "%pure-parser" rather than obsolescent "%pure_parser".
13239         Use %parse-param and %lex-param instead of obsolescent
13240         YYPARSE_PARAM and YYLEX_PARAM.
13241         (meridian_table, month_and_day_table, time_units_table,
13242         relative_time_table, time_zone_table, military_table,
13243         lookup_zone, lookup_word, get_date):
13244         Use NULL instead of 0 where appropriate.
13245         (to_hour): Avoid abort (), to avoid a dependency on
13246         stdlib.h.
13247         (yyerror, yylex): Now accepts parser_control * arg.
13248         (main) [TEST]: Use '\0' rather than 0 for char.
13249
13250 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
13251
13252         * m4/getpagesize.m4 (gl_GETPAGESIZE): Check for <sys/param.h>.
13253
13254 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
13255
13256         * lib/getpagesize.c (getpagesize): Don't assume <sys/param.h> exists.
13257         It's now the caller's responsibility to handle the case where
13258         !HAVE_GETPAGESIZE && !defined getpagesize.
13259
13260         * lib/mktime.c (leapyear): Arg is long int, not int.
13261
13262 2004-10-18  Paul Eggert  <eggert@cs.ucla.edu>
13263
13264         * lib/argp-fs-xinl.c, argp-xinl.c: Update from glibc.
13265
13266 2004-10-17  Paul Eggert  <eggert@cs.ucla.edu>
13267
13268         * gnulib-tool (func_emit_lib_Makefile_am): Fix typo: a $ was
13269         missing.  Problem reported by James Youngman.
13270
13271 2004-10-16  Simon Josefsson  <jas@extundo.com>
13272
13273         * gnulib-tool: Fix comments.  Fix parse problem.
13274         (func_emit_lib_Makefile_am): Don't hard code a in libgl_a_SOURCES.
13275
13276 2004-10-15  Paul Eggert  <eggert@cs.ucla.edu>
13277
13278         * m4/getopt.m4 (gl_GETOPT): Detect and reject the incompatible BSD
13279         implementation of getopt_long.  Problem reported by Alexander Taler in:
13280         http://lists.gnu.org/archive/html/bug-gnulib/2004-10/msg00103.html
13281
13282 2004-10-15  Bruno Haible  <bruno@clisp.org>
13283
13284         * gnulib-tool: Untabify. Initialize supplied_libname.
13285         (func_usage): More homogenous output.
13286         (func_modules_transitive_closure, func_modules_to_filelist,
13287         func_emit_lib_Makefile_am): New functions.
13288         (func_import): New function, extracted from big case statement. Use
13289         func_get_license, func_modules_transitive_closure,
13290         func_modules_to_filelist, func_emit_lib_Makefile_am. Initialize
13291         opt_lgpl. Don't use test -a, as it's not portable.
13292         (func_create_testdir): Use func_modules_transitive_closure,
13293         func_modules_to_filelist, func_emit_lib_Makefile_am.
13294
13295 2004-10-15  Bruno Haible  <bruno@clisp.org>
13296
13297         * gnulib-tool (func_import): Let gl_INIT define LTALLOCA when needed.
13298
13299 2004-10-15  Bruno Haible  <bruno@clisp.org>
13300
13301         * gnulib-tool (func_emit_lib_Makefile_am): Add markers to separate
13302         the portions belonging to each module.
13303         Suggested by Derek Robert Price <derek@ximbiot.com>.
13304
13305 2004-10-12  Simon Josefsson  <jas@extundo.com>
13306
13307         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
13308         (fputs_unlocked, putc_unlocked) [!_LIBCS && !USE_UNLOCKED_IO]: Map
13309         to real functions.
13310
13311 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
13312
13313         * modules/vsnprintf: New file.
13314
13315 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
13316
13317         * m4/vsnprintf.m4: New file.
13318
13319 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
13320
13321         * lib/vsnprintf.h: New file.
13322         * lib/vsnprintf.c: New file.
13323
13324 2004-10-11  Bruno Haible  <bruno@clisp.org>
13325
13326         * MODULES.html.sh (Support for systems lacking ISO C 99): Add
13327         vsnprintf.
13328
13329 2004-10-10  Paul Eggert  <eggert@cs.ucla.edu>
13330
13331         * config/srclistvars.sh: Add GNUSTANDARDS (for eggert only).
13332
13333 2004-10-07  Bruno Haible  <bruno@clisp.org>
13334
13335         * lib/snprintf.c (snprintf): Avoid a memory allocation if the result
13336         fits into the provided buffer.
13337
13338 2004-10-06  Paul Eggert  <eggert@cs.ucla.edu>
13339
13340         * lib/diacrit.c, diacrit.h: Add GPL notice.
13341
13342         * lib/atanl.c, logl.c: Add GPL notice, to match glibc's added LGPL
13343         notice.
13344         * lib/atanl.c (atanl): Keep the code as similar to glibc as possible.
13345         * lib/logl.c (logl): Keep the code as similar to glibc as possible.
13346         This avoids a potential constant-folding bug.
13347
13348 2004-10-05  Bruno Haible  <bruno@clisp.org>
13349
13350         * m4/strsep.m4 (gl_FUNC_STRSEP): Require AC_GNU_SOURCE. Don't check
13351         for the declaration of strsep.
13352
13353 2004-10-05  Bruno Haible  <bruno@clisp.org>
13354
13355         * lib/strsep.h: Don't declare strsep() if HAVE_STRSEP.
13356
13357 2004-10-04  Simon Josefsson  <jas@extundo.com>
13358
13359         * modules/memmem: New file.
13360         * tests/test-memmem.c: New file.
13361         * MODULES.html.sh (Extra functions based on ANSI C 89): Add memmem.
13362
13363 2004-10-04  Simon Josefsson  <jas@extundo.com>
13364
13365         * m4/memmem.m4: New file.
13366
13367 2004-10-04  Simon Josefsson  <jas@extundo.com>
13368
13369         * lib/memmem.h: New file.
13370         * lib/memmem.c: New file, taken from glibc.
13371
13372 2004-10-04  Simon Josefsson  <jas@extundo.com>
13373
13374         * lib/error.c, md5.c, regex.c: Use '#if USE_UNLOCKED_IO' instead of
13375         '#ifdef USE_UNLOCKED_IO'.
13376
13377 2004-10-04  Simon Josefsson  <jas@extundo.com>
13378
13379         * config/srclist.txt: Add memmem from glibc.
13380
13381 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
13382
13383         * modules/xalloc (Files, Makefile.am): Remove xstrdup.c.
13384
13385         * modules/argmatch, modules/argp, modules/closeout, modules/error,
13386         modules/exclude, modules/getdate, modules/getline,
13387         modules/getndelim2, modules/getpass, modules/getpass-gnu,
13388         modules/getusershell, modules/linebuffer, modules/md5,
13389         modules/mountlist, modules/posixtm, modules/readtokens,
13390         modules/readutmp, modules/regex, modules/sha1,
13391         modules/version-etc, modules/yesno:
13392         Remove dependency on unlocked-io.
13393
13394 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
13395
13396         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Remove.  All uses removed.
13397
13398         * m4/unlocked-io.m4: Add copyright notice.
13399         (gl_FUNC_GLIBC_UNLOCKED_IO): Define USE_UNLOCKED_IO.
13400
13401 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
13402
13403         * lib/xalloc.h (xmemdup): Renamed from xclone.  All uses changed.
13404         * lib/xmalloc.c (xmemdup): Likewise.
13405         * lib/xalloc.h (CCLONE, CLONE, NEW, XCALLOC, XMALLOC, XREALLOC,
13406         XFREE): Remove these long-obsolescent macros.
13407         * lib/xmalloc.c (xstrdup): Implementation moved here from xstrdup.c
13408         * lib/xstrdup.c: Remove.
13409
13410         * lib/regex.c (re_comp): Cast gettext return value to char *,
13411         Problem reported by Martin Neitzel via Mark D. Baushke.
13412
13413 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
13414
13415         * lib/argmatch.c, closeout.c, error.c, exclude.c, getdate.y,
13416         getndelim2.c, getpass.c, getusershell.c, linebuffer.c,
13417         md5.c, mountlist.c, posixtm.c, readtokens.c, readutmp.c,
13418         regex.c, sha1.c, version-etc.c, yesno.c:
13419         Include "unlocked-io.h" only if USE_UNLOCKED_IO.
13420         * lib/unlocked-io.h: Don't worry about USE_UNLOCKED_IO; that's now
13421         the includer's responsibility.
13422
13423         Sync from coreutils.
13424
13425         * lib/modechange.c (mode_compile): Don't decrement a pointer that
13426         points to the start of a string, as the C Standard says the
13427         resulting behavior is undefined.
13428
13429         * lib/backupfile.h (enum backuptype): Rename none -> no_backups,
13430         simple -> simple_backups, numbered_existing ->
13431         numbered_existing_backups, numbered -> numbered_backups
13432         to avoid shadowing problems.  All uses changed.
13433         * lib/argmatch.c (enum backuptype) [defined TEST]: Likewise.
13434         * lib/backupfile.c (check_extension, numbered_backup):
13435         Rename locals to avoid shadowing 'basename'.
13436         * lib/backupfile.h (VALID_BACKUP_TYPE): Don't evaluate arg more than
13437         once.
13438
13439         * lib/.cppi-disable: Add getopt_.h, getopt_int.h.
13440         * lib/.cvsignore: Add getopt.h.
13441
13442 2004-10-04  Bruno Haible  <bruno@clisp.org>
13443
13444         * modules/README: New file.
13445         * gnulib-tool (func_all_modules, func_verify_module): modules/README is
13446         not a module.
13447
13448 2004-10-02  Jim Meyering  <jim@meyering.net>
13449
13450         * lib/dirfd.h, getpagesize.h: Add copyright notice.
13451
13452 2004-10-01  Yoann Vandoorselaere <yoann@prelude-ids.org>
13453
13454         * modules/strsep: New file.
13455
13456 2004-10-01  Yoann Vandoorselaere <yoann@prelude-ids.org>
13457
13458         * m4/strsep.m4: New file.
13459
13460 2004-10-01  Yoann Vandoorselaere <yoann@prelude-ids.org>
13461
13462         * lib/strsep.h: New file.
13463         * lib/strsep.c: New file.
13464
13465 2004-10-01  Simon Josefsson  <jas@extundo.com>
13466
13467         * lib/snprintf.c (snprintf): Handle size==0.
13468
13469 2004-10-01  Simon Josefsson  <jas@extundo.com>
13470             Bruno Haible  <bruno@clisp.org>
13471
13472         * lib/snprintf.c: Include <stdarg.h>, <stdlib.h>, <string.h>.
13473         (snprintf): Declare 'args'.
13474
13475 2004-10-01  Paul Eggert  <eggert@cs.ucla.edu>
13476
13477         * lib/snprintf.c: Remove comments as to why each header is needed.
13478
13479 2004-10-01  Bruno Haible  <bruno@clisp.org>
13480
13481         * MODULES.html.sh: Add strsep.
13482
13483 2004-09-30  Simon Josefsson  <jas@extundo.com>
13484
13485         * modules/snprintf: New file.
13486
13487 2004-09-30  Simon Josefsson  <jas@extundo.com>
13488
13489         * m4/snprintf.m4: New file.
13490
13491 2004-09-30  Simon Josefsson  <jas@extundo.com>
13492
13493         * lib/snprintf.h, lib/snprintf.c: New files.
13494
13495 2004-09-30  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
13496
13497         * lib/argp-help.c (canon_doc_option): Fixed coredump if *name==NULL
13498         (hol_entry_help): Never translate an empty string.
13499         Do not translate option tag (opt->name) if OPTION_NO_TRANS is set
13500         * lib/argp.h (OPTION_NO_TRANS): New option.
13501
13502 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
13503
13504         * modules/argp (Maintainer): Replace Simon Josefsson
13505         by Sergey Poznyakoff.
13506
13507 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
13508
13509         * config/srclist.txt: Comment-out argp/argp.h, until we get the argp
13510         changes merged back into glibc.
13511
13512 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
13513
13514         * MODULES.html.sh (Support for systems lacking ISO C 99): Add snprintf.
13515
13516 2004-09-29  Oskar Liljeblad  <oskar@osk.mine.nu>
13517
13518         * lib/xvasprintf.c: Include xalloc.h.
13519         (xvasprintf): Use xalloc_die, not xmalloc_die.
13520
13521 2004-09-29  Bruno Haible  <bruno@clisp.org>
13522
13523         * modules/alloca-opt: New file, derived from modules/alloca.
13524         * modules/allocsa: Depend on alloca-opt instead of alloca.
13525         * modules/setenv: Likewise.
13526         * modules/vasnprintf: Likewise.
13527         * MODULES.html.sh: Add alloca-opt.
13528
13529 2004-09-28  Simon Josefsson  <jas@extundo.com>
13530
13531         * gnulib-tool: New parameter --lgpl, to asseert that modules are
13532         LGPL, and to replace license template from GPL to LGPL.
13533
13534 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
13535
13536         * modules/dummy: Change license to LGPL.
13537
13538 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
13539
13540         * lib/dummy.c: Change copyright notice to FSF, and license to GPL.
13541
13542 2004-09-24  Simon Josefsson  <jas@extundo.com>
13543
13544         * modules/minmax (License): Change from GPL to LGPL.
13545
13546 2004-09-23  Simon Josefsson  <jas@extundo.com>
13547
13548         * gnulib-tool (--import): Typo.
13549
13550 2004-09-23  Simon Josefsson  <jas@extundo.com>
13551
13552         * gnulib-tool (--import): Make sure *.m4 end up in m4/ by default.
13553
13554 2004-09-22  Bruno Haible  <bruno@clisp.org>
13555
13556         * modules/*: Add 'License' field.
13557         * gnulib-tool: Accept --extract-license option.
13558         (func_get_license): New function.
13559
13560 2004-09-21  Bruno Haible  <bruno@clisp.org>
13561
13562         * modules/vasnprintf (Files): Add m4/stdint_h.m4, m4/inttypes_h.m4.
13563         Reported by Simon Josefsson.
13564
13565 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
13566
13567         * modules/inttostr (Files): Add m4/longlong.m4, since it uses
13568         gl_AC_TYPE_LONG_LONG.
13569
13570 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
13571
13572         * config/srclist.txt: Add getsubopt.c, since libc bought our changes.
13573
13574 2004-09-18  Simon Josefsson  <jas@extundo.com>
13575         and  Paul Eggert  <eggert@cs.ucla.edu>
13576
13577         * gnulib-tool: Replace various ad-hoc automake/autoconf/aclocal
13578         calls with autoreconf.  Define GL_LIB.
13579
13580 2004-09-14  Karl Berry  <karl@gnu.org>
13581
13582         * config/srclist.txt: unsync setenv.c, sigh.
13583
13584 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
13585
13586         * lib/argp-pvh.c (argp_program_version_hook): Provide initial value.
13587         Problem reported by Bruno Haible in:
13588         http://lists.gnu.org/archive/html/bug-tar/2004-09/msg00023.html
13589
13590 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
13591
13592         * config/srclist.txt: Comment out argp-pvh.c.
13593
13594 2004-09-11  Paul Eggert  <eggert@cs.ucla.edu>
13595
13596         * lib/mempcpy.h: Wrap the entire include file inside #ifndef mempcpy,
13597         in case some system header has #define'd it.  Problem reported by
13598         Soeren D. Schulze in
13599         <http://lists.gnu.org/archive/html/bug-gnulib/2004-09/msg00017.html>.
13600
13601 2004-09-09  Karl Berry  <karl@gnu.org>
13602
13603         * regex.[ch]: delete from the root.  These were supposed to be
13604                 synced with emacs cvs, but this has not happened for about
13605                 a year, and anyway nothing else uses emacs regex.[ch].
13606                 bug-gnulib mail from Jeff Bailey, 9 Sep 2004 15:49:24 -0700.
13607                 lib/regex[.ch] is untouched.
13608
13609 2004-09-09  Bruno Haible  <bruno@clisp.org>
13610
13611         * modules/vasnprintf (Files): Add m4/eoverflow.m4.
13612
13613 2004-09-09  Bruno Haible  <bruno@clisp.org>
13614
13615         * m4/eoverflow.m4: New file, taken from GNU libiconv eilseq.m4 with
13616         modifications.
13617         * m4/vasnprintf.m4 (gl_FUNC_VASNPRINTF): Require gl_EOVERFLOW.
13618
13619 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
13620
13621         * modules/xvasprintf: New file.
13622         * MODULES.html.sh (Extra functions based on ANSI C 89): Add vasprintf.
13623
13624 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
13625
13626         * lib/xvasprintf.h: New file.
13627         * lib/xvasprintf.c: New file.
13628         * lib/xasprintf.c: New file.
13629
13630 2004-09-08  Bruno Haible  <bruno@clisp.org>
13631
13632         * m4/stdint.m4: New file, taken from GNU clisp with modifications.
13633
13634 2004-09-08  Bruno Haible  <bruno@clisp.org>
13635
13636         * lib/vasnprintf.c (VASNPRINTF): Signal EOVERFLOW if the resulting
13637         length is > INT_MAX.
13638         * lib/vasprintf.c (vasprintf): Don't test for length > INT_MAX any
13639         more.
13640
13641 2004-09-08  Bruno Haible  <bruno@clisp.org>
13642
13643         * lib/stdint_.h: New file, taken from GNU clisp.
13644
13645 2004-09-08  Bruno Haible  <bruno@clisp.org>
13646             Oskar Liljeblad  <oskar@osk.mine.nu>
13647
13648         * modules/stdint: New file.
13649         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdint.
13650
13651 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
13652
13653         Import from coreutils.
13654         * lib/userspec.c: Don't use <alloca.h>, so that we don't use alloca on
13655         strings on unbounded length.  alloca's performance benefits aren't
13656         that important here.
13657         (V_STRDUP): Remove.
13658         (parse_with_separator): New function, with most of the internals
13659         of the old parse_user_spec.  Allow user to omit both user and group,
13660         for compatibility with FreeBSD.
13661         Clone only the user name, not the entire spec.
13662         Do not set *uid, *gid unless entirely successful.
13663         Avoid memory leak in some failing cases.
13664         Fix regression for USER.GROUP reported by Dmitry V. Levin in
13665         <http://lists.gnu.org/archive/html/bug-coreutils/2004-08/msg00102.html>
13666         (parse_user_spec): Rewrite to use parse_with_separator.
13667
13668 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
13669
13670         * modules/userspec: Don't depend on alloca.
13671
13672 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
13673
13674         * m4/userspec.m4 (gl_USERSPEC): Don't require AC_FUNC_ALLOCA.
13675
13676 2004-08-17  Paul Eggert  <eggert@cs.ucla.edu>
13677
13678         * MODULES.html.sh: Add xalloc-die, c-strtod, c-strtold, raise,
13679         readtokens0, getcwd, fcntl-safer, canonicalize, cycle-check,
13680         utimecmp, utimens, xnanosleep.  Rename sha to sha1.
13681
13682 2004-08-16  Simon Josefsson  <jas@extundo.com>
13683
13684         * gnulib-tool: Use sed instead of autoconf --trace, inspired by
13685         libtoolize behaviour by "Gary V. Vaughan" <gary@gnu.org>.
13686         Add --dry-run for --import.
13687         Let user provided command line parameters override configure.ac
13688         settings.
13689
13690 2004-08-12  Simon Josefsson  <jas@extundo.com>
13691
13692         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): New macro,
13693         as discussed with Paul Eggert in threads rooted at
13694         <http://lists.gnu.org/archive/html/bug-gnulib/2004-06/msg00039.html>
13695         and
13696         <http://lists.gnu.org/archive/html/bug-gnulib/2004-07/msg00001.html>.
13697         Before, the test was empty, and relied on ELIDE_CODE in source
13698         code.)
13699         (gl_PREREQ_GETOPT): New macro.
13700         (gl_GETOPT): Use them.
13701
13702 2004-08-12  Simon Josefsson  <jas@extundo.com>
13703
13704         * lib/getopt.c, getopt1.c: Remove ELIDE_CODE hack.
13705         * lib/getopt_.h: Renamed from getopt.h.
13706
13707 2004-08-12  Simon Josefsson  <jas@extundo.com>
13708
13709         * gnulib-tool: Add --source-base, --m4-base, --libtool options.
13710         Change default library name from libfoo to libgnu.
13711         Now, if you have a configure.ac that says:
13712                 gl_SOURCE_BASE(gl)
13713                 gl_M4_BASE(gl/m4)
13714                 gl_MODULES(error getopt etcetera)
13715                 gl_INIT
13716         you can import all you need by running:
13717                 ../gnulib/gnulib-tool --import
13718
13719         * modules/getopt (Files): Rename getopt.h to getopt_.h.
13720         (Makefile.am): Rewrite, use logic from argz.
13721         (Include): Use <getopt.h> instead of "getopt.h".
13722
13723 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
13724
13725         * modules/argp (Files): Add m4/unlocked-io.m4.
13726         (Depends-on): Add extensions.
13727
13728 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
13729
13730         * m4/argp.m4 (gl_ARGP): Do not check for argp.h or argp_parse; nobody
13731         uses HAVE_ARGP_H or HAVE_ARGP_PARSE.
13732         Require gl_FUNC_GLIBC_UNLOCKED_IO, gl_USE_SYSTEM_EXTENSIONS.
13733         Check for program_invocation_name, program_invocation_short_name,
13734         flockfile, funlockfile, features.h, _getopt_long_only_r.
13735
13736 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
13737
13738         * lib/argp-help.c, argp-parse.c: Use "gettext.h" instead of
13739         its complicated substitute.
13740         * lib/argp-help.c: Include <errno.h>, for program_invocation_short_name
13741         and program_invocation_name.
13742         (__argp_basename) [!_LIBC]: Remove; the only use was
13743         replaced by its body.
13744         (__argp_short_program_name): Change condition from
13745         !defined __argp_short_program_name to
13746         ! (defined _LIBC || HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME),
13747         to match argp-namefrob.h.
13748         (__argp_failure): Don't assume strerror_r returns char *.
13749         * lib/argp-parse.c (N_): Define unconditionally.
13750         (argp_default_options): Fill out initializers with 0 to avoid
13751         gcc warnings.
13752
13753 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
13754
13755         * config/srclist.txt: Remove getopt.c, getopt.h (renamed to getopt_.h),
13756         getopt1.c.
13757
13758 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
13759
13760         Merge from coreutils.
13761
13762         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for wmemchr and wmemcpy.
13763
13764         * m4/obstack.m4 (gl_PREREQ_OBSTACK): Require
13765         gl_AC_HEADER_INTTYPES_H, gl_AC_HEADER_STDINT_H, gl_AC_TYPE_UINTMAX_T.
13766
13767 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
13768
13769         Merge from coreutils.
13770
13771         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Don't set to 1 if missing
13772         wmemchr or wmemcpy.  Problem reported by Robert Dahlem
13773         for Reliant Unix 5.43.
13774
13775         * lib/obstack.c: Include <inttypes.h> and <stdint.h> if available.
13776         (union fooround): Use uintmax_t, not long int.
13777         The rest is a merge from libc:
13778         [defined _LIBC]: Include <shlib-compat.h>.
13779         (_obstack) [defined _LIBC]: Remove after 2.3.4.
13780
13781         * lib/settime.c (settime): Recode to avoid warning with
13782         Sun Forte C 6U2.
13783
13784         * lib/strverscmp.c: Convert to UTF-8.
13785
13786 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
13787
13788         * modules/obstack (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
13789         m4/uintmax_t.m4.
13790
13791 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
13792
13793         * modules/xalloc-die: New file.
13794         * modules/xalloc: Remove dependencies on error, gettext, exitfail.
13795
13796         * modules/md5 (Files): Add m4/uint32_t.m4.
13797         * modules/sha1: Renamed from modules/sha.
13798         (Files):
13799         Rename lib/sha.h to lib/sha1.h.
13800         Rename lib/sha.c to lib/sha1.c.
13801         Rename m4/sha.m4 to m4/sha1.m4.
13802         (lib_SOURCES): Likewise.
13803         (configure.ac): Rename gl_SHA to gl_SHA1.
13804         (Include): sha.h -> sha1.h.
13805
13806 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
13807
13808         * m4/uint32_t.m4, m4/uintptr_t.m4: New files.
13809         * m4/sha1.m4: Renamed from sha.m4.
13810         (gl_SHA1): Renamed from gl_SHA.  All uses changed.
13811
13812 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
13813
13814         * lib/obstack.h (obstack_empty_p):
13815         Don't assume that chunk->contents is suitably aligned.
13816         * lib/obstack.c (_obstack_begin, _obstack_begin_1, _obstack_newchunk):
13817         Likewise. Problem reported by Benno in
13818         <http://sources.redhat.com/ml/libc-alpha/2004-08/msg00055.html>.
13819
13820         * lib/chown.c (rpl_chown): Work even if the file is writeable but not
13821         readable.  This could be improved further but it'd take some work.
13822
13823 2004-08-08  Simon Josefsson  <jas@extundo.com>
13824
13825         * modules/xgethostname (Depends-on): Remove exit and error (not
13826         used).
13827
13828         * modules/getpass-gnu: Add getpass.h.
13829         (Depends-on): Add stdbool.
13830         * modules/getpass: Add getpass.h.
13831
13832 2004-08-08  Simon Josefsson  <jas@extundo.com>
13833
13834         * m4/getpass.m4 (gl_FUNC_GETPASS, gl_FUNC_GETPASS_GNU):
13835         Check getpass declaration.
13836
13837 2004-08-08  Simon Josefsson  <jas@extundo.com>
13838
13839         * lib/xgethostname.c: Don't include error.h (not used).
13840
13841         * lib/getpass.h: Add.
13842         * lib/getpass.c: Include getpass.h first.
13843
13844 2004-08-08  Paul Eggert  <eggert@cs.ucla.edu>
13845
13846         * lib/xalloc-die.c: New file.
13847         * lib/xalloc.h (xalloc_fail_func, xalloc_msg_memory_exhausted): Remove.
13848         All uses removed.
13849         * lib/xmalloc.c (xalloc_fail_func, xalloc_msg_memory_exhausted):
13850         Likewise. Move inclusions of gettext.h, error.h, exitfail.h to
13851         xalloc-die.c.
13852         (_, N_, xalloc_die): Move to xalloc-die.c.
13853         * lib/userspec.c (parse_user_spaec): Use xstrdup rather than strdup,
13854         so that we needn't mess with xalloc_msg_memory_exhausted.
13855
13856         * lib/sha1.h: Renamed from sha.h.
13857         (SHA1_H): Renamed from _SHA_H.
13858         (sha1_ctx): Renamed from sha_ctx.
13859         (sha1_init_ctx): Renamed from sha_init_ctx.
13860         (sha1_process_block): Renamed from sha_process_block.
13861         (sha1_process_bytes): Renamed from sha_process_bytes.
13862         (sha1_finish_ctx): Renamed from sha_finish_ctx.
13863         (sha1_read_ctx): Renamed from sha_read_ctx.
13864         (sha1_stream): Renamed from sha_stream.
13865         (sha1_buffer): Renamed from sha_buffer.
13866         * lib/sha1.c: Likewise; renamed from sha.c.
13867         Do not include <sys/types.h>.
13868         Include <stddef.h> rather than <stdlib.h>.
13869
13870 2004-08-08  Bruno Haible  <bruno@clisp.org>
13871
13872         * lib/pathname.h (FILE_SYSTEM_PREFIX_LEN): Renamed from
13873         FILESYSTEM_PREFIX_LEN.
13874         * lib/progreloc.c: Likewise.
13875         * lib/concatpath.c (concatenated_pathname): Use FILE_SYSTEM_PREFIX_LEN.
13876
13877 2004-08-06  Simon Josefsson  <jas@extundo.com>
13878
13879         * modules/progname (Depends-on): Don't depend on stdbool.
13880
13881 2004-08-06  Simon Josefsson  <jas@extundo.com>
13882
13883         * modules/getsubopt: New file.
13884         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
13885         getsubopt.
13886
13887 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
13888
13889         More merge from coreutils.
13890
13891         * m4/utimens.m4, m4/utimecmp.m4: New files.
13892         * m4/backupfile.m4, euidacces.m4, acl.m4, afs.m4, calloc.m4, dirfd.m4,
13893         fsusage.m4, jm-macros.m4, ls-mntd-fs.m4, md5.m4, mountlist.m4,
13894         prereq.m4, sha.m4: Import changes from coreutils.
13895
13896 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
13897
13898         More merge from coreutils.
13899         * modules/raise, modules/readtokens0, modules/utimens:
13900         * modules/utimecmp, module/xnanosleep: New files.
13901         * modules/strftime: Add lib/strftime.h.
13902         Change include from <time.h> to "strftime.h".
13903         * modules/yesno: Add lib/yesno.h.
13904         * modules/backupfile: Remove lib/addext.c.
13905         * modules/euidaccess: Add stat-macros.h.
13906         * modules/canonicalize, modules/euidaccess,
13907         modules/filemode, modules/lchown, modules/makepath,
13908         modules/rmdir, modules/stat: Likewise.
13909
13910 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
13911
13912         Merge from tar.
13913         * lib/argp-help.c (make_hol, hol_append): Don't assume that
13914         SIZE_MAX is a valid preprocessor constant.
13915         (__argp_basename): Change from "#ifndef _LIBC"
13916         to "#ifndef __argp_short_program_name", so that
13917         we don't compile these functions for tar.
13918
13919         More merges from coreutils.
13920         * lib/raise.c, lib/readtokens0.h, lib/readtokens0.c, lib/strftime.h:
13921         * lib/utimens.h, lib/utimens.c, lib/utimecmp.h, lib/utimecmp.c:
13922         * lib/xnanosleep.h, lib/xnanosleep.c, lib/yesno.h: New files.
13923         * lib/addext.c: Remove; no longer needed.
13924         * lib/yesno.c, lib/argmatch.h, lib/argmatch.c, lib/backupfile.h,
13925         lib/backupfile.c, lib/euidaccess.c, lib/filemode.c, lib/closeout.c,
13926         lib/dup2.c, lib/exclude.c, lib/fileblocks.c, lib/filemode.c,
13927         lib/fnmatch.c, lib/fnmtahc_loop.c, lib/fopen-safer.c, lib/fsusage.c,
13928         lib/fsusage.h, lib/ftruncate.c, lib/full-write.c, lib/getdate.y,
13929         lib/getloadavg.c, lib/getugroups.c, lib/hard-locale.c,
13930         lib/hard-locale.h, lib/hash.c, lib/human.c, lib/human.h, lib/lchown.c,
13931         lib/lchown.h, lib/makepath.c, lib/makepath.h, lib/md5.c, lib/md5.h,
13932         lib/memchr.c, lib/memcoll.c, lib/memrchr.c, lib/modechange.c,
13933         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
13934         lib/posixtm.c, lib/putenv.c, quotearg.c, lib/quotearg.h,
13935         lib/readtokens.c, lib/readutmp.c, lib/readutmp.h, lib/rmdir.c,
13936         lib/safe-read.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c,
13937         lib/sig2str.c, lib/stat.c, lib/strtoimax.c, lib/strverscmp.c,
13938         lib/userspec.c, lib/utime.c, lib/version-etc.c., lib/xgethostname.c,
13939         lib/xmemcoll.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtod.h,
13940         lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h, lib/xstrtoumax.c:
13941         Import changes from coreutils.
13942
13943 2004-08-05  Simon Josefsson  <jas@extundo.com>
13944
13945         * m4/strdup.m4: Always run gl_PREREQ_STRDUP, since strdup.h need it.
13946
13947 2004-08-05  Simon Josefsson  <jas@extundo.com>
13948
13949         * m4/getsubopt.m4: New file.
13950
13951 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
13952
13953         Merge from coreutils.
13954
13955         * m4/c-strtod.m4, m4/canonicalize.m4, m4/fcntl-safer.m4:
13956         * m4/getcwd-path-max.m4: New files.
13957
13958         * m4/dos.m4 (gl_AC_DOS): filesystem -> file system renaming.
13959         FILESYSTEM_PREFIX_LEN ->
13960         FILE_SYSTEM_PREFIX_LEN.
13961         FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX ->
13962         FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX.
13963         FILESYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR ->
13964         FILE_SYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR.
13965
13966         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't require gl_AC_DOS, the
13967         prerequisite modules now handle the DOS stuff.
13968         Don't check for unistd.h.
13969
13970 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
13971
13972         Merge from coreutils.
13973
13974         * lib/.gdb-history: Remove; this doesn't belong here.
13975
13976         * lib/c-strtod.c, lib/c-strtod.h, lib/c-strtold.c, lib/cycle-check.c:
13977         * lib/cycle-check.h, lib/dev-ino.h, lib/canonicalize.h:
13978         * lib/canonicalize.c, lib/fcntl-safer.h, lib/fcntl-safer.c:
13979         * lib/getcwd.c: New files.
13980
13981         * lib/dirname.h: Include <stdbool.h>.
13982         (FILE_SYSTEM_PREFIX_LEN): Renamed from FILESYSTEM_PREFIX_LEN,
13983         for consistency with POSIX terminology.  All uses changed.
13984         (IS_ABSOLUTE_FILE_NAME, IS_RELATIVE_FILE_NAME): New macros.
13985         (strip_trailing_slashes): Use bool for booleans.
13986         * lib/stripslash.c (strip_trailing_slashes): Likewise.
13987
13988         * lib/error.c: Work around bug in OpenBSD 3.4 sterror_r: it
13989         sometimes returns a positive errno value even when it succeeds.
13990         (print_errno_message) [!LIBC]: Fall back on strerror if
13991         __strerror_r fails.
13992
13993         * lib/path-concat.c (mempcpy): Don't define if a system header defines
13994         it. Don't include stdio.h, stdlib.h, unistd.h, strdup.h.
13995         (longest_relative_suffix): New function.
13996         (path_concat): Use it.  Assume first argument is not NULL.
13997         Port to DOS.  Omit redundant separators.
13998         Report an error instead of returning NULL.
13999         Use mempcpy instead of memcpy.
14000         (xpath_concat): Remove: not declared or used.
14001
14002         * lib/same.h: Include <stdbool.h>
14003         (same_name): Return bool, not int.
14004         * lib/same.c (same_name): Likewise.
14005         (errno): Don't declare; we assume C89 or better now.
14006
14007         * lib/stat-macros (S_ISCTG, S_ISOFD, S_ISOFL): New macros,
14008         if not already defined.
14009
14010         * lib/xgetcwd.c (errno): Don't declare; we assume C89 or better now.
14011         * lib/dup-safer.c (errno): Likewise.
14012
14013 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
14014
14015         Merge from coreutils.
14016         * modules/c-strtod, modules/c-strtold, modules/canonicalize:
14017         * modules/cycle-check, modules/fcntl-safer, modules/getcwd: New files.
14018         * modules/path-concat: Don't depend on strdup.
14019
14020 2004-08-03  Simon Josefsson  <jas@extundo.com>
14021
14022         * lib/strdup.h: Only use HAVE_DECL_STRDUP if defined.
14023         * lib/progname.h: Don't include stdbool.h.
14024
14025 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
14026
14027         * modules/fatal: Remove, as the "fatal" module wasn't used or working.
14028         * MODULES.html.sh (func_all_modules): Remove fatal.
14029
14030 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
14031
14032         * m4/fatal.m4: Remove, as the "fatal" module wasn't used or working.
14033
14034 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
14035
14036         * lib/fatal.c, fatal.h: Remove as the "fatal" module wasn't used or
14037         working.
14038
14039 2004-08-02  Simon Josefsson  <jas@extundo.com>
14040
14041         * lib/getsubopt.h: New file, with comments from Bruno Haible.
14042         * lib/getsubopt.c: New file, from glibc, but slightly modified based on
14043         suggestions from Paul Eggert <eggert@cs.ucla.edu>.
14044
14045 2004-08-01  Simon Josefsson  <jas@extundo.com>
14046
14047         * lib/xgetdomainname.c: Include stdlib.h, for free().
14048
14049 2004-07-19  Bruno Haible  <bruno@clisp.org>
14050
14051         * MODULES.html.sh (func_all_modules): Add dummy.
14052
14053 2004-07-16  Simon Josefsson  <jas@extundo.com>
14054
14055         * modules/dummy: New file.
14056
14057 2004-07-16  Simon Josefsson  <jas@extundo.com>
14058
14059         * lib/dummy.c: New file.
14060
14061 2004-07-16  Bruno Haible  <bruno@clisp.org>
14062
14063         * lib/backupfile.h: Add extern "C" for C++.
14064         * lib/closeout.h: Likewise.
14065         * lib/copy-file.h: Likewise.
14066         * lib/findprog.h: Likewise.
14067         * lib/full-write.h: Likewise.
14068         * lib/pathname.h: Likewise.
14069         * lib/progname.h: Likewise.
14070         * lib/stpcpy.h: Likewise.
14071         * lib/stpncpy.h: Likewise.
14072         * lib/strcase.h: Likewise.
14073         * lib/strstr.h: Likewise.
14074         * lib/xalloc.h: Likewise.
14075
14076         * lib/mbswidth.h: Add extern "C" for C++.
14077         Reported by Albert Chin-A-Young <china@thewrittenword.com>.
14078
14079 2004-07-13  Robert Millan  <robertmh@gnu.org>
14080
14081         * m4/host-os.m4: s/KNetBSD/kNetBSD/g and s/KFreeBSD/kFreeBSD/g.
14082
14083 2004-07-09  Simon Josefsson  <jas@extundo.com>
14084
14085         * lib/getndelim2.c: Include stddef.h, for ptrdiff_t.  (FreeBSD 4.9
14086         failed without this.)
14087
14088 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
14089
14090         * modules/chown (Files): Add lib/fchown-stub.c, since
14091         gl_PREREQ_CHOWN invokes AC_LIBOBJ(fchown-stub).
14092
14093 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
14094
14095         * lib/fchown-stub.c: New file.
14096
14097 2004-06-24  Jim Meyering  <jim@meyering.net>
14098
14099         * lib/obstack.h (obstack_base): Cast to (void *), per documentation.
14100
14101 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
14102
14103         * modules/argz: Omit "#include".
14104
14105         * MODULES.html.sh (func_all_modules): Add calloc, to match
14106         2004-06-01 addition of calloc module.
14107
14108 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
14109
14110         * m4/argz.m4: New file, which is autoupdated from libtool.
14111
14112 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
14113
14114         * lib/argz.c, lib/argz_.h: New files, which are autoupdated from
14115         libtool.
14116
14117 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
14118
14119         * config/srclist-update: Don't insist on "USA." before the
14120         close-comment, as libtool omits the period and puts the */ on a
14121         separate line.
14122         * config/srclist.txt: Add argz.c, argz_.h, argz.m4.
14123         * config/srclistvars.sh: Add LIBTOOL (for eggert only).
14124
14125 2004-06-22  Gary V. Vaughan  <gary@gnu.org>
14126
14127         * modules/argz: New file.
14128         * MODULES.html.sh (func_all_modules): Add argz.
14129
14130 2004-06-12  Jim Meyering  <jim@meyering.net>
14131         and  Paul Eggert  <eggert@cs.ucla.edu>
14132
14133         * modules/hash (Files): Add lib/xalloc.h.
14134         * modules/pipe (Depends-on): Add wait-process.
14135         * modules/stat (Depends-on): Add xalloc.
14136         * modules/userspec (Files): Add lib/userspec.h.
14137         * modules/xstrto
14138
14139         Upgrade from gettext-0.13.
14140         * modules/gettext (Files): Add m4/intmax.m4, m4/longdouble.m4,
14141         m4/longlong.m4, m4/printf-posix.m4, m4/signed.m4, m4/size_max.m4,
14142         m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4.
14143
14144 2004-06-10  Jim Meyering  <jim@meyering.net>
14145
14146         * lib/calloc.c: New file.
14147
14148 2004-06-06  Paul Eggert  <eggert@cs.ucla.edu>
14149
14150         * lib/getdate.y (yylex): Allow space between sign and number.
14151         Problem reported by Dan Jacobson.
14152
14153 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
14154
14155         Merge from coreutils CVS.
14156
14157         * m4/backupfile.m4, dirname.m4, human.m4, inttypes.m4, longlong.m4,
14158         makepath.m4, memchr.m4, memcmp.m4, mountlist.m4, path-concat.m4,
14159         putenv.m4, quotearg.m4, readutmp.m4, strtoimax.m4, strtoll.m4,
14160         strtoull.m4, strtoumax.m4, ulonglong.m4, vasnprintf.m4,
14161         xstrtol.m4: Fix copyright date and/or serial number.
14162
14163         * m4/chown.m4 (gl_PREREQ_CHOWN): Check for fcntl.h.
14164         See if we need an fchown replacement.
14165         (gl_FUNC_CHOWN_FOLLOWS_SYMLINK): New macro.
14166         (gl_FUNC_CHOWN): Require gl_FUNC_CHOWN_FOLLOWS_SYMLINK,
14167         and use the replacement function if we detect either defect.
14168
14169         * m4/prereq.m4 (gl_PREREQ): Add gl_ALLOCSA, gl_CLOEXEC, gl_INTTOSTR,
14170         gl_UTIMECMP.
14171
14172 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
14173         and  Jim Meyering  <jim@meyering.net>
14174
14175         Merge from coreutils CVS.
14176
14177         * lib/stat-macros.h: New file, with contents from file-type.h
14178         and coreutils' system.h.
14179         * lib/file-type.c: Include "stat-macros.h".
14180         * lib/file-type.h (file_type): Move all macro definitions to new file,
14181         stat-macros.h.
14182
14183         * lib/chown.c (rpl_chown) [CHOWN_FAILS_TO_HONOR_ID_OF_NEGATIVE_ONE]:
14184         Wrap old code with this conditional.
14185         [CHOWN_MODIFIES_SYMLINK]: Try to work around a chown
14186         function that does not dereference symlinks.
14187         * lib/lchown.c (lchown) [CHOWN_MODIFIES_SYMLINK]: Just call chown.
14188
14189         * lib/xreadlink.c: Include xreadlink.h first, to catch .h file
14190         dependency problems.
14191         (xreadlink): Accept new arg SIZE, for efficiency.
14192         All decls and uses changed.
14193         * lib/xreadlink.h: Include <stddef.h>, for size_t.
14194
14195         * lib/.cppi-disable: Add alloca_.h, allocsa.h, exit.h, getndelim2.h,
14196         gettext.h, localcharset.h, strdup.h, strndup.h, strtoul.c, time_r.h.
14197
14198         * lib/.cvsignore: Add alloca.h, fnmatch.h, poll.h, stdbool.h,
14199         sysexits.h.
14200
14201 2004-06-01  Jim Meyering  <jim@meyering.net>
14202
14203         * m4/calloc.m4: New file.
14204
14205 2004-05-31  Paul Eggert  <eggert@cs.ucla.edu>
14206
14207         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Detect _Bool bug in HP aC++/ANSI
14208         C B3910B A.05.55 [Dec 04 2003].  Problem reported by Jim Meyering.
14209         Also, fix a typo in a diagnostic.
14210
14211 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
14212
14213         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Do not require AC_FUNC_MALLOC
14214         or AC_FUNC_REALLOC.
14215
14216 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
14217
14218         * lib/xmalloc.c (HAVE_MALLOC, HAVE_REALLOC): Do not require these
14219         macros to be defined.
14220         (xnmalloc_inline, xnrealloc_inline, xcalloc): Do not die if
14221         the allocator returns NULL because the requested size is zero.
14222
14223 2004-05-20  Paul Eggert  <eggert@cs.ucla.edu>
14224
14225         * lib/malloc/obstack.c (_obstack) [defined _LIBC]: Bring back this
14226         var.  Add comment explaining why libc still defines it.  This
14227         merges the following patch from glibc:
14228         http://sources.redhat.com/ml/libc-alpha/2004-05/msg00157.html
14229
14230 2004-05-20  Andreas Schwab  <schwab@suse.de>
14231
14232         * m4/free.m4: Replace free if it not known to work, not the other
14233         way round.
14234
14235 2004-05-19  Paul Eggert  <eggert@cs.ucla.edu>
14236
14237         * lib/obstack.c (_obstack): Remove unused variable.  It hasn't been
14238         present in glibc since revision 1.1 of this file.
14239         * lib/obstack.h (_obstack_free, obstack_1grow, obstack_1grow_fast,
14240         obstack_alignment_mask, obstack_alloc, obstack_base,
14241         obstack_blank, obstack_blank_fast, obstack_chunk_size,
14242         obstack_copy, obstack_copy0, obstack_finish, obstack_grow,
14243         obstack_grow0, obstack_init, obstack_int_grow,
14244         obstack_int_grow_fast, obstack_make_room, obstack_memory_used,
14245         obstack_next_free, obstack_object_size, obstack_ptr_grow,
14246         obstack_ptr_grow_fast, obstack_room): Remove declarations of
14247         nonexistent functions.
14248
14249 2004-05-18  Karl Berry  <karl@gnu.org>
14250
14251         * config/srclist.txt: break link for vasnprintf.c.
14252
14253 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
14254
14255         Port obstack to the AS/400, where pointers are 16 bytes wide and
14256         you cannot cast an integer to a valid pointer.  This patch is
14257         currently waiting to be integrated into glibc; see
14258         <http://sources.redhat.com/ml/libc-alpha/2004-05/msg00073.html>.
14259
14260         * lib/obstack.h (__PTR_TO_INT, __INT_TO_PTR): Remove.
14261         All uses of __INT_TO_PTR (PTR_TO_INT ...) replaced by __PTR_ALIGN.
14262         (__BPTR_ALIGN, __PTR_ALIGN): New macros.
14263         (struct obstack): temp member is now a union of a pointer and
14264         an integer, instead of an integer.  All integer uses changed.
14265         This does not affect the physical layout of struct obstack,
14266         except on hosts (like the AS/400) where the size or alignment of
14267         void * is greater than that of ptrdiff_t.
14268         (obstack_finish) [! (defined __GNUC__ && defined __STDC__ &&
14269         __STDC__)]: Store temporary in pointer member of union, not
14270         integer member.
14271         * lib/obstack.c: Include <stddef.h>, for offsetof.
14272         (struct fooalign): Remove; it doesn't need a name.
14273         (union fooround): Change double to long double, and add void *.
14274         (DEFAULT_ALIGNMENT): Use offsetof to compute.
14275         (DEFAULT_ALIGNMENT, DEFAULT_ROUNDING): Now an enum constant,
14276         not a macro.  Hence the values are always int; so remove all
14277         casts-to-int in uses.
14278
14279 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
14280
14281         * config/srclist.txt: Break link for argp-help.c and argp-parse.c until
14282         we can get this patch merged into glibc.
14283
14284 2004-05-17  Derek R. Price  <derek@ximbiot.com>
14285             Paul Eggert  <eggert@cs.ucla.edu>
14286
14287         * m4/argp: Depend on alloca.
14288
14289 2004-05-17  Derek R. Price  <derek@ximbiot.com>
14290             Paul Eggert  <eggert@cs.ucla.edu>
14291
14292         * lib/argp-help.c, argp-parse.c: Assume <alloca.h> rather than
14293         freecoding.
14294
14295 2004-05-17  Bruno Haible  <bruno@clisp.org>
14296
14297         * lib/vasnprintf.c (VASNPRINTF): Correctly handle the case of a
14298         precision that consists of a '.' followed by an empty digit string.
14299         Patch by Tor Lillqvist <tml@iki.fi>.
14300
14301 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
14302
14303         * m4/alloca.m4 (gl_FUNC_ALLOCA): Define HAVE_ALLOCA_H always,
14304         for backward compatibility with older code.  We need our own
14305         alloca.h if _AIX is defined.  Define HAVE_ALLOCA if we discover
14306         it under some other name, and our alloca.h will define it.
14307
14308 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
14309             Derek Price  <derek@ximbiot.com>
14310
14311         * lib/alloca.c: Include <alloca.h>, to get our interface.
14312         * lib/alloca_.h: Use __alloca on AIX, so that we don't have to
14313         include <alloca.h> first.  Use C89 prototype for alloca; this
14314         requires including <stddef.h> for size_t.  Use extern "C" if C++.
14315         Use #elif for simplicity, since we can assume C89 now.
14316         Don't try to source the system alloca.h since it will not be found
14317         and to prevent recursively including its replacement.
14318         * lib/fnmatch.c: Include <alloca.h> instead of opencoding.
14319         * lib/regex.c: Likewise.
14320
14321 2004-05-16  Derek Price  <derek@ximbiot.com>
14322             Paul Eggert  <eggert@cs.ucla.edu>
14323
14324         getline cleanup.  This changes the getndelim2 API: both order of
14325         arguments, and meaning of delim2 (now uses EOF, not 0, to indicate
14326         no delimiter).
14327
14328         * lib/getline.c: Don't include stddef.h or stdio.h, since our
14329         interface does that.
14330         (getline): Always use getdelim, so that we don't have two
14331         copies of this code.
14332         * lib/getndelim2.c: Include <limits.h>, <inttypes.h>, <stdint.h>
14333         if available.
14334         (PTRDIFF_MAX, SIZE_MAX, SSIZE_MAX): Define if not defined.
14335         (GETNDELIM2_MAXIMUM): New macro.
14336         (getndelim2): Reorder arguments.  delim==EOF now means no delimiter,
14337         instead of the old practice of delim2==0.  All callers changed.
14338         Return -1 on overflow, instead of returning junk.
14339         Do not set *linesize unless allocation succeeds.
14340         * lib/getndelim2.h: Do not include stddef.h; no longer needed, now
14341         that we include sys/types.h.
14342         * lib/getnline.h: Likewise.
14343         * lib/getndelim2.h (GETNLINE_NO_LIMIT): New macro.
14344         (getndelim2): Reorder arguments.
14345         * lib/getnline.c (getnline, getndelim):
14346         Don't discard the NMAX argument.
14347         (getnline): Invoke getndelim, to avoid code duplication.
14348         * lib/getnline.h (GETNLINE_NO_LIMIT): New macro, used instead
14349         of (size_t) -1 by callers of the getnline family.
14350
14351 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
14352
14353         * m4/gettime.m4 (gl_GETTIME): Require gl_TIMESPEC.
14354         Check for gettimeofday.
14355         * m4/settime.m4 (gl_SETTIME): Require gl_TIMESPEC.
14356         Check for settimeofday, stime.
14357
14358 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
14359
14360         * lib/nanosleep.c (suspended): Change its type from int to
14361         sig_atomic_t volatile.
14362         (first_call): Make it private to rpl_nanosleep, and have it
14363         be zero initially as that's a bit faster.
14364         (my_usleep): Round up fractional times instead of truncating them,
14365         as this is the usual meaning for 'sleep'.
14366
14367         * lib/gettime.c (gettime): Fall back on `time' if `gettimeofday'
14368         doesn't work.
14369         * lib/settime.c: Include <unistd.h>, for stime (on Solaris 8, anyway).
14370         (ENOSYS): Define if not defined.
14371         (settime): Fall back on stime if it exists and settimeofday fails.
14372         But don't bother with fallbacks if a method fails with errno == EPERM.
14373
14374 2004-05-11  Jim Meyering  <jim@meyering.net>
14375
14376         Prior to this change, the save_cwd caller required read access to the
14377         current directory on most systems (ones with the fchdir function).
14378
14379         * lib/save-cwd.c (save_cwd) [HAVE_FCHDIR]: If opening `.' read-only
14380         fails, try write-only, and finally, resort to using xgetcwd.
14381
14382 2004-05-06  Paul Eggert  <eggert@cs.ucla.edu>
14383
14384         * lib/obstack.c, obstack.h: Import changes from libc.
14385
14386 2004-04-28  Bruno Haible  <bruno@clisp.org>
14387
14388         * lib/findprog.c (find_in_path): Treat Cygwin like Windows, since it
14389         also implicitly appends .exe to executables.
14390         * lib/localcharset.c (ISSLASH): Treat Cygwin like Windows, since it now
14391         accepts Windows pathnames.
14392         * lib/pathname.h (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
14393         Treat Cygwin like Windows, since it now accepts Windows pathnames.
14394         * lib/progreloc.c (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
14395         Treat Cygwin like Windows, since it now accepts Windows pathnames.
14396         Reported by Derek Robert Price <derek@ximbiot.com>.
14397
14398 2004-04-21  Karl Berry  <karl@gnu.org>
14399
14400         * config/srclist.txt (localcharset.c): break sync.
14401
14402 2004-04-20  Paul Eggert  <eggert@twinsun.com>
14403
14404         * m4/host-os.m4: Add a copyright notice.
14405
14406 2004-04-20  Jim Meyering  <jim@meyering.net>
14407
14408         Change UTILS_ to gl_ in AC_DEFINE'd names.
14409         Change utils_- and jm_-prefixed variables, too.
14410         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Renamed from
14411         UTILS_FUNC_MKDIR_TRAILING_SLASH.
14412         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Renamed from UTILS_FUNC_MKSTEP.
14413
14414         * m4/dirfd.m4 (gl_FUNC_DIRFD): Rename from UTILS_FUNC_DIRFD.
14415         Don't emit trailing blanks.
14416         Also rename jm_-prefixed variables to have gl_ prefix.
14417
14418         * m4/host-os.m4 (gl_HOST_OS): Rename from UTILS_HOST_OS.
14419         Also rename jm_-prefixed variables to have gl_ prefix.
14420
14421         * m4/jm-macros.m4: Reflect the renamings.
14422         * m4/prereq.m4: Likewise.
14423
14424 2004-04-20  Jim Meyering  <jim@meyering.net>
14425
14426         * lib/getndelim2.c (getndelim2): Upon realloc failure, don't leak
14427         memory.
14428
14429 2004-04-20  Jim Meyering  <jim@meyering.net>
14430             Bruno Haible  <bruno@clisp.org>
14431
14432         * lib/localcharset.c (get_charset_aliases) [!VMS && !WIN32]: Don't leak
14433         memory when realloc fails.
14434
14435 2004-04-19  Jim Meyering  <jim@meyering.net>
14436
14437         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Require gl_FUNC_FREE,
14438         now that readutmp.c may call `free (0)'.
14439
14440 2004-04-19  Bruno Haible  <bruno@clisp.org>
14441
14442         * m4/mbrtowc.m4: Change jm_ to gl_ in cache variables as well.
14443         * m4/inttypes_h.m4: Likewise.
14444         * m4/stdint_h.m4: Likewise.
14445         * m4/intmax_t.m4: Likewise.
14446         * m4/uintmax_t.m4: Likewise.
14447
14448 2004-04-18  Jim Meyering  <jim@meyering.net>
14449
14450         * m4/prereq.m4: Don't forbid jm_ prefix.
14451
14452         * m4/afs.m4, m4/allocsa.m4, m4/assert.m4, m4/backupfile.m4:
14453         * m4/bison.m4, m4/check-decl.m4, m4/chown.m4, m4/d-ino.m4:
14454         * m4/d-type.m4, m4/dirname.m4, m4/dos.m4, m4/error.m4, m4/fpending.m4:
14455         * m4/fstypename.m4, m4/fsusage.m4, m4/ftruncate.m4, m4/getdate.m4:
14456         * m4/getgroups.m4, m4/gettext.m4, m4/glibc21.m4, m4/group-member.m4:
14457         * m4/human.m4, m4/intmax.m4, m4/intmax_t.m4, m4/inttostr.m4:
14458         * m4/inttypes.m4, m4/inttypes_h.m4, m4/jm-macros.m4, m4/jm-winsz1.m4:
14459         * m4/jm-winsz2.m4, m4/lchown.m4, m4/lib-check.m4, m4/link-follow.m4:
14460         * m4/localcharset.m4, m4/longlong.m4, m4/ls-mntd-fs.m4, m4/lstat.m4:
14461         * m4/makepath.m4, m4/mbrtowc.m4, m4/mbswidth.m4, m4/memchr.m4:
14462         * m4/memcmp.m4, m4/mkdtemp.m4, m4/mkstemp.m4, m4/mountlist.m4:
14463         * m4/nanosleep.m4, m4/path-concat.m4, m4/perl.m4, m4/prereq.m4:
14464         * m4/putenv.m4, m4/quotearg.m4, m4/regex.m4, m4/stat.m4:
14465         * m4/stdint_h.m4, m4/strftime.m4, m4/strtoimax.m4, m4/strtoll.m4:
14466         * m4/strtoull.m4, m4/strtoumax.m4, m4/timespec.m4, m4/uintmax_t.m4:
14467         * m4/ulonglong.m4, m4/unlink-busy.m4, m4/unlocked-io.m4, m4/uptime.m4,
14468         * m4/utimbuf.m4, m4/utime.m4, m4/utimes-null.m4, m4/vasnprintf.m4:
14469         * m4/xstrtoimax.m4, m4/xstrtol.m4, m4/xstrtoumax.m4:
14470         Change jm_ to gl_ in AC_DEFINE'd names. Update all uses.
14471
14472 2004-04-18  Jim Meyering  <jim@meyering.net>
14473
14474         * lib/readutmp.c (read_utmp) [UTMP_NAME_FUNCTION]: Upon realloc
14475         failure, don't leak memory and do call END_UTMP_ENT.
14476
14477 2004-04-16  Jim Meyering  <jim@meyering.net>
14478
14479         * m4/prereq.m4 (jm_PREREQ_STAT): Remove macro.  It is specific to
14480         coreutils' stat program.
14481         (gl_PREREQ): Don't require jm_PREREQ_STAT.
14482
14483 2004-04-11  Paul Eggert  <eggert@twinsun.com>
14484
14485         * lib/inttostr.h: Include <limits.h> unconditionally, since we assume
14486         C89.
14487         (CHAR_BIT): Remove, since we assume C89.
14488         Include <stdint.h> if available, as per current Autoconf CVS advice.
14489
14490 2004-03-31  Jim Meyering  <jim@meyering.net>
14491
14492         * m4/prereq.m4: Require AC_FUNC_MALLOC, not jm_FUNC_MALLOC.
14493         Require AC_FUNC_REALLOC, not jm_FUNC_REALLOC.
14494         * m4/xalloc.m4: Likewise.
14495
14496 2004-03-30  Paul Eggert  <eggert@twinsun.com>
14497
14498         Merge from coreutils.
14499
14500         * m4/inttostr.m4: New file.
14501         * m4/getdate.m4 (gl_GETDATE): Remove time-related stuff.
14502         Require AM_STDBOOL_H and gl_TIMESPEC instead.
14503         Require gl_CLOCK_TIME.
14504         * m4/clock_time.m4 (gl_CLOCK_TIME): Require AC_GNU_SOURCE.
14505
14506 2004-03-30  Paul Eggert  <eggert@twinsun.com>
14507
14508         * lib/cloexec.h, cloexec.c (set_cloexec_flag): Return int
14509         not bool, to be more consistent with Unix conventions.
14510         Suggested by Bruno Haible.
14511
14512         Merge from coreutils.
14513
14514         * lib/imaxtostr.c, lib/inttostr.c, lib/inttostr.h, lib/offtostr.c:
14515         * lib/umaxtostr.c: New files.
14516
14517         * lib/getdate.h: Include stdbool.h, and timespec.h instead of
14518         the usual <time.h> dance.
14519         (get_date): Change signature to support fractional time stamps.
14520         All callers changed.
14521         * lib/getdate.y: Include "getdate.h" first, as we can now
14522         assume C89 and don't need to worry about 'const'.
14523         Similarly, include "unlocked-io.h" near start, not in middle.
14524         Include <limits.h>.
14525         (textint.value): Use long int rather than int.
14526         (textint.digits): Use size_t rather than int.
14527         (BILLION, LOG10_BILLION): New constants.
14528         (parser_control): New member rel_ns.  Members day_ordinal,
14529         time_zone, month, day, hour, minutes, rel_year, rel_month,
14530         rel_day, rel_hour, rel_minutes, rel_seconds
14531         are now long int, not int.  Member seconds is now struct timespec,
14532         not int.  New member timespec_seen.  Members dates_seen, days_seen,
14533         local_zones_seen, rels_seen, times_seen, zones_seen are now size_t,
14534         not int.
14535         (%union.intval): Now long int, not int.
14536         New member timespec.
14537         (tSDECIMAL_NUMBER, tUDECIMAL_NUMBER): New tokens.
14538         (seconds, signed_seconds, unsigned_seconds): New nonterminals.
14539         (spec): Now is a timespec or an item list.
14540         (timespec, items): New nonterminals.
14541         (time, rel, relunit, number, get_date):
14542         Add support for fractional seconds.
14543         (time): Fix bug: seconds weren't cleared in "00:00 +0000" syntax.
14544         (gmtime, localtime, mktime): Remove decls; not needed with C89.
14545         (to_hour): First arg is now long int, not int.
14546         (to_year): Returns long int, not int.
14547         Don't treat year -70 like 70.
14548         (tm_diff): Returns long int, not int.
14549         (lookup_word): Use bool instead of int when appropriate.
14550         (yylex): Use size_t for count, not int.
14551         Detect overflow when parsing large integer constants.
14552         Add support for fractions.
14553         (get_date): Make pointers 'const' if possible.
14554         Use more-portable code to detect integer overflow.
14555         (main) [TEST]: Adjust to above changes.  Test for localtime failure.
14556         Don't use ctime; it's not reliable if the year has >4 digits.
14557
14558         * lib/human.c (humblock): Inspect BLOCKSIZE if BLOCK_SIZE isn't set.
14559         This is for compatibility with BSD.
14560
14561         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP): Define.
14562         (ATIME_CMP, CTIME_CMP, MTIME_CMP, TIMESPEC_NS): Likewise.
14563         From coreutils' system.h.
14564
14565         * lib/userspec.c: Don't include "posixver.h".
14566         (parse_user_spec): Fall back on USER.GROUP parsing, regardless
14567         of POSIX version, as POSIX 1003.1-2001 allows that behavior as a
14568         compatible extension.  Simplify code by removing a boolean int
14569         that was always nonzero if a string was nonnull.
14570
14571 2004-03-30  Jim Meyering  <jim@meyering.net>
14572
14573         Merge from coreutils.
14574
14575         Avoid a configure-time warning about sys/ucred.h on OSF V4.0.
14576         * m4/ls-mntd-fs.m4: Test for sys/ucred.h separately, since
14577         on some systems one must include <grp.h> before it.
14578         Reported by Christian Krackowizer.
14579
14580 2004-03-30  Jim Meyering  <jim@meyering.net>
14581
14582         Merge from coreutils.
14583
14584         * lib/mountlist.c [HAVE_SYS_UCRED_H]: Include grp.h before sys/ucred.h.
14585
14586         * lib/readtokens.c (readtoken): Don't leak 64 bytes when reading
14587         an empty input stream.
14588
14589         * lib/readtokens.c: Include <stdbool.h>.
14590         (readtoken): Use `size_t' rather than int/long.
14591         All callers adjusted.
14592         Use `bool' rather than `int' where appropriate.
14593         Use memset rather than an explicit loop.
14594         Use x2nrealloc rather than xrealloc.
14595         Allow the use of `\0' as a delimiter.
14596         (readtokens): Likewise.
14597         * lib/readtokens.h (readtoken, readtokens): Update prototypes.
14598
14599 2004-03-30  Jim Meyering  <jim@meyering.net>
14600
14601         * m4/realloc.m4: Remove file, since now it does no more than
14602         AC_REQUIRE([AC_FUNC_REALLOC]), and that can be done via
14603         the `configure.ac' section of module/realloc.
14604         * m4/malloc.m4: Likewise, but for AC_FUNC_MALLOC.
14605
14606 2004-03-30  Bruno Haible  <bruno@clisp.org>
14607
14608         * lib/getloadavg.c (getloadavg): Don't assume setlocale returns
14609         nonnull.
14610
14611 2004-03-29  Paul Eggert  <eggert@twinsun.com>
14612
14613         Merge changes to getloadavg.c from coreutils and Emacs.
14614
14615         * lib/getloadavg.c [!defined HAVE_SETLOCALE] (setlocale):
14616         Define to an expression, not to the empty string.
14617         Include cloexec.h and xalloc.h.
14618         (getloadavg): Restore LC_NUMERIC locale after setting it temporarily.
14619         Use set_cloexec_flag rather than rolling our own.
14620         * lib/cloexec.c, lib/cloexec.h: New files.
14621
14622 2004-03-29  Paul Eggert  <eggert@twinsun.com>
14623
14624         * m4/cloexec.m4: New file.
14625
14626 2004-03-18  Paul Eggert  <eggert@twinsun.com>
14627
14628         * lib/getopt.h: Sync with libc CVS.
14629
14630 2004-03-18  Paul Eggert  <eggert@twinsun.com>
14631             Bruno Haible  <bruno@clisp.org>
14632
14633         * m4/mbswidth.m4 (gl_MBSWIDTH): Also test whether <wchar.h> declares
14634         mbswidth.
14635
14636 2004-03-18  Paul Eggert  <eggert@twinsun.com>
14637             Bruno Haible  <bruno@clisp.org>
14638
14639         * lib/mbswidth.h: Include <wchar.h> only if
14640         HAVE_DECL_MBSWIDTH_IN_WCHAR_H, not on all platforms that have
14641         <wchar.h>.
14642         * lib/mbswidth.c: Include <stdio.h> and <time.h> before <wchar.h>.
14643
14644 2004-03-09  Paul Eggert  <eggert@twinsun.com>
14645
14646         * lib/argp-parse.c, getopt.c, getopt.h, getopt1.c:
14647         Sync with libc CVS.
14648         * lib/getopt_int.h: New file, also synced from libc.
14649
14650 2004-03-09  Paul Eggert  <eggert@twinsun.com>
14651
14652         * config/srclistvars.sh: Add GNUWWWLICENSES for eggert.
14653         * config/srclist.txt: Sync getopt with libc.  Add getopt_int.h.
14654         Bring back getopt.c, getopt.h, getopt1.c.
14655
14656 2004-03-07  Paul Eggert  <eggert@twinsun.com>
14657
14658         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Renamed from jm_PREREQ_C_STACK.
14659         All uses changed.  Check for sa_sigaction member; this fixes
14660         a bug first reported by Jason Andrade in
14661         <http://mail.gnu.org/archive/html/bug-textutils/2003-03/msg00027.html>.
14662
14663 2004-03-07  Paul Eggert  <eggert@twinsun.com>
14664
14665         * lib/c-stack.c (SIGACTION_WORKS): New macro.  Use it instead of long
14666         '#if' expressions.  Unlike the code it replaces, it does not
14667         depend on (defined _SC_PAGESIZE).  However, it does depend on
14668         HAVE_STRUCT_SIGACTION_SA_SIGACTION; this last change fixes a bug
14669         first reported by Jason Andrade in
14670         <http://mail.gnu.org/archive/html/bug-textutils/2003-03/msg00027.html>.
14671
14672 2004-02-25  Simon Josefsson  <jas@extundo.com>
14673
14674         * m4/strdup.m4 (gl_PREREQ_STRDUP): Check whether strdup is declared.
14675
14676 2004-02-25  Simon Josefsson  <jas@extundo.com>
14677
14678         * lib/strdup.h: New file.
14679         * lib/strdup.c: Include it.
14680         * lib/path-concat.c: Include strdup.h. Drop strdup declaration.
14681         * lib/userspec.c: Include strdup.h. Drop strdup declaration.
14682
14683 2004-02-23  Karl Berry  <karl@gnu.org>
14684
14685         * doc/maintain.texi, doc/standards.texi, doc/make-stds.texi: new files
14686         (from fencepost.gnu.org:/gd/gnuorg).
14687
14688 2004-02-23  Karl Berry  <karl@gnu.org>
14689
14690         * config/srclistvars.sh (GNUORG) [karl]: redefine.
14691         * config/srclist.txt: add maintain/standards documents.
14692
14693 2004-02-18  Bruno Haible  <bruno@clisp.org>
14694
14695         * m4/xsize.m4 (gl_XSIZE): Require AC_C_INLINE.
14696         Reported by Derek Robert Price <derek@ximbiot.com>.
14697
14698 2004-02-16  Karl Berry  <karl@gnu.org>
14699
14700         * config/mkinstalldirs, install-sh: update from automake.
14701
14702 2004-02-06  Karl Berry  <karl@gnu.org>
14703
14704         * m4/po.m4: update from gettext 0.14.1.
14705
14706 2004-02-06  Karl Berry  <karl@gnu.org>
14707
14708         * lib/config.charset: update from gettext 0.14.1.
14709
14710 2004-02-05  Paul Eggert  <eggert@twinsun.com>
14711
14712         Add comments and code, prompted by suggestions from Bruno Haible
14713         for sh-quote.
14714         * lib/quotearg.h (quotearg_alloc): New decl.  Improve the comments
14715         describing the enum quoting_style values.
14716         * lib/quotearg.c (quotearg_alloc): New function.
14717         (quotearg_buffer_restyled): Treat lone { and } as special.
14718         Treat = as special.  Work around bug with older shells
14719         that "see" a '\' that is really the 2nd byte of a multibyte char.
14720         Quote empty string with shell_quoting_style.
14721
14722 2004-02-03  Bruno Haible  <bruno@clisp.org>
14723
14724         * m4/pipe.m4: New file, from GNU gettext.
14725
14726 2004-02-03  Bruno Haible  <bruno@clisp.org>
14727
14728         * lib/pipe.h: New file, from GNU gettext.
14729         * lib/pipe.c: New file, from GNU gettext.
14730
14731 2004-01-27  Bruno Haible  <bruno@clisp.org>
14732
14733         * m4/execute.m4: New file, from GNU gettext.
14734
14735 2004-01-27  Bruno Haible  <bruno@clisp.org>
14736
14737         * lib/execute.h: New file, from GNU gettext.
14738         * lib/execute.c: New file, from GNU gettext.
14739         * lib/w32spawn.h: New file, from GNU gettext.
14740
14741 2004-01-24  Paul Eggert  <eggert@twinsun.com>
14742
14743         Merge from diffutils.
14744
14745         * lib/file-type.c (file_type): Add typed memory objects.
14746         * lib/file-type.h (S_TYPEISTMO): New macro.
14747
14748         * lib/c-stack.h (c_stack_action): Remove argv argument.
14749         * lib/c-stack.c (c_stack_action): Likewise.  All uses changed.
14750         (die): Don't calculate message unless segv_action returns.
14751         (get_stack_location, min_address_from_argv, max_address_from_argv,
14752         volatile stack_base, volatile_stack_size): Remove.
14753         (segv_handler): If ! HAVE_XSI_STACK_OVERFLOW_HEURISTIC, assume
14754         that every segmentation violation is a stack overflow.  (Ouch!)
14755         See Debian bug 136249 (still outstanding) for more info about why
14756         HAVE_XSI_STACK_OVERFLOW_HEURISTIC fails on Linux kernels.
14757
14758 2004-01-24  Paul Eggert  <eggert@twinsun.com>
14759
14760         Exit-status fix from coreutils.
14761
14762         Use exit_failure consistently in place of EXIT_FAILURE,
14763         so that program exit statuses are consistent on failure.
14764
14765         * lib/argmatch.c (ARGMATCH_DIE) [! defined ARGMATCH_DIE]:
14766         Include "exitfail.h", and use exit_failure rather than EXIT_FAILURE.
14767         * lib/argmatch.h: Comment fix to match the above.
14768         * lib/obstack.c (obstack_exit_failure) [!defined _LIBC]:
14769         Now a macro referring to exit_failure, instead of a separate
14770         variable.  Include "exitfail.h" to get it.
14771         * lib/xstrtol.h: Include "exitfail.h".
14772         (STRTOL_FATAL_ERROR): Exit with status exit_failure, not 2.
14773
14774         * lib/long-options.c (parse_long_options): Use prototype
14775         for usage function arg.  Pass it EXIT_SUCCESS rather than 0,
14776         for clarity.
14777
14778 2004-01-21  Jim Meyering  <jim@meyering.net>
14779
14780         * lib/mktime.c (__mktime_internal) [!_LIBC]: Define to mktime_internal
14781         so as not to conflict with a different-sized __mktime_internal
14782         function in GNU libc.
14783         * lib/timegm.c (__mktime_internal) [!_LIBC]: Likewise.
14784         Problem building statically-linked `ls' reported by Michael Brunnbauer.
14785
14786 2004-01-20  Karl Berry  <karl@gnu.org>
14787
14788         * config/config.guess: update from config.
14789
14790         * config/srclistvars.sh: GNUWWWLICENSES for karl.
14791
14792 2004-01-20  Bruno Haible  <bruno@clisp.org>
14793
14794         Safer stack allocation.
14795         * lib/setenv.c: Include allocsa.h.
14796         (alloca): Remove fallback definition.
14797         (freea): Remove macro.
14798         (__add_to_environ) [!_LIBC]: Use allocsa instead of alloca. Use freesa
14799         instead of freea.
14800
14801 2004-01-20  Bruno Haible  <bruno@clisp.org>
14802
14803         * m4/eealloc.m4: New file, from GNU gettext.
14804
14805 2004-01-20  Bruno Haible  <bruno@clisp.org>
14806
14807         * m4/allocsa.m4: New file, from GNU gettext.
14808
14809 2004-01-20  Bruno Haible  <bruno@clisp.org>
14810
14811         * lib/xallocsa.h: New file, from GNU gettext.
14812         * lib/xallocsa.c: New file, from GNU gettext.
14813
14814 2004-01-20  Bruno Haible  <bruno@clisp.org>
14815
14816         * lib/wait-process.c: On Windows, include windows.h. Needed on mingw.
14817
14818 2004-01-20  Bruno Haible  <bruno@clisp.org>
14819
14820         * lib/wait-process.c (wait_subprocess): Add ignore_sigpipe argument.
14821         * lib/wait-process.c (wait_subprocess): Likewise. Handle SIGPIPE
14822         specially.
14823
14824 2004-01-20  Bruno Haible  <bruno@clisp.org>
14825
14826         * lib/wait-process.c (wait_process): Disable the 2003-10-31 waitid()
14827         patch.
14828
14829 2004-01-20  Bruno Haible  <bruno@clisp.org>
14830
14831         * lib/wait-process.c (cleanup_slaves): Use ANSI C declaration.
14832
14833 2004-01-20  Bruno Haible  <bruno@clisp.org>
14834
14835         * lib/eealloc.h: New file.
14836
14837 2004-01-20  Bruno Haible  <bruno@clisp.org>
14838
14839         * lib/binary-io.h: Avoid warnings on Cygwin.
14840
14841 2004-01-20  Bruno Haible  <bruno@clisp.org>
14842
14843         * lib/allocsa.h: New file, from GNU gettext.
14844         * lib/allocsa.c: New file, from GNU gettext.
14845
14846 2004-01-18  Karl Berry  <karl@gnu.org>
14847
14848         * doc/gpl.texi, doc/lgpl.texi: new files.
14849
14850 2004-01-18  Karl Berry  <karl@gnu.org>
14851
14852         * config/srclistvars.sh (GNUWWWLICENSES): new variable.
14853         * config/srclist.txt ({fdl,gpl,lgpl}.text): get from there.
14854
14855 2004-01-15  Paul Eggert  <eggert@twinsun.com>
14856
14857         Merge from coreutils.
14858
14859         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for uintptr_t.
14860         * m4/posixver.m4 (gl_POSIXVER): Require gl_DEFAULT_POSIX2_VERSION.
14861         (gl_DEFAULT_POSIX2_VERSION): Move
14862         the documentation from 'configure' into 'config.hin',
14863         so that 'configure --help' isn't burdened by it and
14864         we don't have to worry about its formatting there.
14865         Reword the documentation so that it's more succinct
14866         and can be run together into a single paragraph.
14867         * m4/same.m4 (gl_SAME): Check for pathconf.
14868
14869 2004-01-15  Paul Eggert  <eggert@twinsun.com>
14870
14871         Merge from coreutils.
14872
14873         * lib/posixver.c: Include posixver.h.
14874
14875         * lib/same.c: Include <stdbool.h>, <limits.h>.
14876         (_POSIX_NAME_MAX): Define if not defined.
14877         (MIN): New macro.
14878         (same_name): If file names are silently truncated, report
14879         that the file names are the same if they are the same after
14880         the silent truncation.
14881
14882         * lib/xstrtod.h (xstrtod): Accept an extra arg, specifying the
14883         conversion function.
14884         * lib/xstrtod.c (xstrtod): Likewise.  All callers changed to
14885         include c-strtod.h and use c_strtod.  Don't include stdlib.h; no
14886         longer needed.
14887
14888 2004-01-15  Jim Meyering  <jim@meyering.net>
14889
14890         Merge from coreutils.
14891
14892         * m4/clock_time.m4 (gl_CLOCK_TIME): Don't set LIB_CLOCK_GETTIME
14893         if no library is required.
14894         * m4/jm-macros.m4: Don't require UTILS_SYS_OPEN_MAX.
14895         * m4/jm-macros.m4 (jm_MACROS): Require gl_FUNC_FREE.
14896         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.58.
14897         (AC_LANG_SOURCE): Remove definition, now that we require autoconf-2.58.
14898         * m4/jm-macros.m4 (jm_MACROS): Don't require AC_FUNC_FTW.
14899         * m4/lib-check.m4 (jm_LIB_CHECK): Do not set LIB_CRYPT to the
14900         value, $ac_cv_search_crypt, if it's "none required".
14901         * m4/posixver.m4 (gl_DEFAULT_POSIX2_VERSION): New macro.
14902         * m4/prereq.m4 (jm_PREREQ): Require AC_FUNC_GETLOADAVG,
14903         not gl_FUNC_GETLOADAVG.
14904         * m4/prereq.m4 (jm_PREREQ): Require gl_READTOKENS, gl_MD5, gl_MAKEPATH,
14905         gl_LONG_OPTIONS, and gl_IDCACHE, gl_GETUGROUPS.
14906
14907 2004-01-15  Jim Meyering  <jim@meyering.net>
14908
14909         Merge from coreutils.
14910
14911         * lib/md5.h (rol) [__GNUC__ && __i386__]: Don't use `asm' code.  These
14912         days, gcc-3.x does better all by itself.  Patch from Dean Gaudet:
14913         http://mail.gnu.org/archive/html/bug-coreutils/2003-11/msg00144.html
14914
14915         * lib/posixver.c (DEFAULT_POSIX2_VERSION): Use definition of new,
14916         optional configure-time default.
14917
14918         * lib/version-etc.c (version_etc_copyright): Update copyright date.
14919
14920         * lib/xreadlink.c (xreadlink): Correct outdated comment.
14921
14922 2004-01-15  Alexandre Duret-Lutz  <adl@gnu.org>
14923
14924         Merge from coreutils.
14925
14926         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Do not set LIB_NANOSLEEP to the
14927         value, $ac_cv_search_nanosleep, if it's "none required".
14928
14929 2004-01-14  Paul Eggert  <eggert@twinsun.com>
14930
14931         * lib/fnmatch_loop.c (ALLOCA_LIMIT): Remove macro, which collided
14932         with like-named macro in fnmatch.c.
14933         (EXT): Use an internal constant instead.
14934
14935         Merge fnmatch patches from glibc.
14936         * lib/fnmatch.c (mbsinit): Remove define.
14937         Add libc_hidden_ver (__fnmatch, fnmatch).
14938         * lib/fnmatch_loop.c (FCT): Cast to int32_t and UCHAR when appropriate.
14939         Adjust to renaming of collseq_table_lookup to __collseq_table_lookup.
14940
14941 2004-01-14  Karl Berry  <karl@gnu.org>
14942
14943         * config/install-sh: update from automake.
14944
14945 2004-01-13  Karl Berry  <karl@gnu.org>
14946
14947         * config/install-sh: update from automake.
14948
14949 2004-01-09  Karl Berry  <karl@gnu.org>
14950
14951         * config/install-sh: update from automake.
14952
14953 2004-01-05  Karl Berry  <karl@gnu.org>
14954
14955         * config/config.{sub,guess}: update from config.
14956
14957 2003-12-31  Karl Berry  <karl@gnu.org>
14958
14959         * config/depcomp: update from automake.
14960
14961 2003-12-14  Karl Berry  <karl@gnu.org>
14962
14963         * lib/config.charset: update from gettext-runtime.
14964
14965 2003-12-03  Paul Eggert  <eggert@twinsun.com>
14966
14967         * lib/getgroups.c (getgroups): xmalloc takes one argument, not two.
14968         Bug reported by Alfred M. Szmidt.
14969
14970 2003-12-03  Bruno Haible  <bruno@clisp.org>
14971
14972         * m4/gettext.m4: Upgrade from gettext-0.13.
14973         * m4/po.m4: Upgrade from gettext-0.13.
14974         * m4/size_max.m4 (gl_SIZE_MAX): Don't use the _ONCE macros here.
14975         * m4/intmax.m4: New file, from gettext-0.13.
14976         * m4/printf-posix.m4: New file, from gettext-0.13.
14977
14978 2003-11-29  Karl Berry  <karl@gnu.org>
14979
14980         * lib/argp-{help.c,parse.c,namefrob.h}, argp.h: update from libc.
14981
14982 2003-11-25  Paul Eggert  <eggert@twinsun.com>
14983             Bruno Haible  <bruno@clisp.org>
14984
14985         * lib/printf-parse.h: Don't include sys/types.h.
14986         (ARG_NONE): New macro.
14987         (char_directive): Change type of *arg_index fields to size_t.
14988         * lib/printf-parse.c: Don't include sys/types.h.
14989         (SSIZE_MAX): Remove macro.
14990         (PRINTF_PARSE): Change the type of the arg_index variables to size_t.
14991         Remove unnecessary overflow check.
14992         * lib/vasnprintf.c (VASNPRINTF): Update for type change of *arg_index
14993         fields.
14994
14995 2003-11-25  Bruno Haible  <bruno@clisp.org>
14996
14997         * modules/vasnprintf (Files): Remove m4/ssize_t.m4.
14998
14999 2003-11-25  Bruno Haible  <bruno@clisp.org>
15000
15001         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Don't require
15002         gt_TYPE_SSIZE_T.
15003
15004 2003-11-24  Paul Eggert  <eggert@twinsun.com>
15005
15006         * modules/alloca: Remove dependency on xalloc.
15007
15008 2003-11-24  Paul Eggert  <eggert@twinsun.com>
15009
15010         * lib/alloca.c: Remove dependency on xalloc module.
15011         (xalloc_die): Remove.
15012         (memory_full) [!defined emacs]: New macro.
15013         [!defined emacs]: Don't include xalloc.h.
15014         (alloca): Invoke memory_full, not xalloc_die, if malloc fails or
15015         address arithmetic overflows.  Change datatypes a bit to avoid
15016         unnecessary casts.
15017
15018 2003-11-22  Jim Meyering  <jim@meyering.net>
15019
15020         * lib/xmalloc.c (x2nrealloc_inline): Fix typos in comments:
15021         s/size/size_t/.
15022
15023 2003-11-21  Karl Berry  <karl@gnu.org>
15024
15025         * config/config.{sub,guess}: update from config.
15026
15027 2003-11-18  Karl Berry  <karl@gnu.org>
15028
15029         * config/config.{sub,guess}: update from config.
15030
15031         * config/(printf-{parse,args}.[ch]): sync broken, sigh.
15032
15033 2003-11-17  Paul Eggert  <eggert@twinsun.com>
15034
15035         * README: Mention that S+T cannot overflow if S is the size of
15036         an existing object and T is sufficiently small.
15037
15038 2003-11-17  Jim Meyering  <jim@meyering.net>
15039
15040         On systems without utime and without a utimes function capable of
15041         dealing with a NULL struct utimbuf* argument, this utime replacement
15042         could -- in unusual circumstances -- leak a file descriptor.
15043         * lib/utime.c: Include <unistd.h> and <errno.h>.
15044         (utime_null): Be sure to close `fd' and to preserve errno.
15045         Reported by Geoff Collyer via Arnold Robbins.
15046
15047 2003-11-17  Bruno Haible  <bruno@clisp.org>
15048
15049         * modules/vasnprintf (Files): Add m4/ssize_t.m4.
15050         (Depends-on): Add xsize.
15051
15052 2003-11-17  Bruno Haible  <bruno@clisp.org>
15053
15054         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Require gt_TYPE_SSIZE_T.
15055
15056 2003-11-17  Bruno Haible  <bruno@clisp.org>
15057
15058         * lib/vasnprintf.c (alloca): Remove fallback definition.
15059         (freea): Remove definition.
15060         (VASNPRINTF): Use alloca only for small sizes, say <= 4000 bytes.
15061         Reported by Paul Eggert.
15062
15063 2003-11-16  Paul Eggert  <eggert@twinsun.com>
15064             Bruno Haible  <bruno@clisp.org>
15065
15066         Protect against address arithmetic overflow.
15067         * lib/printf-args.h: Include stddef.h.
15068         (arguments): Change type of field 'count' to size_t.
15069         * lib/printf-args.c (printf_fetchargs): Use size_t instead of
15070         'unsigned int' where appropriate.
15071         * lib/printf-parse.h: Include sys/types.h.
15072         (char_directive): Change type of *arg_index fields to ssize_t.
15073         (char_directives): Change type of fields 'count', max_*_length to
15074         size_t.
15075         * lib/printf-parse.c: Include sys/types.h and xsize.h.
15076         (SSIZE_MAX): Define fallback value.
15077         (PRINTF_PARSE): Use size_t instead of 'unsigned int' and ssize_t
15078         instead of 'int' where appropriate. Check a_allocated, d_allocated
15079         against overflow. Reject %m$ argument numbers > SSIZE_MAX + 1.
15080         * lib/vasnprintf.c: Include xsize.h.
15081         (VASNPRINTF): Use size_t instead of 'unsigned int' where appropriate.
15082         Check alloca, malloc, realloc, ENSURE_ALLOCATION arguments against
15083         overflow. Avoid wraparound when converting a width or precision from
15084         decimal to binary.
15085
15086 2003-11-16  Bruno Haible  <bruno@clisp.org>
15087
15088         Update from GNU gettext.
15089         * lib/printf-parse.c: Generalize to it can be compiled for wide
15090         strings.
15091         (PRINTF_PARSE, CHAR_T, DIRECTIVE, DIRECTIVES): New macros.
15092         * lib/vasnprintf.c: Generalize to it can be compiled for wide strings.
15093         (VASNPRINTF, CHAR_T, DIRECTIVE, DIRECTIVES, PRINTF_PARSE, USE_SNPRINTF,
15094         SNPRINTF): New macros.
15095         Don't include <alloca.h> if the file is used inside libintl.
15096         (local_wcslen): New function, for Solaris 2.5.1.
15097         (VASNPRINTF): Use it instead of wcslen.
15098
15099 2003-11-16  Bruno Haible  <bruno@clisp.org>
15100
15101         * lib/xsize.h (xmax): New function.
15102         (xsum, xsum3, xsum4): Declare as "pure" functions.
15103
15104 2003-11-12  Paul Eggert  <eggert@twinsun.com>
15105
15106         * modules/xalloc (Files): Undo latest change, since xalloc.h
15107         no longer needs SIZE_MAX or PTRDIFF_MAX.
15108
15109 2003-11-12  Paul Eggert  <eggert@twinsun.com>
15110
15111         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Do not require gl_SIZE_MAX or
15112         gl_PTRDIFF_MAX.
15113
15114 2003-11-12  Paul Eggert  <eggert@twinsun.com>
15115
15116         * lib/xstrtol.c (__xstrtol): Remove "break" immediately after
15117         "return", to pacify some unknown compiler.  Problem reported
15118         by Joerg Schilling.
15119
15120 2003-11-12  Paul Eggert  <eggert@twinsun.com>
15121
15122         * lib/xalloc.h: Do not include <limits.h> or <stdint.h>.
15123         (xalloc_oversized): Use sizeof (ptrdiff_t) and sizeof (size_t) for
15124         the heuristic, rather than PTRDIFF_MAX and SIZE_MAX.  This
15125         heuristic is just as accurate as far as we know, and it removes a
15126         dependency on size_max.m4 and ptrdiff_max.m4.
15127
15128 2003-11-11  Bruno Haible  <bruno@clisp.org>
15129
15130         * modules/xsize (Files): Add m4/size_max.m4.
15131         * modules/xalloc (Files): Add m4/size_max.m4, m4/ptrdiff_max.m4.
15132
15133 2003-11-11  Bruno Haible  <bruno@clisp.org>
15134
15135         * m4/size_max.m4: New file.
15136         * m4/ptrdiff_max.m4: New file.
15137         * m4/xsize,m4 (gl_XSIZE): Require gl_SIZE_MAX.
15138         * m4/xalloc.m4 (gl_PREREQ_XALLOC): New macro.
15139         (gl_XALLOC): Invoke it.
15140
15141 2003-11-11  Bruno Haible  <bruno@clisp.org>
15142
15143         * lib/xsize.h (SIZE_MAX): Remove fallback definition.
15144         * lib/xalloc.h: Include limits.h. Assume SIZE_MAX and PTRDIFF_MAX are
15145         defined.
15146
15147 2003-11-10  Paul Eggert  <eggert@twinsun.com>
15148
15149         * lib/xalloc.h (xalloc_oversized): [! (defined PTRDIFF_MAX &&
15150         PTRDIFF_MAX < SIZE_MAX)]: Fix off-by-one error that would have
15151         rejected some allocations of exactly SIZE_MAX - 2 bytes.
15152         From Bruno Haible.
15153         [defined PTRDIFF_MAX && PTRDIFF_MAX < SIZE_MAX]: Use SIZE_MAX,
15154         not (size_t) -1, since it's defined here.
15155
15156 2003-11-09  Karl Berry  <karl@gnu.org>
15157
15158         * config/mkinstalldirs, depcomp, mdate-sh: update from automake.
15159
15160 2003-11-06  Paul Eggert  <eggert@twinsun.com>
15161
15162         * lib/xalloc.h [HAVE_STDINT_H]: Include <stdint.h>.
15163         (xalloc_oversized) [! (PTRDIFF_MAX < SIZE_MAX)]:
15164         Reject sizes of exactly SIZE_MAX bytes.
15165         * lib/xreadlink.c: Include "xalloc.h" before checking whether SIZE_MAX
15166         is defined, since "xalloc.h" now defines SIZE_MAX on modern hosts.
15167
15168 2003-11-05  Bruno Haible  <bruno@clisp.org>
15169
15170         * lib/xsize.h: Include limits.h, to avoid a possible collision with
15171         SIZE_MAX defined in <limits.h> on Solaris.
15172
15173 2003-11-04  Jim Meyering  <jim@meyering.net>
15174
15175         * modules/sysexits: Use the `$(VAR)' notation for AC_SUBST'd
15176         variable names, rather than @VAR@.
15177         * modules/poll: Likewise.
15178
15179 2003-11-04  Bruno Haible  <bruno@clisp.org>
15180
15181         * modules/xsize: New file.
15182         * modules/linebreak: Depend on xsize.
15183         * MODULES.html.sh (func_all_modules): Add xsize.
15184
15185 2003-11-04  Bruno Haible  <bruno@clisp.org>
15186
15187         * m4/xsize.m4: New file.
15188
15189 2003-11-04  Bruno Haible  <bruno@clisp.org>
15190
15191         * lib/xsize.h: New file.
15192         * lib/linebreak.c: Include xsize.h.
15193         (mbs_possible_linebreaks, mbs_width_linebreaks): Check malloc()
15194         argument for overflow.
15195         Suggested by Paul Eggert.
15196
15197 2003-11-03  Karl Berry  <karl@gnu.org>
15198
15199         * config/config.{guess,sub}: update from config.
15200
15201 2003-11-03  Jim Meyering  <jim@meyering.net>
15202
15203         * modules/userspec (lib_SOURCES): Add userspec.h.
15204         (Include): Add "userspec.h".
15205         Improve description.
15206
15207 2003-11-03  Jim Meyering  <jim@meyering.net>
15208
15209         * lib/userspec.c: Include "userspec.h".
15210         * lib/userspec.h: New file.
15211
15212 2003-11-03  Bruno Haible  <bruno@clisp.org>
15213
15214         * m4/wait-process.m4 (gl_WAIT_PROCESS): Also check for waitid.
15215
15216 2003-11-03  Bruno Haible  <bruno@clisp.org>
15217
15218         * lib/wait-process.c (wait_process): Use waitid with WNOWAIT if
15219         available, to avoid (extremely rare) race condition.
15220         Suggested by Paul Eggert.
15221
15222 2003-11-02  Karl Berry  <karl@gnu.org>
15223
15224         * config/srclist.txt (vasprintf.c): sync broken, sigh.
15225
15226 2003-10-31  Paul Eggert  <eggert@twinsun.com>
15227
15228         * lib/mountlist.h (struct mount_entry.me_type_malloced): New member.
15229         * lib/mountlist.c (SIZE_MAX): Define if not defined already.
15230         (read_filesystem_list): Set and use me_type_malloced.
15231         Use "sizeof *me" rather than "sizeof (struct mount_entry)" (or
15232         whatever the type happens to be), for brevity and consistency.
15233         Check for size calculation overflow on Alphas running OSF/1.
15234
15235 2003-10-31  Jim Meyering  <jim@meyering.net>
15236
15237         * lib/hash.c: Include "xalloc.h" for use of xalloc_oversized.
15238
15239         * lib/linebuffer.c: Include <string.h> for declaration of memset.
15240
15241 2003-10-30  Paul Eggert  <eggert@twinsun.com>
15242             Bruno Haible  <bruno@clisp.org>
15243
15244         * lib/vasprintf.c: Include <limits.h>, <stdlib.h>.
15245         (vasprintf): Fail if the resulting length doesn't fit in an 'int'.
15246
15247 2003-10-30  Paul Eggert  <eggert@cs.ucla.edu>
15248
15249         * m4/host-os.m4 (UTILS_HOST_OS): Change netbsd*-gnu pattern back to
15250         netbsd*-gnu*.  Suggested by Robert Millan.
15251
15252 2003-10-29  Paul Eggert  <eggert@twinsun.com>
15253
15254         * modules/group-member: Depend on stdbool.
15255
15256 2003-10-29  Paul Eggert  <eggert@twinsun.com>
15257
15258         * m4/xalloc.m4 (gl_XALLOC): Undo previous change.
15259
15260 2003-10-29  Paul Eggert  <eggert@twinsun.com>
15261
15262         * m4/host-os.m4 (UTILS_HOST_OS): Resurrect netbsd*-gnu.  Add comments
15263         to it, and to knetbsd*-gnu and kfreebsd*-gnu.  Remove the '*' from
15264         after the 'gnu' in these cases.  This fixes some bugs in the
15265         previous change, and is based on suggestions by Robert Millan.
15266
15267 2003-10-29  Paul Eggert  <eggert@twinsun.com>
15268
15269         * lib/xalloc.h (xalloc_oversized): Now a macro, not a function,
15270         so that it works even if SIZE_MAX < N.  Do not include <stdbool.h>;
15271         no longer needed.
15272         * lib/quotearg.c (quotearg_n_options): Use it.
15273         * lib/group-member.c: Include <stdbool.h>.
15274         (free_group_info): Arg is now const *; don't free arg.
15275         (get_group_info): Now returns bool and accepts struct group_info *,
15276         rather than returning a malloc'ed struct group_info *.
15277         All uses changed.  Check for overflow in internal size calculation.
15278
15279         * lib/getusershell.c (readname): Simplify the code by using x2nrealloc
15280         rather than xmalloc/xrealloc.
15281         * lib/linebuffer.c (initbuffer, readlinebuffer): Simplify the code by
15282         using x2realloc rather than xmalloc/xrealloc.  Also, fix a C
15283         conformance bug: the old code used a pointer after freeing the
15284         storage that it addressed.
15285         * lib/hash.c (hash_initialize): Simplify the code by using
15286         xalloc_oversized rather than doing it by hand.
15287         * lib/getgroups.c (getgroups): Don't use xrealloc, since we don't need
15288         the buffer preserved.  Use free and xmalloc instead.
15289         * lib/quotearg.c (quotearg_n_options): Likewise.
15290         Use a simpler test for size overflow.  Don't use xalloc_oversized
15291         because unsigned int might be wider than size_t (!); this suggests
15292         that we should switch from unsigned int to size_t for slot numbers.
15293
15294 2003-10-28  Paul Eggert  <eggert@twinsun.com>
15295
15296         * m4/host-os.m4 (UTILS_HOST_OS): Identify GNU/KFreeBSD and
15297         GNU/KNetBSD.  These implementations use glibc atop the FreeBSD and
15298         NetBSD kernels.  Requested by Richard Stallman.
15299
15300 2003-10-27  Paul Eggert  <eggert@twinsun.com>
15301
15302         * lib/exclude.c (new_exclude): Use xzalloc rather than xmalloc
15303         to allocate the returned structure.  Do not allocate a subarray,
15304         as x2nrealloc will do that.
15305         (add_exclude): Use x2nrealloc to reallocate ex->exclude,
15306         instead of xnrealloc.
15307         (add_exclude_file): Use x2realloc instead of malloc + xnrealloc.
15308
15309 2003-10-27  Bruno Haible  <bruno@clisp.org>
15310
15311         * lib/stdbool_.h: Better support for BeOS.
15312
15313 2003-10-26  Paul Eggert  <eggert@twinsun.com>
15314
15315         * m4/xalloc.m4 (gl_XALLOC): Requore AC_C_INLINE, since xalloc.h
15316         now uses inline.
15317
15318 2003-10-26  Paul Eggert  <eggert@twinsun.com>
15319
15320         * lib/xalloc.h (xalloc_oversized): New static inline function, for
15321         callers that want to do their own size-overflow checking.  Include
15322         <stdbool.h>, since xalloc_oversized returns bool.
15323         * lib/xalloc.c (array_size_overflow): Remove.  All callers changed
15324         to use xalloc_oversized.
15325
15326         Add two functions x2realloc, x2nrealloc, for programs that grow
15327         arrays dynamically by doubling their sizes.
15328         * lib/xalloc.h (x2realloc, x2nrealloc): New decls.
15329         * lib/xmalloc.c (x2nrealloc_inline, x2nrealloc, x2realloc):
15330         New functions.
15331
15332         Port to C99 semantics for 'inline' of external functions.
15333         Bug reported by Bruno Haible.
15334         * lib/xmalloc.c (xnmalloc_inline): New static inline function,
15335         with the old contents of xnmalloc.
15336         (xnmalloc, xmalloc): Use it.
15337         (xnrealloc_inline): New static inline function,
15338         with the old contents of xnrealloc.
15339         (xnrealloc, xrealloc): Use it.
15340
15341         * lib/alloc.c (alloca): xmalloc cannot return NULL, so don't test for
15342         that.
15343
15344 2003-10-26  Karl Berry  <karl@gnu.org>
15345
15346         * config/srclist.txt (COPYING.DOC): no longer available from
15347         /gd/gnuorg; don't know where the ultimate source is.
15348
15349 2003-10-25  Paul Eggert  <eggert@twinsun.com>
15350
15351         Fix several address-calculation bugs in the hash modules,
15352         plus some minor code cleanup.
15353
15354         * lib/hash.h: Include <stdbool.h>, for bool.
15355         * lib/hash.c: Don't include <stdbool.h>, since hash.h does it now.
15356         * lib/hash.h (Hash_hasher, hash_get_n_buckets, hash_get_n_buckets_used,
15357         hash_get_n_entries, hash_get_max_bucket_length,
15358         hash_get_entries, hash_do_for_each, hash_string, hash_initialize,
15359         hash_rehash): Use size_t rather than unsigned.
15360         * lib/hash.c (struct hash_table, hash_get_n_buckets,
15361         hash_get_n_buckets_used, hash_get_n_entries,
15362         hash_get_max_bucket_length, hash_table_ok, hash_print_statistics,
15363         hash_get_entries, hash_do_for_each, hash_string, is_prime,
15364         next_prime, hash_initialize, hash_rehash, hash_delete, hash_print):
15365         Likewise.
15366         (SIZE_MAX): Define if not defined.
15367         (hash_get_max_bucket_length, hash_table_ok, hash_lookup,
15368         hash_get_first, hash_get_next, hash_get_entries, hash_do_for_each,
15369         hash_print):
15370         Use const * when possible.
15371         (hash_string): Use (unsigned char) *P rather than *(unsigned char *) P.
15372         (check_tuning): Fix bug: if tuning parameters were very close to
15373         0 or 1, rounding errors could have caused subscript violations.
15374         (hash_initialize, allocate_entry, hash_print): Remove unnecessary cast.
15375         (hash_initialize): Add 'fail:' label
15376         to free table and return NULL, and use it to simplify code.
15377         Use calloc rather than clearing the storage ourself.
15378         (hash_initialize, hash_rehash): Check for arithmetic overflow in
15379         buffer size calculations.
15380         * lib/hash-pjw.h (hash_pjw): Use size_t, not unsigned.
15381         Include <stddef.h>, for size_t.
15382         * lib/hash-pjw.c (hash_pjw): Likewise.
15383         Switch to method described by Bruno Haible.
15384         Include <limits.h>, for CHAR_BIT.
15385         (SIZE_BITS): New macro.
15386
15387 2003-10-23  Paul Eggert  <eggert@twinsun.com>
15388
15389         * m4/getline.m4 (AM_FUNC_GETLINE):
15390         Don't include getndelim2.o twice into LIBOBJS; this breaks on some
15391         hosts.  Problem reported by Derek Robert Price in
15392         <http://mail.gnu.org/archive/html/bug-gnulib/2003-10/msg00092.html>.
15393         This patch can be withdrawn after Autoconf 2.58 is required for gnulib.
15394         * m4/getndelim2.m4 (gl_GETNDELIM2): Likewise.
15395
15396 2003-10-21  Paul Eggert  <eggert@twinsun.com>
15397
15398         * lib/getndelim2.c (getndelim2): When size calculation overflows,
15399         ceiling the allocation at NMAX bytes rather than silently
15400         discarding input bytes before NMAX is reached.  This makes
15401         a difference only if NMAX exceeds SIZE_MAX / 2.
15402
15403         * lib/obstack.c: Merge from glibc.
15404         [defined _LIBC]: Include <obstack.h>, not "obstack.h".
15405         Add libc_hidden_def (_obstack_newchunk).
15406         (_obstack_free) [! defined _LIBC]: Remove.
15407         [defined _LIBC]: Make a strong alias from obstack_free, rather than
15408         a clone of the function body.
15409         (fputs) [defined _LIBC && defined USE_IN_LIBIO]: Remove.
15410         [defined _LIBC && !defined USE_IN_LIBIO]: Include <libio/iolibio.h>.
15411
15412         * lib/obstack.h: Indenting cleanup, to make it easier to merge with
15413         glibc.
15414         (obstack_grow, obstack_grow0): Remove unnecessary parentheses around
15415         arg to memcpy.
15416
15417         * lib/obstack.h (obstack_1grow_fast): Properly parenthesize arg.
15418         (obstack_ptr_grow_fast, obstack_int_grow_fast):
15419         Don't use lvalue casts, as GCC plans to remove support for them
15420         in GCC 3.5.  Reported by Joseph S. Myers.  This bug
15421         was also present in the non-GCC version, indicating that this
15422         code had always been buggy and had never been widely used.
15423         (obstack_1grow, obstack_ptr_grow, obstack_int_grow, obstack_blank):
15424         Use the fast variant of each macro, rather than copying the
15425         definiens of the fast variant; that way, we'll be more likely to
15426         catch future bugs in the fast variants.
15427
15428 2003-10-20  Bruno Haible  <bruno@clisp.org>
15429
15430         * modules/wait-process: New file.
15431         * MODULES.html.sh (func_all_modules): Add wait-process.
15432
15433 2003-10-20  Bruno Haible  <bruno@clisp.org>
15434
15435         * m4/wait-process.m4: New file.
15436
15437 2003-10-20  Bruno Haible  <bruno@clisp.org>
15438
15439         * lib/wait-process.h: New file, from GNU gettext.
15440         * lib/wait-process.c: New file, from GNU gettext.
15441
15442 2003-10-19  Jim Meyering  <jim@meyering.net>
15443
15444         * lib/vasnprintf.c (vasnprintf): Work around losing snprintf on
15445         HPUX 10.20.
15446
15447 2003-10-18  Karl Berry  <karl@gnu.org>
15448
15449         * config/config.guess: update from config.
15450
15451 2003-10-16  Paul Eggert  <eggert@twinsun.com>
15452
15453         * lib/getgroups.c: Include <errno.h>, <stdlib.h>.
15454         (getgroups): First arg is int, not size_t.
15455         Don't let 'free' mangle errno.
15456
15457 2003-10-16  Paul Eggert  <eggert@twinsun.com>
15458
15459         * README: Mention that gnulib assumes that (foo *) NULL + 0 == NULL.
15460
15461 2003-10-16  Karl Berry  <karl@gnu.org>
15462
15463         * config/config.{guess,sub}: update from config.
15464
15465 2003-10-16  Jim Meyering  <jim@meyering.net>
15466
15467         * lib/xmalloc.c: Include <string.h>, for declarations of memset and
15468         memcpy.
15469
15470 2003-10-15  Paul Eggert  <eggert@twinsun.com>
15471
15472         * lib/exclude.c: Do not include <inttypes.h> or <stdint.h>.
15473         (SIZE_MAX): Remove.
15474         (new_exclude, add_exclude_file): Initial size no longer needs to
15475         be a power of 2.
15476         (add_exclude, add_exclude_file): Use xnrealloc instead of rolling
15477         our own address arithmetic overflow checking.
15478
15479         * lib/fnmatch.c (SIZE_MAX): Define if standard headers don't.
15480         (fnmatch): Do not alloca more than 2000 wide characters;
15481         instead, use malloc for large buffers.
15482         Check for address arithmetic overflow, and return -1
15483         with errno set to ENOMEM in that case.
15484         * lib/fnmatch_loop.c (ALLOCA_LIMIT): New macro.
15485         (NEW_PATTERN): Do not alloca more than 8000 bytes;
15486         instead, return -1.  Check for address arithmetic overflow.
15487
15488 2003-10-14  Paul Eggert  <eggert@twinsun.com>
15489
15490         Handle invalid suffixes and overflow independently, so that
15491         callers can treat them independently as needed.  Fix some bugs in
15492         suffix handling, e.g., "100k@" was not diagnosed as an invalid
15493         suffix for a human-readable blocksize.  The major caller-visible
15494         change is the addition of a new
15495         LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW enum value, indicating
15496         that both overflow and suffix chars were found.
15497
15498         * lib/human.c (humblock): Don't check separately for invalid suffix
15499         char; that is xstrtoumax's job (now that its bug is fixed).
15500         * lib/xstrtoimax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [defined
15501         INTMAX_MAX]: New macros.
15502         * lib/xstrtol.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM, TYPE_MINIMUM,
15503         TYPE_MAXIMUM): New macros.
15504         (bkm_scale, bkm_scale_by_power): Return strtol_error, not int.
15505         (bkm_scale, bkm_scale_by_power, __xstrtol): Return maximal values
15506         if overflow occurs, as it's what __strtol does and it's more useful
15507         in practice.
15508         (__xstrtol): If __strtol reports some error other than ERANGE,
15509         reflect it to the caller as LONGINT_INVALID.  If it reports
15510         ERANGE, continue the rest of parsing, and report LONGINT_OVERFLOW
15511         | LONGINT_INVALID_SUFFIX_CHAR if both errors occur.
15512         * lib/xstrtol.h (LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW): New enum
15513         value.
15514         (_STRTOL_ERROR): Handle it.  Abort when given unknown error codes.
15515         * lib/xstrtoul.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM): New macros.
15516         * lib/xstrtoumax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM)
15517         [defined UINTMAX_MAX]: New macros.
15518
15519 2003-10-14  Bruno Haible  <bruno@clisp.org>
15520
15521         * modules/fatal-signal: Add m4/sig_atomic_t.m4 to file list.
15522
15523 2003-10-14  Bruno Haible  <bruno@clisp.org>
15524
15525         * m4/sig_atomic_t: New file, from GNU gettext.
15526         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Require gt_TYPE_SIG_ATOMIC_T.
15527
15528 2003-10-14  Bruno Haible  <bruno@clisp.org>
15529
15530         * lib/fatal-signal.h: Improved comments. Suggested by Paul Eggert.
15531         * lib/fatal-signal.c: Use sig_atomic_t. Suggested by Paul Eggert.
15532         Also use volatile where needed.
15533
15534 2003-10-12  Paul Eggert  <eggert@twinsun.com>
15535
15536         * modules/xalloc: Do not depend on 'exit'.  Depend on 'stdbool'.
15537         Change maintainer from Bruno Haible to 'all'.
15538
15539 2003-10-12  Paul Eggert  <eggert@twinsun.com>
15540
15541         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Require AC_C_INLINE.
15542
15543 2003-10-12  Paul Eggert  <eggert@twinsun.com>
15544
15545         * lib/xalloc.h (xnmalloc, xzalloc, xnrealloc, xclone): New decls.
15546         (XMALLOC, XCALLOC, XREALLOC, XFREE, CCLONE, CLONE): Deprecate,
15547         and define in terms of the other primitives.
15548         * lib/xmalloc.c: Include stdbool.h; do not include exit.h.
15549         (SIZE_MAX): Define if not already defined.
15550         (array_size_overflow): New function.
15551         (xalloc_die): Abort instead of exiting if 'error' returns.
15552         (xnmalloc, xnrealloc, xzalloc, xclone): New functions.
15553         (xmalloc, xrealloc): Use them.
15554         (xcalloc): Check for address arithmetic overflow.
15555         * lib/xstrdup.c (xstrdup): Use xclone, since memcpy should be
15556         a bit faster than strcpy.
15557
15558 2003-10-10  Simon Josefsson  <jas@extundo.com>
15559
15560         * modules/argp (Depends-on): Add restrict and strcase.
15561
15562 2003-10-10  Simon Josefsson  <jas@extundo.com>
15563
15564         * m4/argp.m4: Add AC_C_INLINE.
15565
15566 2003-10-08  Paul Eggert  <eggert@twinsun.com>
15567
15568         Merge getpass from libc, plus a few fixes.
15569
15570         * lib/getpass.c (HAVE_STDIO_EXT) [_LIBC]: Define to 1.
15571         Include <stdbool.h>.
15572         Include <stdio_ext.h> if HAVE_STDIO_H, otherwise define
15573         __fsetlocking to empty.
15574         [_LIBC]: Do not include "getline.h" or "unlocked-io.h", but
15575         do include <bits/libc-lock.h>.
15576         Do not include <fcntl.h>; not needed.
15577         [_LIBC]: Include <wchar.h>.
15578         (NOTCANCEL_MODE): New macro.
15579         (flockfile, funlockfile) [_LIBC]: New macros.
15580         (__libc_cleanup_push, __libc_cleanup_pop, __getline, __tcgetattr)
15581         [!_LIBC]: New macros.
15582         (call_fclose): New function.
15583         (getpass): Use it.  Save tty stream separately; this simplifies the
15584         code and makes it more reliable if stdin happens to equal stdout.
15585         Invoke __fsetlocking on tty.
15586         Handle thread cancellation if needed.
15587         Namespace cleanup (use __tcgetattr, __getline).
15588         Use bool for Booleans.
15589         [USE_IN_LIBIO]: Handle wide streams.
15590         [!_LIBC]: Unconditionally do the fseek, since we don't know what
15591         stream might go where.
15592
15593         * lib/unlocked-io.h: Include <stdio.h>, so that the caller
15594         doesn't have to include <stdio.h> before us.
15595         (clearerr_unlocked, feof_unlocked, ferror_unlocked,
15596         fflush_unlocked, fgets_unlocked, fputc_unlocked, fputs_unlocked,
15597         fread_unlocked, fwrite_unlocked, getc_unlocked, getchar_unlocked,
15598         putc_unlocked, putchar_unlocked): Define to the unlocked counterpart
15599         if not declared, so that we can use getpass.c code from libc without
15600         rewriting it.
15601         (flockfile, ftrylockfile, funlockfile): New macros.
15602
15603 2003-10-08  Paul Eggert  <eggert@twinsun.com>
15604
15605         * modules/getpass: Depend on stdbool.
15606
15607 2003-10-08  Paul Eggert  <eggert@twinsun.com>
15608
15609         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for stdio_ext.h.
15610
15611 2003-10-07  Karl Berry  <karl@gnu.org>
15612
15613         * config/config.{guess,sub}: update from config.
15614
15615 2003-10-06  Jim Meyering  <jim@meyering.net>
15616             Bruno Haible  <bruno@clisp.org>
15617
15618         This lets translators provide better translations for the
15619         "Written by ..." part of --version output.
15620         * lib/version-etc.h: Include stdarg.h.
15621         (version_etc_copyright): Declare as readonly.
15622         (version_etc): Make this function variadic with a NULL-terminated list
15623         of author name strings.
15624         (version_etc_va): New declaration.
15625         * lib/version-etc.c: Include stdarg.h, stdlib.h.
15626         (version_etc_copyright): Declare as readonly.
15627         (version_etc_va): New function. Provide a different translatable string
15628         for each possible number of authors < 10. Abbreviate when there are 10
15629         authors or more.
15630         (version_etc): Make this function variadic. Call version_etc_va.
15631         Suggestion from Gary V. Vaughan.
15632
15633         * lib/long-options.h (parse_long_options): Change prototype: the
15634         authors string is moved to the end and becomes variadic.
15635         * lib/long-options.c: Include stdarg.h.
15636         (parse_long_options): Make this function variadic, too.
15637         Call version_etc_va, not version_etc.
15638
15639 2003-10-06  Bruno Haible  <bruno@clisp.org>
15640
15641         * modules/version-etc-2: Remove file.
15642         * MODULES.html.sh (func_all_modules): Remove version-etc-2.
15643
15644 2003-10-06  Bruno Haible  <bruno@clisp.org>
15645
15646         * modules/fatal-signal: New file.
15647         * MODULES.html.sh (func_all_modules): Add fatal-signal.
15648
15649 2003-10-06  Bruno Haible  <bruno@clisp.org>
15650
15651         * m4/fatal-signal.m4: New file.
15652         * m4/signalblocking.m4: New file, from GNU gettext.
15653
15654 2003-10-06  Bruno Haible  <bruno@clisp.org>
15655
15656         * lib/version-etc-2.h: Remove file.
15657         * lib/version-etc-2.c: Remove file.
15658
15659 2003-10-06  Bruno Haible  <bruno@clisp.org>
15660
15661         * lib/fatal-signal.h: New file, from GNU gettext.
15662         * lib/fatal-signal.c: New file, from GNU gettext.
15663
15664 2003-10-05  Paul Eggert  <eggert@twinsun.com>
15665
15666         * README: Rework advice for preventing empty .o files.
15667         Don't recommend ELIDE constructs.  Recommend <stddef.h>,
15668         not <sys/types.h>.
15669
15670 2003-10-04  Karl Berry  <karl@gnu.org>
15671
15672         * lib/argp*: update from libc.
15673
15674 2003-10-04  Karl Berry  <karl@gnu.org>
15675
15676         * config/config.{guess,sub}: update from config.
15677
15678 2003-10-02  Bruno Haible  <bruno@clisp.org>
15679
15680         * modules/lchown (Include): Add lchown.h.
15681         * modules/time_r (Include): Use "..." syntax.
15682         * modules/xgetdomainname (Include): Add xgetdomainname.h.
15683
15684 2003-10-01  Simon Josefsson  <jas@extundo.com>
15685
15686         * MODULES.html.sh (func_all_modules): Move gethostname from section
15687         'based on' to section 'lacking' POSIX:2001.
15688
15689 2003-10-01  Larry Jones  <lawrence.jones@eds.com>
15690
15691         * lib/getpass.c (getpass): Use a no-op fseek when switching from input
15692         to output mode on the same stream.
15693
15694 2003-09-29  Paul Eggert  <eggert@twinsun.com>
15695
15696         * lib/strftime.c (tm_diff) [! HAVE_TM_GMTOFF]:
15697         Fix arg typo in previous patch.
15698
15699 2003-09-28  Jim Meyering  <jim@meyering.net>
15700
15701         * lib/error.c: Correct cpp indentation.
15702
15703 2003-09-27  Paul Eggert  <eggert@twinsun.com>
15704
15705         * modules/free: New file.
15706
15707 2003-09-27  Paul Eggert  <eggert@twinsun.com>
15708
15709         * m4/free.m4: New file.
15710
15711 2003-09-27  Paul Eggert  <eggert@twinsun.com>
15712
15713         * lib/minmax.h (MIN, MAX)
15714         [__STDC__ && defined __GNUC__ && __GNUC__ >= 2]:
15715         Omit the special code that used __typeof__, since we worry that
15716         it could be more trouble than it's worth.  See:
15717         http://mail.gnu.org/archive/html/bug-gnulib/2003-01/msg00090.html
15718         http://mail.gnu.org/archive/html/bug-gnulib/2003-01/msg00095.html
15719
15720         * lib/free.c: New file.
15721
15722 2003-09-27  Oskar Liljeblad  <oskar@osk.mine.nu>
15723
15724         Trivial fixes to Makefile.am parts of module listings.
15725         * modules/strstr: Append strstr.h to lib_SOURCES.
15726         * modules/strcase: Likewise, for strcase.h.
15727
15728 2003-09-27  Karl Berry  <karl@gnu.org>
15729
15730         * config/mkinstalldirs: update from automake.
15731
15732 2003-09-26  Paul Eggert  <eggert@twinsun.com>
15733
15734         * lib/error.c (SIZE_MAX) [!defined SIZE_MAX]: Define.
15735         (error_tail): Do not loop, reallocating temporary buffer, since
15736         the output cannot contain more wide characters than the input
15737         contains bytes, the size must be big enough already.  This avoids
15738         one potential size overflow calculation.  Check for size overflow
15739         when calculating temporary buffer size.  Free temporary buffer
15740         when done, if it was allocated with malloc; this plugs a memory
15741         leak.  Remove casts from void * to pointers, that are no longer
15742         needed now that we're assuming C89 or better.
15743
15744         Merge error changes from glibc.
15745
15746         * lib/error.c, error.h: Update copyright notice header to match glibc.
15747         * lib/error.c [defined _LIBC]: Include <errno.h>, <bits/libc-lock.h>.
15748         (error, error_at_line) [defined _LIBC && defined __libc_ptf_call]:
15749         Disable cancellation while printing error.
15750         * lib/error.h: Prepend __ to parameter names.
15751
15752 2003-09-26  Jim Meyering  <jim@meyering.net>
15753
15754         * lib/error.c (error_tail): Move some declarations
15755         into inner scope where the local variables are used.
15756
15757 2003-09-26  Bruno Haible  <bruno@clisp.org>
15758
15759         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Add comments about the AIX
15760         stpncpy().
15761         Don't define stpncpy through config.h; it's now done through stpncpy.h.
15762
15763 2003-09-26  Bruno Haible  <bruno@clisp.org>
15764
15765         * lib/stpncpy.h (gnu_stpncpy): New declaration.
15766         (stpncpy): Define as alias for gnu_stpncpy.
15767         * lib/stpncpy.c [!_LIBC]: Define gnu_stpncpy, not stpncpy.
15768
15769 2003-09-25  Simon Josefsson  <jas@extundo.com>
15770
15771         * lib/xgetdomainname.h: New file.
15772         * lib/xgetdomainname.c: New file.
15773
15774 2003-09-25  Simon Josefsson  <jas@extundo.com>
15775             Bruno Haible  <bruno@clisp.org>
15776
15777         * modules/getdomainname: New file.
15778         * modules/xgetdomainname: New file.
15779         * MODULES.html.sh (func_all_modules): Add getdomainname,
15780         xgetdomainname.
15781
15782 2003-09-25  Simon Josefsson  <jas@extundo.com>
15783             Bruno Haible  <bruno@clisp.org>
15784
15785         * m4/getdomainname.m4: New file.
15786
15787 2003-09-25  Simon Josefsson  <jas@extundo.com>
15788             Bruno Haible  <bruno@clisp.org>
15789
15790         * lib/getdomainname.h: New file.
15791         * lib/getdomainname.c: New file.
15792
15793 2003-09-25  Karl Berry  <karl@gnu.org>
15794
15795         * lib/argp-fmtstream.c, argp-help.c: update from libc.
15796
15797 2003-09-25  Karl Berry  <karl@gnu.org>
15798
15799         * config/install-sh: update from automake.
15800
15801 2003-09-25  Bruno Haible  <bruno@clisp.org>
15802
15803         * modules/version-etc-2: New file, from modules/version-etc with
15804         modifications.
15805         * MODULES.html.sh (func_all_modules): Add version-etc-2.
15806
15807 2003-09-25  Bruno Haible  <bruno@clisp.org>
15808
15809         * lib/version-etc-2.h: New file, from version-etc.h with modifications.
15810         * lib/version-etc-2.c: New file, from version-etc.c with modifications.
15811
15812 2003-09-24  Simon Josefsson  <jas@extundo.com>
15813
15814         * modules/xgethostname: Add xgethostname.h.
15815
15816 2003-09-24  Paul Eggert  <eggert@twinsun.com>
15817
15818         * lib/linebuffer.c (freebuffer): Don't free the argument, just
15819         the buffer associated with the argument.  Bug reported by
15820         Simon Josefsson.
15821
15822 2003-09-24  Paul Eggert  <eggert@twinsun.com>
15823
15824         * README: Document assumptions that 'int' is at least 32 bits
15825         wide, that integer arithmetic is 2's complement without overflow,
15826         that there are no holes in integer values, that adding sizes of
15827         two nonoverlapping objects can't overflow, and that all-bits-zero
15828         yields scalar zero.  Fix spelling and capitalization typos.
15829
15830 2003-09-19  Karl Berry  <karl@gnu.org>
15831
15832         * lib/argp.h: update from libc.
15833
15834 2003-09-17  Paul Eggert  <eggert@twinsun.com>
15835
15836         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Call AC_BEFORE first,
15837         to avoid spurious warnings like "AC_RUN_IFELSE was called before
15838         gl_USE_SYSTEM_EXTENSIONS" from autoreconf.
15839
15840 2003-09-17  Paul Eggert  <eggert@twinsun.com>
15841
15842         * gnulib-tool: Use "test -h", not "test -L", for portability
15843         to Solaris 8 /bin/sh.  (This bug is fixed in Solaris 9.)
15844         (tags_regexp): Remove, since \| doesn't conform to POSIX.
15845         (sed_extract_prog): Issue s commands one-by-one, rather than
15846         using \| in one s command.
15847
15848 2003-09-16  Paul Eggert  <eggert@twinsun.com>
15849
15850         * lib/linebuffer.c (readlinebuffer): Return NULL immediately upon
15851         input error, instead of returning NULL the next time we are called
15852         (and therefore losing track of errno).
15853
15854 2003-09-16  Bruno Haible  <bruno@clisp.org>
15855
15856         * gnulib-tool (func_create_testdir): Warn about duplicated
15857         dependencies.
15858
15859 2003-09-15  Paul Eggert  <eggert@twinsun.com>
15860
15861         * modules/argmatch, modules/fatal, modules/obstack,
15862         modules/xalloc, modules/xgethostname: Sort dependencies by
15863         importance, not alphabetically.
15864
15865 2003-09-15  Paul Eggert  <eggert@twinsun.com>
15866
15867         * lib/getndelim2.c (getndelim2): Don't trash errno when a read
15868         fails, so that the caller gets the proper errno.
15869
15870         * lib/readutmp.c (read_utmp): Likewise.
15871         Check for fstat error.  Close stream and free storage
15872         when failing.
15873
15874 2003-09-14  Karl Berry  <karl@gnu.org>
15875
15876         * config/srclist.txt (strdup.c): disable for c89 changes.
15877
15878 2003-09-14  Jim Meyering  <jim@meyering.net>
15879
15880         * lib/getloadavg.c: Correct cpp indentation.
15881         * lib/strdup.c: Likewise.
15882         * lib/vasnprintf.c: Likewise.
15883
15884 2003-09-14  Bruno Haible  <bruno@clisp.org>
15885
15886         * modules/fwriteerror: New file.
15887         * MODULES.html.sh (func_all_modules): Add fwriteerror.
15888
15889 2003-09-14  Bruno Haible  <bruno@clisp.org>
15890
15891         * lib/fwriteerror.h: New file.
15892         * lib/fwriteerror.c: New file.
15893
15894 2003-09-12  Paul Eggert  <eggert@twinsun.com>
15895
15896         * modules/argmatch, modules/exitfail, modules/fatal, modules/obstack,
15897         modules/xgethostname, modules/xalloc: Depend on exit.
15898
15899 2003-09-12  Paul Eggert  <eggert@twinsun.com>
15900
15901         * m4/error.m4: Require AC_FUNC_STRERROR_R rather than invoking it.
15902
15903         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Require AC_AIX
15904         and AC_MINIX, too, so that their extensions are available.
15905
15906         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Remove.  All uses removed.
15907         This macro has been superseded by gl_BACKUPFILE.
15908
15909         More patches to assume C89 or better.
15910
15911         * m4/error.m4 (gl_ERROR): Don't check for vprintf.
15912
15913         * m4/check-decl.m4 (jm_CHECK_DECLS): Include <string.h>, <stdlib.h>
15914         unconditionally.
15915         * m4/closeout.m4 (gl_CLOSEOUT): Don't check for stdlib.h.
15916         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER):
15917         Include <string.h>, <stdlib.h> unconditionally.
15918         * m4/lstat.m4 (gl_PREREQ_LSTAT): Don't check for stdlib.h, free.
15919         * m4/readdir.m4 (GL_FUNC_READDIR): Don't check for string.h.
15920         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Don't check for standard C
15921         headers or for string.h.
15922         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Don't check for stdlib.h
15923         or strtoul.
15924
15925         * m4/mkstemp.m4 (jm_PREREQ_TEMPNAME): Do not require standard C
15926         headers.
15927         * m4/strdup.m4 (gl_PREREQ_STRDUP): Likewise.
15928         * m4/userspec.m4 (gl_USERSPEC): Likewise.
15929         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Likewise.
15930         * m4/xstrtod.m4 (gl_XSTRTOD): Likewise.
15931         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
15932         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't check for limits.h,
15933         memcpy, memset.
15934         (jm_FUNC_GNU_STRFTIME): Don't require standard C headers.
15935         * m4/strtod.m4 (gl_FUNC_STRTOD): Do not check for float.h.
15936         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Do not check for stdlib.h,
15937         strtol.
15938         * m4/strtol.m4 (gl_FUNC_STRTOL): Do not check for limits.h.
15939         * m4/userspec.m4 (gl_USERSPEC): Do not check for string.h.
15940         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Do not check for string.h, strtol,
15941         strtoul.
15942
15943 2003-09-12  Paul Eggert  <eggert@twinsun.com>
15944
15945         * lib/argmatch.c, fatal.c, xgethostname.c, xmalloc.c: Include exit.h.
15946         * lib/obstack.c [!defined _LIBC]: Likewise.
15947         * lib/argmatch.c (EXIT_FAILURE): Remove; now done by exit.h
15948         * lib/exitfail.c, fatal.c, xgethostname.c, xmalloc.c: Likewise.
15949         * lib/exitfail.c: Don't include stdlib.h; no longer needed.
15950
15951         More changes to assume C89 or better.
15952
15953         * lib/error.c (error_tail): Assume vprintf.
15954
15955         * lib/argmatch.c (getenv): Remove decl.
15956         * lib/progreloc.c (get_full_program_name): Define via prototype.
15957         * lib/setenv.c (clearenv): Likewise.
15958         * lib/stpncpy.c: Do not include <string.h> or <sys/types.h>; not
15959         needed.
15960         * lib/strdup.c: Include <stdlib.h>, <string.h> unconditionally.
15961         (malloc, memcpy): Remove decls.
15962         * lib/strftime.c (HAVE_LIMITS_H, STDC_HEADERS) [defined _LIBC]: Remove.
15963         (HAVE_MEMCPY) [defined emacs && !defined HAVE_BCOPY]: Remove.
15964         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
15965         (memcpy): Remove macro.
15966         (MEMCPY) [!defined COMPILE_WIDE]: Define to memcpy unconditionally.
15967         (__P): Remove.  All uses removed.
15968         (PTR): Remove.  All uses changed to void *.
15969         (CHAR_BIT, NULL): Remove.
15970         (spaces, zeros, memset_space, memset_zero)
15971         [!defined memset && !defined HAVE_MEMSET && !defined _LIBC]:
15972         Remove.
15973         (LOCALE_PARAM, LOCALE_PARAM_DECL): Remove.
15974         (memcpy_lowcase, memcpy_uppcase, tm_diff, iso_week_days):
15975         Define with prototype.
15976         Remove now-unnecessary prototype decl.
15977         (extra_args_spec): Assume ANSI C.  All uses changed.
15978         (extra_args_spec_iso): Remove.
15979         (my_strftime, emacs_strftimeu): Define via prototype.
15980         * lib/strtod.c: Include <float.h>, <stdlib.h>, <string.h>
15981         unconditionally.
15982         (DBL_MAX, DBL_MIN, HUGE_VAL, NULL): Remove decls.
15983         * lib/strtoimax.c: Include <stdlib.h> unconditionally.
15984         (strtoul, strtol): Remove decls.
15985         * lib/strtol.c (STDC_HEADERS, HAVE_LIMITS_H, NULL, ULONG_MAX,
15986         LONG_MAX): Remove.
15987         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
15988         (LOCALE_PARAM_DECL): Remove.  All uses changed to LOCALE_PARAM_PROTO.
15989         (LOCALE_PARAM_PROTO): New macro.
15990         (INTERNAL, INTERNAL1, WEAKNAME): Assume ANSI C, not K&R.
15991         (INTERNAL (strtol), strtol): Define with a prototype.
15992         (PARAMS): Remove.  All uses removed.
15993         * lib/tempname.c: Include <string.h> unconditionally.
15994         * lib/userspec.c: Include <stdlib.h>, <string.h> unconditionally.
15995         * lib/xgethostname.c (main): Define with a prototype.
15996         * lib/xmalloc.c: Include "xalloc.h" first, to check interface.
15997         Include <stdlib.h> unconditionally.
15998         (calloc, malloc, realloc, free): Remove decls.
15999         * lib/xstrtod.c: Include "xstrtod.h" first, to check interface.
16000         Include <stdlib.h> unconditionally.  Sort include file names.
16001         (strtod): Remove.
16002         (xstrtod): Define with a prototype.
16003         * lib/xstrtol.c: Include <stdlib.h>, <string.h> unconditionally.
16004         (strtol, strtoul): Remove decls.
16005
16006 2003-09-11  Paul Eggert  <eggert@twinsun.com>
16007
16008         More patches to assume C89 or better.
16009         * m4/strndup.m4 (gl_PREREQ_STRNDUP): Remove STDC_HEADERS check.
16010         * m4/strnlen.m4 (gl_PREREQ_STRNLEN): Don't check for memory.h,
16011         string.h, memchr, STDC_HEADERS.
16012
16013 2003-09-11  Paul Eggert  <eggert@twinsun.com>
16014
16015         * lib/strndup.c: Don't include <stdio.h>, <sys/types.h>.
16016         Include <stdlib.h>, <string.h> unconditionally.
16017         Remove now-unnecessary cast to char *.
16018         * lib/strnlen.c: Include <string.h> unconditionally.
16019         * lib/yesno.c (yesno): Define with a prototype.
16020
16021 2003-09-11  Bruno Haible  <bruno@clisp.org>
16022
16023         * config/srclist.txt (setenv.c, unsetenv.c): Disable for the moment.
16024
16025 2003-09-10  Jim Meyering  <jim@meyering.net>
16026
16027         * lib/error.c: Correct indentation of cpp directives.
16028
16029 2003-09-10  Bruno Haible  <bruno@clisp.org>
16030
16031         * m4/strcspn.m4 (gl_PREREQ_STRCSPN): Remove <string.h> check.
16032         * m4/strpbrk.m4 (gl_PREREQ_STRPBRK): Remove <string.h> check.
16033         * m4/strstr.m4 (gl_PREREQ_STRSTR): Remove <string.h> check.
16034         * m4/unicodeio.m4 (gl_UNICODEIO): Remove <string.h> check.
16035         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove
16036         <stdlib.h> and <string.h> checks.
16037         * m4/xreadlink.m4 (gl_XREADLINK): Remove <stdlib.h> check.
16038         * m4/yesno.m4 (gl_YESNO): Remove <stdlib.h> check.
16039
16040 2003-09-10  Bruno Haible  <bruno@clisp.org>
16041
16042         * lib/strcspn.c: Include <string.h> unconditionally.
16043         * lib/strpbrk.c: Include <string.h> unconditionally.
16044         * lib/strstr.c: Include <string.h> unconditionally.
16045         * lib/unicodeio.c: Include <string.h> unconditionally.
16046         * lib/setenv.c: Include <stdlib.h> and <string.h> unconditionally.
16047         * lib/unsetenv.c: Likewise.
16048         * lib/xreadlink.c: Include <stdlib.h> unconditionally.
16049         * lib/yesno.c: Include <stdlib.h> unconditionally.
16050         (rpmatch): Add prototype.
16051
16052 2003-09-09  Paul Eggert  <eggert@twinsun.com>
16053
16054         More patches to assume C89 or better.
16055         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Don't check for stdlib.h.
16056         * m4/getopt.m4 (gl_GETOPT): Don't check for string.h.
16057         * m4/getugroups.m4 (gl_GETUGROUPS): Do not check for standard C headers
16058         or for string.h.
16059         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Do not check for
16060         stdlib.h.
16061         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): Do not require standard
16062         C headers.
16063         * m4/hard-locale.m4 (gl_HARD_LOCALE): Do not check for stdlib.h,
16064         string.h.
16065         * m4/hash.m4 (gl_HASH): Do not check for stdlib.h, malloc, free.
16066         * m4/human.m4 (gl_HUMAN): Do not check for stdlib.h, string.h, getenv.
16067         * m4/idcache.m4 (gl_IDCACHE): Do not check for standard C headers,
16068         or for string.h.
16069         * m4/long-options.m4 (gl_LONG_OPTIONS): Do not check for stdlib.h.
16070         * m4/makepath.m4 (gl_MAKEPATH): Do not check for string.h or standard
16071         C headers.
16072         * m4/md5.m4 (gl_MD5): Don't check for limits.h, standard C headers,
16073         memcpy.
16074         * m4/sha.m4 (gl_SHA): Don't check for standard Cheaders, memcpy.
16075         * m4/memchr.m4 (jm_PREREQ_MEMCHR): Don't check for limits.h, stdlib.h.
16076         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): Don't check for string.h.
16077         * m4/memcoll.m4 (gl_MEMCOLL): Likewise.
16078         * m4/memrchr.c (gl_PREREQ_MEMRCHR): Don't check for limits.h.
16079         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): Don't check for stdlib.h,
16080         string.h, free.
16081         * m4/mktime.m4 (gl_PREREQ_MKTIME): Don't check for standard C headers.
16082         * m4/modechange.m4 (gl_MODECHANGE): Don't check for standard C headers.
16083         * m4/mountlist.m4 (gl_PREREQ_MOUNTLIST_EXTRA): Don't check for standard
16084         C headers, or for string.h.
16085         * m4/obstack.m4 (gl_OBSTACK): Don't check for stddefe.h, string.h.
16086         (gl_PREREQ_OBSTACK): Don't check for stdlib.h.
16087         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't check for standard C
16088         headers, memory.h, stdlib.h, string.h, strings.h.
16089         * m4/posixtm.m4 (gl_POSIXTM): Don't check for stdlib.h, string.h.
16090         * m4/posixver.m4 (gl_POSIXVER): Don't check for getenv.
16091         * m4/putenv.m4 (gl_PREREQ_PUTENV): Don't check for string.h, memcpy,
16092         strchr.
16093         * m4/readtokens.m4 (gl_READTOKENS): Don't check for standard C
16094         headers, memory.h, string.h.
16095         * m4/regex.m4 (jm_PREREQ_REGEX): Do not check for limits.h, string.h.
16096         * m4/rename.m4 (gl_PREREQ_RENAME): Do not check for stdlib.h, string.h,
16097         free.
16098         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Don't check for standard C
16099         headers.
16100         * m4/same.m4 (gl_SAME): Don't check for stdlib.h, string.h, free.
16101         * m4/save-cwd.m4 (gl_SAVE_CWD): Don't check for standard C headers.
16102         * m4/savedir.m4 (gl_SAVEDIR): Don't check for standard C headers.
16103         * m4/strchrnul.m4 (gl_PREREQ_STRCHRNUL): Don't check for string.h.
16104         * m4/xgetcwd.m4 (gl_XGETCWD): Don't check for stdlib.h.
16105
16106 2003-09-09  Paul Eggert  <eggert@twinsun.com>
16107
16108         More K&R removal.
16109
16110         * lib/acosl.c (main): Use a prototype.
16111         * lib/asinl.c, cosl.c, expl.c, frexpl.c, ldexpl.c, sinl.c,
16112         tanl.c: Likewise.
16113
16114         * lib/getloadavg.c (getloadavg, main): Define via prototypes.
16115
16116         * lib/getopt.h (struct option.name): Assume C89, and use 'const'.
16117         (getopt, etopt_long, getopt_long_only, _getopt_internal)
16118         [defined __GNU_LIBRARY__]: Assume C89, so we can always declare
16119         with a prototype.
16120         * lib/getopt.c (const): Remove macro.
16121         Include <string.h> unconditionally.
16122         (my_index): Remove; all uses changed to strchr.
16123         (strlen): Remove decl.
16124         (exchange): Remove forward decl; no longer needed.
16125         (exchange, _getopt_initialize, _getopt_internal, getopt, main):
16126         Define with prototype.
16127         * lib/getopt1.c (const): Remove macro.
16128         (getopt_long, getopt_long_only, main): Define with prototype.
16129
16130         * lib/getugroups.c: Include <string.h> unconditionally.
16131
16132         * lib/getusershell.c: Include <stdlib.h> unconditionally.
16133         (getusershell, setusershell, endusershell, readname, main):
16134         Define with prototypes.
16135
16136         * lib/group-member.c: Include group-member.h first.
16137         Include <stdlib.h> unconditionally.
16138
16139         * lib/hard-locale.c: Include hard-locale.h first.
16140         Include <stdlib.h>, <string.h> unconditionally.
16141
16142         * lib/hash.c (free, malloc): Remove decls.
16143         Include <stdlib.h> unconditionally.
16144
16145         * lib/human.c: Include <stdlib.h>, <string.h> unconditionally.
16146         (getenv): Do not declare.
16147
16148         * lib/idcache.c: Include <string.h> unconditionally.
16149
16150         * lib/long-options.c: Include long-options.h first, to test interface.
16151         Include <stdlib.h> unconditionally.
16152
16153         * lib/makepath.c: Include makepath.h first, to test interface.
16154         Include <stdlib.h> and <string.h> unconditionally.
16155
16156         * lib/linebuffer.c: Include <stdlib.h>.
16157         (free): Remove decl.
16158
16159         * lib/malloc.c: Include <stdlib.h>, for malloc; don't bother with
16160         stddef.h. rpl_malloc returns void *, not char *.
16161         * lib/realloc.c (rpl_realloc): Likewise.  Also, define with a
16162         prototype.
16163
16164         * lib/md5.h: Include <limits.h> unconditionally.
16165         (UINT_MAX_32_BITS): Don't worry about non-__STDC__ case.
16166         (__P): Remove; all uses removed.
16167         * lib/md5.c: Include "md5.h" first.
16168         (md5_init_ctx, md5_read_ctx, md5_finish_ctx, md5_stream,
16169         md5_buffer, md5_process_bytes, md5_process_block):
16170         Define with prototypes.
16171         * lib/sha.h (__P): Remove all uses.  (It wasn't defined??)
16172         * lib/sha.c: Include "sha.h" first.
16173         Include <stdlib.h>, <string.h> unconditionally.
16174
16175         * lib/memchr.c (__ptr_t): Remove; all uses changed to void *.
16176         * lib/memcmp.c (__ptr_t): Likewise.
16177         * lib/memrchr.c (__ptr_t): Likewise.
16178         * lib/memchr.c, memcmp.c, memcoll.c, memrchr.c:
16179         Include <string.h> unconditionally.
16180         * lib/memchr.c, memrchr.c: Include <limits.h> unconditionally.
16181         * lib/memchr.c: Include <stdlib.h> unconditionally.
16182         * lib/memchr.c (LONG_MAX): Remove.
16183         * lib/memrchr.c (LONG_MAX): Likewise.
16184         * lib/memchr.c (__memchr): Define via a prototype.
16185         * lib/memrchr.c (__memrchr): Likewise.
16186         * lib/memcmp.c (__P): Remove, and remove all uses.
16187         (memcmp_bytes, memcmp_common_alignment, memcmp_not_common_alignment):
16188         Remove forward decls; no longer needed.
16189         * lib/memcpy.c, memmove.c, memset.c: Include <stddef.h>.
16190         Use types required by C89 in prototype.
16191
16192         * lib/mkdir.c: Include <stdlib.h>, <string.h> unconditionally.
16193         * lib/savedir.c: Likewise.
16194         * lib/mkdir.c (free): Remove decl.
16195         * lib/rmdir.c (rmdir): Define with a prototype.
16196         * lib/savedir.c: Include savedir.h first, to test interface.
16197
16198         * lib/mktime.c (STDC_HEADERS): Remove.
16199         Include <stdlib.h>, <string.h> unconditionally.
16200
16201         * lib/modechange.c: Include <stdlib.h> unconditionally.
16202         (malloc): Remove decl.
16203
16204         * lib/mountlist.c: Include <stdlib.h>, <string.h> unconditionally.
16205         (free): Remove decl.
16206
16207         * lib/obstack.h (PTR_INT_TYPE) [!defined __PTRDIFF_TYPE__]:
16208         Define to ptrdiff_t, without bothering to check HAVE_STDDEF_H.
16209         (This type really should be intptr_t, but that's a C99ism.)
16210         (_obstack_memcpy): Remove: all uses changed to memcpy.
16211         Include <string.h> unconditionally.
16212         (struct obstack): Assume __STDC__ for types of members
16213         chunkfun, freefun, extra_arg.
16214         (_obstack_newchunk, _obstack_free, _obstack_begin, _obstack_begin_1,
16215         _obstack_memory_used, obstack_alloc_failed_handler, obstack_init,
16216         obstack_begin, obstack_specify_allocation,
16217         obstack_specify_allocation_with_arg, obstack_chunkfun,
16218         obstack_freefun, obstack_free) [! (defined __STDC__ && __STDC__)]:
16219         Remove unprototyped decls and the macros that use them.
16220         * lib/obstack.c (POINTER): Remove.  All uses changed to void *.
16221         (obstack_alloc_failed_handler, CALL_CHUNKFUN, CALL_FREEFUN,
16222         _obstack_begin, _obstack_begin_1, _obstack_allocated_p)
16223         (defined __STDC__ && __STDC__)]:
16224         Remove nonprototyped code.
16225         Include <stdlib.h> unconditionally.
16226         (_obstack_begin, _obstack_begin_1, _obstack_newchunk,
16227         _obstack_allocated_p, _obstack_free, obstack_free,
16228         _obstack_memory_used, print_and_abort):
16229         Define using prototypes.
16230         (obstack_1grow, obstack_1grow_fast, obstack_alloc, obstack_base,
16231         obstack_blank, obstack_blank_fast, obstack_copy, obstack_copy0,
16232         obstack_finish, obstack_grow, obstack_grow0, obstack_make_room,
16233         obstack_next_free, obstack_object_size, obstack_room) [0]:
16234         Remove unused, unprototyped code.
16235
16236         * lib/path-concat.c: Include <stdlib.h>, <string.h> unconditionally.
16237
16238         * lib/physmem.c (physmem_total, physmem_available, main): Define
16239         with prototypes.
16240
16241         * lib/posixtm.c: Include <stdlib.h>, <string.h> unconditionally.
16242         (main): Define with a prototype.
16243
16244         * lib/posixver.c (getenv): Remove decl.
16245
16246         * lib/putenv.c (malloc): Returns void *, not char *.
16247         Include <string.h> unconditionally.
16248         (strchr, memcpy, NULL): Do not define.
16249
16250         * lib/readtokens.c: Include readtokens.h first, to test interface.
16251         Include <stdlib.h>, <string.h> unconditionally.
16252         (init_tokenbuffer): Define with a prototype.
16253
16254         * lib/regex.c (PARAMS): Remove.  All uses removed.
16255         All uses of _RE_ARGS removed, too.
16256         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
16257         unconditionally.
16258         (bzero): Assume memset exists.
16259         (memcmp, memcpy, NULL): Remove.
16260         (SIGN_EXTEND_CHAR): Remove; all uses replaced by casts to signed
16261         char, or assignments to local vars of type signed char.
16262         (init_syntax_once, PREFIX(extract_number_and_incr),
16263         PREFIX(print_partial_compiled_pattern),
16264         PREFIX(print_compiled_pattern), PREFIX(print_double_string),
16265         convert_mbs_to_wcs, print_fastmap, re_set_syntax,
16266         PREFIX(regex_grow_registers), PREFIX(regex_compile),
16267         PREFIX(store_op1), PREFIX(store_op2), PREFIX(insert_op1),
16268         PREFIX(insert_op2), PREFIX(at_begline_loc_p),
16269         PREFIX(at_endline_loc_p), group_in_compile_stack, insert_space,
16270         wcs_compile_range, byte_compile_range, truncate_wchar,
16271         PREFIX(re_compile_fastmap), re_compile_fastmap, re_set_registers,
16272         re_search, re_search_2, PREFIX(re_search_2), re_match, re_match_2,
16273         count_mbs_length, wcs_re_match_2_internal,
16274         byte_re_match_2_internal, PREFIX(group_match_null_string_p),
16275         PREFIX(alt_match_null_string_p),
16276         PREFIX(common_op_match_null_string_p), PREFIX(bcmp_translate),
16277         re_compile_pattern, re_comp, re_exec, regcomp, regexec, regerror,
16278         regfree, PREFIX(extract_number)): Define with prototype.  Remove
16279         now-unnecessary declaration, if any.
16280         (byte_compile_range, PREFIX(regex_compile), re_comp, re_exec,
16281         regcomp, regexec):
16282         Remove now-unnecessary casts among pointer types.
16283         * lib/regex.h (_RE_ARGS): Remove.  All uses removed.
16284
16285         * lib/rename.c: Include <stdlib.h>, <string.h> unconditionally.
16286         (free): Remove decl.
16287
16288         * lib/rpmatch.c: Include <stdlib.h> unconditionally.
16289
16290         * lib/same.c: Include <stdlib.h>, <string.h> unconditionally.
16291         (free): Remove decl.
16292
16293         * lib/save-cwd.c: Include <stdlib.h> unconditionally.
16294         * lib/xgetcwd.c: Likewise.
16295
16296         * lib/stat.c: Include <stdlib.h>, <string.h> unconditionally.
16297         (free): Remove decl.
16298
16299         * lib/strchrnul.c (strchrnul): Define with a prototype.
16300         Fix bug: c_in was not converted to char before searching.
16301
16302         The following changes are not K&R related:
16303
16304         * lib/group-member.h: Include <sys/types.h>, so that this file is
16305         self-contained.
16306         * lib/makepath.h: Likewise.
16307
16308         * lib/getusershell.c (readname, default_index, line_size, readname):
16309         Use size_t, not int, for sizes.
16310         (readname): If the size overflows, report an error instead of
16311         looping forever.
16312
16313 2003-09-09  Paul Eggert  <eggert@twinsun.com>
16314
16315         * config/srclist.txt: Do not get getopt.h, getopt1.c, or regex.h from
16316         libc.
16317
16318 2003-09-09  Paul Eggert  <eggert@twinsun.com>
16319
16320         * README: New section: portability guidelines.
16321
16322 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
16323
16324         * m4/getndelim2.m4 (gl_PREREQ_GETNDELIM2): Assume stdlib.h per the
16325         C89 spec.
16326
16327 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
16328
16329         * lib/getndelim2.c: Assume stdlib.h per the C89 spec.
16330
16331 2003-09-08  Paul Eggert  <eggert@twinsun.com>
16332
16333         Assume C89 or better; remove K&R cruft.
16334         A few of these changes were first proposed by Derek Robert Price
16335         in <http://mail.gnu.org/archive/html/bug-gnulib/2003-07/msg00105.html>.
16336
16337         * lib/addext.c: Include <string.h> unconditionally.
16338         * lib/backupfile.c: Include <string.h>, <stdlib.h> unconditionally.
16339         Don't declare getenv or malloc.
16340
16341         * lib/alloca.c: Include <string.h>, <stdlib.h> unconditionally.
16342         (POINTER_TYPE, pointer): Remove; all uses changed to void *.
16343         (NULL): Remove.
16344         (find_stack_direction, alloca): Use prototypes.
16345
16346         * lib/atexit.c (atexit): Define using a prototype.
16347
16348         * lib/basename.c, dirname.c, stripslash.c:
16349         Include <string.h> unconditionally.
16350
16351         * lib/bcopy.c: Include <stddef.h>.
16352         (bcopy): Define with prototype, using 'const' and 'void' and 'size_t'.
16353
16354         * lib/canon-host.c: Include <stdlib.h>, <string.h> unconditionally.
16355
16356         * lib/error.h (error, error_at_line, error_print_progname)
16357         [! (defined (__STDC__) && __STDC__)]: Remove decls.
16358         * lib/error.c: Include error.h first, to check interface.
16359         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
16360         (VA_START): Remove; all uses changeed to va_start.
16361         (exit, strerror): Remove decls.
16362         (error_print_progname): Prototype uncondionally.
16363         Don't include <errno.h>; no longer needed.
16364         (private_strerror): Remove.
16365         (error_tail): Always define.
16366         (error, error_at_line): Assume C89 or better; always use prototypes.
16367         * lib/fatal.c: Include "fatal.h" first, to test interface.
16368         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
16369         (VA_START): Remove; all uses changed to va_start.
16370         [! (HAVE_VPRINTF || HAVE_DOPRNT || _LIBC)]: Remove support for
16371         this case.
16372         (exit): Remove decl.
16373         (fatal): Prototype unconditionally.  Assume va_start works.
16374         Abort at end, to pacify gcc.
16375
16376         * lib/euidaccess.c (main): Define with a prototype.
16377
16378         * lib/exclude.c: Include <stdlib.h>, <string.h> unconditionally.
16379
16380         * lib/exitfail.c: Include <stdlib.h> unconditionally.
16381
16382         * lib/fnmatch_.h (__P): Remove.  All uses changed to assume
16383         prototypes.
16384         * lib/fnmatch.c: Include fnmatch.h first, to test interface.
16385         Include <string.h>, <stddef.h>, <stdlib.h> unconditionally.
16386         (getenv): Remove decl.
16387         (fnmatch): Define using a prototype.
16388         * lib/fnmatch_loop.c (FCT): Remove forward decl; no longer needed.
16389         (FCT): Define using a prototype.
16390
16391         * lib/getdate.y: Include <stdlib.h>, <string.h> unconditionally.
16392
16393         * lib/gethostname.c: Include <stddef.h>.
16394         (gethostname): Define with prototype.  Length is size_t, not int.
16395
16396 2003-09-08  Paul Eggert  <eggert@twinsun.com>
16397
16398         Assume C89 or better; remove K&R cruft.
16399         * m4/alloca.m4 (gl_PREREQ_ALLOCA): Don't check for stdlib.h, string.h.
16400         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for stdlib.h,
16401         string.h, getenv, malloc.
16402         * m4/dirname.m4 (gl_DIRNAME): Don't check for string.h or C standard
16403         headers.
16404         * m4/canon-host.m4 (gl_CANON_HOST): Don't check for string.h, stdlib.h.
16405         * m4/error.m4 (jm_PREREQ_ERROR): Do not require STDC headers, and
16406         do not check for strerror.
16407         * m4/exclude.m4: Do not check for stdlib.h, string.h, strings.h.
16408         * m4/exitfail.m4 (gl_EXITFAIL): Do not check for stdlib.h.
16409         * m4/fatal.m4 (gl_FATAL): Do not require STDC headers, and
16410         do not check for doprnt or vprintf.
16411         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH_EXTRA): Remove.  All uses removed.
16412         * m4/getdate.m4 (gl_GETDATE): Don't check for stdlib.h or string.h.
16413
16414 2003-09-08  Paul Eggert  <eggert@twinsun.com>
16415
16416         * lib/getversion.c: Remove; was migrated to backupfile.c in 1997.
16417         getversion.c should have been removed then, but was accidentally
16418         preserved.
16419
16420         * lib/utime.c [!HAVE_UTIMES_NULL]: Include <sys/stat.h>, <fcntl.h>.
16421         (utime_null): Fix typo: 'st' was sometimes called 'sb'.
16422
16423 2003-09-08  Karl Berry  <karl@gnu.org>
16424
16425         * config/config.sub, config.guess, srclistvars.sh: update from savannah
16426                 config, forget about prep.
16427
16428         * config/depcomp, missing: update from automake.
16429
16430 2003-09-07  Paul Eggert  <eggert@twinsun.com>
16431
16432         * modules/time_r: Depend on 'restrict'.  Fix from Simon Josefsson in
16433         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00028.html>.
16434
16435 2003-09-07  Paul Eggert  <eggert@twinsun.com>
16436
16437         * lib/time_r.c (gmtime_r, localtime_r): Fix silly typo: missing arg to
16438         copy_tm_result.  Bug reported by Simon Josefsson in
16439         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00028.html>.
16440
16441 2003-09-06  Paul Eggert  <eggert@twinsun.com>
16442
16443         * m4/time_r.m4: New file.
16444         * m4/mktime.m4 (gl_PREREQ_MKTIME): Remove check for limits.h.
16445         * m4/timegm.m4 (gl_FUNC_TIMEGM): Assume that timegm is buggy if mktime
16446         is. Check for timegm declaration.
16447         (gl_PREREQ_TIMEGM): Require gl_FUNC_MKTIME.
16448         Do not check for gmtime_r.
16449         Replace mktime if __mktime_internal does not exist and if mktime
16450         hasn't been replaced already.
16451
16452 2003-09-06  Paul Eggert  <eggert@twinsun.com>
16453
16454         * lib/time_r.c, lib/time_r.h: New files.
16455
16456         * lib/mktime.c (my_mktime_localtime_r): Remove; all uses changed to
16457         __localtime_r.
16458         (__localtime_r) [!defined _LIBC]: New macro.  Include <time_r.h>.
16459         (__mktime_internal) [!defined _LIBC]: Now extern, not static.
16460
16461         * lib/strftime.c (my_strftime_gmtime_r): Remove; all uses changed to
16462         __gmtime_r.
16463         (my_strftime_localtime_r): Remove; all uses changed to __localtime_r.
16464         (__gtime_r, __localtime_r) [!HAVE_TM_GMTOFF]: New macros.
16465         Include <time_r.h>.
16466
16467         * lib/timegm.c: Switch to glibc implementation, with the following
16468         changes:
16469         [defined HAVE_CONFIG_H]: Include <config.h>.
16470         [!defined _LIBC]: Include "timegm.h" rather than <time.h>.
16471         (__mktime_internal) [!defined _LIBC]: New decl.
16472         (__gmtime_r) [!defined _LIBC]: New macro and function.
16473         (timegm): Use a prototype, since gnulib assumes C89.
16474         Do not bother declaring tmp to be const, as it's not really usefu.
16475         * lib/timegm.h: Hoist "#include <time.h>" out of #ifdef.
16476         (timegm): Declare only if HAVE_DECL_TIMEGM.
16477
16478 2003-09-06  Paul Eggert  <eggert@twinsun.com>
16479
16480         * MODULES.html.sh (func_all_modules): Add time_r.
16481         * modules/time_r: New file.
16482         * modules/mktime, modules/strftime, modules/timegm: Depend on time_r.
16483         * modules/timegm: Depend on mktime.  Change maintainer to "all, glibc".
16484
16485 2003-09-03  Paul Eggert  <eggert@twinsun.com>
16486
16487         * lib/human.c (human_readable): Fix bug that rounded 10501 to 10k.
16488         Bug reported by Lute Kamstra in
16489         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00003.html>.
16490
16491         * lib/getdate.y (relative_time_table): Use tDAY_UNIT for "tomorrow",
16492         "yesterday", "today", and "now" rather than tMINUTE_UNIT.  Of
16493         course with correspondingly smaller numbers for tomorrow and
16494         yesterday.  From Tadayoshi Funaba.  Originally installed into
16495         sh-utils on 1999-08-07, but the patch got lost (I guess during the
16496         coreutils merge?).
16497
16498 2003-08-31  Simon Josefsson  <jas@extundo.com>
16499
16500         * modules/timegm: New file.
16501         * MODULES.html.sh (func_all_modules): Add timegm.
16502
16503 2003-08-31  Simon Josefsson  <jas@extundo.com>
16504
16505         * m4/timegm.m4: New file.
16506
16507 2003-08-31  Simon Josefsson  <jas@extundo.com>
16508
16509         * lib/timegm.h: New file.
16510         * lib/timegm.c: New file.  Based on
16511         wget-1.8.2/src/http.c:mktime_from_utc.
16512
16513 2003-08-31  Karl Berry  <karl@gnu.org>
16514
16515         * lib/argp.h: update from libc.
16516
16517 2003-08-28  Bruno Haible  <bruno@clisp.org>
16518
16519         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Remove AC_DEFINE of fnmatch here.
16520         This avoids havoc on compilers for which '#define fnmatch rpl_fnmatch'
16521         followed by '#define fnmatch fnmatch_posix' gives an error.
16522
16523 2003-08-28  Bruno Haible  <bruno@clisp.org>
16524
16525         * lib/binary-io.h: Undefine O_BINARY before defining it. This avoids a
16526         warning on QNX, which defines O_BINARY to 000000.
16527
16528 2003-08-27  Jim Meyering  <jim@meyering.net>
16529
16530         * m4/mkstemp.m4: Require that the system mkstemp be able to create
16531         70 temporary files, not just 30.  Tru64 V4.0F's mkstemp function
16532         would fail after 32.  Reported by Danny Levinson.  Details here:
16533         http://mail.gnu.org/archive/html/bug-coreutils/2003-08/msg00124.html
16534
16535 2003-08-24  Bruno Haible  <bruno@clisp.org>
16536
16537         * lib/binary-io.h: Include <stdio.h>, to avoid a compilation error when
16538         MSVC7 <stdio.h> is included later.
16539
16540 2003-08-22  Simon Josefsson  <jas@extundo.com>
16541
16542         * modules/strndup (Makefile.am): Add strndup.h to lib_SOURCES.
16543
16544 2003-08-20  Karl Berry  <karl@gnu.org>
16545
16546         * m4/lib-ld.m4: serial 1003 from gettext, no changes besides serial.
16547
16548 2003-08-20  Bruno Haible  <bruno@clisp.org>
16549
16550         * modules/progname: New file.
16551         * MODULES.html.sh (func_all_modules): Add progname.
16552
16553 2003-08-20  Bruno Haible  <bruno@clisp.org>
16554
16555         * lib/progname.h: New file, from GNU gettext.
16556         * lib/progname.c: New file, from GNU gettext.
16557         * lib/progreloc.c: New file, from GNU gettext.
16558
16559 2003-08-19  Jim Meyering  <jim@meyering.net>
16560
16561         * m4/lib-ld.m4: Revert yesterday's change, per Bruno's request here:
16562         http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00155.html
16563
16564 2003-08-19  Bruno Haible  <bruno@clisp.org>
16565
16566         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Don't check for <string.h> any
16567         more.
16568
16569 2003-08-19  Bruno Haible  <bruno@clisp.org>
16570
16571         * lib/xstrdup.c: Assume <string.h> exists.
16572
16573 2003-08-18  Paul Eggert  <eggert@twinsun.com>
16574
16575         * modules/stdbool: Add BUILT_SOURCES.  Prefer $@ to target name
16576         in makefile rules.
16577
16578 2003-08-18  Jim Meyering  <jim@meyering.net>
16579
16580         * m4/getloadavg.m4: Use [\t ], not [ \t] (where \t is a literal TAB).
16581         * m4/lib-ld.m4: Likewise.
16582
16583 2003-08-18  Jim Meyering  <jim@meyering.net>
16584
16585         * lib/setenv.h: Indent nested cpp directive.
16586         * lib/vasnprintf.c: Remove trailing blanks.
16587
16588 2003-08-17  Simon Josefsson  <jas@extundo.com>
16589
16590         * modules/xstrndup: New file.
16591         * MODULES.html.sh (func_all_modules): Add xstrndup.
16592
16593 2003-08-17  Simon Josefsson  <jas@extundo.com>
16594
16595         * modules/argp: Fix autoconf macro name. Add more dependencies.
16596
16597 2003-08-17  Simon Josefsson  <jas@extundo.com>
16598
16599         * m4/xstrndup.m4: New file.
16600
16601 2003-08-17  Simon Josefsson  <jas@extundo.com>
16602
16603         * m4/argp.m4: New file.
16604
16605 2003-08-17  Simon Josefsson  <jas@extundo.com>
16606             Bruno Haible  <bruno@clisp.org>
16607
16608         * lib/xstrndup.h: New file.
16609         * lib/xstrndup.c: New file.
16610
16611 2003-08-17  Bruno Haible  <bruno@clisp.org>
16612
16613         * modules/strndup (Files, Include): Add lib/strndup.h.
16614
16615 2003-08-17  Bruno Haible  <bruno@clisp.org>
16616
16617         * modules/euidaccess (Files): Add lib/euidaccess.h.
16618
16619 2003-08-17  Bruno Haible  <bruno@clisp.org>
16620
16621         * lib/strndup.h: New file.
16622
16623 2003-08-17  Bruno Haible  <bruno@clisp.org>
16624
16625         * gnulib-tool (func_create_testdir): Handle gl_USE_SYSTEM_EXTENSIONS
16626         like AC_GNU_SOURCE.
16627         * modules/extensions (configure.ac): Comment out the invocation of
16628         gl_USE_SYSTEM_EXTENSIONS.
16629
16630 2003-08-16  Paul Eggert  <eggert@twinsun.com>
16631
16632         Merges from coreutils, etc.
16633         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Insert ':' to prevent a syntax
16634         error in gl_FUNC_MATCH.  This fixes a bug I introduced on 2003-05-28.
16635         * m4/readlink.m4 (gl_PREREQ_READLINK): Renamed from gl_PREREQ_READLINE,
16636         fixing a typo.
16637         * m4/host-os.m4 (UTILS_HOST_OS): Add GNU/NetBSD, GNU/FreeBSD.
16638         * m4/hash.m4 (gl_HASH): Use AM_STDBOOL_H, not AC_HEADER_STDBOOL.
16639
16640 2003-08-16  Paul Eggert  <eggert@twinsun.com>
16641
16642         Document merge from coreutils.
16643         * modules/alloca: Append $(ALLOCA_H) to BUILT_SOURCES.
16644         * modules/fnmatch: Append $(FNMATCH_H) to BUILT_SOURCES.
16645         * modules/utime: Add m4/utimes-null.m4.
16646
16647 2003-08-16  Paul Eggert  <eggert@twinsun.com>
16648
16649         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Do not normalize white
16650         space, undoing this 2003-08-12 change:
16651         <http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00080.html>
16652
16653 2003-08-16  Paul Eggert  <eggert@twinsun.com>
16654
16655         * config/srclist.txt: Get regex.h, strdup.c, strtoll.c,
16656         strtoul.c from libc, undoing this 2003-08-12 change:
16657         <http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00080.html>
16658
16659 2003-08-16  Jim Meyering  <jim@meyering.net>
16660
16661         Merges from coreutils.
16662         * m4/readdir.m4 (GL_FUNC_READDIR): Change name to have GL_ (not jm_)
16663         prefix.  Adjust cache variables similarly.  Create 500 rather than
16664         just 300 files, to exercise bug on Darwin6.5, too.
16665         * m4/perl.m4 (jm_PERL): Use $am_missing_run, not undefined
16666         $missing_dir.
16667         * m4/jm-winsz1.m4: Require AC_SYS_POSIX_TERMIOS, not
16668         AM_SYS_POSIX_TERMIOS.
16669         Reported by mkc@mathdogs.com.
16670         Also change use of $am_cv_sys_posix_termios
16671         to $ac_cv_sys_posix_termios.  Reported by Andreas Schwab.
16672         * m4/getgroups.m4 (jm_FUNC_GETGROUPS): Rewrite to use AC_FUNC_GETGROUPS
16673         and (if needed) to call AC_LIBOBJ and to set GETGROUPS_LIB.
16674         * m4/fsusage.m4 [__GLIBC__]: GNU libc's statvfs stats each mount point
16675         in /proc/mounts until it finds one with matching device number.  This
16676         is unnecessary when the FILE argument *is* a mount point.  No stat call
16677         is necessary in that case.  So, disable the statvfs-testing code on
16678         systems with GNU libc.  Reported by Andrei Gaponenko via Tim Waugh
16679         as RedHat bug# 84846.
16680         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
16681         to 1MB, so as not to render systems with no stack size limit (e.g.,
16682         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
16683         Include <unistd.h>.  On some systems,
16684         it is required for the definition of _SC_PAGESIZE.
16685
16686 2003-08-16  Jim Meyering  <jim@meyering.net>
16687
16688         Merge from coreutils.
16689         * lib/xstrtoimax.c: #else #if -> #elif.
16690         * lib/xstrtoumax.c: Likewise.
16691
16692 2003-08-16  Jim Meyering  <jim@meyering.net>
16693
16694         * m4/utimes.m4 (gl_FUNC_UTIMES): New file.
16695         * m4/utimes.m4: Removed.
16696         * m4/utimes-null.m4: Renamed from utimes.m4.
16697
16698         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
16699         to 1MB, so as not to render systems with no stack size limit (e.g.,
16700         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
16701         Include <unistd.h>.  On some systems,
16702         it is required for the definition of _SC_PAGESIZE.
16703
16704 2003-08-16  Jim Meyering  <jim@meyering.net>
16705         and Paul Eggert  <eggert@cs.ucla.edu>
16706
16707         Merges from coreutils, etc.
16708
16709         * m4/jm-macros.m4 (AC_LANG_SOURCE(C)): New macro, undefine, then define
16710         using the latest version from cvs.  This avoids problems with #line
16711         directives using a vendor (Sun) compiler.
16712         (jm_MACROS): Bump prerequisite from 2.52g to 2.57.
16713         Don't set GETGROUPS_LIB here; now it's
16714         done via getgroups.m4's wrapper function.
16715         AC_SUBST OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, and MAN here,
16716         rather than just in sh-util/configure.in, so that the
16717         now-shared-by-fileutils-and-textutils lib/Makefile.am are all the
16718         same.
16719         Use AC_CONFIG_LIBOBJ_DIR(lib) to tell the new
16720         AC_FUNC_GETLOADAVG where to find getloadavg.c.
16721         Require AC_FUNC_FTW, gt_INTTYPES_PRI, gl_CLOCK_TIME,
16722         UTILS_SYS_OPEN_MAX, GL_FUNC_GETCWD_PATH_MAX, GL_FUNC_READDIR,
16723         gl_FSUSAGE, gl_MOUNTLIST, AC_FUNC_CANONICALIZE_FILE_NAME.
16724         Remove code that is now done by the newly-required macros.
16725         Append $(EXEEXT) to DF_PROG.
16726         AC_LIBOBJ fchdir-stub if fchdir doesn't exist; similarly for fchown.
16727         Do not invoke or require the following here,
16728         since prereq.m4 or some gnulib .m4 now does this for us:
16729         gl_REGEX, UTILS_FUNC_MKDIR_TRAILING_SLASH, jm_BISON, gl_FUNC_MKTIME,
16730         jm_FUNC_LSTAT, jm_FUNC_STAT, jm_FUNC_REALLOC, jm_FUNC_MALLOC,
16731         jm_FUNC_NANOSLEEP, jm_FUNC_READDIR, jm_FUNC_MEMCMP,
16732         jm_FUNC_GLIBC_UNLOCKED_IO, AC_FUNC_FNMATCH_GNU, jm_FUNC_PUTENV,
16733         jm_AC_PREREQ_XSTRTOUMAX, jm_AC_PREREQ_XSTRTOIMAX,
16734         AC_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, AC_FUNC_VPRINTF,
16735         vb_FUNC_RENAME, UTILS_FUNC_MKSTEP, jm_FUNC_UTIME, AM_FUNC_GETLINE,
16736         AC_FUNC_OBSTACK.
16737         Do not replace the following functions, as this is now the job
16738         of some gnulib .m4: strcasecmp, strncasecmp, dup2, gethostname,
16739         getusershell, sig2str, strcspn, stpcpy, strstr, strtol, strtoul
16740         strpbrk, euidaccess, memcmp, rmdir, rpmatch, strndup, strverscmp,
16741         atexit getpass, strdup, getpagesize.
16742         Replace 'raise'.
16743         Do not check for the following functions, as this is now the job
16744         of some gnulib .m4: bcopy, canonicalize_file_name, fchdir, ftime,
16745         getcwd, getmntinfo, resolvepath.  But check for sysctl, setreuid,
16746         setregid.
16747         (jm_CHECK_ALL_HEADERS): Do not check for fenv.h.
16748         Check for sys/sysctl.h.
16749         (jm_CHECK_ALL_TYPES): Do not require AC_STRUCT_TM, AC_STRUCT_TIMEZONE,
16750         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Invoke gt_TYPE_SSIZE_T instead
16751         of checking for ssize_t ourselves.
16752
16753         * m4/prereq.m4 (jm_PREREQ): Don't invoke macros; AC_REQUIRE them.
16754         Require every macro that gnulib/modules/* suggests for us.
16755         (jm_PREREQ_ADDEXT): New macro.
16756         (jm_PREREQ_STAT): Check for 'struct statfs' on Ultrix 4.4.
16757         Require jm_AC_TYPE_LONG_LONG instead of invoking it.
16758
16759         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): New macro.
16760         (gl_PHYSMEM): Use it.
16761         Also check for `table' function.
16762         Check for new headers and functions.
16763         Add check for sys/sysmp.h.
16764         With suggestions from Kaveh Ghazi.
16765         Ignore headers that are present but cannot be compiled.  This
16766         avoids spurious warnings on Solaris 9 sparc with Forte Developer 7
16767         C 5.4.
16768
16769 2003-08-15  Paul Eggert  <eggert@twinsun.com>
16770
16771         Document merge from coreutils.
16772         * modules/userspec: Depend on posixver.
16773         * modules/strftime: Depend on tzset.
16774
16775 2003-08-15  Paul Eggert  <eggert@twinsun.com>
16776
16777         * lib/config.charset, ref-add.sin, ref-del.sin: Use three spaces,
16778         rather than tab, after '#' in shell-script copyright notices.
16779         Suggested by Bruno Haible.
16780
16781 2003-08-15  Paul Eggert  <eggert@twinsun.com>
16782
16783         * config/srclist-update: Use three spaces, rather than tab, after '#'
16784         in shell-script copyright notices.  Suggested by Bruno Haible.
16785         Remove unnecessary parenthesization in regular expression.
16786
16787 2003-08-15  Jim Meyering  <jim@meyering.net>
16788
16789         Merge from coreutils.
16790         * lib/xgethostname.c: Include <stdlib.h>.
16791         (xghostname): Don't exit for anything other than memory-related
16792         failure; just return NULL.
16793         * lib/userspec.c: Include "posixver.h".
16794         (parse_user_spec): Accept `.' as a separator only
16795         in pre-POSIX-200112 mode.
16796         * lib/strtoimax.c: Use #elif rather than #else #if.
16797         * lib/strftime.c (my_strftime) [!_LIBC && HAVE_TZNAME && HAVE_TZSET]:
16798         Remove function, now that we can rely on a working tzset function.
16799         [!_LIBC]: Ensure that the required autoconf test has been run.
16800         [!defined _NL_CURRENT && HAVE_STRFTIME]:
16801         Use underlying_strftime for %r.
16802         * lib/sha.c: Merge in some clean-up and optimization changes from
16803         glibc.
16804         * lib/sha.c (sha_stream) [BLOCKSIZE]: Move definition to top of file.
16805         Ensure that it is a multiple of 64.
16806         Rearrange loop exit tests so as to avoid performing an
16807         additional fread after encountering an error or EOF.
16808         * lib/realloc.c: Update copyright date.
16809
16810 2003-08-15  Jim Meyering  <jim@meyering.net>
16811         and Paul Eggert  <eggert@twinsun.com>
16812
16813         Merge from coreutils.
16814         * lib/readutmp.h (HAVE_UTMPX_H): Undef if struct utmp has the ut_exit
16815         member but strut utmpx does not.  Needed for AIX 4.3.3.
16816         (UT_EXIT_E_TERMINATION, UT_EXIT_E_EXIT): Define.
16817
16818 2003-08-15  Jim Meyering  <jim@meyering.net>
16819         and Paul Eggert  <eggert@cs.ucla.edu>
16820
16821         Merges from coreutils, etc.
16822         * m4/strftime.m4 (_jm_STRFTIME_PREREQS):
16823         Require gl_FUNC_TZSET_CLOBBER.
16824         * m4/readutmp.m4 (gl_READUTMP): Check for ut_exit.ut_exit,
16825         ut_exit.e_exit, ut_exit.ut_termination, and ut_exit.e_termination
16826         members.
16827
16828 2003-08-14  Paul Eggert  <eggert@twinsun.com>
16829
16830         Help the merge from coreutils.
16831         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): New macro.
16832         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use it.
16833         * m4/tzset.m4: Use it too.
16834
16835 2003-08-14  Paul Eggert  <eggert@twinsun.com>
16836
16837         * modules/tzset: New file.
16838
16839 2003-08-14  Jim Meyering  <jim@meyering.net>
16840
16841         Merges from coreutils.
16842         * modules/fnmatch: Use the `$(FNMATCH_H)' notation for AC_REPLACED
16843         variable names, rather than @FNMATCH_H@.
16844         * modules/alloca: Likewise for $(ALLOCA_H).
16845
16846         * modules/fnmatch (fnmatch.h): Use `$@' in the commands, in place of
16847         the three copies of the literal target, `fnmatch.h'.
16848         * modules/alloca (alloca.h): Likewise.
16849
16850 2003-08-14  Jim Meyering  <jim@meyering.net>
16851
16852         Merge from coreutils.
16853         * m4/tzset.m4: New file.
16854         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Move the
16855         MOUNTED_VMOUNT test to precede the MOUNTED_GETMNTENT1 tests, since
16856         otherwise, AIX 5.1 systems would end up using the latter.
16857         MOUNTED_GETMNTENT1 support is inadequate on such systems: 1) detecting
16858         whether a file system is remote doesn't work  2) the MOUNTED_VMOUNT
16859         code reports the HOSTNAME:/MOUNT_POINT, while the MOUNTED_GETMNTENT1
16860         code reports merely /MOUNT_POINT.  Reported by Mike Jetzer.
16861
16862 2003-08-14  Jim Meyering  <jim@meyering.net>
16863
16864         Merge from coreutils.
16865         * lib/obstack.h: Whitespace changes.
16866         * lib/mountlist.c: Remove anachronistic casts of xmalloc, xrealloc,
16867         and xcalloc return values.
16868         (read_filesystem_list) [MOUNTED_GETFSSTAT]:
16869         Use MNT_NOWAIT, rather than MNT_WAIT.  Otherwise, `df DIR' could
16870         hang on OSF/1 5.1 for DIR on both local and remote file systems.
16871         Reported by (and fix confirmed by) Nelson H. F. Beebe.
16872         (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
16873         error from mntctl.
16874         Use mntctl's return value to drive the entry-processing loop, since
16875         we can't rely on the value of the vmt_length member in the last
16876         entry.  On some systems doing so could result in exhausting
16877         virtual memory.  Based in part on a patch from Mike Jetzer.
16878
16879 2003-08-14  Jim Meyering  <jim@meyering.net>
16880         and Paul Eggert  <eggert@twinsun.com>
16881
16882         Merges from coreutils, plus other fixes.
16883         * lib/physmem.c: Merge in portability changes from gcc/libiberty
16884         to support AIX, IRIX, Tru64, and Windows.  See the ChangeLog there
16885         for credits and details.  Thanks to Kaveh Ghazi for helping
16886         to keep these files in sync.
16887         (ARRAY_SIZE): Define it.
16888         (physmem_total, physmem_available): Add comments. From Kaveh Ghazi.
16889         * lib/memcasecmp.c: Remove unnecessary parentheses after 'defined'.
16890         (memcasecmp): Don't assume size_t fits in unsigned int.
16891         Remove casts and duplicate code.
16892         * lib/md5.c: Include <string.h> and <stdlib.h> unconditionally.
16893         (memcpy): Remove definition.
16894         Merge in some clean-up and optimization changes from glibc.
16895         [BLOCKSIZE]: Move definition to top of file.
16896         Ensure that it is a multiple of 64.
16897         Rearrange loop exit tests so as to avoid performing an
16898         additional fread after encountering an error or EOF.
16899         * lib/md5.h (md5_uintptr): Define.
16900         * lib/makepath.c (CLEANUP_CWD): Report an error if we failed to
16901         return to the initial working directory.  Preserve errno
16902         for caller.
16903         * lib/idcache.c: Include "xalloc.h".
16904         (xmalloc, xrealloc): Remove decls.
16905         (getuser): Remove casts no longer required in C89.
16906         * lib/human.c: Include stdio.h, for sprintf.
16907         * lib/group-member.c: Include "xalloc.h".
16908         (xmalloc, xrealloc): Remove decls.
16909         (get_group_info): Remove casts no longer required in C89.
16910         * lib/getusershell.c (readname): Remove casts no longer required in
16911         C89.
16912         * lib/gettimeofday.c (rpl_gmtime, rpl_tzset): New functions.
16913         * lib/getline.c: Whitespace fix, from coreutils.
16914
16915 2003-08-13  Paul Eggert  <eggert@twinsun.com>
16916
16917         * m4/exclude.m4 (gl_EXCLUDE): Require AC_C_INLINE, AC_HEADER_STDC.
16918         Check for isascii.
16919
16920         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
16921         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
16922         Undo previous (whitespace-only) change.
16923
16924 2003-08-13  Paul Eggert  <eggert@twinsun.com>
16925
16926         * lib/exclude.c: Include <ctype.h>
16927         (IN_CTYPE_DOMAIN): New macro.
16928         (is_space): New fn.
16929         (add_exclude_file): If LINE_END is a space, ignore trailing spaces
16930         and empty lines.
16931
16932         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
16933         Undo previous (whitespace-only) change.
16934
16935 2003-08-13  Paul Eggert  <eggert@twinsun.com>
16936
16937         * config/srclist-update: Change update back to the old behavior,
16938         leaving whitespace alone.  Use one 'sed' command rather than a
16939         pipeline.
16940         (fixlicense): Now a variable, not a function.
16941         (remove_trailing_blanks): Remove.
16942         (fixfile): Don't invoke unexpand or cat, or remove trailing blanks.
16943         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
16944         Undo previous (whitespace-only) change.
16945
16946 2003-08-12  Paul Eggert  <eggert@twinsun.com>
16947
16948         Merge from coreutils.
16949         * modules/euidaccess: Add lib_SOURCES, include for new
16950         file euidaccess.h
16951
16952 2003-08-12  Paul Eggert  <eggert@twinsun.com>
16953
16954         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
16955         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
16956         Normalize leading white space and remove trailing white space.
16957
16958         Merge from coreutils
16959         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Check for euidaccess decl.
16960
16961         * m4/lib-ld.m4, lib-link.m4, lib-prefix.m4: Regenerate from gettext
16962         0.12.1.  These files are now being upgraded automatically by
16963         ../config/srclist-update.
16964
16965 2003-08-12  Paul Eggert  <eggert@twinsun.com>
16966
16967         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
16968         Normalize leading white space and remove trailing white space.
16969         * lib/ref-add.sin, ref-del.sin: Use '#' before empty line in copyright
16970         notice, as per ../config/srclist-update.
16971
16972         Merge from coreutils.
16973         * lib/euidaccess.h: New file.
16974         * lib/euidaccess.c: Include it.
16975         * lib/.cppi-disable: Add printf-args.h, printf-parse.h, stdbool_.h,
16976         vasnprintf.h, vasprintf.h.  Remove strdup.c, gettext.h.
16977         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Normalize white space.
16978
16979 2003-08-12  Paul Eggert  <eggert@twinsun.com>
16980
16981         * config/srclist-update: Add copyright notice.
16982         (remove_id_lines, remove_trailing_blanks): New constants.
16983         (fixfile): Use them to normalize spacing a bit in copied files.
16984         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
16985         Normalize leading white space and remove trailing white space.
16986
16987         * config/texinfo.tex: Sync with texinfo.
16988
16989         * config/srclist.txt: Don't get regex.h, strdup.c, strtoll.c,
16990         strtoul.c from libc, to merge coreutils whitespace changes.
16991
16992         * config/srclist.txt: Get the following m4 files from gettext:
16993         codeset.m4, gettext.m4, glibc21.m4, iconv.m4, intdiv0.m4,
16994         inttypes-pri.m4, lcmessage.m4, lib-ld.m4, lib-link.m4, lib-prefix.m4,
16995         longdouble.m4, nls.m4, po.m4, progtest.m4, signed.m4, wchar_t.m4,
16996         wint_t.m4.
16997
16998 2003-08-12  Karl Berry  <karl@gnu.org>
16999
17000         * config/srclist.txt: can't sync vasnprintf.c any more, changes have
17001         been made.
17002
17003 2003-08-11  Paul Eggert  <eggert@twinsun.com>
17004
17005         * modules/gnu-source, m4/gnu-source.m4:
17006         Remove; we're assuming Autoconf 2.54 or later now.
17007         Suggested by Bruno Haible.
17008         * MODULES.html.sh (func_all_modules): Remove gnu-source.
17009
17010 2003-08-11  Bruno Haible  <bruno@clisp.org>
17011
17012         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Also check for wcslen.
17013
17014 2003-08-11  Bruno Haible  <bruno@clisp.org>
17015
17016         * lib/vasnprintf.c (local_wcslen): New function, for Solaris 2.5.1.
17017         (vasnprintf): Use it instead of wcslen.
17018
17019 2003-08-11  Bruno Haible  <bruno@clisp.org>
17020
17021         * lib/stdbool_.h (_Bool): Undo last change; instead use a negative enum
17022         value to ensure that _Bool promotes to int. Use #define for _Bool when
17023         using the Solaris C compiler. Adds comments suggested by Paul Eggert.
17024
17025 2003-08-10  Karl Berry  <karl@gnu.org>
17026
17027         * lib/regex.h: update from libc (whitespace fix).
17028
17029 2003-08-09  Paul Eggert  <eggert@twinsun.com>
17030
17031         Merge some files from coreutils.  These changes were
17032         originally made by Jim Meyering.
17033         * lib/acl.c: Include <sys/types.h> before <sys/stat.h>;
17034         many older Unixes require this.
17035         * lib/alloca.c (alloca): Remove cast to argument of free;
17036         no longer needed in C89.
17037         * lib/alloca_.h, regex.h: Fix white space to match
17038         what GNU indent does.
17039
17040 2003-08-09  Paul Eggert  <eggert@twinsun.com>
17041
17042         * m4/regex.m4 (jm_INCLUDED_REGEX): Change "\201" to "\371";
17043         apparently Emacs's Unicode mode got confused before my 2003-08-05
17044         checkin.
17045
17046 2003-08-08  Paul Eggert  <eggert@twinsun.com>
17047
17048         * m4/extensions.m4: New file.
17049         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC):
17050         Require gl_USE_SYSTEM_EXTENSIONS.
17051         * m4/unlocked-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO):
17052         Require gl_USE_SYSTEM_EXTENSIONS rather than AC_GNU_SOURCE.
17053
17054 2003-08-08  Paul Eggert  <eggert@twinsun.com>
17055
17056         * MODULES.html.sh (func_all_modules): Add extensions, gnu-source.
17057         * modules/extensions, modules/gnu-source: New files.
17058         * modules/timespec, modules/unlocked-io: Depend on extensions.
17059
17060 2003-08-07 Paul Eggert  <eggert@twinsun.com>
17061
17062         * modules/restrict: New file.
17063         * MODULES.html.sh (func_all_modules): Add restrict.
17064         * modules/regex: Depend on restrict.
17065
17066 2003-08-07  Paul Eggert  <eggert@twinsun.com>
17067
17068         * m4/restrict.m4: New file.
17069         * m4/regex.m4 (jm_PREREQ_REGEX): Add gl_C_RESTRICT.
17070
17071 2003-08-07  Bruno Haible  <bruno@clisp.org>
17072
17073         * modules/getndelim2 (Makefile.am): Add the files to EXTRA_DIST, not
17074         lib_SOURCES, because getndelim2.m4 now uses AC_LIBOBJ(getndelim2).
17075
17076 2003-08-07  Bruno Haible  <bruno@clisp.org>
17077
17078         * m4/getndelim2.m4 (gl_GETNDELIM2): Use AC_LIBOBJ(getndelim2). This
17079         makes the module 'getndelim2' compatible with the module 'getline'.
17080
17081 2003-08-05  Paul Eggert  <eggert@twinsun.com>
17082
17083         * m4/regex.m4 (jm_INCLUDED_REGEX): Replace a single non-ASCII
17084         byte with "\201" to avoid glitches when editing that source file
17085         with multi-gnome-terminal.
17086
17087 2003-08-05  Paul Eggert  <eggert@twinsun.com>
17088
17089         * lib/bumpalloc.h: Remove.
17090
17091 2003-08-05  Paul Eggert  <eggert@twinsun.com>
17092
17093         * MODULES.html.sh (func_all_modules): Remove bumpalloc.
17094         * modules/bumpalloc: Remove.
17095
17096 2003-08-04  Paul Eggert  <eggert@twinsun.com>
17097
17098         * lib/getloadavg.c: Change copyright notice and spacing to conform to
17099         GNU coding style.
17100
17101         Merge from coreutils.
17102         * lib/error.c [!USE_IN_LIBIO]: Omit this case; assume USE_IN_LIBIO is
17103         1. From glibc.
17104         * lib/getdate.y (date): Also accept dates like May-23-2003; suggestion
17105         from Karl Berry, implemented by Jim Meyering.
17106         * lib/getgroups.c: Include "xalloc.h" instead of declaring xalloc fns;
17107         from Dmitry V. Levin.
17108         Remove anachronistic cast of xrealloc.
17109         * lib/fnmatch_.h (__const): Remove.  Use 'const'.
17110         * lib/fnmatch_loop.c (NEW_PATTERN): Cast alloca return value to proper
17111         type. Otherwise, it wouldn't compile with at least /bin/cc on
17112         ymp-cray-unicos9.0.2.X.
17113         Combine two mostly-identical uses of alloca into one.
17114         Thanks to the Cray-Cyber project for access to a Cray Y-MP.
17115
17116 2003-08-04  Dave Love <d.love@dl.ac.uk>
17117
17118         [From Emacs.]
17119
17120         * lib/getloadavg.c: Check `__unix' as well as `unix'.  Use #ifdef, not
17121         #if.  Check HAVE_LIBKSTAT as well as LOAD_AVE_TYPE.  Check
17122         F_SETFD, not FD_SETFD.  Use HAVE_STRUCT_NLIST_N_UN_N_NAME, not
17123         obsolete NLIST_NAME_UNION.
17124         [__GNU__]: Undef BSD and FSCALE.
17125         [!NLIST_STRUCT]: Remove conditional definition of NLIST_STRUCT.
17126
17127 2003-08-03  Paul Eggert  <eggert@twinsun.com>
17128
17129         * lib/stdbool_.h (_Bool): Make it signed char, instead of
17130         an enum type, so that it's guaranteed to promote to int.  See:
17131         <http://mail.gnu.org/archive/html/bug-gnulib/2003-07/msg00124.html>
17132
17133 2003-08-03  Karl Berry  <karl@gnu.org>
17134
17135         * config/depcomp: update from automake.
17136
17137 2003-07-31  Paul Eggert  <eggert@twinsun.com>
17138
17139         * lib/strerror.c: Include config.h, limits.h.  Declare sprintf.
17140         (strerror): Don't assume that a printable int fits in 14 bytes.
17141
17142 2003-07-31  Bruno Haible  <bruno@clisp.org>
17143
17144         * modules/getpass-gnu: New file.
17145         * MODULES.html.sh (func_all_modules): Add getpass-gnu.
17146
17147 2003-07-31  Bruno Haible  <bruno@clisp.org>
17148
17149         * m4/getpass.m4 (gl_FUNC_GETPASS_GNU): New macro.
17150
17151 2003-07-24  Karl Berry  <karl@gnu.org>
17152
17153         * config/missing: update from automake.
17154
17155 2003-07-24  Derek Robert Price  <derek@ximbiot.com>
17156             Bruno Haible  <bruno@clisp.org>
17157
17158         * lib/getline.h (getline, getdelim): Change return type to ssize_t.
17159         * lib/getline.c (getline, getdelim): Likewise.
17160         Remove _GNU_SOURCE define; now it's defined in config.h through
17161         m4/getline.m4.
17162
17163 2003-07-23  Karl Berry  <karl@gnu.org>
17164
17165         * config/config.sub: update from prep.
17166
17167 2003-07-22  Paul Eggert  <eggert@twinsun.com>
17168
17169         * modules/xalloc (Depends-on): Add exitfail.
17170         * modules/xmemcoll: Likewise.
17171
17172 2003-07-22  Paul Eggert  <eggert@twinsun.com>
17173
17174         * lib/xalloc.h (XCALLOC, XREALLOC, CCLONE): Fix under- and
17175         over-parenthesization in macros.
17176
17177         Sync with coreutils.
17178
17179         * lib/xalloc.h (XMALLOC, XCALLOC, XREALLOC): Remove casts not
17180         required by C99.
17181
17182         Use `exit_failure' for xalloc and xmemcoll instead of their own
17183         private exit-failure variables.
17184         * lib/xalloc.h (xalloc_exit_failure): Remove.
17185         * lib/xmalloc.c: Likewise.  Include exitfail.h.
17186         (xalloc_die): Use exit_failure instead of xalloc_exit_failure.
17187         * lib/xmemcoll.h (xmemcoll_exit_failure): Remove.
17188         * lib/xmemcoll.c: Likewise.  Include exitfail.h.
17189         (xmemcoll): Use exit_failure instead of xalloc_exit_failure.
17190
17191 2003-07-20  Jim Meyering  <jim@meyering.net>
17192
17193         * modules/closeout (Depends-on): Add exitfail.
17194         Suggestion from Bruno Haible.
17195
17196 2003-07-19  Karl Berry  <karl@gnu.org>
17197
17198         * config/config.sub: update from prep.
17199
17200 2003-07-18  Paul Eggert  <eggert@twinsun.com>
17201
17202         * lib/closeout.h (close_stdout_set_status, close_stdout_status):
17203         Remove.
17204         * lib/closeout.c: Likewise.  Include "closeout.h" right after config.h,
17205         to test that it can stand by itself.  Include "exitfail.h".
17206         Clients should set exit_failure instead.
17207         (EXIT_FAILURE): Remove; no longer needed.  Do not include <stdlib.h>.
17208
17209 2003-07-18  Bruno Haible  <bruno@clisp.org>
17210
17211         * modules/getndelim2: New file.
17212         * modules/getline: Share files with module getndelim2.
17213         * modules/getnline: Depend on getndelim2 instead of sharing files with
17214         it. Add getnline.c to lib_SOURCES.
17215         * MODULES.html.sh (func_all_modules): Add getndelim2.
17216
17217 2003-07-18  Bruno Haible  <bruno@clisp.org>
17218
17219         * m4/getndelim2.m4: New file.
17220         * m4/getline.m4 (AM_FUNC_GETLINE): Add AC_LIBOBJ of getndelim2.c and
17221         invoke gl_PREREQ_GETNDELIM2.
17222         (gl_PREREQ_GETLINE): Drop AC_HEADER_STDC, now done by
17223         gl_PREREQ_GETNDELIM2.
17224         * m4/getnline.m4 (gl_GETNLINE): Drop AC_HEADER_STDC, now done by
17225         gl_GETNDELIM2.
17226
17227 2003-07-18  Bruno Haible  <bruno@clisp.org>
17228
17229         * lib/getndelim2.h: New file.
17230         * lib/getndelim2.c: Make into a module of its own. Include config.h,
17231         getndelim2.h.
17232         (getndelim2): Make non-static. Change return type to ssize_t.
17233         * lib/getline.h: Change argument names.
17234         * lib/getline.c: Include getndelim2.h instead of getndelim2.c.
17235         * lib/getnline.c: Include getndelim2.h.
17236
17237 2003-07-18  Andreas Schwab  <schwab@suse.de>
17238
17239         * lib/memcoll.c (memcoll) [!HAVE_STRCOLL]: Clear errno.
17240
17241 2003-07-17  Karl Berry  <karl@gnu.org>
17242
17243         * config/config.sub: update from prep.
17244
17245 2003-07-17  Bruno Haible  <bruno@clisp.org>
17246
17247         * modules/getnline: New file.
17248         * modules/getline: Add lib/getndelim2.c to source file list.
17249         * MODULES.html.sh (func_all_modules): Add getnline.
17250
17251 2003-07-17  Bruno Haible  <bruno@clisp.org>
17252
17253         * m4/getnline.m4: New file.
17254
17255 2003-07-17  Bruno Haible  <bruno@clisp.org>
17256
17257         * m4/Makefile.am.in: Remove file.
17258         * m4/Makefile.am: Remove file.
17259         * m4/Makefile.in: Remove file.
17260
17261 2003-07-17  Bruno Haible  <bruno@clisp.org>
17262
17263         * lib/getnline.h: New file.
17264         * lib/getnline.c: New file.
17265         * lib/getndelim2.c: New file, extracted from getline.c.
17266         (getndelim2): Renamed from getdelim2, with added nmax argument.
17267         * lib/getline.c: Include getndelim2.c.
17268         (getdelim2): Moved out to getndelim2.c.
17269         (getline, getdelim): Update.
17270
17271 2003-07-17  Bruno Haible  <bruno@clisp.org>
17272
17273         * lib/Makefile.am: Remove file.
17274         * lib/Makefile.in: Remove file.
17275
17276 2003-07-17  Bruno Haible  <bruno@clisp.org>
17277
17278         * configure.in: Remove file.
17279         * Makefile.in: Remove file.
17280
17281 2003-07-17  Bruno Haible  <bruno@clisp.org>
17282
17283         * MODULES.html.sh: Put the </BODY> right before </HTML>.
17284
17285 2003-07-16  Karl Berry  <karl@gnu.org>
17286
17287         * config/srclist-update: was running fixlicense twice, which caused
17288                 texinfo.tex to be nullified for some reason.  Simplify,
17289                 $gplsrc is no longer needed as far as I can see?
17290
17291 2003-07-16  Jim Meyering  <jim@meyering.net>
17292
17293         * modules/save-cwd: Depend on xgetcwd.  From Derek Price.
17294
17295 2003-07-15  Paul Eggert  <eggert@twinsun.com>
17296
17297         * config/srclist.txt: Get the following files from gettext-runtime/intl
17298         instead: config.charset, localcharset.c, localcharset.h, ref-add.sin,
17299         ref-del.sin.  From Bruno Haible.
17300         * config/srclist-update (fixfile): Change grep pattern again, since the
17301         previous fix didn't work (there was another trailing $).  Use
17302         '[$]' to escape the $s.
17303
17304 2003-07-15  Karl Berry  <karl@gnu.org>
17305
17306         * lib/vasnprintf.c: update from gettext.
17307
17308 2003-07-15  Karl Berry  <karl@gnu.org>
17309
17310         * config/srclist-update (fixfile): Change grep pattern, since 'Id'
17311         gets expanded when surrounded by '$'.
17312
17313 2003-07-15  Jim Meyering  <jim@meyering.net>
17314
17315         * modules/save-cwd: Don't depend on error.  From Derek Price.
17316
17317 2003-07-15  Jim Meyering  <jim@meyering.net>
17318
17319         * lib/makepath.c (make_path): Enclose diagnostic in _(...).
17320
17321 2003-07-14  Simon Josefsson  <jas@extundo.com>
17322
17323         * modules/mempcpy: New file.
17324         * MODULES.html.sh (func_all_modules): Add mempcpy.
17325
17326 2003-07-14  Simon Josefsson  <jas@extundo.com>
17327
17328         * m4/mempcpy.m4: New file.
17329
17330 2003-07-14  Simon Josefsson  <jas@extundo.com>
17331
17332         * lib/mempcpy.h: New file.
17333         * lib/mempcpy.c: New file.
17334
17335 2003-07-14  Paul Eggert  <eggert@twinsun.com>
17336
17337         * modules/getdate, modules/posixtm: Depend on mktime.
17338
17339 2003-07-14  Paul Eggert  <eggert@twinsun.com>
17340
17341         * lib/ceill.c, expl.c, floorl.c, frexpl.c, ldexpl.c, mathl.h,
17342         sincosl.c, sqrtl.c, trigl.c, trigl.h, poll.c, poll_.h, mkstemp.c,
17343         unicodeio.c, unicodeio.h, unlocked-io.h:
17344         Switch from LGPL to GPL.
17345
17346 2003-07-14  Paul Eggert  <eggert@twinsun.com>
17347
17348         * lib/asnprintf.c, asprintf.c, config.charset, gettext.h,
17349         localcharset.c, localcharset.h, mkdtemp.c, printf-args.c,
17350         printf-args.h, printf-parse.c, printf-parse.h, ref-add.sin,
17351         ref-del.sin, setenv.c, unsetenv.c, vasnprintf.c, vasnprintf.h,
17352         vasprintf.c, vasprintf.h: Regenerate.  These files are now being
17353         updated automatically by ../config/srclist-update.  This changes
17354         their license from LPGL to GPL.
17355
17356 2003-07-14  Paul Eggert  <eggert@twinsun.com>
17357
17358         * config/srclist.txt: Add tons more gettext files.  $GETTEXT is now
17359         assumed to refer to the root of the most recent stable gettext version.
17360         * config/srclistvars.sh: Add defaults for eggert.
17361         * config/srclist-update: Convert LGPL to GPL in shell scripts, too.
17362         Match "This program" as well as "The program".  This is needed
17363         for gettext.
17364
17365 2003-07-14  Jim Meyering  <jim@meyering.net>
17366
17367         Don't emit diagnostics.  Let callers do that.
17368         * lib/save-cwd.c: Don't include "error.h".
17369         (save_cwd): Don't call error.  Ensure that errno is valid
17370         when returning nonzero.
17371
17372         * lib/save-cwd.h (restore_cwd): Update prototype.
17373         * lib/save-cwd.c (restore_cwd): Remove two parameters.
17374         Simplify.  Don't call error upon failure.  Let callers do that.
17375         (save_cwd): Mention that Irix 5.3 has the same problem as SunOS 4
17376         when auditing is enabled.  But don't bother updating the #if.
17377
17378 2003-07-11  Alexandre Duret-Lutz  <adl@gnu.org>
17379
17380         * lib/obstack.h (__INT_TO_PTR): Revert change of 2003-03-13;
17381         it breaks C++ compilation.
17382         [!__GNUC__ || !__STDC__] (obstack_finish): Cast result to void*.
17383
17384 2003-07-10  Simon Josefsson  <jas@extundo.com>
17385
17386         * modules/strchrnul (Makefile.am): Add strchrnul.h.
17387
17388 2003-07-10  Jim Meyering  <jim@meyering.net>
17389
17390         * m4/clock_time.m4: Remove trailing blank.
17391         * m4/intmax_t.m4: Likewise.
17392
17393 2003-07-10  Jim Meyering  <jim@meyering.net>
17394
17395         * lib/vasnprintf.c: Remove trailing blanks.
17396         Make cpp indentation consistent.
17397
17398 2003-07-09  Paul Eggert  <eggert@twinsun.com>
17399
17400         * lib/alloca_.h, euidaccess.c, getpass.c, memrchr.c, obstack.h,
17401         posixver.c, strftime.c, strnlen.c, strverscmp.c:
17402         Switch from LGPL to GPL.
17403
17404 2003-07-09  Paul Eggert  <eggert@twinsun.com>
17405
17406         * config/srclist.txt: Sort sublists.  Add
17407         $LIBCSRC/sysdeps/generic/strtoul.c. In comments, add more libc files
17408         that differ from gnulib for one reason or another; we'd like this list
17409         to be smaller but for now let's document what we have.
17410
17411 2003-07-08  Paul Eggert  <eggert@twinsun.com>
17412
17413         * config/srclist-update: Port to POSIX 1003.1-2001 hosts by avoiding
17414         the use of GNU extensions.  Change "x=`eval echo $x`" to the shorter
17415         and sweeter "eval x=$x".
17416         * config/srclist.txt: Get lib/argp* from glibc.
17417
17418 2003-07-07  Paul Eggert  <eggert@twinsun.com>
17419
17420         * lib/mktime.c: Fix some boundary cases and remove need for floating
17421         point.
17422
17423         Issue a compile-time diagnostic if time_t is floating point, or if
17424         two's complement arithmetic is not in effect, or if arithmetic
17425         right shift does not propagate the sign.  These assumptions were
17426         all in the original code but they weren't checked.
17427
17428         (TIME_T_MIDPOINT, verify): New macros.
17429         (__isleap): Remove; it has integer overflow problems.
17430         (leapyear): New function, without those problems.
17431         (ydhms_tm_diff): Remove; splitting into two parts.
17432         (ydhms_diff): New function, containing the arithmetic part of
17433         the old ydhms_tm_diff function.  Issue a compile-time
17434         diagnostic if we are not using C99 integer division.
17435         Avoid casts when possible.
17436         (guess_time_tm): New function, containing the checking part of
17437         the old ydhms_tm_diff function.  Return the new value, rather than
17438         the difference between it and the old.  Accept a new argument T
17439         so that *T specifies the old value.  Check for overflow in the result.
17440
17441         (__mktime_internal): Use a time_t offset, not a long int offset.
17442         This undoes the 2003-06-04 change, which is no longer needed now
17443         that we have better overflow checking.
17444         (localtime_offset): Likewise.
17445
17446         (__mktime_internal): Avoid harmful overflow on hosts where time_t
17447         and long are 64-bit but int is only 32-bit.
17448         (ydhms_diff): Use long int to store year1 and yday1.
17449         Issue a compile-time diagnostic if long int is not wide enough.
17450
17451         (__mktime_internal): Use long int to store adjusted year and yday.
17452         Use plain C rather than preprocessor commands, if that doesn't
17453         affect efficiency.
17454         Check for overflow (and try to repair) after each probe
17455         rather than checking only at the very end.  This avoids some bugs
17456         (e.g., southern hemisphere, behind GMT, and GMT offset at minimum time
17457         does not equal GMT offset at maximum time).
17458         Use integer to check for overflow rather than floating point; this
17459         is more portable to non-IEEE hosts, and is a tad faster.
17460         When we detect that we are oscillating between two values,
17461         don't check whether tm_isdst has the requested value, since
17462         we already know the answer.  When tm_isdst has the wrong value,
17463         use a different heuristic to find the right one, based on the
17464         extreme values actually observed in practice in tz2003a,
17465         rather than the (overly optimistic) "previous 3 calendar quarters".
17466
17467         (not_equal_tm, print_tm, check_result): Use "const T" rather than
17468         "T const" to accommodate glibc style.
17469         (check_result): Use less-confusing report format.  "long" -> "long int.
17470         (main): Likewise.
17471         Don't loop if the iteration overflows time_t.
17472         Allow a negative step in the iteration.
17473
17474 2003-07-06  Karl Berry  <karl@gnu.org>
17475
17476         * config/depcomp: update from automake.
17477         * config/config.sub: update from prep.
17478
17479 2003-07-03  Karl Berry  <karl@gnu.org>
17480
17481         * config/config.guess: update from prep.
17482
17483 2003-07-01  Paul Eggert  <eggert@twinsun.com>
17484
17485         * m4/xreadlink.m4 (gl_XREADLINK): Don't check for sys/types.h, since
17486         xreadlink.c now includes it unconditionally.
17487
17488 2003-07-01  Paul Eggert  <eggert@twinsun.com>
17489
17490         * lib/xreadlink.c: Include <sys/types.h> unconditionally, instead of
17491         having it depend on HAVE_SYS_TYPES_H.
17492
17493 2003-07-01  Bruno Haible  <bruno@clisp.org>
17494
17495         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Don't include <unistd.h>.
17496         <sys/types.h> should be sufficient.
17497         Reported by Paul Eggert.
17498
17499 2003-06-26  Karl Berry  <karl@gnu.org>
17500
17501         * config/depcomp: update from automake.
17502
17503 2003-06-26  Bruno Haible  <bruno@clisp.org>
17504
17505         * modules/human: Depend on module stdbool.
17506
17507 2003-06-25  Bruno Haible  <bruno@clisp.org>
17508
17509         * modules/readlink: New file.
17510         * modules/xreadlink: Depend on it.
17511         * MODULES.html.sh (func_all_modules): Add readlink.
17512
17513 2003-06-25  Bruno Haible  <bruno@clisp.org>
17514
17515         * m4/readlink.m4: New file.
17516
17517 2003-06-25  Bruno Haible  <bruno@clisp.org>
17518
17519         * lib/readlink.c: New file.
17520
17521 2003-06-22  Karl Berry  <karl@gnu.org>
17522
17523         * config/srclist.txt: update mkinstalldirs from automake.
17524         * config/mkinstalldirs: update.
17525
17526 2003-06-22  Bruno Haible  <bruno@clisp.org>
17527
17528         Portability to mingw32.
17529         * m4/ssize_t.m4: New file, from GNU gettext.
17530         * m4/safe-read.m4 (gl_PREREQ_SAFE_READ): Require gt_TYPE_SSIZE_T.
17531         * m4/xreadlink.m4 (gl_XREADLINK): Require gt_TYPE_SSIZE_T.
17532
17533 2003-06-22  Bruno Haible  <bruno@clisp.org>
17534
17535         * modules/safe-read: Add m4/ssize_t.m4.
17536         * modules/xreadlink: Add m4/ssize_t.m4.
17537
17538 2003-06-20  Bruno Haible  <bruno@clisp.org>
17539
17540         Assume C89, so PARAMS isn't needed.
17541         * lib/unicodeio.h (PARAMS): Remove.
17542         * lib/unicodeio.c: Don't use PARAMS.
17543
17544 2003-06-18  Karl Berry  <karl@gnu.org>
17545
17546         * config/config.{guess,sub}: update from prep.
17547
17548 2003-06-18  Jim Meyering  <jim@meyering.net>
17549
17550         Merge changes from coreutils.
17551         * lib/readutmp.c: Include <string.h> and <stdlib.h> unconditionally.
17552         Remove explicit declarations of xmalloc and realloc.
17553         Include xalloc.h.
17554         (read_utmp): Remove anachronistic cast of xmalloc.
17555
17556 2003-06-17  Paul Eggert  <eggert@twinsun.com>
17557
17558         Assume C89, so PARAMS isn't needed.
17559         * lib/backupfile.h (PARAMS): Remove.  All uses removed.
17560         * lib/closeout.h, lib/dirname.h, lib/filemode.h, lib/fsusage.h,
17561         lib/getdate.h, lib/getline.h, lib/group-member.h, lib/hard-locale.h,
17562         lib/hash.h, lib/linebuffer.h, lib/long-options.h, lib/makepath.h,
17563         lib/memcasecmp.h, lib/memcoll.h, lib/modechange.h, lib/mountlist.h,
17564         lib/path-concat.h, lib/physmem.h, lib/posixtm.h, lib/quote.h,
17565         lib/readutmp.h, lib/same.h, lib/save-cwd.h, lib/savedir.h,
17566         lib/stdio-safer.h, lib/strtoimax.c, lib/strverscmp.h,
17567         lib/unistd-safer.h, lib/version-etc.h, lib/xalloc.h, lib/xreadlink.h,
17568         lib/xstrtod.h, lib/xstrtol.h: Likewise.
17569         * lib/filemode.h, lib/hard-locale.h, lib/memcoll.h, lib/modechange.h,
17570         lib/physmem.h, lib/same.h, lib/strverscmp.h: Do not include config.h;
17571         no longer needed. Anyway, config.h should always be included before any
17572         other file.
17573
17574 2003-06-11  Simon Josefsson  <jas@extundo.com>
17575
17576         * modules/sysexits: New file.
17577         * MODULES.html.sh (func_all_modules): Add sysexits.
17578
17579 2003-06-11  Simon Josefsson  <jas@extundo.com>
17580
17581         * lib/sysexit_.h: New file.
17582
17583 2003-06-11  Derek Price  <derek@ximbiot.com>
17584
17585         * lib/stat.c [LSTAT]: Compile/use slash_aware_lstat only if it is
17586         necessary.
17587
17588 2003-06-11  Bruno Haible  <bruno@clisp.org>
17589
17590         * m4/sysexits.m4: New file.
17591
17592 2003-06-10  Simon Josefsson <jas@extundo.com>
17593
17594         * lib/argp.h: New file, from glibc.
17595         * lib/argp-ba.c: New file, from glibc.
17596         * lib/argp-eexst.c: New file, from glibc.
17597         * lib/argp-fmtstream.c: New file, from glibc.
17598         * lib/argp-fmtstream.h: New file, from glibc.
17599         * lib/argp-fs-xinl.c: New file, from glibc.
17600         * lib/argp-help.c: New file, from glibc.
17601         * lib/argp-namefrob.h: New file, from glibc.
17602         * lib/argp-parse.c: New file, from glibc.
17603         * lib/argp-pv.c: New file, from glibc.
17604         * lib/argp-pvh.c: New file, from glibc.
17605         * lib/argp-xinl.c: New file, from glibc.
17606
17607 2003-06-10  Simon Josefsson  <jas@extundo.com>
17608
17609         * modules/strchrnul: New file.
17610
17611 2003-06-10  Simon Josefsson  <jas@extundo.com>
17612
17613         * modules/argp: New file.
17614
17615 2003-06-10  Simon Josefsson  <jas@extundo.com>
17616
17617         * m4/strchrnul.m4: New file.
17618
17619 2003-06-10  Simon Josefsson  <jas@extundo.com>
17620
17621         * lib/strchrnul.h: New file.
17622         * lib/strchrnul.c: New file.
17623
17624 2003-06-10  Bruno Haible  <bruno@clisp.org>
17625
17626         * MODULES.html.sh (func_all_modules): Add strchrnul and argp.
17627
17628 2003-06-07  Karl Berry  <karl@gnu.org>
17629
17630         * config/config.{guess,sub}: update from prep.
17631
17632 2003-06-07  Jim Meyering  <jim@meyering.net>
17633
17634         * modules/strtod: Use $(...) notation, not @...@ for
17635         AC_REPLACE'd variables.
17636         * modules/localcharset: Likewise.
17637
17638 2003-06-07  Jim Meyering  <jim@meyering.net>
17639
17640         * lib/readtokens.h: Put `Free Software Foundation, Inc.'
17641         in place of my name in the copyright comment.
17642         Remove definition and uses of __P.
17643
17644         From coreutils.
17645         * lib/stat.c: Don't declare xmalloc explicitly.
17646         Instead, include "xalloc.h".
17647         * lib/readtokens.c (readtokens): Remove anachronistic casts of xmalloc,
17648         xrealloc, and xcalloc return values.
17649         * lib/xgetcwd.c (xgetcwd): Include "xgetcwd.h".
17650         Improve comment.
17651         * lib/xgetcwd.h: Remove definition/uses of PARAMS.
17652
17653 2003-06-07  Bruno Haible  <bruno@clisp.org>
17654
17655         * modules/poll (Makefile.am): Use explicit creation rule for poll.h, to
17656         avoid AC_CONFIG_LINKS.
17657         * modules/fnmatch (Makefile.am): Use explicit creation rule for
17658         fnmatch.h, to avoid AC_CONFIG_LINKS.
17659         * modules/alloca (Makefile.am): Make creation of alloca.h Ctrl-C safe.
17660
17661 2003-06-07  Bruno Haible  <bruno@clisp.org>
17662
17663         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH, gl_FUNC_FNMATCH_POSIX,
17664         gl_FUNC_FNMATCH_GNU): Set FNMATCH_H instead of invoking
17665         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
17666         directory.
17667         * m4/poll.m4 (gl_FUNC_POLL): Set POLL_H instead of invoking
17668         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
17669         directory.
17670
17671 2003-06-06  Jim Meyering  <jim@meyering.net>
17672
17673         Merge from coreutils.
17674         * lib/same.c: (same_name): Declare *_basename locals to be `const'.
17675         Consolidate declarations and initializations of *_base* locals.
17676
17677         Merge from coreutils.
17678         This avoids a core dump on systems without GNU putenv,
17679         when running `env -u SOME_ALREADY_UNSET_VARIABLE'.
17680         * lib/putenv.c (__set_errno, LOCK, UNLOCK): Define.
17681         (unsetenv): New static function, from GNU libc.
17682         (rpl_putenv): Use it.
17683
17684         * lib/modechange.c: Remove trailing blanks.
17685
17686         Merge from coreutils.
17687         * lib/fsusage.c: Remove declaration of statfs.
17688         It conflicted with one from OSF/1 5.1 in <sys/mount.h>.
17689
17690         * lib/posixtm.c: Include <stdbool.h> unconditionally.
17691
17692 2003-06-06  Jim Meyering  <jim@meyering.net>
17693
17694         * lib/stdbool_.h: Renamed from stdbool.h.in.
17695
17696 2003-06-06  Jim Meyering  <jim@meyering.net>
17697             Bruno Haible  <bruno@clisp.org>
17698
17699         * modules/stdbool: Reflect renaming: stdbool.h.in -> stdbool_.h.
17700         Adjust Makefile.am snippet not to redirect directly to target.
17701         Use $(STDBOOL_H) notation, not @STDBOOL_H@ for AC_REPLACE'd variables.
17702
17703 2003-06-05  Paul Eggert  <eggert@twinsun.com>
17704
17705         * lib/mktime.c (__mktime_internal): When resolving a tm_isdst
17706         mismatch, look in future quarters as well as past.  This fixes a
17707         bug when processing fall-backwards gaps immediately after a long
17708         period of daylight-saving time.
17709
17710         * lib/mktime.c: Assume freestanding C89 or better.
17711         (HAVE_LIMITS_H): Remove.  Assume it's 1.
17712         (__P): Remove; not used.
17713         (CHAR_BIT, INT_MIN, INT_MAX): Remove; <limits.h> defines them.
17714         (mktime, not_equal_tm, print_tm, check_result,
17715         main): Use prototypes.  Use const * where appropriate.
17716         (main): Fix typo in testing code that uncovered by above changes.
17717         (Local Variables): Remove -DHAVE_LIMITS_H from compile-command.
17718
17719 2003-06-04  Paul Eggert  <eggert@twinsun.com>
17720
17721         * m4/human.m4 (gl_HUMAN): Require AM_STDBOOL_H.  Check for
17722         locale.h, localeconv.  This merges changes from coreutils.
17723
17724         * m4/mktime.m4 (AC_FUNC_MKTIME): New macro, taken from Autoconf CVS.
17725         It can be removed after the next Autoconf is released.
17726         * m4/exclude.m4 (gl_EXCLUDE): Don't check for sys/types.h; no loner
17727         needed.
17728
17729 2003-06-04  Paul Eggert  <eggert@twinsun.com>
17730
17731         * lib/mktime.c: Fix Debian bug 177940
17732         <http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=177940>.
17733         (localtime_offset): Now long int, not time_t, because we want it
17734         to be guaranteed to be signed.  All uses changed.
17735         (__mktime_internal): If overflow would occur when adding offset,
17736         don't add it.
17737
17738         Merge 'human' changes from coreutils.  Rewrite to support
17739         locale-specific notations like thousands separators.
17740         * lib/human.c: Simplify authorship notice.
17741         Include human.h immediately after config.h.
17742         <sys/types.h>, <stdio.h>: Do not include; no longer needed.
17743         <limits.h>: Do not include, since human.h does.
17744         (SIZE_MAX, UINTMAX_MAX): New macros.
17745         <strings.h>: Include if HAVE_STRINGS_H, not if !HAVE_STRING_H.
17746         <locale.h>: Include if HAVE_LOCALE_H and HAVE_LOCALECONV.
17747         (HUMAN_READABLE_SUFFIX_LENGTH_MAX): New macro.
17748         (power_letter): Renamed from suffixes.
17749         (generate_suffix_backwards): Remove.
17750         (adjust_value): Now takes int style (because of human.h changes)
17751         and long double value (for greater precision on some platforms).
17752         (group_number): New function.
17753         (human_readable): Use it.  Use integer options, not enum.
17754         Put the options before the sizes in the arg list.
17755         Support all the new options.
17756         The old human_readable function has been removed;
17757         use inttostr.h instead.
17758         (human_readable, default_block_size, humblock):
17759         Use uintmax_t, not int, for block sizes.
17760         (human_readable_inexact, block_size_types): Remove.
17761         (block_size_opts): New constant.
17762         (human_options): Renamed from human_block_size, with new signature
17763         that allows block sizes up to UINTMAX_MAX.  All callers changed.
17764         * lib/human.h: Add copyright and authorship notice.
17765         Include <limits.h> and <stdbool.h> unconditionally.
17766         (PARAMS): Remove.  All uses removed.
17767         (LONGEST_HUMAN_READABLE): Add support for thousands separator.
17768         (enum human_inexact_style): Remove tag; now a nameless enum.
17769         (human_floor, human_ceiling, human_round_to_even): Now have
17770         values 2, 0, 1 rather than -1, 1, 0.
17771         (human_group_digits, human_suppress_point_zero, human_autoscale,
17772         human_base_1024, human_SI, human_B): New constants.
17773         (human_readable_inexact, human_block_size): Remove.
17774         (human_readable): Size args are now uintmax_t, not int.
17775         (human_options): New decl.
17776
17777         * lib/exclude.c: (new_exclude, add_exclude): Remove casts that are
17778         unnecessary now that we assume C89 or better.  This change
17779         imported from coreutils.
17780
17781         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
17782         arbitrarily.  This is the same patch as 2003-05-28, but it got lost
17783         in the 2003-05-30 sync from glibc.
17784
17785         .h files should stand alone, but we shouldn't include <sys/types.h>
17786         if we can get away with just <stddef.h>.
17787
17788         * lib/__fpending.h, addext.c, backupfile.c, exclude.c, getline.c,
17789         malloc.c, putenv.c, realloc.c, strcasecmp.c: Include <stddef.h>
17790         rather than <sys/types.h>, as we merely need size_t.
17791         * lib/dirname.h, memcoll.h, xalloc.h, xmemcoll.h: Include <stddef.h>,
17792         to get size_t.
17793         * lib/hash.h, linebuffer.h, readtokens.h, stdio-safer.h, version-etc.h:
17794         Include <stdio.h>, to get FILE.
17795         * lib/memcasecmp.c: Don't include <sys/types.h>, as we can assume
17796         memcasecmp.h has included <stddef.h> and all we need is size_t.
17797         * lib/memcoll.c: Include "memcoll.h", which gets us size_t and checks
17798         our interface, instead of including <sys/types.h>
17799
17800 2003-06-04  Paul Eggert  <eggert@twinsun.com>
17801
17802         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): Comment out for
17803         now, as glibc mktime is buggy on non-glibc systems.
17804
17805 2003-06-03  Karl Berry  <karl@gnu.org>
17806
17807         * config/config.sub: update from prep.
17808
17809 2003-06-02  Paul Eggert  <eggert@twinsun.com>
17810
17811         [from coreutils]
17812         Fix some minor time-related bugs with POSIX time arguments.
17813         Some valid time stamps were being rejected (notably -1, and
17814         time stamps before 1900 on 64-bit hosts).  And some invalid
17815         time stamps were being accepted, e.g. September 31.
17816
17817         * lib/posixtm.h (posixtime): Return bool instead of time_t, so
17818         that we can return (time_t) -1 successfully.
17819         * lib/posixtm.c: Likewise.
17820         [HAVE_STDBOOL_H]: Include <stdbool.h>.
17821         (bool, false, true) [!HAVE_STDBOOL_H]: New type.
17822         (t): Remove static var.
17823         (year, posix_time_parse): Now takes struct tm * arg to modify, instead
17824         of static var.  All uses changed.
17825         (year): Do not reject years before 1900; they can occur with
17826         64-bit time_t.
17827         (posix_time_parse): Do not check for out-of-range components;
17828         that is now the caller's responsibility, since our checks were
17829         only approximations.
17830         (posixtime): Use mktime to check for out-of-range components,
17831         since it knows them exactly.
17832         If mktime returns (time_t) -1, check whether an error actually occurred
17833         by invoking localtime on -1.
17834         (main) [TEST_POSIXTIME]: Check for input data errors, and report
17835         posixtime failures better.
17836         Improve the test data (in comments only).
17837
17838 2003-06-02  Karl Berry  <karl@gnu.org>
17839
17840         * config/mkinstalldirs (version): new variable.
17841         (--version): new option.
17842         (usage): improve message.
17843
17844 2003-05-30  Karl Berry  <karl@gnu.org>
17845
17846         * lib/mktime.c: update from libc.
17847
17848 2003-05-30  Bruno Haible  <bruno@clisp.org>
17849
17850         * modules/gettext: Add files m4/nls.m4 and m4/po.m4.
17851         * config/config.rpath: Upgrade to gettext-0.12.1.
17852
17853 2003-05-30  Bruno Haible  <bruno@clisp.org>
17854
17855         * m4/gettext.m4: Upgrade to gettext-0.12.1.
17856         * m4/nls.m4: New file, from gettext-0.12.1.
17857         * m4/po.m4: New file, from gettext-0.12.1.
17858         * m4/progtest.m4: Upgrade to gettext-0.12.1.
17859
17860 2003-05-30  Bruno Haible  <bruno@clisp.org>
17861
17862         * lib/config.charset: Upgrade to gettext-0.12.1 and libiconv-1.9.1.
17863         * lib/localcharset.h: Likewise.
17864         * lib/localcharset.c: Likewise.
17865
17866 2003-05-29  Karl Berry  <karl@gnu.org>
17867
17868         * config/config.rpath: update from gettext.
17869
17870 2003-05-28  Paul Eggert  <eggert@twinsun.com>
17871
17872         Assume the headers required for C89 freestanding compilers.
17873         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for limits.h.
17874         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Likewise.
17875         * m4/human.m4 (gl_HUMAN): Likewise.
17876         * m4/pathmax.m4 (gl_PATHMAX): Likewise.
17877         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Likewise.
17878         * m4/userspec.m4 (gl_USERSPEC): Likewise.
17879         * m4/xreadlink.m4 (gl_XREADLINK): Likewise.
17880         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
17881         * m4/quote.m4 (gl_QUOTE): Don't check for stddef.h.
17882
17883 2003-05-28  Paul Eggert  <eggert@twinsun.com>
17884
17885         Assume the headers required for C89 freestanding compilers.
17886         * lib/addext.c, lib/backupfile.c, lib/fsusage.c, lib/human.c,
17887         lib/pathmax.h, lib/rpmatch.c, lib/userspec.c, lib/xreadlink.c,
17888         lib/xstrtol.c: Include <limits.h> without checking for HAVE_LIMITS_H.
17889         * lib/backupfile.c, lib/fsusage.c, lib/hash.c, lib/human.c,
17890         lib/safe-read.c, lib/userspec.c, lib/xstrtol.c (CHAR_BIT): Don't
17891         define, since <limits.h> is guaranteed to do that.
17892         * lib/fatal.c: Include <stdarg.h> without checking for __STDC__.
17893         * lib/exclude.c: Include <stdbool.h> unconditionally.
17894         * lib/tempname.c: Include <stddef.h> unconditionally.
17895         * lib/hash.c: Include <limits.h>, since we no longer define CHAR_BIT.
17896         * lib/modechange.c, rpmatch.c (NULL): Don't define, since
17897         <stddef.h> does that.
17898         * lib/quote.c: Dont include <stddef.h> or <sys/types.h>; not needed.
17899         * lib/safe-read.c (INT_MAX): Don't define, since <limits.h> does that.
17900         * lib/safe-read.c (TYPE_MINIMUM, TYPE_MAXIMUM): Remove; no longer
17901         needed.
17902         * lib/xstrtol.c: Likewise.
17903         * lib/safe-read.c: Remove TYPE_SIGNED; no longer needed.
17904         * lib/savedir.c: Include <stddef.h> instead of defining NULL.
17905
17906         * lib/addext.c (addext): Use assignment rather than cast, to avoid
17907         warnings on some platforms.
17908
17909         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
17910         arbitrarily.
17911
17912 2003-05-26  Jim Meyering  <jim@meyering.net>
17913
17914         Merge in a change from coreutils:
17915         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Test the cache variable, not one
17916         that is guaranteed to be `no'.  Use `no_such_member' to indicate
17917         that condition, rather than `-1' which is slightly misleading.
17918         Change the name of the cache variable to have the gl_ prefix.
17919         Prompted by a patch from Richard Dawe for DJGPP.
17920
17921 2003-05-24  Karl Berry  <karl@gnu.org>
17922
17923         * config/config.guess: update from prep.
17924
17925 2003-05-22  Karl Berry  <karl@gnu.org>
17926
17927         * gnulib-tool (func_usage): =LIBRARY not =libRARY in help msg.
17928
17929 2003-05-20  Karl Berry  <karl@gnu.org>
17930
17931         * config/config.guess: update from prep.
17932
17933 2003-05-18  Karl Berry  <karl@gnu.org>
17934
17935         * config/srclistvars.sh (TEXMF): use TEXMFROOT instead, since TEXMF
17936         might actually be set by the user.
17937
17938         * config/depcomp, install-sh, mdate-sh: update from automake.
17939
17940 2003-05-17  Bruno Haible  <bruno@clisp.org>
17941
17942         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Fix a quoting bug leading to an
17943         invalid expansion for AC_EGREP_CPP.
17944         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Likewise.
17945         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
17946         Suggested by Akim Demaille <akim@epita.fr> in
17947         http://mail.gnu.org/archive/html/bug-autoconf/2003-05/threads.html
17948
17949 2003-05-12  Jim Meyering  <jim@meyering.net>
17950
17951         * lib/strftime.c (my_strftime): Let the `-' (no-pad) flag affect
17952         the space-padded-by-default conversion specifiers, %e, %k, %l.
17953
17954 2003-05-12  Bruno Haible  <bruno@clisp.org>
17955
17956         * lib/linebreak.c (iconv_string_length): Don't return -1 just because
17957         the string is longer than 4 KB.
17958
17959 2003-05-11  Karl Berry  <karl@gnu.org>
17960
17961         * config/config.{guess,sub}: update from prep.
17962
17963 2003-05-09  Bruno Haible  <bruno@clisp.org>
17964
17965         * modules/error: Add m4/strerror_r.m4 to file list.
17966
17967 2003-05-03  Bruno Haible  <bruno@clisp.org>
17968
17969         Upgrade to Unicode-4.0.
17970         * lib/linebreak.c (nonspacing_table_data): Change width of U+00AD,
17971         U+0350..U+0357, U+035D..U+035F, U+0600..U+0603, U+0610..U+0615,
17972         U+0656..U+0658, U+0A01, U+0AE2..U+0AE3, U+0CBC, U+17B4..U+17B5,
17973         U+17DD, U+1920..U+1922, U+1927..U+192B, U+1932, U+1939..U+193B
17974         from 1 to 0. Change width of U+0CBF, U+0CC6, U+180E from 0 to 1.
17975         (uc_width): Change width of U+4DC0..U+4DFF from 2 to 1. Change width
17976         of U+2A6D7..U+2F7FF, U+2FA1E..U+2FFFD, U+30000..U+3FFFD from 1 to 2.
17977         Change width of U+E0100..U+E01EF from 1 to 0.
17978
17979 2003-04-25  Jim Meyering  <jim@meyering.net>
17980
17981         * lib/copy-file.c (copy_file_preserving): Declare buf_size to be
17982         of type size_t, not int.
17983
17984 2003-04-25  Bruno Haible  <bruno@clisp.org>
17985
17986         * lib/copy-file.c: Include <stddef.h>, for size_t.
17987
17988 2003-04-21  Paul Eggert  <eggert@twinsun.com>
17989
17990         * m4/error.m4 (gl_ERROR): Do not put under dynamic conditions some
17991         code which expansion is under static control.  Patch imported from
17992         Akim Demaille's patch to Bison; see
17993         <http://mail.gnu.org/archive/html/bison-patches/2003-03/msg00057.html>.
17994
17995 2003-04-14  Bruno Haible  <bruno@clisp.org>
17996
17997         * m4/error.m4 (jm_PREREQ_ERROR): Use AC_FUNC_VPRINTF.
17998
17999 2003-04-11  Jim Meyering  <jim@meyering.net>
18000
18001         Merge changes from Coreutils.
18002
18003         2003-03-22  Jim Meyering  <jim@meyering.net>
18004
18005         * lib/strftime.c (widen): Cast alloca return value to proper type.
18006
18007         2003-01-19  Ulrich Drepper  <drepper@redhat.com>
18008
18009         From GNU libc.
18010         * lib/strftime.c (my_strftime): Handle very large width
18011         specifications for numeric values correctly.  Improve checks for
18012         overflow.
18013
18014         2003-01-19  Jim Meyering  <jim@meyering.net>
18015
18016         * lib/strftime.c (widen) [COMPILE_WIDE]: Merge nearly-identical
18017         definitions.
18018         (nl_get_alt_digit) [! defined my_strftime]: Define.
18019         (my_strftime) [_NL_CURRENT]: Merge nearly-identical uses of
18020         _nl_get_alt_digit and _nl_get_walt_digit.
18021
18022         * lib/strftime.c (my_strftime): Merge in locale-related changes from
18023         libc. These changes have no effect outside of _LIBC.
18024
18025 2003-04-10  Bruno Haible  <bruno@clisp.org>
18026
18027         * modules/findprog: New file.
18028         * MODULES.html.sh (func_all_modules): Add it.
18029
18030 2003-04-10  Bruno Haible  <bruno@clisp.org>
18031
18032         * m4/findprog.m4: New file.
18033         * m4/eaccess.m4: New file.
18034
18035 2003-04-10  Bruno Haible  <bruno@clisp.org>
18036
18037         * lib/findprog.h: New file, from GNU gettext.
18038         * lib/findprog.c: New file, from GNU gettext.
18039
18040 2003-04-05  Jim Meyering  <jim@meyering.net>
18041
18042         Merge changes from Coreutils.
18043
18044         * lib/exclude.h (PARAMS): Remove definition and uses.
18045         * lib/exclude.c: Remove uses of `PARAMS'.
18046
18047         * lib/dirname.c [TEST_DIRNAME]: Update build instructions for test.
18048         Add test-cases for DOS filenames. Declare program_name.
18049         (main): Set up program_name.  Patch by Rich Dawe.
18050
18051         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
18052         error from mntctl.
18053         Use mntctl's return value to drive the entry-processing loop, since
18054         we can't rely on the value of the vmt_length member in the last
18055         entry.  On some systems doing so could result in exhausting
18056         virtual memory.  Based in part on a patch from Mike Jetzer.
18057
18058 2003-04-04  Bruno Haible  <bruno@clisp.org>
18059
18060         * modules/linebreak: New file.
18061         * MODULES.html.sh (func_all_modules): Add it.
18062
18063 2003-04-04  Bruno Haible  <bruno@clisp.org>
18064
18065         * m4/linebreak.m4: New file.
18066
18067 2003-04-04  Bruno Haible  <bruno@clisp.org>
18068
18069         * lib/linebreak.h: New file, from GNU gettext.
18070         * lib/linebreak.c: New file, from GNU gettext with slight
18071         modifications.
18072         * lib/lbrkprop.h: New file, from GNU gettext.
18073
18074 2003-04-03  Bruno Haible  <bruno@clisp.org>
18075
18076         * modules/utf8-ucs4: New file.
18077         * modules/utf16-ucs4: New file.
18078         * modules/ucs4-utf8: New file.
18079         * modules/ucs4-utf16: New file.
18080         * MODULES.html.sh (func_all_modules): Add them.
18081
18082 2003-04-03  Bruno Haible  <bruno@clisp.org>
18083
18084         * m4/utf-ucs4.m4: New file.
18085         * m4/ucs4-utf.m4: New file.
18086
18087 2003-04-03  Bruno Haible  <bruno@clisp.org>
18088
18089         * lib/utf8-ucs4.h: New file, from GNU gettext.
18090         * lib/utf16-ucs4.h: New file, from GNU gettext.
18091         * lib/ucs4-utf8.h: New file, from GNU gettext.
18092         * lib/ucs4-utf16.h: New file, from GNU gettext.
18093
18094 2003-04-02  Bruno Haible  <bruno@clisp.org>
18095
18096         * modules/binary-io: New file.
18097         * MODULES.html.sh (func_all_modules): Add it.
18098
18099 2003-04-02  Bruno Haible  <bruno@clisp.org>
18100
18101         * lib/binary-io.h: New file, from GNU gettext.
18102
18103 2003-04-01  Bruno Haible  <bruno@clisp.org>
18104
18105         * modules/pathname: New file.
18106         * MODULES.html.sh (func_all_modules): Add it.
18107
18108 2003-04-01  Bruno Haible  <bruno@clisp.org>
18109
18110         * lib/pathname.h: New file, from GNU gettext.
18111         * lib/concatpath.c: New file, from GNU gettext.
18112
18113 2003-03-30  Bruno Haible  <bruno@clisp.org>
18114
18115         * m4/copy-file.m4 (gl_COPY_FILE): Add check for chown().
18116
18117 2003-03-30  Bruno Haible  <bruno@clisp.org>
18118
18119         * lib/copy-file.c (copy_file_preserving): Don't set owner if the
18120         function chown() doesn't exist.
18121
18122 2003-03-28  Bruno Haible  <bruno@clisp.org>
18123
18124         * modules/copy-file: New file.
18125         * MODULES.html.sh (func_all_modules): Add it.
18126
18127 2003-03-28  Bruno Haible  <bruno@clisp.org>
18128
18129         * m4/copy-file.m4: New file.
18130
18131 2003-03-28  Bruno Haible  <bruno@clisp.org>
18132
18133         * lib/copy-file.h: New file, from GNU gettext.
18134         * lib/copy-file.c: New file, from GNU gettext.
18135
18136 2003-03-18  Jim Meyering  <jim@meyering.net>
18137
18138         * lib/quote.c (quote_n): Fix typo in comment.
18139
18140 2003-03-18  Bruno Haible  <bruno@clisp.org>
18141
18142         * m4/onceonly.m4: Use m4_defn instead of defn, for better error
18143         checking.
18144         * m4/onceonly_2_57.m4: Likewise.
18145
18146 2003-03-17  Bruno Haible  <bruno@clisp.org>
18147
18148         * m4/onceonly.m4: Require autoconf 2.54 or newer.
18149         (m4_quote): Remove macro.
18150         * m4/onceonly_2_57.m4: Require autoconf 2.54 or newer.
18151
18152 2003-03-14  Jim Meyering  <jim@meyering.net>
18153
18154         Merge changes from Coreutils.
18155         * lib/obstack.h (obstack_object_size): Declare temporary, __o,
18156         to be const, in order to avoid warnings.
18157         (obstack_room): Likewise.
18158         (obstack_empty_p): Likewise.
18159
18160 2003-03-14  Bruno Haible  <bruno@clisp.org>
18161
18162         * m4/onceonly_2_57.m4 (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE,
18163         AC_CHECK_DECLS_ONCE): Quote AC_FOREACH variable-expansions properly.
18164
18165 2003-03-13  Paul Eggert  <eggert@twinsun.com>
18166
18167         Merge changes from Bison.
18168         * lib/obstack.h: (__INT_TO_PTR) [__STDC__]: Cast result to
18169         (void *) to avoid diagnostic with native c89 on SGI IRIX 6.5
18170         when compiling Bison 1.875's `bitset bset = obstack_alloc
18171         (bobstack, bytes);'.  Problem reported by Nelson H. F. Beebe.
18172         * lib/hash.c: Include <stdbool.h> unconditionally.
18173
18174 2003-03-13  Paul Eggert  <eggert@twinsun.com>
18175
18176         * m4/onceonly.m4 (m4_quote): New macro.
18177         (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE, AC_CHECK_DECLS_ONCE):
18178         Quote AC_FOREACH variable-expansions properly.
18179
18180 2003-03-13  Paul Eggert  <eggert@twinsun.com>
18181
18182         * doc/COPYING.DOC, fdl.texi: Sync with latest FSF version.
18183
18184 2003-03-09  Paul Eggert  <eggert@twinsun.com>
18185
18186         * lib/argmatch.c (EXIT_FAILURE): Define if the system doesn't.
18187         Reported by Bruce Becker; see:
18188         http://mail.gnu.org/archive/html/bug-bison/2003-03/msg00017.html
18189
18190 2003-03-03  Paul Eggert  <eggert@twinsun.com>
18191             Bruno Haible  <bruno@clisp.org>
18192
18193         * lib/mbswidth.h: Include <wchar.h>. Needed for UnixWare 7.1.1.
18194         Reported by John Hughes, see
18195         http://mail.gnu.org/archive/html/bug-bison/2003-02/msg00030.html
18196
18197 2003-02-20  Bruno Haible  <bruno@clisp.org>
18198
18199         * MODULES.html.sh (func_all_modules): Add poll.
18200
18201 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
18202
18203         * modules/poll: New file.
18204
18205 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
18206
18207         * lib/poll_.h: New file.
18208         * lib/poll.c: New file.
18209
18210 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
18211
18212         * m4/poll.m4: New file.
18213
18214 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
18215
18216         * modules/mathl: New file.
18217
18218 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
18219
18220         * lib/mathl.h: New file.
18221         * lib/acosl.c: New file.
18222         * lib/asinl.c: New file.
18223         * lib/atanl.c: New file.
18224         * lib/ceill.c: New file.
18225         * lib/cosl.c: New file.
18226         * lib/expl.c: New file.
18227         * lib/floorl.c: New file.
18228         * lib/frexpl.c: New file.
18229         * lib/ldexpl.c: New file.
18230         * lib/logl.c: New file.
18231         * lib/sincosl.c: New file.
18232         * lib/sinl.c: New file.
18233         * lib/sqrtl.c: New file.
18234         * lib/tanl.c: New file.
18235         * lib/trigl.c: New file.
18236         * lib/trigl.h: New file.
18237
18238 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
18239
18240         * m4/mathl.m4: New file.
18241
18242 2003-02-18  Bruno Haible  <bruno@clisp.org>
18243
18244         * MODULES.html.sh (func_all_modules): Add mathl.
18245
18246 2003-02-17  Bruno Haible  <bruno@clisp.org>
18247
18248         * modules/mkdtemp: New module.
18249         * MODULES.html.sh (func_all_modules): Add it.
18250
18251 2003-02-17  Bruno Haible  <bruno@clisp.org>
18252
18253         * m4/mkdtemp.m4: New file, from GNU gettext with modifications.
18254
18255 2003-02-17  Bruno Haible  <bruno@clisp.org>
18256
18257         * lib/mkdtemp.h: New file, from GNU gettext.
18258         * lib/mkdtemp.c: New file, from GNU gettext.
18259
18260 2003-02-02  Jim Meyering  <jim@meyering.net>
18261
18262         * m4/regex.m4 (jm_INCLUDED_REGEX): Detect broken re_search in
18263         e.g. glibc-2.2.93.
18264
18265 2003-01-31  Bruno Haible  <bruno@clisp.org>
18266
18267         * m4/rename.m4 (vb_FUNC_RENAME): Add a redirection from 'rename' to
18268         'rpl_rename'.
18269         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Add a redirection from 'strnlen' to
18270         'rpl_strnlen'.
18271         * m4/strtod.m4 (gl_FUNC_STRTOD): Add a redirection from 'strtod' to
18272         'rpl_strtod'.
18273         * m4/utime.m4 (jm_FUNC_UTIME): Add a redirection from 'utime' to
18274         'rpl_utime'.
18275
18276 2003-01-31  Bruno Haible  <bruno@clisp.org>
18277
18278         * lib/rename.c: #undef rename before defining rpl_rename.
18279         * lib/strnlen.c: #undef strnlen, define rpl_strnlen instead of strnlen.
18280
18281 2003-01-30  Bruno Haible  <bruno@clisp.org>
18282
18283         * modules/vasnprintf, modules/vasprintf: New modules.
18284         * MODULES.html.sh (func_all_modules): Add them.
18285
18286 2003-01-30  Bruno Haible  <bruno@clisp.org>
18287
18288         * m4/signed.m4: New file, from GNU gettext.
18289         * m4/longdouble.m4: New file, from GNU gettext.
18290         * m4/wchar_t.m4: New file, from GNU gettext.
18291         * m4/wint_t.m4: New file, from GNU gettext.
18292         * m4/vasnprintf.m4: New file.
18293         * m4/vasprintf.m4: New file.
18294
18295 2003-01-30  Bruno Haible  <bruno@clisp.org>
18296
18297         * lib/printf-args.h: New file, from GNU gettext.
18298         * lib/printf-args.c: New file, from GNU gettext.
18299         * lib/printf-parse.h: New file, from GNU gettext.
18300         * lib/printf-parse.c: New file, from GNU gettext.
18301         * lib/vasnprintf.h: New file, from GNU gettext.
18302         * lib/vasnprintf.c: New file, from GNU gettext.
18303         * lib/asnprintf.c: New file, from GNU gettext.
18304         * lib/vasprintf.h: New file, from GNU gettext with modifications.
18305         * lib/vasprintf.c: New file, from GNU gettext.
18306         * lib/asprintf.c: New file, from GNU gettext.
18307
18308 2003-01-29  Bruno Haible  <bruno@clisp.org>
18309
18310         * modules/stpncpy: New module.
18311         * MODULES.html.sh (func_all_modules): Add it.
18312
18313 2003-01-29  Bruno Haible  <bruno@clisp.org>
18314
18315         * m4/stpncpy.m4: New file.
18316
18317 2003-01-29  Bruno Haible  <bruno@clisp.org>
18318
18319         * lib/stpncpy.h: New file, from GNU gettext with modifications.
18320         * lib/stpncpy.c: New file, from GNU gettext with modifications.
18321
18322 2003-01-28  Bruno Haible  <bruno@clisp.org>
18323
18324         * modules/c-ctype: New module.
18325         * MODULES.html.sh (func_all_modules): Add it.
18326
18327 2003-01-28  Bruno Haible  <bruno@clisp.org>
18328
18329         * lib/c-ctype.h: New file, from GNU gettext, with changes suggested by
18330         Paul Eggert.
18331         * lib/c-ctype.c: New file, from GNU gettext, with changes suggested by
18332         Paul Eggert.
18333
18334 2003-01-27  Bruno Haible  <bruno@clisp.org>
18335
18336         * modules/xsetenv: New module.
18337         * MODULES.html.sh (func_all_modules): Add it.
18338
18339 2003-01-27  Bruno Haible  <bruno@clisp.org>
18340
18341         * lib/xsetenv.h: New file, from GNU gettext.
18342         * lib/xsetenv.c: New file, from GNU gettext.
18343
18344 2003-01-23  Jim Meyering  <jim@meyering.net>
18345
18346         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Correct typo: s/-1/no/ that kept this
18347         from working on systems without dirfd (at least Irix and OSF1/Tru64).
18348
18349 2003-01-23  Bruno Haible  <bruno@clisp.org>
18350
18351         * modules/minmax: New module.
18352         * MODULES.html.sh (func_all_modules): Add it.
18353
18354 2003-01-23  Bruno Haible  <bruno@clisp.org>
18355
18356         * lib/minmax.h: New file, from GNU gettext, with comments from Paul
18357         Eggert.
18358
18359 2003-01-22  Bruno Haible  <bruno@clisp.org>
18360
18361         * modules/exit: New module.
18362         * MODULES.html.sh (func_all_modules): Add it.
18363
18364 2003-01-22  Bruno Haible  <bruno@clisp.org>
18365
18366         * lib/exit.h: New file, from GNU gettext.
18367
18368 2003-01-19  Bruno Haible  <bruno@clisp.org>
18369
18370         * gnulib-tool: Recognize option --extract-maintainer.
18371         (func_get_maintainer): New function.
18372         * modules/*: Add Maintainer entry.
18373
18374 2003-01-16  Jim Meyering  <jim@meyering.net>
18375
18376         * m4/regex.m4: The `regex' struct is both input and output.
18377         Initialize it before each use.  Patch by Tim Waugh.
18378
18379 2003-01-16  Bruno Haible  <bruno@clisp.org>
18380
18381         * MODULES.html.sh: Add a table of contents. Add the module name as
18382         leftmost column. Add hyperlinks.
18383
18384 2003-01-15  Bruno Haible  <bruno@clisp.org>
18385
18386         * m4/md5.m4 (gl_MD5): Require AC_C_INLINE.
18387
18388 2003-01-15  Bruno Haible  <bruno@clisp.org>
18389
18390         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): Also test the LL suffix.
18391         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Also test the ULL
18392         suffix.
18393
18394 2003-01-15  Bruno Haible  <bruno@clisp.org>
18395
18396         * m4/alloca.m4 (gl_FUNC_ALLOCA): Invoke AC_EGREP_CPP prerequisites.
18397
18398 2003-01-15  Bruno Haible  <bruno@clisp.org>
18399
18400         * lib/stpcpy.h (stpcpy): Use ANSI C function declarations.
18401         * lib/strcase.h (strcasecmp, strncasecmp): Likewise.
18402
18403 2003-01-14  Jim Meyering  <jim@meyering.net>
18404
18405         * lib/same.c (same_name): Tweak a comment.
18406
18407 2003-01-14  Bruno Haible  <bruno@clisp.org>
18408
18409         * lib/same.c (same_name): Reorder tests so as to avoid calling stat()
18410         when a string comparison is sufficient.
18411
18412 2003-01-14  Bruno Haible  <bruno@clisp.org>
18413
18414         * lib/readtokens.c (readtoken): Cast character to 'unsigned char', not
18415         'unsigned int'.
18416
18417 2003-01-14  Bruno Haible  <bruno@clisp.org>
18418
18419         * lib/hash-pjw.c: Add comment about low quality of this function.
18420
18421 2003-01-13  Bruno Haible  <bruno@clisp.org>
18422
18423         * modules/stpcpy: Distribute lib/stpcpy.h.
18424         * modules/setenv: Depend on alloca. Distribute lib/setenv.h.
18425
18426 2003-01-13  Bruno Haible  <bruno@clisp.org>
18427
18428         * modules/*: Add a description.
18429         * modules/strpbrk: Fix Makefile.am snippet.
18430         * modules/strtoimax: Fix dependencies.
18431         * modules/strtoumax: Likewise.
18432
18433 2003-01-13  Bruno Haible  <bruno@clisp.org>
18434
18435         * gnulib-tool (func_create_testdir): Substitute lib_OBJECTS.
18436         * modules/alloca (Makefile.am): All object files depend on alloca.h.
18437         * modules/stdbool (Makefile.am): All object files depend on stdbool.h.
18438
18439 2003-01-13  Bruno Haible  <bruno@clisp.org>
18440
18441         * gnulib-tool (func_create_testdir): Store config/* files in the main
18442         directory.
18443         * config.rpath: Move to ...
18444         * config/config.rpath: ... here.
18445         * modules/gettext: Contains config/config.rpath, not config.rpath.
18446         * modules/iconv: Likewise.
18447
18448 2003-01-12  Paul Eggert  <eggert@twinsun.com>
18449
18450         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
18451         to avoid collisions with libcurses and libreadline.
18452
18453         * m4/getstr.m4: Remove.
18454         * m4/getline.m4 (gl_PREREQ_GETLINE): Require AC_HEADER_STDC.
18455
18456 2003-01-12  Paul Eggert  <eggert@twinsun.com>
18457
18458         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
18459         to avoid collisions with libcurses and libreadline.
18460
18461         * lib/Makefile.am (libfetish_a_SOURCES): Remove getstr.c, getstr.h.
18462         * lib/getstr.h, getstr.c: Remove.
18463         * lib/getline.c: Include "getline.h", to check interface.
18464         Move body of old getstr.c here: this defines MIN_CHUNK and
18465         declares getdelim2, which is renamed from getstr.
18466         (getline, getdelim): Adjust to renaming of getstr -> getdelim2.
18467
18468         * lib/linebuffer.c (readlinebuffer): Renamed from readline.
18469         All uses changed.
18470         * lib/linebuffer.h: Likewise.
18471         (readline): Remove backward-compatibility macro.
18472
18473 2003-01-12  Paul Eggert  <eggert@twinsun.com>
18474
18475         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
18476         to avoid collisions with libcurses and libreadline.
18477         * getstr: Remove.
18478         * MODULES.html.sh: Remove getstr.
18479         * modules/getline: Depend on unlocked-io, not getstr.
18480
18481 2003-01-12  Jim Meyering  <jim@meyering.net>
18482
18483         * lib/makepath.c: Don't test HAVE_ERRNO_H.  It's not necessary.
18484
18485 2003-01-10  Bruno Haible  <bruno@clisp.org>
18486
18487         * modules/alloca: Change Makefile.am requirements. Simplify Include
18488         requirements. Add lib/alloca_.h to file list.
18489
18490 2003-01-10  Bruno Haible  <bruno@clisp.org>
18491
18492         * m4/alloca.m4 (gl_FUNC_ALLOCA): Also define ALLOCA_H.
18493
18494 2003-01-10  Bruno Haible  <bruno@clisp.org>
18495
18496         * lib/alloca_.h: New file.
18497         * lib/getdate.y: Unconditionally include alloca.h.
18498         * lib/makepath.c: Likewise.
18499         * lib/setenv.c: Likewise.
18500         * lib/userspec.c: Likewise.
18501
18502 2003-01-09  Karl Berry  <karl@gnu.org>
18503
18504         * MODULES.html.sh: include `dirname $0` in PATH, to find
18505         gnulib-tool.
18506
18507 2003-01-09  Bruno Haible  <bruno@clisp.org>
18508
18509         * modules/stdbool: Change configure.ac, Makefile.am requirements.
18510         Simplify Include requirements. Add lib/stdbool.h.in to file list.
18511
18512 2003-01-09  Bruno Haible  <bruno@clisp.org>
18513
18514         * m4/stdbool.m4 (AM_STDBOOL_H): New macro.
18515
18516 2003-01-09  Bruno Haible  <bruno@clisp.org>
18517
18518         * lib/stdbool.h.in: New file.
18519
18520 2003-01-09  Bruno Haible  <bruno@clisp.org>
18521
18522         * gnulib-tool (func_all_modules): Ignore files ending in ~.
18523         * MODULES.html.sh: Likewise.
18524
18525 2003-01-08  Jim Meyering  <jim@meyering.net>
18526
18527         * lib/full-write.c: Undefine and define-away `const' after inclusion
18528         of errno.h, not before.  Suggestion from Bruno Haible.
18529
18530 2003-01-08  Bruno Haible  <bruno@clisp.org>
18531
18532         * modules/full-read: Depend on full-write.
18533
18534 2003-01-08  Bruno Haible  <bruno@clisp.org>
18535
18536         * lib/safe-read.c: Include specification header first, to ensure its
18537         selfcontainedness.
18538         * lib/full-write.c: Likewise.
18539
18540 2003-01-07  Jim Meyering  <jim@meyering.net>
18541
18542         * lib/full-write.c: Rework so that it may serve to define full_read,
18543         too.
18544         * lib/full-read.c: Simply #define FULL_READ and include full-write.c.
18545
18546 2003-01-07  Bruno Haible  <bruno@clisp.org>
18547
18548         * lib/strtoimax.c: Include <stdint.h> as an alternative to
18549         <inttypes.h>.
18550         * lib/xstrtol.h: Likewise.
18551         * lib/xstrtoimax.c: Likewise.
18552         * lib/xstrtoumax.c: Likewise.
18553         * lib/human.h: Likewise.
18554
18555         * lib/tempname.c: Include <inttypes.h> too. Avoids a compilation error
18556         on systems that have <inttypes.h> but not <stdint.h>.
18557
18558 2003-01-07  Bruno Haible  <bruno@clisp.org>
18559
18560         * MODULES.html.sh: Add copyright notice.
18561         (missed_files): Omit CVS directory entries.
18562         (func_module): Make it work with sed-3.02.
18563         * MODULES.txt: Remove file.
18564
18565 2003-01-06  Jim Meyering  <jim@meyering.net>
18566
18567         * lib/version-etc.c: Update year in translatable copyright string.
18568
18569 2003-01-03  Karl Berry  <karl@gnu.org>
18570
18571         * config/config.{guess,sub}: update from prep.
18572
18573 2003-01-02  Karl Berry  <karl@gnu.org>
18574
18575         * doc/COPYING.DOC: belatedly updated to 1.2.
18576
18577 2003-01-01  Karl Berry  <karl@gnu.org>
18578
18579         * gnulib-tool (func_verify_module): report module name $module in
18580         error message, not $1.
18581         * gnulib-tool (create-testdir): don't complain if destdir couldn't
18582         be created, only if it doesn't exist.
18583         * gnulib-tool (last_checkin_date): don't expand the $Date here.
18584
18585 2002-12-31  Paul Eggert  <eggert@twinsun.com>
18586
18587         * m4/memcoll.m4 (gl_MEMCOLL): Require AC_FUNC_MEMCMP.
18588
18589 2002-12-31  Paul Eggert  <eggert@twinsun.com>
18590
18591         * lib/memcoll.c (memcoll): Fall back on a simple algorithm using
18592         memcmp if strcoll doesn't work.
18593
18594 2002-12-31  Bruno Haible  <bruno@clisp.org>
18595
18596         * lib/utime.c (utime_null): No need to call ftruncate if the file was
18597         nonempty.
18598
18599 2002-12-31  Bruno Haible  <bruno@clisp.org>
18600
18601         * lib/memcoll.c (STRCOLL): New macro.
18602         (memcoll): Use it.
18603
18604 2002-12-31  Bruno Haible  <bruno@clisp.org>
18605
18606         * lib/localcharset.h: New file.
18607         * lib/localcharset.c: Include it.
18608         * lib/unicodeio.c: Likewise.
18609
18610 2002-12-31  Bruno Haible  <bruno@clisp.org>
18611
18612         * lib/getstr.h (getstr): Define, to avoid clash with libcurses.
18613         * lib/linebuffer.h (readline): Define, to avoid clash with libreadline.
18614
18615 2002-12-31  Bruno Haible  <bruno@clisp.org>
18616
18617         * lib/getline.h: Include <stddef.h>, for size_t.
18618
18619         * lib/unicodeio.h: Include <stddef.h>, for size_t.
18620         * lib/unicodeio.c: Don't include <stddef.h>.
18621
18622 2002-12-31  Bruno Haible  <bruno@clisp.org>
18623
18624         * lib/getdate.y (get_date): Test HAVE_STRUCT_TM_TM_ZONE, not
18625         HAVE_TM_ZONE.
18626
18627 2002-12-24  Karl Berry  <karl@gnu.org>
18628
18629         * config/config.guess: update from prep.
18630
18631 2002-12-24  Bruno Haible  <bruno@clisp.org>
18632
18633         General infrasructure.
18634         * m4/README: Rewritten.
18635         * m4/onceonly.m4: New file.
18636         * m4/onceonly_2_57.m4: New file.
18637
18638         Module atexit.
18639         * m4/atexit.m4: New file.
18640
18641         Module strtod.
18642         * m4/strtod.m4: New file.
18643
18644         Module strtol.
18645         * m4/strtol.m4: New file.
18646
18647         Module strtoul.
18648         * m4/strtoul.m4: New file.
18649
18650         Module memchr.
18651         * m4/memchr.m4: New file.
18652
18653         Module memcmp.
18654         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): New macro.
18655         (jm_FUNC_MEMCMP): Invoke it.
18656
18657         Module memcpy.
18658         * m4/memcpy.m4: New file.
18659
18660         Module memmove.
18661         * m4/memmove.m4: New file.
18662
18663         Module memset.
18664         * m4/memset.m4: New file.
18665
18666         Module strcspn.
18667         * m4/strcspn.m4: New file.
18668
18669         Module strpbrk.
18670         * m4/strpbrk.m4: New file.
18671
18672         Module strstr.
18673         * m4/strstr.m4: New file.
18674
18675         Module strerror.
18676         * m4/strerror.m4: New file.
18677
18678         Module mktime.
18679         * m4/mktime.m4: Renamed from jm-mktime.m4.
18680         (gl_PREREQ_MKTIME): New macro.
18681         (gl_FUNC_MKTIME): Renamed from jm_FUNC_MKTIME. Invoke gl_PREREQ_MKTIME.
18682
18683         Module malloc.
18684         * m4/malloc.m4 (gl_PREREQ_MALLOC): New macro.
18685         (jm_FUNC_MALLOC): Use AC_FUNC_MALLOC. Invoke gl_PREREQ_MALLOC.
18686         Don't define HAVE_DONE_WORKING_MALLOC_CHECK, since nothing uses it.
18687
18688         Module realloc.
18689         * m4/realloc.m4 (gl_PREREQ_REALLOC): New macro.
18690         (jm_FUNC_REALLOC): Use AC_FUNC_REALLOC. Invoke gl_PREREQ_REALLOC.
18691         Don't define HAVE_DONE_WORKING_REALLOC_CHECK, since nothing uses it.
18692
18693         Module strftime.
18694         * m4/tm_gmtoff.m4: New file, extracted from strftime.m4.
18695         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Use AC_FUNC_STRFTIME.
18696         Don't test for bcopy (we are not emacs). Invoke AC_TYPE_MBSTATE_T and
18697         gl_TM_GMTOFF.
18698         (_jm_STRFTIME_PREREQS, jm_FUNC_GNU_STRFTIME): Use onceonly macros.
18699
18700         Module xalloc.
18701         * m4/xalloc.m4: New file.
18702
18703         Module alloca.
18704         * m4/alloca.m4: New file.
18705
18706         Module putenv.
18707         * m4/putenv.m4 (gl_PREREQ_PUTENV): New macro.
18708         (jm_FUNC_PUTENV): Invoke it.
18709
18710         Module setenv.
18711         * m4/setenv.m4 (gt_FUNC_SETENV): New macro.
18712         (gt_CHECK_VAR_DECL): Fix quoting error that led to infinite loop in m4
18713         when invoked twice.
18714         (gt_PREREQ_SETENV, gt_PREREQ_UNSETENV): New macros, replacing old
18715         gt_FUNC_SETENV.
18716
18717         Module memrchr.
18718         * m4/memrchr.m4: New file.
18719
18720         Module stpcpy.
18721         * m4/stpcpy.m4: New file.
18722
18723         Module strcase.
18724         * m4/strcase.m4: New file.
18725
18726         Module strdup.
18727         * m4/strdup.m4: New file.
18728
18729         Module strnlen.
18730         * m4/strnlen.m4: New file.
18731
18732         Module strndup.
18733         * m4/strndup.m4: New file.
18734
18735         Module xstrtod.
18736         * m4/xstrtod.m4: New file.
18737
18738         Module xstrtol.
18739         * m4/xstrtol.m4: New file.
18740
18741         Module getdate.
18742         * m4/getdate.m4: New file.
18743
18744         Module unlocked-io.
18745         * m4/unlocked-io.m4: Renamed from jm-glibc-io.m4.
18746         (jm_FUNC_GLIBC_UNLOCKED_IO): Invoke AC_GNU_SOURCE. Use onceonly macros.
18747         * m4/jm-glibc-io.m4n: Remove file.
18748
18749         Module long-options.
18750         * m4/long-options.m4: New file.
18751
18752         Module md5.
18753         * m4/md5.m4: New file.
18754
18755         Module sha.
18756         * m4/sha.m4: New file.
18757
18758         Module getstr.
18759         * m4/getstr.m4: New file.
18760
18761         Module getline.
18762         * m4/getline.m4 (gl_PREREQ_GETLINE): New macro.
18763         (AM_FUNC_GETLINE): Invoke AC_GNU_SOURCE. Use <stdlib.h>, not
18764         <sys/types.h>, for size_t. Use the function name gnu_getline, not
18765         simply getline. Infoke gl_PREREQ_GETLINE.
18766
18767         Module obstack.
18768         * m4/obstack.m4: New file.
18769
18770         Module hash.
18771         * m4/hash.m4: New file.
18772
18773         Module readtokens.
18774         * m4/readtokens.m4: New file.
18775
18776         Module strverscmp.
18777         * m4/strverscmp.m4: New file.
18778
18779         Module stdbool.
18780         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Add test for _Bool. Needed for
18781         OSF/1.
18782
18783         Module strtoll.
18784         * m4/strtoll.m4: New file.
18785
18786         Module strtoull.
18787         * m4/strtoull.m4: New file.
18788
18789         Module strtoimax.
18790         * m4/strtoimax.m4: New file.
18791
18792         Module strtoumax.
18793         * m4/strtoumax.m4: New file.
18794
18795         Module xstrtoimax.
18796         * m4/xstrtoimax.m4 (jm_XSTRTOIMAX): Renamed from
18797         jm_AC_PREREQ_XSTRTOIMAX.
18798         Moved the strtol prerequisites to strtol.m4.
18799         Moved the strtoll prerequisites to strtoll.m4.
18800         Moved the strtoimax prerequisites to strtoimax.m4.
18801
18802         Module xstrtoumax.
18803         * m4/xstrtoumax.m4 (jm_XSTRTOUMAX): Renamed from
18804         jm_AC_PREREQ_XSTRTOUMAX.
18805         Moved the strtoul prerequisites to strtoul.m4.
18806         Moved the strtoull prerequisites to strtoull.m4.
18807         Moved the strtoumax prerequisites to strtoumax.m4.
18808
18809         Module chown.
18810         * m4/chown.m4 (gl_PREREQ_CHOWN): New macro.
18811         (jm_FUNC_CHOWN): Use AC_FUNC_CHOWN. Invoke gl_PREREQ_CHOWN.
18812
18813         Module dup2.
18814         * m4/dup2.m4: New file.
18815
18816         Module ftruncate.
18817         * m4/ftruncate.m4 (gl_PREREQ_FTRUNCATE): New macro.
18818         (jm_FUNC_FTRUNCATE): Use AC_REPLACE_FUNCS. Invoke gl_PREREQ_FTRUNCATE.
18819
18820         Module getgroups.
18821         * m4/getgroups.m4 (gl_PREREQ_GETGROUPS): New macro.
18822         (jm_FUNC_GETGROUPS): Use AC_FUNC_GETGROUPS. Invoke gl_PREREQ_GETGROUPS.
18823
18824         Module gettimeofday.
18825         * m4/gettimeofday.m4 (gl_PREREQ_GETTIMEOFDAY): New macro.
18826         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use onceonly macros. Invoke
18827         gl_PREREQ_GETTIMEOFDAY.
18828
18829         Module mkdir.
18830         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): New macro.
18831         (UTILS_FUNC_MKDIR_TRAILING_SLASH): Invoke gl_PREREQ_MKDIR.
18832
18833         Module mkstemp.
18834         * m4/mkstemp.m4 (gl_PREREQ_MKSTEMP): New macro.
18835         (jm_PREREQ_TEMPNAME): New macro, from prereq.m4. Also invoke
18836         jm_AC_TYPE_UINTMAX_T.
18837         (UTILS_FUNC_MKSTEMP): Invoke gl_PREREQ_MKSTEMP and jm_PREREQ_TEMPNAME.
18838
18839         Module stat.
18840         * m4/stat.m4 (gl_PREREQ_STAT): New macro.
18841         (jm_FUNC_STAT): Use AC_FUNC_STAT. Invoke gl_PREREQ_STAT.
18842
18843         Module lstat.
18844         * m4/lstat.m4 (gl_PREREQ_LSTAT): New macro.
18845         (jm_FUNC_LSTAT): Use AC_FUNC_LSTAT. Invoke gl_PREREQ_LSTAT.
18846
18847         Module timespec.
18848         * m4/timespec.m4 (gl_TIMESPEC): New macro.
18849         (jm_CHECK_TYPE_STRUCT_TIMESPEC): Add check for <sys/time.h>.
18850         * m4/st_mtim.m4: Indentation.
18851
18852         Module nanosleep.
18853         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): New macro.
18854         (jm_FUNC_NANOSLEEP): Add check for <sys/time.h>. Invoke
18855         gl_PREREQ_NANOSLEEP.
18856
18857         Module regex.
18858         * m4/regex.m4 (jm_PREREQ_REGEX): New macro.
18859         (jm_INCLUDED_REGEX): Invoke jm_PREREQ_REGEX.
18860         (gl_REGEX): New macro.
18861
18862         Module rename.
18863         * m4/rename.m4 (gl_PREREQ_RENAME): New macro.
18864         (vb_FUNC_RENAME): Invoke gl_PREREQ_RENAME.
18865
18866         Module rmdir.
18867         * m4/rmdir.m4: New file.
18868
18869         Module utime.
18870         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Use onceonly macros.
18871         * m4/utime.m4 (gl_PREREQ_UTIME): New macro.
18872         (jm_FUNC_UTIME): Invoke gl_PREREQ_UTIME.
18873
18874         Module dirname.
18875         * m4/dirname.m4: New file.
18876
18877         Module getopt.
18878         * m4/getopt.m4: New file.
18879
18880         Module unistd-safer.
18881         * m4/unistd-safer.m4: New file.
18882
18883         Module fnmatch.
18884         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Include <stdlib.h>, for exit()
18885         declaration.
18886         (gl_PREREQ_FNMATCH_EXTRA): New macro.
18887         (gl_FUNC_FNMATCH_POSIX): New macro.
18888         (gl_FUNC_FNMATCH_GNU): Renamed from AC_FUNC_FNMATCH_GNU. Invoke
18889         gl_PREREQ_FNMATCH_EXTRA. Use the function name gnu_fnmatch, not
18890         simply fnmatch.
18891
18892         Module exclude.
18893         * m4/exclude.m4: New file.
18894
18895         Module human.
18896         * m4/human.m4: New file.
18897
18898         Module acl.
18899         * m4/acl.m4: Nop.
18900
18901         Module backupfile.
18902         * m4/backupfile.m4: New file.
18903         * m4/d-ino.m4: Indentation.
18904
18905         Module fsusage.
18906         * m4/fsusage.m4 (gl_FSUSAGE): New macro.
18907         (jm_STATFS_TRUNCATES): New macro, from coreutils-4.5.4/configure.ac.
18908         (gl_PREREQ_FSUSAGE_EXTRA): New macro.
18909
18910         Module dirfd.
18911         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Invoke some AC_EGREP_CPP
18912         requirements.
18913
18914         Module euidaccess.
18915         * m4/euidaccess.m4: New file.
18916
18917         Module file-type.
18918         * m4/file-type.m4: New file.
18919
18920         Module fileblocks.
18921         * m4/fileblocks.m4: New file.
18922
18923         Module filemode.
18924         * m4/filemode.m4: New file.
18925
18926         Module isdir.
18927         * m4/isdir.m4: New file.
18928
18929         Module lchown.
18930         * m4/lchown.m4 (gl_PREREQ_LCHOWN): New macro.
18931         (jm_FUNC_LCHOWN): Invoke gl_PREREQ_LCHOWN.
18932
18933         Module makepath.
18934         * m4/makepath.m4: New file.
18935
18936         Module modechange.
18937         * m4/modechange.m4: New file.
18938
18939         Module mountlist.
18940         * m4/mountlist.m4: New file.
18941         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Use onceonly macros.
18942         Indentation.
18943
18944         Module path-concat.
18945         * m4/path-concat.m4: New file.
18946
18947         Module pathmax.
18948         * m4/pathmax.m4: New file.
18949
18950         Module same.
18951         * m4/same.m4: New file.
18952
18953         Module save-cwd.
18954         * m4/save-cwd.m4: New file.
18955
18956         Module savedir.
18957         * m4/savedir.m4: New file.
18958
18959         Module xgetcwd.
18960         * m4/xgetcwd.m4: New file.
18961         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Use onceonly macros.
18962
18963         Module xreadlink.
18964         * m4/xreadlink.m4: New file.
18965
18966         Module safe-read.
18967         * m4/safe-read.m4: New file.
18968
18969         Module safe-write.
18970         * m4/safe-write.m4: New file.
18971
18972         Module closeout.
18973         * m4/closeout.m4: New file.
18974
18975         Module stdio-safer.
18976         * m4/stdio-safer.m4: New file.
18977
18978         Module getpass.
18979         * m4/getpass.m4: New file.
18980
18981         Module getugroups.
18982         * m4/getugroups.m4: New file.
18983
18984         Module group-member.
18985         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): New macro.
18986         (jm_FUNC_GROUP_MEMBER): Invoke AC_GNU_SOURCE, gl_PREREQ_GROUP_MEMBER.
18987
18988         Module idcache.
18989         * m4/idcache.m4: New file.
18990
18991         Module userspec.
18992         * m4/userspec.m4: New file.
18993
18994         Module gettime.
18995         * m4/clock_time.m4: New file.
18996         * m4/gettime.m4: New file.
18997
18998         Module settime.
18999         * m4/settime.m4: New file.
19000
19001         Module posixtm.
19002         * m4/posixtm.m4: New file.
19003
19004         Module gethostname.
19005         * m4/gethostname.m4: New file.
19006
19007         Module canon-host.
19008         * m4/canon-host.m4: New file.
19009
19010         Module gettext.
19011         * m4/codeset.m4: New file, from gettext-0.11.5.
19012         * m4/gettext.m4: New file, from gettext-0.11.5.
19013         * m4/glibc21.m4: New file, from gettext-0.11.5.
19014         * m4/iconv.m4: New file, from gettext-0.11.5.
19015         * m4/intdiv0.m4: New file, from gettext-0.11.5.
19016         * m4/inttypes-pri.m4: New file, from gettext-0.11.5.
19017         * m4/inttypes.m4: New file, from gettext-0.11.5.
19018         * m4/inttypes_h.m4: New file, from gettext-0.11.5 with modifications.
19019         * m4/isc-posix.m4: New file, from gettext-0.11.5.
19020         * m4/lcmessage.m4: New file, from gettext-0.11.5.
19021         * m4/lib-ld.m4: New file, from gettext-0.11.5.
19022         * m4/lib-link.m4: New file, from gettext-0.11.5.
19023         * m4/lib-prefix.m4: New file, from gettext-0.11.5.
19024         * m4/progtest.m4: New file, from gettext-0.11.5.
19025         * m4/stdint_h.m4: New file, from gettext-0.11.5 with modifications.
19026         * m4/uintmax_t.m4: New file, from gettext-0.11.5 with modifications.
19027         * m4/ulonglong.m4: New file, from gettext-0.11.5 with modifications.
19028
19029         Module localcharset.
19030         * m4/localcharset.m4: New file.
19031
19032         Module hard-locale.
19033         * m4/hard-locale.m4: New file.
19034
19035         Module mbswidth.
19036         * m4/mbswidth.m4 (gl_MBSWIDTH): Renamed from jm_PREREQ_MBSWIDTH. Use
19037         onceonly macros.
19038         * m4/mbrtowc.m4: Add comment.
19039
19040         Module memcasecmp.
19041         * m4/memcasecmp.m4: New file.
19042
19043         Module memcoll.
19044         * m4/memcoll.m4: New file.
19045
19046         Module unicodeio.
19047         * m4/unicodeio.m4: New file.
19048
19049         Module rpmatch.
19050         * m4/rpmatch.m4: New file.
19051
19052         Module yesno.
19053         * m4/yesno.m4: New file.
19054
19055         Module exitfail.
19056         * m4/exitfail.m4: New file.
19057
19058         Module c-stack.
19059         * m4/c-stack.m4 (gl_C_STACK): New macro.
19060         (jm_PREREQ_C_STACK): Check for <sys/time.h>. Use onceonly macros.
19061
19062         Module error.
19063         * m4/error.m4 (gl_ERROR): New macro.
19064         (jm_PREREQ_ERROR): Use onceonly macros.
19065
19066         Module fatal.
19067         * m4/fatal.m4: New file.
19068
19069         Module getloadavg.
19070         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Use onceonly macros.
19071         (gl_FUNC_GETLOADAVG, gl_PREREQ_GETLOADAVG): New macros.
19072
19073         Module getpagesize.
19074         * m4/getpagesize.m4: New file.
19075
19076         Module getusershell.
19077         * m4/getusershell.m4: New file.
19078
19079         Module physmem.
19080         * m4/physmem.m4: New file.
19081
19082         Module posixver.
19083         * m4/posixver.m4: New file.
19084
19085         Module quotearg.
19086         * m4/quotearg.m4: New file.
19087
19088         Module quote.
19089         * m4/quote.m4: New file.
19090
19091         Module readutmp.
19092         * m4/readutmp.m4: New file, based on jm_PREREQ_READUTMP from prereq.m4.
19093
19094         Module sig2str.
19095         * m4/sig2str.m4: New file.
19096
19097         Other.
19098         * m4/longlong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Remove, moved to
19099         ulonglong.m4.
19100         * m4/intmax_t.m4: New file.
19101         * m4/d-type.m4: Indentation.
19102         * m4/jm-macros.m4: Update.
19103         * m4/prereq.m4 (jm_PREREQ): Update.
19104         (jm_PREREQ_ADDEXT): Remove, obsoleted by backupfile.m4.
19105         (jm_PREREQ_CANON_HOST): Remove, obsoleted by canon-host.m4.
19106         (jm_PREREQ_DIRNAME): Remove, obsoleted by dirname.m4.
19107         (jm_PREREQ_EXCLUDE): Remove, obsoleted by exclude.m4.
19108         (jm_PREREQ_GETPAGESIZE): Remove, obsoleted by getpagesize.m4.
19109         (jm_PREREQ_HARD_LOCALE): Remove, obsoleted by hard-locale.m4.
19110         (jm_PREREQ_HASH): Remove, obsoleted by hash.m4.
19111         (jm_PREREQ_HUMAN): Remove, obsoleted by human.m4.
19112         (jm_PREREQ_MEMCHR): Remove, obsoleted by memchr.m4.
19113         (jm_PREREQ_PHYSMEM): Remove, obsoleted by physmem.m4.
19114         (jm_PREREQ_POSIXVER): Remove, obsoleted by posixver.m4.
19115         (jm_PREREQ_QUOTEARG): Remove, obsoleted by quotearg.m4.
19116         (jm_PREREQ_READUTMP): Remove, obsoleted by readutmp.m4.
19117         (jm_PREREQ_REGEX): Remove, obsoleted by regex.m4.
19118         (jm_PREREQ_STRNLEN): Remove, obsoleted by strnlen.m4.
19119         (jm_PREREQ_TEMPNAME): Remove, obsoleted by mkstemp.m4.
19120         (jm_PREREQ_XGETCWD): Remove, obsoleted by xgetcwd.m4.
19121         (jm_PREREQ_XREADLINK): Remove, obsoleted by xreadlink.m4.
19122         * m4/readdir.m4 (jm_FUNC_READDIR): Use onceonly macros.
19123
19124 2002-12-24  Bruno Haible  <bruno@clisp.org>
19125
19126         * MODULES.txt: Update according to m4/ changes.
19127
19128         Module gettext.
19129         * config.rpath: New file, from gettext-0.11.5.
19130
19131         * modules/*: New module descriptions.
19132         * gnulib-tool: New file.
19133         * MODULES.html.sh: New file.
19134
19135 2002-12-21  Karl Berry  <karl@gnu.org>
19136
19137         * doc/fdl.texi: update to version 1.2.
19138
19139 2002-12-19  Karl Berry  <karl@gnu.org>
19140
19141         * config/config.guess: update from prep.
19142
19143 2002-12-18  Bruno Haible  <bruno@clisp.org>
19144
19145         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't test for localtime_r.
19146         * m4/jm-mktime.m4 (jm_FUNC_MKTIME): Likewise.
19147
19148 2002-12-17  Bruno Haible  <bruno@clisp.org>
19149
19150         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Remove checks for limits.h,
19151         stdlib.h, string.h.
19152
19153 2002-12-17  Bruno Haible  <bruno@clisp.org>
19154
19155         * lib/canon-host.c (strdup): Remove unused declaration.
19156
19157         * lib/fsusage.c: Include full_read.h.
19158         (get_fs_usage): Use full_read instead of safe_read.
19159
19160         * lib/utime.c (utime_null): Use SAFE_READ_ERROR.
19161
19162 2002-12-12  Karl Berry  <karl@gnu.org>
19163
19164         * config/config.guess: update from prep.
19165
19166 2002-12-11  Bruno Haible  <bruno@clisp.org>
19167
19168         * m4/setenv.m4: New file, from gettext-0.11.5.
19169
19170 2002-12-11  Bruno Haible  <bruno@clisp.org>
19171
19172         * lib/setenv.h: Rewritten to cope with systems that have setenv() but
19173         not unsetenv().
19174         * lib/setenv.c, unsetenv.c: Taken from glibc-2.2.4 with the following
19175         modifications:
19176
19177         2002-12-11  Bruno Haible  <bruno@clisp.org>
19178
19179                 * setenv.c (alloca): Fall back to malloc.
19180                 (freea): New macro.
19181                 (setenv): Use freea() to free memory allocated with alloca().
19182
19183         2002-11-13  Bruno Haible  <bruno@clisp.org>
19184
19185                 * setenv.c (compar_fn_t, __add_to_environ, setenv): Use ANSI C
19186                 function declarations.
19187                 * unsetenv.c (unsetenv): Likewise.
19188
19189         2002-03-04  Bruno Haible  <bruno@clisp.org>
19190
19191                 Portability to AIX 4.3.3.
19192                 * unsetenv.c: New file, extracted from setenv.c.
19193                 * setenv.c: Move the unsetenv() function to unsetenv.c.
19194
19195         2001-12-20  Bruno Haible  <bruno@clisp.org>
19196
19197                 * setenv.c (__add_to_environ): Don't call realloc(NULL,...),
19198                 use malloc instead. For SunOS 4.
19199
19200         2001-12-11  Bruno Haible  <bruno@clisp.org>
19201
19202                 * setenv.c: Declare alloca.
19203                 (compar_fn_t): New typedef.
19204                 (KNOWN_VALUE, STORE_VALUE): Use it.
19205
19206         * lib/Makefile.am (libfetish_a_SOURCES): Add setenv.c, unsetenv.c,
19207         setenv.h.
19208
19209 2002-12-10  Paul Eggert  <eggert@twinsun.com>
19210
19211         Port exclude.c and exclude.h to more non-GNU systems, e.g. Solaris 7.
19212         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE, EXCLUDE_WILDCARDS):
19213         Choose values that are less likely to collide with system fnmatch
19214         options.
19215         * lib/exclude.c (FNM_CASEFOLD, FNM_LEADING_DIR): Define to 0 if not
19216         defined (e.g., a pure POSIX system).
19217         (EXCLUDE_macros_do_not_collide_with_FNM_macros): Use FNM_PATHNAME
19218         instead of FNM_FILE_NAME, for compatibility with pure POSIX sytems.
19219
19220 2002-12-06  Paul Eggert  <eggert@twinsun.com>
19221
19222         Undo the 2001-07-02 change for jm-glibc-io, as it was too much of
19223         a pain in practice to deal with generated m4 files.  This change
19224         goes together with the 2002-12-04 unlocked-io.h change in ../lib.
19225
19226         * m4/Makefile.am.in (Makefile.am): Don't mention jm-glibc-io.m4n
19227         and jm-glibc-io.m4, as they are no longer a special case.
19228         * m4/jm-glibc-io.m4: Rename from jm-glibc-io.m4n, and remove the
19229         kludge and the auto-generation stuff.  Check only whether the
19230         functions are declared, not whether they exist, since older hosts
19231         that don't declare the functions can't use the optimization anyway.
19232
19233 2002-12-06  Jim Meyering  <jim@meyering.net>
19234
19235         * lib/error.c: Be consistent: change `#ifndef _LIBC' to `#if !_LIBC'.
19236
19237         Merge in changes from libc's misc/error.c, in preparation
19238         for the merge of gnulib's changes back into libc.
19239
19240         * lib/error.c (_): Define only if not already defined.
19241         Move definition to follow all #include directives.
19242         Include unlocked-io.h only if !_LIBC.
19243         [_LIBC]: Include <libio/libioP.h>.
19244         [USE_IN_LIBIO]: Include <libio/iolibio.h>
19245         (fflush): Tweak definition to use INTUSE.
19246         (putc): Define.
19247
19248 2002-12-05  Paul Eggert  <eggert@twinsun.com>
19249
19250         * lib/alloca.c [defined emacs]: Include "lisp.h".
19251         (xalloc_die) [defined emacs]: New macro.
19252         (free) [defined emacs && defined EMACS_FREE]: Define to EMACS_FREE.
19253         [! defined emacs]: Include <xalloc.h>.
19254         (POINTER_TYPE) [!defined POINTER_TYPE]: New macro.
19255         (pointer): Typedef to POINTER_TYPE *.
19256         (malloc): Remove decl; we now always use xmalloc.
19257         (alloca): Use old-style definition, since Emacs needs this.
19258         Check for arithmetic overflow when computing combined size.
19259
19260 2002-12-04  Paul Eggert  <eggert@twinsun.com>
19261
19262         Do not generate unlocked-io.h automatically, since it's easier to
19263         maintain it by hand.
19264
19265         * lib/unlocked-io.h: New file, from GNU diffutils,
19266         but with proper copyright notice and attribution.
19267         * lib/gen-uio: Remove.
19268         * lib/Makefile.am: Add copyright notice.
19269         (libfetish_a_SOURCES): Add unlocked-io.h.
19270         (BUILT_SOURCES, all-local): Remove unlocked-io.h.
19271         (DISTCLEANFILES, io_functions): Remove macros.
19272         (EXTRA_DIST): Remove gen_uio.
19273         (unlocked-io.h): Remove rule.
19274
19275 2002-12-04  Jim Meyering  <jim@meyering.net>
19276
19277         Reflect the fact that stat.c and lstat.c are no longer generated.
19278         * lib/Makefile.am (BUILT_SOURCES): Remove stat.c and lstat.c.
19279         (DISTCLEANFILES): Likewise.
19280         (EXTRA_DIST): Likewise.
19281         (all_local): Don't depend on stat.c or lstat.c.
19282         (stat.c, lstat.c): Remove rules.
19283         (EXTRA_DIST): Remove xstat.in.
19284
19285         * lib/xstat.in: Remove file.  Contents moved into stat.c.
19286         * lib/stat.c: New file.  Contents mostly from xstat.in.
19287         * lib/stat.c: Rework so that it may serve to define rpl_lstat, too.
19288         * lib/lstat.c: New file. Simply #define LSTAT and include stat.c.
19289
19290         * lib/safe-read.c: Rework so that it may serve to define safe_write,
19291         too.
19292         * lib/safe-write.c: Simply #define SAFE_WRITE and include safe-read.c.
19293
19294 2002-12-03  Jim Meyering  <jim@meyering.net>
19295
19296         * lib/safe-read.c, safe-write.c: Change variable names and comments,
19297         but not semantics, to minimize the differences between these two files.
19298         (safe_read): Change comment to mention SAFE_READ_ERROR.
19299
19300         * lib/safe-read.c (IS_EINTR): Define.
19301         (safe_read): Use IS_EINTR in place of in-function cpp directives.
19302
19303 2002-12-02  Jim Meyering  <jim@meyering.net>
19304
19305         * lib/safe-read.c (EINTR): Define.
19306         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
19307         (INT_MAX): Provide fallback.
19308         (safe_read): Rewrite to iterate IFF the read fails with EINTR.
19309
19310         * lib/safe-read.h (SAFE_READ_ERROR): Define.
19311
19312 2002-12-02  Bruno Haible  <bruno@clisp.org>
19313
19314         * lib/safe-write.c (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM):
19315         Define, taken from safe-read.c.
19316         (INT_MAX): Provide fallback.
19317         (safe_write): Rewrite to iterate IFF the write fails with EINTR.
19318         * lib/safe-write.h (SAFE_WRITE_ERROR): Define.
19319
19320         * lib/safe-read.c (EINTR): Remove definition.
19321         (safe_read): Don't use EINTR if it is absent.
19322
19323 2002-12-01  Jim Meyering  <jim@meyering.net>
19324
19325         * lib/safe-read.c: (safe_read): Also exit the loop when read returns
19326         zero.
19327         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM, INT_MAX): Define.
19328
19329 2002-11-27  Paul Eggert  <eggert@twinsun.com>
19330
19331         * lib/hash.c (hash_lookup, hash_get_first, hash_get_next,
19332         hash_find_entry, hash_rehash): Replace `if (limit <= value) abort ();'
19333         with `if (! (value < limit)) abort ();', for readability.
19334
19335 2002-11-26  Karl Berry  <karl@gnu.org>
19336
19337         * lib/strdup.c: copy from libc again, with jim's ok.
19338         * lib/.cppi-disable: re-add strdup.c
19339
19340 2002-11-25  Karl Berry  <karl@gnu.org>
19341
19342         * lib/strtoll.c: copy from libc, meaning we now #include <strtol.c>
19343         instead of "strtol.c".
19344
19345 2002-11-25  Karl Berry  <karl@gnu.org>
19346
19347         * config/install-sh: update from automake for variable quoting, $0 in
19348         error msgs, etc.
19349
19350         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): new entry.
19351         * config/srclist.txt ($LIBCSRC/sysdeps/generic/strtoll.c lib gpl): new
19352         entry.
19353
19354 2002-11-25  Jim Meyering  <jim@meyering.net>
19355
19356         * lib/mktime.c: Sync from libc, now that it has the latest fix.
19357
19358 2002-11-24  Karl Berry  <karl@gnu.org>
19359
19360         * lib/error.c, getopt.c, getopt.h, getopt1.c, obstack.c, regex.c,
19361         regex.h, strdup.c, strtoll.c, tempname.c: change license to gpl.
19362
19363 2002-11-24  Jim Meyering  <jim@meyering.net>
19364
19365         Update from coreutils:
19366
19367         * lib/mktime.c: Merge in changes from libc.
19368
19369         Avoid a link-time failure on some Linux systems.
19370         * lib/mktime.c (STATIC): Define to be empty (_LIBC) or `static'
19371         (otherwise).
19372         (__mon_yday): Declare with the STATIC attribute.
19373         (__mktime_internal): Likewise.
19374         Based on a report from Greg Schafer.
19375
19376 2002-11-23  Jim Meyering  <jim@meyering.net>
19377
19378         * lib/sig2str.c (str2signum, sig2str): Avoid a warning from gcc:
19379         Use `unsigned', not `int', as type of index.
19380
19381         * lib/xstat.in [@BEGIN_LSTAT_ONLY@]: Include <string.h>.
19382
19383         * lib/fsusage.c: Remove unneeded parentheses around operands of
19384         `defined'.
19385
19386 2002-11-22  Paul Eggert  <eggert@twinsun.com>
19387
19388         * lib/quotearg.h: Allow multiple inclusion by surrounding with
19389         "#ifndef QUOTEARG_H_".  Include <stddef.h>, for size_t,
19390         so that we can be included first.
19391         (PARAMS): Remove; we now assume C89 or later.  All uses removed.
19392         * lib/quotearg.c: Include quotearg.h immediately after config.h.
19393         No need to include stddef.h or sys/types.h any more.
19394         Surround local include files with "", not "<>".
19395         Assume HAVE_LIMITS_H unconditionally, as we assume C89.
19396         Similarly, assume HAVE_C_BACKSLASH_A, CHAR_BIT, UCHAR_MAX, UINT_MAX,
19397         HAVE_STDLIB_H, HAVE_STRING_H, STDC_HEADERS.
19398         (HAVE_MBSINIT): Undef if !HAVE_MBRTOWC.
19399         (mbsinit): Define to 1 if !defined mbsinit && !HAVE_MBSINIT.
19400         (ISPRINT): Remove; no longer needed now that we assume C89.
19401
19402         (clone_quoting_options, quotearg_buffer, quotearg_n_options):
19403         Preserve errno.
19404
19405         (quotearg_buffer_restyled, quotearg_n, quotearg_n_style,
19406         quotearg_char): Use SIZE_MAX rather than
19407         (size_t) -1 when we are talking about "infinity".
19408
19409         (quotearg_buffer_restyled): Fix bug when quoting trigraphs.
19410
19411 2002-11-22  Paul Eggert  <eggert@twinsun.com>
19412
19413         * lib/hash.c: Avoid use of <assert.h>, as the GNU Coding Standards
19414         hint that one should use `if (! x) abort ();' rather than `assert
19415         (x);', and anyway it's one less thing to worry about configuring.
19416         (hash_lookup, hash_get_first, hash_get_next, hash_find_entry,
19417         hash_rehash, hash_insert): Use abort rather than assert.
19418
19419 2002-11-22  Bruno Haible  <bruno@clisp.org>
19420
19421         * lib/safe-read.h: Assume C89. Add comments.
19422         (safe_read): Change return type to size_t.
19423         * lib/safe-read.c (safe_read): Change return type to size_t. Handle
19424         byte counts > SSIZE_MAX correctly.
19425         * lib/safe-write.h: New file.
19426         * lib/safe-write.c: New file.
19427         * lib/full-read.h: New file.
19428         * lib/full-read.c: New file.
19429         * lib/full-write.h: Assume C89. Add comments.
19430         * lib/full-write.c: Include safe-write.h.
19431         (full_write): Rewritten to use safe_write.
19432         Suggested by Jim Meyering and Paul Eggert.
19433
19434 2002-11-21  Jim Meyering  <jim@meyering.net>
19435
19436         * lib/strdup.c (strdup): Tweak comment and initial #if/#include.
19437
19438         Merge in changes from the coreutils.
19439
19440         2002-09-25  Paul Eggert  <eggert@twinsun.com>
19441         * lib/fsusage.c [! HAVE_INTTYPES_H && HAVE_STDINT_H] Include
19442         <stdint.h>.
19443         (UINTMAX_MAX) [!defined UINTMAX_MAX]: New macro.
19444         (PROPAGATE_ALL_ONES): Work even if X is unsigned and narrower than
19445         int.  Work more efficiently if X is the same width as uintmax_t.
19446         Do not compare X to -1, to avoid bogus compiler warning.
19447         (get_fs_usage): (uintmax_t) -1 -> UINTMAX_MAX to avoid a cast.
19448         Don't assume that f_frsize and f_bsize are the same type.
19449
19450         * lib/mountlist.c: #undef MNT_IGNORE before defining it, to avoid
19451         warning on FreeBSD.
19452
19453         * lib/makepath.c (make_path): Restore umask *before* creating the final
19454         component.
19455         (make_path): Minor reformatting.
19456
19457         * lib/xmalloc.c: Adjust to work with new autoconf macros,
19458         AC_FUNC_MALLOC and AC_FUNC_REALLOC: test #ifndef
19459         HAVE_MALLOC/HAVE_REALLOC.
19460
19461         * lib/mountlist.h (ME_DUMMY): Don't count entries of type `auto' as
19462         dummy ones.  At least on GNU/Linux systems, `auto' means something
19463         else.
19464         From Michael Stone.
19465
19466 2002-11-21  Bruno Haible  <bruno@clisp.org>
19467
19468         Remove case insensitive option matching.
19469         * lib/argmatch.h (argcasematch): Remove declaration.
19470         (ARGCASEMATCH): Remove macro.
19471         (__xargmatch_internal): Remove case_sensitive argument.
19472         (XARGMATCH): Update.
19473         (XARGCASEMATCH): Remove macro.
19474         * lib/argmatch.c (argmatch): Renamed from __argmatch_internal. Remove
19475         case_sensitive argument.
19476         (argcasematch): Remove function.
19477         (__xargmatch_internal): Remove case_sensitive argument.
19478         (main): Use XARGMATCH instead of XARGCASEMATCH.
19479
19480         * lib/xmalloc.c: Change compile-time error message. Add comment about
19481         required autoconf version.
19482
19483 2002-11-20  Paul Eggert  <eggert@twinsun.com>
19484
19485         Merge argmatch cleanups from Bison.  Assume C89.
19486
19487         * lib/argmatch.c: Include config.h here, not in argmatch.h.
19488         Include stdlib.h, for EXIT_FAILURE.
19489         Always include <string.h>, since we assume C89.
19490         (EXIT_FAILURE): Remove pre-C89 bug workaround.
19491         * lib/argmatch.h: Do not include <config.h> or <sys/types.h>.
19492         Include <stddef.h> instead, since it's all we need for size_t.
19493         (PARAMS): Remove.  All uses removed.
19494         (ARRAY_CARDINALITY): Do not bother to #undef.
19495         (ARRAY_CARDINALITY, ARGMATCH, ARGCASEMATCH, invalid_arg,
19496         ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
19497         Remove unnecessary parentheses.
19498         (ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
19499         Insert necessary parentheses.
19500         (ARGMATCH_CONSTRAINT, ARGMATCH_VERIFY): New macros.
19501         (ARGMATCH_ASSERT): Use ARGMATCH_CONSTRAINT.
19502
19503 2002-11-19  Bruno Haible  <bruno@clisp.org>
19504
19505         * lib/mbswidth.c: Include mbswidth.h right at the beginning.
19506         * lib/mbswidth.h: Include <stddef.h>, for size_t.
19507
19508         * lib/mbswidth.h (PARAMS): Remove macro.
19509         (mbswidth, mbsnwidth): Use ANSI C function declarations.
19510         * lib/mbswidth.c (mbswidth, mbsnwidth): Likewise.
19511
19512         * lib/gcd.h (PARAMS): Remove macro.
19513         (gcd): Use ANSI C function declarations.
19514         * lib/gcd.c (gcd): Likewise.
19515
19516 2002-11-15  Bruno Haible  <bruno@clisp.org>
19517
19518         * lib/strcspn.c: Include <stddef.h>.
19519         (strcspn): Use ANSI C function declaration. Change return type to
19520         size_t. Use NULL.
19521         * lib/strpbrk.c: Minimize diffs to glibc. Include <stddef.h>.
19522         (strpbrk): Use NULL.
19523         * lib/strpbrk.h (PARAMS): Remove macro.
19524         (strpbrk): Use ANSI C function declaration.
19525         * lib/strstr.c: Don't include <sys/types.h>.
19526         * lib/strstr.h (PARAMS): Remove macro.
19527         (strstr): Use ANSI C function declarations.
19528
19529 2002-11-14  Karl Berry  <karl@gnu.org>
19530
19531         * config/mkinstalldirs: `do' on separate line, instead of
19532         `for var; do'.
19533
19534 2002-11-06  Bruno Haible  <bruno@clisp.org>
19535
19536         * lib/gcd.h (gcd): Change argument type to 'unsigned long'.
19537         * lib/gcd.c (gcd): Likewise.
19538
19539 2002-11-05  Bruno Haible  <bruno@clisp.org>
19540
19541         * lib/gcd.h: New file, from gettext-0.11.5.
19542         * lib/gcd.c: New file, from gettext-0.11.5.
19543
19544 2002-11-05  Bruno Haible  <bruno@clisp.org>
19545
19546         * lib/error.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
19547         * lib/getopt.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
19548         * lib/obstack.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
19549         * lib/regex.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
19550
19551         * lib/argmatch.c: Include gettext.h instead of <locale.h> and
19552         <libintl.h>.
19553         * lib/makepath.c: Include gettext.h instead of <locale.h> and
19554         <libintl.h>.
19555
19556         * lib/closeout.c: Include gettext.h instead of <libintl.h>.
19557         * lib/human.c: Include gettext.h instead of <libintl.h>.
19558         * lib/quotearg.c: Include gettext.h instead of <libintl.h>.
19559         * lib/rpmatch.c: Include gettext.h instead of <libintl.h>.
19560         * lib/unicodeio.c: Include gettext.h instead of <libintl.h>.
19561         * lib/userspec.c: Include gettext.h instead of <libintl.h>.
19562         * lib/version-etc.c: Include gettext.h instead of <libintl.h>.
19563         * lib/xmalloc.c: Include gettext.h instead of <libintl.h>.
19564         (textdomain): Remove definition.
19565         * lib/xmemcoll.c: Include gettext.h instead of <libintl.h>.
19566
19567         * lib/long-options.c: Remove include of <libintl.h> and definition of
19568         _.
19569         * lib/same.c: Remove include of <libintl.h> and definition of _.
19570
19571 2002-11-04  Owen Taylor  <otaylor@redhat.com>
19572
19573         * lib/config.charset: A few additions for Solaris.
19574
19575 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
19576
19577         Make it possible to build libcharset with CC=gcc CFLAGS="-x c++".
19578         * lib/localcharset.c (locale_charset): Declare as extern "C".
19579
19580 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
19581
19582         * lib/config.charset: msdos in uk_UA uses CP1125.
19583
19584 2002-11-04  Bruno Haible  <bruno@clisp.org>
19585
19586         * lib/stpcpy.h: New file, from GNU gettext-0.11.5.
19587         * lib/strcase.h: New file, from GNU gettext-0.11.5.
19588         * lib/strpbrk.h: New file, from GNU gettext-0.11.5.
19589         * lib/strstr.h: New file, from GNU gettext-0.11.5.
19590         * lib/xgetcwd.h: New file, from GNU gettext-0.11.5.
19591
19592 2002-11-04  Bruno Haible  <bruno@clisp.org>
19593
19594         * lib/localcharset.c (locale_charset): Don't return an empty string.
19595
19596 2002-11-04  Bruno Haible  <bruno@clisp.org>
19597
19598         * lib/localcharset.c (get_charset_aliases): Add more Windows specific
19599         aliases.
19600
19601 2002-11-04  Bruno Haible  <bruno@clisp.org>
19602
19603         * lib/config.charset: Update for newest glibc. Add canonical names
19604         ISO-8859-14, KOI8-T, TCVN5712-1, GEORGIAN-PS.
19605
19606 2002-11-04  Bruno Haible  <bruno@clisp.org>
19607
19608         * lib/config.charset: Add support for NetBSD.
19609
19610 2002-11-04  Bruno Haible  <bruno@clisp.org>
19611
19612         * lib/config.charset [msdosdjgpp]: For Russian, use CP866.
19613
19614 2002-11-01  Bruno Haible  <bruno@clisp.org>
19615
19616         * configure.in: Add AC_CONFIG_AUX_DIR call.
19617         (AC_OUTPUT): Add m4/Makefile, lib/Makefile. Remove doc/Makefile,
19618         test/Makefile.
19619         * Makefile.in (subdirs): Add m4, lib. Remove doc, test.
19620
19621 2002-09-28  Karl Berry  <karl@gnu.org>
19622
19623         * config/srclist.txt: can't copy install-sh/mkinstalldirs from
19624         installed automake until the next release, since changes have been
19625         made.
19626
19627 2002-09-25  Karl Berry  <karl@gnu.org>
19628
19629         * lib/strdup.c: copy from libc/string (via ../config/srclist*).
19630         * lib/getopt*: copy from libc/posix.
19631         * lib/gettext.h: copy from gettext.
19632         * lib/.cppi-disable: add strdup.c, gettext.h.
19633
19634 2002-09-25  Karl Berry  <karl@gnu.org>
19635
19636         * config/srclist.txt: enable gettext.h check.
19637         * config/config.{guess,sub}: update from prep.
19638         * config/depcomp, install-sh, mdate-sh, missing, mkinstalldirs: update
19639                 from automake 1.6.3.
19640         See srclist*.
19641
19642 2002-08-23  Stefan Monnier  <monnier@cs.yale.edu>
19643
19644         * regex.c (PATFETCH): Remove the translating fetch.
19645         (PATFETCH_RAW): Rename to PATFETCH.
19646         (set_image_of_range): New fun.
19647         (SET_RANGE_TABLE_WORK_AREA): Use it.
19648         (regex_compile): Don't translate the pattern chars so eagerly.
19649         Only do it when inserting an `exactn' bytecode or when handling
19650         a char-range.
19651         (mutually_exclusive_p): Avoid empty statement.
19652
19653 2002-07-06  Jim Meyering  <meyering@lucent.com>
19654
19655         * m4/README: Don't mention Makefile.am.in.
19656         Outline how I've tested changes to .m4 files.  Yep, it's a pain.
19657
19658 2002-07-01  Jim Meyering  <meyering@lucent.com>
19659
19660         * lib/c-stack.c: Include sys/time.h.
19661         From Volker Borchert.
19662
19663 2002-06-26  Paul Eggert  <eggert@twinsun.com>
19664
19665         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for btowc.
19666
19667 2002-06-26  Paul Eggert  <eggert@twinsun.com>
19668
19669         * lib/fnmatch.c, fnmatch_loop.c (WIDE_CHAR_SUPPORT):
19670         New macro.  Use it uniformly instead of
19671         (defined HAVE_WCTYPE_H && defined HAVE_WCHAR_H).
19672         It also uses HAVE_BTOWC, to fix a porting bug on Solaris 2.5.1
19673         reported by Vin Shelton.
19674
19675 2002-06-22  Paul Eggert  <eggert@twinsun.com>
19676
19677         * lib/c-stack.h (segv_handler, c_stack_action) [! defined SA_SIGINFO]:
19678         Do not assume SA_SIGINFO behavior.
19679         Bug reported by Jim Meyering on NetBSD 1.5.2.
19680
19681 2002-06-22  Jim Meyering  <meyering@lucent.com>
19682
19683         * m4/c-stack.m4: New file, from diffutils-2.8.2.
19684         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_C_STACK.
19685
19686         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Don't require AC__GNU_SOURCE,
19687         now that configure.ac uses AC_GNU_SOURCE.
19688         (jm_MACROS): Rename: jm_FUNC_FNMATCH to AC_FUNC_FNMATCH_GNU.
19689         * m4/prereq.m4 (jm_PREREQ_EXCLUDE): Likewise, wrt jm_FUNC_FNMATCH.
19690
19691         Update to latest tools.  Suggestions from Paul Eggert.
19692         * m4/stdbool.m4: New file, from diffutils-2.8.2.
19693         * m4/gnu-source.m4: Update from diffutils-2.8.2.
19694         * m4/fnmatch.m4: Likewise.
19695         * m4/prereq.m4: Change each use of AC_CHECK_HEADERS(stdbool.h)
19696         to AC_HEADER_STDBOOL
19697
19698 2002-06-22  Jim Meyering  <meyering@lucent.com>
19699
19700         * lib/fnmatch.c (ISASCII, ISPRINT): Undefine, to avoid warning about
19701         redefinition due to Solaris 2.6's definition in /usr/include/sys/euc.h.
19702
19703 2002-06-22  Jim Meyering  <meyering@lucent.com>
19704
19705         * lib/c-stack.c, lib/c-stack.h: New files, from diffutils-2.8.2.
19706
19707         * lib/exitfail.c, exitfail.h: Likewise.
19708         * lib/Makefile.am (libfetish_a_SOURCES): Add exitfail.c and exitfail.h.
19709
19710         * lib/Makefile.am (libfetish_a_SOURCES): Add fnmatch_.h in place
19711         of fnmatch.h.
19712         (EXTRA_DIST): Add fnmatch_loop.c.
19713         (libfetish_a_SOURCES): Add c-stack.c and c-stack.h.
19714
19715         * lib/fnmatch_loop.c: New file, from diffutils-2.8.2.
19716         * lib/fnmatch.c: Update from diffutils-2.8.2.
19717         * lib/fnmatch_.h: New file.  From diffutils-2.8.2.
19718         * lib/fnmatch.h: Remove file.
19719
19720 2002-06-21  Jim Meyering  <meyering@lucent.com>
19721
19722         * m4/c-bs-a.m4: Add comment, from diffutils-2.8.2.
19723         * m4/mbrtowc.m4: Likewise.
19724
19725         * m4/mbstate_t.m4: Update from diffutils-2.8.2.
19726         * m4/mbswidth.m4: Reflect name change:
19727         s/AC_MBSTATE_T/AC_TYPE_MBSTATE_T.
19728         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
19729
19730         * m4/lib-link.m4: Update from gettext-0.11.2.
19731         * m4/gettext.m4: Likewise.
19732
19733         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for hurd.h.
19734         From Alfred M. Szmidt.
19735
19736 2002-06-18  Paul Eggert  <eggert@twinsun.com>
19737
19738         * lib/file-type.h: Report an error if neither S_ISREG nor
19739         S_IFREG is defined, instead of using a test specific to glibc
19740         2.2.  This should be safe, since POSIX requires S_ISREG and
19741         Unix Version 7 had S_IFREG.  We don't need to check for
19742         <sys/types.h> since we don't use any symbols that it defines.
19743
19744 2002-06-15  Richard Dawe  <richdawe@bigfoot.com>
19745
19746         * lib/Makefile.am (lstat.c, stat.c, .sin.sed): Use t-$@, rather than
19747         $@-t, so that each temporary file name is unique and valid in the first
19748         8 characters, for operation under DOS.
19749
19750 2002-06-15  Paul Eggert  <eggert@twinsun.com>
19751
19752         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for st_author.
19753
19754 2002-06-15  Jim Meyering  <meyering@lucent.com>
19755
19756         Work even with DJGPP 2.03, which lacks support for symlinks.
19757         From Richard Dawe.
19758         * lib/xstat.in (S_ISLNK): Define to 0 if neither S_ISLNK nor S_IFLNK
19759         is defined.
19760         * lib/lchown.c (S_ISLNK): Likewise.
19761
19762 2002-06-15  Jim Meyering  <meyering@lucent.com>
19763
19764         * lib/file-type.h (FILE_TYPE_H): Guard entire contents with #ifndef.
19765         For GNU libc 2.2 and newer, ensure that <sys/types.h> and <sys/stat.h>
19766         have been included before this file.
19767
19768 2002-06-14  Jim Meyering  <meyering@lucent.com>
19769
19770         * lib/file-type.h: Use the version from diffutils-2.8.2.
19771         * lib/file-type.c: Likewise.
19772
19773 2002-06-07  Jim Meyering  <meyering@lucent.com>
19774
19775         * m4/prereq.m4 (jm_PREREQ_STAT): Check for sys/param.h and sys/mount.h.
19776         They're needed at least for NetBSD 1.5.2.
19777         ($statxfs_includes): Include those same headers.
19778         ($statxfs_includes): Include sys/vfs.h if available.
19779         ($statxfs_includes): Likewise for sys/statvfs.h.
19780         Check for the following members in both structs statfs and statvfs:
19781         f_basetype, f_type, f_fsid.__val, f_namemax, f_namelen.
19782
19783 2002-06-01  Jim Meyering  <meyering@lucent.com>
19784
19785         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename macro:
19786         s/D_TYPE_IN_DIRENT/HAVE_STRUCT_DIRENT_D_TYPE/.
19787
19788 2002-05-28  Jim Meyering  <meyering@lucent.com>
19789
19790         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `mkdir', not `rmdir'.
19791         Reported by Volker Borchert.
19792
19793 2002-05-27  Jim Meyering  <meyering@lucent.com>
19794
19795         Fix a problem seen only on nonconforming systems whereby ls.c's
19796         use of localtime, and then of gettimeofday would cause trouble:
19797         the localtime call used to initialize rpl_gettimeofday's save
19798         mechanism would clobber ls's current local time information so
19799         that in any long listing the first file would always be listed
19800         with date 1970-01-01.  Analysis by Volker Borchert.
19801
19802         * lib/gettimeofday.c (localtime): Undefine.
19803         (rpl_localtime): New function.
19804
19805 2002-05-27  Jim Meyering  <meyering@lucent.com>
19806
19807         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Also replace
19808         localtime.
19809
19810         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `rmdir' so we don't try to
19811         use the replacement function; it wouldn't resolve at link time.
19812         Reported by Volker Borchert.
19813
19814 2002-05-22  Jim Meyering  <meyering@lucent.com>
19815
19816         * lib/Makefile.am (libfetish_a_SOURCES): Add file-type.c and
19817         file-type.h.
19818         * lib/file-type.h: New file.
19819         * lib/file-type.c (file_type): New file/function.  Extracted from
19820         diffutils.
19821
19822 2002-04-30  Jim Meyering  <meyering@lucent.com>
19823
19824         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_STAT.
19825
19826 2002-04-29  Paul Eggert  <eggert@twinsun.com>
19827
19828         * m4/prereq.m4 (jm_PREREQ_SIG2STR): Remove; all callers changed.
19829
19830 2002-04-29  Paul Eggert  <eggert@twinsun.com>
19831
19832         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): Check for stdlib.h.
19833         Do not check for alloca.h (no longer used) or stdbool.h (was never
19834         used?).  Add AM_C_PROTOTYPES since hard-locale.h uses it.
19835
19836 2002-04-29  Paul Eggert  <eggert@twinsun.com>
19837
19838         * lib/hard-locale.c: Upgrade to version used in GNU Diffutils 2.8.1.
19839
19840 2002-04-29  Jim Meyering  <meyering@lucent.com>
19841
19842         * m4/jm-macros.m4 (jm_MACROS): Remove use of AC_FUNC_STRNLEN.
19843         * m4/prereq.m4: Add jm_PREREQ_STRNLEN.
19844         Use AC_FUNC_STRNLEN here instead.
19845
19846         * m4/jm-macros.m4: Don't AC_REQUIRE([AC_PROG_CC_STDC]).
19847         With autoconf-2.53a, it's part of AC_PROG_CC.
19848
19849 2002-04-28  Paul Eggert  <eggert@twinsun.com>
19850
19851         * m4/jm-macros.m4 (jm_MACROS): Add AC_REPLACE_FUNCS(sig2str).
19852         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_SIG2STR.
19853
19854 2002-04-28  Paul Eggert  <eggert@twinsun.com>
19855
19856         * lib/sig2str.h, lib/sig2str.c: New files.
19857         * lib/Makefile.am (libfetish_a_SOURCES): Add sig2str.h.
19858
19859 2002-04-28  Paul Eggert  <eggert@twinsun.com>
19860
19861         * lib/sig2str.h (SIGNUM_BOUND): Do not use WTERMSIG, to avoid
19862         depending on <sys/wait.h> and WTERMSIG.  Default to 64 instead
19863         of 127, since 64 is the largest conceivable number for ancient
19864         nonstandard hosts.
19865         * lib/sig2str.c: Do not include <sys/wait.h>; no longer needed.
19866
19867 2002-04-28  Jim Meyering  <meyering@lucent.com>
19868
19869         * lib/sig2str.c (WTERMSIG): Remove definition (unused).
19870
19871 2002-04-24  Jim Meyering  <meyering@lucent.com>
19872
19873         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): New macro.
19874         (jm_PREREQ): Use it.
19875
19876         * m4/getloadavg.m4: Check for these headers: locale.h unistd.h
19877         mach/mach.h fcntl.h.
19878         Check for this function: setlocale.
19879
19880 2002-04-24  Jim Meyering  <meyering@lucent.com>
19881
19882         * lib/gettext.h: New file, from Gettext.
19883         * lib/Makefile.am (INCLUDES): Remove -I../intl.
19884         (libfetish_a_SOURCES): Add gettext.h.
19885
19886 2002-04-16  Jim Meyering  <meyering@lucent.com>
19887
19888         * m4/prereq.m4 (jm_PREREQ_READUTMP): Also check for these members:
19889         ut_pid, ut_id, ut_exit.
19890
19891 2002-04-16  Jim Meyering  <meyering@lucent.com>
19892
19893         * lib/readutmp.h (UT_TYPE): Remove definition (now in who.c).
19894         (HAVE_STRUCT_XTMP_UT_EXIT, HAVE_STRUCT_XTMP_UT_ID): Define.
19895         (HAVE_STRUCT_XTMP_UT_PID, HAVE_STRUCT_XTMP_UT_TYPE): Define.
19896
19897 2002-04-12  Jim Meyering  <meyering@lucent.com>
19898
19899         * m4/ls-mntd-fs.m4 (checking for getmntinfo function...): Remove
19900         now-bogus check for f_type in sys/mount.h.  Instead, just test for the
19901         existence of the getmntinfo function.  Needed for Darwin 5.3.
19902
19903         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Also detect when dirfd is a macro.
19904         This is necessary at least on Darwin 5.3.
19905
19906         * m4/jm-macros.m4: Don't AC_REPLACE(strnlen), now that we use
19907         AC_FUNC_STRNLEN.  Otherwise, we'd end up putting two copies of
19908         strnlen.o in the library, and that makes some versions of ranlib
19909         object.
19910
19911 2002-04-12  Jim Meyering  <meyering@lucent.com>
19912
19913         * lib/dirfd.h (dirfd): Elide prototype if dirfd is a macro.
19914
19915 2002-04-09  Jim Meyering  <meyering@lucent.com>
19916
19917         * m4/malloc.m4: (jm_FUNC_MALLOC): Change the `checking ...' message
19918         to be more precise.  Rather than saying we're checking whether the
19919         function `works', say what we're testing.
19920         * m4/realloc.m4 (jm_FUNC_REALLOC): Likewise.
19921         Reported by Bruno Haible.
19922
19923 2002-03-10  Jim Meyering  <meyering@lucent.com>
19924
19925         * lib/makepath.c (make_path): Remove a comma from a diagnostic.
19926         Suggestion from Santiago Vila.
19927
19928 2002-03-08  Jim Meyering  <meyering@lucent.com>
19929
19930         * lib/rename.c: Mention that this wrapper is needed also on
19931         mips-dec-ultrix4.4 systems.
19932
19933 2002-03-02  Jim Meyering  <meyering@lucent.com>
19934
19935         * lib/gettime.c (gettime): Test HAVE_CLOCK_GETTIME,
19936         not HAVE_CLOCK_SETTIME.
19937
19938 2002-02-27  Paul Eggert  <eggert@twinsun.com>
19939
19940         * m4/jm-macros.m4 (jm_MACROS): Do not replace stime; no longer used.
19941         Check for clock_settime.
19942
19943 2002-02-27  Paul Eggert  <eggert@twinsun.com>
19944
19945         * lib/nanosleep.h: Rename to....
19946         * lib/timespec.h: New name for nanosleep.h.  All uses changed.
19947
19948         * lib/gettime.c: New file.
19949         * lib/settime.c: New file.
19950         * lib/stime.c: Remove.
19951
19952         * lib/Makefile.am (libfetish_a_SOURCES): Add gettime.c, settime.c,
19953         timespec.h.  Remove nanosleep.h.
19954
19955 2002-02-25  Paul Eggert  <eggert@twinsun.com>
19956
19957         * m4/acl.m4: New file.
19958         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_ACL.
19959         Do not check for acl or sys/acl.h, as AC_FUNC_ACL does that now.
19960
19961 2002-02-25  Paul Eggert  <eggert@twinsun.com>
19962
19963         * lib/acl.c, lib/acl.h: New files.
19964         * lib/Makefile.am (libfetish_a_SOURCES): Add acl.h, acl.c.
19965
19966 2002-02-24  Jim Meyering  <meyering@lucent.com>
19967
19968         * lib/strnlen.c (strnlen): Define-away/undef so that an inconsistent
19969         prototype in string.h (on at least AIX4.3.2.0 w/gcc-2.95.3) doesn't
19970         cause trouble.  Reported by Nelson Beebe.
19971
19972 2002-02-23  Paul Eggert  <eggert@twinsun.com>
19973
19974         * lib/path-concat.c (xpath_concat): Reorder code to pacify
19975         compilers that don't know that xalloc_die never returns.
19976
19977 2002-02-20  Jim Meyering  <meyering@lucent.com>
19978
19979         * lib/getdate.c: Regenerate using bison-1.33.
19980
19981 2002-02-17  Jim Meyering  <meyering@lucent.com>
19982
19983         * config/config.guess (main): Don't use `head -1'; it's no longer
19984         portable. Use `sed 1q' instead.
19985
19986 2002-02-16  gettextize  <bug-gnu-gettext@gnu.org>
19987
19988         * m4/codeset.m4: Upgrade to gettext-0.11.
19989         * m4/gettext.m4: Upgrade to gettext-0.11.
19990         * m4/glibc21.m4: Upgrade to gettext-0.11.
19991         * m4/iconv.m4: Upgrade to gettext-0.11.
19992         * m4/isc-posix.m4: Upgrade to gettext-0.11.
19993         * m4/lcmessage.m4: Upgrade to gettext-0.11.
19994         * m4/lib-ld.m4: New file, from gettext-0.11.
19995         * m4/lib-link.m4: New file, from gettext-0.11.
19996         * m4/lib-prefix.m4: New file, from gettext-0.11.
19997         * m4/progtest.m4: Upgrade to gettext-0.11.
19998
19999 2002-02-15  Paul Eggert  <eggert@twinsun.com>
20000
20001         * m4/prereq.m4 (jm_PREREQ_POSIXVER): New macro.
20002         (jm_PREREQ): Use it.
20003
20004 2002-02-15  Paul Eggert  <eggert@twinsun.com>
20005
20006         * lib/posixver.c, lib/posixver.h: New files.
20007         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
20008
20009 2002-02-02  Paul Eggert  <eggert@twinsun.com>
20010             Bruno Haible  <bruno@clisp.org>
20011
20012         * lib/unicodeio.h (print_unicode_char): Add exit_on_error argument.
20013         (fwrite_success_callback): New declaration.
20014         * lib/unicodeio.c (unicode_to_mb): New function, extracted from
20015         print_unicode_char. Call failure callback instead of error.
20016         (fwrite_success_callback): New function.
20017         (exit_failure_callback): New function.
20018         (fallback_failure_callback): New function.
20019         (print_unicode_char): Call unicode_to_mb.
20020
20021 2002-01-26  Jim Meyering  <meyering@lucent.com>
20022
20023         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.52g.
20024         * m4/strnlen.m4: Remove file, now that it's part of autoconf.
20025
20026 2002-01-26  Jim Meyering  <meyering@lucent.com>
20027
20028         * lib/Makefile.am (getdate$U.o): Depend on unlocked-io.h.
20029
20030 2002-01-22  Paul Eggert  <eggert@twinsun.com>
20031
20032         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_FSEEKO.
20033
20034 2002-01-22  Jim Meyering  <meyering@lucent.com>
20035
20036         * lib/Makefile.am (Makefile): Don't depend on $(BUILT_SOURCES).
20037         Otherwise, some versions of automake would omit the rule that makes
20038         Makefile from Makefile.in.
20039
20040 2002-01-21  Paul Eggert  <eggert@twinsun.com>
20041
20042         * lib/xmemcoll.h, lib/xmemcoll.c: New files.
20043         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
20044         * lib/memcoll.c: Include errno.h, and declare errno if not defined.
20045         (memcoll): Set errno to zero if there is no error.
20046
20047         * lib/quotearg.c (quotearg_buffer_restyled):
20048         Fix bug with quoting buffers containing NUL when backslashing escapes.
20049         This bug was exposed by the other changes in this patch.
20050         (quotearg_n_options): New arg ARGSIZE.
20051         All callers changed.
20052         (quoting_options_from_style): New function.
20053         (quotearg_n_style): Use it.
20054         (quotearg_n_style_mem): New function.
20055
20056         * lib/quotearg.h (quotearg_n_style_mem): New function.
20057
20058 2002-01-19  Jim Meyering  <meyering@lucent.com>
20059
20060         * m4/jm-macros.m4 (jm_MACROS): Use AC_FUNC_STRNLEN.
20061         Remove useless quotes: DF_PROG="df".
20062         * m4/strnlen.m4: New file.
20063
20064 2002-01-16  Paul Eggert  <eggert@twinsun.com>
20065
20066         * lib/backupfile.c (ISDIGIT): Comment fix.
20067         * lib/getdate.y (ISDIGIT): Likewise.
20068         * lib/posixtm.c (ISDIGIT, year): Likewise.
20069         * lib/strverscmp.c (ISDIGIT): Likewise.
20070         * lib/userspec.c (ISDIGIT): Likewise.
20071
20072 2002-01-16  Jim Meyering  <meyering@lucent.com>
20073
20074         * lib/getdate.y: Add three semicolons, each just before a closing
20075         brace. Bison (as of version 1.31) no longer papers over that mistake.
20076
20077 2002-01-05  Jim Meyering  <meyering@lucent.com>
20078
20079         * lib/version-etc.c (version_etc_copyright): Update copyright year.
20080
20081 2001-12-19  Paul Eggert  <eggert@twinsun.com>
20082
20083         * lib/closeout.c (close_stdout_status): If ferror (stdout), do
20084         not silently exit merely because the output buffer happens to
20085         have nothing pending.
20086
20087 2001-12-18  Paul Eggert  <eggert@twinsun.com>
20088
20089         See the big note in ../ChangeLog.
20090         * lib/human.c (suffixes): Prefer K to k for 1024.
20091         (generate_suffix_backwards): New function.
20092         (human_readable_inexact): Use it.
20093         * lib/xstrtol.c (__xstrtol): If there is no number but there
20094         is a valid suffix, assume 1.  "MB" now means decimal, "MiB" binary.
20095         Accept 'K' as well as 'k'.
20096
20097 2001-12-15  Jim Meyering  <meyering@lucent.com>
20098
20099         * lib/regex.h (__restrict_arr): Update from libc.
20100
20101         * lib/mountlist.h (ME_REMOTE): Recognize file systems of type smbfs
20102         as `remote' if the name starts with `//'.  Suggested by Michael Stone.
20103         (STREQ): Define.
20104
20105 2001-12-14  Jim Meyering  <meyering@lucent.com>
20106
20107         * m4/jm-macros.m4 (jm_MACROS): Check for iswspace.
20108         Suggestion from Bruno Haible.
20109
20110 2001-12-10  Jim Meyering  <meyering@lucent.com>
20111
20112         * lib/linebuffer.c: Remove explicit declarations of xmalloc and
20113         xrealloc, Instead, include "xalloc.h".
20114         (initbuffer): Don't cast xmalloc return value to char*.
20115         (readline): Reword comment.
20116         Don't cast xrealloc return value to char*
20117         Return NULL, not 0.
20118
20119 2001-12-09  Jim Meyering  <meyering@lucent.com>
20120
20121         * lib/modechange.c (mode_compile): Add cast to avoid pedantic warning
20122         about `signed and unsigned type in conditional expression'.
20123         * lib/posixtm.c (posix_time_parse): Likewise.
20124
20125         * lib/xreadlink.c (xreadlink): Add cast to avoid a pedantic warning.
20126
20127         * lib/readtokens.c (readtoken): Declare an index to be of type unsigned
20128         to avoid a pedantic warning.
20129
20130         * lib/getstr.c: Don't include assert.h.
20131         (getstr): Remove warning-evoking assertions.
20132         Return -1 if offset parameter is out of bounds.
20133         Change the type of a local from int to size_t.
20134
20135         * lib/strftime.c (my_strftime_localtime_r): Include this function
20136         definition in the `#if ! HAVE_TM_GMTOFF' block.
20137
20138         * lib/xgethostname.c: Remove declarations of xmalloc and xrealloc.
20139         Include xalloc.h instead.
20140
20141 2001-12-02  Jim Meyering  <meyering@lucent.com>
20142
20143         * lib/tempname.c: Don't declare getenv, thus reverting the change of
20144         2001-11-18.  It's no longer necessary, now that stdlib.h is always
20145         included.
20146
20147         * lib/regex.c [!__BOUNDED_POINTERS__]: Define away __bounded,
20148         __unbounded, and __ptrvalue.  Reported by Uwe H. Steinfeld.
20149
20150 2001-11-30  Akim Demaille  <akim@epita.fr>
20151
20152         * lib/xstrdup.c: Include xalloc.h, so that xstrdup is declared
20153         before being defined.
20154
20155 2001-11-27  Paul Eggert  <eggert@twinsun.com>
20156
20157         * lib/quotearg.h (quotearg_n, quotearg_n_style):
20158         First arg is int, not unsigned.
20159         * lib/quotearg.c (quotearg_n, quotearg_n_style): Likewise.
20160         (SIZE_MAX, UINT_MAX): New macros.
20161         (quotearg_n_options): Abort if N is negative.
20162         Avoid overflow check on hosts where size_t is 64 bits and int
20163         is 32 bits, as overflow is impossible there.
20164         Fix off-by-one typo that caused unnecessary reallocation.
20165
20166 2001-11-27  Jim Meyering  <meyering@lucent.com>
20167
20168         * lib/tempname.c: Merge with version from libc.
20169         * lib/regex.c: Likewise.
20170
20171         * lib/tempname.c: Include stdlib.h unconditionally.  On some old
20172         systems for which STDC_HEADERS is 0, it was not included, resulting in
20173         a warning about an integer-to-pointer conversion problem with getenv.
20174         Reported by Volker Borchert.
20175
20176 2001-11-26  Jim Meyering  <meyering@lucent.com>
20177
20178         * lib/gtod.h: Remove file.
20179         * lib/Makefile.am (libfetish_a_SOURCES): Remove gtod.h.
20180         * lib/gettimeofday.c: Don't include gtod.h.
20181         (GTOD_init): Remove function.
20182         (rpl_gettimeofday): Do its job here instead, rather than aborting.
20183         Suggestion from Volker Borchert.
20184
20185 2001-11-23  Jim Meyering  <meyering@lucent.com>
20186
20187         * lib/hash.h (struct hash_table): Don't define here.  Merely declare
20188         it.
20189         * lib/hash.c (struct hash_table): Define it here instead.
20190
20191 2001-11-22  Jim Meyering  <meyering@lucent.com>
20192
20193         * lib/hash.h: Bracket contents of file with #ifndef HASH_H_ ... #endif.
20194
20195 2001-11-20  Jim Meyering  <meyering@lucent.com>
20196
20197         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Update comment to reflect that
20198         SunOS 4.1.4 and Solaris 2.5.1 lose, too.
20199
20200 2001-11-19  Jim Meyering  <meyering@lucent.com>
20201
20202         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Don't bother with a temporary
20203         directory.  Use "conftestXXXXXX" as the template.
20204         Suggestion from Paul Eggert.
20205
20206         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Close each descriptor
20207         immediately, so the test doesn't mistakenly hit the max-open-files
20208         limit.
20209
20210 2001-11-18  Paul Eggert  <eggert@twinsun.com>
20211
20212         * lib/tempname.c (TMP_MAX): Remove; no longer needed.
20213         (TEMPORARIES): New macro.
20214         (__gen_tempname): Use TEMPORARIES rather than TMP_MAX.  This
20215         removes an artificial limitation (e.g. HP-UX 10.20, where
20216         TMP_MAX is 17576).
20217
20218 2001-11-18  Jim Meyering  <meyering@lucent.com>
20219
20220         * m4/prereq.m4 (jm_PREREQ_TEMPNAME): Check for declaration of getenv.
20221
20222 2001-11-18  Jim Meyering  <meyering@lucent.com>
20223
20224         * lib/tempname.c [!HAVE_DECL_GETENV]: Declare getenv to avoid warning
20225         on SunOS 4.
20226
20227         * lib/Makefile.am (Makefile): Depend on $(BUILT_SOURCES), so those
20228         files will be created before anything else.
20229
20230 2001-11-17 Paul Eggert  <eggert@twinsun.com>
20231
20232         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): Do not define
20233         WINSIZE_IN_PTEM if <termios.h> defines struct winsize.
20234
20235 2001-11-17  Jim Meyering  <meyering@lucent.com>
20236
20237         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): New file and macro.
20238         Prompted by a report from Bob Proulx.
20239
20240         * m4/jm-macros.m4 (jm_MACROS): Don't test for mkstemp here.
20241         Instead, require UTILS_FUNC_MKSTEMP.
20242
20243 2001-11-17  Jim Meyering  <meyering@lucent.com>
20244
20245         * m4/jm-macros.m4 (jm_MACROS): Remove code to set POW_LIBM.
20246         Now, that's done as part of AC_FUNC_STRTOD.
20247
20248 2001-11-17  Jim Meyering  <meyering@lucent.com>
20249
20250         * lib/modechange.c (mode_adjust): Fix error introduced on 1999-04-26
20251         that made e.g., `chmod a=,o=w,g=o F' cause F to be group readable
20252         rather than group writable.  Patch by Juan F. Codagnone.
20253
20254         * lib/readtokens.c: Remove explicit declarations of xmalloc and
20255         xrealloc, Instead, include "xalloc.h".
20256
20257         * lib/mountlist.c: Include unlocked-io.h after all system headers.
20258         Remove explicit declarations of xmalloc, xrealloc,
20259         and xstrdup.  Instead, include "xalloc.h".
20260
20261         * lib/argmatch.c, closeout.c, error.c, exclude.c: Include
20262         unlocked-io.h.
20263         * lib/fatal.c, getdate.y, getpass.c, getstr.c, getusershell.c:
20264         Likewise.
20265         * lib/mountlist.c, posixtm.c, readtokens.c, readutmp.c: Likewise.
20266
20267         * lib/regex.c, sha.c, version-etc.c, yesno.c: Likewise.
20268         Reported by Padraig Brady.
20269
20270         * lib/mkstemp.c: #undef mkstemp.
20271         Include config.h.
20272         (rpl_mkstemp): Rename from mkstemp.
20273         Protoize.
20274
20275 2001-11-16  Jim Meyering  <meyering@lucent.com>
20276
20277         * lib/physmem.c [HAVE_SYS_PSTAT_H]: Include <sys/pstat.h>.
20278         (physmem_total) [HAVE_PSTAT_GETSTATIC]: If sysconf couldn't be used to
20279         determine the amount of total physical memory, use pstat_getstatic.
20280         HPUX-11 doesn't define _SC_PHYS_PAGES.
20281         (physmem_available) [HAVE_PSTAT_GETSTATIC && HAVE_PSTAT_GETDYNAMIC]:
20282         If sysconf couldn't be used to determine the amount of available
20283         physical memory, use both pstat_getstatic and pstat_getdynamic.
20284         Based on a patch from Bob Proulx.
20285
20286 2001-11-10  Jim Meyering  <meyering@lucent.com>
20287
20288         * m4/prereq.m4 (jm_PREREQ_PHYSMEM): New function.
20289         (jm_PREREQ): Use it.
20290
20291 2001-11-09  Jim Meyering  <meyering@lucent.com>
20292
20293         * m4/jm-macros.m4: Require autoconf-2.52f.
20294         (AC_FUNC_ERROR_AT_LINE, AC_FUNC_OBSTACK, AC_FUNC_STRTOD):
20295         Use these AC_-prefixed names, not the AM_-prefixed ones.
20296
20297         * m4/afs.m4 (jm_AFS): Quote the body.  Patch by Akim Demaille.
20298
20299 2001-11-05  Jim Meyering  <meyering@lucent.com>
20300
20301         * lib/xstat.in (slash_aware_lstat): Correct a misleading comment.
20302
20303 2001-11-04  Jim Meyering  <meyering@lucent.com>
20304
20305         * m4/fpending.m4: Remove unused cruft that saved, set, and restored
20306         $DEFS.
20307
20308 2001-11-03  Jim Meyering  <meyering@lucent.com>
20309
20310         * m4/jm-glibc-io.m4n (jm_FUNC_GLIBC_UNLOCKED_IO): Quote first arg
20311         of AC_DEFUN.
20312
20313         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Rework so dirfd.c doesn't have to
20314         know the name of the variable in the macro definition.
20315
20316 2001-11-03  Jim Meyering  <meyering@lucent.com>
20317
20318         * lib/argmatch.h (ARGMATCH_TO_ARGUMENT): Remove casts of first two args
20319         in argmatch_to_argument call.
20320
20321         * lib/dirfd.c (dirfd): Reflect the fact that DIR_TO_FD now takes an
20322         argument.
20323
20324         * lib/hash.c (hash_clear): Fix a bug that could lead to an infloop or
20325         e.g., a fault due to an attempt to free a NULL pointer.
20326
20327 2001-11-01  Jim Meyering  <meyering@lucent.com>
20328
20329         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): New macro.
20330         * m4/jm-macros.m4 (jm_MACROS): Require UTILS_FUNC_DIRFD.
20331
20332 2001-11-01  Jim Meyering  <meyering@lucent.com>
20333
20334         * lib/dirfd.c, lib/dirfd.h: New files.
20335         * lib/Makefile.am (libfetish_a_SOURCES): Add dirfd.h.
20336
20337         * lib/hash.c (hash_print) [TESTING]: Clean up.
20338
20339 2001-10-22  Paul Eggert  <eggert@twinsun.com>
20340
20341         * lib/hard-locale.c (alloca): Define to __builtin_alloca if __GNUC__,
20342         to avoid a warning if -Wall.
20343
20344 2001-10-22  Jeff Bailey  <jbailey@outpost.dnsalias.org>
20345
20346         * README: New file
20347         * doc/*: Add COPYING, COPYING.LIB, COPYING.DOC, fdl.texi
20348         (per RMS's instructions, this is now the canonical source)
20349         * lgpl/, gpl/: New directories.
20350
20351 2001-10-21  Paul Eggert  <eggert@twinsun.com>
20352
20353         * lib/regex.c (uintptr_t): Remove macro and decl; it's config.h's job.
20354
20355 2001-10-21  Jim Meyering  <meyering@lucent.com>
20356
20357         * lib/obstack.c (_): Honor the setting of ENABLE_NLS.  Otherwise,
20358         this code would end up calling gettext even in packages built
20359         with --disable-nls.
20360         * lib/getopt.c (_): Likewise.
20361         * lib/regex.c (_): Likewise.
20362
20363 2001-10-20  Paul Eggert  <eggert@twinsun.com>
20364
20365         * m4/error.m4 (jm_PREREQ_ERROR):
20366         Do not invoke AC_CHECK_FUNCS with strerror_r, as
20367         AC_FUNC_STRERROR_R does that.
20368         Check for strerror declaration.
20369
20370         * m4/strerror_r.m4: Add copyright notice, as nontrivial m4 files
20371         are supposed to have them these days.
20372         (AC_FUNC_STRERROR_R): Always do char* test, so that it gets cached.
20373         Merge changes from latest Autoconf CVS.
20374         Rename ac_cv_func_strerror_r_works to ac_cv_func_strerror_r_char_p,
20375         and rename HAVE_WORKING_STRERROR_R to STRERROR_R_CHAR_P, since
20376         POSIX decided to standardize on the int flavor of strerror_r.
20377
20378 2001-10-20  Paul Eggert  <eggert@twinsun.com>
20379
20380         * lib/error.c (strerror_r): Do not declare unless !_LIBC.
20381         Do not check for HAVE_DECL_STRERROR_R missing unless STRERROR_R_CHAR_P.
20382         Use strerror_r that is only a macro, even if it is not a function.
20383         (strerror): Check for HAVE_DECL_STRERROR before declaring.
20384         (private_strerror): Use prototypes, not old-style function definition.
20385         (print_errno_message): New function.
20386         Support the POSIX 'int'-flavored strerror_r, as well as the traditional
20387         char*-flavored one.
20388         (error_tail, error, error_at_line): Use it.
20389
20390 2001-10-11  Jim Meyering  <meyering@lucent.com>
20391
20392         * lib/argmatch.c (argmatch_invalid): Use quotearg_n_style (0, ...
20393         and quote_n (1, ... to avoid clobbering a buffer.
20394
20395 2001-10-05  Jim Meyering  <meyering@lucent.com>
20396
20397         * lib/Makefile.am: (libfetish_a_SOURCES): Add hash-pjw.c and
20398         hash-pjw.h.
20399         * lib/hash-pjw.c: New file (factored out of fileutils' remove.c).
20400         * lib/hash-pjw.h: New file.
20401
20402 2001-09-30  Jim Meyering  <meyering@lucent.com>
20403
20404         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): See if
20405         `struct fsstat' has the `f_fstypename' member.
20406         Use that to define FS_TYPE, which is now used to make
20407         the getfsstat link test tighter.
20408
20409 2001-09-30  Jim Meyering  <meyering@lucent.com>
20410
20411         * lib/mountlist.c [MOUNTED_GETFSSTAT]:
20412         Include <sys/ucred.h>, for Apple Darwin.
20413         Include sys/mount.h and sys/fs_types.h only if available.
20414         (FS_TYPE): Define.
20415         (read_filesystem_list): Use FS_TYPE.
20416
20417 2001-09-29  Paul Eggert  <eggert@twinsun.com>
20418
20419         * lib/exclude.c (excluded_filename): 0 -> false, since it's
20420         a boolean context.
20421
20422 2001-09-29  Jim Meyering  <meyering@lucent.com>
20423
20424         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
20425         [one-argument getmntent function]): Include stdio.h before mntent.h.
20426         SunOS 4.1.x needs it for the declaration of `FILE'.
20427         Patch by Volker Borchert.
20428
20429         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
20430         Check for these headers: sys/param.h sys/ucred.h sys/mount.h
20431         sys/fs_types.h, and make the link-test for getfsstat guard #include
20432         directives with appropriate #if HAVE_*_H tests so that we can
20433         detect getfsstat on Apple Darwin1.3.7 systems.
20434         Reported by Nelson Beebe.
20435         Fix harmless typo in cache variable name: s/getsstat/getfsstat/.
20436
20437 2001-09-28  Paul Eggert  <eggert@twinsun.com>
20438
20439         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
20440         #defines strtoimax.  Also treat the other strto* functions
20441         like strtoimax.
20442
20443         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
20444         Check for strtoul and strtoumax,
20445         as those declarations are made even in the signed case.
20446         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX):
20447         Likewise, for strtol and strtoimax.
20448
20449 2001-09-28  Paul Eggert  <eggert@twinsun.com>
20450
20451         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
20452         #defines strtoimax.  Also treat the other strto* functions
20453         like strtoimax.
20454
20455         * lib/xstrtol.c (strtol): Do not declare if HAVE_DECL_STRTOL.
20456         (strtoul): Do not declare if HAVE_DECL_STRTOUL.
20457         (strtoimax, strtoumax): Do not declare if already defined as a macro.
20458
20459 2001-09-26  Jim Meyering  <meyering@lucent.com>
20460
20461         Most macros in unlocked-io.h had the wrong number of arguments.
20462         * lib/gen-uio: New script.
20463         (USE_UNLOCKED_IO): Define to 1 if not already defined.
20464         * lib/unlocked-io.hin: Remove file.
20465         * lib/Makefile.am (unlocked-io.h): Rewrite to use a separate script,
20466         rather than trying to embed it here.
20467         (EXTRA_DIST): Add gen-uio.  Remove unlocked-io.hin
20468         Reported by Padraig Brady.
20469
20470 2001-09-25  Volker Borchert  <bt@teknon.de>
20471
20472         * lib/gettimeofday.c (rpl_gettimeofday): Declare local variable
20473         `result'.
20474
20475 2001-09-24  Jim Meyering  <meyering@lucent.com>
20476
20477         * m4/gettext.m4: Use the version from gettext-0.10.40, not CVS.
20478
20479 2001-09-23  Jim Meyering  <meyering@lucent.com>
20480
20481         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add a compile-test
20482         instead of the mere test for existence of mntent.h.  The latter
20483         would get a false-positive on AIX 3.4 systems.
20484         In the outer getmntent if-block, don't die if neither of the getmntent
20485         tests succeeds.  Instead, just fall through and continue with the
20486         remaining tests.
20487
20488 2001-09-23  Jim Meyering  <meyering@lucent.com>
20489
20490         * lib/mountlist.c: Remove useless parentheses in #if directives.
20491         (MOUNTED) [!defined MOUNTED]: Define to _PATH_MOUNTED, for when
20492         the deprecated MOUNTED symbol is no longer defined in mntent.h.
20493
20494 2001-09-22  Jim Meyering  <meyering@lucent.com>
20495
20496         * m4/gettext.m4: New file.  From gettext.
20497         * m4/lcmessage.m4: Sync with gettext -- this changes only comments.
20498         * m4/progtest.m4: Likewise
20499         * m4/isc-posix.m4: Decrement serial number to sync with gettext.
20500         * m4/glibc21.m4: Likewise.
20501
20502         * m4/libintl.m4: Remove.  No longer used.
20503
20504 2001-09-22  Jim Meyering  <meyering@lucent.com>
20505
20506         * lib/localcharset.c: Update from latest gettext.
20507         * lib/config.charset: Likewise.
20508
20509 2001-09-20  Jim Meyering  <meyering@lucent.com>
20510
20511         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX): Check for declaration of
20512         strtoimax.
20513         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check for declaration of
20514         strtoumax.
20515
20516 2001-09-20  Jim Meyering  <meyering@lucent.com>
20517
20518         * lib/xstrtol.c (strtoimax): Guard declaration with
20519         `#if !HAVE_DECL_STRTOIMAX', rather than just `#ifndef strtoimax'.
20520         The latter fails because some systems (at least rs6000-ibm-aix4.3.3.0)
20521         have their own, conflicting declaration of strtoimax in sys/inttypes.h.
20522         (strtoumax): Likewise, for completeness (it wasn't necessary).
20523
20524 2001-09-17  Paul Eggert  <eggert@twinsun.com>
20525
20526         * lib/strtoimax.c (HAVE_LONG_LONG):
20527         Redefine to HAVE_UNSIGNED_LONG_LONG if unsigned.
20528         (strtoimax): Use sizeof (long), not sizeof strtol (ptr, endptr, base),
20529         to work around bug in IBM C compiler.
20530
20531 2001-09-17  Jim Meyering  <meyering@lucent.com>
20532
20533         * m4/chown.m4, fstypename.m4, getgroups.m4, gettimeofday.m4,
20534         * m4/jm-mktime.m4, lstat.m4, malloc.m4, memcmp.m4, mkdir-slash.m4,
20535         * m4/nanosleep.m4, putenv.m4, readdir.m4, realloc.m4, rename.m4,
20536         * m4/st_dm_mode.m4, stat.m4, strerror_r.m4, timespec.m4, utimbuf.m4,
20537         * m4/utimes.m4: Use AC_DEFINE rather than AC_DEFINE_UNQUOTED,
20538         whenever the right hand side need not be expanded by the shell.
20539
20540 2001-09-16  Paul Eggert  <eggert@twinsun.com>
20541
20542         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): Remove test for GNU C
20543         library.  It's not correct, as some older glibcs are buggy.
20544         fnmatch wasn't fixed until glibc 2.2.
20545
20546         Use AC_DEFINE, not AC_DEFINE_UNQUOTED, as there's no
20547         special shell magic here.
20548
20549 2001-09-16  Jim Meyering  <meyering@lucent.com>
20550
20551         * m4/mkdir-slash.m4 (UTILS_FUNC_MKDIR_TRAILING_SLASH): New file/macro.
20552         * m4/jm-macros.m4: Require it.
20553
20554 2001-09-16  Jim Meyering  <meyering@lucent.com>
20555
20556         * lib/mkdir.c: New file.
20557
20558 2001-09-15  Jim Meyering  <meyering@lucent.com>
20559
20560         * m4/jm-macros.m4: Check for help2man.
20561
20562 2001-09-11  Jim Meyering  <meyering@lucent.com>
20563
20564         * m4/host-os.m4 (UTILS_HOST_OS): New file/macro.
20565         The body, by Paul Eggert, was moved here from configure.in.
20566         * m4/jm-macros.m4: Require UTILS_HOST_OS.
20567
20568 2001-09-04  Paul Eggert  <eggert@twinsun.com>
20569
20570         * m4/prereq.m4 (jm_PREREQ_XREADLINK): New macro.
20571         (jm_PREREQ): Use it.
20572
20573 2001-09-04  Paul Eggert  <eggert@twinsun.com>
20574
20575         * lib/xreadlink.c (xreadlink): Omit size_t* arg.  All uses changed.
20576         Use ssize_t, not int, to store result of readlink.
20577         Check for ssize_t overflow as well as size_t overflow,
20578         as POSIX says the result of readlink is implementation-defined
20579         when ssize_t overflows.
20580         Remove unnecessary cast to char*.
20581         Use free+malloc instead of realloc, as the storage doesn't need
20582         to be preserved and it's clearer and can be more efficient that way.
20583         (SIZE_MAX, SSIZE_MAX): New macros, if <limits.h> doesn't declare.
20584         * lib/xreadlink.h (xreadlink): Update prototype.
20585
20586 2001-09-04  Paul Eggert  <eggert@twinsun.com>
20587
20588         * lib/xgetcwd.c: Revert some of the previous change; intead,
20589         fix the HAVE_GETCWD_NULL code to behave more like the
20590         !HAVE_GETCWD_NULL code used to.
20591
20592         Include "xalloc.h".
20593         (xgetcwd): Do not return NULL when memory is exhausted; instead,
20594         invoke xalloc_die.
20595
20596 2001-09-03  Paul Eggert  <eggert@twinsun.com>
20597
20598         * m4/prereq.m4 (jm_PREREQ_XGETCWD): Check for limits.h and
20599         sys/param.h, as pathmax.h includes them.
20600
20601 2001-09-03  Paul Eggert  <eggert@twinsun.com>
20602
20603         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_XGETCWD.
20604         (jm_PREREQ_XGETCWD): New macro.
20605
20606         * m4/getcwd.m4: New file.
20607
20608 2001-09-03  Paul Eggert  <eggert@twinsun.com>
20609
20610         * lib/xgetcwd.c: Fix the !HAVE_GETCWD_NULL code to behave more
20611         like the HAVE_GETCWD_NULL code.
20612         Include pathmax.h if not HAVE_GETCWD.
20613         Do not include xalloc.h.
20614         (INITIAL_BUFFER_SIZE): New symbol.
20615         Do not use xmalloc / xrealloc, since the caller is responsible for
20616         handling errors.  Preserve errno around `free' during failure.
20617         Do not overrun buffer when using getwd.
20618
20619 2001-09-03  Paul Eggert  <eggert@twinsun.com>
20620
20621         * lib/xgetcwd.c (xgetcwd): Use HAVE_GETCWD_NULL, not (defined
20622         __GLIBC__ && __GLIBC__ >= 2), to decide whether to use
20623         getcwd (NULL, 0).
20624
20625 2001-09-03  Paul Eggert  <eggert@twinsun.com>
20626
20627         * lib/exclude.c (fnmatch_no_wildcards): Fix confusion between
20628         usage of FNM_CASEFOLD and FNM_LEADING_DIR.  The bug was
20629         spotted by Jim Meyering.
20630
20631 2001-09-03  Jim Meyering  <meyering@lucent.com>
20632
20633         * lib/xreadlink.c (xreadlink): Preserve errno around `free' during
20634         failure.
20635
20636 2001-09-02  Jim Meyering  <meyering@lucent.com>
20637
20638         * lib/error.c: Update from GNU libc.
20639
20640 2001-09-01  Jim Meyering  <meyering@lucent.com>
20641
20642         * m4/jm-macros.m4 (jm_MACROS): Check for canonicalize_file_name.
20643         Used by df.
20644
20645 2001-09-01  Jim Meyering  <meyering@lucent.com>
20646
20647         * lib/xreadlink.c: New file.
20648         * lib/xreadlink.h: New file.
20649         * lib/Makefile.am (libfetish_a_SOURCES): Add xreadlink.c and
20650         xreadlink.h.
20651
20652         * lib/regex.c (uintptr_t) [!_LIBC]: Define to private_uintptr_t, so it
20653         doesn't conflict with sparc Solaris 7's definition in
20654         /usr/include/sys/int_types.h.
20655
20656         * lib/exclude.c: Use `""', not `<>' to #include non-system header
20657         files.
20658         (fnmatch_no_wildcards): Rewrite not to use function names, strcasecmp
20659         and strncasecmp as r-values.  Unixware didn't have declarations.
20660
20661 2001-08-31  Paul Eggert  <eggert@twinsun.com>
20662
20663         * lib/xstrtol.h: Add copyright notice.
20664         (_DECLARE_XSTRTOL): Improve quality of diagnostic for
20665         LONGINT_INVALID_SUFFIX_CHAR.
20666
20667 2001-08-31  Paul Eggert  <eggert@twinsun.com>
20668
20669         * lib/xstrtol.c (strtoimax): New decl.
20670
20671 2001-08-31  Paul Eggert  <eggert@twinsun.com>
20672
20673         * lib/xgetcwd.c: Don't include pathmax.h.
20674         Include stdlib.h and unistd.h if available.
20675         Include xalloc.h.
20676         (xmalloc, xstrdup, free): Remove decls.
20677         (xgetcwd): Don't assume sizes fit in unsigned.
20678         Check for overflow when computing sizes.
20679         Simplify reallocation code.
20680
20681 2001-08-31  Paul Eggert  <eggert@twinsun.com>
20682
20683         * lib/savedir.c (savedir): Remove size parameter, as POSIX says that
20684         a directory's st_size can have an arbitrary value, so the old
20685         usage could waste an arbitrary amount of memory.  All uses
20686         changed.
20687         * lib/savedir.h: Update prototype.
20688
20689 2001-08-31  Paul Eggert  <eggert@twinsun.com>
20690
20691         * lib/Makefile.am (libfetish_a_SOURCES): Remove strtoxmax.c.
20692
20693         * lib/strtoimax.c: Renamed from strtoxmax.c, removing the
20694         old strtoimax.c.
20695
20696         Also, make the following further changes to make this file's
20697         configuration more similar to that of strtol.c:
20698         (UNSIGNED): Renamed from STRTOUXMAX_UNSIGNED.  All uses changed.
20699         (strtoumax, uintmax_t, strtoull, strtol): Remove.
20700         (intmax_t, strtoimax, strtol, strtoll): New macros, if UNSIGNED.
20701         (strtoimax): Renamed from strtoumax.  All uses of unsigned values
20702         changed to signed values.
20703
20704         And make the following changes as well:
20705         Fix copyright notice, as 1999 was missing.
20706         (verify): New macro.
20707         (strtoimax): Check sizes at compile-time, not run-time.
20708         Prefer strtol to strtoll if both work.
20709         (main): Remove; it was not that useful and was a pain to maintain.
20710
20711         * lib/strtoumax.c: Include strtoimax.c, not strtouxmax.c.
20712
20713 2001-08-31  Jim Meyering  <meyering@lucent.com>
20714
20715         * lib/xgetcwd.c (xgetcwd): Reorganize to avoid some duplication.
20716         Use an initial, malloc'd, buffer of length 128 rather than
20717         a statically allocated one of length 1024.
20718
20719 2001-08-30  Paul Eggert  <eggert@twinsun.com>
20720
20721         Simplify code, partly by assuming autoconf 2.52 semantics.
20722
20723         * m4/Makefile.am (EXTRA_DIST): Remove uintmax_t.m4.
20724
20725         * m4/inttypes.m4 (AC_PREREQ): Bump to 2.52.
20726         (jm_AC_HEADER_INTTYPES_H): Remove; now done by autoconf in 2.52.
20727         All uses removed.
20728         (jm_AC_TYPE_INTMAX_T, jm_AC_TYPE_UINTMAX_T):
20729         Move AC_REQUIRE to next-to-top level, to avoid confusion.
20730         Use 2.52's AC_CHECK_TYPE instead of merely looking for the header.
20731         * m4/prereq.m4 (jm_PREREQ_HUMAN): Don't require
20732         jm_AC_HEADER_INTTYPES_H.
20733         * m4/jm-macros.m4 (jm_MACROS): Likewise.
20734
20735         * m4/uintmax_t.m4: Remove, as it duplicates inttypes.m4.
20736
20737         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
20738         Quote first arg of AC_DEFUN.
20739         Require jm_AC_TYPE_UINTMAX_T and jm_AC_TYPE_UNSIGNED_LONG_LONG
20740         since they are needed to parse the include file even if we need
20741         only xstrtoimax.  Simplify logic behind the args to AC_REPLACE.
20742         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Likewise,
20743         but with opposite signedness.
20744
20745 2001-08-30  Paul Eggert  <eggert@twinsun.com>
20746
20747         Merge 'exclude' changes from tar 1.13.22.
20748         This fixes one or two unlikely storage allocation overflow bugs,
20749         but doesn't change user-visible behavior otherwise.
20750
20751 2001-08-30  Paul Eggert  <eggert@twinsun.com>
20752
20753         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_EXCLUDE.
20754         (jm_PREREQ_EXCLUDE): New macro.
20755
20756 2001-08-30  Paul Eggert  <eggert@twinsun.com>
20757
20758         * lib/quotearg.c: BSD/OS 4.1 wchar.h requires FILE and struct
20759         tm to be declared.
20760
20761 2001-08-30  Paul Eggert  <eggert@twinsun.com>
20762
20763         * lib/hash.c: Remove '2001' from copyright notice.
20764
20765 2001-08-30  Paul Eggert  <eggert@twinsun.com>
20766
20767         * lib/full-write.h: New file.
20768         * lib/Makefile.am (libfetish_a_SOURCES): Add full-write.h.
20769         * lib/full-write.c: Correct credits, as cccp.c no longer
20770         exists and anyway it was so heavily changed from the old cccp
20771         code as to be unrecognizable.  Include full-write.h.
20772         (full_write) Return size_t, with short writes meaning failure.
20773         All callers changed.  This fixes a bug with large buffers
20774         on 64-bit hosts.
20775         * lib/utime.c: Include full-write.h.
20776
20777 2001-08-30  Paul Eggert  <eggert@twinsun.com>
20778
20779         * lib/exclude.c (bool): Declare, perhaps by including stdbool.h.
20780         (<sys/types.h>): Include only if HAVE_SYS_TYPES_H.
20781         (<stdlib.h>, <string.h>, <strings.h>, <inttypes.h>, <stdint.h>):
20782         Include if available.
20783         (<xalloc.h>): Include
20784         (SIZE_MAX): Define if <stdint.h> or <inttypes.h> doesn't.
20785         (verify): New macro.  Use it to verify that EXCLUDE macros do not
20786         collide with FNM macros.
20787         (struct patopts): New struct.
20788         (struct exclude): Use it, as exclude patterns now come with options.
20789         (new_exclude): Support above changes.
20790         (new_exclude, add_exclude_file):
20791         Initial size must now be a power of two to simplify overflow checking.
20792         (free_exclude, fnmatch_no_wildcards): New function.
20793         (excluded_filename): No longer requires options arg, as the options
20794         are determined by add_exclude.  Now returns bool, not int.
20795         (excluded_filename, add_exclude):
20796         Add support for the fancy new exclusion options.
20797         (add_exclude, add_exclude_file): Now takes int options arg.
20798         Check for arithmetic overflow when computing sizes.
20799         (add_exclude_file): xrealloc might modify errno, so don't
20800         realloc until after errno might be used.
20801
20802         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE,EXCLUDE_WILDCARDS):
20803         New macros.
20804         (free_exclude): New decl.
20805         (add_exclude, add_exclude_file): Now takes int options arg.
20806         (excluded_filename): No longer requires options arg, as the options
20807         are determined by add_exclude.  Now returns bool, not int.
20808
20809 2001-08-30  Paul Eggert  <eggert@twinsun.com>
20810
20811         * lib/alloca.c (alloca): Arg is of type size_t, not unsigned.
20812
20813 2001-08-27  Jim Meyering  <meyering@lucent.com>
20814
20815         * lib/Makefile.am (libfetish_a_SOURCES): Add strtoxmax.c
20816
20817         * lib/version-etc.c (N_): Remove definition.
20818         Revert most of last change.
20819         Instead, simply don't mark the `Copyright...' string for translation.
20820         Based on advice from Paul Eggert.
20821
20822         * lib/strtoxmax.c: Tweak comment.
20823
20824 2001-08-26  Jim Meyering  <meyering@lucent.com>
20825
20826         * m4/jm-macros.m4: Require jm_AC_PREREQ_XSTRTOIMAX.
20827
20828         * m4/xstrtoimax.m4: New file.
20829         * m4/xstrtoumax.m4: Add comments explaining why we
20830         AC_REPLACE_FUNCS(strtol).
20831
20832 2001-08-26  Jim Meyering  <meyering@lucent.com>
20833
20834         * lib/version-etc.c (version_etc_copyright_fmt): Replace literal year
20835         of copyright with `%s' so translators don't get an untranslated
20836         message in 2002.
20837         (COPYRIGHT_YEAR): Define.
20838         (version_etc): Use fprintf rather than fputs.
20839         Suggestion from Ulrich Drepper.
20840
20841         * lib/Makefile.am (libfetish_a_SOURCES): Add xstrtoimax.c.
20842
20843         * lib/strtoll.c: New file, from GNU libc.
20844         * lib/xstrtoimax.c: New file.
20845
20846         * lib/xstrtol.h: Add xstrtoimax.
20847         * lib/strtoumax.c: New file.  Simply include "strtoumax.c".
20848         * lib/strtoimax.c: New file.  Likewise, but first define
20849         STRTOUXMAX_SIGNED.
20850
20851         * lib/strtoumax.c: Factor to work both for unsigned and signed types,
20852         ...
20853         * lib/strtoxmax.c: ... then renamed to this.
20854
20855 2001-08-18  Paul Eggert  <eggert@twinsun.com>
20856
20857         * m4/inttypes.m4: Add AC_PREREQ(2.13).
20858         (jm_AC_HEADER_INTTYPES_H): Test for intmax_t, too.
20859         (jm_AC_TYPE_INTMAX_T): New macro.
20860         (jm_AC_TYPE_UINTMAX_T): Moved here from uintmax_t.m4.
20861
20862         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): New macro.
20863
20864         * m4/longlong.m4: Renamed from ulonglong.m4.
20865         * m4/inttypes.m4: Renamed from inttypes_h.m4.
20866         * m4/uintmax_t.m4: Removed.
20867
20868 2001-08-13  Paul Eggert  <eggert@twinsun.com>
20869
20870         * lib/Makefile.am (unlocked-io.h): Do not append "_unlocked" twice.
20871         Port to Solaris 8, where 'sed' requires a space after the 'r'
20872         command, and where sh dislikes "$/".  Clean up the spacing a bit.
20873         Redirect output to $tmp just once.
20874
20875 2001-08-12  Paul Eggert  <eggert@sic.twinsun.com>
20876
20877         * lib/addext.c (<errno.h>): Include.
20878         (errno): Declare if not defined.
20879         (addext): Work correctly when pathconf returns -1 and leaves
20880         errno alone because there is no limit.  Also, work even if
20881         pathconf returns a value greater than SIZE_MAX.
20882
20883 2001-08-12  Jim Meyering  <meyering@lucent.com>
20884
20885         * m4/afs.m4, assert.m4, bison.m4, check-decl.m4, chown.m4, d-ino.m4,
20886         d-type.m4, dos.m4, error.m4, fnmatch.m4, fpending.m4, fstypename.m4,
20887         fsusage.m4, ftruncate.m4, getgroups.m4, glibc.m4, gnu-source.m4,
20888         group-member.m4, jm-glibc-io.m4, jm-macros.m4, jm-mktime.m4,
20889         jm-winsz1.m4, jm-winsz2.m4, lchown.m4, lib-check.m4, libintl.m4,
20890         link-follow.m4, ls-mntd-fs.m4, lstat.m4, malloc.m4, mbrtowc.m4,
20891         mbstate_t.m4, mbswidth.m4, memcmp.m4, nanosleep.m4, perl.m4,
20892         prereq.m4, putenv.m4, readdir.m4, realloc.m4, regex.m4, rename.m4,
20893         rmdir-errno.m4, search-libs.m4, st_dm_mode.m4, st_mtim.m4, stat.m4,
20894         strftime.m4, timespec.m4, unlink-busy.m4, uptime.m4, utimbuf.m4,
20895         utime.m4, utimes.m4, xstrtoumax.m4:
20896         Quote the first argument in each use of AC_DEFUN.
20897
20898 2001-08-12  Jim Meyering  <meyering@lucent.com>
20899
20900         * lib/xgetcwd.c (xgetcwd) [defined __GLIBC__ && __GLIBC__ >= 2]:
20901         Simply `return getcwd (NULL, 0);'.
20902         [! (defined __GLIBC__ && __GLIBC__ >= 2)]:
20903         Use 1300 as initial value for length, not PATH_MAX.
20904
20905         * lib/pathmax.h: Clean up cpp syntax.
20906
20907 2001-08-12  Jim Meyering  <meyering@lucent.com>
20908
20909         * lib/gettimeofday.c: New file.
20910         * lib/gtod.h: New file.
20911         * lib/Makefile.am (libfetish_a_SOURCES): Add gtod.h.
20912
20913 2001-08-05  Jim Meyering  <meyering@lucent.com>
20914
20915         * m4/jm-macros.m4: Require autoconf-2.52.
20916
20917 2001-08-04  Jim Meyering  <meyering@lucent.com>
20918
20919         * lib/error.h (__attribute__): Remove `|| __STRICT_ANSI__' from #if
20920         stmt, to get in sync with glibc.
20921
20922 2001-08-03  Paul Eggert  <eggert@twinsun.com>
20923
20924         The following changes are from gettext 0.10.39 as maintained by
20925         Bruno Haible.
20926
20927         * lib/mbswidth.h (MBSW_REJECT_UNPRINTABLE, MBSW_REJECT_INVALID):
20928         Renamed from MBSW_ACCEPT_UNPRINTABLE and MBSW_ACCEPT_INVALID
20929         with inverted sense.  All uses changed.
20930
20931         * lib/mbswidth.c: Don't include <limits.h>.
20932         Include <stdlib.h> and <string.h> unconditionally.
20933         (iswcntrl, mbsinit, ISCNTRL): New macros.
20934         (mbsnwidth): Use K&R style function declarations.
20935         Don't bother checking for MB_LEN_MAX == 1, since the compiler
20936         can optimize it when MB_CUR_MAX == 1.
20937         The width of control characters is zero, not 1.
20938
20939 2001-08-03  Paul Eggert  <eggert@twinsun.com>
20940
20941         The following changes are from gettext 0.10.39 as maintained by
20942         Bruno Haible, except that getline.m4 continues to use AC_LIBOBJ.
20943
20944         * m4/codeset.m4: Upgrade to serial AM1.
20945         (AM_LANGINFO_CODESET): Renamed from jm_LANGINFO_CODESET;
20946         all uses changed.  Quote first arg of AC_DEFUN.
20947         (am_cv_langinfo_codeset): Renamed from jm_cv_langinfo_codeset.
20948
20949         * m4/iconv.m4: Upgrade to serial AM2.
20950         (AM_ICONV): Renamed from jm_ICONV; all uses changed.
20951         Add --with-libconv-prefix.
20952         Quote first arg of AC_DEFUN.  Add description for ICONV_CONST.
20953         (am_cv_func_iconv): Renamed from jm_cv_func_iconv.
20954         (am_cv_lib_iconv): Renamed from jm_cv_lib_iconv.
20955         (am_cv_proto_iconv): Renamed from jm_cv_proto_iconv.
20956         * m4/jm-macros.m4 (jm_MACROS): Reflect s/jm_/AM_/ renamings.
20957
20958         * m4/c-bs-a.m4 (AC_C_BACKSLASH_A): Quote first arg of AC_DEFUN.
20959         * m4/getline.m4 (AM_FUNC_GETLINE): Likewise.
20960         * m4/glibc21.m4 (jm_GLIBC21): Likewise.
20961         * m4/inttypes_h.m4 (jm_AC_HEADER_INTTYPES_H): Likewise.
20962         * m4/isc-posix.m4 (AC_ISC_POSIX): Likewise.
20963         * m4/lcmessage.m4 (AM_LC_MESSAGES): Likewise.
20964         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
20965         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Likewise.
20966         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Likewise.
20967
20968         * m4/getline.m4 (AM_FUNC_GETLINE): Don't bother checking for
20969         string.h any more.
20970
20971         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): If not found, print "no",
20972         not the default value.
20973
20974         2001-06-25  Bruno Haible  <haible@clisp.cons.org>
20975         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Don't require AM_C_PROTOTYPES.
20976         Also check for mbsinit.  Needed for SCO 3.2v5.0.2.
20977         Also include <string.h>; this is where AIX 3.2.5 declares wcwidth.
20978         Also check for iswcntrl, used for wcwidth fallback.
20979         Use AC_TRY_COMPILE to emulate AC_CHECK_DECLS, for portability
20980         to Autoconf 2.13.
20981
20982 2001-08-03  Jim Meyering  <meyering@lucent.com>
20983
20984         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Use `#include', not `@%:@include',
20985         as it was in the original.  Reported by Paul Eggert.
20986
20987 2001-07-16  Jim Meyering  <meyering@lucent.com>
20988
20989         * m4/gettimeofday.m4: New file.
20990         Prompted by a report from Bernhard Baehr.
20991
20992 2001-07-15  Jim Meyering  <meyering@lucent.com>
20993
20994         * m4/Makefile.am.in (Makefile.am): Remove most of the unlocked-io.h
20995         stuff. Now it's in ../Makefile.cfg.
20996
20997 2001-07-15  Jim Meyering  <meyering@lucent.com>
20998
20999         * lib/Makefile.am (EXTRA_DIST): Add unlocked-io.hin.
21000         (BUILT_SOURCES): Add unlocked-io.h.
21001         (io_functions): Define.
21002         (unlocked-io.h): New rule.
21003         (DISTCLEANFILES): Add unlocked-io.h.
21004         (all-local): Depend on unlocked-io.h, to ensure it is created.
21005
21006         * lib/unlocked-io.hin: New file
21007
21008         * lib/regex.c: Update from glibc.
21009
21010 2001-07-05  Jim Meyering  <meyering@lucent.com>
21011
21012         * lib/Makefile.am (noinst_HEADERS): Remove definition, per new automake
21013         recommendation.
21014         (libfetish_a_SOURCES): Put all .h files here instead.
21015         Remove a thus-exposed (better checks in automake) duplicate and
21016         two unnecessary .h files.
21017
21018 2001-07-04  Jim Meyering  <meyering@lucent.com>
21019
21020         * m4/Makefile.am.in (glibc-io.struct): New target.  Rework the code
21021         that generates jm-glibc-io.m4 so that it doesn't trigger any make
21022         distcheck failure.
21023
21024 2001-07-02  Jim Meyering  <meyering@lucent.com>
21025
21026         The following changes were prompted by suggestions from Bruno Haible.
21027
21028         * m4/jm-glibc-io.m4n: New file, the template from which jm-glibc-io.m4
21029         is now generated.
21030         * m4/Makefile.am.in (Makefile.am): Include jm-glibc-io.m4n in emitted
21031         definition of EXTRA_DIST.
21032         (Makefile.am): Emit the dependency, `all-local: jm-glibc-io.m4' to
21033         ensure that the generated file is created/updated whenever the list
21034         of $(unlocked_functions) is changed.
21035         (jm-glibc-io.m4): New rule.
21036         (unlocked-io.h): New rule -- currently unused.
21037
21038 2001-06-24  Jim Meyering  <meyering@lucent.com>
21039
21040         * m4/regex.m4 (jm_INCLUDED_REGEX): Use a quadrigraph to represent an
21041         unmatched right bracket, rather than kludging it with an extra,
21042         falsely-matching quote in a comment.  Patch by Akim Demaille.
21043
21044 2001-06-11  Jim Meyering  <meyering@lucent.com>
21045
21046         * lib/regex.c: Update from GNU libc.
21047
21048 2001-05-27  Jim Meyering  <meyering@lucent.com>
21049
21050         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for ut_type in struct utmpx.
21051         Check for ut_type in struct utmp.
21052
21053 2001-05-27  Jim Meyering  <meyering@lucent.com>
21054
21055         * lib/readutmp.h (UT_TYPE): Define.
21056
21057 2001-05-24  Jim Meyering  <meyering@lucent.com>
21058
21059         * lib/argmatch.c: Include "quote.h".
21060         (argmatch_invalid): Remove explicit `' quotes.  Instead, use the
21061         quote function.  Reported by Göran Uddeborg.
21062
21063 2001-05-22  Jim Meyering  <meyering@lucent.com>
21064
21065         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't use AC_LIBOBJ(strftime),
21066         now that we use the package-supplied version unconditionally.
21067         (jm_FUNC_STRFTIME): Don't replace strftime, for the same reason.
21068
21069 2001-05-21  Jim Meyering  <meyering@lucent.com>
21070
21071         * m4/regex.m4: Change a couple backticks to single quotes to avoid
21072         shell syntax errors.
21073
21074 2001-05-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
21075
21076         * m4/dos.m4 (jm_AC_DOS): Check for _WIN32, __WIN32__, and __MSDOS__.
21077
21078 2001-05-20  Paul Eggert  <eggert@twinsun.com>
21079
21080         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME):
21081         Don't bother to check library strftime, since
21082         we'll be using our own my_strftime function anyway.
21083         Define my_strftime instead of strftime.
21084
21085 2001-05-20  Alexandre Duret-Lutz  <duret_g@epita.fr>
21086
21087         * lib/dirname.c (dir_name): Compute append_dot using path, not newpath
21088         which is not yet declared.
21089
21090 2001-05-15  Jim Meyering  <meyering@lucent.com>
21091
21092         * m4/regex.m4: Use proper quoting so brackets appear in the test
21093         program.
21094         Reported by, and with help from, Bruno Haible.
21095
21096 2001-05-13  Jim Meyering  <meyering@lucent.com>
21097
21098         * m4/jm-macros.m4 (major_t, minor_t): Define to unsigned int if
21099         undefined.
21100
21101 2001-05-11  Paul Eggert  <eggert@twinsun.com>
21102
21103         dirname code cleanup.  base_name now behaves more compatibly
21104         with POSIX basename when given file names that have trailing
21105         slashes, and similarly for dir_name.  Add new primitives
21106         base_len and dir_len.  Put the directory-name-related decls
21107         into dirname.h.
21108
21109         * lib/addext.c (ISSLASH, base_name): Remove; now in dirname.h.
21110         * lib/backupfile.c (base_name): Likewise.
21111         * lib/basename.c (FILESYSTEM_PREFIX_LEN, PARAMS, ISSLASH): Likewise.
21112         * lib/dirname.c (FILESYSTEM_PREFIX_LEN, ISSLASH): Likewise.
21113         * lib/makepath.c (strip_trailing_slashes): Likewise.
21114         * lib/path-concat.c (DIRECTORY_SEPARATOR, FILESYSTEM_PREFIX_LEN,
21115         ISSLASH): Likewise.
21116         * lib/rename.c (strip_trailing_slashes): Likewise.
21117         * lib/same.c (base_name): Likewise.
21118         * lib/stripslash.c (ISSLASH): Likewise.
21119
21120         * lib/addext.c: Include <dirname.h> after size_t is defined.
21121         * lib/backupfile.c: Likewise.
21122
21123         * lib/addext.c (addext): Use base_len to trim redundant
21124         trailing slashes instead of doing it ourselves.
21125         But do not trim the last slash if it is not redundant.
21126
21127         * lib/backupfile.c (find_backup_file_name,
21128         max_backup_version): Use base_len instead of rolling it ourselves.
21129         Handle the case of "" and (on DOS) "C:" correctly.
21130
21131         * lib/basename.c: Do not include <stdio.h>, <assert.h>; no longer
21132         needed. Include <string.h>, <dirname.h>.
21133         (base_name): Allow file names ending in slashes, other than names
21134         that are all slashes.  In this case, return the basename followed
21135         by the slashes.  This is more general, and can be used in places
21136         where the original base_name purposely had an assertion failure.
21137         (base_len): New function.
21138
21139         * lib/dirname.c: Include <string.h> instead of <stdlib.h>.
21140         Do not include <assert.h>; no longer needed.
21141         Include xalloc.h.
21142         (memrchr): Remove decl.
21143         (dir_name_r): Remove.
21144         (dir_len): Renamed from dirlen.  All callers changed.
21145         Rewrite in terms of base_name, for simplicity and consistency.
21146         (dir_name): Never return NULL.  All callers changed.
21147         Do not include <stdlib.h> in test program; no longer needed.
21148         return 0; is fine for test program.
21149
21150         * lib/dirname.h (DIRECTORY_SEPARATOR, ISSLASH, FILESYSTEM_PREFIX_LEN):
21151         New macros.
21152         (base_name, base_len, dir_len, strip_trailing_slashes): New decls.
21153
21154         * lib/path-concat.c (path_concat): Use base_len to compute
21155         base length, not strlen; this means we cannot rely on memcpy
21156         to null-terminate.
21157
21158         * lib/same.c (STREQ): Remove.
21159         (same_name): Handle the case where the basename ends in trailing '/'.
21160
21161         * lib/stripslash.c (strip_trailing_slashes): Return nonzero if
21162         a slash was stripped.  Do not strip the last slash after a
21163         file system prefix.
21164
21165 2001-05-11  Paul Eggert  <eggert@twinsun.com>
21166
21167         * lib/Makefile.am (libfetish_a_SOURCES):
21168         Add strftime.c, since we now compile it on all hosts.
21169
21170         * lib/strftime.c (my_strftime):
21171         Define to nstrftime if emacs, but only if my_strftime is not defined.
21172         (extra_args, extra_args_spec, extra_args_spec_iso): Rename from
21173         ut_argument, ut_argument_spec, ut_argument_spec_iso, respectively.
21174         Add one more extra argument: a nanoseconds value.
21175         All uses changed.
21176         (ns): New macro.
21177         (my_strftime function): Add %N format.
21178         (emacs_strftimeu): Renamed from emacs_strftime,
21179         with extra ut argument.
21180
21181 2001-05-09  Paul Eggert  <eggert@twinsun.com>
21182
21183         * m4/jm-macros.m4 (jm_MACROS): Do not check for fseeko; no longer used.
21184
21185 2001-04-21  Jim Meyering  <meyering@lucent.com>
21186
21187         * m4/rmdir-errno.m4: Write to a new file, so that a restrictive umask
21188         doesn't interfere.
21189
21190 2001-04-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
21191
21192         * m4/ftruncate.m4: Check for chsize.
21193         Link with ftruncate.o unconditionally if ftruncate is missing.
21194         This was required when cross-compiling to i586-mingw32msvc.
21195
21196 2001-04-08  Jim Meyering  <meyering@lucent.com>
21197
21198         * lib/getdate.y (get_date): Set tm_isdst to -1 to ensure that it is
21199         recomputed; that's necessary when the offset spans a DST transition.
21200         Patch by David J. MacKenzie.  Reported by Hon-Yin Kok.
21201
21202 2001-04-02  Jim Meyering  <meyering@lucent.com>
21203
21204         * lib/regex.h, regex.c: Update from GNU libc.
21205
21206 2001-03-24  Jim Meyering  <meyering@lucent.com>
21207
21208         * m4/jm-macros.m4: Require autoconf-2.49d.
21209
21210 2001-03-20  Bruno Haible  <haible@clisp.cons.org>
21211
21212         * m4/iconv.m4 (jm_ICONV): Recommend GNU libiconv.
21213
21214 2001-03-19  Paul Eggert  <eggert@twinsun.com>
21215
21216         * lib/version-etc.c (version_etc_copyright): Update to 2001.
21217
21218 2001-03-17  Jim Meyering  <meyering@lucent.com>
21219
21220         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Remove my copy of AC_FUNC_MEMCMP,
21221         now that the version in autoconf is equivalent.
21222         (jm_FUNC_MEMCMP): Adjust to use AC_FUNC_MEMCMP.
21223
21224         * m4/error.m4 (jm_PREREQ_ERROR): Invoke AC_FUNC_STRERROR_R.
21225         Suggestion from Akim Demaille.
21226
21227         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_TEMPNAME.
21228         (jm_PREREQ_TEMPNAME): New function.
21229
21230 2001-03-16  Paul Eggert  <eggert@twinsun.com>
21231
21232         * lib/tempname.c (uint64_t): Define to uintmax_t if
21233         not defined, and if UINT64_MAX is not defined.
21234         Required at least for Vax Ultrix4.3, which doesn't define uint64_t.
21235         Reported by John David Anglin.
21236
21237 2001-03-15  Bruno Haible  <haible@clisp.cons.org>
21238
21239         * lib/localcharset.c (locale_charset): Allow wildcard syntax. Also
21240         resolve alias if codeset is empty.
21241         * lib/config.charset (BeOS): Use wildcard syntax.
21242
21243 2001-03-13  Jim Meyering  <meyering@lucent.com>
21244
21245         * lib/path-concat.c (path_concat)
21246         [FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't insert a backslash when
21247         concatenating e.g., `C:' and `foo'.
21248         From Bruno Haible.
21249
21250 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
21251
21252         * lib/localcharset.c (locale_charset): Don't use
21253         setlocale(LC_CTYPE,NULL). Don't return NULL.
21254         * lib/unicodeio.c (print_unicode_char): Simplify accordingly.
21255
21256 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
21257
21258         * lib/config.charset: Update for FreeBSD 4.2 and OSF/1 5.1. Add
21259         support for DOS/DJGPP.
21260
21261 2001-03-01  Paul Eggert  <eggert@twinsun.com>
21262
21263         * m4/jm-macros.m4 (jm_MACROS): Use mkstemp replacement if the system
21264         lacks mkstemp.  Compile our own tempname.c if we compile our own
21265         mkstemp.c, as mkstemp relies on tempname.
21266
21267 2001-03-01  Jim Meyering  <meyering@lucent.com>
21268
21269         * m4/dos.m4 (jm_AC_DOS): Remove extra backslashes, now that
21270         AH_VERBATIM really does output its argument verbatim.
21271
21272 2001-02-28  Paul Eggert  <eggert@twinsun.com>
21273
21274         * lib/Makefile.am (libfetish_a_SOURCES):
21275         Add dup-safer.c, fopen-safer.c.
21276         (noinst_HEADERS): Add stdio-safer.h, unistd-safer.h.
21277
21278         * lib/dup-safer.c, lib/fopen-safer.c, lib/stdio-safer.h:
21279         * lib/unistd-safer.h: New files.
21280
21281 2001-02-25  Paul Eggert  <eggert@twinsun.com>
21282
21283         The mkstemp replacement is taken from glibc 2.2.2, with some
21284         portability fixes for use outside glibc, as follows:
21285
21286         * lib/tempname.c (struct_stat64): New macro.
21287         (direxists, __gen_tempname): Use it.
21288         This avoids a portability problem with Solaris 8.
21289
21290         * lib/tempname.c (<config.h>): Include if HAVE_CONFIG_H.
21291         (<stddef.h>, <stdint.h>, <string.h>):
21292         Include only if STDC_HEADERS || _LIBC.
21293         (<fcntl.h>): Include only if HAVE_FCNTL_H || _LIBC.
21294         (<unistd.h>): Include only if HAVE_UNISTD_H || _LIBC.
21295         (<sys/time.h>): Include only if HAVE_SYS_TIME_H || _LIBC.
21296         (__set_errno): Define this macro if <errno.h> doesn't.
21297         (P_tmpdir, TMP_MAX, __GT_FILE, __GT_BIGFILE, __GT_DIR, __GT_NOCREATE):
21298         Define these macros if <stdio.h> doesn't.
21299         (S_ISDIR, S_IRUSR, S_IWUSR, S_IXUSR):
21300         Define these macros if <sys/stat.h>
21301         doesn't.  Ignore <sys/stat.h> S_ISDIR if STAT_MACROS_BROKEN.
21302         (stat64, __getpid, __gettimeofday, __mkdir, __open, __open64, lxstat64,
21303         __xstat64): Define if not _LIBC.
21304         (__secure_getenv): Define if ! (HAVE___SECURE_GETENV || _LIBC).
21305         (__gen_tempname): Invoke gettimeofday only if
21306         HAVE_GETTIMEOFDAY || _LIBC;
21307         otherwise, fall back on plain "time".
21308         Use macros like S_IRUSR | S_IWUSR rather than octal values like 0600.
21309
21310         * lib/mkstemp.c (__GT_FILE): Define to zero if not defined.
21311
21312         * lib/mkstemp.c, lib/tempname.c: New files, taken from glibc 2.2.2.
21313
21314 2001-02-18  Paul Eggert  <eggert@twinsun.com>
21315
21316         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for sys/resource.h.
21317
21318 2001-02-17  Paul Eggert  <eggert@twinsun.com>
21319
21320         * m4/mbrtowc.m4: New file, defining jm_FUNC_MBRTOWC.
21321         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH):
21322         Use jm_FUNC_MBRTOWC, not AC_CHECK_FUNCS(mbrtowc).
21323         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
21324
21325 2001-02-17  Paul Eggert  <eggert@twinsun.com>
21326
21327         * lib/mbswidth.c, quotearg.c (mbrtowc, mbsinit):
21328         Remove workaround macros for hosts that have mbrtowc but not
21329         mbstate_t, as we now insist on proper declarations for both
21330         before using mbrtowc.
21331
21332 2001-02-17  Jim Meyering  <meyering@lucent.com>
21333
21334         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Don't check for
21335         getmntent via AC_CHECK_FUNCS, since that would get a `no' and disrupt
21336         further attempts by AC_FUNC_GETMNTENT to check with e.g., -lgen on
21337         UnixWare 7.1.1.
21338
21339         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Adapt to use AC_CACHE_CHECK etc.,
21340         rather than AC_CACHE_VAL.
21341
21342 2001-02-17  Jim Meyering  <meyering@lucent.com>
21343
21344         * lib/strtoul.c: Sync from GNU libc.  Use double quotes, not <...>
21345         around included file name.
21346
21347         * lib/strnlen.c (__strnlen): Merge in a change from GNU libc.
21348
21349         * lib/strftime.c: Update from GNU libc (the only changes were to
21350         comments).
21351
21352 2001-02-17  Jim Meyering  <meyering@lucent.com>
21353
21354         * lib/regex.c: Update from libc.
21355
21356 2001-02-17  Bruno Haible  <haible@clisp.cons.org>
21357
21358         * lib/mbswidth.h (mbswidth): Also define as macro, to avoid prototype
21359         clash.
21360
21361 2001-02-16  Paul Eggert  <eggert@twinsun.com>
21362
21363         * lib/alloca.c (malloc): Undef before defining, since stdlib.h
21364         may have defined it.  Needed for Encore Umax-3.0.9.16b systems.
21365         Reported by Mark Hounschell via Paul Eggert.
21366
21367 2001-02-07  Jim Meyering  <meyering@lucent.com>
21368
21369         * m4/regex.m4 (jm_INCLUDED_REGEX): Add a test for the latest bug.
21370
21371 2001-02-05  Jim Meyering  <meyering@lucent.com>
21372
21373         * m4/jm-macros.m4: Require autoconf-2.14d (not yet released), because
21374         it includes the patch required for `large file' support with at least
21375         HP-UX's 10.20 /bin/cc.
21376
21377 2001-02-03  Jim Meyering  <meyering@lucent.com>
21378
21379         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Restore prior use of
21380         AS_IF, now that it works once again (mysteriously).
21381         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
21382
21383 2001-01-30  Jim Meyering  <meyering@lucent.com>
21384
21385         Don't use filenames that are 8.3-equivalent to "conftest" on DOS.
21386         * m4/chown.m4: Rename conftestchown to conftest.chown.
21387         * m4/rename.m4: s/conftestdir/conftest.d1/ and
21388         s/conftestdir2/conftest.d2/.
21389         * m4/utimes.m4: s/conftestdata/conftest.data/
21390         Inspired by Pavel Roskin's change in autoconf.
21391
21392 2001-01-30  Bruno Haible  <haible@clisp.cons.org>
21393
21394         * lib/config.charset: Update for FreeBSD 4.2.
21395
21396 2001-01-27  Jim Meyering  <meyering@lucent.com>
21397
21398         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Open-code what was
21399         a use of AS_IF.
21400         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
21401
21402 2001-01-26  Jim Meyering  <meyering@lucent.com>
21403
21404         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Check for stddef.h, now that
21405         quotearg.c includes it.
21406
21407 2001-01-26  Jim Meyering  <meyering@lucent.com>
21408
21409         * lib/quotearg.c: Include stddef.h.
21410         * lib/quote.c: Include stddef.h.
21411         Reported by Axel Kittenberger.
21412
21413         * lib/xmalloc.c [HAVE_DONE_WORKING_MALLOC_CHECK]: Enclose error-evoking
21414         line in double quotes so that it evokes a better diagnostic.
21415         [HAVE_DONE_WORKING_REALLOC_CHECK]: Likewise.
21416         Reported by Axel Kittenberger.
21417
21418 2001-01-24  Stefan Monnier  <monnier@cs.yale.edu>
21419
21420         * regex.c (mutually_exclusive_p): Don't blindly handle `charset_not'
21421         as if it was a `charset'.
21422
21423 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
21424
21425         * m4/iconv.m4 (jm_ICONV): Also check whether the iconv declaration
21426         has const.
21427
21428 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
21429
21430         * lib/unicodeio.c (print_unicode_char): Cast the second iconv() arg,
21431         to avoid a warning.  Add back 'const' to inptr.
21432
21433 2001-01-20  Jim Meyering  <meyering@lucent.com>
21434
21435         Be sure that headers are checked before used in code compiled
21436         for the type checks.
21437         * m4/jm-macros.m4 (jm_MACROS): Remove all header checks.
21438         In place of that, invoke jm_CHECK_ALL_TYPES.
21439         (jm_CHECK_ALL_HEADERS): New functions with the above checks.
21440         (jm_CHECK_ALL_TYPES): Require jm_CHECK_ALL_HEADERS.
21441         Alan Iwi reported a build failure on an f300-fujitsu-uxpv4.1_ES;
21442         The check for ssize_t was mistakenly run before the test for unistd.h.
21443
21444         The configure-time check for stdbool.h was missing.
21445         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_HASH.
21446         (jm_PREREQ_HASH): New function.
21447
21448 2001-01-17  Jim Meyering  <meyering@lucent.com>
21449
21450         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use AS_IF, not AS_IFELSE,
21451         for autoconf-2.49c.
21452         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Likewise.
21453
21454 2001-01-16  Jim Meyering  <meyering@lucent.com>
21455
21456         * lib/basename.c: Include <stdio.h>, needed by assert on SunOS 4.
21457         From Bruno Haible.
21458
21459 2001-01-14  Jim Meyering  <meyering@lucent.com>
21460
21461         * m4/rename.m4: Use temporary directories named conftestdir{,2}, not
21462         foo and bar.  Create conftestdir/ in the script, not in the C code.
21463         Remove directories in the script, not in the C code.
21464         Remove conftestdir{,2} before trying to create the directory.
21465         Make the entire configure script fail if the mkdir fails.
21466
21467 2001-01-14  Jim Meyering  <meyering@lucent.com>
21468
21469         * lib/rename.c: New file.  From Volker Borchert.
21470         Include stdlib.h, string.h or strings.h, and xalloc.h.
21471         Use strip_trailing_slashes rather than open-coding it.
21472
21473 2001-01-03  Paul Eggert  <eggert@twinsun.com>
21474
21475         * lib/strftime.c: Sync with glibc time/strftime.c 1.81.
21476
21477 2001-01-03  Jim Meyering  <meyering@lucent.com>
21478
21479         * lib/unicodeio.c (print_unicode_char): Remove `const' from declaration
21480         of local `inptr' to avoid warning with some system declarations of
21481         iconv.
21482
21483 2001-01-02  Volker Borchert  <bt@teknon.de>
21484
21485         * m4/rename.m4: New file.
21486         * m4/jm-macros.m4 (jm_MACROS): Require vb_FUNC_RENAME.
21487
21488 2001-01-01  Jim Meyering  <meyering@lucent.com>
21489
21490         * m4/prereq.m4 (jm_PREREQ_READUTMP): Include utmp.h (if available),
21491         even on systems with utmpx.h.  It's necessary for the declaration of
21492         utmp's ut_user member.  Reported by Andreas Jaeger.
21493
21494         * m4/check-decl.m4 (jm_CHECK_DECLS): Include grp.h and pwd.h if
21495         available. They are required for the declarations of getgrgid and
21496         getpwuid resp.
21497         (_jm_DECL_HEADERS): Check for grp.h and pwd.h.
21498         Reported by Andreas Jaeger.
21499
21500 2001-01-01  Alexandre Duret-Lutz  <duret_g@epita.fr>
21501
21502         * m4/libintl.m4 (AM_GNU_GETTEXT): Define MKINSTALLDIRS by
21503         expanding the value of $ac_aux_dir, as in AM_MISSING_HAS_RUN,
21504         so `make install' also works in VPATH builds.
21505
21506 2000-12-31  Alexandre Duret-Lutz  <duret_g@epita.fr>
21507
21508         * m4/libintl.m4 (AM_WITH_NLS): When using AC_CONFIG_AUX_DIR,
21509         prepend $(top_srcdir) to the value of MKINSTALLDIRS so that it
21510         can be used in subdirectories.
21511
21512 2000-12-29  Paul Eggert  <eggert@twinsun.com>
21513
21514         * lib/modechange.c: Do not assume that mode_t uses the
21515         traditional octal encoding.  E.g. "chmod 1 FOO" should set
21516         the other-execute bit of FOO even if S_IXOTH != 1.
21517
21518         (SUID, SGID, SVTX, RUSR, WUSR, XUSR, RGRP, WGRP, XGRP, ROTH,
21519         WOTH, XOTH, ALLM): New macros.
21520         (S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR,
21521          S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH):
21522         Use them.
21523         (S_ISGID): Fix typo; it was defaulting to the same value as S_ISUID.
21524         (S_IRWXU, S_IRWXG, S_IRWXO): Specify defaults in terms of the above.
21525         (mode_compile):
21526         No need to use uintmax_t; unsigned long is long enough.
21527         Don't bother to get suffix since we don't use it.
21528
21529 2000-12-26  Jim Meyering  <meyering@lucent.com>
21530
21531         * m4/dos.m4 (jm_AC_DOS): Rewrite (though it's still a stub) to work
21532         better with autoheader.
21533
21534 2000-12-24  Jim Meyering  <meyering@lucent.com>
21535
21536         * lib/hash.c (is_prime): Return explicit boolean values.
21537         (hash_get_first): Return NULL to appease Irix5.6's 89.
21538         Reported by Nelson Beebe.
21539
21540 2000-12-19  Bruno Haible  <haible@clisp.cons.org>
21541
21542         * lib/localcharset.c (locale_charset): Add support for Win32.
21543
21544 2000-12-18  Paul Eggert  <eggert@twinsun.com>
21545
21546         * lib/physmem.h, lib/physmem.c: New files.
21547
21548         * lib/Makefile.am (libfetish_a_SOURCES): Add physmem.c.
21549         (noinst_HEADERS): Add physmem.h.
21550
21551         * lib/xstrtol.c (__xstrtol): Add undocumented suffixes 'g' and
21552         't' for compatibility with Solaris 8 sort.
21553
21554 2000-12-18  Bruno Haible  <haible@clisp.cons.org>
21555
21556         * lib/config.charset: Add support for BeOS.
21557
21558 2000-12-17  Jim Meyering  <meyering@lucent.com>
21559
21560         * m4/dos.m4 (jm_AC_DOS): New file and macro.
21561         * m4/jm-macros.m4 (jm_MACROS): Require jm_AC_DOS.
21562
21563 2000-12-16  Jim Meyering  <meyering@lucent.com>
21564
21565         This bug had a serious impact on chown: `chown N:M FILE' (for integer
21566         N and M) would have treated it like `chown N:N FILE'.
21567
21568         * lib/userspec.c (parse_user_spec): Fix typo: s/u/g/.
21569
21570 2000-12-16  Jim Meyering  <meyering@lucent.com>
21571
21572         * lib/getusershell.c [!SHELLS_FILE && __DJGPP__]: Define
21573         SHELLS_FILE to a file name that's useful on djgpp systems.
21574         Include stdlib.h.
21575         (ADDITIONAL_DEFAULT_SHELLS): Define.
21576         (default_shells): Prepend ADDITIONAL_DEFAULT_SHELLS.
21577         Based mostly on a patch from Prashant TR.
21578
21579 2000-12-16  Bruno Haible  <haible@clisp.cons.org>
21580
21581         * lib/config.charset: Add ISO-8859-3, BIG5HKSCS, GB18030, JOHAB,
21582         VISCII, CP874, CP949, CP950, CP1250, CP1253, CP1254, CP1255, CP1256,
21583         CP1257 to the list of canonical encodings. Rename EUC-CN to GB2312.
21584
21585 2000-12-08  Andreas Schwab  <schwab@suse.de>
21586
21587         * lib/mbswidth.c (mbsnwidth): Don't loop endlessly when called with an
21588         invalid mulitbyte sequence and with the MBSW_ACCEPT_INVALID flag set.
21589
21590 2000-12-07  Jim Meyering  <meyering@lucent.com>
21591
21592         * lib/stripslash.c (ISSLASH): Define.
21593         (strip_trailing_slashes): Use ISSLASH rather than comparing against
21594         `/'.
21595         From Prashant TR.
21596
21597         * lib/dirname.c (FILESYSTEM_PREFIX_LEN): Define.
21598         (dir_name_r): Declare this function as static.
21599         [BACKSLASH_IS_PATH_SEPARATOR]: Fix a bug that'd
21600         manifest itself on a name containing a mix of slashes and
21601         backslashes.
21602         Make this function work with names starting with a DOS-style
21603         drive letter and colon prefix.
21604         (dir_name): Append `.' if necessary.
21605         Based mostly on patches from Prashant TR and Eli Zaretskii.
21606
21607         * lib/dirname.h (dir_name_r): Remove prototype.
21608
21609 2000-12-06  Paul Eggert  <eggert@twinsun.com>
21610
21611         * m4/off_t-format.m4: Remove this file.
21612         * m4/jm-macros.m4 (jm_MACROS): Remove jm_SYS_OFF_T_PRINTF_FORMAT.
21613
21614 2000-12-06  Jim Meyering  <meyering@lucent.com>
21615
21616         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): If we need the
21617         replacement strtoull, we may well need the replacement strtoul, too.
21618         Check for declarations of strtoul and strtoull.
21619         Check for strtol.  Mainly as a cue to cause automake to include
21620         strtol.c -- that file is included by each of strtoul.c and strtoull.c.
21621         Check for limits.h -- strtol.c needs it.
21622
21623 2000-12-05  Jim Meyering  <meyering@lucent.com>
21624
21625         * lib/dirname.c (dir_name_r): Add `const' in a few local declarations.
21626
21627 2000-12-04  Jim Meyering  <meyering@lucent.com>
21628
21629         * lib/path-concat.c: [!HAVE_DECL_MALLOC]: Declare malloc.
21630         Also include memory.h, stdlib.h, unistd.h if appropriate.
21631         Reported by Andreas Jaeger (conflicting declaration of malloc).
21632
21633 2000-12-02  Jim Meyering  <meyering@lucent.com>
21634
21635         * m4/off_t-format.m4 (OFF_T_PRINTF_FORMAT_STRING): New file/macro.
21636         * m4/jm-macros.m4 (jm_MACROS): require it.
21637
21638 2000-12-02  Jim Meyering  <meyering@lucent.com>
21639
21640         * lib/closeout.h: Make idempotent, to avoid some obscure warnings.
21641
21642 2000-12-01  Paul Eggert  <eggert@twinsun.com>
21643
21644         * lib/memrchr.c: Include <config.h> before any system include file.
21645
21646 2000-11-30  Jim Meyering  <meyering@lucent.com>
21647
21648         * m4/jm-macros.m4 (jm_MACROS): Check for stdint.h.
21649
21650 2000-11-30  Jim Meyering  <meyering@lucent.com>
21651
21652         * m4/getloadavg.m4: s/ifval/m4_ifval/ to accommodate new autoconf.
21653
21654 2000-11-29  Paul Eggert  <eggert@twinsun.com>
21655
21656         * lib/dirname.c (dir_name_r): Fix typo: int -> size_t.
21657
21658 2000-11-26  Jim Meyering  <meyering@lucent.com>
21659
21660         * lib/memcoll.c: Include sys/types.h.  From Werner Almesberger.
21661
21662 2000-11-22  Paul Eggert  <eggert@twinsun.com>
21663
21664         * lib/strftime.c (my_strftime): Do not invoke mbrlen with a
21665         size of (size_t) -1; it's not portable.
21666
21667 2000-11-17  Jim Meyering  <meyering@lucent.com>
21668
21669         * lib/strstr.c: Update from GNU libc.
21670
21671 2000-11-17  Akim Demaille  <akim@epita.fr>
21672
21673         * lib/obstack.h: Formatting changes.
21674         (obstack_grow, obstack_grow0): Don't cast WHERE at all: that would
21675         prevent type checking.
21676         (obstack_ptr_grow, obstack_ptr_grow_fast): When assigning, don't
21677         cast the value to (void *): assigning a `foo *' to a `void *'
21678         variable is valid.
21679         (obstack_int_grow, obstack_int_grow_fast): Don't cast AINT to int.
21680
21681 2000-11-16  Jim Meyering  <meyering@lucent.com>
21682
21683         * lib/strverscmp.c: Incorporate weak-alias-related changes from glibc.
21684
21685 2000-11-11  Jim Meyering  <meyering@lucent.com>
21686
21687         * lib/error.c: Add a couple #includes, merging from GNU libc version.
21688
21689 2000-11-10  Jim Meyering  <meyering@lucent.com>
21690
21691         * lib/obstack.h: Update from GNU libc.
21692         * lib/obstack.c: Likewise.
21693
21694 2000-11-08  Bruno Haible  <haible@clisp.cons.org>
21695
21696         * m4/jm-macros.m4 (jm_MACROS): Add test for wcrtomb.
21697
21698 2000-11-06  Paul Eggert  <eggert@twinsun.com>
21699
21700         * lib/getusershell.c (setusershell): Use rewind rather than
21701         fseek/fseeko, to avoid configuration hassles with fseeko.
21702         Don't bother opening SHELLS_FILE if shellstream is NULL;
21703         it's not necessary.
21704
21705 2000-11-05  Jim Meyering  <meyering@lucent.com>
21706
21707         * lib/makepath.h (make_dir): Declare.
21708         * lib/makepath.c (make_dir): Remove `static' attribute.
21709         Tweak a comment.
21710
21711 2000-11-04  Jim Meyering  <meyering@lucent.com>
21712
21713         * m4/regex.m4: Use the `m4_' prefix on `syscmd' and `m4_sysval'.
21714
21715 2000-11-04  Alexandre Duret-Lutz  <duret_g@epita.fr>
21716
21717         * lib/hash.c (hash_get_next): Fix a thinko:  when ENTRY is the
21718         last one in a bucket, advance to the next bucket.
21719
21720 2000-11-02  Vesselin Atanasov  <vesselin@bgnet.bg>
21721
21722         * lib/fnmatch.c: Do not comment out all the code if we are using
21723         the GNU C library, because in some cases we are replacing buggy
21724         code in the GNU C library itself.
21725
21726 2000-10-30  Stefan Monnier  <monnier@cs.yale.edu>
21727
21728         * regex.c (re_iswctype, re_wctype_to_bit): Fix braino.
21729         (regex_compile): Catch bogus \(\1\).
21730
21731 2000-10-30  Paul Eggert  <eggert@twinsun.com>
21732
21733         * lib/fnmatch.c (FOLD): Do not assume that characters are unsigned.
21734         (fnmatch): Fix some FNM_FILE_NAME and FNM_LEADING_DIR bugs,
21735         e.g. fnmatch("d*/*1", "d/s/1", FNM_FILE_NAME) incorrectly yielded zero.
21736
21737 2000-10-30  Paul Eggert  <eggert@twinsun.com>
21738
21739         * lib/error.h, getline.h, modechange.h:
21740         Remove "2000" from Copyright line, as the file hasn't been
21741         changed this year other than in the copyright notice.
21742
21743         * lib/xalloc.h: Add "2000" to Copyright line, as this file
21744         was changed this year.
21745
21746 2000-10-29  Jim Meyering  <meyering@lucent.com>
21747
21748         * m4/fsusage.m4: s/AC_SHELL_IFELSE/AS_IFELSE/ to match autoconf
21749         renaming.
21750         * m4/ls-mntd-fs.m4: Likewise
21751
21752 2000-10-29  Jim Meyering  <meyering@lucent.com>
21753
21754         * lib/xstat.in: Fix grammar in comment.
21755
21756 2000-10-29  Greg Louis  <glouis@dynamicro.on.ca>
21757
21758         * lib/regex.h (__restrict_arr): Move definition out of #ifndef block.
21759         Required because egcs-2.91.66 (aka 1.1.2) defines __restrict, but
21760         doesn't define __restrict_arr.
21761
21762 2000-10-28  Jim Meyering  <meyering@lucent.com>
21763
21764         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_MEMCHR.
21765         (jm_PREREQ_MEMCHR): New function.
21766
21767 2000-10-28  Jim Meyering  <meyering@lucent.com>
21768
21769         * lib/memchr.c: Update from libc.
21770         Adjust for portability:
21771         [HAVE_STDLIB_H]: Include stdlib.h.
21772         [HAVE_BP_SYM_H || _LIBC]: Guard inclusion of bp-sym.h.
21773         Undef __memchr, too.
21774         [!weak_alias]: Define __memchr to memchr.
21775
21776         * lib/regex.c: Update from libc.
21777         * lib/regex.h: Likewise.
21778         * lib/getopt1.c: Likewise.
21779         * lib/memcmp.c: Likewise.
21780
21781         * lib/getusershell.c (setusershell) [HAVE_FSEEKO]: Use fseeko.
21782         Avoid using fseek, when possible -- it's broken by design.
21783         Patch by Ulrich Drepper.
21784
21785 2000-10-27  Stefan Monnier  <monnier@cs.yale.edu>
21786
21787         * regex.c (POP_FAILURE_REG_OR_COUNT, re_match_2_internal)
21788         (re_match_2_internal, re_match_2_internal, re_match_2_internal):
21789         Giving in to popular pressure to shut up the compiler with casts.
21790
21791 2000-10-26  Jim Meyering  <meyering@lucent.com>
21792
21793         * lib/strftime.c: Update from libc.
21794
21795 2000-10-25  Stefan Monnier  <monnier@cs.yale.edu>
21796
21797         * regex.c: More `unsigned char' -> `re_char' changes.
21798         Also change several `int' into `re_wchar_t'.
21799         (PATTERN_STACK_EMPTY, PUSH_PATTERN_OP, POP_PATTERN_OP): Remove.
21800         (PUSH_FAILURE_POINTER): Don't cast any more.
21801         (POP_FAILURE_REG_OR_COUNT): Remove the cast that strips `const'.
21802         We want GCC to complain, since this piece of code makes
21803         re_match non-reentrant, which *should* be fixed.
21804         (GET_BUFFER_SPACE): Use size_t rather than unsigned long.
21805         (EXTEND_BUFFER): Use RETALLOC.
21806         (SET_LIST_BIT): Don't cast.
21807         (re_wchar_t): New type.
21808         (re_iswctype, re_wctype_to_bit): Make it crystal clear to GCC
21809         that those two functions will always properly return.
21810         (IMMEDIATE_QUIT_CHECK): Cast to void.
21811         (analyse_first): Use recursion rather than an explicit stack.
21812         (re_compile_fastmap): Can't fail anymore.
21813         (re_search_2): Don't check re_compile_fastmap for failure.
21814         (PUSH_NUMBER): Renamed from PUSH_FAILURE_COUNT.
21815         Now also sets the new value (passed in a new argument).
21816         (re_match_2_internal): Use it.
21817         Also, use a new var `reg' of type size_t when looping through regs
21818         rather than reuse the inappropriate `mcnt'.
21819
21820 2000-10-25  Jim Meyering  <meyering@lucent.com>
21821
21822         * lib/obstack.c: Update from libc.
21823
21824 2000-10-24  Kenichi Handa  <handa@etl.go.jp>
21825
21826         * regex.c (regex_compile): Change the way of handling a range from
21827         a char less than 256 to a char not less than 256.
21828
21829 2000-10-24  Andrew Innes  <andrewi@gnu.org>
21830
21831         * regex.c (IMMEDIATE_QUIT_CHECK): New macro, which does QUIT on
21832         NT-Emacs only.
21833         (re_match_2_internal): Use IMMEDIATE_QUIT_CHECK instead of QUIT,
21834         so that re_search functions only quit when callers expect them to.
21835
21836 2000-10-23  Jim Meyering  <meyering@lucent.com>
21837
21838         * lib/hard-locale.c (hard_locale): Revert last change -- it was simply
21839         wrong.  That set_locale call must not have any side effects.
21840         From Paul Eggert.
21841
21842 2000-10-22  Jim Meyering  <meyering@lucent.com>
21843
21844         * lib/md5.c (md5_process_block) [OP]: Use `rol', not CYCLIC.
21845         [CYCLIC]: Remove now-unused definition.
21846
21847         * lib/save-cwd.c (O_DIRECTORY): Define, if needed.
21848         (save_cwd) [HAVE_FCHDIR]: Use O_DIRECTORY when opening ".".
21849         Suggestion from Ulrich Drepper.
21850
21851 2000-10-21  Jim Meyering  <meyering@lucent.com>
21852
21853         * m4/check-decl.m4 (jm_CHECK_DECLS): Also check for memrchr.
21854         * m4/prereq.m4 (jm_PREREQ_DIRNAME): New macro.
21855         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memrchr.
21856
21857 2000-10-21  Jim Meyering  <meyering@lucent.com>
21858
21859         * lib/dirname.c (memrchr): Declare if necessary.
21860         (dir_name): Remove the restriction that there be no
21861         trailing slashes.  Now, this code skips past them, effectively
21862         ignoring them.
21863         [TEST_DIRNAME] (main): New unit tests.
21864
21865         * lib/memrchr.c: New file from GNU libc.
21866         Undef __memrchr, too.
21867         [!weak_alias]: Define __memrchr to memrchr.
21868         Guard weak_alias use with `#ifdef weak_alias'.
21869
21870 2000-10-21  Jim Meyering  <meyering@lucent.com>
21871
21872         * lib/dirname.c (dir_name_r): New function, factored out of dir_name.
21873         (dir_name): Use dir_name_r.
21874         * lib/dirname.h (dir_name_r): Declare it.
21875
21876 2000-10-17  Jim Meyering  <meyering@lucent.com>
21877
21878         * lib/quote.h (PARAMS): Define and use.
21879         Reported by Akim Demaille.
21880
21881         * lib/getopt.c: Update from libc.
21882
21883 2000-10-16  Jim Meyering  <meyering@lucent.com>
21884
21885         * lib/hard-locale.c (hard_locale): Use "", not 0 as 2nd arg to
21886         setlocale.
21887         From Jan Fedak.
21888
21889 2000-10-15  Stefan Monnier  <monnier@cs.yale.edu>
21890
21891         * regex.c (WIDE_CHAR_SUPPORT): Define if _LIBC as well.
21892
21893 2000-09-25  Jim Meyering  <meyering@lucent.com>
21894
21895         * lib/md5.h (rol): Define (from GnuPG).
21896
21897         * lib/sha.c: Give credit (GnuPG) where due.
21898         (M): Use rol rather than open-coding it.
21899         Add a FIXME comment.
21900
21901 2000-09-21  Jim Meyering  <meyering@lucent.com>
21902
21903         * lib/userspec.c (parse_user_spec): Remove debugging printf I'd added.
21904         Reported by Michael Stone.
21905
21906 2000-09-20  Jim Meyering  <meyering@lucent.com>
21907
21908         * lib/Makefile.am (libfetish_a_SOURCES): Add sha.c.
21909         (noinst_HEADERS): Add sha.h.
21910         Based on code from Scott G. Miller and from GnuPG.
21911
21912 2000-09-18  Jim Meyering  <meyering@lucent.com>
21913
21914         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Restore the initial value of
21915         LIBS. Otherwise, everyone ends up linking with -lelf for some
21916         configurations.
21917         Reported by Mike Stone.
21918
21919 2000-09-15  Jim Meyering  <meyering@lucent.com>
21920
21921         * lib/regex.c: Update from libc.
21922
21923 2000-09-10  Jim Meyering  <meyering@lucent.com>
21924
21925         * lib/getopt.c (_getopt_internal): Update from glibc.
21926
21927 2000-09-09  Jim Meyering  <meyering@lucent.com>
21928
21929         * lib/quotearg.c: Rename ISASCII to IN_CTYPE_DOMAIN, so people don't
21930         think it should be used as a general replacement for isascii.
21931         * lib/fnmatch.c: Likewise.
21932         * lib/mbswidth.c: Likewise
21933         * lib/regex.c: Likewise.
21934
21935         Don't use atoi.
21936         * lib/userspec.c: Include sys/param.h and limits.h.
21937         Include xstrtol.h.
21938         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
21939         (UID_T_MAX, GID_T_MAX, MAXUID, MAXGID): Define.
21940         (parse_user_spec): Use xstrtoul, not atoi when converting numeric
21941         UID, GID.  Check range.
21942
21943 2000-09-06  Jim Meyering  <meyering@lucent.com>
21944
21945         * lib/getopt.c (_getopt_internal): Update from glibc.
21946
21947 2000-08-30  Jim Meyering  <meyering@lucent.com>
21948
21949         * lib/strftime.c: Merge in changes from GNU libc.
21950
21951 2000-08-26  Jim Meyering  <meyering@lucent.com>
21952
21953         * m4/jm-macros.m4: Use jm_FUNC_FPENDING.
21954         * m4/fpending.m4: New file.
21955
21956 2000-08-26  Jim Meyering  <meyering@lucent.com>
21957
21958         * lib/closeout.c: Include "__fpending.h".
21959         (close_stdout_status): Return right away if there's nothing to flush.
21960
21961         * lib/Makefile.am (noinst_HEADERS): Add __fpending.h.
21962         * lib/__fpending.c: New file.
21963         * lib/__fpending.h: New file.
21964
21965 2000-08-20  Jim Meyering  <meyering@lucent.com>
21966
21967         * m4/check-decl.m4: Include utmp.h `#if HAVE_UTMP_H', rather than
21968         `#if !HAVE_UTMPX_H'.  The latter would lose on systems with neither
21969         utmp.h nor utmpx.h.  Reported by Eli Zaretskii.
21970
21971 2000-08-11  J. David Anglin  <dave@hiauly1.hia.nrc.ca>
21972
21973         Improve fileutils installation on systems where running
21974         programs (like install) can't be unlinked.
21975         * m4/unlink-busy.m4 (jm_FUNC_UNLINK_BUSY_TEXT): New file/macro.
21976         * m4/jm-macros.m4: Use jm_FUNC_UNLINK_BUSY_TEXT.
21977
21978 2000-08-07  Paul Eggert  <eggert@twinsun.com>
21979
21980         Standardize on "memory exhausted" instead of "Memory exhausted"
21981         or "virtual memory exhausted".
21982         * lib/obstack.c (print_and_abort): Use "memory exhausted", not
21983         "virtual memory exhausted".
21984         * lib/same.c (same_name): Invoke xalloc_die instead of printing
21985         our own message.
21986         * lib/userspec.c (parse_user_spec): Likewise.
21987         * lib/bumpalloc.h: comment fix
21988         * lib/same.c, userspec.c: Include xalloc.h.
21989
21990         * lib/xalloc.h (xalloc_msg_memory_exhausted): Now char const[],
21991         not char *const and pointing to a constant array.
21992         * lib/xmalloc.c (xalloc_msg_memory_exhausted): Likewise.
21993         (xrealloc): Comment fix.
21994
21995         * lib/userspec.c (parse_user_spec):
21996         Don't translate a message until just before returning,
21997         to avoid unnecessary translation.
21998
21999 2000-08-07  Jim Meyering  <meyering@lucent.com>
22000
22001         * lib/addext.c, argmatch.c, argmatch.h, backupfile.h, bumpalloc.h,
22002         chown.c, diacrit.h, dirname.h, dup2.c, exclude.h, fileblocks.c,
22003         fnmatch.c, fnmatch.h, fsusage.c, fsusage.h, getdate.h,
22004         getgroups.c, gethostname.c, getopt.h, group-member.c,
22005         hard-locale.c, hash.h, isdir.c, lchown.c, linebuffer.c,
22006         linebuffer.h, long-options.h, malloc.c, md5.c, md5.h, memchr.c,
22007         memcmp.c, memcoll.c, memset.c, mktime.c, modechange.h, obstack.h,
22008         pathmax.h, realloc.c, rmdir.c, safe-read.c, save-cwd.c, stime.c,
22009         stpcpy.c, strcasecmp.c, strcspn.c, strdup.c, stripslash.c,
22010         strstr.c, strtod.c, strtol.c, strtoul.c, strtoull.c, strtoumax.c,
22011         utime.c, version-etc.h, xalloc.h, xstrdup.c, xstrtoumax.c,
22012         yesno.c: Back out Copyright date changes for each file with no change
22013         this year.  This eases coordination with other programs using the same
22014         source code modules.  From Paul Eggert.
22015
22016 2000-08-06  Paul Eggert  <eggert@twinsun.com>
22017
22018         * m4/mbstate_t.m4 (AC_MBSTATE_T): Define mbstate_t to be int,
22019         not char, for compatibility with glibc 2.1.3 strftime.c.
22020
22021 2000-08-03  Greg McGary  <greg@mcgary.org>
22022
22023         * lib/regex.c (SET_HIGH_BOUND, MOVE_BUFFER_POINTER,
22024         ELSE_EXTEND_BUFFER_HIGH_BOUND): New macros.
22025         (EXTEND_BUFFER): Use them.
22026
22027 2000-08-01  Jim Meyering  <meyering@lucent.com>
22028
22029         * lib/dirname.c (ISSLASH): Define.
22030         (BACKSLASH_IS_PATH_SEPARATOR): Define.
22031         (dir_name) [BACKSLASH_IS_PATH_SEPARATOR]: Handle the case in which
22032         both `\' and `/' may be use as path separators.
22033         Based on a patch from Prashant TR.
22034
22035 2000-07-31  Paul Eggert  <eggert@twinsun.com>
22036
22037         * lib/quotearg.c (quotearg_n_options): Don't make the initial
22038         slot vector a constant, since it might get modified.
22039
22040 2000-07-31  Jim Meyering  <meyering@lucent.com>
22041
22042         * lib/xmalloc.c: Use `virtual memory exhausted', not
22043         `Memory exhausted'.
22044         * lib/obstack.c (print_and_abort): Likewise.
22045
22046 2000-07-30  Paul Eggert  <eggert@twinsun.com>
22047
22048         * lib/quotearg.c (quotearg_n_options): Preallocate a slot 0
22049         buffer, so that the caller can always quote one small
22050         component of a "memory exhausted" message in slot 0.
22051         From a suggestion by Jim Meyering.
22052
22053 2000-07-30  Jim Meyering  <meyering@lucent.com>
22054
22055         * lib/makepath.c (make_path): Quote the other instance, too.
22056
22057         * lib/quotearg.c (N_STATIC_SLOTVECS): Define.
22058         (STATIC_BUF_SIZE): Define.
22059         (quotearg_n_options): Use only statically allocated storage when
22060         N < N_STATIC_SLOTVECS and the length of the quoted result is smaller
22061         than STATIC_BUF_SIZE.
22062
22063 2000-07-29  Jim Meyering  <meyering@lucent.com>
22064
22065         * lib/diacrit.c (diacrit_diac): Use __MSDOS__ in favor of MSDOS.
22066         * lib/dirname.c (dir_name): Likewise.
22067
22068         * lib/basename.c (base_name): Use ISSLASH rather than comparing against
22069         `/'.
22070
22071         * lib/dirname.c (dir_name) [MSDOS]: Declare `lim' to be const.
22072         (dir_name): Assert that there are no trailing slashes.
22073
22074 2000-07-29  Bruno Haible  <haible@clisp.cons.org>
22075
22076         * lib/mbswidth.h (mbswidth): Add a flags argument.
22077         (mbswidth): New declaration.
22078         (MBSW_ACCEPT_INVALID, MBSW_ACCEPT_UNPRINTABLE): New macros.
22079         * lib/mbswidth.c (mbswidth): Add a flags argument.
22080         (mbsnwidth): New function.
22081
22082 2000-07-24  Jim Meyering  <meyering@lucent.com>
22083
22084         * lib/mbswidth.c: Remove useless #else.  From Bruno Haible.
22085
22086 2000-07-23  Paul Eggert  <eggert@twinsun.com>
22087
22088         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Check for wcwidth declaration.
22089
22090 2000-07-23  Paul Eggert  <eggert@twinsun.com>
22091
22092         * lib/quotearg.c: Streamline by invoking multibyte code only if needed.
22093         <wchar.h>: Include only if HAVE_MBRTOWC && 1 < MB_LEN_MAX.
22094         (MB_CUR_MAX): Redefine to 1 if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX).
22095         (quotearg_buffer_restyled): If a unibyte locale, don't bother to
22096         invoke multibyte primitives.
22097
22098 2000-07-23  Paul Eggert  <eggert@twinsun.com>
22099
22100         * lib/quotearg.c:
22101         Include <wchar.h> even if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX),
22102         so that mbstate_t is always defined.
22103
22104         Do not inspect MB_LEN_MAX, since it's incorrectly defined to
22105         be 1 in at least one GCC installation, and this configuration
22106         error is likely to be common.  Ignoring MB_LEN_MAX hurts
22107         performance on hosts that have mbrtowc but have only unibyte
22108         locales, but I assume these hosts are rare.
22109
22110 2000-07-23  Paul Eggert  <eggert@twinsun.com>
22111
22112         * lib/mbswidth.c (_XOPEN_SOURCE):
22113         Don't define; this causes problems on Solaris 7.
22114         (wcwidth) [!HAVE_DECL_WCWIDTH]: Declare.
22115
22116 2000-07-23  Jim Meyering  <meyering@lucent.com>
22117
22118         * m4/check-decl.m4 (jm_CHECK_DECLS): Check for declarations of these,
22119         too: getgrgid, getpwuid, getuid.
22120
22121 2000-07-23  Jim Meyering  <meyering@lucent.com>
22122
22123         * lib/basename.c (base_name): Add an assertion.
22124
22125 2000-07-23  Bruno Haible  <haible@clisp.cons.org>
22126
22127         * lib/quotearg.c: When the system forces us to redefine mbstate_t,
22128         shadow its mbsinit function.
22129
22130 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
22131
22132         * lib/mbswidth.h: New file.
22133         * lib/mbswidth.c: New file.
22134         * lib/Makefile.am (libfetish_a_SOURCES): Add mbswidth.c.
22135         (noinst_HEADERS): Add mbswidth.h.
22136
22137 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
22138
22139         * lib/config.charset: Add support for FreeBSD. Improve support for
22140         HP-UX and IRIX 6.
22141
22142 2000-07-16  Bruno Haible  <haible@clisp.cons.org>
22143
22144         * m4/mbswidth.m4: New file.
22145         * m4/prereq.m4 (jm_PREREQ): Call jm_PREREQ_MBSWIDTH.
22146
22147 2000-07-15  Jim Meyering  <meyering@lucent.com>
22148
22149         * lib/makepath.c: Include quote.h.
22150         (make_path): Convert "`%s'" in format strings to "%s", and wrap each
22151         corresponding argument in a `quote (...)' call.
22152         Give better diagnostics.
22153
22154         * lib/Makefile.am (libfetish_a_SOURCES): Add quote.c.
22155         (noinst_HEADERS): Add quote.h.
22156
22157         * lib/quote.c (quote, quote_n): New file.  Two functions taken verbatim
22158         from tar's src/misc.c.
22159         * lib/quote.h: New file.  Prototypes for same.
22160
22161 2000-07-14  Paul Eggert  <eggert@twinsun.com>
22162
22163         From a suggestion by Bruno Haible.
22164         * lib/quotearg.c (mbrtowc): Do not use HAVE_WCHAR_H in the definition.
22165         Use defined mbstate_t, not HAVE_MBSTATE_T_OBJECT,
22166         to decide whether to define the BeOS workaround macro;
22167         this adjusts to the change to AC_MBSTATE_T.
22168
22169 2000-07-14  Jim Meyering  <meyering@lucent.com>
22170
22171         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Require
22172         jm_AC_TYPE_UINTMAX_T.
22173
22174 2000-07-13  Paul Eggert  <eggert@twinsun.com>
22175
22176         * lib/quotearg.h (enum quoting style): New enum clocale_quoting_style.
22177
22178         * lib/quotearg.c (quoting_style_args, quoting_style_vals,
22179         quotearg_buffer_restyled): Add support for
22180         clocale_quoting_style.  Undo previous change to
22181         locale_quoting_style behavior, and undo the "{LEFT QUOTATION MARK}"
22182         and "{RIGHT QUOTATION MARK}" msgids.
22183
22184 2000-07-10  Paul Eggert  <eggert@twinsun.com>
22185
22186         From a suggestion by Bruno Haible.
22187         * m4/mbstate_t.m4 (AC_MBSTATE_T):
22188         Renamed from AC_MBSTATE_T_OBJECT.  All uses changed.
22189         Change from a two-part test, which defines both HAVE_MBSTATE_T_OBJECT
22190         and mbstate_t, to a single-part test that simply defines mbstate_t.
22191         * m4/prereq.m4 (jm_PREREQ_QUOTEARG):
22192         s/AC_MBSTATE_T_OBJECT/AC_MBSTATE_T/.
22193
22194 2000-07-10  Jim Meyering  <meyering@lucent.com>
22195
22196         * m4/strerror_r.m4: Mirror the correction made in autoconf.
22197
22198         * m4/gnu-source.m4: Output to confdefs.h directly.
22199         Suggestion from Akim Demaille.
22200
22201 2000-07-09  Paul Eggert  <eggert@twinsun.com>
22202
22203         The old behavior of quoting `like this' doesn't look good with
22204         newer, ISO-style fonts.  See:
22205         http://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html
22206
22207         Instead, quote "like this" by default.  Let the translator
22208         tailor the locale-specific quoting behavior by providing
22209         translations for {LEFT QUOTATION MARK} and {RIGHT QUOTATION MARK}.
22210
22211         * lib/quotearg.c (N_): New macro.
22212         (gettext_default): New function.
22213         (quotearg_buffer_restyled): Use
22214         gettext_default ("{LEFT QUOTATION MARK}", "\"") for left quote, and
22215         gettext_default ("{RIGHT QUOTATION MARK}", "\"") for right quote.
22216
22217 2000-07-09  Jim Meyering  <meyering@lucent.com>
22218
22219         * m4/jm-macros.m4 (jm_MACROS): Add a test to see if -lm is required
22220         to link seq.  If so, set SEQ_LIBM to -lm.  From Bruno Haible.
22221
22222         * m4/gnu-source.m4 (AC__GNU_SOURCE): New file/macro.
22223         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require it.
22224
22225 2000-07-09  Jim Meyering  <meyering@lucent.com>
22226
22227         * lib/Most files: Update copyright dates to include 2000.
22228
22229 2000-07-08  Jim Meyering  <meyering@lucent.com>
22230
22231         * lib/xgethostname.c (ENAMETOOLONG): Define to an unlikely value
22232         if not defined.
22233         (xgethostname): Remove now-unnecessary #ifdef.
22234         Move declaration of `err' into loop where it's used.
22235
22236 2000-07-05  Paul Eggert  <eggert@twinsun.com>
22237         and Bruno Haible  <haible@clisp.cons.org>
22238
22239         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Test for mbstate_t
22240         only if the test for an object-type mbstate_t fails.  This
22241         prevents us from mistakenly reporting that mbstate_t is a
22242         system object type after we "#define mbstate_t int" to work
22243         around its lack.
22244
22245 2000-07-05  Paul Eggert  <eggert@twinsun.com>
22246         and Bruno Haible  <haible@clisp.cons.org>
22247
22248         * lib/quotearg.c (mbrtowc): Declare returned type, since BeOS doesn't.
22249
22250 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
22251
22252         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Pass a reasonably large buffer
22253         to strerror_r.
22254         Include <ctype.h> for use of isalpha.
22255
22256 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
22257
22258         * lib/xgethostname.c (xgethostname): Protect against the SunOS 5.5 bug
22259         by allocating a larger buffer. Test the gethostname return value for
22260         being >= 0, not == 0, for BeOS.  Don't exhaust memory if gethostname
22261         returns an error and ENAMETOOLONG isn't defined.
22262
22263 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
22264
22265         * lib/quotearg.c (struct quoting_options): Simplify quote_these_too
22266         dimension.
22267
22268 2000-07-04  Jim Meyering  <meyering@lucent.com>
22269
22270         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use plain old `echo' instead
22271         of the deprecated AC_CHECKING.
22272
22273 2000-07-04  Jim Meyering  <meyering@lucent.com>
22274
22275         * lib/strndup.c: [!HAVE_DECL_STRNLEN]: Declare strnlen.
22276         Reported by Bruno Haible.
22277
22278 2000-07-04  Jim Meyering  <meyering@lucent.com>
22279
22280         * lib/quotearg.c: Make inclusion of <wchar.h> independent of whether
22281         HAVE_MBRTOWC is set.  Required at least for irix-5.6, which
22282         lacks mbrtowc.
22283
22284 2000-07-03  Paul Eggert  <eggert@twinsun.com>
22285
22286         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Port to autoconf 2.13.
22287         Add AC_CHECK_HEADERS(stdlib.h), since we use HAVE_STDLIB_H.
22288
22289 2000-07-03  Paul Eggert  <eggert@twinsun.com>
22290         and Bruno Haible  <haible@clisp.cons.org>
22291
22292         * lib/quotearg.c (mbrtowc):
22293         Assign to *pwc, and return 1 only if result is nonzero.
22294         (iswprint): Use ISPRINT when substituting our own mbrtowc.
22295
22296 2000-07-03  Jim Meyering  <meyering@lucent.com>
22297
22298         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strnlen.
22299
22300 2000-07-03  Jim Meyering  <meyering@lucent.com>
22301
22302         * lib/readutmp.h: [HAVE_UTMPX_H]: Include <utmp.h> if HAVE_UTMP_H.
22303         This is necessary to get a definition of e.g., UTMP_FILE on
22304         HP-UX 10.20.
22305         From Bob Proulx.
22306
22307 2000-07-02  Jim Meyering  <meyering@lucent.com>
22308
22309         * m4/mbstate_t.m4: Also define mbstate_t, if necessary.
22310
22311         * m4/chown.m4: Replace each use of AC_SUBST(LIBOBJS)/LIBOBJS=... with
22312         AC_LIBOBJ(function_name).
22313         * m4/chown.m4: Likewise.
22314         * m4/fnmatch.m4: Likewise.
22315         * m4/ftruncate.m4: Likewise.
22316         * m4/getgroups.m4: Likewise.
22317         * m4/getline.m4: Likewise.
22318         * m4/group-member.m4: Likewise.
22319         * m4/jm-macros.m4: Likewise.
22320         * m4/lstat.m4: Likewise.
22321         * m4/malloc.m4: Likewise.
22322         * m4/memcmp.m4: Likewise.
22323         * m4/nanosleep.m4: Likewise.
22324         * m4/putenv.m4: Likewise.
22325         * m4/realloc.m4: Likewise.
22326         * m4/regex.m4: Likewise.
22327         * m4/stat.m4: Likewise.
22328         * m4/strftime.m4: Likewise.
22329
22330 2000-07-02  Jim Meyering  <meyering@lucent.com>
22331
22332         * lib/quotearg.c (mbstate_t): Don't define here.
22333
22334 2000-07-02  Jim Meyering  <meyering@lucent.com>
22335
22336         * lib/nanosleep.c (SIGCONT): Define if not already defined.
22337
22338 2000-07-01  Jim Meyering  <meyering@lucent.com>
22339
22340         * m4/uptime.m4: Put double quotes around use of $cross_compiling.
22341
22342 2000-07-01  Jim Meyering  <meyering@lucent.com>
22343
22344         * m4/ls-mntd-fs.m4: Remove a `FIXME' comment and fix the associated
22345         problem.
22346
22347 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
22348
22349         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Rename BeOS specific
22350         macro from MOUNTED_NEXT_DEV to MOUNTED_FS_STAT_DEV.
22351
22352 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
22353
22354         * lib/mountlist.c: Use MOUNTED_FS_STAT_DEV instead of MOUNTED_NEXT_DEV,
22355         per change in ../m4/ls-mntd-fs.m4.
22356         (read_filesystem_list): Ignore symbolic links.
22357
22358 2000-06-29  Jim Meyering  <meyering@lucent.com>
22359
22360         * lib/same.c: Include <string.h> or <strings.h>, as appropriate,
22361         for declaration of strcmp.
22362
22363         * lib/long-options.c: Include <stdlib.h>, for declaration of exit.
22364
22365         * lib/mountlist.c (fsp_to_string) [HAVE_F_FSTYPENAME_IN_STATFS]:
22366         Avoid warning by casting result to `char *' to remove `const'.
22367
22368 2000-06-28  Jim Meyering  <meyering@lucent.com>
22369
22370         * m4/mbstate_t.m4: Use stdlib.h, not stdio.h.  The latter is not
22371         included by quotearg.c, for which we perform this test.  From
22372         Bruno Haible.
22373
22374 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
22375
22376         * m4/check-decl.m4 (_jm_DECL_HEADERS): Check for utmp.h as well.
22377         * m4/prereq.m4 (jm_PREREQ_READUTMP): Likewise. If either <utmp.h> or
22378         <utmpx.h> exists, put readutmp.o into LIBOBJS.
22379
22380 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
22381
22382         * lib/Makefile.am (libfetish_a_SOURCES): Remove readutmp.c.
22383
22384 2000-06-26  Paul Eggert  <eggert@twinsun.com>
22385
22386         savedir now sets errno on failure and invokes xmalloc to get memory.
22387         Fix a couple of other minor bugs while we're at it.
22388
22389         * lib/savedir.c (<unistd.h>): Do not include; there's no need.
22390         (NAMLEN): Remove macro.
22391         (malloc, realloc): Remove decls.
22392         (stpcpy): Likewise.
22393         ("xalloc.h"): Include.
22394         (NAME_SIZE_DEFAULT): New macro.
22395         (savedir): Use xmalloc / xrealloc to allocate memory.
22396         Use NAME_SIZE_DEFAULT if name_size is negative or overflows to zero.
22397         Skip "" directory entries.
22398         Use strlen to calculate directory entry length, since the old method
22399         is rarely used these days and isn't worth supporting.
22400         Don't use a pointer after freeing it.
22401         Check for integer overflow when calculating allocation size.
22402         Use memcpy to copy entries, instead of stpcpy.
22403         Set errno properly when returning NULL.
22404         Check for readdir error.
22405
22406 2000-06-26  Jim Meyering  <meyering@lucent.com>
22407
22408         * lib/posixtm.c [HAVE_STDLIB_H]: Include stdlib.h, for decl of abort.
22409
22410 2000-06-25  Jim Meyering  <meyering@lucent.com>
22411
22412         * m4/mbstate_t.m4: Include stdio.h before wchar.h to work around
22413         Linux header bug when _XOPEN_SOURCE is defined to 500.
22414
22415 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
22416
22417         * lib/unicodeio.c (print_unicode_char): Work around ansi2knr
22418         deficiency.
22419
22420 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
22421
22422         * lib/getusershell.c (xmalloc, xrealloc): Remove functions.
22423         Include xalloc.h.
22424         Don't include <stdlib.h>.  Don't declare malloc, realloc.
22425
22426 2000-06-24  Jim Meyering  <meyering@lucent.com>
22427
22428         * m4/strerror_r.m4: Revive this file -- to try out an experimental
22429         version of AC_FUNC_STRERROR_R that may work even on BeOS, a system
22430         for which strerror does return char*, but which lacks a conveniently
22431         accessible declaration of the function.  If the compile-test says
22432         strerror_r doesn't work, then resort to a `run'-test that works on
22433         BeOS and segfaults on DEC Unix.
22434
22435 2000-06-24  Jim Meyering  <meyering@lucent.com>
22436
22437         * lib/error.c [!HAVE_DECL_STRERROR_R]: Declare strerror_r.
22438
22439 2000-06-23  Paul Eggert  <eggert@twinsun.com>
22440
22441         * m4/mbstate_t.m4: New file, defining AC_MBSTATE_T_OBJECT.
22442         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Use it.  Add check for iswprint.
22443
22444 2000-06-23  Paul Eggert  <eggert@twinsun.com>
22445
22446         * lib/quotearg.c: Include <wctype.h> after <wchar.h>, for Solaris 2.5.
22447         (mbrtowc, mbstate_t): Define substitutes if
22448         HAVE_MBRTOWC && HAVE_WCHAR_H && !HAVE_MBSTATE_T_OBJECT.
22449         (iswprint): Define to 1 if !defined iswprint && !HAVE_ISWPRINT,
22450         not if ! (HAVE_MBRTOWC && HAVE_WCHAR_H).
22451
22452 2000-06-23  Jim Meyering  <meyering@lucent.com>
22453
22454         * m4/afs.m4: Add missing AC_MSG_RESULT.
22455         Reported by Bruno Haible.
22456
22457         * m4/fsusage.m4: s/AC_MSG_CHECKING/AC_CHECKING/.
22458         Suggestion from Bruno Haible.
22459
22460 2000-06-23  Jim Meyering  <meyering@lucent.com>
22461
22462         * lib/getpass.c: New file, from Bruno Haible.  Required for BeOS.
22463
22464 2000-06-21  Jim Meyering  <meyering@lucent.com>
22465
22466         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add getpass.
22467
22468 2000-06-21  Jim Meyering  <meyering@lucent.com>
22469
22470         * lib/Makefile.am (libfetish_a_SOURCES): Add getstr.c.
22471         (noinst_HEADERS): Add getstr.h.
22472
22473         * lib/getline.c (getstr): Move into a separate file.
22474         * lib/getstr.c (getstr): New file, extracted from getline.c, with
22475         the following changes: new parameter, delim2; both delim[12]
22476         parameters have type `int', not `char'.  The latter would lose
22477         with 8-bit delimiters.
22478         * lib/getstr.h: New file.
22479
22480 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
22481
22482         * lib/xgetcwd.c (xgetcwd): If the required pathname length is smaller
22483         than 1024, return a memory chunk of least possible size, instead
22484         of size PATH_MAX + 2. In the loop, increment the size proportionally.
22485         Use free/xmalloc instead of xrealloc to avoid copying for very long
22486         paths.
22487
22488 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
22489
22490         * lib/path-concat.c (path_concat): Don't access dir[-1] if dir is
22491         the empty string.
22492
22493 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
22494
22495         * lib/canon-host.c (canon_host): Use malloc and memcpy to copy an
22496         address, not strdup.  Include <stdlib.h> and don't declare free().
22497
22498 2000-06-19  Jim Meyering  <meyering@lucent.com>
22499
22500         * lib/getloadavg.c [HAVE_NLIST_H] (NLIST_STRUCT): Define.
22501
22502 2000-06-18  Jim Meyering  <meyering@lucent.com>
22503
22504         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Remove mkdir.
22505
22506         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): Change the
22507         `checking whether...' message to be consistent with that of the
22508         lstat test.
22509
22510 2000-06-18  Jim Meyering  <meyering@lucent.com>
22511
22512         * lib/mkdir.c: Remove file, due mainly to copyright incompatibility.
22513         Besides, these days every porting target provides a mkdir function.
22514
22515         * lib/strnlen.c: Include memory.h, string.h, and/or strings.h as
22516         needed. (this snippet comes from src/system.h).
22517
22518 2000-06-16  Bruno Haible  <haible@clisp.cons.org>
22519
22520         * m4/glibc21.m4 (jm_GLIBC21): Define GLIBC21 for Makefiles, not for C.
22521
22522 2000-06-15  Paul Eggert  <eggert@twinsun.com>
22523
22524         * lib/human.c (adjust_value): New function.
22525         (human_readable_inexact): Apply rounding style even when
22526         printing approximate values.
22527
22528 2000-06-14  Paul Eggert  <eggert@twinsun.com>
22529
22530         * lib/human.c (human_readable_inexact): Allow an input block
22531         size that is not a multiple of the output block size, and vice versa.
22532         Reported by Piergiorgio Sartor.
22533
22534 2000-06-14  Paul Eggert  <eggert@twinsun.com>
22535
22536         * lib/getdate.y (get_date): Apply relative times after time
22537         zone indicator, not before.  Reported by Todd A. Jacobs.
22538
22539 2000-06-13  Jim Meyering  <meyering@lucent.com>
22540
22541         * lib/Makefile.am (all-local): Depend on lstat.c and stat.c.
22542
22543         * lib/xstat.in [!HAVE_DECL_FREE]: Declare free in lstat.c.
22544
22545 2000-06-12  Paul Eggert  <eggert@twinsun.com>
22546
22547         * lib/xstat.in: Include <stdlib.h> in lstat, to declare "free".
22548
22549 2000-06-12  Jim Meyering  <meyering@lucent.com>
22550
22551         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Replace with
22552         AC_FUNC_GETLOADAVG from autoconf, and tweak the latter to accept an
22553         optional argument.
22554         * m4/jm-macros.m4: s/AM_FUNC_GETLOADAVG/AC_FUNC_GETLOADAVG/, and supply
22555         the optional argument, `lib'.
22556
22557 2000-06-08  Jim Meyering  <meyering@lucent.com>
22558
22559         * m4/largefile.m4: Remove file (now that it's part of autoconf).
22560
22561 2000-06-04  Paul Eggert  <eggert@twinsun.com>
22562
22563         Rewrite largefile configuration so that we don't need to run
22564         getconf and don't need AC_CANONICAL_HOST.  [I'm leaving the use of
22565         AC_CANONICAL_HOST in configure.in -- jmm]
22566
22567         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS,
22568         AC_SYS_LARGEFILE_SPACE_APPEND): Remove.
22569         (AC_SYS_LARGEFILE_TEST_INCLUDES): New macro.
22570         (AC_SYS_LARGEFILE_MACRO_VALUE): Change arguments from
22571         CODE-TO-SET-DEFAULT to VALUE, INCLUDES, FUNCTION-BODY.
22572         All uses changed.
22573         Instead of inspecting the output of getconf, try to compile the
22574         test program without and with the macro definition.
22575         (AC_SYS_LARGEFILE): Do not require AC_CANONICAL_HOST or check
22576         for getconf.  Instead, check for the needed flags by compiling
22577         test programs.
22578
22579 2000-06-04  Paul Eggert  <eggert@twinsun.com>
22580
22581         * lib/strnlen.c: Include <config.h> if HAVE_CONFIG_H.
22582
22583 2000-06-04  Jim Meyering  <meyering@lucent.com>
22584
22585         * lib/getugroups.c (getugroups): Cast -1 to gid_t, for systems like
22586         SunOS 4.1.4 for which gid_t is an unsigned type.
22587
22588 2000-06-03  Jim Meyering  <meyering@lucent.com>
22589
22590         * m4/prereq.m4 (jm_PREREQ_HUMAN): Use []-quoted list in AC_CHECK_DECLS,
22591         now that autoconf requires that.
22592
22593         * m4/jm-glibc-io.m4: Add a kludge to make autoheader emit the required
22594         #undefs.  E.g., #undef HAVE_DECL_FERROR_UNLOCKED.
22595         Use []-quoted list in AC_CHECK_DECLS, now that autoconf requires that.
22596
22597 2000-06-03  Jim Meyering  <meyering@lucent.com>
22598
22599         * lib/strnlen.c [!HAVE_DECL_MEMCHR]: Declare memchr.
22600
22601 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
22602
22603         * m4/glibc21.m4: New file.
22604         * m4/jm-macros.m4 (jm_MACROS): Call jm_GLIBC21.
22605
22606 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
22607
22608         * lib/Makefile.am (install-exec-local): On systems with glibc-2.1 or
22609         newer, don't install charset.alias.
22610         * lib/config.charset: Change the Linux/glibc rules so they become empty
22611         on glibc-2.1 or newer.
22612
22613 2000-06-02  Jim Meyering  <meyering@lucent.com>
22614
22615         * lib/mountlist.c: Back out last change.  Instead, do this...
22616         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Set the
22617         me_dummy member using the same `ignore'-testing code.
22618         * lib/mountlist.h (ME_DUMMY): Add `autofs' to the list of ignored
22619         fs_type strings.
22620         From Mark D. Roth.
22621
22622 2000-05-29  Jim Meyering  <meyering@lucent.com>
22623
22624         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Ignore
22625         mounts with the `ignore' attribute.  Based on a patch from
22626         Mark D. Roth.
22627
22628 2000-05-28  Jim Meyering  <meyering@lucent.com>
22629
22630         * m4/jm-macros.m4 (AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Rename from
22631         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
22632         * m4/stat.m4: Likewise.
22633         * m4/lstat.m4: Likewise.
22634         * m4/lstat-slash.m4: Remove file (absorbed into autoconf).
22635
22636         * m4/jm-macros.m4 (AC_FUNC_STRERROR_R): Rename from jm_FUNC_STRERROR_R.
22637         * m4/strerror_r.m4: Remove file (absorbed into autoconf).
22638
22639 2000-05-26  Jim Meyering  <meyering@lucent.com>
22640
22641         * m4/uptime.m4: Use `$cross_compiling', not `$ac_cv_prog_cc_cross'.
22642
22643 2000-05-24  Jim Meyering  <meyering@lucent.com>
22644
22645         * m4/prereq.m4: Use []-quoted list in AC_CHECK_MEMBERS, now that
22646         autoconf requires that.
22647         * m4/lib-check.m4: Likewise.
22648         * m4/jm-macros.m4: Likewise.
22649         * m4/strftime.m4: Likewise.
22650
22651         * m4/check-decl.m4 (jm_CHECK_DECLS): Use []-quoted list in
22652         AC_CHECK_DECLS, now that autoconf requires that.
22653
22654 2000-05-22  Jim Meyering  <meyering@lucent.com>
22655
22656         * m4/stat.m4: Require jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
22657         * m4/lstat.m4: Likewise.
22658
22659 2000-05-22  Jim Meyering  <meyering@lucent.com>
22660
22661         * lib/makepath.c: Remove old, now-unnecessary `#ifdef __MSDOS__' block.
22662
22663 2000-05-20  Jim Meyering  <meyering@lucent.com>
22664
22665         * m4/prereq.m4 (jm_PREREQ_HUMAN): New macro.
22666         (jm_PREREQ): Use it.
22667
22668 2000-05-18  Jim Meyering  <meyering@lucent.com>
22669
22670         * lib/hash.c (hash_rehash): Fix a nasty bug: copy the free entry list
22671         back, too, since it may have been modified by allocate_entry.
22672         (hash_delete): Rewrite to use neither the assignment operator
22673         nor the comma operator in an if-expression.
22674
22675 2000-05-15  Paul Eggert  <eggert@twinsun.com>
22676
22677         * lib/closeout.c:
22678         <sys/stat.h>, <sys/types.h>, <unistd.h>, (STDOUT_FILENO):
22679         Remove; no longer needed.
22680         "quotearg.h": Add include.
22681         (file_name): Do not bother to explicitly initialize to NULL; it's less
22682         efficient on some hosts.
22683         (close_stdout_status): Remove test as to whether stdout was already
22684         closed; it breaks for the case "echo x | sort >&-".
22685         Quote file name colons.
22686         Do not assume that _("write error") lacks format strings.
22687
22688 2000-05-15  Jim Meyering  <meyering@lucent.com>
22689
22690         * lib/version-etc.c (version_etc_copyright): Update the copyright
22691         string used in all --version output.
22692
22693 2000-05-14  Jim Meyering  <meyering@lucent.com>
22694
22695         * lib/closeout.c (close_stdout_set_file_name): New function.
22696         (close_stdout_status): Use new file-scoped global.
22697         Return right away if fstat says the stdout file descriptor is invalid.
22698         * lib/closeout.h (close_stdout_set_file_name): Declare.
22699
22700 2000-05-10  Jim Meyering  <meyering@lucent.com>
22701
22702         * lib/closeout.c [default_exit_status]: New file-scoped variable.
22703         (close_stdout_set_status): New function.
22704         * lib/closeout.h (close_stdout_set_status): Declare.
22705
22706 2000-05-09  Jim Meyering  <meyering@lucent.com>
22707
22708         * m4/gettext.m4: Rename this...
22709         * m4/libintl.m4: ...to this.
22710
22711 2000-05-08  Jim Meyering  <meyering@lucent.com>
22712
22713         * lib/long-options.c: Don't include closeout.h.
22714         (parse_long_options): Don't call close_stdout for --version.
22715
22716 2000-05-06  Paul Eggert  <eggert@twinsun.com>
22717
22718         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _XOPEN_SOURCE to
22719         be 500, instead of _GNU_SOURCE to be 1, to work around glibc
22720         2.1.3 bug.  This avoids a clash when files like regex.c define
22721         _GNU_SOURCE.
22722
22723 2000-05-06  Jim Meyering  <meyering@lucent.com>
22724
22725         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add atexit.
22726         (AC_REPLACE_FUNCS): Add strnlen.
22727
22728         * m4/rmdir-errno.m4 (fetish_FUNC_RMDIR_NOTEMPTY): New macro and file.
22729         * m4/jm-macros.m4: Require fetish_FUNC_RMDIR_NOTEMPTY.
22730
22731         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Save and restore LIBS around
22732         AC_SEARCH_LIBS call for nanosleep.
22733         (LIB_NANOSLEEP): Set and AC_SUBST.
22734
22735 2000-05-06  Jim Meyering  <meyering@lucent.com>
22736
22737         * lib/strnlen.c: Undefine __strnlen and strnlen.
22738         [!weak_alias]: Define __strnlen to strnlen.
22739
22740         * lib/atexit.c: New file, from libiberty.
22741
22742 2000-05-06  Jim Meyering  <meyering@lucent.com>
22743
22744         * lib/closeout.c (close_stdout_status): Also check for errors on the
22745         stderr stream.
22746
22747 2000-05-05  Jim Meyering  <meyering@lucent.com>
22748
22749         * m4/jm-macros.m4 (jm_MACROS): Save and restore LIBS around
22750         AC_SEARCH_LIBS call for clock_gettime.
22751         (LIB_CLOCK_GETTIME): Set and AC_SUBST.
22752
22753         * m4/search-libs.m4: Update from autoconf.
22754
22755         su doesn't work on Solaris 2.6.
22756         * m4/lib-check.m4: When checking for struct spwd.sp_pwdp, also include
22757         <shadow.h>.  Reported by Dragos Harabor.
22758
22759 2000-05-05  Bruno Haible  <haible@clisp.cons.org>
22760
22761         * lib/localcharset.c (get_charset_aliases): Use malloc, realloc and
22762         memcpy instead of xmalloc, xrealloc, path_concat.
22763         (locale_charset): Treat empty environment variables as absent.
22764         (DIRECTORY_SEPARATOR, ISSLASH): New macros.
22765
22766 2000-05-04  Jim Meyering  <meyering@lucent.com>
22767
22768         * lib/getopt.c: Update from glibc.
22769         * lib/obstack.c: Likewise.
22770         * lib/obstack.h: Likewise.
22771         * lib/regex.c: Likewise.  NB: K&R compiler support is dropped for this
22772         file
22773
22774         * lib/regex.h: Likewise.
22775         * lib/strndup.c: Likewise.
22776         * lib/strnlen.c: New file, from glibc.
22777
22778 2000-05-03  Jim Meyering  <meyering@lucent.com>
22779
22780         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strndup.
22781
22782 2000-05-02  Paul Eggert  <eggert@twinsun.com>
22783
22784         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _GNU_SOURCE if
22785         this is needed to make ftello visible (e.g. glibc 2.1.3).  Use
22786         compile-time test, rather than inspecting host and OS, to
22787         decide whether to define _LARGEFILE_SOURCE.
22788
22789 2000-05-01  Jim Meyering  <meyering@lucent.com>
22790
22791         * m4/fsusage.m4: Use AC_MSG_CHECKING instead of obsolete AC_CHECKING.
22792
22793         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add BeOS support.
22794         Based on a patch from Bruno Haible.
22795
22796 2000-05-01  Jim Meyering  <meyering@lucent.com>
22797
22798         * lib/full-write.c (full_write): Remove `FIXME' part of comment.
22799
22800 2000-04-29  Jim Meyering  <meyering@lucent.com>
22801
22802         * lib/path-concat.c: Declare strdup only if it's not defined.
22803         * lib/canon-host.c: Likewise.
22804
22805 2000-04-28  Jim Meyering  <meyering@lucent.com>
22806
22807         * lib/rpmatch.c [HAVE_LIMITS_H]: Include limits.h before regex.h to
22808         avoid redefinition warning on some systems (HPUX).  Otherwise, regex.h
22809         is included first, then limits.h is included by locale.h by libintl.h.
22810         From John David Anglin.
22811
22812 2000-04-25  Jim Meyering  <meyering@lucent.com>
22813
22814         * lib/makepath.c (S_IRWXUGO): Define.
22815         (make_path): Always perform explicit chmod if MODE specifies any
22816         of the `special' permission bits.  Prompted by a bug report against
22817         install from Mate Wierdl and Joost van Baal.
22818
22819 2000-04-18  Jim Meyering  <meyering@lucent.com>
22820
22821         * m4/prereq.m4 (jm_PREREQ_GETPAGESIZE): New macro.
22822         (jm_PREREQ): Use it.
22823
22824 2000-04-18  Jim Meyering  <meyering@lucent.com>
22825
22826         * lib/README: New file.
22827
22828         * lib/getpagesize.h [!getpagesize && HAVE_OS_H && B_PAGE_SIZE]: Define
22829         getpagesize.  For BeOS.  Based on a patch from Bruno Haible.
22830
22831 2000-04-17  Jim Meyering  <meyering@lucent.com>
22832
22833         Get it right :-)
22834         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Emit the
22835         actual #define via AH_VERBATIM.  Don't need separate AC_DEFINE.
22836         Suggestion from Akim Demaille.
22837
22838 2000-04-17  Jim Meyering  <meyering@lucent.com>
22839
22840         * lib/strftime.c (my_strftime) [strftime]: Declare strftime here, since
22841         the definition of it to rpl_strftime also defined-away the system's
22842         declaration.
22843
22844 2000-04-15  Jim Meyering  <meyering@lucent.com>
22845
22846         Use `C' to denote so-called `contiguous' files, the same way
22847         that tar does.
22848         * lib/filemode.c (S_ISCTG) [!S_ISCTG && S_IFCTG]: Define.
22849         (ftypelet): Use S_ISCTG.
22850         From Michael Deutschmann.
22851
22852 2000-04-14  Jim Meyering  <meyering@lucent.com>
22853
22854         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use the one-arg
22855         form of AC_DEFINE.  Otherwise, the #ifndef in AH_VERBATIM gets
22856         clobbered.
22857
22858 2000-04-14  Jim Meyering  <meyering@lucent.com>
22859
22860         * lib/strftime.c (my_strftime) [#ifdef strftime]: Declare strftime.
22861
22862 2000-04-13  Jim Meyering  <meyering@lucent.com>
22863
22864         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use new
22865         AH_VERBATIM to insert required #ifndef into config.h.in.
22866         Suggestion from Akim Demaille.
22867
22868 2000-04-12  Jim Meyering  <meyering@lucent.com>
22869
22870         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Use AC_CHECK_HEADERS, not
22871         `AC_CHECK_HEADER' to check for locale.h.  Thanks to a report from
22872         Christian Krackowizer.
22873
22874         More code moved from ../configure.in into (jm_CHECK_ALL_TYPES).
22875         * m4/jm-macros.m4 (_GNU_SOURCE): Define.
22876         (AC_SYS_LARGEFILE): Require.
22877         (AM_C_PROTOTYPES): Require.
22878
22879 2000-04-08  Jim Meyering  <meyering@lucent.com>
22880
22881         * lib/Makefile.am (charset.alias): Use t-$@, not $@-t so the DOS 8.3
22882         names don't conflict.  Reported by Eli Zaretskii.
22883
22884 2000-04-07  Jim Meyering  <meyering@lucent.com>
22885
22886         * lib/putenv.c: Move inclusion of errno.h so it follows that of
22887         sys/types.h, to work around system header problems on AIX 3.2.5.
22888         From Bruno Haible.
22889
22890 2000-04-07  Bruno Haible  <haible@clisp.cons.org>
22891
22892         * lib/unicodeio.c (print_unicode_char): Avoid triggering Solaris iconv
22893         bug.  Deal with the different error behavior of Irix iconv.
22894
22895 2000-04-05  Paul Eggert  <eggert@twinsun.com>
22896
22897         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Don't use -n32 on
22898         IRIX if the installer said otherwise.
22899
22900 2000-04-05  Jim Meyering  <meyering@lucent.com>
22901
22902         Portability tweaks required for ultrix4.3.
22903         * m4/check-decl.m4 [!HAVE_UTMPX_H] (headers): Include <utmp.h>.
22904         (jm_CHECK_DECLS): Add getutent to the list of functions.
22905         (_jm_DECL_HEADERS): Add utmpx.h.
22906         From John David Anglin.
22907
22908         * m4/strftime.m4: Back out the 2000-04-02 change.
22909         Instead of that change, simply undefine putenv in the test program.
22910
22911 2000-04-05  Jim Meyering  <meyering@lucent.com>
22912
22913         Portability tweaks required for ultrix4.3.
22914         * lib/readutmp.h [HAVE_UTMPX_H && !HAVE_DECL_GETUTENT]: Declare
22915         getutent.
22916         * lib/readutmp.c: Include sys/types.h before sys/stat.h.
22917         * lib/canon-host.c: Declare strdup.
22918         * lib/path-concat.c: Likewise.
22919         From John David Anglin.
22920
22921 2000-04-04  Jim Meyering  <meyering@lucent.com>
22922
22923         Be more DOS 8.3-friendly.
22924         * lib/ref-add.sin: Renamed from ref-add.sed.in.
22925         * lib/ref-del.sin: Renamed from ref-del.sed.in.
22926         * lib/Makefile.am: Reflect renaming.
22927         Reported by Eli Zaretskii.
22928
22929         Use a temporary file name that won't clash with `charset.alias'
22930         in the DOS 8.3 name space.
22931         * lib/Makefile.am (charset_tmp): Define.
22932         (install-exec-local): Use $(charset_tmp) instead of $(charset_alias)-t.
22933         (uninstall-local): Likewise.
22934         Reported by Eli Zaretskii.
22935
22936 2000-04-03  Jim Meyering  <meyering@lucent.com>
22937
22938         * m4/gettext.m4: Fix typo in comment.
22939
22940         * m4/codeset.m4 (AC_CHECK_HEADERS): Add langinfo.h (moved here from
22941         textutils/configure.in).  Suggestion from Paul Eggert.
22942         (AC_CHECK_FUNCS): Add nl_langinfo.  (also from textutils/configure.in)
22943
22944 2000-04-02  Paul Eggert  <eggert@twinsun.com>
22945
22946         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Set TZ environment
22947         variable in the shell rather than using putenv, which isn't
22948         portable.  This avoids the configure-time inter-test dependency
22949         on the potentially-renamed putenv function.
22950
22951 2000-03-30  Paul Eggert  <eggert@twinsun.com>
22952
22953         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Include <sys/stat.h>
22954         before checking struct stat.st_blksize, so that
22955         HAVE_STRUCT_STAT_ST_BLKSIZE is defined correctly.
22956
22957 2000-03-29  Paul Eggert  <eggert@twinsun.com>
22958
22959         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Check for strftime,
22960         since strftime.c uses HAVE_STRFTIME to decide whether to use
22961         the underlying strftime.
22962
22963 2000-03-29  Paul Eggert  <eggert@twinsun.com>
22964
22965         * lib/time/strftime.c (my_strftime): Make sure we call the system
22966         strftime, not ourselves, when invoking the underlying strftime.
22967
22968 2000-03-24  Jim Meyering  <meyering@lucent.com>
22969
22970         * lib/Makefile.am (EXTRA_DIST): Add ref-add.sed.in and ref-del.sed.in.
22971         (charset_alias): Define.
22972         (install-exec-local): Factor out common code.
22973         (uninstall-local): Split lines longer than 80.
22974         (ref-add.sed, ref-del.sed): Remove rules... (do the following instead)
22975         (SUFFIXES): Define.
22976         (.sed.in.sed): New rule.  Don't redirect directly to $@.
22977         (CLEANFILES): Add ref-add.sed and ref-del.sed.
22978
22979 2000-03-19  Bruno Haible  <haible@clisp.cons.org>
22980
22981         * lib/config.charset: Output a line containing "Packages using this
22982         file".
22983         * lib/ref-add.sed.in, lib/ref-del.sed.in: New files.
22984         * lib/Makefile.am (install-exec-local, uninstall-local, ref-add.sed,
22985         ref-del.sed): New rules.
22986
22987 2000-03-17  Jim Meyering  <meyering@lucent.com>
22988
22989         * lib/unicodeio.c (<string.h>): Include only #if HAVE_STRING_H.
22990         Otherwise, include <strings.h>
22991
22992 2000-03-17  Bruno Haible  <haible@clisp.cons.org>
22993
22994         * lib/unicodeio.c (utf8_wctomb): New function.
22995         (print_unicode_char): Pass the Unicode character to iconv in UTF-8
22996         format instead of in UCS-4 with platform dependent endianness.
22997
22998 2000-03-10  Jim Meyering  <meyering@lucent.com>
22999
23000         * m4/lib-check.m4: Look for getspnam in -lgen, too.
23001         From Marco Franzen.
23002
23003 2000-03-07  Paul Eggert  <eggert@twinsun.com>
23004
23005         * lib/savedir.c (savedir): Work even if directory size is
23006         negative; this can happen with some screwy NFS configurations.
23007
23008 2000-03-06  Jim Meyering  <meyering@lucent.com>
23009
23010         * lib/localcharset.c (get_charset_aliases): Don't try to free file_name
23011         if it's NULL (because we ran out of memory).  From Bruno Haible.
23012
23013 2000-03-05  Jim Meyering  <meyering@lucent.com>
23014
23015         * lib/localcharset.c ("path-concat.h"): Include.
23016         (get_charset_aliases): Use path_concat instead of ANSI string
23017         concatenation.
23018
23019         * lib/unicodeio.h (PARAMS): Define.
23020         Use it to guard prototype.
23021
23022 2000-03-04  Jim Meyering  <meyering@lucent.com>
23023
23024         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require AC_C_VOLATILE,
23025         for lib/localcharset.c.
23026
23027 2000-03-04  Jim Meyering  <meyering@lucent.com>
23028
23029         * lib/Makefile.am (install-exec-local): Create $(libdir) before
23030         installing into it.
23031         (uninstall-local): Uncomment this rule so `make distcheck' works
23032         once again.
23033
23034         * lib/unicodeio.c (<errno.h>): Include it.
23035         (errno): Declare if not defined.
23036
23037         * lib/localcharset.c: Add Bruno's comment justifying use of volatile.
23038
23039         * lib/config.charset: New version, incorporating remarks from a linux
23040         i18n mailing list.  From Bruno Haible.
23041
23042 2000-03-04  Bruno Haible  <haible@clisp.cons.org>
23043
23044         * m4/codeset.m4: New file.
23045         * m4/iconv.m4: New file.
23046         * m4/jm-macros.m4 (jm_MACROS): Call jm_LANGINFO_CODESET and jm_ICONV.
23047
23048 2000-03-03  Jim Meyering  <meyering@lucent.com>
23049
23050         * m4/regex.m4: Make sure re_compile_pattern accepts patterns like `{1'.
23051
23052 2000-03-02  Jim Meyering  <meyering@lucent.com>
23053
23054         * m4/timespec.m4: Require AC_HEADER_TIME before the cache check so
23055         the messages come out on separate lines.
23056
23057         * m4/jm-glibc-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO): Use AC_CHECK_DECLS,
23058         rather than jm_CHECK_DECLARATIONS.
23059         * m4/decl.m4: Remove now-unused file.
23060
23061         * m4/check-decl.m4 (AC_CHECK_DECLS): Add getlogin, ttyname, and
23062         geteuid.
23063
23064 2000-03-02  Jim Meyering  <meyering@lucent.com>
23065
23066         * lib/Makefile.am (EXTRA_DIST): Add config.charset.
23067
23068 2000-03-01  Jim Meyering  <meyering@lucent.com>
23069
23070         * lib/localcharset.c: Guard some #includes with `#if HAVE_...'.
23071         * lib/unicodeio.c: Likewise.
23072
23073 2000-03-01  Bruno Haible  <haible@clisp.cons.org>
23074
23075         * lib/config.charset: New file.
23076         * lib/localcharset.c: New file.
23077         * lib/unicodeio.h, lib/unicodeio.c: New files.
23078         * lib/Makefile.am (DEFS): Add -DLIBDIR=...
23079         (libfetish_a_SOURCES): Add localcharset.c and unicodeio.c.
23080         (noinst_HEADERS): Add unicodeio.h.
23081         (all-local, install-exec-local, charset.alias): New targets.
23082
23083 2000-02-28  Paul Eggert  <eggert@twinsun.com>
23084
23085         * lib/quotearg.c (ALERT_CHAR): New macro.
23086         (quotearg_buffer_restyled): Use it.
23087
23088 2000-02-27  Jim Meyering  <meyering@lucent.com>
23089
23090         * m4/check-decl.m4: Add getenv to the list.
23091
23092 2000-02-27  Jim Meyering  <meyering@lucent.com>
23093
23094         * lib/strtoumax.c: Fix typo in decl of strtoul: s/long long/long/.
23095         Guard declaration of strtoull also with `&& HAVE_UNSIGNED_LONG_LONG'.
23096
23097         * lib/backupfile.c: Guard inclusion of stdlib.h with
23098         `#if HAVE_STDLIB_H', not `#if STDC_HEADERS'.
23099         Declare malloc if needed.
23100
23101         * lib/backupfile.c: Use `#if !HAVE_DECL...' instead of
23102         `#ifndef HAVE_DECL..'
23103         now that autoconf always defines the HAVE_DECL_ symbols.
23104         * lib/human.c: Likewise.
23105         * lib/same.c: Likewise.
23106         * lib/strtoumax.c: Likewise.
23107
23108         * lib/backupfile.c: Arrange for cpp to fail if the configure-time
23109         declaration check was not run.
23110         * lib/hash.c: Likewise.
23111         * lib/human.c: Likewise.
23112         * lib/same.c: Likewise.
23113         * lib/strtoumax.c: Likewise.
23114
23115         * lib/userspec.c (parse_user_spec): If there is no `:' but there is a
23116         `.', then first look up the entire `.'-containing string as a login
23117         name.
23118
23119 2000-02-23  Jim Meyering  <meyering@lucent.com>
23120
23121         * m4/check-decl.m4: Now that we have the new AC_CHECK_DECLS, use it
23122         in place of my hack.
23123
23124 2000-02-18  Paul Eggert  <eggert@twinsun.com>
23125
23126         * lib/getdate.y: Handle two-digit years with leading zeros correctly.
23127         (textint): New typedef.
23128         (parser_control): Member year changed from int to textint.
23129         All uses changed.
23130         (YYSTYPE): Removed; replaced by %union with int and textint members.
23131         (tDAY, tDAY_UNIT, tDAYZONE, tHOUR_UNIT, tID, tLOCAL_ZONE, tMERIDIAN,
23132         tMINUTE_UNIT, tMONTH, tMONTH_UNIT tSEC_UNIT, tSNUMBER, tUNUMBER,
23133         tYEAR_UNIT, tZONE, o_merid): Now of type <intval>.
23134         (tSNUMBER, tUNUMBER): Now of type <textintval>.
23135         (date, number, to_year): Use width of number in digits, not its value,
23136         to determine whether it's a 2-digit year, or a 2-digit time.
23137         (yylex): Store number of digits of numeric tokens.
23138         Reported by John Kendall.
23139
23140         (parser_control): Changed from struct parser_control to typedef (for
23141         consistency).  All uses changed.
23142
23143         (tID): Removed; not used.
23144         (yylex): Return '?' for unknown identifiers, rather than (unused) tID.
23145
23146 2000-02-14  Paul Eggert  <eggert@twinsun.com>
23147
23148         * lib/getpagesize.h (getpagesize): Port to VMS for Alpha;
23149         adapted from changes to grep getpagesize.h by Martin P.J. Zinser.
23150
23151 2000-02-12  Jim Meyering  <meyering@lucent.com>
23152
23153         * lib/userspec.c (ISDIGIT): Define it.
23154         (isdigit): Remove definition.
23155         (is_number): Use ISDIGIT, not isdigit.
23156         <libintl.h>: Include.
23157         (_ and N_): Define.
23158         (parse_user_spec): Mark translatable strings.
23159
23160 2000-02-10  Jim Meyering  <meyering@lucent.com>
23161
23162         With these changes, nanosleep.[ch] are finally enough like the other
23163         lib/* replacement files to compile on a few more losing systems.
23164
23165         * lib/nanosleep.h: Don't include config.h.
23166         Remove prototype from declaration of nanosleep.
23167         (PARAMS): Remove now-unneeded definition.
23168         * lib/nanosleep.c: #undef nanosleep.
23169         (rpl_nanosleep): Rename from nanosleep.
23170
23171 2000-02-10  Jim Meyering  <meyering@lucent.com>
23172
23173         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Rename replacement function from
23174         gnu_nanosleep to rpl_nanosleep.
23175
23176 2000-02-09  Jim Meyering  <meyering@lucent.com>
23177
23178         * m4/lib-check.m4 (jm_LIB_CHECK): Fix typo: check for sp_pwdp in
23179         struct spwd, rather than in struct passwd.  Reported by Gaël Quéri.
23180
23181 2000-02-08  Akim Demaille  <akim@epita.fr>
23182
23183         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Quote square brackets with
23184         `[' and `]' and remove uses of `changequote'.
23185         (AC_SYS_LARGEFILE_MACRO_VALUE): Likewise.
23186         (AC_SYS_LARGEFILE): Likewise.
23187         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
23188         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Remove now-unnecessary use
23189         of changequote.
23190         * m4/regex.m4 (jm_INCLUDED_REGEX): Likewise.
23191         * m4/readdir.m4 (jm_FUNC_READDIR): Likewise
23192         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Likewise, and add `int' for main.
23193         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Likewise.
23194
23195 2000-02-05  Jim Meyering  <meyering@lucent.com>
23196
23197         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require most macros.
23198         Remove explicit use of AC_HEADER_TIME.  It is required by
23199         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Using AC_HEADER_TIME and
23200         `AC_REQUIRE'ing jm_CHECK_TYPE_STRUCT_TIMESPEC provoked a but
23201         in autoconf whereby the expansion of the latter ended up preceding
23202         the expansion of its prerequisite, AC_HEADER_TIME.
23203         Reported by Volker Borchert.
23204
23205 2000-02-03  Jim Meyering  <meyering@lucent.com>
23206
23207         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for utmpxname.
23208
23209 2000-02-03  Jim Meyering  <meyering@lucent.com>
23210
23211         * lib/readutmp.c (read_utmp): Guard with `#ifdef UTMP_NAME_FUNCTION',
23212         rather than with `#if HAVE_UTMPNAME'.
23213
23214 2000-02-02  Jim Meyering  <meyering@lucent.com>
23215
23216         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Fix typo that resulted in no
23217         definition of HAVE_PATHCONF: s/AC_CHECK_FUNC/AC_CHECK_FUNCS/.
23218         Reported by Eli Zaretskii.
23219
23220 2000-02-01  Jim Meyering  <meyering@lucent.com>
23221
23222         * lib/readutmp.h (UT_USER): Add parens.  From Andreas Schwab.
23223
23224 2000-01-31  Jim Meyering  <meyering@lucent.com>
23225
23226         * m4/check-decl.m4 (jm_CHECK_DECLS): Add nanosleep to the list of
23227         functions.  Add the time.h and sys/time.h headers along with the
23228         AC_REQUIRE'ment of AC_HEADER_TIME.
23229
23230 2000-01-31  Jim Meyering  <meyering@lucent.com>
23231
23232         * lib/nanosleep.h (nanosleep): Guard declaration with
23233         `#if ! HAVE_DECL_NANOSLEEP'.
23234         Without this, OFS gets a redeclaration error for rpl_nanosleep, due to
23235         the declaration in that vendor's sys/timers.h.
23236         Reported by Christian Krackowizer.
23237
23238         * lib/quotearg.c (ISASCII): Add #undef and move definition to follow
23239         inclusion of wctype.h to work around Solaris 2.6 namespace pollution.
23240         (ISPRINT): Likewise.
23241         Reported by Tom Tromey.
23242
23243 2000-01-30  Jim Meyering  <meyering@lucent.com>
23244
23245         * m4/lib-check.m4: Clean up some kludgy old shadow password tests.
23246
23247         * m4/prereq.m4 (utmp_includes): Define.
23248         Check for ut_user and ut_name members in both struct utmpx
23249         and struct utmp.
23250
23251 2000-01-30  Jim Meyering  <meyering@lucent.com>
23252
23253         * lib/readutmp.c (extract_trimmed_name): Use UT_USER instead of
23254         hard-coding uses of ->ut_name.  The latter doesn't work with new Linux
23255         header files where only utmpx.ut_user is declared.
23256
23257         * lib/readutmp.h (UT_USER): Define.
23258
23259 2000-01-29  Jim Meyering  <meyering@lucent.com>
23260
23261         * m4/lib-check.m4: New file containing library-related checks from
23262         fileutils and sh-utils (textutils had none).
23263
23264 2000-01-28  Jim Meyering  <meyering@lucent.com>
23265
23266         * m4/perl.m4: Change format of warning message to look more like that
23267         from the missing script.  Suggestion from François Pinard.
23268
23269 2000-01-25  Jim Meyering  <meyering@lucent.com>
23270
23271         * m4/timespec.m4: Require AC_HEADER_TIME, and include sys/time.h as
23272         well as time.h in the compile check.
23273         * m4/nanosleep.m4: Require AC_HEADER_TIME rather than simply using it.
23274         Fix typo in cross-compiling case: s/yes/no/.
23275
23276 2000-01-23  Jim Meyering  <meyering@lucent.com>
23277
23278         * m4/jm-macros.m4: Move df-related tests here from
23279         fileutils/configure.in
23280
23281         * m4/ls-mntd-fs.m4: s/list_mounted_fs/ac_list_mounted_fs/
23282         (jm_LIST_MOUNTED_FILESYSTEMS): Take two parameters.
23283
23284         * m4/fsusage.m4: New file.  Extracted from fileutils/configure.in.
23285         s/space/ac_fsusage_space/.
23286         (jm_FILE_SYSTEM_USAGE): Take two parameters.
23287
23288         * m4/ftruncate.m4: New file (derived from part of
23289         fileutils/configure.in).
23290         * m4/jm-macros.m4 (jm_FUNC_FTRUNCATE): AC_REQUIRE it.
23291         (jm_CHECK_ALL_TYPES): Require AC_HEADER_MAJOR and AC_HEADER_DIRENT.
23292
23293         * m4/jm-macros.m4 (OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, MAN):
23294         AC_SUBST these here, rather than just in sh-util/configure.in, so
23295         that the now-shared-by-fileutils-and-textutils lib/Makefile.am are
23296         all the same.
23297         (AM_FUNC_OBSTACK): Add (from fileutils/configure.in).
23298         (AC_CHECK_FUNCS): Merge all checks from fileutils, textutils, sh-utils.
23299         (AM_FUNC_STRTOD): Added (from textutils', sh-utils' configure.in).
23300         (AC_SUBST(POW_LIBM)): Likewise.
23301         (AC_SUBST(DF_PROG)): Moved from fileutils/configure.in.
23302
23303 2000-01-23  Jim Meyering  <meyering@lucent.com>
23304
23305         * lib/Makefile.am (libfetish_a_SOURCES): Remove explicit mention of
23306         obstack.c.
23307
23308 2000-01-22  Jim Meyering  <meyering@lucent.com>
23309
23310         * m4/jm-macros.m4: Call AC_PROG_CC_STDC just before AC_C_CONST.
23311
23312         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Add wctype.h.
23313
23314         * m4/jm-macros.m4 (AC_CHECK_HEADERS): Add checks from fileutils'
23315         configure.in
23316         (AC_CHECK_HEADERS): Likewise for sh-utils.
23317         (AC_CHECK_HEADERS): Likewise for textutils.
23318         Merge the three lists of headers.
23319
23320         * m4/prereq.m4 (jm_PREREQ_ADDEXT): New macro.  Parts moved here
23321         from fileutils' configure.in.
23322
23323         * m4/decl.m4: Remove kludgy `test -z $ac_...AC_CHECK_HEADERS(...)'
23324         code. Moved tests into their own function (_jm_DECL_HEADERS) in
23325         check-decl.m4.
23326
23327         * m4/check-decl.m4: Use #if rather than #ifdef.
23328         Add HAVE_DECL_STRTOUL and HAVE_DECL_STRTOULL.
23329         (jm_CHECK_DECLARATIONS): Add strtoul strtoull.
23330         (_jm_DECL_HEADERS): Define new function.
23331         (jm_CHECK_DECLARATIONS): Require it.
23332
23333 2000-01-22  Jim Meyering  <meyering@lucent.com>
23334
23335         * lib/strtoumax.c: [! HAVE_DECL_STRTOUL]: Declare strtoul.
23336         [! HAVE_DECL_STRTOULL]: Declare strtoull.
23337         Required for some AIX systems.  Reported by Christian Krackowizer.
23338         [TESTING] (main): New function.
23339
23340         1997-10-17  Eli Zaretskii  <eliz@is.elta.co.il>
23341         * lib/dirname.c (dir_name): Support for DOS-style file names with drive
23342         letters.
23343
23344         * lib/quotearg.c [HAVE_WCTYPE_H]: Include <wctype.h> for decl of
23345         iswprint.
23346
23347         * lib/strverscmp.c (ISDIGIT): Define.
23348         (strverscmp): Use ISDIGIT, not isdigit.
23349
23350 2000-01-19  Jim Meyering  <meyering@lucent.com>
23351
23352         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Include <sys/time.h>, too.
23353         Use AC_HEADER_TIME.  Volker Borchert reported that OpenBSD-2.3/sparc
23354         defines `struct timespec' in <sys/time.h>
23355
23356         * m4/c-bs-a.m4: Remove uses of changequote altogether.
23357         Thanks to Akim for explaining.
23358
23359 2000-01-17  Paul Eggert  <eggert@twinsun.com>
23360
23361         * lib/nanosleep.c (nanosleep):
23362         Don't use SA_INTERRUPT to decide whether to call sigaction, as
23363         POSIX.1 doesn't require SA_INTERRUPT and some systems
23364         (e.g. Solaris 7) don't define it.  Use SA_NOCLDSTOP instead;
23365         it's been part of POSIX.1 since day 1 (in 1988).
23366
23367 2000-01-17  Jim Meyering  <meyering@lucent.com>
23368
23369         * lib/interlock: Remove unused file.  Reported by François Pinard.
23370
23371 2000-01-16  Paul Eggert  <eggert@twinsun.com>
23372
23373         * lib/quotearg.c (quotearg_buffer_restyled): Do not quote
23374         alert, backslash, formfeed, and vertical tab unnecessarily in
23375         shell quoting style.
23376
23377 2000-01-16  Jim Meyering  <meyering@lucent.com>
23378
23379         * m4/jm-macros.m4: Require jm_FUNC_GROUP_MEMBER, jm_FUNC_PUTENV,
23380         AM_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, jm_FUNC_MKTIME,
23381         jm_FUNC_GETGROUPS AC_FUNC_VPRINTF, AC_FUNC_ALLOCA,
23382         AM_FUNC_GETLOADAVG, and jm_SYS_PROC_UPTIME.
23383
23384 2000-01-16  Jim Meyering  <meyering@lucent.com>
23385
23386         * m4/c-bs-a.m4: Use `changequote(<<,>>)', rather than `changequote(, )'
23387         because the latter didn't work.
23388
23389 2000-01-15  Jim Meyering  <meyering@lucent.com>
23390
23391         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add gethostname and getusershell.
23392         (AC_REPLACE_FUNCS): Add memcpy and memset.
23393         Add these, too: stime strcspn stpcpy strstr strtol strtoul.
23394         Add strpbrk.
23395         Add these: euidaccess memcmp mkdir rmdir rpmatch strndup strverscmp.
23396
23397 2000-01-12  Jim Meyering  <meyering@lucent.com>
23398
23399         * m4/prereq.m4 (jm_PREREQ_CANON_HOST): New macro.
23400         (jm_PREREQ): Use it.
23401         (jm_PREREQ_READUTMP): New macro.
23402         (jm_PREREQ): Use it.
23403
23404 2000-01-11  Paul Eggert  <eggert@twinsun.com>
23405
23406         Quote multibyte characters correctly.
23407         * m4/c-bs-a.m4: New file.
23408         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): New macro.
23409         (jm_PREREQ): Use it.
23410
23411 2000-01-11  Paul Eggert  <eggert@twinsun.com>
23412
23413         * m4/uintmax_t.m4: Port to autoconf 2.13.
23414
23415 2000-01-08  Jim Meyering  <meyering@ascend.com>
23416
23417         * m4/strerror_r.m4 (jm_FUNC_STRERROR_R): New file/macro.
23418         * m4/jm-macros.m4 (jm_FUNC_STRERROR_R): Require it.
23419
23420 2000-01-04  Jim Meyering  <meyering@ascend.com>
23421
23422         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename from
23423         jm_STRUCT_DIRENT_D_TYPE.
23424         * m4/d-ino.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_INO): Rename from
23425         jm_STRUCT_DIRENT_D_INO.
23426         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Rename from
23427         jm_STRUCT_UTIMBUF.
23428         * m4/jm-macros.m4: Reflect s/jm_STRUCT_/jm_CHECK_TYPE_STRUCT_/
23429         renamings.
23430         * m4/utime.m4: Likewise.
23431
23432         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): New file, macro.
23433         * m4/jm-macros.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): Require it.
23434
23435 2000-01-03  Paul Eggert  <eggert@twinsun.com>
23436
23437         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Search for nanosleep in -lrt
23438         (for Solaris 7) and in -lposix4 (for Solaris 2.5.1).
23439
23440 2000-01-02  Jim Meyering  <meyering@ascend.com>
23441
23442         * m4/search-libs.m4: Escape `$' in $3 of dnl comment.  I no longer
23443         remember if this is necessary.
23444
23445 1999-12-26  Jim Meyering  <meyering@ascend.com>
23446
23447         * m4/jm-macros.m4: Use it here.
23448         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): New file/macro.
23449
23450 1999-12-23  Jim Meyering  <meyering@ascend.com>
23451
23452         * m4/jm-macros.m4: Check for clock_gettime (moved from
23453         fileutils/configure.in)
23454         Check for gettimeofday.
23455
23456 1999-12-20  Jim Meyering  <meyering@ascend.com>
23457
23458         * m4/strftime.m4: Remove kludge, now that I'm using the fixed
23459         autoconf-2.14a-1999-12-20.
23460
23461 1999-12-19  Jim Meyering  <meyering@ascend.com>
23462
23463         * m4/lstat-slash.m4: New file.
23464         * m4/jm-macros.m4: Use the new macro:
23465         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
23466
23467 1999-12-07  Jim Meyering  <meyering@ascend.com>
23468
23469         * m4/perl.m4: Require that File::Compare be available, too.
23470         Too many systems seem to lack it.
23471
23472         * m4/strftime.m4: Add checks for most of the cpp macros tested in
23473         GNU's strftime.c.  Prompted by a patch from Paul Eggert.
23474
23475 1999-11-18  Paul Eggert  <eggert@twinsun.com>
23476
23477         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around a
23478         problem with the QNX 4.25 shell, which doesn't propagate exit
23479         status of failed commands inside shell assignments.
23480
23481 1999-11-17  Jim Meyering  <meyering@ascend.com>
23482
23483         * m4/gettext.m4: Use new AC_CONFIG_LINKS in place of AC_LINK_FILES.
23484
23485 1999-11-07  Jim Meyering  <meyering@ascend.com>
23486
23487         * m4/getloadavg.m4: Add `, 1, [FIXME]' to each use of AC_DEFINE.
23488
23489 1999-11-06  Jim Meyering  <meyering@ascend.com>
23490
23491         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): New file/macro.
23492         * m4/jm-macros.m4 (jm_MACROS): Use it here.
23493
23494 1999-11-05  Jim Meyering  <meyering@ascend.com>
23495
23496         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Move some tests from
23497         configure.in of textutils, fileutils, and sh-utils into this one
23498         (shared between those packages) file.
23499         Use `AC_CHECK_MEMBERS((struct stat.st_blksize))' instead of deprecated
23500         AC_STRUCT_ST_BLKSIZE.
23501
23502 1999-11-03  Jim Meyering  <meyering@ascend.com>
23503
23504         * m4/ssize_t.m4: Remove file.  No longer needed since the new version
23505         of AC_CHECK_TYPE checks includes unistd.h.
23506         * m4/jm-macros.m4: Use straight `AC_CHECK_TYPE(ssize_t, int)'.
23507         Suggestion from Akim Demaille.
23508
23509 1999-10-30  Jim Meyering  <meyering@ascend.com>
23510
23511         * m4/uintmax_t.m4: Require 2.14a.  Remove backslash before backtick in
23512         m4-quoted string.
23513         * m4/ls-mntd-fs.m4: Likewise.
23514         * m4/jm-macros.m4: Likewise.  Also, use AC_TYPE_SSIZE_T instead
23515         * m4/jm-winsz1.m4: Likewise.
23516
23517         * m4/const.m4: Remove file, since the fix made it into the experimental
23518         version of autoconf.
23519         * m4/mktime.m4: Likewise.
23520
23521         * m4/check-type.m4: Remove file, now that the latest version of
23522         AC_CHECK_TYPE takes a third arg to specify additional #includes.
23523
23524         * m4/ssize_t.m4: New file, requires experimental version of autoconf.
23525         * m4/jm-macros.m4: Use new AC_TYPE_SSIZE_T instead of my hacked
23526         AC_CHECK_TYPE.
23527
23528 1999-10-04  Jim Meyering  <meyering@ascend.com>
23529
23530         * m4/jm-macros.m4: Don't require autoconf-2.14.1.
23531
23532 1999-09-22  Paul Eggert  <eggert@twinsun.com>
23533
23534         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around GCC
23535         2.95.1 bug with HP-UX 10.20.
23536
23537 1999-09-17  Jim Meyering  <meyering@ascend.com>
23538
23539         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add strdup.
23540         Paul Nevai reported a link failure on a NeXT CUBE with NeXTSTEP 3.3
23541         due to missing strdup (against sh-utils-2.0).
23542
23543 1999-08-29  Jim Meyering  <meyering@ascend.com>
23544
23545         * m4/jm-macros.m4: Require jm_BISON.
23546         * m4/bison.m4: New file.
23547
23548 1999-08-17  Paul Eggert  <eggert@twinsun.com>
23549
23550         * m4/largefile.m4 (AC_SYS_LARGEFILE): Fix typo: missing comma
23551         in value for _FILE_OFFSET_BITS, which broke ports to HP-UX 10.20.
23552
23553 1999-08-05  Jim Meyering  <meyering@ascend.com>
23554
23555         * m4/getline.m4: Rename test file from conftestdata to conftest.data
23556         to avoid conflicts with `conftest' on 8+3 filesystems.
23557         Suggestion from Eli Zaretskii.
23558
23559 1999-08-04  Jim Meyering  <meyering@ascend.com>
23560
23561         * m4/jm-macros.m4: Move a 4-line block of code from the configure.in of
23562         fileutils and sh-utils (textutils's getline test was inadequate).
23563         (AM_FUNC_GETLINE): Run this test.
23564         (AC_CHECK_FUNCS): Check for getdelim.
23565         Reported by Bob Proulx.
23566
23567 1999-08-02  Jim Meyering  <meyering@ascend.com>
23568
23569         * m4/jm-macros.m4: Add a comment.
23570
23571 1999-08-01  Paul Eggert  <eggert@twinsun.com>
23572
23573         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check whether
23574         <inttypes.h> defines strtoumax as a macro (and not as a
23575         function).
23576
23577 1999-08-01  Paul Eggert  <eggert@twinsun.com>
23578
23579         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Make sure
23580         that we can shift, multiply and divide unsigned long long
23581         values; Ultrix cc can't do it.
23582
23583 1999-08-01  Paul Eggert  <eggert@twinsun.com>
23584
23585         * m4/mktime.m4: New file, which is a preview of what should appear
23586         in the next public autoconf release.
23587
23588 1999-08-01  Paul Eggert  <eggert@twinsun.com>
23589
23590         * m4/lfs.m4: Remove this file.
23591         * m4/largefile.m4: New file.  It contains the old contents of
23592         lfs.m4, except that all names with prefix AC_LFS have been
23593         changed to use the prefix AC_SYS_LARGEFILE instead, to be
23594         compatible with future autoconf versions.  Also, some minor m4
23595         quoting problems have been fixed.
23596
23597 1999-08-01  Paul Eggert  <eggert@twinsun.com>
23598
23599         * m4/gettext.m4 (AM_WITH_NLS): Remove unnecessary lines.
23600         Fix typo: $nls_cv_header_intl was misspelled as $nsl_cv_header_intl.
23601         (AM_GNU_GETTEXT): Fix problem with brackets and m4 quoting,
23602         and simplify the shell code.
23603
23604 1999-08-01  Jim Meyering  <meyering@ascend.com>
23605
23606         * m4/mktime.m4 (AC_FUNC_MKTIME): Undefine to avoid syntax errors from
23607         m4.
23608
23609 1999-07-20  Jim Meyering  <meyering@ascend.com>
23610
23611         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memmove.
23612
23613 1999-07-15  Jim Meyering  <meyering@ascend.com>
23614
23615         * m4/jm-macros.m4 (AC_CHECK_FUNCS): Check for getpagesize.
23616
23617 1999-05-22  Jim Meyering  <meyering@ascend.com>
23618
23619         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memchr.
23620
23621 1999-05-20  Jim Meyering  <meyering@ascend.com>
23622
23623         * m4/search-libs.m4 [AC_SEARCH_LIBS]: Quote name in undefine.
23624         Add a colon after each `then' in case $4 is empty.
23625
23626 1999-05-16  Jim Meyering  <meyering@ascend.com>
23627
23628         * m4/search-libs.m4: New file to override autoconf's AC_SEARCH_LIBS.
23629
23630 1999-05-10  Jim Meyering  <meyering@ascend.com>
23631
23632         * m4/jm-mktime.m4: Reflect renaming: AM_FUNC_MKTIME -> AC_FUNC_MKTIME.
23633
23634         * m4/jm-macros.m4: Require 2.14.1, since we use newly-renamed
23635         AC_FUNC_MKTIME.
23636
23637 1999-05-10  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>
23638
23639         * m4/jm-mktime.m4, putenv.m4: Fix typos in config.h comments.
23640
23641 1999-05-04  Paul Eggert  <eggert@twinsun.com>
23642
23643         * m4/lfs.m4 (AC_LFS): -n32, -o32, and -n64 should be in CFLAGS,
23644         not CPPFLAGS, so that linking works correctly in IRIX.
23645
23646 1999-04-30  Paul Eggert  <eggert@twinsun.com>
23647
23648         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add dup2.
23649
23650 1999-04-20  Paul Eggert  <eggert@twinsun.com>
23651
23652         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Move unsigned long
23653         long check into new jm_AC_TYPE_UNSIGNED_LONG_LONG macro.
23654         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require
23655         jm_AC_TYPE_UNSIGNED_LONG_LONG.
23656         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): New file/macro.
23657
23658         * m4/lfs.m4: Port to AIX and HP-UX.  Support cross-compilation.
23659
23660 1999-04-20  Jim Meyering  <meyering@ascend.com>
23661
23662         * m4/xstrtoumax.m4: Require jm_AC_TYPE_UNSIGNED_LONG_LONG.
23663         AC_REPLACE xstroull if necessary.  From Paul Eggert.
23664         (AC_CHECK_FUNCS): Remove strtoull, strtoumax, strtouq.
23665
23666 1999-04-18  Jim Meyering  <meyering@ascend.com>
23667
23668         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): New file/macro.
23669         * m4/jm-macros.m4: Use it.
23670
23671 1999-04-06  Jim Meyering  <meyering@ascend.com>
23672
23673         * m4/strftime.m4: Remove test for %f.
23674
23675 1999-03-29  Jim Meyering  <meyering@ascend.com>
23676
23677         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): New macro, contains the
23678         superset of the AC_TYPE_* checks in the textutils, fileutils,
23679         and sh-utils, plus AC_TYPE_PID_T.  Paul Eggert suggested adding
23680         AC_TYPE_PID_T.
23681
23682 1999-03-28  Jim Meyering  <meyering@ascend.com>
23683
23684         * m4/jm-macros.m4: Define GNU_PACKAGE here.
23685         Be sure to AC_SUBST it, once again, so that @GNU_PACKAGE@ is
23686         replaced e.g., in the *.sh files of the sh-utils.
23687
23688 1999-03-20  Jim Meyering  <meyering@ascend.com>
23689
23690         * m4/jm-macros.m4: s/jm_WITH_REGEX/jm_INCLUDED_REGEX/.
23691         * m4/regex.m4 (jm_INCLUDED_REGEX): Rename from jm_WITH_REGEX.
23692         Don't depend on AM_GLIBC.  Suggestions from Alain Magloire.
23693
23694 1999-03-19  Jim Meyering  <meyering@ascend.com>
23695
23696         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): New macro.
23697
23698 1999-03-12  Jim Meyering  <meyering@ascend.com>
23699
23700         * m4/jm-macros.m4: Use AC_FUNC_SETVBUF_REVERSED.
23701
23702 1999-03-07  Jim Meyering  <meyering@ascend.com>
23703
23704         * m4/jm-glibc-io.m4: Use only those *_unlocked macros that are
23705         declared.
23706
23707 1999-02-17  Jim Meyering  <meyering@ascend.com>
23708
23709         * m4/gettext.m4 (AM_GNU_GETTEXT): Do `changequote' around use of
23710         brackets in macro definition.  From Eli Zaretskii and Alain Magloire.
23711
23712 1999-02-07  Jim Meyering  <meyering@ascend.com>
23713
23714         * m4/group-member.m4: New file -- extracted from sh-utils'
23715         configure.in.
23716
23717         1999-02-05  Eli Zaretskii  <eliz@is.elta.co.il>
23718         * m4/gettext.m4: Support DOS-style d:/foo/bar absolute file names.
23719
23720 1999-02-06  Jim Meyering  <meyering@ascend.com>
23721
23722         * m4/chown.m4: Use `AC_SUBST(LIBOBJS)' since we set LIBOBJS.
23723         * m4/fnmatch.m4: Likewise.
23724         * m4/getgroups.m4: Likewise.
23725         * m4/lstat.m4: Likewise.
23726         * m4/malloc.m4: Likewise.
23727         * m4/putenv.m4: Likewise.
23728         * m4/realloc.m4: Likewise.
23729         * m4/regex.m4: Likewise.
23730         * m4/stat.m4: Likewise.
23731         * m4/strftime.m4: Likewise.
23732         Suggestion from Alain Magloire.
23733
23734         * m4/chown.m4: Use `.$ac_objext', not `.o'.
23735         * m4/fnmatch.m4: Likewise.
23736         * m4/getgroups.m4: Likewise.
23737         * m4/getline.m4: Likewise.
23738         * m4/lstat.m4: Likewise.
23739         * m4/malloc.m4: Likewise.
23740         * m4/memcmp.m4: Likewise.
23741         * m4/putenv.m4: Likewise.
23742         * m4/realloc.m4: Likewise.
23743         * m4/regex.m4: Likewise.
23744         * m4/stat.m4: Likewise.
23745         * m4/strftime.m4: Likewise.
23746         Suggestion from Alain Magloire.
23747
23748         * m4/jm-macros.m4: Actually invoke jm_WITH_REGEX now that it requires
23749         an argument.
23750
23751         * m4/regex.m4: Add a run-time Test for proper operation of
23752         re_compile_pattern.
23753
23754 1999-01-31  Jim Meyering  <meyering@ascend.com>
23755
23756         * m4/getloadavg.m4: Check for locale.h and the function, setlocale.
23757
23758 1999-01-30  Jim Meyering  <meyering@ascend.com>
23759
23760         * m4/check-type.m4: Use 3-arg form of AC_DEFINE.
23761
23762         * m4/jm-mktime.m4: Make this a wrapper around the official
23763         AM_FUNC_MKTIME rather than my private copy, now that the official one
23764         is up to date.
23765         * m4/mktime.m4: Remove file.
23766
23767         * m4/getloadavg.m4: Use 3-arg form of AC_DEFINE.
23768         * m4/uptime.m4: Likewise.
23769         * m4/uintmax_t.m4: Likewise.
23770
23771 1999-01-28  Jim Meyering  <meyering@ascend.com>
23772
23773         * m4/jm-macros.m4: Use jm_AFS.
23774         * m4/afs.m4: New file (from fileutils' configure.in).
23775
23776         * m4/assert.m4: Use the 3-argument forms of AC_DEFINE* macros.
23777         * m4/chown.m4: Likewise.
23778         * m4/d-ino.m4: Likewise.
23779         * m4/d-type.m4: Likewise.
23780         * m4/fnmatch.m4: Likewise.
23781         * m4/getgroups.m4: Likewise.
23782         * m4/gettext.m4: Likewise.
23783         * m4/jm-mktime.m4: Likewise.
23784         * m4/jm-winsz2.m4: Likewise.
23785         * m4/lcmessage.m4: Likewise.
23786         * m4/ls-mntd-fs.m4: Likewise.
23787         * m4/malloc.m4: Likewise.
23788         * m4/memcmp.m4: Likewise.
23789         * m4/putenv.m4: Likewise.
23790         * m4/realloc.m4: Likewise.
23791         * m4/st_mtim.m4: Likewise.
23792         * m4/strftime.m4: Likewise.
23793
23794 1999-01-16  Jim Meyering  <meyering@ascend.com>
23795
23796         * m4/jm-macros.m4 (ARGMATCH_DIE): Define.
23797         (ARGMATCH_DIE_DECL): Define.
23798
23799 1999-01-12  Jim Meyering  <meyering@ascend.com>
23800
23801         * m4/Makefile.am.in: Rewrite to avoid using fmt.
23802         Reported by Lars Hecking.
23803
23804 1999-01-10  Jim Meyering  <meyering@ascend.com>
23805
23806         * m4/fstypename.m4: Use the new 3-arg form of AC_DEFINE instead of my
23807         gross kludge.
23808         * m4/inttypes_h.m4: Likewise.
23809         * m4/lstat.m4: Likewise.
23810         * m4/malloc.m4: Likewise.
23811         * m4/readdir.m4: Likewise.
23812         * m4/realloc.m4: Likewise.
23813         * m4/st_dm_mode.m4: Likewise.
23814         * m4/stat.m4: Likewise.
23815         * m4/utimbuf.m4: Likewise.
23816         * m4/utimes.m4: Likewise.
23817
23818         * m4/check-decl.m4: Use the new 3-arg form of AC_DEFINE instead of the
23819         AC_CHECK_FUNCS hack.  Now, it's still a hack, but at least the
23820         comments in config.h.in are meaningful.
23821
23822         * m4/jm-macros.m4: Require autoconf-2.13 here.
23823
23824         * m4/regex.m4: By default, don't use the included regex.c on systems
23825         with glibc 2.  Suggestion from Uli Drepper.
23826
23827 1999-01-02  Jim Meyering  <meyering@ascend.com>
23828
23829         * m4/jm-macros.m4: Replace strcasecmp and strncasecmp.
23830
23831 1998-12-18  Jim Meyering  <meyering@ascend.com>
23832
23833         * m4/Makefile.am.in (Makefile.am): Simplify rule.
23834         Based on a suggestion from Lars Hecking.
23835
23836 1998-11-16  Paul Eggert  <eggert@twinsun.com>
23837
23838         * m4/lfs.m4 (AC_LFS): Add support for HP-UX 10.20 and HP-UX 11.
23839
23840 1998-11-16  Jim Meyering  <meyering@ascend.com>
23841
23842         * m4/lfs.m4: Double-quote the `uname...` expression.
23843
23844 1998-11-14  Jim Meyering  <meyering@ascend.com>
23845
23846         * m4/lstat.m4: Correct comment.  POSIX does not permit it to succeed.
23847         * m4/stat.m4: Likewise.
23848
23849 1998-11-03  Jim Meyering  <meyering@ascend.com>
23850
23851         * m4/stat.m4: Rewrite to set HAVE_STAT_EMPTY_STRING_BUG.
23852         * m4/lstat.m4: Rewrite to set HAVE_LSTAT_EMPTY_STRING_BUG.
23853
23854 1998-10-18  Jim Meyering  <meyering@ascend.com>
23855
23856         * m4/check-decl.m4 (jm_CHECK_DECL_LOCALTIME_R): Remove macro.
23857
23858 1998-10-17  Jim Meyering  <meyering@ascend.com>
23859
23860         * m4/decl.m4 (jm_CHECK_DECLARATION): Don't hard-code which headers to
23861         include, though we still hard-code the `require'-like AC_CHECK_HEADERS
23862         calls for those previously hard-coded headers.  Instead, take a new
23863         parameter.
23864         (jm_CHECK_DECLARATIONS): Reflect interface change.
23865         * m4/check-decl.m4 (jm_CHECK_DECLS): Likewise.
23866         (jm_CHECK_DECL_LOCALTIME_R): New macro.
23867
23868         * m4/mktime.m4: Test for spring-forward gap before long-running test.
23869
23870 1998-10-14  Jim Meyering  <meyering@ascend.com>
23871
23872         * m4/mktime.m4: Use the more portable "TZ=PST8PDT,M4.1.0,M10.5.0"
23873         instead of "TZ=America/Vancouver".  From Paul Eggert.
23874
23875 1998-10-11  Jim Meyering  <meyering@ascend.com>
23876
23877         * m4/mktime.m4 (jm_AM_FUNC_MKTIME): New file and macro.
23878         This adds a test for a recently added compatibility fix for mktime.c.
23879         * m4/jm-mktime.m4: Require jm_AM_FUNC_MKTIME, not AM_FUNC_MKTIME.
23880
23881 1998-09-27  Jim Meyering  <meyering@ascend.com>
23882
23883         * m4/jm-macros.m4 (jm_MACROS): Require jm_FUNC_FNMATCH.
23884
23885         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): New file/macro.  Extracted from
23886         ../configure.in, including a change from Gordon Matzigkeit to allow
23887         cross-compiling for the Hurd.
23888
23889         * m4/glibc.m4: New file/macro to test for the GNU C Library
23890         versions 1 and 2.  From Gordon Matzigkeit.
23891         Indent.
23892
23893 1998-09-21  Jim Meyering  <meyering@ascend.com>
23894
23895         * m4/chown.m4: Declare locals: before, after.  From Andries Brouwer.
23896
23897 1998-08-18  Paul Eggert  <eggert@twinsun.com>
23898
23899         Port nanosecond-resolution times to UnixWare 2.1.2 and
23900         pedantic Solaris 2.6.
23901
23902         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC): Renamed from
23903         AC_STRUCT_ST_MTIM.
23904         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC):
23905         Generate name of ns member, instead of just 1 or undef.
23906         Allow for UnixWare 2.1.2 and Solaris 2.6 if in pedantic mode.
23907
23908 1998-08-15  Jim Meyering  <meyering@ascend.com>
23909
23910         * m4/ssize_t.m4 (jm_TYPE_SSIZE_T): Remove file.
23911         * m4/check-type.m4: New file.  Replacement for AC_CHECK_TYPE.
23912         * m4/jm-macros.m4: Use the new AC_CHECK_TYPE(ssize_t, int)
23913         instead of jm_TYPE_SSIZE_T.
23914
23915 1998-08-12  Jim Meyering  <meyering@ascend.com>
23916
23917         * m4/st_dm_mode.m4: New file.  From Johan Danielsson.
23918
23919 1998-08-02  Jim Meyering  <meyering@ascend.com>
23920
23921         * m4/st_mtim.m4: Use hack to avoid having to put #undef HAVE_ST_MTIM
23922         in acconfig.h manually.
23923
23924 1998-07-31  Paul Eggert  <eggert@twinsun.com>
23925
23926         * m4/st_mtim.m4: New file.
23927
23928 1998-07-28  Jim Meyering  <meyering@ascend.com>
23929
23930         * m4/utimes.m4: Undef stat.
23931
23932 1998-07-25  Jim Meyering  <meyering@ascend.com>
23933
23934         * m4/utime.m4 (jm_FUNC_UTIME): New file and macro.
23935         * m4/utimes.m4 (jm_FUNC_UTIMES_NULL): New file and macro.
23936
23937 1998-07-09  Manfred Hollstein  <manfred@s-direktnet.de>
23938
23939         * m4/chown.m4 (jm_FUNC_CHOWN): Add a check to verify that the
23940         uid and gid actually remain unchanged.
23941
23942 1998-07-07  Jim Meyering  <meyering@ascend.com>
23943
23944         * m4/jm-glibc-io.m4: Remove fclose_unlocked.
23945
23946 1998-07-04  Jim Meyering  <meyering@ascend.com>
23947
23948         * m4/regex.m4: Use syscmd, ifelse, and sysval.  Mainly as an exercise
23949         to prove that this macro can be used in packages without regex.c.
23950
23951 1998-07-04  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
23952
23953         * m4/gettext.m4 (AM_WITH_NLS): Remove intl/libintl.h if <libintl.h>
23954         is to be used.
23955
23956 1998-07-03  Jim Meyering  <meyering@ascend.com>
23957
23958         * m4/gettext.m4: Add -lintl if it's found to be necessary.
23959
23960         * m4/gettext.m4: New file -- from gettext-0.10.35.
23961         * m4/lcmessage.m4: Likewise.
23962         * m4/progtest.m4: Likewise.
23963
23964         * m4/regex.m4 (jm_WITH_REGEX): New file and macro.
23965         * m4/jm-macros.m4: Require the new macro.
23966
23967 1998-06-29  Jim Meyering  <meyering@ascend.com>
23968
23969         * m4/fstypename.m4: Include sys/param.h.  NetBSD 1.3.1 requires this
23970         for the definition of NGROUPS (used in a system header included
23971         by sys/mount.h).
23972
23973 1998-06-28  Jim Meyering  <meyering@ascend.com>
23974
23975         * m4/ls-mntd-fs.m4: New file.
23976         * m4/fstypename.m4: New file.
23977
23978         * m4/jm-macros.m4: Require the new macro.
23979         * m4/jm-glibc-io.m4: New file.
23980
23981 1998-05-19  Jim Meyering  <meyering@ascend.com>
23982
23983         * m4/jm-macros.m4: Add jm_FUNC_LCHOWN.
23984         * m4/lchown.m4: New file.
23985
23986         * m4/Makefile.am.in: New file.
23987         * m4/Makefile.am (Makefile.am): Depend on Makefile.am.in.
23988
23989 1998-05-14  Jim Meyering  <meyering@ascend.com>
23990
23991         * m4/Makefile.am (EXTRA_DIST): Add them.
23992         * m4/jm-macros.m4: New file.
23993         * m4/utimbuf.m4: New file.
23994
23995 1998-05-12  Jim Meyering  <meyering@ascend.com>
23996
23997         * m4/Makefile.am (EXTRA_DIST): Add isc-posix.m4.
23998
23999 1998-05-11  Jim Meyering  <meyering@ascend.com>
24000
24001         * m4/isc-posix.m4: New file.
24002
24003 1998-05-10  Jim Meyering  <meyering@ascend.com>
24004
24005         * m4/jm-mktime.m4: Use AM_FUNC_MKTIME, now that it's up to date.
24006
24007 1998-05-09  Jim Meyering  <meyering@ascend.com>
24008
24009         * m4/Makefile.am (EXTRA_DIST): Add ssize_t.m4.
24010         (EXTRA_DIST): Remove mktime.m4, now that the new version is included
24011         with automake.
24012
24013         * m4/ssize_t.m4: New file.
24014         * m4/mktime.m4: Remove file -- the new automake has this now.
24015
24016 1998-04-26  Jim Meyering  <meyering@ascend.com>
24017
24018         * m4/assert.m4: New file.
24019         * m4/Makefile.am (EXTRA_DIST): Add assert.m4.
24020
24021 1998-04-05  Jim Meyering  <meyering@ascend.com>
24022
24023         * m4/prereq.m4 (jm_PREREQ_REGEX): New macro.
24024         (jm_PREREQ): Use it here.
24025
24026 1998-03-23  Jim Meyering  <meyering@eng.ascend.com>
24027
24028         * m4/inttypes_h.m4: Kludges so I don't have to add HAVE_INTTYPES_H
24029         in acconfig.h.
24030
24031 1998-03-15  Jim Meyering  <meyering@eng.ascend.com>
24032
24033         * m4/prereq.m4: New file.
24034         * m4/error.m4: New file.
24035         * m4/Makefile.am (EXTRA_DIST): Add error.m4 and prereq.m4.
24036
24037 1998-02-07  Jim Meyering  <meyering@eng.ascend.com>
24038
24039         * m4/getline.m4: Don't set am_cv_func_working_getline before the
24040         cache-check for the same variable -- that defeated the purpose of
24041         the test; the test program was never run.  This was a problem only
24042         on systems with losing getline functions -- HP-UX 10.20 is one.
24043         Reported by Bjorn Helgaas.
24044
24045 1998-02-06  Jim Meyering  <meyering@eng.ascend.com>
24046
24047         * m4/Makefile.am (EXTRA_DIST): Add perl.m4.
24048
24049 1998-01-10  Jim Meyering  <meyering@na-net.ornl.gov>
24050
24051         * m4/Makefile.am (EXTRA_DIST): Add const.m4.
24052
24053         * m4/const.m4: New file.  Use an initializer in this declaration
24054         typedef int charset[2]; const charset x;
24055         Reported by Bob Glickstein.
24056
24057 1997-12-21  Jim Meyering  <meyering@na-net.ornl.gov>
24058
24059         * m4/chown.m4: Fix reversed types on -1 args to chown.
24060         From Kaveh Ghazi.
24061
24062 1997-12-14  Jim Meyering  <meyering@na-net.ornl.gov>
24063
24064         * m4/check-decl.m4: s/DECLARATION_/DECL_/g.
24065         Add lseek and memchr.
24066
24067         * m4/decl.m4: s/HAVE_DECLARATION_/HAVE_DECL_/g.
24068         T.E.Dickey <dickey@clark.net> said that some older preprocessors
24069         have a 20-character limit on names.
24070
24071 1997-11-30  Jim Meyering  <meyering@na-net.ornl.gov>
24072
24073         * m4/inttypes_h.m4: New file.
24074         * m4/uintmax_t.m4: New file.
24075         * m4/Makefile.am (EXTRA_DIST): Add inttypes_h.m4 and uintmax_t.m4.
24076
24077 Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006
24078   Free Software Foundation, Inc.
24079 Copying and distribution of this file, with or without modification,
24080 are permitted provided the copyright notice and this notice are preserved.